Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 463cd310 authored by Catherine Liang's avatar Catherine Liang
Browse files

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
parent 7e7cda46
Loading
Loading
Loading
Loading
+74 −7
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import android.view.ViewGroup
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 @@ object ClockFloatingSheetBinder {

        // 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 @@ object ClockFloatingSheetBinder {
        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 @@ object ClockFloatingSheetBinder {
                }
            }
        }

        // 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 @@ object ClockFloatingSheetBinder {
                                        ClockSize.SMALL -> false
                                    },
                                colorUpdateViewModel = colorUpdateViewModel,
                                shouldAnimateColor = isFloatingSheetActive,
                                shouldAnimateColor = isClockStyleActive,
                                lifecycleOwner = lifecycleOwner,
                            )
                    }
@@ -361,7 +428,7 @@ object ClockFloatingSheetBinder {
            clockFontContent = clockFontContent,
            viewModel = viewModel,
            colorUpdateViewModel = colorUpdateViewModel,
            shouldAnimateColor = isFloatingSheetActive,
            shouldAnimateColor = isClockFontActive,
            lifecycleOwner = lifecycleOwner,
        )
    }
+10 −0
Original line number Diff line number Diff line
@@ -55,6 +55,16 @@ object ColorsFloatingSheetBinder {
        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)