diff options
author | 2025-02-10 03:39:22 -0800 | |
---|---|---|
committer | 2025-02-10 03:39:22 -0800 | |
commit | 0e80140e36efa9ab7d152f187c5d1352d9c9ef0c (patch) | |
tree | ac59e956ff881a01765e8fe97e54fbc64ddbcc90 | |
parent | 74b083adfbcaa7d5c8d2df6512e8cad550b65707 (diff) | |
parent | c93afac37ab8dc06a2e413c254972934f05997e8 (diff) |
Merge "Fixed bmgr so it supports --user cur" into main
-rw-r--r-- | cmds/bmgr/src/com/android/commands/bmgr/Bmgr.java | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/cmds/bmgr/src/com/android/commands/bmgr/Bmgr.java b/cmds/bmgr/src/com/android/commands/bmgr/Bmgr.java index 6310d32515c5..696bc82a9ffc 100644 --- a/cmds/bmgr/src/com/android/commands/bmgr/Bmgr.java +++ b/cmds/bmgr/src/com/android/commands/bmgr/Bmgr.java @@ -18,6 +18,7 @@ package com.android.commands.bmgr; import android.annotation.IntDef; import android.annotation.UserIdInt; +import android.app.ActivityManager; import android.app.backup.BackupManager; import android.app.backup.BackupManagerMonitor; import android.app.backup.BackupProgress; @@ -73,6 +74,8 @@ public class Bmgr { "Error: Could not access the backup transport. Is the system running?"; private static final String PM_NOT_RUNNING_ERR = "Error: Could not access the Package Manager. Is the system running?"; + private static final String INVALID_USER_ID_ERR_TEMPLATE = + "Error: Invalid user id (%d).\n"; private String[] mArgs; private int mNextArg; @@ -104,6 +107,11 @@ public class Bmgr { mArgs = args; mNextArg = 0; int userId = parseUserId(); + if (userId < 0) { + System.err.printf(INVALID_USER_ID_ERR_TEMPLATE, userId); + return; + } + String op = nextArg(); Slog.v(TAG, "Running " + op + " for user:" + userId); @@ -955,12 +963,15 @@ public class Bmgr { private int parseUserId() { String arg = nextArg(); - if ("--user".equals(arg)) { - return UserHandle.parseUserArg(nextArg()); - } else { + if (!"--user".equals(arg)) { mNextArg--; return UserHandle.USER_SYSTEM; } + int userId = UserHandle.parseUserArg(nextArg()); + if (userId == UserHandle.USER_CURRENT) { + userId = ActivityManager.getCurrentUser(); + } + return userId; } private static void showUsage() { |