diff --git a/src/com/android/settings/users/MultiUserSwitchBarController.java b/src/com/android/settings/users/MultiUserSwitchBarController.java index 3697bb036cd..33651c31fc4 100644 --- a/src/com/android/settings/users/MultiUserSwitchBarController.java +++ b/src/com/android/settings/users/MultiUserSwitchBarController.java @@ -46,18 +46,13 @@ public class MultiUserSwitchBarController implements SwitchWidgetController.OnSw MultiUserSwitchBarController(Context context, SwitchWidgetController switchBar, - boolean canUserSwitchToggle, OnMultiUserSwitchChangedListener listener) { + OnMultiUserSwitchChangedListener listener) { mContext = context; mSwitchBar = switchBar; mListener = listener; mUserCapabilities = UserCapabilities.create(context); mSwitchBar.setChecked(mUserCapabilities.mUserSwitcherEnabled); - setToggleEnabled(canUserSwitchToggle); - mSwitchBar.setListener(this); - } - - void setToggleEnabled(boolean canUserSwitchToggle) { if (mUserCapabilities.mDisallowSwitchUser) { mSwitchBar.setDisabledByAdmin(RestrictedLockUtilsInternal .checkIfRestrictionEnforced(mContext, UserManager.DISALLOW_USER_SWITCH, @@ -69,8 +64,9 @@ public class MultiUserSwitchBarController implements SwitchWidgetController.OnSw UserHandle.myUserId())); } else { mSwitchBar.setEnabled(!mUserCapabilities.mDisallowSwitchUser - && !mUserCapabilities.mIsGuest && canUserSwitchToggle); + && !mUserCapabilities.mIsGuest && mUserCapabilities.isAdmin()); } + mSwitchBar.setListener(this); } @Override diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java index c63517de447..64699ffa238 100644 --- a/src/com/android/settings/users/UserSettings.java +++ b/src/com/android/settings/users/UserSettings.java @@ -290,9 +290,8 @@ public class UserSettings extends SettingsPreferenceFragment } else { switchBar.hide(); } - boolean isToggleEnabled = mUserManager.getFullUserCount() == 1; mSwitchBarController = new MultiUserSwitchBarController(activity, - new MainSwitchBarController(switchBar), isToggleEnabled, this /* listener */); + new MainSwitchBarController(switchBar), this /* listener */); getSettingsLifecycle().addObserver(mSwitchBarController); boolean openUserEditDialog = getIntent().getBooleanExtra( EXTRA_OPEN_DIALOG_USER_PROFILE_EDITOR, false); @@ -423,9 +422,6 @@ public class UserSettings extends SettingsPreferenceFragment mRemoveGuestOnExitPreferenceController.getPreferenceKey())); if (mShouldUpdateUserList) { updateUI(); - // Update state of "Allow multiple users" toggle when list of users updates - boolean isToggleEnabled = mUserManager.getFullUserCount() == 1; - mSwitchBarController.setToggleEnabled(isToggleEnabled); } } diff --git a/tests/robotests/src/com/android/settings/users/MultiUserSwitchBarControllerTest.java b/tests/robotests/src/com/android/settings/users/MultiUserSwitchBarControllerTest.java index 89319c4dbc9..718e01bebe0 100644 --- a/tests/robotests/src/com/android/settings/users/MultiUserSwitchBarControllerTest.java +++ b/tests/robotests/src/com/android/settings/users/MultiUserSwitchBarControllerTest.java @@ -65,7 +65,7 @@ public class MultiUserSwitchBarControllerTest { UserManager.DISALLOW_USER_SWITCH, true); final MultiUserSwitchBarController controller = new MultiUserSwitchBarController(mContext, - mSwitchBarController, true, null); + mSwitchBarController, null); verify(mSwitchBarController).setDisabledByAdmin(any()); } @@ -76,32 +76,8 @@ public class MultiUserSwitchBarControllerTest { UserManager.DISALLOW_USER_SWITCH, false); final MultiUserSwitchBarController controller = new MultiUserSwitchBarController(mContext, - mSwitchBarController, true, null); + mSwitchBarController, null); verify(mSwitchBarController, never()).setDisabledByAdmin(any()); } - - @Test - public void onStart_allowUserSwitch_setDisabledAfterInitialization_shouldBeDisabled() { - mUserManager.setUserRestriction(UserHandle.of(UserHandle.myUserId()), - UserManager.DISALLOW_USER_SWITCH, false); - - final MultiUserSwitchBarController controller = new MultiUserSwitchBarController(mContext, - mSwitchBarController, true, null); - verify(mSwitchBarController).setEnabled(true); - controller.setToggleEnabled(false); - verify(mSwitchBarController).setEnabled(false); - } - - @Test - public void onStart_allowUserSwitch_setEnabledAfterInitialization_shouldBeEnabled() { - mUserManager.setUserRestriction(UserHandle.of(UserHandle.myUserId()), - UserManager.DISALLOW_USER_SWITCH, false); - - final MultiUserSwitchBarController controller = new MultiUserSwitchBarController(mContext, - mSwitchBarController, false, null); - verify(mSwitchBarController).setEnabled(false); - controller.setToggleEnabled(true); - verify(mSwitchBarController).setEnabled(true); - } }