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

Commit 306de28e authored by Abdullah Tabassum's avatar Abdullah Tabassum Committed by Android (Google) Code Review
Browse files

Merge "Update position of theme color and clock color lists" into main

parents de8ffb76 a659fd13
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -408,6 +408,13 @@ object ClockFloatingSheetBinder {
                    }
                }

                launch {
                    viewModel.previewingClockColorOptionIndex.collect { indexToFocus ->
                        (clockColorList.layoutManager as LinearLayoutManager)
                            .scrollToPositionWithOffset(indexToFocus, 0)
                    }
                }

                launch {
                    var binding: SwitchColorBinder.Binding? = null
                    viewModel.previewingClockSize.collect { size ->
+16 −0
Original line number Diff line number Diff line
@@ -20,6 +20,8 @@ import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.core.graphics.drawable.DrawableCompat
import androidx.core.view.get
import androidx.core.view.isEmpty
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.lifecycleScope
@@ -133,6 +135,7 @@ object ColorsFloatingSheetBinder {
                    colorsViewModel.colorOptions.collect { colorOptions ->
                        colorsAdapter.setItems(colorOptions) {
                            var indexToFocus = colorOptions.indexOfFirst { it.isSelected.value }

                            indexToFocus = if (indexToFocus < 0) 0 else indexToFocus
                            (colorsList.layoutManager as LinearLayoutManager)
                                .scrollToPositionWithOffset(indexToFocus, 0)
@@ -140,6 +143,19 @@ object ColorsFloatingSheetBinder {
                    }
                }

                launch {
                    colorsViewModel.previewingColorOptionIndex.collect { indexToFocus ->
                        val offset =
                            if (colorsList != null && !colorsList.isEmpty()) {
                                colorsList.get(0).width
                            } else {
                                0
                            }
                        (colorsList.layoutManager as LinearLayoutManager)
                            .scrollToPositionWithOffset(indexToFocus, offset)
                    }
                }

                launch {
                    combine(
                            colorsViewModel.previewingColorOption,
+4 −0
Original line number Diff line number Diff line
@@ -149,6 +149,9 @@ constructor(
            overridingClock != null && overridingClock.clockId != selectedClock.clockId
        }

    val _previewingClockColorOptionIndex = MutableStateFlow<Int>(0)
    val previewingClockColorOptionIndex = _previewingClockColorOptionIndex.asStateFlow()

    // Represents show and hide of the clock view provided by the picker side.
    private val _showPickerClockControllerView: MutableStateFlow<Boolean> = MutableStateFlow(false)
    val showPickerClockControllerView: Flow<Boolean> = _showPickerClockControllerView.asStateFlow()
@@ -430,6 +433,7 @@ constructor(
                                        null
                                    } else {
                                        {
                                            _previewingClockColorOptionIndex.value = index
                                            overridingClockColorId.value = colorModel.colorId
                                            overridingSliderProgress.value =
                                                ClockMetadataModel.DEFAULT_COLOR_TONE_PROGRESS
+5 −1
Original line number Diff line number Diff line
@@ -61,6 +61,9 @@ constructor(
    private val overridingColorOption = MutableStateFlow<ColorOption?>(null)
    val previewingColorOption = overridingColorOption.asStateFlow()

    val _previewingColorOptionIndex = MutableStateFlow<Int>(0)
    val previewingColorOptionIndex = _previewingColorOptionIndex.asStateFlow()

    private val selectedColorTypeTabId = MutableStateFlow<ColorType?>(null)

    /** View-models for each color tab. */
@@ -119,7 +122,7 @@ constructor(
            colorOptions
                .map { colorOptionEntry ->
                    colorOptionEntry.key to
                        colorOptionEntry.value.map { colorOption ->
                        colorOptionEntry.value.mapIndexed { index, colorOption ->
                            colorOption as ColorOptionImpl
                            val isSelectedFlow: StateFlow<Boolean> =
                                combine(previewingColorOption, selectedColorOption) {
@@ -149,6 +152,7 @@ constructor(
                                            {
                                                viewModelScope.launch {
                                                    overridingColorOption.value = colorOption
                                                    _previewingColorOptionIndex.value = index
                                                }
                                            }
                                        }