From 1698e02b6c60d58bf67c61936b19e1761f07c122 Mon Sep 17 00:00:00 2001 From: Nicholas Sauer Date: Tue, 20 Nov 2018 11:03:59 -0800 Subject: [PATCH] Default settings user to current. bug: 119821127 Test: Switch User 10, put setting, Switch user 0, get setting. Change-Id: Ie060155166b919f5e9df0fc488d16556e0b55208 --- .../providers/settings/SettingsService.java | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsService.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsService.java index 13537c466eed6..0709c6cd56e08 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsService.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsService.java @@ -105,7 +105,7 @@ final public class SettingsService extends Binder { RESET, } - int mUser = -1; // unspecified + int mUser = UserHandle.USER_NULL; CommandVerb mVerb = CommandVerb.UNSPECIFIED; String mTable = null; String mKey = null; @@ -132,15 +132,15 @@ final public class SettingsService extends Binder { String arg = cmd; do { if ("--user".equals(arg)) { - if (mUser != -1) { - // --user specified more than once; invalid + if (mUser != UserHandle.USER_NULL) { + perr.println("Invalid user: --user specified more than once"); break; } - arg = getNextArgRequired(); - if ("current".equals(arg) || "cur".equals(arg)) { - mUser = UserHandle.USER_CURRENT; - } else { - mUser = Integer.parseInt(arg); + mUser = UserHandle.parseUserArg(getNextArgRequired()); + + if (mUser == UserHandle.USER_ALL) { + perr.println("Invalid user: all"); + return -1; } } else if (mVerb == CommandVerb.UNSPECIFIED) { if ("get".equalsIgnoreCase(arg)) { @@ -254,16 +254,13 @@ final public class SettingsService extends Binder { return -1; } - if (mUser == UserHandle.USER_CURRENT) { + if (mUser == UserHandle.USER_NULL || mUser == UserHandle.USER_CURRENT) { try { mUser = ActivityManager.getService().getCurrentUser().id; } catch (RemoteException e) { throw new RuntimeException("Failed in IPC", e); } } - if (mUser < 0) { - mUser = UserHandle.USER_SYSTEM; - } UserManager userManager = UserManager.get(mProvider.getContext()); if (userManager.getUserInfo(mUser) == null) { perr.println("Invalid user: " + mUser);