Loading services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +13 −12 Original line number Original line Diff line number Diff line Loading @@ -1164,7 +1164,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { policy.mAdminList.remove(i); policy.mAdminList.remove(i); policy.mAdminMap.remove(aa.info.getComponent()); policy.mAdminMap.remove(aa.info.getComponent()); pushActiveAdminPackagesLocked(userHandle); pushActiveAdminPackagesLocked(userHandle); pushMeteredDisabledPackagesLocked(userHandle); pushMeteredDisabledPackages(userHandle); } } } } } catch (RemoteException re) { } catch (RemoteException re) { Loading Loading @@ -3571,7 +3571,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { for (int i = users.size() - 1; i >= 0; --i) { for (int i = users.size() - 1; i >= 0; --i) { final int userId = users.get(i).id; final int userId = users.get(i).id; mInjector.getNetworkPolicyManagerInternal().setMeteredRestrictedPackagesAsync( mInjector.getNetworkPolicyManagerInternal().setMeteredRestrictedPackagesAsync( getMeteredDisabledPackagesLocked(userId), userId); getMeteredDisabledPackages(userId), userId); } } } } } } Loading Loading @@ -14692,7 +14692,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { final List<String> excludedPkgs = removeInvalidPkgsForMeteredDataRestriction( final List<String> excludedPkgs = removeInvalidPkgsForMeteredDataRestriction( caller.getUserId(), packageNames); caller.getUserId(), packageNames); admin.meteredDisabledPackages = packageNames; admin.meteredDisabledPackages = packageNames; pushMeteredDisabledPackagesLocked(caller.getUserId()); pushMeteredDisabledPackages(caller.getUserId()); saveSettingsLocked(caller.getUserId()); saveSettingsLocked(caller.getUserId()); return excludedPkgs; return excludedPkgs; }); }); Loading Loading @@ -14844,22 +14844,23 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { isProfileOwnerOnOrganizationOwnedDevice); isProfileOwnerOnOrganizationOwnedDevice); } } private void pushMeteredDisabledPackagesLocked(int userId) { private void pushMeteredDisabledPackages(int userId) { wtfIfInLock(); mInjector.getNetworkPolicyManagerInternal().setMeteredRestrictedPackages( mInjector.getNetworkPolicyManagerInternal().setMeteredRestrictedPackages( getMeteredDisabledPackagesLocked(userId), userId); getMeteredDisabledPackages(userId), userId); } } private Set<String> getMeteredDisabledPackagesLocked(int userId) { private Set<String> getMeteredDisabledPackages(int userId) { final ComponentName who = getOwnerComponent(userId); synchronized (getLockObject()) { final Set<String> restrictedPkgs = new ArraySet<>(); final Set<String> restrictedPkgs = new ArraySet<>(); if (who != null) { final ActiveAdmin admin = getDeviceOrProfileOwnerAdminLocked(userId); final ActiveAdmin admin = getActiveAdminUncheckedLocked(who, userId); if (admin != null && admin.meteredDisabledPackages != null) { if (admin != null && admin.meteredDisabledPackages != null) { restrictedPkgs.addAll(admin.meteredDisabledPackages); restrictedPkgs.addAll(admin.meteredDisabledPackages); } } } return restrictedPkgs; return restrictedPkgs; } } } @Override @Override public void setAffiliationIds(ComponentName admin, List<String> ids) { public void setAffiliationIds(ComponentName admin, List<String> ids) { Loading Loading @@ -15302,13 +15303,13 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { resetGlobalProxyLocked(policy); resetGlobalProxyLocked(policy); } } pushActiveAdminPackagesLocked(userHandle); pushActiveAdminPackagesLocked(userHandle); pushMeteredDisabledPackagesLocked(userHandle); saveSettingsLocked(userHandle); saveSettingsLocked(userHandle); updateMaximumTimeToLockLocked(userHandle); updateMaximumTimeToLockLocked(userHandle); policy.mRemovingAdmins.remove(adminReceiver); policy.mRemovingAdmins.remove(adminReceiver); Slogf.i(LOG_TAG, "Device admin " + adminReceiver + " removed from user " + userHandle); Slogf.i(LOG_TAG, "Device admin " + adminReceiver + " removed from user " + userHandle); } } pushMeteredDisabledPackages(userHandle); // The removed admin might have disabled camera, so update user // The removed admin might have disabled camera, so update user // restrictions. // restrictions. pushUserRestrictions(userHandle); pushUserRestrictions(userHandle); Loading
services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +13 −12 Original line number Original line Diff line number Diff line Loading @@ -1164,7 +1164,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { policy.mAdminList.remove(i); policy.mAdminList.remove(i); policy.mAdminMap.remove(aa.info.getComponent()); policy.mAdminMap.remove(aa.info.getComponent()); pushActiveAdminPackagesLocked(userHandle); pushActiveAdminPackagesLocked(userHandle); pushMeteredDisabledPackagesLocked(userHandle); pushMeteredDisabledPackages(userHandle); } } } } } catch (RemoteException re) { } catch (RemoteException re) { Loading Loading @@ -3571,7 +3571,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { for (int i = users.size() - 1; i >= 0; --i) { for (int i = users.size() - 1; i >= 0; --i) { final int userId = users.get(i).id; final int userId = users.get(i).id; mInjector.getNetworkPolicyManagerInternal().setMeteredRestrictedPackagesAsync( mInjector.getNetworkPolicyManagerInternal().setMeteredRestrictedPackagesAsync( getMeteredDisabledPackagesLocked(userId), userId); getMeteredDisabledPackages(userId), userId); } } } } } } Loading Loading @@ -14692,7 +14692,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { final List<String> excludedPkgs = removeInvalidPkgsForMeteredDataRestriction( final List<String> excludedPkgs = removeInvalidPkgsForMeteredDataRestriction( caller.getUserId(), packageNames); caller.getUserId(), packageNames); admin.meteredDisabledPackages = packageNames; admin.meteredDisabledPackages = packageNames; pushMeteredDisabledPackagesLocked(caller.getUserId()); pushMeteredDisabledPackages(caller.getUserId()); saveSettingsLocked(caller.getUserId()); saveSettingsLocked(caller.getUserId()); return excludedPkgs; return excludedPkgs; }); }); Loading Loading @@ -14844,22 +14844,23 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { isProfileOwnerOnOrganizationOwnedDevice); isProfileOwnerOnOrganizationOwnedDevice); } } private void pushMeteredDisabledPackagesLocked(int userId) { private void pushMeteredDisabledPackages(int userId) { wtfIfInLock(); mInjector.getNetworkPolicyManagerInternal().setMeteredRestrictedPackages( mInjector.getNetworkPolicyManagerInternal().setMeteredRestrictedPackages( getMeteredDisabledPackagesLocked(userId), userId); getMeteredDisabledPackages(userId), userId); } } private Set<String> getMeteredDisabledPackagesLocked(int userId) { private Set<String> getMeteredDisabledPackages(int userId) { final ComponentName who = getOwnerComponent(userId); synchronized (getLockObject()) { final Set<String> restrictedPkgs = new ArraySet<>(); final Set<String> restrictedPkgs = new ArraySet<>(); if (who != null) { final ActiveAdmin admin = getDeviceOrProfileOwnerAdminLocked(userId); final ActiveAdmin admin = getActiveAdminUncheckedLocked(who, userId); if (admin != null && admin.meteredDisabledPackages != null) { if (admin != null && admin.meteredDisabledPackages != null) { restrictedPkgs.addAll(admin.meteredDisabledPackages); restrictedPkgs.addAll(admin.meteredDisabledPackages); } } } return restrictedPkgs; return restrictedPkgs; } } } @Override @Override public void setAffiliationIds(ComponentName admin, List<String> ids) { public void setAffiliationIds(ComponentName admin, List<String> ids) { Loading Loading @@ -15302,13 +15303,13 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { resetGlobalProxyLocked(policy); resetGlobalProxyLocked(policy); } } pushActiveAdminPackagesLocked(userHandle); pushActiveAdminPackagesLocked(userHandle); pushMeteredDisabledPackagesLocked(userHandle); saveSettingsLocked(userHandle); saveSettingsLocked(userHandle); updateMaximumTimeToLockLocked(userHandle); updateMaximumTimeToLockLocked(userHandle); policy.mRemovingAdmins.remove(adminReceiver); policy.mRemovingAdmins.remove(adminReceiver); Slogf.i(LOG_TAG, "Device admin " + adminReceiver + " removed from user " + userHandle); Slogf.i(LOG_TAG, "Device admin " + adminReceiver + " removed from user " + userHandle); } } pushMeteredDisabledPackages(userHandle); // The removed admin might have disabled camera, so update user // The removed admin might have disabled camera, so update user // restrictions. // restrictions. pushUserRestrictions(userHandle); pushUserRestrictions(userHandle);