Add recommendation view holder to controller
Adding recommendation view holder in media view controller to be
accessed by carousel controller when needed to update view.
Flag: ACONFIG com.android.systemui.media_controls_refactor DISABLED
Bug: 328207006
Test: Build.
Change-Id: I71ca70a56ec60cde908373b22d7f02d25a2e8185
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/binder/MediaRecommendationsViewBinder.kt b/packages/SystemUI/src/com/android/systemui/media/controls/ui/binder/MediaRecommendationsViewBinder.kt
index 9c6d59e..fe13da6 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/binder/MediaRecommendationsViewBinder.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/binder/MediaRecommendationsViewBinder.kt
@@ -239,7 +239,7 @@
set.setAlpha(resId, if (visible) 1.0f else 0.0f)
}
- private fun updateRecommendationsVisibility(
+ fun updateRecommendationsVisibility(
mediaViewController: MediaViewController,
cardView: TransitionLayout,
) {
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 7fced5f8..2b59858 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
@@ -37,6 +37,7 @@
import com.android.systemui.media.controls.ui.animation.ColorSchemeTransition
import com.android.systemui.media.controls.ui.animation.MetadataAnimationHandler
import com.android.systemui.media.controls.ui.binder.MediaControlViewBinder
+import com.android.systemui.media.controls.ui.binder.MediaRecommendationsViewBinder
import com.android.systemui.media.controls.ui.binder.SeekBarObserver
import com.android.systemui.media.controls.ui.controller.MediaCarouselController.Companion.calculateAlpha
import com.android.systemui.media.controls.ui.view.GutsViewHolder
@@ -185,7 +186,10 @@
private var nextNotVisibleValue = ConstraintSet.GONE
private var isNextButtonAvailable = false
- private lateinit var mediaViewHolder: MediaViewHolder
+ /** View holders for controller */
+ lateinit var recommendationViewHolder: RecommendationViewHolder
+ lateinit var mediaViewHolder: MediaViewHolder
+
private lateinit var seekBarObserver: SeekBarObserver
private lateinit var turbulenceNoiseController: TurbulenceNoiseController
private lateinit var loadingEffect: LoadingEffect
@@ -788,6 +792,15 @@
}
}
+ fun attachRecommendations(recommendationViewHolder: RecommendationViewHolder) {
+ if (!mediaFlags.isMediaControlsRefactorEnabled()) return
+ this.recommendationViewHolder = recommendationViewHolder
+
+ attach(recommendationViewHolder.recommendations, TYPE.RECOMMENDATION)
+ recsConfigurationChangeListener =
+ MediaRecommendationsViewBinder::updateRecommendationsVisibility
+ }
+
fun bindSeekBar(onSeek: () -> Unit, onBindSeekBar: (SeekBarViewModel) -> Unit) {
if (!mediaFlags.isMediaControlsRefactorEnabled()) return
seekBarViewModel.logSeek = onSeek