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

Commit e92d42ab authored by Lucas Silva's avatar Lucas Silva
Browse files

Read default values for dream when to start

We should consider the default config values for each setting if the
values aren't explictly set.

Bug: 383208131
Flag: com.android.systemui.glanceable_hub_v2
Test: atest CommunalSettingsRepositoryImplTest
Change-Id: Ie1c7350e49d6ea1646288600802bf7bf1606a9c5
parent de851127
Loading
Loading
Loading
Loading
+63 −0
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@ import com.android.systemui.util.mockito.whenever
import com.android.systemui.util.settings.fakeSettings
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
import org.junit.After
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
@@ -78,6 +79,32 @@ class CommunalSettingsRepositoryImplTest(flags: FlagsParameterization?) : SysuiT
        setKeyguardFeaturesDisabled(PRIMARY_USER, KEYGUARD_DISABLE_FEATURES_NONE)
        setKeyguardFeaturesDisabled(SECONDARY_USER, KEYGUARD_DISABLE_FEATURES_NONE)
        setKeyguardFeaturesDisabled(WORK_PROFILE, KEYGUARD_DISABLE_FEATURES_NONE)

        mContext.orCreateTestableResources.addOverride(
            com.android.internal.R.bool.config_dreamsActivatedOnSleepByDefault,
            false,
        )
        mContext.orCreateTestableResources.addOverride(
            com.android.internal.R.bool.config_dreamsActivatedOnDockByDefault,
            false,
        )
        mContext.orCreateTestableResources.addOverride(
            com.android.internal.R.bool.config_dreamsActivatedOnPosturedByDefault,
            false,
        )
    }

    @After
    fun tearDown() {
        mContext.orCreateTestableResources.removeOverride(
            com.android.internal.R.bool.config_dreamsActivatedOnSleepByDefault
        )
        mContext.orCreateTestableResources.removeOverride(
            com.android.internal.R.bool.config_dreamsActivatedOnDockByDefault
        )
        mContext.orCreateTestableResources.removeOverride(
            com.android.internal.R.bool.config_dreamsActivatedOnPosturedByDefault
        )
    }

    @EnableFlags(FLAG_COMMUNAL_HUB)
