Bind all floating sheet text color

Flag: com.android.systemui.shared.new_customization_picker_ui
Test: manually verified by applying new system color
Bug: 363018910
Change-Id: Ibe80fb122d07ea42cafa566e61adc2ad7190b34f
diff --git a/src/com/android/wallpaper/customization/ui/binder/ClockFloatingSheetBinder.kt b/src/com/android/wallpaper/customization/ui/binder/ClockFloatingSheetBinder.kt
index 9dca30c..497d7c9 100644
--- a/src/com/android/wallpaper/customization/ui/binder/ClockFloatingSheetBinder.kt
+++ b/src/com/android/wallpaper/customization/ui/binder/ClockFloatingSheetBinder.kt
@@ -27,6 +27,7 @@
 import android.view.ViewTreeObserver.OnGlobalLayoutListener
 import android.widget.FrameLayout
 import android.widget.ImageView
+import android.widget.TextView
 import androidx.core.graphics.drawable.DrawableCompat
 import androidx.core.view.isVisible
 import androidx.lifecycle.Lifecycle
@@ -123,16 +124,41 @@
 
         // Clock style
         val clockStyleContent = view.requireViewById<View>(R.id.clock_floating_sheet_style_content)
+        val clockSizeSwitch =
+            clockStyleContent.requireViewById<MaterialSwitch>(R.id.clock_style_clock_size_switch)
+        val isClockStyleActive = {
+            isFloatingSheetActive() && viewModel.selectedTab.value == Tab.STYLE
+        }
         val clockStyleAdapter =
             createClockStyleOptionItemAdapter(
                 colorUpdateViewModel = colorUpdateViewModel,
-                shouldAnimateColor = isFloatingSheetActive,
+                shouldAnimateColor = isClockStyleActive,
                 lifecycleOwner = lifecycleOwner,
             )
         val clockStyleList =
             view.requireViewById<RecyclerView>(R.id.clock_style_list).apply {
                 initStyleList(appContext, clockStyleAdapter)
             }
+        ColorUpdateBinder.bind(
+            setColor = { color ->
+                clockStyleContent
+                    .requireViewById<TextView>(R.id.clock_style_clock_size_title)
+                    .setTextColor(color)
+            },
+            color = colorUpdateViewModel.colorOnSurface,
+            shouldAnimate = isClockStyleActive,
+            lifecycleOwner = lifecycleOwner,
+        )
+        ColorUpdateBinder.bind(
+            setColor = { color ->
+                clockStyleContent
+                    .requireViewById<TextView>(R.id.clock_style_clock_size_description)
+                    .setTextColor(color)
+            },
+            color = colorUpdateViewModel.colorOnSurfaceVariant,
+            shouldAnimate = isClockStyleActive,
+            lifecycleOwner = lifecycleOwner,
+        )
 
         // Clock font editor
         val clockFontContent =
@@ -144,6 +170,28 @@
         clockFontToolbar.requireViewById<View>(R.id.clock_font_apply).setOnClickListener {
             viewModel.confirmFontAxes()
         }
+        val isClockFontActive = {
+            isFloatingSheetActive() && viewModel.selectedTab.value == Tab.FONT
+        }
+        ColorUpdateBinder.bind(
+            setColor = { color ->
+                clockFontContent
+                    .requireViewById<TextView>(R.id.clock_axis_slider_name1)
+                    .setTextColor(color)
+                clockFontContent
+                    .requireViewById<TextView>(R.id.clock_axis_slider_name2)
+                    .setTextColor(color)
+                clockFontContent
+                    .requireViewById<TextView>(R.id.clock_axis_switch_name1)
+                    .setTextColor(color)
+                clockFontContent
+                    .requireViewById<TextView>(R.id.clock_axis_switch_name2)
+                    .setTextColor(color)
+            },
+            color = colorUpdateViewModel.colorOnSurface,
+            shouldAnimate = isClockFontActive,
+            lifecycleOwner = lifecycleOwner,
+        )
 
         // Clock color
         val clockColorContent = view.requireViewById<View>(R.id.clock_floating_sheet_color_content)
@@ -171,10 +219,29 @@
                 }
             }
         }
-
-        // Clock size switch
-        val clockSizeSwitch =
-            view.requireViewById<MaterialSwitch>(R.id.clock_style_clock_size_switch)
+        val isClockColorActive = {
+            isFloatingSheetActive() && viewModel.selectedTab.value == Tab.COLOR
+        }
+        ColorUpdateBinder.bind(
+            setColor = { color ->
+                clockColorContent
+                    .requireViewById<TextView>(R.id.clock_color_title)
+                    .setTextColor(color)
+            },
+            color = colorUpdateViewModel.colorOnSurface,
+            shouldAnimate = isClockColorActive,
+            lifecycleOwner = lifecycleOwner,
+        )
+        ColorUpdateBinder.bind(
+            setColor = { color ->
+                clockColorContent
+                    .requireViewById<TextView>(R.id.clock_color_description)
+                    .setTextColor(color)
+            },
+            color = colorUpdateViewModel.colorOnSurfaceVariant,
+            shouldAnimate = isClockColorActive,
+            lifecycleOwner = lifecycleOwner,
+        )
 
         clockStyleContent.viewTreeObserver.addOnGlobalLayoutListener(
             object : OnGlobalLayoutListener {
@@ -341,7 +408,7 @@
                                         ClockSize.SMALL -> false
                                     },
                                 colorUpdateViewModel = colorUpdateViewModel,
-                                shouldAnimateColor = isFloatingSheetActive,
+                                shouldAnimateColor = isClockStyleActive,
                                 lifecycleOwner = lifecycleOwner,
                             )
                     }
@@ -361,7 +428,7 @@
             clockFontContent = clockFontContent,
             viewModel = viewModel,
             colorUpdateViewModel = colorUpdateViewModel,
-            shouldAnimateColor = isFloatingSheetActive,
+            shouldAnimateColor = isClockFontActive,
             lifecycleOwner = lifecycleOwner,
         )
     }
diff --git a/src/com/android/wallpaper/customization/ui/binder/ColorsFloatingSheetBinder.kt b/src/com/android/wallpaper/customization/ui/binder/ColorsFloatingSheetBinder.kt
index 4c6a3e9..bac650f 100644
--- a/src/com/android/wallpaper/customization/ui/binder/ColorsFloatingSheetBinder.kt
+++ b/src/com/android/wallpaper/customization/ui/binder/ColorsFloatingSheetBinder.kt
@@ -55,6 +55,16 @@
         val viewModel = optionsViewModel.colorPickerViewModel2
         val isFloatingSheetActive = { optionsViewModel.selectedOption.value == COLORS }
 
+        ColorUpdateBinder.bind(
+            setColor = { color ->
+                view.requireViewById<TextView>(R.id.color_type_tab_subhead).setTextColor(color)
+                view.requireViewById<TextView>(R.id.dark_mode_toggle_title).setTextColor(color)
+            },
+            color = colorUpdateViewModel.colorOnSurface,
+            shouldAnimate = isFloatingSheetActive,
+            lifecycleOwner = lifecycleOwner,
+        )
+
         val tabs = view.requireViewById<FloatingToolbar>(R.id.floating_toolbar)
         val tabContainer =
             tabs.findViewById<ViewGroup>(com.android.wallpaper.R.id.floating_toolbar_tab_container)