summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Denis Kuznetsov <antrim@google.com> 2024-11-20 22:40:14 +0100
committer Denis Kuznetsov <antrim@google.com> 2024-11-21 17:41:21 +0000
commit38a849182c8c7072f6773980de820d3890806fa5 (patch)
tree7c28021cbad2a508ce6f37d0814a8264e28010fe
parent08efab933e435bb20b2edc09e8ca7dfea74e67df (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.xml6
-rw-r--r--core/res/res/values/symbols.xml2
-rw-r--r--services/core/java/com/android/server/pm/UserManagerService.java7
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);
+ }
}
}
}