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

Commit 9533e627 authored by Varun Shah's avatar Varun Shah
Browse files

Update UserManager#removeUser to follow API guidelines.

Updating the javadoc to explain the return value and adding in a null
check for the UserHandle passed in.

Bug: 124883455
Test: atest com.android.server.pm.UserManagerTest#testRemoveUserByHandle
Test: atest com.android.server.pm.UserManagerTest#testRemoveUserByHandle_ThrowsException
Change-Id: I1c2a7e140544001d6341b423890281ce53d7b38c
parent 92ed8d72
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -5603,7 +5603,7 @@ package android.os {
    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isManagedProfile(int);
    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isPrimaryUser();
    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isRestrictedProfile();
    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean removeUser(android.os.UserHandle);
    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean removeUser(@NonNull android.os.UserHandle);
    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserIcon(@NonNull android.graphics.Bitmap);
    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserName(@Nullable String);
    field public static final String ACTION_USER_RESTRICTIONS_CHANGED = "android.os.action.USER_RESTRICTIONS_CHANGED";
+6 −1
Original line number Diff line number Diff line
@@ -2655,11 +2655,16 @@ public class UserManager {
     * Removes a user and all associated data.
     *
     * @param user the user that needs to be removed.
     * @return {@code true} if the user was successfully removed, {@code false} otherwise.
     * @throws IllegalArgumentException if {@code user} is {@code null}
     * @hide
     */
    @SystemApi
    @RequiresPermission(android.Manifest.permission.MANAGE_USERS)
    public boolean removeUser(UserHandle user) {
    public boolean removeUser(@NonNull UserHandle user) {
        if (user == null) {
            throw new IllegalArgumentException("user cannot be null");
        }
        return removeUser(user.getIdentifier());
    }

+12 −0
Original line number Diff line number Diff line
@@ -184,6 +184,18 @@ public class UserManagerTest extends AndroidTestCase {
        assertFalse(findUser(userInfo.id));
    }

    @MediumTest
    public void testRemoveUserByHandle_ThrowsException() {
        synchronized (mUserRemoveLock) {
            try {
                mUserManager.removeUser(null);
                fail("Expected IllegalArgumentException on passing in a null UserHandle.");
            } catch (IllegalArgumentException expected) {
                // Do nothing - exception is expected.
            }
        }
    }

    @MediumTest
    public void testAddGuest() throws Exception {
        UserInfo userInfo1 = createUser("Guest 1", UserInfo.FLAG_GUEST);