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

Commit 58da13b6 authored by Suprabh Shukla's avatar Suprabh Shukla Committed by android-build-merger
Browse files

Not trying to remove admins already being removed am: 9704e409

am: 636cd418

Change-Id: I5eec219a237539cbae8e9c5c6ecf75d9a7f221f5
parents f04a080f 636cd418
Loading
Loading
Loading
Loading
+7 −4
Original line number Original line Diff line number Diff line
@@ -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() {
@@ -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);
            }
            }


@@ -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);
            }
            }