Make getPackagesWithCarrierPrivilgesForAllPhones System API
Test: build
Bug: 145550382
Change-Id: Ie3ca4ba8e16938e769b75f2f1cac2737145e47a6
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 8e88c7b..9d6cc83 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -5293,9 +5293,17 @@
@Override
public List<String> getPackagesWithCarrierPrivilegesForAllPhones() {
+ enforceReadPrivilegedPermission("getPackagesWithCarrierPrivilegesForAllPhones");
+
+ final long identity = Binder.clearCallingIdentity();
+
List<String> privilegedPackages = new ArrayList<>();
- for (int i = 0; i < TelephonyManager.getDefault().getPhoneCount(); i++) {
- privilegedPackages.addAll(getPackagesWithCarrierPrivileges(i));
+ try {
+ for (int i = 0; i < TelephonyManager.getDefault().getPhoneCount(); i++) {
+ privilegedPackages.addAll(getPackagesWithCarrierPrivileges(i));
+ }
+ } finally {
+ Binder.restoreCallingIdentity(identity);
}
return privilegedPackages;
}