@@ -333,6 +360,18 @@ class CommunalSettingsRepositoryImplTest(flags: FlagsParameterization?) : SysuiT
            assertThat(whenToDreamState).isEqualTo(WhenToDream.WHILE_CHARGING)
        }

    @Test
    fun whenToDream_charging_defaultValue() =
        kosmos.runTest {
            mContext.orCreateTestableResources.addOverride(
                com.android.internal.R.bool.config_dreamsActivatedOnSleepByDefault,
                true,
            )

            val whenToDreamState by collectLastValue(underTest.getWhenToDreamState(PRIMARY_USER))
            assertThat(whenToDreamState).isEqualTo(WhenToDream.WHILE_CHARGING)
        }

    @Test
    fun whenToDream_docked() =
        kosmos.runTest {
@@ -347,6 +386,18 @@ class CommunalSettingsRepositoryImplTest(flags: FlagsParameterization?) : SysuiT
            assertThat(whenToDreamState).isEqualTo(WhenToDream.WHILE_DOCKED)
        }

    @Test
    fun whenToDream_docked_defaultValue() =
        kosmos.runTest {
            mContext.orCreateTestableResources.addOverride(
                com.android.internal.R.bool.config_dreamsActivatedOnDockByDefault,
                true,
            )

            val whenToDreamState by collectLastValue(underTest.getWhenToDreamState(PRIMARY_USER))
            assertThat(whenToDreamState).isEqualTo(WhenToDream.WHILE_DOCKED)
        }

    @Test
    fun whenToDream_postured() =
        kosmos.runTest {
@@ -361,6 +412,18 @@ class CommunalSettingsRepositoryImplTest(flags: FlagsParameterization?) : SysuiT
            assertThat(whenToDreamState).isEqualTo(WhenToDream.WHILE_POSTURED)
        }

    @Test
    fun whenToDream_postured_defaultValue() =
        kosmos.runTest {
            mContext.orCreateTestableResources.addOverride(
                com.android.internal.R.bool.config_dreamsActivatedOnPosturedByDefault,
                true,
            )

            val whenToDreamState by collectLastValue(underTest.getWhenToDreamState(PRIMARY_USER))
            assertThat(whenToDreamState).isEqualTo(WhenToDream.WHILE_POSTURED)
        }

    @Test
    fun whenToDream_default() =
        kosmos.runTest {
+32 −1
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.app.admin.DevicePolicyManager
import android.app.admin.devicePolicyManager
import android.content.Intent
import android.content.pm.UserInfo
import android.content.res.mainResources
import android.os.UserHandle
import android.os.UserManager
import android.os.userManager
@@ -85,6 +86,7 @@ import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.flowOf
import kotlinx.coroutines.test.advanceTimeBy
import org.junit.After
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
@@ -106,7 +108,10 @@ class CommunalInteractorTest(flags: FlagsParameterization) : SysuiTestCase() {
        UserInfo(/* id= */ 0, /* name= */ "primary user", /* flags= */ UserInfo.FLAG_MAIN)
    private val secondaryUser = UserInfo(/* id= */ 1, /* name= */ "secondary user", /* flags= */ 0)

    private val kosmos = testKosmos().useUnconfinedTestDispatcher()
    private val kosmos =
        testKosmos()
            .apply { mainResources = mContext.orCreateTestableResources.resources }
            .useUnconfinedTestDispatcher()

    private val Kosmos.underTest by Kosmos.Fixture { communalInteractor }

@@ -122,6 +127,32 @@ class CommunalInteractorTest(flags: FlagsParameterization) : SysuiTestCase() {

        kosmos.fakeFeatureFlagsClassic.set(Flags.COMMUNAL_SERVICE_ENABLED, true)
        mSetFlagsRule.enableFlags(FLAG_COMMUNAL_HUB)

        mContext.orCreateTestableResources.addOverride(
            com.android.internal.R.bool.config_dreamsActivatedOnSleepByDefault,
            false,
        )
        mContext.orCreateTestableResources.addOverride(
            com.android.internal.R.bool.config_dreamsActivatedOnDockByDefault,
            false,
        )
        mContext.orCreateTestableResources.addOverride(
            com.android.internal.R.bool.config_dreamsActivatedOnPosturedByDefault,
            false,
        )
    }

    @After
    fun tearDown() {
        mContext.orCreateTestableResources.removeOverride(
            com.android.internal.R.bool.config_dreamsActivatedOnSleepByDefault
        )
        mContext.orCreateTestableResources.removeOverride(
            com.android.internal.R.bool.config_dreamsActivatedOnDockByDefault
        )
        mContext.orCreateTestableResources.removeOverride(
            com.android.internal.R.bool.config_dreamsActivatedOnPosturedByDefault
        )
    }

    @Test
+21 −9
Original line number Diff line number Diff line
@@ -111,6 +111,18 @@ constructor(
    @Named(DEFAULT_BACKGROUND_TYPE) private val defaultBackgroundType: CommunalBackgroundType,
) : CommunalSettingsRepository {

    private val dreamsActivatedOnSleepByDefault by lazy {
        resources.getBoolean(com.android.internal.R.bool.config_dreamsActivatedOnSleepByDefault)
    }

    private val dreamsActivatedOnDockByDefault by lazy {
        resources.getBoolean(com.android.internal.R.bool.config_dreamsActivatedOnDockByDefault)
    }

    private val dreamsActivatedOnPosturedByDefault by lazy {
        resources.getBoolean(com.android.internal.R.bool.config_dreamsActivatedOnPosturedByDefault)
    }

    override fun getFlagEnabled(): Boolean {
        return if (getV2FlagEnabled()) {
            true
@@ -178,27 +190,27 @@ constructor(
            .emitOnStart()
            .map {
                if (
                    secureSettings.getIntForUser(
                    secureSettings.getBoolForUser(
                        Settings.Secure.SCREENSAVER_ACTIVATE_ON_SLEEP,
                        0,
                        dreamsActivatedOnSleepByDefault,
                        user.id,
                    ) == 1
                    )
                ) {
                    WhenToDream.WHILE_CHARGING
                } else if (
                    secureSettings.getIntForUser(
                    secureSettings.getBoolForUser(
                        Settings.Secure.SCREENSAVER_ACTIVATE_ON_DOCK,
                        0,
                        dreamsActivatedOnDockByDefault,
                        user.id,
                    ) == 1
                    )
                ) {
                    WhenToDream.WHILE_DOCKED
                } else if (
                    secureSettings.getIntForUser(
                    secureSettings.getBoolForUser(
                        Settings.Secure.SCREENSAVER_ACTIVATE_ON_POSTURED,
                        0,
                        dreamsActivatedOnPosturedByDefault,
                        user.id,
                    ) == 1
                    )
                ) {
                    WhenToDream.WHILE_POSTURED
                } else {