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
This commit is contained in:
Matt Pietal
2020-09-21 16:18:30 -04:00
parent 29bedbcd95
commit bcf5c853d5

View File

@@ -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)
}
}