Do not show AddUser if adding user is not allowed.
- when multi user is enabled, we should keep the current visibility for AddUser preference, since earlier check has been done to update its visibility according to the add user capability. We should only set the visibility to false if multi user is disabled. Change-Id: I246e9242f255dbd57c5309b2d16c95d202607531 Fixes: 114241868 Test: make RunSettingsRoboTests
This commit is contained in:
@@ -964,9 +964,9 @@ public class UserSettings extends SettingsPreferenceFragment
|
||||
mAddUserWhenLockedPreferenceController.getPreferenceKey());
|
||||
mAddUserWhenLockedPreferenceController.updateState(addUserOnLockScreen);
|
||||
mMultiUserFooterPreferenceController.updateState(null /* preference */);
|
||||
mAddUser.setVisible(mUserCaps.mUserSwitcherEnabled);
|
||||
mUserListCategory.setVisible(mUserCaps.mUserSwitcherEnabled);
|
||||
if (!mUserCaps.mUserSwitcherEnabled) {
|
||||
mAddUser.setVisible(false);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -21,6 +21,7 @@ import static com.google.common.truth.Truth.assertThat;
|
||||
import static org.mockito.Matchers.anyInt;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
@@ -184,4 +185,31 @@ public class UserSettingsTest {
|
||||
|
||||
assertThat(addUser.isEnabled()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateUserList_cannotAddUserButCanSwitchUser_shouldNotShowAddUser() {
|
||||
Settings.Global.putInt(mContext.getContentResolver(),
|
||||
Settings.Global.DEVICE_PROVISIONED, 1);
|
||||
final RestrictedPreference addUser = mock(RestrictedPreference.class);
|
||||
|
||||
mUserCapabilities.mCanAddUser = false;
|
||||
mUserCapabilities.mDisallowAddUser = true;
|
||||
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();
|
||||
|
||||
mFragment.updateUserList();
|
||||
|
||||
verify(addUser, never()).setVisible(true);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user