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

Commit f0b9bd4f 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

am: 58da13b6

Change-Id: I2da5ec521d940156dc6f06019a0b85cddece0ce5
parents ea578665 58da13b6
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() {
@@ -5710,7 +5711,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);
            }
            }


@@ -5898,7 +5900,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);
            }
            }