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

Commit 9246bceb authored by Victor Truong's avatar Victor Truong Committed by Android (Google) Code Review
Browse files

Merge "Change screensaver option to be available to MainUser."

parents 87ee0400 f03a60c6
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -39,8 +39,9 @@ public class ScreenSaverPreferenceController extends BasePreferenceController im
                com.android.internal.R.bool.config_dreamsSupported);
        final boolean dreamsOnlyEnabledForDockUser = mContext.getResources().getBoolean(
                com.android.internal.R.bool.config_dreamsOnlyEnabledForDockUser);
        final UserManager userManager = mContext.getSystemService(UserManager.class);
        // TODO(b/257333623): Allow the Dock User to be non-SystemUser user in HSUM.
        return (dreamsSupported && (!dreamsOnlyEnabledForDockUser || isSystemUser()))
        return (dreamsSupported && (!dreamsOnlyEnabledForDockUser || userManager.isMainUser()))
                ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
    }

@@ -53,9 +54,4 @@ public class ScreenSaverPreferenceController extends BasePreferenceController im
            return DreamSettings.getSummaryTextWithDreamName(mContext);
        }
    }

    private boolean isSystemUser() {
        final UserManager userManager = mContext.getSystemService(UserManager.class);
        return userManager.isSystemUser();
    }
}
+10 −10
Original line number Diff line number Diff line
@@ -58,57 +58,57 @@ public class ScreenSaverPreferenceControllerTest {
    }

    @Test
    public void isAvailable_dreamsEnabledForAllUsers_shouldBeTrueForSystemUser() {
    public void isAvailable_dreamsEnabledForAllUsers_shouldBeTrueForMainUser() {
        when(mResources.getBoolean(
                com.android.internal.R.bool.config_dreamsSupported)).thenReturn(true);
        when(mResources.getBoolean(
                com.android.internal.R.bool.config_dreamsOnlyEnabledForDockUser))
                .thenReturn(false);
        when(mUserManager.isSystemUser()).thenReturn(true);
        when(mUserManager.isMainUser()).thenReturn(true);
        assertTrue(mController.isAvailable());
    }

    @Test
    public void isAvailable_dreamsEnabledForAllUsers_shouldBeTrueForNonSystemUser() {
    public void isAvailable_dreamsEnabledForAllUsers_shouldBeTrueForNonMainUser() {
        when(mResources.getBoolean(
                com.android.internal.R.bool.config_dreamsSupported)).thenReturn(true);
        when(mResources.getBoolean(
                com.android.internal.R.bool.config_dreamsOnlyEnabledForDockUser))
                .thenReturn(false);
        when(mUserManager.isSystemUser()).thenReturn(false);
        when(mUserManager.isMainUser()).thenReturn(false);
        assertTrue(mController.isAvailable());
    }

    @Test
    public void isAvailable_dreamsDisabled_shouldBeFalseForSystemUser() {
    public void isAvailable_dreamsDisabled_shouldBeFalseForMainUser() {
        when(mResources.getBoolean(
                com.android.internal.R.bool.config_dreamsSupported)).thenReturn(false);
        when(mResources.getBoolean(
                com.android.internal.R.bool.config_dreamsOnlyEnabledForDockUser))
                .thenReturn(false);
        when(mUserManager.isSystemUser()).thenReturn(true);
        when(mUserManager.isMainUser()).thenReturn(true);
        assertFalse(mController.isAvailable());
    }

    @Test
    public void isAvailable_dreamsOnlyEnabledForSystemUser_shouldBeTrueForSystemUser() {
    public void isAvailable_dreamsOnlyEnabledForDockUser_shouldBeTrueForMainUser() {
        when(mResources.getBoolean(
                com.android.internal.R.bool.config_dreamsSupported)).thenReturn(true);
        when(mResources.getBoolean(
                com.android.internal.R.bool.config_dreamsOnlyEnabledForDockUser))
                .thenReturn(true);
        when(mUserManager.isSystemUser()).thenReturn(true);
        when(mUserManager.isMainUser()).thenReturn(true);
        assertTrue(mController.isAvailable());
    }

    @Test
    public void isAvailable_dreamsOnlyEnabledForSystemUser_shouldBeFalseForNonSystemUser() {
    public void isAvailable_dreamsOnlyEnabledForDockUser_shouldBeFalseForNonMainUser() {
        when(mResources.getBoolean(
                com.android.internal.R.bool.config_dreamsSupported)).thenReturn(true);
        when(mResources.getBoolean(
                com.android.internal.R.bool.config_dreamsOnlyEnabledForDockUser))
                .thenReturn(true);
        when(mUserManager.isSystemUser()).thenReturn(false);
        when(mUserManager.isMainUser()).thenReturn(false);
        assertFalse(mController.isAvailable());
    }
}