Show user management UI if a managed profile exists
Show UI even if flags to show multiuser UI are off, if there's a
second user on the device. This way there's an affordance to remove
the user.
Don't show the "Add user" item though.
Bug: 15447068
Change-Id: I40273005d6d8d66aed486328615acdab71d51fa4
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index 6ba79cc..7dcdfbc 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -1043,8 +1043,12 @@
category.removeTile(n);
}
} else if (id == R.id.user_settings) {
+ boolean hasMultipleUsers =
+ ((UserManager) getSystemService(Context.USER_SERVICE))
+ .getUserCount() > 1;
if (!UserHandle.MU_ENABLED
- || !UserManager.supportsMultipleUsers()
+ || (!UserManager.supportsMultipleUsers()
+ && !hasMultipleUsers)
|| Utils.isMonkeyRunning()) {
category.removeTile(n);
}
diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java
index a05aaa9..901ee50 100644
--- a/src/com/android/settings/users/UserSettings.java
+++ b/src/com/android/settings/users/UserSettings.java
@@ -186,7 +186,9 @@
}
final Context context = getActivity();
mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
- if (!mUserManager.supportsMultipleUsers() || Utils.isMonkeyRunning()) {
+ boolean hasMultipleUsers = mUserManager.getUserCount() > 1;
+ if ((!UserManager.supportsMultipleUsers() && !hasMultipleUsers)
+ || Utils.isMonkeyRunning()) {
mEnabled = false;
return;
}
@@ -201,7 +203,8 @@
mMePreference.setSummary(R.string.user_owner);
}
mAddUser = findPreference(KEY_ADD_USER);
- if (!mIsOwner || UserManager.getMaxSupportedUsers() < 2) {
+ if (!mIsOwner || UserManager.getMaxSupportedUsers() < 2
+ || !UserManager.supportsMultipleUsers()) {
removePreference(KEY_ADD_USER);
} else {
mAddUser.setOnPreferenceClickListener(this);