diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt b/packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt index 0f8687183e94..cf8cbcf052c2 100644 --- a/packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt +++ b/packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt @@ -150,12 +150,13 @@ class MediaCarouselController @Inject constructor( } private val configListener = object : ConfigurationController.ConfigurationListener { override fun onDensityOrFontScaleChanged() { - recreatePlayers() + // System font changes should only happen when UMO is offscreen or a flicker may occur + updatePlayers(recreateMedia = true) inflateSettingsButton() } override fun onThemeChanged() { - recreatePlayers() + updatePlayers(recreateMedia = false) inflateSettingsButton() } @@ -165,7 +166,7 @@ class MediaCarouselController @Inject constructor( } override fun onUiModeChanged() { - recreatePlayers() + updatePlayers(recreateMedia = false) inflateSettingsButton() } } @@ -539,7 +540,7 @@ class MediaCarouselController @Inject constructor( } } - private fun recreatePlayers() { + private fun updatePlayers(recreateMedia: Boolean) { pageIndicator.tintList = ColorStateList.valueOf( context.getColor(R.color.media_paging_indicator) ) @@ -554,7 +555,9 @@ class MediaCarouselController @Inject constructor( } } else { val isSsReactivated = MediaPlayerData.isSsReactivated(key) - removePlayer(key, dismissMediaData = false, dismissRecommendation = false) + if (recreateMedia) { + removePlayer(key, dismissMediaData = false, dismissRecommendation = false) + } addOrUpdatePlayer( key = key, oldKey = null, data = data, isSsReactivated = isSsReactivated) } |