diff options
| author | 2020-09-21 16:18:30 -0400 | |
|---|---|---|
| committer | 2020-09-22 14:59:32 +0000 | |
| commit | bcf5c853d50bcd82b986bebc7edc946af49ac3ed (patch) | |
| tree | ac0e2c7d1716ef64b0a28962d18e7c65008e6ccc | |
| parent | 29bedbcd95d31919d652f7446e87ad38dcf352c7 (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.kt | 9 |
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) } } |