Loading src/com/android/settings/users/AddUserWhenLockedPreferenceController.java +7 −3 Original line number Diff line number Diff line Loading @@ -38,10 +38,14 @@ public class AddUserWhenLockedPreferenceController extends TogglePreferenceContr mUserCaps.updateAddUserCapabilities(mContext); final RestrictedSwitchPreference restrictedSwitchPreference = (RestrictedSwitchPreference) preference; if (!isAvailable()) { restrictedSwitchPreference.setVisible(false); } else { restrictedSwitchPreference.setDisabledByAdmin( mUserCaps.disallowAddUser() ? mUserCaps.getEnforcedAdmin() : null); restrictedSwitchPreference.setVisible(mUserCaps.mUserSwitcherEnabled); } } @Override public int getAvailabilityStatus() { Loading src/com/android/settings/users/UserSettings.java +2 −4 Original line number Diff line number Diff line Loading @@ -289,10 +289,8 @@ public class UserSettings extends SettingsPreferenceFragment } final PreferenceScreen screen = getPreferenceScreen(); if (mAddUserWhenLockedPreferenceController.isAvailable()) { mAddUserWhenLockedPreferenceController.updateState(screen.findPreference( mAddUserWhenLockedPreferenceController.getPreferenceKey())); } if (mShouldUpdateUserList) { updateUI(); Loading tests/robotests/src/com/android/settings/users/AddUserWhenLockedPreferenceControllerTest.java +31 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import androidx.preference.PreferenceScreen; import com.android.settings.testutils.shadow.ShadowUserManager; import com.android.settingslib.RestrictedSwitchPreference; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; Loading Loading @@ -57,6 +58,12 @@ public class AddUserWhenLockedPreferenceControllerTest { mContext = RuntimeEnvironment.application; mUserManager = ShadowUserManager.getShadow(); mController = new AddUserWhenLockedPreferenceController(mContext, "fake_key"); mUserManager.setSupportsMultipleUsers(true); } @After public void tearDown() { ShadowUserManager.reset(); } @Test Loading @@ -71,6 +78,30 @@ public class AddUserWhenLockedPreferenceControllerTest { verify(preference).setVisible(false); } @Test public void updateState_NotAdmin_shouldNotDisplayPreference() { mUserManager.setIsAdminUser(false); final RestrictedSwitchPreference preference = mock(RestrictedSwitchPreference.class); mController.updateState(preference); verify(preference).setVisible(false); } @Test public void updateState_Admin_shouldDisplayPreference() { mUserManager.setIsAdminUser(true); mUserManager.setUserSwitcherEnabled(true); mUserManager.setSupportsMultipleUsers(true); final AddUserWhenLockedPreferenceController controller = new AddUserWhenLockedPreferenceController(mContext, "fake_key"); final RestrictedSwitchPreference preference = mock(RestrictedSwitchPreference.class); controller.updateState(preference); verify(preference).setVisible(true); } @Test public void updateState_preferenceSetCheckedWhenSettingIsOn() { final RestrictedSwitchPreference preference = mock(RestrictedSwitchPreference.class); Loading Loading
src/com/android/settings/users/AddUserWhenLockedPreferenceController.java +7 −3 Original line number Diff line number Diff line Loading @@ -38,10 +38,14 @@ public class AddUserWhenLockedPreferenceController extends TogglePreferenceContr mUserCaps.updateAddUserCapabilities(mContext); final RestrictedSwitchPreference restrictedSwitchPreference = (RestrictedSwitchPreference) preference; if (!isAvailable()) { restrictedSwitchPreference.setVisible(false); } else { restrictedSwitchPreference.setDisabledByAdmin( mUserCaps.disallowAddUser() ? mUserCaps.getEnforcedAdmin() : null); restrictedSwitchPreference.setVisible(mUserCaps.mUserSwitcherEnabled); } } @Override public int getAvailabilityStatus() { Loading
src/com/android/settings/users/UserSettings.java +2 −4 Original line number Diff line number Diff line Loading @@ -289,10 +289,8 @@ public class UserSettings extends SettingsPreferenceFragment } final PreferenceScreen screen = getPreferenceScreen(); if (mAddUserWhenLockedPreferenceController.isAvailable()) { mAddUserWhenLockedPreferenceController.updateState(screen.findPreference( mAddUserWhenLockedPreferenceController.getPreferenceKey())); } if (mShouldUpdateUserList) { updateUI(); Loading
tests/robotests/src/com/android/settings/users/AddUserWhenLockedPreferenceControllerTest.java +31 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import androidx.preference.PreferenceScreen; import com.android.settings.testutils.shadow.ShadowUserManager; import com.android.settingslib.RestrictedSwitchPreference; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; Loading Loading @@ -57,6 +58,12 @@ public class AddUserWhenLockedPreferenceControllerTest { mContext = RuntimeEnvironment.application; mUserManager = ShadowUserManager.getShadow(); mController = new AddUserWhenLockedPreferenceController(mContext, "fake_key"); mUserManager.setSupportsMultipleUsers(true); } @After public void tearDown() { ShadowUserManager.reset(); } @Test Loading @@ -71,6 +78,30 @@ public class AddUserWhenLockedPreferenceControllerTest { verify(preference).setVisible(false); } @Test public void updateState_NotAdmin_shouldNotDisplayPreference() { mUserManager.setIsAdminUser(false); final RestrictedSwitchPreference preference = mock(RestrictedSwitchPreference.class); mController.updateState(preference); verify(preference).setVisible(false); } @Test public void updateState_Admin_shouldDisplayPreference() { mUserManager.setIsAdminUser(true); mUserManager.setUserSwitcherEnabled(true); mUserManager.setSupportsMultipleUsers(true); final AddUserWhenLockedPreferenceController controller = new AddUserWhenLockedPreferenceController(mContext, "fake_key"); final RestrictedSwitchPreference preference = mock(RestrictedSwitchPreference.class); controller.updateState(preference); verify(preference).setVisible(true); } @Test public void updateState_preferenceSetCheckedWhenSettingIsOn() { final RestrictedSwitchPreference preference = mock(RestrictedSwitchPreference.class); Loading