Add a setting to control multi-user feature on/off.
Bug: 72319180
Test: n/a
Change-Id: I0fd00e9c278de8ece530cacd43aaeae854002f14
diff --git a/core/java/android/os/UserManager.java b/core/java/android/os/UserManager.java
index bc3d870..7a214b1 100644
--- a/core/java/android/os/UserManager.java
+++ b/core/java/android/os/UserManager.java
@@ -2667,6 +2667,12 @@
if (isDeviceInDemoMode(mContext)) {
return false;
}
+ // If user disabled this feature, don't show switcher
+ final boolean userSwitcherEnabled = Settings.Global.getInt(mContext.getContentResolver(),
+ Settings.Global.USER_SWITCHER_ENABLED, 1) != 0;
+ if (!userSwitcherEnabled) {
+ return false;
+ }
List<UserInfo> users = getUsers(true);
if (users == null) {
return false;
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index 9e5efa1..34bb8867 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -9432,6 +9432,12 @@
public static final String USE_GOOGLE_MAIL = "use_google_mail";
/**
+ * Whether or not switching/creating users is enabled by user.
+ * @hide
+ */
+ public static final String USER_SWITCHER_ENABLED = "user_switcher_enabled";
+
+ /**
* Webview Data reduction proxy key.
* @hide
*/
diff --git a/core/tests/coretests/src/android/provider/SettingsBackupTest.java b/core/tests/coretests/src/android/provider/SettingsBackupTest.java
index 156a2c0..d111160 100644
--- a/core/tests/coretests/src/android/provider/SettingsBackupTest.java
+++ b/core/tests/coretests/src/android/provider/SettingsBackupTest.java
@@ -442,6 +442,7 @@
Settings.Global.ENABLE_GNSS_RAW_MEAS_FULL_TRACKING,
Settings.Global.INSTALL_CARRIER_APP_NOTIFICATION_PERSISTENT,
Settings.Global.INSTALL_CARRIER_APP_NOTIFICATION_SLEEP_MILLIS,
+ Settings.Global.USER_SWITCHER_ENABLED,
Settings.Global.NETWORK_ACCESS_TIMEOUT_MS,
Settings.Global.WARNING_TEMPERATURE,
Settings.Global.WEBVIEW_DATA_REDUCTION_PROXY_KEY,