expose carrier id APIs and cleanup
Bug: 110559381
Test: unit test
Change-Id: I151bc3096251f7ddd803c03c82d576ca8a93a108
diff --git a/src/com/android/phone/CarrierConfigLoader.java b/src/com/android/phone/CarrierConfigLoader.java
index 15c5780..1e9e286 100644
--- a/src/com/android/phone/CarrierConfigLoader.java
+++ b/src/com/android/phone/CarrierConfigLoader.java
@@ -526,17 +526,17 @@
Intent intent = new Intent(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED);
intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT |
Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND);
- // Include subId extra only if SIM records are loaded
+ // Include subId/carrier id extra only if SIM records are loaded
TelephonyManager telephonyManager = TelephonyManager.from(mContext);
int simApplicationState = telephonyManager.getSimApplicationState();
if (addSubIdExtra && (simApplicationState != TelephonyManager.SIM_STATE_UNKNOWN
&& simApplicationState != TelephonyManager.SIM_STATE_NOT_READY)) {
SubscriptionManager.putPhoneIdAndSubIdExtra(intent, phoneId);
+ intent.putExtra(TelephonyManager.EXTRA_PRECISE_CARRIER_ID,
+ getPreciseCarrierIdForPhoneId(phoneId));
+ intent.putExtra(TelephonyManager.EXTRA_CARRIER_ID, getCarrierIdForPhoneId(phoneId));
}
intent.putExtra(CarrierConfigManager.EXTRA_SLOT_INDEX, phoneId);
- intent.putExtra(TelephonyManager.EXTRA_PRECISE_CARRIER_ID,
- getPreciseCarrierIdForPhoneId(phoneId));
- intent.putExtra(TelephonyManager.EXTRA_CARRIER_ID, getCarrierIdForPhoneId(phoneId));
ActivityManager.broadcastStickyIntent(intent, UserHandle.USER_ALL);
mHasSentConfigChange[phoneId] = true;
}
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index f76720d..24e6642 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -2132,17 +2132,6 @@
}
@Override
- public int getSubscriptionMNOCarrierId(int subId) {
- final long identity = Binder.clearCallingIdentity();
- try {
- final Phone phone = getPhone(subId);
- return phone == null ? TelephonyManager.UNKNOWN_CARRIER_ID : phone.getMNOCarrierId();
- } finally {
- Binder.restoreCallingIdentity(identity);
- }
- }
-
- @Override
public int getSubscriptionPreciseCarrierId(int subId) {
final long identity = Binder.clearCallingIdentity();
try {
@@ -2166,7 +2155,10 @@
}
@Override
- public int getCarrierIdFromMccMnc(int slotIndex, String mccmnc) {
+ public int getCarrierIdFromMccMnc(int slotIndex, String mccmnc, boolean isSubscriptionMccMnc) {
+ if (!isSubscriptionMccMnc) {
+ enforceReadPrivilegedPermission("getCarrierIdFromMccMnc");
+ }
final Phone phone = PhoneFactory.getPhone(slotIndex);
if (phone == null) {
return TelephonyManager.UNKNOWN_CARRIER_ID;