Revert "Disable multiuser toggle when more than 1 user is created"
Revert submission 24420426-multi_toggle Reason for revert: This change needs to be done along with some other UI changes to avoid confusion Reverted changes: /q/submissionid:24420426-multi_toggle Change-Id: Ife2e03d0090fefcb4c1fa53dd007336759eb1bc7
This commit is contained in:
committed by
Android (Google) Code Review
parent
7968047fc5
commit
8489ae99dc
@@ -46,18 +46,13 @@ public class MultiUserSwitchBarController implements SwitchWidgetController.OnSw
|
|||||||
|
|
||||||
|
|
||||||
MultiUserSwitchBarController(Context context, SwitchWidgetController switchBar,
|
MultiUserSwitchBarController(Context context, SwitchWidgetController switchBar,
|
||||||
boolean canUserSwitchToggle, OnMultiUserSwitchChangedListener listener) {
|
OnMultiUserSwitchChangedListener listener) {
|
||||||
mContext = context;
|
mContext = context;
|
||||||
mSwitchBar = switchBar;
|
mSwitchBar = switchBar;
|
||||||
mListener = listener;
|
mListener = listener;
|
||||||
mUserCapabilities = UserCapabilities.create(context);
|
mUserCapabilities = UserCapabilities.create(context);
|
||||||
mSwitchBar.setChecked(mUserCapabilities.mUserSwitcherEnabled);
|
mSwitchBar.setChecked(mUserCapabilities.mUserSwitcherEnabled);
|
||||||
|
|
||||||
setToggleEnabled(canUserSwitchToggle);
|
|
||||||
mSwitchBar.setListener(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
void setToggleEnabled(boolean canUserSwitchToggle) {
|
|
||||||
if (mUserCapabilities.mDisallowSwitchUser) {
|
if (mUserCapabilities.mDisallowSwitchUser) {
|
||||||
mSwitchBar.setDisabledByAdmin(RestrictedLockUtilsInternal
|
mSwitchBar.setDisabledByAdmin(RestrictedLockUtilsInternal
|
||||||
.checkIfRestrictionEnforced(mContext, UserManager.DISALLOW_USER_SWITCH,
|
.checkIfRestrictionEnforced(mContext, UserManager.DISALLOW_USER_SWITCH,
|
||||||
@@ -69,8 +64,9 @@ public class MultiUserSwitchBarController implements SwitchWidgetController.OnSw
|
|||||||
UserHandle.myUserId()));
|
UserHandle.myUserId()));
|
||||||
} else {
|
} else {
|
||||||
mSwitchBar.setEnabled(!mUserCapabilities.mDisallowSwitchUser
|
mSwitchBar.setEnabled(!mUserCapabilities.mDisallowSwitchUser
|
||||||
&& !mUserCapabilities.mIsGuest && canUserSwitchToggle);
|
&& !mUserCapabilities.mIsGuest && mUserCapabilities.isAdmin());
|
||||||
}
|
}
|
||||||
|
mSwitchBar.setListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -290,9 +290,8 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
} else {
|
} else {
|
||||||
switchBar.hide();
|
switchBar.hide();
|
||||||
}
|
}
|
||||||
boolean isToggleEnabled = mUserManager.getFullUserCount() == 1;
|
|
||||||
mSwitchBarController = new MultiUserSwitchBarController(activity,
|
mSwitchBarController = new MultiUserSwitchBarController(activity,
|
||||||
new MainSwitchBarController(switchBar), isToggleEnabled, this /* listener */);
|
new MainSwitchBarController(switchBar), this /* listener */);
|
||||||
getSettingsLifecycle().addObserver(mSwitchBarController);
|
getSettingsLifecycle().addObserver(mSwitchBarController);
|
||||||
boolean openUserEditDialog = getIntent().getBooleanExtra(
|
boolean openUserEditDialog = getIntent().getBooleanExtra(
|
||||||
EXTRA_OPEN_DIALOG_USER_PROFILE_EDITOR, false);
|
EXTRA_OPEN_DIALOG_USER_PROFILE_EDITOR, false);
|
||||||
@@ -423,9 +422,6 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
mRemoveGuestOnExitPreferenceController.getPreferenceKey()));
|
mRemoveGuestOnExitPreferenceController.getPreferenceKey()));
|
||||||
if (mShouldUpdateUserList) {
|
if (mShouldUpdateUserList) {
|
||||||
updateUI();
|
updateUI();
|
||||||
// Update state of "Allow multiple users" toggle when list of users updates
|
|
||||||
boolean isToggleEnabled = mUserManager.getFullUserCount() == 1;
|
|
||||||
mSwitchBarController.setToggleEnabled(isToggleEnabled);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -65,7 +65,7 @@ public class MultiUserSwitchBarControllerTest {
|
|||||||
UserManager.DISALLOW_USER_SWITCH, true);
|
UserManager.DISALLOW_USER_SWITCH, true);
|
||||||
|
|
||||||
final MultiUserSwitchBarController controller = new MultiUserSwitchBarController(mContext,
|
final MultiUserSwitchBarController controller = new MultiUserSwitchBarController(mContext,
|
||||||
mSwitchBarController, true, null);
|
mSwitchBarController, null);
|
||||||
|
|
||||||
verify(mSwitchBarController).setDisabledByAdmin(any());
|
verify(mSwitchBarController).setDisabledByAdmin(any());
|
||||||
}
|
}
|
||||||
@@ -76,32 +76,8 @@ public class MultiUserSwitchBarControllerTest {
|
|||||||
UserManager.DISALLOW_USER_SWITCH, false);
|
UserManager.DISALLOW_USER_SWITCH, false);
|
||||||
|
|
||||||
final MultiUserSwitchBarController controller = new MultiUserSwitchBarController(mContext,
|
final MultiUserSwitchBarController controller = new MultiUserSwitchBarController(mContext,
|
||||||
mSwitchBarController, true, null);
|
mSwitchBarController, null);
|
||||||
|
|
||||||
verify(mSwitchBarController, never()).setDisabledByAdmin(any());
|
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user