summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Yasin Kilicdere <tyk@google.com> 2023-07-17 15:47:02 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2023-07-17 15:47:02 +0000
commitbb9ee0797ee68e195e508236e95d867ceaa7cc95 (patch)
tree67c74f6fc69c7fc8558003d7d1b3ec7a1f73a61d
parent14916320401c8c189337582e8ad610c02d956b52 (diff)
parent1f6ff2dd2617bb9c6adaf5151f9b05578d9b1e8f (diff)
Merge "Add mark-guest-for-deletion to PackageManagerShellCommand." into main
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerShellCommand.java25
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("");