Merge "Fixed guest check so it allows multiple pre-created users." into qt-qpr1-dev

This commit is contained in:
TreeHugger Robot
2019-10-30 23:39:47 +00:00
committed by Android (Google) Code Review
2 changed files with 8 additions and 3 deletions

View File

@@ -2279,10 +2279,14 @@ class PackageManagerShellCommand extends ShellCommand {
}
}
String arg = getNextArg();
if (arg == null) {
if (arg == null && !preCreateOnly) {
getErrPrintWriter().println("Error: no user name specified.");
return 1;
}
if (arg != null && preCreateOnly) {
getErrPrintWriter().println("Warning: name is ignored for pre-created users");
}
name = arg;
UserInfo info;
IUserManager um = IUserManager.Stub.asInterface(

View File

@@ -2805,7 +2805,7 @@ public class UserManagerService extends IUserManager.Stub {
return null;
}
// If we're adding a guest and there already exists one, bail.
if (isGuest && findCurrentGuestUser() != null) {
if (isGuest && !preCreate && findCurrentGuestUser() != null) {
Log.e(LOG_TAG, "Cannot add guest user. Guest user already exists.");
return null;
}
@@ -3044,7 +3044,8 @@ public class UserManagerService extends IUserManager.Stub {
final int size = mUsers.size();
for (int i = 0; i < size; i++) {
final UserInfo user = mUsers.valueAt(i).info;
if (user.isGuest() && !user.guestToRemove && !mRemovingUserIds.get(user.id)) {
if (user.isGuest() && !user.guestToRemove && !user.preCreated
&& !mRemovingUserIds.get(user.id)) {
return user;
}
}