Loading packages/SettingsLib/src/com/android/settingslib/dream/DreamBackend.java +11 −2 Original line number Diff line number Diff line Loading @@ -111,6 +111,9 @@ public class DreamBackend { public static final int COMPLICATION_TYPE_SMARTSPACE = 7; public static final int COMPLICATION_TYPE_MEDIA_ENTRY = 8; private static final int SCREENSAVER_HOME_CONTROLS_ENABLED_DEFAULT = 1; private static final int LOCKSCREEN_SHOW_CONTROLS_DEFAULT = 0; private final Context mContext; private final IDreamManager mDreamManager; private final DreamInfoComparator mComparator; Loading Loading @@ -311,8 +314,14 @@ public class DreamBackend { /** Gets whether home controls button is enabled on the dream */ private boolean getHomeControlsEnabled() { return Settings.Secure.getInt(mContext.getContentResolver(), Settings.Secure.SCREENSAVER_HOME_CONTROLS_ENABLED, 1) == 1; return Settings.Secure.getInt( mContext.getContentResolver(), Settings.Secure.LOCKSCREEN_SHOW_CONTROLS, LOCKSCREEN_SHOW_CONTROLS_DEFAULT) == 1 && Settings.Secure.getInt( mContext.getContentResolver(), Settings.Secure.SCREENSAVER_HOME_CONTROLS_ENABLED, SCREENSAVER_HOME_CONTROLS_ENABLED_DEFAULT) == 1; } /** Loading packages/SettingsLib/tests/robotests/src/com/android/settingslib/dream/DreamBackendTest.java +30 −2 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import static org.mockito.Mockito.when; import android.content.ContentResolver; import android.content.Context; import android.content.res.Resources; import android.provider.Settings; import org.junit.After; import org.junit.Before; Loading Loading @@ -84,6 +85,7 @@ public final class DreamBackendTest { @Test public void testComplicationsEnabledByDefault() { setControlsEnabledOnLockscreen(true); assertThat(mBackend.getComplicationsEnabled()).isTrue(); assertThat(mBackend.getEnabledComplications()).containsExactlyElementsIn( SUPPORTED_DREAM_COMPLICATIONS_LIST); Loading @@ -91,6 +93,7 @@ public final class DreamBackendTest { @Test public void testEnableComplicationExplicitly() { setControlsEnabledOnLockscreen(true); mBackend.setComplicationsEnabled(true); assertThat(mBackend.getEnabledComplications()).containsExactlyElementsIn( SUPPORTED_DREAM_COMPLICATIONS_LIST); Loading @@ -99,6 +102,7 @@ public final class DreamBackendTest { @Test public void testDisableComplications() { setControlsEnabledOnLockscreen(true); mBackend.setComplicationsEnabled(false); assertThat(mBackend.getEnabledComplications()) .containsExactly(COMPLICATION_TYPE_HOME_CONTROLS); Loading @@ -107,6 +111,7 @@ public final class DreamBackendTest { @Test public void testHomeControlsDisabled_ComplicationsEnabled() { setControlsEnabledOnLockscreen(true); mBackend.setComplicationsEnabled(true); mBackend.setHomeControlsEnabled(false); // Home controls should not be enabled, only date and time. Loading @@ -118,6 +123,7 @@ public final class DreamBackendTest { @Test public void testHomeControlsDisabled_ComplicationsDisabled() { setControlsEnabledOnLockscreen(true); mBackend.setComplicationsEnabled(false); mBackend.setHomeControlsEnabled(false); assertThat(mBackend.getEnabledComplications()).isEmpty(); Loading @@ -125,9 +131,9 @@ public final class DreamBackendTest { @Test public void testHomeControlsEnabled_ComplicationsDisabled() { setControlsEnabledOnLockscreen(true); mBackend.setComplicationsEnabled(false); mBackend.setHomeControlsEnabled(true); // Home controls should not be enabled, only date and time. final List<Integer> enabledComplications = Collections.singletonList(COMPLICATION_TYPE_HOME_CONTROLS); assertThat(mBackend.getEnabledComplications()) Loading @@ -136,9 +142,9 @@ public final class DreamBackendTest { @Test public void testHomeControlsEnabled_ComplicationsEnabled() { setControlsEnabledOnLockscreen(true); mBackend.setComplicationsEnabled(true); mBackend.setHomeControlsEnabled(true); // Home controls should not be enabled, only date and time. final List<Integer> enabledComplications = Arrays.asList( COMPLICATION_TYPE_HOME_CONTROLS, Loading @@ -148,4 +154,26 @@ public final class DreamBackendTest { assertThat(mBackend.getEnabledComplications()) .containsExactlyElementsIn(enabledComplications); } @Test public void testHomeControlsEnabled_lockscreenDisabled() { setControlsEnabledOnLockscreen(false); mBackend.setComplicationsEnabled(true); mBackend.setHomeControlsEnabled(true); // Home controls should not be enabled, only date and time. final List<Integer> enabledComplications = Arrays.asList( COMPLICATION_TYPE_DATE, COMPLICATION_TYPE_TIME ); assertThat(mBackend.getEnabledComplications()) .containsExactlyElementsIn(enabledComplications); } private void setControlsEnabledOnLockscreen(boolean enabled) { Settings.Secure.putInt( mContext.getContentResolver(), Settings.Secure.LOCKSCREEN_SHOW_CONTROLS, enabled ? 1 : 0); } } packages/SystemUI/src/com/android/systemui/complication/ComplicationTypesUpdater.java +4 −0 Original line number Diff line number Diff line Loading @@ -77,6 +77,10 @@ public class ComplicationTypesUpdater extends ConditionalCoreStartable { Settings.Secure.SCREENSAVER_HOME_CONTROLS_ENABLED, settingsObserver, UserHandle.myUserId()); mSecureSettings.registerContentObserverForUser( Settings.Secure.LOCKSCREEN_SHOW_CONTROLS, settingsObserver, UserHandle.myUserId()); settingsObserver.onChange(false); } Loading Loading
packages/SettingsLib/src/com/android/settingslib/dream/DreamBackend.java +11 −2 Original line number Diff line number Diff line Loading @@ -111,6 +111,9 @@ public class DreamBackend { public static final int COMPLICATION_TYPE_SMARTSPACE = 7; public static final int COMPLICATION_TYPE_MEDIA_ENTRY = 8; private static final int SCREENSAVER_HOME_CONTROLS_ENABLED_DEFAULT = 1; private static final int LOCKSCREEN_SHOW_CONTROLS_DEFAULT = 0; private final Context mContext; private final IDreamManager mDreamManager; private final DreamInfoComparator mComparator; Loading Loading @@ -311,8 +314,14 @@ public class DreamBackend { /** Gets whether home controls button is enabled on the dream */ private boolean getHomeControlsEnabled() { return Settings.Secure.getInt(mContext.getContentResolver(), Settings.Secure.SCREENSAVER_HOME_CONTROLS_ENABLED, 1) == 1; return Settings.Secure.getInt( mContext.getContentResolver(), Settings.Secure.LOCKSCREEN_SHOW_CONTROLS, LOCKSCREEN_SHOW_CONTROLS_DEFAULT) == 1 && Settings.Secure.getInt( mContext.getContentResolver(), Settings.Secure.SCREENSAVER_HOME_CONTROLS_ENABLED, SCREENSAVER_HOME_CONTROLS_ENABLED_DEFAULT) == 1; } /** Loading
packages/SettingsLib/tests/robotests/src/com/android/settingslib/dream/DreamBackendTest.java +30 −2 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import static org.mockito.Mockito.when; import android.content.ContentResolver; import android.content.Context; import android.content.res.Resources; import android.provider.Settings; import org.junit.After; import org.junit.Before; Loading Loading @@ -84,6 +85,7 @@ public final class DreamBackendTest { @Test public void testComplicationsEnabledByDefault() { setControlsEnabledOnLockscreen(true); assertThat(mBackend.getComplicationsEnabled()).isTrue(); assertThat(mBackend.getEnabledComplications()).containsExactlyElementsIn( SUPPORTED_DREAM_COMPLICATIONS_LIST); Loading @@ -91,6 +93,7 @@ public final class DreamBackendTest { @Test public void testEnableComplicationExplicitly() { setControlsEnabledOnLockscreen(true); mBackend.setComplicationsEnabled(true); assertThat(mBackend.getEnabledComplications()).containsExactlyElementsIn( SUPPORTED_DREAM_COMPLICATIONS_LIST); Loading @@ -99,6 +102,7 @@ public final class DreamBackendTest { @Test public void testDisableComplications() { setControlsEnabledOnLockscreen(true); mBackend.setComplicationsEnabled(false); assertThat(mBackend.getEnabledComplications()) .containsExactly(COMPLICATION_TYPE_HOME_CONTROLS); Loading @@ -107,6 +111,7 @@ public final class DreamBackendTest { @Test public void testHomeControlsDisabled_ComplicationsEnabled() { setControlsEnabledOnLockscreen(true); mBackend.setComplicationsEnabled(true); mBackend.setHomeControlsEnabled(false); // Home controls should not be enabled, only date and time. Loading @@ -118,6 +123,7 @@ public final class DreamBackendTest { @Test public void testHomeControlsDisabled_ComplicationsDisabled() { setControlsEnabledOnLockscreen(true); mBackend.setComplicationsEnabled(false); mBackend.setHomeControlsEnabled(false); assertThat(mBackend.getEnabledComplications()).isEmpty(); Loading @@ -125,9 +131,9 @@ public final class DreamBackendTest { @Test public void testHomeControlsEnabled_ComplicationsDisabled() { setControlsEnabledOnLockscreen(true); mBackend.setComplicationsEnabled(false); mBackend.setHomeControlsEnabled(true); // Home controls should not be enabled, only date and time. final List<Integer> enabledComplications = Collections.singletonList(COMPLICATION_TYPE_HOME_CONTROLS); assertThat(mBackend.getEnabledComplications()) Loading @@ -136,9 +142,9 @@ public final class DreamBackendTest { @Test public void testHomeControlsEnabled_ComplicationsEnabled() { setControlsEnabledOnLockscreen(true); mBackend.setComplicationsEnabled(true); mBackend.setHomeControlsEnabled(true); // Home controls should not be enabled, only date and time. final List<Integer> enabledComplications = Arrays.asList( COMPLICATION_TYPE_HOME_CONTROLS, Loading @@ -148,4 +154,26 @@ public final class DreamBackendTest { assertThat(mBackend.getEnabledComplications()) .containsExactlyElementsIn(enabledComplications); } @Test public void testHomeControlsEnabled_lockscreenDisabled() { setControlsEnabledOnLockscreen(false); mBackend.setComplicationsEnabled(true); mBackend.setHomeControlsEnabled(true); // Home controls should not be enabled, only date and time. final List<Integer> enabledComplications = Arrays.asList( COMPLICATION_TYPE_DATE, COMPLICATION_TYPE_TIME ); assertThat(mBackend.getEnabledComplications()) .containsExactlyElementsIn(enabledComplications); } private void setControlsEnabledOnLockscreen(boolean enabled) { Settings.Secure.putInt( mContext.getContentResolver(), Settings.Secure.LOCKSCREEN_SHOW_CONTROLS, enabled ? 1 : 0); } }
packages/SystemUI/src/com/android/systemui/complication/ComplicationTypesUpdater.java +4 −0 Original line number Diff line number Diff line Loading @@ -77,6 +77,10 @@ public class ComplicationTypesUpdater extends ConditionalCoreStartable { Settings.Secure.SCREENSAVER_HOME_CONTROLS_ENABLED, settingsObserver, UserHandle.myUserId()); mSecureSettings.registerContentObserverForUser( Settings.Secure.LOCKSCREEN_SHOW_CONTROLS, settingsObserver, UserHandle.myUserId()); settingsObserver.onChange(false); } Loading