Remove "Add users from lock screen" from secondary users
Fixes: 124885010 Test: Robolectric, manual Change-Id: I1c940fda2fa5f3da39c19bd119ac483024f5a83b
This commit is contained in:
@@ -38,9 +38,13 @@ public class AddUserWhenLockedPreferenceController extends TogglePreferenceContr
|
||||
mUserCaps.updateAddUserCapabilities(mContext);
|
||||
final RestrictedSwitchPreference restrictedSwitchPreference =
|
||||
(RestrictedSwitchPreference) preference;
|
||||
restrictedSwitchPreference.setDisabledByAdmin(
|
||||
mUserCaps.disallowAddUser() ? mUserCaps.getEnforcedAdmin() : null);
|
||||
restrictedSwitchPreference.setVisible(mUserCaps.mUserSwitcherEnabled);
|
||||
if (!isAvailable()) {
|
||||
restrictedSwitchPreference.setVisible(false);
|
||||
} else {
|
||||
restrictedSwitchPreference.setDisabledByAdmin(
|
||||
mUserCaps.disallowAddUser() ? mUserCaps.getEnforcedAdmin() : null);
|
||||
restrictedSwitchPreference.setVisible(mUserCaps.mUserSwitcherEnabled);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -289,10 +289,8 @@ public class UserSettings extends SettingsPreferenceFragment
|
||||
}
|
||||
final PreferenceScreen screen = getPreferenceScreen();
|
||||
|
||||
if (mAddUserWhenLockedPreferenceController.isAvailable()) {
|
||||
mAddUserWhenLockedPreferenceController.updateState(screen.findPreference(
|
||||
mAddUserWhenLockedPreferenceController.getPreferenceKey()));
|
||||
}
|
||||
mAddUserWhenLockedPreferenceController.updateState(screen.findPreference(
|
||||
mAddUserWhenLockedPreferenceController.getPreferenceKey()));
|
||||
|
||||
if (mShouldUpdateUserList) {
|
||||
updateUI();
|
||||
|
@@ -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;
|
||||
@@ -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
|
||||
@@ -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);
|
||||
|
Reference in New Issue
Block a user