Change screensaver option to be available to MainUser.

Bug: 262568884
Test: atest ScreenSaverPreferenceControllerTest
Change-Id: Ic9a9fc727cd0ce5311faa3dfc6e0ca8ce47605d7
This commit is contained in:
Victor Truong
2022-12-15 11:58:52 -05:00
parent cb4edec31b
commit f03a60c67e
2 changed files with 12 additions and 16 deletions

View File

@@ -39,8 +39,9 @@ public class ScreenSaverPreferenceController extends BasePreferenceController im
com.android.internal.R.bool.config_dreamsSupported); com.android.internal.R.bool.config_dreamsSupported);
final boolean dreamsOnlyEnabledForDockUser = mContext.getResources().getBoolean( final boolean dreamsOnlyEnabledForDockUser = mContext.getResources().getBoolean(
com.android.internal.R.bool.config_dreamsOnlyEnabledForDockUser); 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. // 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; ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
} }
@@ -53,9 +54,4 @@ public class ScreenSaverPreferenceController extends BasePreferenceController im
return DreamSettings.getSummaryTextWithDreamName(mContext); return DreamSettings.getSummaryTextWithDreamName(mContext);
} }
} }
private boolean isSystemUser() {
final UserManager userManager = mContext.getSystemService(UserManager.class);
return userManager.isSystemUser();
}
} }

View File

@@ -58,57 +58,57 @@ public class ScreenSaverPreferenceControllerTest {
} }
@Test @Test
public void isAvailable_dreamsEnabledForAllUsers_shouldBeTrueForSystemUser() { public void isAvailable_dreamsEnabledForAllUsers_shouldBeTrueForMainUser() {
when(mResources.getBoolean( when(mResources.getBoolean(
com.android.internal.R.bool.config_dreamsSupported)).thenReturn(true); com.android.internal.R.bool.config_dreamsSupported)).thenReturn(true);
when(mResources.getBoolean( when(mResources.getBoolean(
com.android.internal.R.bool.config_dreamsOnlyEnabledForDockUser)) com.android.internal.R.bool.config_dreamsOnlyEnabledForDockUser))
.thenReturn(false); .thenReturn(false);
when(mUserManager.isSystemUser()).thenReturn(true); when(mUserManager.isMainUser()).thenReturn(true);
assertTrue(mController.isAvailable()); assertTrue(mController.isAvailable());
} }
@Test @Test
public void isAvailable_dreamsEnabledForAllUsers_shouldBeTrueForNonSystemUser() { public void isAvailable_dreamsEnabledForAllUsers_shouldBeTrueForNonMainUser() {
when(mResources.getBoolean( when(mResources.getBoolean(
com.android.internal.R.bool.config_dreamsSupported)).thenReturn(true); com.android.internal.R.bool.config_dreamsSupported)).thenReturn(true);
when(mResources.getBoolean( when(mResources.getBoolean(
com.android.internal.R.bool.config_dreamsOnlyEnabledForDockUser)) com.android.internal.R.bool.config_dreamsOnlyEnabledForDockUser))
.thenReturn(false); .thenReturn(false);
when(mUserManager.isSystemUser()).thenReturn(false); when(mUserManager.isMainUser()).thenReturn(false);
assertTrue(mController.isAvailable()); assertTrue(mController.isAvailable());
} }
@Test @Test
public void isAvailable_dreamsDisabled_shouldBeFalseForSystemUser() { public void isAvailable_dreamsDisabled_shouldBeFalseForMainUser() {
when(mResources.getBoolean( when(mResources.getBoolean(
com.android.internal.R.bool.config_dreamsSupported)).thenReturn(false); com.android.internal.R.bool.config_dreamsSupported)).thenReturn(false);
when(mResources.getBoolean( when(mResources.getBoolean(
com.android.internal.R.bool.config_dreamsOnlyEnabledForDockUser)) com.android.internal.R.bool.config_dreamsOnlyEnabledForDockUser))
.thenReturn(false); .thenReturn(false);
when(mUserManager.isSystemUser()).thenReturn(true); when(mUserManager.isMainUser()).thenReturn(true);
assertFalse(mController.isAvailable()); assertFalse(mController.isAvailable());
} }
@Test @Test
public void isAvailable_dreamsOnlyEnabledForSystemUser_shouldBeTrueForSystemUser() { public void isAvailable_dreamsOnlyEnabledForDockUser_shouldBeTrueForMainUser() {
when(mResources.getBoolean( when(mResources.getBoolean(
com.android.internal.R.bool.config_dreamsSupported)).thenReturn(true); com.android.internal.R.bool.config_dreamsSupported)).thenReturn(true);
when(mResources.getBoolean( when(mResources.getBoolean(
com.android.internal.R.bool.config_dreamsOnlyEnabledForDockUser)) com.android.internal.R.bool.config_dreamsOnlyEnabledForDockUser))
.thenReturn(true); .thenReturn(true);
when(mUserManager.isSystemUser()).thenReturn(true); when(mUserManager.isMainUser()).thenReturn(true);
assertTrue(mController.isAvailable()); assertTrue(mController.isAvailable());
} }
@Test @Test
public void isAvailable_dreamsOnlyEnabledForSystemUser_shouldBeFalseForNonSystemUser() { public void isAvailable_dreamsOnlyEnabledForDockUser_shouldBeFalseForNonMainUser() {
when(mResources.getBoolean( when(mResources.getBoolean(
com.android.internal.R.bool.config_dreamsSupported)).thenReturn(true); com.android.internal.R.bool.config_dreamsSupported)).thenReturn(true);
when(mResources.getBoolean( when(mResources.getBoolean(
com.android.internal.R.bool.config_dreamsOnlyEnabledForDockUser)) com.android.internal.R.bool.config_dreamsOnlyEnabledForDockUser))
.thenReturn(true); .thenReturn(true);
when(mUserManager.isSystemUser()).thenReturn(false); when(mUserManager.isMainUser()).thenReturn(false);
assertFalse(mController.isAvailable()); assertFalse(mController.isAvailable());
} }
} }