Merge "Update the logic for getting metered data disabled pkgs in DPMS."
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
index 7c7811a..4c57f7f 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -11447,16 +11447,11 @@
}
private Set<String> getMeteredDisabledPackagesLocked(int userId) {
- final DevicePolicyData policy = getUserData(userId);
+ final ComponentName who = getOwnerComponent(userId);
final Set<String> restrictedPkgs = new ArraySet<>();
- for (int i = policy.mAdminList.size() - 1; i >= 0; --i) {
- final ActiveAdmin admin = policy.mAdminList.get(i);
- if (!isActiveAdminWithPolicyForUserLocked(admin,
- DeviceAdminInfo.USES_POLICY_PROFILE_OWNER, userId)) {
- // Not a profile or device owner, ignore
- continue;
- }
- if (admin.meteredDisabledPackages != null) {
+ if (who != null) {
+ final ActiveAdmin admin = getActiveAdminUncheckedLocked(who, userId);
+ if (admin != null && admin.meteredDisabledPackages != null) {
restrictedPkgs.addAll(admin.meteredDisabledPackages);
}
}