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

Commit c75bd24d authored by George Lin's avatar George Lin
Browse files

Bind on click clock face (1/2)

Clicking clock face trigger the preset group switch

Test: Manually tested. See bug.
Bug: 395647577
Flag: com.android.systemui.shared.new_customization_picker_ui
Change-Id: I7bf30a82884464ab3a95638de9c92d4442149dc3
parent eaf876fe
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -416,6 +416,7 @@ constructor(private val defaultCustomizationOptionsBinder: DefaultCustomizationO
    override fun bindClockPreview(
        context: Context,
        clockHostView: View,
        clockFaceClickDelegateView: View,
        viewModel: CustomizationPickerViewModel2,
        colorUpdateViewModel: ColorUpdateViewModel,
        lifecycleOwner: LifecycleOwner,
@@ -503,6 +504,21 @@ constructor(private val defaultCustomizationOptionsBinder: DefaultCustomizationO
                launch {
                    viewModel.lockPreviewAnimateToAlpha.collect { clockHostView.animateToAlpha(it) }
                }

                launch {
                    combine(
                            viewModel.customizationOptionsViewModel.selectedOption,
                            clockPickerViewModel.onClockFaceClicked,
                            ::Pair,
                        )
                        .collect { (selectedOption, onClockFaceClicked) ->
                            clockFaceClickDelegateView.isVisible =
                                selectedOption == ThemePickerLockCustomizationOption.CLOCK
                            clockFaceClickDelegateView.setOnClickListener {
                                onClockFaceClicked.invoke()
                            }
                        }
                }
            }
        }
    }
+20 −0
Original line number Diff line number Diff line
@@ -349,6 +349,26 @@ class ClockPickerViewModelTest {
        assertThat(axisPresetsSliderSelectedValue()).isEqualTo(1F)
    }

    @Test
    fun previewingClockPresetIndexedStyle_whenOnClockFaceClicked() = runTest {
        val previewingClockPresetIndexedStyle =
            collectLastValue(underTest.previewingClockPresetIndexedStyle)
        val onClockFaceClicked = collectLastValue(underTest.onClockFaceClicked)

        onClockFaceClicked()?.invoke()

        val expectedResult =
            FakeClockPickerRepository.fakeClocks[0]
                .axisPresetConfig
                ?.groups
                ?.get(1)
                ?.presets
                ?.get(0)
        checkNotNull(expectedResult)
        assertThat(previewingClockPresetIndexedStyle())
            .isEqualTo(IndexedStyle(groupIndex = 1, presetIndex = 0, style = expectedResult))
    }

    //// Clock size
    @Test
    fun previewingClockSize_whenCallingOnClockSizeSwitchChecked() = runTest {