A test api to override carrier information
This API should only be used for testing purpose e.g., CTS/GTS/SL4A
By overriding carrier information, we could force a particular carrier id,
carrier's config, but also any country or carrier overlays to be loaded
when using a test SIM with a call box.
Bug: 72332597
Test: atest CtsTelephonyTestCases:CarrierIdentificationTest
Change-Id: Ia66a520970c845c10c06db929ca0b05718550167
(cherry picked from commit a13278b4f254f5fa985151d368733c2a0a440e1c)
Merged-in: a13278b4f254f5fa985151d368733c2a0a440e1c
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index e7f28d7..0756029 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -4102,4 +4102,27 @@
phone.setRadioIndicationUpdateMode(filters, mode);
}
+
+ @Override
+ public void setCarrierTestOverride(int subId, String mccmnc, String imsi, String iccid, String
+ gid1, String gid2, String plmn, String spn) {
+ enforceModifyPermission();
+ final Phone phone = getPhone(subId);
+ if (phone == null) {
+ loge("setCarrierTestOverride fails with invalid subId: " + subId);
+ return;
+ }
+ phone.setCarrierTestOverride(mccmnc, imsi, iccid, gid1, gid2, plmn, spn);
+ }
+
+ @Override
+ public int getCarrierIdListVersion(int subId) {
+ enforceReadPrivilegedPermission();
+ final Phone phone = getPhone(subId);
+ if (phone == null) {
+ loge("getCarrierIdListVersion fails with invalid subId: " + subId);
+ return TelephonyManager.UNKNOWN_CARRIER_ID_LIST_VERSION;
+ }
+ return phone.getCarrierIdListVersion();
+ }
}