Merge "Implement checkCarrierPrivilegesForPackageAnyPhone" into mnc-dev
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 135c756..b9e8a57 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -2072,13 +2072,33 @@
}
@Override
- public int checkCarrierPrivilegesForPackage(String pkgname) {
+ public int checkCarrierPrivilegesForPackage(String pkgName) {
UiccCard card = UiccController.getInstance().getUiccCard(mPhone.getPhoneId());
if (card == null) {
loge("checkCarrierPrivilegesForPackage: No UICC");
return TelephonyManager.CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED;
}
- return card.getCarrierPrivilegeStatus(mPhone.getContext().getPackageManager(), pkgname);
+ return card.getCarrierPrivilegeStatus(mPhone.getContext().getPackageManager(), pkgName);
+ }
+
+ @Override
+ public int checkCarrierPrivilegesForPackageAnyPhone(String pkgName) {
+ int result = TelephonyManager.CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED;
+ for (int i = 0; i < TelephonyManager.getDefault().getPhoneCount(); i++) {
+ UiccCard card = UiccController.getInstance().getUiccCard(i);
+ if (card == null) {
+ loge("checkCarrierPrivilegesForPackageAnyPhones: No UICC");
+ continue;
+ }
+
+ result = card.getCarrierPrivilegeStatus(
+ mPhone.getContext().getPackageManager(), pkgName);
+ if (result == TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS) {
+ break;
+ }
+ }
+
+ return result;
}
@Override