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

Commit fe4eb2b1 authored by Bookatz's avatar Bookatz
Browse files

UM.isUserNameSet is SystemApi

getUserName is already accessible, so isUserNameSet can be too.
Since it covers a similar topic, it makes sense to also lock it
down with the same permissions (even though the information is
not nearly as sensitive).

Test: atest UserManagerServiceUserInfoTest
Bug: 135582166
Change-Id: I84bc4ec97462b90f0bd1a721e0e41cc14b190e2c
parent aa22ba6b
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -6680,6 +6680,7 @@ package android.os {
    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isRestrictedProfile();
    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isRestrictedProfile(@NonNull android.os.UserHandle);
    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(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) public boolean isUserUnlockingOrUnlocked(@NonNull 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);
+3 −0
Original line number Diff line number Diff line
@@ -1540,6 +1540,9 @@ public class UserManager {
     * set by the user and is not a placeholder string provided by the system.
     * @hide
     */
    @SystemApi
    @RequiresPermission(anyOf = {Manifest.permission.MANAGE_USERS,
            Manifest.permission.GET_ACCOUNTS_PRIVILEGED})
    public boolean isUserNameSet() {
        try {
            return mService.isUserNameSet(getUserHandle());
+4 −0
Original line number Diff line number Diff line
@@ -3978,6 +3978,10 @@ public class UserManagerService extends IUserManager.Stub {

    @Override
    public boolean isUserNameSet(@UserIdInt int userId) {
        if (!hasManageUsersOrPermission(android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED)) {
            throw new SecurityException("You need MANAGE_USERS or GET_ACCOUNTS_PRIVILEGED "
                    + "permissions to: get whether user name is set");
        }
        synchronized (mUsersLock) {
            final UserInfo userInfo = getUserInfoLU(userId);
            return userInfo != null && userInfo.name != null;