Loading services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +7 −4 Original line number Original line Diff line number Diff line Loading @@ -2093,8 +2093,9 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { void removeActiveAdminLocked(final ComponentName adminReceiver, final int userHandle) { void removeActiveAdminLocked(final ComponentName adminReceiver, final int userHandle) { final ActiveAdmin admin = getActiveAdminUncheckedLocked(adminReceiver, userHandle); final ActiveAdmin admin = getActiveAdminUncheckedLocked(adminReceiver, userHandle); if (admin != null) { DevicePolicyData policy = getUserData(userHandle); getUserData(userHandle).mRemovingAdmins.add(adminReceiver); if (admin != null && !policy.mRemovingAdmins.contains(adminReceiver)) { policy.mRemovingAdmins.add(adminReceiver); sendAdminCommandLocked(admin, sendAdminCommandLocked(admin, DeviceAdminReceiver.ACTION_DEVICE_ADMIN_DISABLED, DeviceAdminReceiver.ACTION_DEVICE_ADMIN_DISABLED, new BroadcastReceiver() { new BroadcastReceiver() { Loading Loading @@ -5706,7 +5707,8 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { } } synchronized (this) { synchronized (this) { enforceCanSetDeviceOwnerLocked(userId); enforceCanSetDeviceOwnerLocked(userId); if (getActiveAdminUncheckedLocked(admin, userId) == null) { if (getActiveAdminUncheckedLocked(admin, userId) == null || getUserData(userId).mRemovingAdmins.contains(admin)) { throw new IllegalArgumentException("Not active admin: " + admin); throw new IllegalArgumentException("Not active admin: " + admin); } } Loading Loading @@ -5894,7 +5896,8 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { synchronized (this) { synchronized (this) { enforceCanSetProfileOwnerLocked(userHandle); enforceCanSetProfileOwnerLocked(userHandle); if (getActiveAdminUncheckedLocked(who, userHandle) == null) { if (getActiveAdminUncheckedLocked(who, userHandle) == null || getUserData(userHandle).mRemovingAdmins.contains(who)) { throw new IllegalArgumentException("Not active admin: " + who); throw new IllegalArgumentException("Not active admin: " + who); } } Loading Loading
services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +7 −4 Original line number Original line Diff line number Diff line Loading @@ -2093,8 +2093,9 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { void removeActiveAdminLocked(final ComponentName adminReceiver, final int userHandle) { void removeActiveAdminLocked(final ComponentName adminReceiver, final int userHandle) { final ActiveAdmin admin = getActiveAdminUncheckedLocked(adminReceiver, userHandle); final ActiveAdmin admin = getActiveAdminUncheckedLocked(adminReceiver, userHandle); if (admin != null) { DevicePolicyData policy = getUserData(userHandle); getUserData(userHandle).mRemovingAdmins.add(adminReceiver); if (admin != null && !policy.mRemovingAdmins.contains(adminReceiver)) { policy.mRemovingAdmins.add(adminReceiver); sendAdminCommandLocked(admin, sendAdminCommandLocked(admin, DeviceAdminReceiver.ACTION_DEVICE_ADMIN_DISABLED, DeviceAdminReceiver.ACTION_DEVICE_ADMIN_DISABLED, new BroadcastReceiver() { new BroadcastReceiver() { Loading Loading @@ -5706,7 +5707,8 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { } } synchronized (this) { synchronized (this) { enforceCanSetDeviceOwnerLocked(userId); enforceCanSetDeviceOwnerLocked(userId); if (getActiveAdminUncheckedLocked(admin, userId) == null) { if (getActiveAdminUncheckedLocked(admin, userId) == null || getUserData(userId).mRemovingAdmins.contains(admin)) { throw new IllegalArgumentException("Not active admin: " + admin); throw new IllegalArgumentException("Not active admin: " + admin); } } Loading Loading @@ -5894,7 +5896,8 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { synchronized (this) { synchronized (this) { enforceCanSetProfileOwnerLocked(userHandle); enforceCanSetProfileOwnerLocked(userHandle); if (getActiveAdminUncheckedLocked(who, userHandle) == null) { if (getActiveAdminUncheckedLocked(who, userHandle) == null || getUserData(userHandle).mRemovingAdmins.contains(who)) { throw new IllegalArgumentException("Not active admin: " + who); throw new IllegalArgumentException("Not active admin: " + who); } } Loading