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

Commit 7748c8b9 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Added clock face width label" into main

parents 686f2403 08bb6c5c
Loading
Loading
Loading
Loading
+33 −11
Original line number Diff line number Diff line
@@ -52,6 +52,26 @@
            android:clipToPadding="false"/>
    </FrameLayout>

    <LinearLayout
        android:id="@+id/clock_face_width_container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_marginTop="@dimen/clock_axis_control_slider_container_margin_vertical">

        <TextView
            android:id="@+id/clock_face_width_label"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:contentDescription="@string/clock_face_width"
            android:text="@string/clock_face_width"
            android:textAppearance="@style/TextAppearance.DeviceDefault.Small.LabelMedium"
            android:textColor="@color/system_on_surface_variant"
            android:lineSpacingExtra="1sp"
            android:gravity="center_vertical"
            android:paddingHorizontal="20dp"
            android:layout_marginTop="8dp" />

        <com.google.android.material.slider.Slider
            android:id="@+id/clock_axis_preset_slider"
            android:layout_width="match_parent"
@@ -67,3 +87,5 @@
            android:theme="@style/Theme.Material3.DynamicColors.DayNight" />
        </LinearLayout>

</LinearLayout>
+2 −1
Original line number Diff line number Diff line
@@ -205,7 +205,8 @@
    <!-- Clock font control dimensions -->
    <dimen name="clock_font_axis_name_width">64dp</dimen>
    <dimen name="clock_axis_control_text_margin_end">16dp</dimen>
    <dimen name="clock_axis_control_slider_row_margin_vertical">10dp</dimen>
    <dimen name="clock_axis_control_slider_container_margin_vertical">10dp</dimen>
    <dimen name="clock_axis_control_slider_row_margin_vertical">7dp</dimen>
    <dimen name="clock_axis_control_switch_row_margin_vertical">8dp</dimen>
    <dimen name="clock_font_apply_padding_start">8dp</dimen>

+39 −13
Original line number Diff line number Diff line
@@ -141,8 +141,29 @@ object ClockFloatingSheetBinder {
        val clockStyleList: RecyclerView = view.requireViewById(R.id.clock_style_list)
        clockStyleList.initStyleList(appContext, clockStyleAdapter)
        val clockStyleListContainer: View = view.requireViewById(R.id.clock_style_list_container)
        val axisPresetSlider: Slider =
            clockStyleContent.requireViewById(R.id.clock_axis_preset_slider)

        val axisPresetSliderContainer: View =
            clockStyleContent.requireViewById(R.id.clock_face_width_container)
        val axisPresetSlider =
            clockStyleContent.requireViewById<Slider>(R.id.clock_axis_preset_slider).also {
                SliderColorBinder.bind(
                    slider = it,
                    colorUpdateViewModel = colorUpdateViewModel,
                    shouldAnimateColor = isFloatingSheetActive,
                    lifecycleOwner = lifecycleOwner,
                )
            }

        ColorUpdateBinder.bind(
            setColor = { color ->
                axisPresetSliderContainer
                    .requireViewById<TextView>(R.id.clock_face_width_label)
                    .setTextColor(color)
            },
            color = colorUpdateViewModel.colorOnSurfaceVariant,
            shouldAnimate = isClockStyleActive,
            lifecycleOwner = lifecycleOwner,
        )

        // Setting content description for the clock face width slider
        val sliderLabel = appContext.getString(R.string.clock_face_width)
@@ -214,13 +235,15 @@ object ClockFloatingSheetBinder {
            if (isDesktopUi) FlexboxLayoutManager(appContext, FlexDirection.ROW, FlexWrap.WRAP)
            else LinearLayoutManager(appContext, LinearLayoutManager.HORIZONTAL, false)

        val clockColorSlider: Slider = view.requireViewById(R.id.clock_color_slider)
        val clockColorSlider =
            view.requireViewById<Slider>(R.id.clock_color_slider).also {
                SliderColorBinder.bind(
            slider = clockColorSlider,
                    slider = it,
                    colorUpdateViewModel = colorUpdateViewModel,
                    shouldAnimateColor = isFloatingSheetActive,
                    lifecycleOwner = lifecycleOwner,
                )
            }

        clockColorSlider.apply {
            valueFrom = ClockMetadataModel.MIN_COLOR_TONE_PROGRESS.toFloat()
@@ -281,6 +304,7 @@ object ClockFloatingSheetBinder {
            shouldAnimate = isClockStyleActive,
            lifecycleOwner = lifecycleOwner,
        )

        ColorUpdateBinder.bind(
            setColor = { color ->
                clockSizeContent
@@ -297,16 +321,16 @@ object ClockFloatingSheetBinder {
                override fun onGlobalLayout() {
                    if (
                        clockStyleListContainer.height != 0 &&
                            axisPresetSlider.height != 0 &&
                            axisPresetSliderContainer.height != 0 &&
                            (_clockFloatingSheetHeights.value.clockStyleContentHeight !=
                                clockStyleListContainer.height ||
                                _clockFloatingSheetHeights.value.axisPresetSliderHeight !=
                                    axisPresetSlider.height)
                                    axisPresetSliderContainer.height)
                    ) {
                        _clockFloatingSheetHeights.value =
                            _clockFloatingSheetHeights.value.copy(
                                clockStyleContentHeight = clockStyleListContainer.height,
                                axisPresetSliderHeight = axisPresetSlider.height,
                                axisPresetSliderHeight = axisPresetSliderContainer.height,
                            )
                        clockStyleContent.viewTreeObserver.removeOnGlobalLayoutListener(this)
                    }
@@ -438,7 +462,9 @@ object ClockFloatingSheetBinder {
                }

                launch {
                    viewModel.shouldShowPresetSlider.collect { axisPresetSlider.isVisible = it }
                    viewModel.shouldShowPresetSlider.collect {
                        axisPresetSliderContainer.isVisible = it
                    }
                }

                launch {