Implement checkCarrierPrivilegesForPackageAnyPhone

Checks if the provided package has carrier privileges
for any active phone.

Change-Id: I3d521142d4891a03cd3b0b0cf788ce30722d35fd
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 9628b92..500e173 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -2042,13 +2042,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