Merge "A test api to override carrier information"

am: 420ab92b0b

Change-Id: I4dd105740b4c4954a387d46a76157c9d24b602e8
This commit is contained in:
Chen Xu
2018-04-12 18:09:55 -07:00
committed by android-build-merger
3 changed files with 72 additions and 0 deletions

View File

@@ -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 {

View File

@@ -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;
@@ -1034,6 +1035,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:
@@ -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;
}
}

View File

@@ -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);
}