diff options
| author | 2024-11-20 22:40:14 +0100 | |
|---|---|---|
| committer | 2024-11-21 17:41:21 +0000 | |
| commit | 38a849182c8c7072f6773980de820d3890806fa5 (patch) | |
| tree | 7c28021cbad2a508ce6f37d0814a8264e28010fe | |
| parent | 08efab933e435bb20b2edc09e8ca7dfea74e67df (diff) | |
Add configuration parameters to control user switcher behavior
Adds two new configuration parameters. One is used to control
automatic enabling of user switcher setting upon user creation,
and second one controls if users (e.g. owner/admin) are allowed
to manually change the user switcher setting though UI.
Bug: 375394047
Test: atest UserManagerServiceTest
Test: create user, check value of user_switcher_enabled via ADB
Flag: EXEMPT Desktop-only change
Change-Id: Iafcadcb5bed5dd924402cd54a6d468aaa78f8cfd
| -rw-r--r-- | core/res/res/values/config.xml | 6 | ||||
| -rw-r--r-- | core/res/res/values/symbols.xml | 2 | ||||
| -rw-r--r-- | services/core/java/com/android/server/pm/UserManagerService.java | 7 |
3 files changed, 13 insertions, 2 deletions
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 5088b5af4725..4c29a5578de4 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -5996,6 +5996,12 @@ <!-- If true, show multiuser switcher by default unless the user specifically disables it. --> <bool name="config_showUserSwitcherByDefault">false</bool> + <!-- If true, user can change state of multiuser switcher. --> + <bool name="config_allowChangeUserSwitcherEnabled">true</bool> + + <!-- If true, multiuser switcher would be automatically enabled when second user is created on the device. --> + <bool name="config_enableUserSwitcherUponUserCreation">true</bool> + <!-- Set to true to make assistant show in front of the dream/screensaver. --> <bool name="config_assistantOnTopOfDream">false</bool> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index f22bcfc2fd47..bebb5a92eec0 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -4690,6 +4690,8 @@ <!-- If true, show multiuser switcher by default unless the user specifically disables it. --> <java-symbol type="bool" name="config_showUserSwitcherByDefault" /> + <java-symbol type="bool" name="config_allowChangeUserSwitcherEnabled" /> + <java-symbol type="bool" name="config_enableUserSwitcherUponUserCreation" /> <!-- Set to true to make assistant show in front of the dream/screensaver. --> <java-symbol type="bool" name="config_assistantOnTopOfDream"/> diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java index b2b8aaf7dd2a..066fce068d61 100644 --- a/services/core/java/com/android/server/pm/UserManagerService.java +++ b/services/core/java/com/android/server/pm/UserManagerService.java @@ -6122,8 +6122,11 @@ public class UserManagerService extends IUserManager.Stub { // If the user switch hasn't been explicitly toggled on or off by the user, turn it on. if (android.provider.Settings.Global.getString(mContext.getContentResolver(), android.provider.Settings.Global.USER_SWITCHER_ENABLED) == null) { - android.provider.Settings.Global.putInt(mContext.getContentResolver(), - android.provider.Settings.Global.USER_SWITCHER_ENABLED, 1); + if (Resources.getSystem().getBoolean( + com.android.internal.R.bool.config_enableUserSwitcherUponUserCreation)) { + android.provider.Settings.Global.putInt(mContext.getContentResolver(), + android.provider.Settings.Global.USER_SWITCHER_ENABLED, 1); + } } } } |