diff options
author | 2025-02-07 18:19:30 -0800 | |
---|---|---|
committer | 2025-02-07 18:30:14 -0800 | |
commit | c93afac37ab8dc06a2e413c254972934f05997e8 (patch) | |
tree | c71b8350a071c61fbb7cd11f5801636303ef29b3 | |
parent | 8b634e944ce4fe028372eb0576b6029e175c5c35 (diff) |
Fixed bmgr so it supports --user cur
Test: adb shell bmgr --user cur activated
Test: adb shell bmgr --user current activated
Fixes: 393353657
Flag: EXEMPT changes on debugging components only
Change-Id: I0cb107cb7ab3fb24ecf8ce979bbd07ea7e97b4e2
-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() { |