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,