Merge "Do not show AddUser if adding user is not allowed."

This commit is contained in:
TreeHugger Robot
2018-09-08 01:22:46 +00:00
committed by Android (Google) Code Review
2 changed files with 29 additions and 1 deletions

View File

@@ -964,9 +964,9 @@ public class UserSettings extends SettingsPreferenceFragment
mAddUserWhenLockedPreferenceController.getPreferenceKey()); mAddUserWhenLockedPreferenceController.getPreferenceKey());
mAddUserWhenLockedPreferenceController.updateState(addUserOnLockScreen); mAddUserWhenLockedPreferenceController.updateState(addUserOnLockScreen);
mMultiUserFooterPreferenceController.updateState(null /* preference */); mMultiUserFooterPreferenceController.updateState(null /* preference */);
mAddUser.setVisible(mUserCaps.mUserSwitcherEnabled);
mUserListCategory.setVisible(mUserCaps.mUserSwitcherEnabled); mUserListCategory.setVisible(mUserCaps.mUserSwitcherEnabled);
if (!mUserCaps.mUserSwitcherEnabled) { if (!mUserCaps.mUserSwitcherEnabled) {
mAddUser.setVisible(false);
return; return;
} }

View File

@@ -21,6 +21,7 @@ import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.anyInt; import static org.mockito.Matchers.anyInt;
import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy; import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
@@ -184,4 +185,31 @@ public class UserSettingsTest {
assertThat(addUser.isEnabled()).isFalse(); 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);
}
} }