diff options
author | 2023-07-17 15:47:02 +0000 | |
---|---|---|
committer | 2023-07-17 15:47:02 +0000 | |
commit | bb9ee0797ee68e195e508236e95d867ceaa7cc95 (patch) | |
tree | 67c74f6fc69c7fc8558003d7d1b3ec7a1f73a61d | |
parent | 14916320401c8c189337582e8ad610c02d956b52 (diff) | |
parent | 1f6ff2dd2617bb9c6adaf5151f9b05578d9b1e8f (diff) |
Merge "Add mark-guest-for-deletion to PackageManagerShellCommand." into main
-rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerShellCommand.java | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java index 5cb480c0278f..2fb1ed1bbc57 100644 --- a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java +++ b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java @@ -319,6 +319,8 @@ class PackageManagerShellCommand extends ShellCommand { return runCreateUser(); case "remove-user": return runRemoveUser(); + case "mark-guest-for-deletion": + return runMarkGuestForDeletion(); case "rename-user": return runRenameUser(); case "set-user-restriction": @@ -3203,6 +3205,24 @@ class PackageManagerShellCommand extends ShellCommand { } } + private int runMarkGuestForDeletion() throws RemoteException { + String arg = getNextArg(); + if (arg == null) { + getErrPrintWriter().println("Error: no user id specified."); + return 1; + } + int userId = resolveUserId(UserHandle.parseUserArg(arg)); + + IUserManager um = IUserManager.Stub.asInterface( + ServiceManager.getService(Context.USER_SERVICE)); + if (!um.markGuestForDeletion(userId)) { + getErrPrintWriter().println("Error: could not mark guest for deletion"); + return 1; + } + + return 0; + } + private int runRenameUser() throws RemoteException { String arg = getNextArg(); if (arg == null) { @@ -4516,6 +4536,11 @@ class PackageManagerShellCommand extends ShellCommand { pw.println(" switch or reboot)"); pw.println(" --wait: Wait until user is removed. Ignored if set-ephemeral-if-in-use"); pw.println(""); + pw.println(" mark-guest-for-deletion USER_ID"); + pw.println(" Mark the guest user for deletion. After this, it is possible to create a"); + pw.println(" new guest user and switch to it. This allows resetting the guest user"); + pw.println(" without switching to another user."); + pw.println(""); pw.println(" rename-user USER_ID [USER_NAME]"); pw.println(" Rename USER_ID with USER_NAME (or null when [USER_NAME] is not set)"); pw.println(""); |