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

Commit 63f7e288 authored by Yan Zhu's avatar Yan Zhu
Browse files

Add getProfileOwnerNameUnchecked private method and use in manageUserUnchecked

Skip check for canManageUser.

Test: manual: download and install TestDPC
adb unroot && adb shell dpm set-device-owner --user 0 com.afwsamples.testdpc/.DeviceAdminReceiver
Fixes: 176107119

Change-Id: Ic00afaffc58a567490fa8fb3b8c66a9569e6333b
parent dd0180a1
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -8401,7 +8401,10 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
            return null;
        }
        Preconditions.checkCallAuthorization(canManageUsers(getCallerIdentity()));
        return getProfileOwnerNameUnchecked(userHandle);
    }
    private String getProfileOwnerNameUnchecked(int userHandle) {
        ComponentName profileOwner = getProfileOwnerAsUser(userHandle);
        if (profileOwner == null) {
            return null;
@@ -9707,7 +9710,8 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
        // Set admin.
        setActiveAdmin(profileOwner, /* refreshing= */ true, userId);
        final String ownerName = getProfileOwnerName(Process.myUserHandle().getIdentifier());
        final String ownerName = getProfileOwnerNameUnchecked(
                Process.myUserHandle().getIdentifier());
        setProfileOwner(profileOwner, ownerName, userId);
        synchronized (getLockObject()) {