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)