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

Commit 5e003164 authored by Lucas Silva's avatar Lucas Silva Committed by Automerger Merge Worker
Browse files

Merge "Disable dreams home controls button when disabled on lockscreen" into...

Merge "Disable dreams home controls button when disabled on lockscreen" into udc-dev am: 68aff1a3 am: e71705b0

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23322078



Change-Id: I85a04eaed005f98148f4d093eac50642fda39b74
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 1b8166a9 e71705b0
Loading
Loading
Loading
Loading
+11 −2
Original line number Original line Diff line number Diff line
@@ -111,6 +111,9 @@ public class DreamBackend {
    public static final int COMPLICATION_TYPE_SMARTSPACE = 7;
    public static final int COMPLICATION_TYPE_SMARTSPACE = 7;
    public static final int COMPLICATION_TYPE_MEDIA_ENTRY = 8;
    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 Context mContext;
    private final IDreamManager mDreamManager;
    private final IDreamManager mDreamManager;
    private final DreamInfoComparator mComparator;
    private final DreamInfoComparator mComparator;
@@ -311,8 +314,14 @@ public class DreamBackend {


    /** Gets whether home controls button is enabled on the dream */
    /** Gets whether home controls button is enabled on the dream */
    private boolean getHomeControlsEnabled() {
    private boolean getHomeControlsEnabled() {
        return Settings.Secure.getInt(mContext.getContentResolver(),
        return Settings.Secure.getInt(
                Settings.Secure.SCREENSAVER_HOME_CONTROLS_ENABLED, 1) == 1;
                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;
    }
    }


    /**
    /**
+30 −2
Original line number Original line Diff line number Diff line
@@ -28,6 +28,7 @@ import static org.mockito.Mockito.when;
import android.content.ContentResolver;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Context;
import android.content.res.Resources;
import android.content.res.Resources;
import android.provider.Settings;


import org.junit.After;
import org.junit.After;
import org.junit.Before;
import org.junit.Before;
@@ -84,6 +85,7 @@ public final class DreamBackendTest {


    @Test
    @Test
    public void testComplicationsEnabledByDefault() {
    public void testComplicationsEnabledByDefault() {
        setControlsEnabledOnLockscreen(true);
        assertThat(mBackend.getComplicationsEnabled()).isTrue();
        assertThat(mBackend.getComplicationsEnabled()).isTrue();
        assertThat(mBackend.getEnabledComplications()).containsExactlyElementsIn(
        assertThat(mBackend.getEnabledComplications()).containsExactlyElementsIn(
                SUPPORTED_DREAM_COMPLICATIONS_LIST);
                SUPPORTED_DREAM_COMPLICATIONS_LIST);
@@ -91,6 +93,7 @@ public final class DreamBackendTest {


    @Test
    @Test
    public void testEnableComplicationExplicitly() {
    public void testEnableComplicationExplicitly() {
        setControlsEnabledOnLockscreen(true);
        mBackend.setComplicationsEnabled(true);
        mBackend.setComplicationsEnabled(true);
        assertThat(mBackend.getEnabledComplications()).containsExactlyElementsIn(
        assertThat(mBackend.getEnabledComplications()).containsExactlyElementsIn(
                SUPPORTED_DREAM_COMPLICATIONS_LIST);
                SUPPORTED_DREAM_COMPLICATIONS_LIST);
@@ -99,6 +102,7 @@ public final class DreamBackendTest {


    @Test
    @Test
    public void testDisableComplications() {
    public void testDisableComplications() {
        setControlsEnabledOnLockscreen(true);
        mBackend.setComplicationsEnabled(false);
        mBackend.setComplicationsEnabled(false);
        assertThat(mBackend.getEnabledComplications())
        assertThat(mBackend.getEnabledComplications())
                .containsExactly(COMPLICATION_TYPE_HOME_CONTROLS);
                .containsExactly(COMPLICATION_TYPE_HOME_CONTROLS);
@@ -107,6 +111,7 @@ public final class DreamBackendTest {


    @Test
    @Test
    public void testHomeControlsDisabled_ComplicationsEnabled() {
    public void testHomeControlsDisabled_ComplicationsEnabled() {
        setControlsEnabledOnLockscreen(true);
        mBackend.setComplicationsEnabled(true);
        mBackend.setComplicationsEnabled(true);
        mBackend.setHomeControlsEnabled(false);
        mBackend.setHomeControlsEnabled(false);
        // Home controls should not be enabled, only date and time.
        // Home controls should not be enabled, only date and time.
@@ -118,6 +123,7 @@ public final class DreamBackendTest {


    @Test
    @Test
    public void testHomeControlsDisabled_ComplicationsDisabled() {
    public void testHomeControlsDisabled_ComplicationsDisabled() {
        setControlsEnabledOnLockscreen(true);
        mBackend.setComplicationsEnabled(false);
        mBackend.setComplicationsEnabled(false);
        mBackend.setHomeControlsEnabled(false);
        mBackend.setHomeControlsEnabled(false);
        assertThat(mBackend.getEnabledComplications()).isEmpty();
        assertThat(mBackend.getEnabledComplications()).isEmpty();
@@ -125,9 +131,9 @@ public final class DreamBackendTest {


    @Test
    @Test
    public void testHomeControlsEnabled_ComplicationsDisabled() {
    public void testHomeControlsEnabled_ComplicationsDisabled() {
        setControlsEnabledOnLockscreen(true);
        mBackend.setComplicationsEnabled(false);
        mBackend.setComplicationsEnabled(false);
        mBackend.setHomeControlsEnabled(true);
        mBackend.setHomeControlsEnabled(true);
        // Home controls should not be enabled, only date and time.
        final List<Integer> enabledComplications =
        final List<Integer> enabledComplications =
                Collections.singletonList(COMPLICATION_TYPE_HOME_CONTROLS);
                Collections.singletonList(COMPLICATION_TYPE_HOME_CONTROLS);
        assertThat(mBackend.getEnabledComplications())
        assertThat(mBackend.getEnabledComplications())
@@ -136,9 +142,9 @@ public final class DreamBackendTest {


    @Test
    @Test
    public void testHomeControlsEnabled_ComplicationsEnabled() {
    public void testHomeControlsEnabled_ComplicationsEnabled() {
        setControlsEnabledOnLockscreen(true);
        mBackend.setComplicationsEnabled(true);
        mBackend.setComplicationsEnabled(true);
        mBackend.setHomeControlsEnabled(true);
        mBackend.setHomeControlsEnabled(true);
        // Home controls should not be enabled, only date and time.
        final List<Integer> enabledComplications =
        final List<Integer> enabledComplications =
                Arrays.asList(
                Arrays.asList(
                        COMPLICATION_TYPE_HOME_CONTROLS,
                        COMPLICATION_TYPE_HOME_CONTROLS,
@@ -148,4 +154,26 @@ public final class DreamBackendTest {
        assertThat(mBackend.getEnabledComplications())
        assertThat(mBackend.getEnabledComplications())
                .containsExactlyElementsIn(enabledComplications);
                .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);
    }
}
}
+4 −0
Original line number Original line Diff line number Diff line
@@ -77,6 +77,10 @@ public class ComplicationTypesUpdater extends ConditionalCoreStartable {
                Settings.Secure.SCREENSAVER_HOME_CONTROLS_ENABLED,
                Settings.Secure.SCREENSAVER_HOME_CONTROLS_ENABLED,
                settingsObserver,
                settingsObserver,
                UserHandle.myUserId());
                UserHandle.myUserId());
        mSecureSettings.registerContentObserverForUser(
                Settings.Secure.LOCKSCREEN_SHOW_CONTROLS,
                settingsObserver,
                UserHandle.myUserId());
        settingsObserver.onChange(false);
        settingsObserver.onChange(false);
    }
    }