diff options
| author | 2018-11-20 11:03:59 -0800 | |
|---|---|---|
| committer | 2018-12-08 06:28:51 +0000 | |
| commit | 1698e02b6c60d58bf67c61936b19e1761f07c122 (patch) | |
| tree | ec1791d6bb78d12bed0a835e15bceb9a9eda979b | |
| parent | 0f856197b5276fdfd34653ce0d78dca9d08d8880 (diff) | |
Default settings user to current.
bug: 119821127
Test: Switch User 10, put setting, Switch user 0, get setting.
Change-Id: Ie060155166b919f5e9df0fc488d16556e0b55208
| -rw-r--r-- | packages/SettingsProvider/src/com/android/providers/settings/SettingsService.java | 21 |
1 files 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 13537c466eed..0709c6cd56e0 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); |