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

Commit ddc769c3 authored by Hawkwood Glazier's avatar Hawkwood Glazier Committed by Automerger Merge Worker
Browse files

Merge "Changing the system theme no longer causes a UMO flicker" into tm-dev...

Merge "Changing the system theme no longer causes a UMO flicker" into tm-dev am: fc279777 am: 30a3aed9

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18392069



Change-Id: I924614e521fe8be3fbfd10d9e060673f4dc83fba
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 726f5800 30a3aed9
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -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)
                if (recreateMedia) {
                    removePlayer(key, dismissMediaData = false, dismissRecommendation = false)
                }
                addOrUpdatePlayer(
                        key = key, oldKey = null, data = data, isSsReactivated = isSsReactivated)
            }