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

Commit d6ed3579 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Remove UM.isUserOfType(userHandle) API"

parents 64f4df66 61899e59
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -8961,7 +8961,6 @@ package android.os {
    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isSameProfileGroup(@NonNull android.os.UserHandle, @NonNull android.os.UserHandle);
    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED}) public boolean isUserNameSet();
    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isUserOfType(@NonNull String);
    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isUserOfType(@NonNull android.os.UserHandle, @NonNull String);
    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isUserUnlockingOrUnlocked(@NonNull android.os.UserHandle);
    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean removeUser(@NonNull android.os.UserHandle);
    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserIcon(@NonNull android.graphics.Bitmap) throws android.os.UserManager.UserOperationException;
+3 −22
Original line number Diff line number Diff line
@@ -1775,9 +1775,10 @@ public class UserManager {
    }

    /**
     * Returns whether the context user's user is of the given user type, such as
     * {@link UserManager#USER_TYPE_FULL_GUEST}.
     * Returns whether the context user is of the given user type.
     *
     * @param userType the name of the user's user type, e.g.
     *                 {@link UserManager#USER_TYPE_PROFILE_MANAGED}.
     * @return true if the user is of the given user type.
     * @hide
     */
@@ -1792,26 +1793,6 @@ public class UserManager {
        }
    }

    /**
     * Returns whether the given user is of the given user type, such as
     * {@link UserManager#USER_TYPE_FULL_GUEST}.
     *
     * @param userHandle the user handle of the user whose type is being requested.
     * @param userType the name of the user's user type, e.g.
     *                 {@link UserManager#USER_TYPE_PROFILE_MANAGED}.
     * @return true if the userHandle user is of type userType
     * @hide
     */
    @SystemApi
    @RequiresPermission(android.Manifest.permission.MANAGE_USERS)
    public boolean isUserOfType(@NonNull UserHandle userHandle, @NonNull String userType) {
        try {
            return mService.isUserOfType(userHandle.getIdentifier(), userType);
        } catch (RemoteException re) {
            throw re.rethrowFromSystemServer();
        }
    }

    /**
     * Returns whether the user type is a
     * {@link UserManager#USER_TYPE_PROFILE_MANAGED managed profile}.
+6 −8
Original line number Diff line number Diff line
@@ -336,9 +336,6 @@ public final class UserManagerTest {
        assertThat(userInfo).isNotNull();
        final int userId = userInfo.id;

        UserManager userManagerForUser = (UserManager) mContext.createPackageContextAsUser(
                "android", 0, asHandle(userId)).getSystemService(Context.USER_SERVICE);

        assertThat(mUserManager.hasBadge(userId)).isEqualTo(userTypeDetails.hasBadge());
        assertThat(mUserManager.getUserIconBadgeResId(userId))
                .isEqualTo(userTypeDetails.getIconBadge());
@@ -346,17 +343,18 @@ public final class UserManagerTest {
                .isEqualTo(userTypeDetails.getBadgePlain());
        assertThat(mUserManager.getUserBadgeNoBackgroundResId(userId))
                .isEqualTo(userTypeDetails.getBadgeNoBackground());
        assertThat(mUserManager.isUserOfType(asHandle(userId), userTypeDetails.getName()))
                .isTrue();
        assertThat(userManagerForUser.isProfile()).isEqualTo(userTypeDetails.isProfile());
        assertThat(userManagerForUser.isUserOfType(asHandle(userId), userTypeDetails.getName()))
                .isTrue();

        final int badgeIndex = userInfo.profileBadge;
        assertThat(mUserManager.getUserBadgeColor(userId)).isEqualTo(
                Resources.getSystem().getColor(userTypeDetails.getBadgeColor(badgeIndex), null));
        assertThat(mUserManager.getBadgedLabelForUser("Test", asHandle(userId))).isEqualTo(
                Resources.getSystem().getString(userTypeDetails.getBadgeLabel(badgeIndex), "Test"));

        // Test @UserHandleAware methods
        final UserManager userManagerForUser = UserManager.get(mContext.createPackageContextAsUser(
                "android", 0, asHandle(userId)));
        assertThat(userManagerForUser.isUserOfType(userTypeDetails.getName())).isTrue();
        assertThat(userManagerForUser.isProfile()).isEqualTo(userTypeDetails.isProfile());
    }

    // Make sure only max managed profiles can be created