From 8ea639575b4fb4389e0560879982c0c9ed9422af Mon Sep 17 00:00:00 2001 From: Beth Thibodeau Date: Wed, 17 Nov 2021 18:53:04 -0500 Subject: [PATCH] Remeasure entire carousel view when players change The page indicator view was not being consistently remeasured when new dots were added for new players, resulting in invisible (0x0) dot views Instead of only requiring remeasure of the mediaCarousel view, require it for the entire frame which contains both that and the pageIndicator view. This ensures that the dots will be measured and sized correctly. Fixes: 194351796 Test: manual - follow repro steps, observe correct number of dots Change-Id: I2b2b8b5bc906549f76d2705e117d0a2670da819d --- .../src/com/android/systemui/media/MediaCarouselController.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt b/packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt index e87558ebee277..989cf11f1deea 100644 --- a/packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt +++ b/packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt @@ -400,7 +400,7 @@ class MediaCarouselController @Inject constructor( } updatePageIndicator() mediaCarouselScrollHandler.onPlayersChanged() - mediaCarousel.requiresRemeasuring = true + mediaFrame.requiresRemeasuring = true // Check postcondition: mediaContent should have the same number of children as there are // elements in mediaPlayers. if (MediaPlayerData.players().size != mediaContent.childCount) { @@ -439,7 +439,7 @@ class MediaCarouselController @Inject constructor( updatePlayerToState(newRecs, noAnimation = true) reorderAllPlayers(curVisibleMediaKey) updatePageIndicator() - mediaCarousel.requiresRemeasuring = true + mediaFrame.requiresRemeasuring = true // Check postcondition: mediaContent should have the same number of children as there are // elements in mediaPlayers. if (MediaPlayerData.players().size != mediaContent.childCount) {