Loading core/res/res/values/config.xml +2 −0 Original line number Diff line number Diff line Loading @@ -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> Loading core/res/res/values/symbols.xml +1 −0 Original line number Diff line number Diff line Loading @@ -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" /> Loading packages/SystemUI/multivalentTests/src/com/android/systemui/communal/data/repository/CommunalSettingsRepositoryImplTest.kt +49 −0 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 Loading @@ -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) Loading Loading @@ -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) Loading packages/SystemUI/src/com/android/systemui/communal/data/repository/CommunalSettingsRepository.kt +18 −2 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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. Loading Loading @@ -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) Loading @@ -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 } } Loading Loading
core/res/res/values/config.xml +2 −0 Original line number Diff line number Diff line Loading @@ -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> Loading
core/res/res/values/symbols.xml +1 −0 Original line number Diff line number Diff line Loading @@ -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" /> Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/communal/data/repository/CommunalSettingsRepositoryImplTest.kt +49 −0 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 Loading @@ -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) Loading Loading @@ -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) Loading
packages/SystemUI/src/com/android/systemui/communal/data/repository/CommunalSettingsRepository.kt +18 −2 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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. Loading Loading @@ -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) Loading @@ -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 } } Loading