Merge "Refresh state when updating seekbar visibility" into main
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaControlPanel.java b/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaControlPanel.java
index dccf61d..2bf6a10 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaControlPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaControlPanel.java
@@ -435,6 +435,12 @@
}
this.mIsSeekBarEnabled = isSeekBarEnabled;
updateSeekBarVisibility();
+ mMainExecutor.execute(() -> {
+ if (!mMetadataAnimationHandler.isRunning()) {
+ // Trigger a state refresh so that we immediately update visibilities.
+ mMediaViewController.refreshState();
+ }
+ });
}
/**
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaViewController.kt b/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaViewController.kt
index 975f8f4..c00e14c 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaViewController.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaViewController.kt
@@ -225,6 +225,12 @@
if (isSeekBarEnabled == enabled) return
isSeekBarEnabled = enabled
MediaControlViewBinder.updateSeekBarVisibility(expandedLayout, isSeekBarEnabled)
+ mainExecutor.execute {
+ if (!metadataAnimationHandler.isRunning) {
+ // Trigger a state refresh so that we immediately update visibilities.
+ refreshState()
+ }
+ }
}
}
@@ -899,7 +905,11 @@
// If the view isn't bound, we can drop the animation, otherwise we'll execute it
animateNextStateChange = false
if (transitionLayout == null) {
- logger.logMediaLocation("setCurrentState: view not bound", startLocation, endLocation)
+ logger.logMediaLocation(
+ "setCurrentState: view not bound",
+ startLocation,
+ endLocation,
+ )
return
}