From fa3eea59e807ad2ed110e387f9257130aa9b4458 Mon Sep 17 00:00:00 2001 From: Amith Yamasani Date: Wed, 28 Mar 2012 10:25:08 -0700 Subject: [PATCH] Only enable multi-user settings if a secure settings flag is set Use a secure settings key of "multiuser_enabled" that can be set to "1" to enable the multiuser panel in Settings. Change-Id: I37d96f6055bc7f87ef271ebdc58f16e7dcecca7b --- src/com/android/settings/Settings.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java index 7e4e725a39d..3513dcc339e 100644 --- a/src/com/android/settings/Settings.java +++ b/src/com/android/settings/Settings.java @@ -89,6 +89,8 @@ public class Settings extends PreferenceActivity implements ButtonBarHandler { R.id.about_settings }; + private boolean mEnableUserManagement = false; + // TODO: Update Call Settings based on airplane mode state. protected HashMap mHeaderIndexMap = new HashMap(); @@ -100,6 +102,11 @@ public class Settings extends PreferenceActivity implements ButtonBarHandler { getWindow().setUiOptions(0); } + if (android.provider.Settings.Secure.getInt(getContentResolver(), "multiuser_enabled", -1) + > 0) { + mEnableUserManagement = true; + } + getMetaData(); mInLocalHeaderSwitch = true; super.onCreate(savedInstanceState); @@ -351,7 +358,8 @@ public class Settings extends PreferenceActivity implements ButtonBarHandler { target.remove(header); } } else if (id == R.id.user_settings) { - if (!UserId.MU_ENABLED || UserId.myUserId() != 0 + if (!mEnableUserManagement + || !UserId.MU_ENABLED || UserId.myUserId() != 0 || !getResources().getBoolean(R.bool.enable_user_management) || Utils.isMonkeyRunning()) { target.remove(header);