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

Commit f03a60c6 authored by Victor Truong's avatar Victor Truong
Browse files

Change screensaver option to be available to MainUser.

Bug: 262568884
Test: atest ScreenSaverPreferenceControllerTest
Change-Id: Ic9a9fc727cd0ce5311faa3dfc6e0ca8ce47605d7
parent cb4edec3
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());
    }
}