Merge "Ensure getUserName cannot return null" into tm-dev
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
@@ -170,7 +171,7 @@ public class UserInfo implements Parcelable {
|
||||
@UnsupportedAppUsage
|
||||
public int serialNumber;
|
||||
@UnsupportedAppUsage
|
||||
public String name;
|
||||
public @Nullable String name;
|
||||
@UnsupportedAppUsage
|
||||
public String iconPath;
|
||||
@UnsupportedAppUsage
|
||||
|
||||
@@ -2179,7 +2179,10 @@ public class UserManager {
|
||||
}
|
||||
} else {
|
||||
UserInfo userInfo = getUserInfo(mUserId);
|
||||
return userInfo == null ? "" : userInfo.name;
|
||||
if (userInfo != null && userInfo.name != null) {
|
||||
return userInfo.name;
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 "";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4165,7 +4170,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);
|
||||
|
||||
Reference in New Issue
Block a user