Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3bf7fd2d authored by Sudheer Shanka's avatar Sudheer Shanka
Browse files

Update the logic for getting metered data disabled pkgs in DPMS.

Bug: 63700027
Test: atest com.android.cts.devicepolicy.MixedProfileOwnerTest#testSetMeteredDataDisabled
Test: atest com.android.cts.devicepolicy.MixedProfileOwnerTest#testSetMeteredDataDisabled
Test: atest com.android.server.devicepolicy.DevicePolicyManagerTest
Change-Id: I207f7d43d3aade7e91ae98f32e9b775b16b2153e
parent bef8a1be
Loading
Loading
Loading
Loading
+4 −9
Original line number Diff line number Diff line
@@ -11437,16 +11437,11 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
    }
    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);
            }
        }