diff options
author | Chen Xu <fionaxu@google.com> | 2018-04-12 22:58:37 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2018-04-12 22:58:37 +0000 |
commit | 420ab92b0bc79b7f603e04308e1a2abcf348860d (patch) | |
tree | 77ae037eedb58db1c17a7743bb6f3b1bf3ce8351 | |
parent | bd6bf7cbe80956c7950e0980b959340bbf224c1d (diff) | |
parent | 780b62b3b52566b2e6ea5d0070a3276189040392 (diff) |
Merge "A test api to override carrier information"
-rw-r--r-- | api/test-current.txt | 6 | ||||
-rw-r--r-- | telephony/java/android/telephony/TelephonyManager.java | 53 | ||||
-rw-r--r-- | telephony/java/com/android/internal/telephony/ITelephony.aidl | 13 |
3 files changed, 72 insertions, 0 deletions
diff --git a/api/test-current.txt b/api/test-current.txt index 8ef12b45dcf5..709b37eedda8 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -440,6 +440,12 @@ package android.telephony { method public void setCdmaSystemAndNetworkId(int, int); } + public class TelephonyManager { + method public int getCarrierIdListVersion(); + method public void setCarrierTestOverride(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String); + field public static final int UNKNOWN_CARRIER_ID_LIST_VERSION = -1; // 0xffffffff + } + } package android.telephony.mbms { diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 49094604a841..f55061a241f5 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -27,6 +27,7 @@ import android.annotation.SuppressAutoDoc; import android.annotation.SuppressLint; import android.annotation.SystemApi; import android.annotation.SystemService; +import android.annotation.TestApi; import android.annotation.WorkerThread; import android.app.ActivityThread; import android.app.PendingIntent; @@ -1035,6 +1036,13 @@ public class TelephonyManager { public static final int UNKNOWN_CARRIER_ID = -1; /** + * An unknown carrier id list version. + * @hide + */ + @TestApi + public static final int UNKNOWN_CARRIER_ID_LIST_VERSION = -1; + + /** * Broadcast Action: The subscription carrier identity has changed. * This intent could be sent on the following events: * <ul> @@ -7756,4 +7764,49 @@ public class TelephonyManager { } } } + + /** + * A test API to override carrier information including mccmnc, imsi, iccid, gid1, gid2, + * plmn and spn. This would be handy for, eg, forcing a particular carrier id, carrier's config + * (also any country or carrier overlays) to be loaded when using a test SIM with a call box. + * + * <p>Requires Permission: + * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} + * + * @hide + */ + @TestApi + public void setCarrierTestOverride(String mccmnc, String imsi, String iccid, String gid1, + String gid2, String plmn, String spn) { + try { + ITelephony telephony = getITelephony(); + if (telephony != null) { + telephony.setCarrierTestOverride( + getSubId(), mccmnc, imsi, iccid, gid1, gid2, plmn, spn); + } + } catch (RemoteException ex) { + // This could happen if binder process crashes. + } + } + + /** + * A test API to return installed carrier id list version + * + * <p>Requires Permission: + * {@link android.Manifest.permission#READ_PRIVILEGED_PHONE_STATE READ_PRIVILEGED_PHONE_STATE} + * + * @hide + */ + @TestApi + public int getCarrierIdListVersion() { + try { + ITelephony telephony = getITelephony(); + if (telephony != null) { + return telephony.getCarrierIdListVersion(getSubId()); + } + } catch (RemoteException ex) { + // This could happen if binder process crashes. + } + return UNKNOWN_CARRIER_ID_LIST_VERSION; + } } diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl index 1ace032b5dcf..9b71b8a1b9a5 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -1481,4 +1481,17 @@ interface ITelephony { * screen is off) we want to turn on those indications even when the screen is off. */ void setRadioIndicationUpdateMode(int subId, int filters, int mode); + + /** + * A test API to override carrier information including mccmnc, imsi, iccid, gid1, gid2, + * plmn and spn. This would be handy for, eg, forcing a particular carrier id, carrier's config + * (also any country or carrier overlays) to be loaded when using a test SIM with a call box. + */ + void setCarrierTestOverride(int subId, String mccmnc, String imsi, String iccid, String gid1, + String gid2, String plmn, String spn); + + /** + * A test API to return installed carrier id list version. + */ + int getCarrierIdListVersion(int subId); } |