summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Matt Pietal <mpietal@google.com> 2020-09-21 16:18:30 -0400
committer Matt Pietal <mpietal@google.com> 2020-09-22 14:59:32 +0000
commitbcf5c853d50bcd82b986bebc7edc946af49ac3ed (patch)
treeac0e2c7d1716ef64b0a28962d18e7c65008e6ccc
parent29bedbcd95d31919d652f7446e87ad38dcf352c7 (diff)
Media - Remove before adding for config changes
Views were not properly getting reinflated due to font/display size changes. When this happens, remove the views and recreate them. Fixes: 168812862 Test: manual, follow bug steps Change-Id: I1390110f33eb9ac9a7c616fbde281186c34d2f3d
-rw-r--r--packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt9
1 files changed, 6 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt b/packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt
index 1808035df027..3aa37a2a927d 100644
--- a/packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt
@@ -274,7 +274,7 @@ class MediaCarouselController @Inject constructor(
}
}
- private fun removePlayer(key: String) {
+ private fun removePlayer(key: String, dismissMediaData: Boolean = true) {
val removed = MediaPlayerData.removeMediaPlayer(key)
removed?.apply {
mediaCarouselScrollHandler.onPrePlayerRemoved(removed)
@@ -283,13 +283,16 @@ class MediaCarouselController @Inject constructor(
mediaCarouselScrollHandler.onPlayersChanged()
updatePageIndicator()
- // Inform the media manager of a potentially late dismissal
- mediaManager.dismissMediaData(key, 0L)
+ if (dismissMediaData) {
+ // Inform the media manager of a potentially late dismissal
+ mediaManager.dismissMediaData(key, 0L)
+ }
}
}
private fun recreatePlayers() {
MediaPlayerData.mediaData().forEach { (key, data) ->
+ removePlayer(key, dismissMediaData = false)
addOrUpdatePlayer(key = key, oldKey = null, data = data)
}
}