Remove "Add users from lock screen" from secondary users
Fixes: 124885010 Test: Robolectric, manual Change-Id: I1c940fda2fa5f3da39c19bd119ac483024f5a83b
This commit is contained in:
@@ -38,10 +38,14 @@ public class AddUserWhenLockedPreferenceController extends TogglePreferenceContr
|
|||||||
mUserCaps.updateAddUserCapabilities(mContext);
|
mUserCaps.updateAddUserCapabilities(mContext);
|
||||||
final RestrictedSwitchPreference restrictedSwitchPreference =
|
final RestrictedSwitchPreference restrictedSwitchPreference =
|
||||||
(RestrictedSwitchPreference) preference;
|
(RestrictedSwitchPreference) preference;
|
||||||
|
if (!isAvailable()) {
|
||||||
|
restrictedSwitchPreference.setVisible(false);
|
||||||
|
} else {
|
||||||
restrictedSwitchPreference.setDisabledByAdmin(
|
restrictedSwitchPreference.setDisabledByAdmin(
|
||||||
mUserCaps.disallowAddUser() ? mUserCaps.getEnforcedAdmin() : null);
|
mUserCaps.disallowAddUser() ? mUserCaps.getEnforcedAdmin() : null);
|
||||||
restrictedSwitchPreference.setVisible(mUserCaps.mUserSwitcherEnabled);
|
restrictedSwitchPreference.setVisible(mUserCaps.mUserSwitcherEnabled);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getAvailabilityStatus() {
|
public int getAvailabilityStatus() {
|
||||||
|
@@ -289,10 +289,8 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
}
|
}
|
||||||
final PreferenceScreen screen = getPreferenceScreen();
|
final PreferenceScreen screen = getPreferenceScreen();
|
||||||
|
|
||||||
if (mAddUserWhenLockedPreferenceController.isAvailable()) {
|
|
||||||
mAddUserWhenLockedPreferenceController.updateState(screen.findPreference(
|
mAddUserWhenLockedPreferenceController.updateState(screen.findPreference(
|
||||||
mAddUserWhenLockedPreferenceController.getPreferenceKey()));
|
mAddUserWhenLockedPreferenceController.getPreferenceKey()));
|
||||||
}
|
|
||||||
|
|
||||||
if (mShouldUpdateUserList) {
|
if (mShouldUpdateUserList) {
|
||||||
updateUI();
|
updateUI();
|
||||||
|
@@ -30,6 +30,7 @@ import androidx.preference.PreferenceScreen;
|
|||||||
import com.android.settings.testutils.shadow.ShadowUserManager;
|
import com.android.settings.testutils.shadow.ShadowUserManager;
|
||||||
import com.android.settingslib.RestrictedSwitchPreference;
|
import com.android.settingslib.RestrictedSwitchPreference;
|
||||||
|
|
||||||
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
@@ -57,6 +58,12 @@ public class AddUserWhenLockedPreferenceControllerTest {
|
|||||||
mContext = RuntimeEnvironment.application;
|
mContext = RuntimeEnvironment.application;
|
||||||
mUserManager = ShadowUserManager.getShadow();
|
mUserManager = ShadowUserManager.getShadow();
|
||||||
mController = new AddUserWhenLockedPreferenceController(mContext, "fake_key");
|
mController = new AddUserWhenLockedPreferenceController(mContext, "fake_key");
|
||||||
|
mUserManager.setSupportsMultipleUsers(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@After
|
||||||
|
public void tearDown() {
|
||||||
|
ShadowUserManager.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -71,6 +78,30 @@ public class AddUserWhenLockedPreferenceControllerTest {
|
|||||||
verify(preference).setVisible(false);
|
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
|
@Test
|
||||||
public void updateState_preferenceSetCheckedWhenSettingIsOn() {
|
public void updateState_preferenceSetCheckedWhenSettingIsOn() {
|
||||||
final RestrictedSwitchPreference preference = mock(RestrictedSwitchPreference.class);
|
final RestrictedSwitchPreference preference = mock(RestrictedSwitchPreference.class);
|
||||||
|
Reference in New Issue
Block a user