Make getPackagesWithCarrierPrivilgesForAllPhones System API
Test: build
Bug: 145550382
Change-Id: Ie3ca4ba8e16938e769b75f2f1cac2737145e47a6
Merged-In: Ie3ca4ba8e16938e769b75f2f1cac2737145e47a6
(cherry picked from commit 067a06d5dcb3999595152fb2702ce32c92462e45)
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 552c490..a3e9070 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -5235,9 +5235,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;
}