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

Commit f5d48724 authored by Will Leshner's avatar Will Leshner
Browse files

Make "off" the default for glanceable hub on mobile.

Bug: 428215526
Test: atest GlanceableHubTogglePreferenceControllerTest
Flag: com.android.systemui.glanceable_hub_v2

Change-Id: I9465d3f0d9b790d36442a3651febb0b184d2eb68
parent ecb3cb27
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -2859,6 +2859,8 @@
    <integer name="config_whenToStartHubModeDefault">0</integer>
    <!-- Whether to restrict auto-showing glanceable hub to wireless charging. -->
    <bool name="config_onlyShowGlanceableHubWhenWirelessChargingDefault">false</bool>
    <!-- Whether glanceable hub is enabled by default. -->
    <bool name="config_glanceableHubEnabledByDefault">false</bool>

    <!-- Whether or not low light display behavior is enabled -->
    <bool name="config_lowLightDisplayBehaviorEnabledDefault">true</bool>
+1 −0
Original line number Diff line number Diff line
@@ -2109,6 +2109,7 @@
  <java-symbol type="bool" name="config_keepDreamingWhenUnplugging" />
  <java-symbol type="bool" name="config_alwaysAllowDreamRotation" />
  <java-symbol type="bool" name="config_glanceableHubEnabled" />
  <java-symbol type="bool" name="config_glanceableHubEnabledByDefault" />
  <java-symbol type="integer" name="config_whenToStartHubModeDefault" />
  <java-symbol type="bool" name="config_onlyShowGlanceableHubWhenWirelessChargingDefault" />
  <java-symbol type="bool" name="config_lowLightDisplayBehaviorEnabledDefault" />
+49 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import android.platform.test.flag.junit.FlagsParameterization
import androidx.test.filters.SmallTest
import com.android.systemui.Flags.FLAG_COMMUNAL_HUB
import com.android.systemui.Flags.FLAG_GLANCEABLE_HUB_BLURRED_BACKGROUND
import com.android.systemui.Flags.FLAG_GLANCEABLE_HUB_ENABLED_BY_DEFAULT
import com.android.systemui.Flags.FLAG_GLANCEABLE_HUB_V2
import com.android.systemui.SysuiTestCase
import com.android.systemui.broadcast.broadcastDispatcher
@@ -88,6 +89,10 @@ class CommunalSettingsRepositoryImplTest(flags: FlagsParameterization?) : SysuiT
            com.android.internal.R.bool.config_dreamsActivatedOnPosturedByDefault,
            false,
        )
        mContext.orCreateTestableResources.addOverride(
            com.android.internal.R.bool.config_glanceableHubEnabledByDefault,
            true,
        )
    }

    @After
@@ -101,6 +106,9 @@ class CommunalSettingsRepositoryImplTest(flags: FlagsParameterization?) : SysuiT
        mContext.orCreateTestableResources.removeOverride(
            com.android.internal.R.bool.config_dreamsActivatedOnPosturedByDefault
        )
        mContext.orCreateTestableResources.removeOverride(
            com.android.internal.R.bool.config_glanceableHubEnabledByDefault
        )
    }

    @EnableFlags(FLAG_COMMUNAL_HUB)
@@ -234,6 +242,47 @@ class CommunalSettingsRepositoryImplTest(flags: FlagsParameterization?) : SysuiT
            }
        }

    @EnableFlags(FLAG_GLANCEABLE_HUB_V2)
    @DisableFlags(FLAG_GLANCEABLE_HUB_ENABLED_BY_DEFAULT)
    @Test
    fun hubEnabledByUser_defaultsToConfigValue_true() =
        kosmos.runTest {
            mContext.orCreateTestableResources.addOverride(
                com.android.internal.R.bool.config_glanceableHubEnabledByDefault,
                true,
            )

            val enabled by collectLastValue(underTest.getSettingEnabledByUser())
            assertThat(enabled).isTrue()
        }

    @EnableFlags(FLAG_GLANCEABLE_HUB_V2)
    @DisableFlags(FLAG_GLANCEABLE_HUB_ENABLED_BY_DEFAULT)
    @Test
    fun hubEnabledByUser_defaultsToConfigValue_false() =
        kosmos.runTest {
            mContext.orCreateTestableResources.addOverride(
                com.android.internal.R.bool.config_glanceableHubEnabledByDefault,
                false,
            )

            val enabled by collectLastValue(underTest.getSettingEnabledByUser())
            assertThat(enabled).isFalse()
        }

    @EnableFlags(FLAG_GLANCEABLE_HUB_V2, FLAG_GLANCEABLE_HUB_ENABLED_BY_DEFAULT)
    @Test
    fun hubEnabledByUser_defaultsToTrue_whenFlagTrue() =
        kosmos.runTest {
            mContext.orCreateTestableResources.addOverride(
                com.android.internal.R.bool.config_glanceableHubEnabledByDefault,
                false,
            )

            val enabled by collectLastValue(underTest.getSettingEnabledByUser())
            assertThat(enabled).isTrue()
        }

    private fun setKeyguardFeaturesDisabled(user: UserInfo, disabledFlags: Int) {
        whenever(kosmos.devicePolicyManager.getKeyguardDisabledFeatures(nullable(), eq(user.id)))
            .thenReturn(disabledFlags)
+18 −2
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.content.res.Resources
import android.os.UserHandle
import android.provider.Settings
import com.android.systemui.Flags.communalHub
import com.android.systemui.Flags.glanceableHubEnabledByDefault
import com.android.systemui.Flags.glanceableHubV2
import com.android.systemui.broadcast.BroadcastDispatcher
import com.android.systemui.communal.data.model.CommunalFeature
@@ -117,6 +118,21 @@ constructor(
        resources.getInteger(com.android.internal.R.integer.config_whenToStartHubModeDefault)
    }

    private val hubEnabledByUserDefault by lazy {
        if (!glanceableHubV2()) {
            ENABLED_SETTING_DEFAULT_PRE_HUB_V2
        } else if (
            glanceableHubEnabledByDefault() ||
                resources.getBoolean(
                    com.android.internal.R.bool.config_glanceableHubEnabledByDefault
                )
        ) {
            1
        } else {
            0
        }
    }

    private val _suppressionReasons =
        MutableStateFlow<List<SuppressionReason>>(
            // Suppress hub by default until we get an initial update.
@@ -176,7 +192,7 @@ constructor(

    override fun getSettingEnabledByUser(): Flow<Boolean> =
        secureSettingsRepository
            .intSetting(Settings.Secure.GLANCEABLE_HUB_ENABLED, ENABLED_SETTING_DEFAULT)
            .intSetting(Settings.Secure.GLANCEABLE_HUB_ENABLED, hubEnabledByUserDefault)
            .map { it == 1 }
            .flowOn(bgDispatcher)

@@ -198,7 +214,7 @@ constructor(

    companion object {
        const val GLANCEABLE_HUB_BACKGROUND_SETTING = "glanceable_hub_background"
        private const val ENABLED_SETTING_DEFAULT = 1
        private const val ENABLED_SETTING_DEFAULT_PRE_HUB_V2 = 1
    }
}