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

Commit 38a9eca9 authored by Lucas Silva's avatar Lucas Silva
Browse files

Change when to dream ordering

If both charging and posturing are enabled, charging now takes priority.

Bug: 396458606
Test: atest DreamBackendTest
Flag: EXEMPT bugfix

Change-Id: I0ecdbe9c4c747a274a8cd627b62d4888a6d140f0
parent 828c910e
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -295,9 +295,9 @@ public class DreamBackend {
    @WhenToDream
    public int getWhenToDreamSetting() {
        return isActivatedOnDock() && isActivatedOnSleep() ? WHILE_CHARGING_OR_DOCKED
                : isActivatedOnSleep() ? WHILE_CHARGING
                        : isActivatedOnDock() ? WHILE_DOCKED
                                : isActivatedOnPostured() ? WHILE_POSTURED
                                : isActivatedOnSleep() ? WHILE_CHARGING
                                        : NEVER;
    }

+55 −0
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@
package com.android.settingslib.dream;


import static android.service.dreams.Flags.FLAG_ALLOW_DREAM_WHEN_POSTURED;

import static com.android.settingslib.dream.DreamBackend.COMPLICATION_TYPE_DATE;
import static com.android.settingslib.dream.DreamBackend.COMPLICATION_TYPE_HOME_CONTROLS;
import static com.android.settingslib.dream.DreamBackend.COMPLICATION_TYPE_TIME;
@@ -28,6 +30,7 @@ import static org.mockito.Mockito.when;
import android.content.ContentResolver;
import android.content.Context;
import android.content.res.Resources;
import android.platform.test.annotations.EnableFlags;
import android.provider.Settings;

import org.junit.After;
@@ -173,6 +176,58 @@ public final class DreamBackendTest {
                .containsExactlyElementsIn(enabledComplications);
    }

    @Test
    @EnableFlags(FLAG_ALLOW_DREAM_WHEN_POSTURED)
    public void testChargingAndPosturedBothEnabled() {
        Settings.Secure.putInt(
                mContext.getContentResolver(),
                Settings.Secure.SCREENSAVER_ACTIVATE_ON_SLEEP,
                1
        );
        Settings.Secure.putInt(
                mContext.getContentResolver(),
                Settings.Secure.SCREENSAVER_ACTIVATE_ON_POSTURED,
                1
        );

        assertThat(mBackend.getWhenToDreamSetting()).isEqualTo(DreamBackend.WHILE_CHARGING);
    }

    @Test
    public void testChargingAndDockedBothEnabled() {
        Settings.Secure.putInt(
                mContext.getContentResolver(),
                Settings.Secure.SCREENSAVER_ACTIVATE_ON_SLEEP,
                1
        );
        Settings.Secure.putInt(
                mContext.getContentResolver(),
                Settings.Secure.SCREENSAVER_ACTIVATE_ON_DOCK,
                1
        );

        assertThat(mBackend.getWhenToDreamSetting()).isEqualTo(
                DreamBackend.WHILE_CHARGING_OR_DOCKED);
    }

    @Test
    @EnableFlags(FLAG_ALLOW_DREAM_WHEN_POSTURED)
    public void testPosturedAndDockedBothEnabled() {
        Settings.Secure.putInt(
                mContext.getContentResolver(),
                Settings.Secure.SCREENSAVER_ACTIVATE_ON_POSTURED,
                1
        );
        Settings.Secure.putInt(
                mContext.getContentResolver(),
                Settings.Secure.SCREENSAVER_ACTIVATE_ON_DOCK,
                1
        );

        assertThat(mBackend.getWhenToDreamSetting()).isEqualTo(
                DreamBackend.WHILE_DOCKED);
    }

    private void setControlsEnabledOnLockscreen(boolean enabled) {
        Settings.Secure.putInt(
                mContext.getContentResolver(),