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

Commit 09bccc32 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Make "off" the default for glanceable hub on mobile." into main

parents 28eb7543 f5d48724
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
    }
}