summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShishir Agrawal <shishir@google.com>2014-07-19 00:06:48 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-07-17 21:58:28 +0000
commit5552cc5c9dd111c5fb1db512240b5daf15866c88 (patch)
treea38d343cf78058e139530cd3395b85e6d00d4988
parent4a79daeaf72fe0c47f9d0605d6efe0c61885fe94 (diff)
parent86578cca383562c72751d747905280afdeb2bdfb (diff)
downloadframeworks_base-5552cc5c9dd111c5fb1db512240b5daf15866c88.zip
frameworks_base-5552cc5c9dd111c5fb1db512240b5daf15866c88.tar.gz
frameworks_base-5552cc5c9dd111c5fb1db512240b5daf15866c88.tar.bz2
Merge "Adding the ability for carrier app to override SPN and carrier name." into lmp-dev
-rw-r--r--api/current.txt1
-rw-r--r--telephony/java/android/telephony/TelephonyManager.java28
-rw-r--r--telephony/java/com/android/internal/telephony/ITelephony.aidl18
3 files changed, 47 insertions, 0 deletions
diff --git a/api/current.txt b/api/current.txt
index 49d0145..2ee881d 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -29182,6 +29182,7 @@ package android.telephony {
method public boolean setCdmaSubscription(int);
method public void setLine1NumberForDisplay(java.lang.String, java.lang.String);
method public void setLine1NumberForDisplay(long, java.lang.String, java.lang.String);
+ method public boolean setOperatorBrandOverride(java.lang.String, java.lang.String);
method public boolean setPreferredNetworkType(int);
field public static final java.lang.String ACTION_PHONE_STATE_CHANGED = "android.intent.action.PHONE_STATE";
field public static final java.lang.String ACTION_RESPOND_VIA_MESSAGE = "android.intent.action.RESPOND_VIA_MESSAGE";
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
index 6e1ee78..9cff765 100644
--- a/telephony/java/android/telephony/TelephonyManager.java
+++ b/telephony/java/android/telephony/TelephonyManager.java
@@ -2934,6 +2934,34 @@ public class TelephonyManager {
}
/**
+ * Override the branding for the input ICCID.
+ *
+ * Once set, whenever the ICCID is inserted into the device, the service
+ * provider name (SPN) and the operator name will both be replaced by the
+ * brand value input. To unset the value, the same function should be
+ * called with a null brand value.
+ *
+ * <p>Requires Permission:
+ * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE}
+ * or has to be carrier app - see #hasCarrierPrivileges.
+ *
+ * @param iccId The ICCID of that the branding applies to.
+ * @param brand The brand name to display/set.
+ * @return true if the operation was executed correctly.
+ */
+ public boolean setOperatorBrandOverride(String iccId, String brand) {
+ // TODO: Validate ICCID format.
+ try {
+ return getITelephony().setOperatorBrandOverride(iccId, brand);
+ } catch (RemoteException ex) {
+ Rlog.e(TAG, "setOperatorBrandOverride RemoteException", ex);
+ } catch (NullPointerException ex) {
+ Rlog.e(TAG, "setOperatorBrandOverride NPE", ex);
+ }
+ return false;
+ }
+
+ /**
* Expose the rest of ITelephony to @SystemApi
*/
diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl
index d41ceda..435c334 100644
--- a/telephony/java/com/android/internal/telephony/ITelephony.aidl
+++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl
@@ -706,5 +706,23 @@ interface ITelephony {
* not set.
*/
String getLine1AlphaTagForDisplay(long subId);
+
+ /**
+ * Override the operator branding for the input ICCID.
+ *
+ * Once set, whenever the ICCID is inserted into the device, the service
+ * provider name (SPN) and the operator name will both be replaced by the
+ * brand value input. To unset the value, the same function should be
+ * called with a null brand value.
+ *
+ * <p>Requires Permission:
+ * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE}
+ * or has to be carrier app - see #hasCarrierPrivileges.
+ *
+ * @param iccid The ICCID of that the branding applies to.
+ * @param brand The brand name to display/set.
+ * @return true if the operation was executed correctly.
+ */
+ boolean setOperatorBrandOverride(String iccId, String brand);
}