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

Commit 9d85929a authored by shreyacsingh's avatar shreyacsingh Committed by Cherrypicker Worker
Browse files

Removing enforcePermissionsAndGetEnforcingAdmin from cleanCallingIdentity block

enforcePermissions was failing with security exception as it checks callingIdentity which was being
cleared beforehand.

Bug: b/282180465
Test: manual
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:1e415b7937550dbb22075c0bd91a60b7f1a1245b)
Merged-In: Iae54d93f4ba08657f5d7d466cfa8e02bfa6c5809
Change-Id: Iae54d93f4ba08657f5d7d466cfa8e02bfa6c5809
parent f4f5ce43
Loading
Loading
Loading
Loading
+25 −21
Original line number Diff line number Diff line
@@ -7840,6 +7840,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
                throw new SecurityException("Cannot wipe data. " + restriction
                        + " restriction is set for user " + userId);
            }
        });
        boolean isSystemUser = userId == UserHandle.USER_SYSTEM;
        boolean wipeDevice;
@@ -7861,6 +7862,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
                                getAffectedUser(calledOnParentInstance));
                wipeDevice = true;
            } else {
                mInjector.binderWithCleanCallingIdentity(() -> {
                    Preconditions.checkCallAuthorization(!isSystemUser,
                            "User %s is a system user and cannot be removed", userId);
                    boolean isLastNonHeadlessUser = getUserInfo(userId).isFull()
@@ -7871,9 +7873,11 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
                            "Removing user %s would leave the device without any active users. "
                                    + "Consider factory resetting the device instead.",
                            userId);
                });
                wipeDevice = false;
            }
        }
        mInjector.binderWithCleanCallingIdentity(() -> {
            if (wipeDevice) {
                forceWipeDeviceNoLock(
                        (flags & WIPE_EXTERNAL_STORAGE) != 0,