diff options
author | Fyodor Kupolov <fkupolov@google.com> | 2015-12-01 15:19:40 -0800 |
---|---|---|
committer | Fyodor Kupolov <fkupolov@google.com> | 2015-12-02 16:29:05 -0800 |
commit | 9571b3365be9a44234d051341529bd7309a89282 (patch) | |
tree | 5139ccba2aa0138e389741034df7a5b13146d917 | |
parent | 6449a9567ac204e0c9be71a7f983a753d8061220 (diff) |
Allow current user in settings command
settings command now accepts current user as an argument.
Bug: 25950700
Change-Id: Ia0cee8e956efe7bc341d87e5a7c7ec57678313bc
-rw-r--r-- | cmds/settings/src/com/android/commands/settings/SettingsCmd.java | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/cmds/settings/src/com/android/commands/settings/SettingsCmd.java b/cmds/settings/src/com/android/commands/settings/SettingsCmd.java index 726167e07b42..e63a1f58f8fc 100644 --- a/cmds/settings/src/com/android/commands/settings/SettingsCmd.java +++ b/cmds/settings/src/com/android/commands/settings/SettingsCmd.java @@ -76,7 +76,12 @@ public final class SettingsCmd { // --user specified more than once; invalid break; } - mUser = Integer.parseInt(nextArg()); + arg = nextArg(); + if ("current".equals(arg) || "cur".equals(arg)) { + mUser = UserHandle.USER_CURRENT; + } else { + mUser = Integer.parseInt(arg); + } } else if (mVerb == CommandVerb.UNSPECIFIED) { if ("get".equalsIgnoreCase(arg)) { mVerb = CommandVerb.GET; @@ -129,12 +134,14 @@ public final class SettingsCmd { } if (valid) { - if (mUser < 0) { - mUser = UserHandle.USER_SYSTEM; - } - try { IActivityManager activityManager = ActivityManagerNative.getDefault(); + if (mUser == UserHandle.USER_CURRENT) { + mUser = activityManager.getCurrentUser().id; + } + if (mUser < 0) { + mUser = UserHandle.USER_SYSTEM; + } IContentProvider provider = null; IBinder token = new Binder(); try { @@ -286,13 +293,13 @@ public final class SettingsCmd { } private static void printUsage() { - System.err.println("usage: settings [--user NUM] get namespace key"); - System.err.println(" settings [--user NUM] put namespace key value"); - System.err.println(" settings [--user NUM] delete namespace key"); - System.err.println(" settings [--user NUM] list namespace"); + System.err.println("usage: settings [--user <USER_ID> | current] get namespace key"); + System.err.println(" settings [--user <USER_ID> | current] put namespace key value"); + System.err.println(" settings [--user <USER_ID> | current] delete namespace key"); + System.err.println(" settings [--user <USER_ID> | current] list namespace"); System.err.println("\n'namespace' is one of {system, secure, global}, case-insensitive"); - System.err.println("If '--user NUM' is not given, the operations are performed on the " - + "system user."); + System.err.println("If '--user <USER_ID> | current' is not given, the operations are " + + "performed on the system user."); } public static String resolveCallingPackage() { |