Fix visibility of AddUser when toggling multiuser.
- when enabling multi user, also need to update the visibility of the Add user preference, but need to check the add user capability as well. Change-Id: Ia243901c7537bdb39ca3a39aed559b003f803e4d Fixes: 115397726 Test: make RunSettingsRoboTests
This commit is contained in:
@@ -964,9 +964,10 @@ public class UserSettings extends SettingsPreferenceFragment
|
||||
mAddUserWhenLockedPreferenceController.getPreferenceKey());
|
||||
mAddUserWhenLockedPreferenceController.updateState(addUserOnLockScreen);
|
||||
mMultiUserFooterPreferenceController.updateState(null /* preference */);
|
||||
mAddUser.setVisible(mUserCaps.mCanAddUser && Utils.isDeviceProvisioned(context)
|
||||
&& mUserCaps.mUserSwitcherEnabled);
|
||||
mUserListCategory.setVisible(mUserCaps.mUserSwitcherEnabled);
|
||||
if (!mUserCaps.mUserSwitcherEnabled) {
|
||||
mAddUser.setVisible(false);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -212,4 +212,31 @@ public class UserSettingsTest {
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateUserList_canAddUserAndSwitchUser_shouldShowAddUser() {
|
||||
Settings.Global.putInt(mContext.getContentResolver(),
|
||||
Settings.Global.DEVICE_PROVISIONED, 1);
|
||||
final RestrictedPreference addUser = mock(RestrictedPreference.class);
|
||||
|
||||
mUserCapabilities.mCanAddUser = true;
|
||||
mUserCapabilities.mDisallowAddUser = false;
|
||||
mUserCapabilities.mUserSwitcherEnabled = true;
|
||||
|
||||
ReflectionHelpers.setField(mFragment, "mUserManager", mUserManager);
|
||||
ReflectionHelpers.setField(mFragment, "mUserCaps", mUserCapabilities);
|
||||
ReflectionHelpers.setField(mFragment, "mDefaultIconDrawable", mDefaultIconDrawable);
|
||||
ReflectionHelpers.setField(mFragment, "mAddingUser", false);
|
||||
mFragment.mMePreference = mMePreference;
|
||||
mFragment.mUserListCategory = mock(PreferenceCategory.class);
|
||||
mFragment.mAddUser = addUser;
|
||||
|
||||
doReturn(mock(PreferenceScreen.class)).when(mFragment).getPreferenceScreen();
|
||||
doReturn("Test summary").when(mFragment).getString(anyInt(), anyInt());
|
||||
|
||||
mFragment.updateUserList();
|
||||
|
||||
verify(addUser).setVisible(true);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user