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

Commit 1244ece2 authored by Makoto Onuki's avatar Makoto Onuki Committed by Android (Google) Code Review
Browse files

Merge "Make DPM.clearProfileOwner() public."

parents c573aa7c 5bf68027
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -5789,6 +5789,7 @@ package android.app.admin {
    method public void clearCrossProfileIntentFilters(android.content.ComponentName);
    method public void clearDeviceOwnerApp(java.lang.String);
    method public void clearPackagePersistentPreferredActivities(android.content.ComponentName, java.lang.String);
    method public void clearProfileOwner(android.content.ComponentName);
    method public void clearUserRestriction(android.content.ComponentName, java.lang.String);
    method public deprecated android.os.UserHandle createAndInitializeUser(android.content.ComponentName, java.lang.String, java.lang.String, android.content.ComponentName, android.os.Bundle);
    method public android.os.UserHandle createAndManageUser(android.content.ComponentName, java.lang.String, android.content.ComponentName, android.os.PersistableBundle, int);
+1 −0
Original line number Diff line number Diff line
@@ -5791,6 +5791,7 @@ package android.app.admin {
    method public void clearCrossProfileIntentFilters(android.content.ComponentName);
    method public void clearDeviceOwnerApp(java.lang.String);
    method public void clearPackagePersistentPreferredActivities(android.content.ComponentName, java.lang.String);
    method public void clearProfileOwner(android.content.ComponentName);
    method public void clearUserRestriction(android.content.ComponentName, java.lang.String);
    method public deprecated android.os.UserHandle createAndInitializeUser(android.content.ComponentName, java.lang.String, java.lang.String, android.content.ComponentName, android.os.Bundle);
    method public android.os.UserHandle createAndManageUser(android.content.ComponentName, java.lang.String, android.content.ComponentName, android.os.PersistableBundle, int);
+2 −3
Original line number Diff line number Diff line
@@ -3244,15 +3244,14 @@ public class DevicePolicyManager {
    }

    /**
     * @hide
     * Clears the active profile owner and removes all user restrictions. The caller must
     * be from the same package as the active profile owner for this user, otherwise a
     * SecurityException will be thrown.
     *
     * <p>This doesn't work for managed profile owners.
     *
     * @param admin The component to remove as the profile owner.
     * @return
     */
    @SystemApi
    public void clearProfileOwner(@NonNull ComponentName admin) {
        if (mService != null) {
            try {
+3 −2
Original line number Diff line number Diff line
@@ -5423,7 +5423,9 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
        if (!mHasFeature) {
            return;
        }
        UserHandle callingUser = mInjector.binderGetCallingUserHandle();
        final UserHandle callingUser = mInjector.binderGetCallingUserHandle();
        final int userId = callingUser.getIdentifier();
        enforceNotManagedProfile(userId, "clear profile owner");
        // Check if this is the profile owner who is calling
        final ActiveAdmin admin =
                getActiveAdminForCallerLocked(who, DeviceAdminInfo.USES_POLICY_PROFILE_OWNER);
@@ -5431,7 +5433,6 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
            admin.disableCamera = false;
            admin.userRestrictions = null;
            clearUserPoliciesLocked(callingUser);
            final int userId = callingUser.getIdentifier();
            mOwners.removeProfileOwner(userId);
            mOwners.writeProfileOwner(userId);
        }