Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 39832ae3 authored by Raff Tsai's avatar Raff Tsai Committed by Android (Google) Code Review
Browse files

Merge "Remove "Add users from lock screen" from secondary users"

parents f574d22f b508184d
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -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() {
+2 −4
Original line number Diff line number Diff line
@@ -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();
+31 −0
Original line number Diff line number Diff line
@@ -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);