Merge "Ensure getUserName cannot return null" into tm-dev am: 1503b56202 am: 10b45a2107 am: 7a5725bfe6

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18126297

Change-Id: I016b08f30e9c422128e1d1152966d350e547ee01
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Adam Bookatz
2022-05-04 18:30:00 +00:00
committed by Automerger Merge Worker
4 changed files with 15 additions and 6 deletions

View File

@@ -919,7 +919,7 @@ package android.content.pm {
field public int id;
field public String lastLoggedInFingerprint;
field public long lastLoggedInTime;
field public String name;
field @Nullable public String name;
field public boolean partial;
field public boolean preCreated;
field public int profileBadge;

View File

@@ -18,6 +18,7 @@ package android.content.pm;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.TestApi;
import android.annotation.UserIdInt;
import android.compat.annotation.UnsupportedAppUsage;
@@ -187,7 +188,7 @@ public class UserInfo implements Parcelable {
@UnsupportedAppUsage
public int serialNumber;
@UnsupportedAppUsage
public String name;
public @Nullable String name;
@UnsupportedAppUsage
public String iconPath;
@UnsupportedAppUsage

View File

@@ -2188,7 +2188,10 @@ public class UserManager {
}
} else {
UserInfo userInfo = getUserInfo(mUserId);
return userInfo == null ? "" : userInfo.name;
if (userInfo != null && userInfo.name != null) {
return userInfo.name;
}
return "";
}
}

View File

@@ -1430,6 +1430,8 @@ public class UserManagerService extends IUserManager.Stub {
/**
* Returns a UserInfo object with the name filled in, for Owner and Guest, or the original
* if the name is already set.
*
* Note: Currently, the resulting name can be null if a user was truly created with a null name.
*/
private UserInfo userWithName(UserInfo orig) {
if (orig != null && orig.name == null) {
@@ -1638,7 +1640,7 @@ public class UserManagerService extends IUserManager.Stub {
}
@Override
public String getUserName() {
public @NonNull String getUserName() {
final int callingUid = Binder.getCallingUid();
if (!hasQueryOrCreateUsersPermission()
&& !hasPermissionGranted(
@@ -1649,7 +1651,10 @@ public class UserManagerService extends IUserManager.Stub {
final int userId = UserHandle.getUserId(callingUid);
synchronized (mUsersLock) {
UserInfo userInfo = userWithName(getUserInfoLU(userId));
return userInfo == null ? "" : userInfo.name;
if (userInfo != null && userInfo.name != null) {
return userInfo.name;
}
return "";
}
}
@@ -4207,7 +4212,7 @@ public class UserManagerService extends IUserManager.Stub {
* @return the converted user, or {@code null} if no pre-created user could be converted.
*/
private @Nullable UserInfo convertPreCreatedUserIfPossible(String userType,
@UserInfoFlag int flags, String name, @Nullable Object token) {
@UserInfoFlag int flags, @Nullable String name, @Nullable Object token) {
final UserData preCreatedUserData;
synchronized (mUsersLock) {
preCreatedUserData = getPreCreatedUserLU(userType);