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

Commit 42f1c800 authored by Catherine Liang's avatar Catherine Liang Committed by Android (Google) Code Review
Browse files

Merge "Update More Wallpapers text color on system color change (2/2)" into main

parents 06e9cb26 ea9b4eaf
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -39,11 +39,12 @@ import com.android.customization.picker.color.ui.view.ColorOptionIconView
import com.android.customization.picker.color.ui.viewmodel.ColorOptionIconViewModel
import com.android.customization.picker.common.ui.view.DoubleRowListItemSpacing
import com.android.themepicker.R
import com.android.wallpaper.customization.ui.util.ThemePickerCustomizationOptionUtil.ThemePickerLockCustomizationOption.CLOCK
import com.android.wallpaper.customization.ui.viewmodel.ClockFloatingSheetHeightsViewModel
import com.android.wallpaper.customization.ui.viewmodel.ClockPickerViewModel
import com.android.wallpaper.customization.ui.viewmodel.ClockPickerViewModel.Tab.COLOR
import com.android.wallpaper.customization.ui.viewmodel.ClockPickerViewModel.Tab.SIZE
import com.android.wallpaper.customization.ui.viewmodel.ClockPickerViewModel.Tab.STYLE
import com.android.wallpaper.customization.ui.viewmodel.ThemePickerCustomizationOptionsViewModel
import com.android.wallpaper.picker.customization.ui.view.FloatingToolbar
import com.android.wallpaper.picker.customization.ui.view.adapter.FloatingToolbarTabAdapter
import com.android.wallpaper.picker.customization.ui.viewmodel.ColorUpdateViewModel
@@ -67,17 +68,21 @@ object ClockFloatingSheetBinder {

    fun bind(
        view: View,
        viewModel: ClockPickerViewModel,
        optionsViewModel: ThemePickerCustomizationOptionsViewModel,
        colorUpdateViewModel: ColorUpdateViewModel,
        lifecycleOwner: LifecycleOwner,
    ) {
        val viewModel = optionsViewModel.clockPickerViewModel

        val appContext = view.context.applicationContext

        val tabs = view.requireViewById<FloatingToolbar>(R.id.floating_toolbar)
        val tabAdapter =
            FloatingToolbarTabAdapter(WeakReference(colorUpdateViewModel)).also {
                tabs.setAdapter(it)
            }
            FloatingToolbarTabAdapter(
                    colorUpdateViewModel = WeakReference(colorUpdateViewModel),
                    shouldAnimateColor = { optionsViewModel.selectedOption.value == CLOCK },
                )
                .also { tabs.setAdapter(it) }

        val floatingSheetContainer =
            view.requireViewById<ViewGroup>(R.id.clock_floating_sheet_content_container)
+10 −5
Original line number Diff line number Diff line
@@ -33,7 +33,8 @@ import com.android.customization.picker.color.ui.view.ColorOptionIconView
import com.android.customization.picker.color.ui.viewmodel.ColorOptionIconViewModel
import com.android.customization.picker.common.ui.view.DoubleRowListItemSpacing
import com.android.themepicker.R
import com.android.wallpaper.customization.ui.viewmodel.ColorPickerViewModel2
import com.android.wallpaper.customization.ui.util.ThemePickerCustomizationOptionUtil.ThemePickerHomeCustomizationOption.COLORS
import com.android.wallpaper.customization.ui.viewmodel.ThemePickerCustomizationOptionsViewModel
import com.android.wallpaper.picker.customization.ui.view.FloatingToolbar
import com.android.wallpaper.picker.customization.ui.view.adapter.FloatingToolbarTabAdapter
import com.android.wallpaper.picker.customization.ui.viewmodel.ColorUpdateViewModel
@@ -45,10 +46,12 @@ object ColorsFloatingSheetBinder {

    fun bind(
        view: View,
        viewModel: ColorPickerViewModel2,
        optionsViewModel: ThemePickerCustomizationOptionsViewModel,
        colorUpdateViewModel: ColorUpdateViewModel,
        lifecycleOwner: LifecycleOwner,
    ) {
        val viewModel = optionsViewModel.colorPickerViewModel2

        val subhead = view.requireViewById<TextView>(R.id.color_type_tab_subhead)

        val colorsAdapter =
@@ -60,9 +63,11 @@ object ColorsFloatingSheetBinder {

        val tabs = view.requireViewById<FloatingToolbar>(R.id.floating_toolbar)
        val tabAdapter =
            FloatingToolbarTabAdapter(WeakReference(colorUpdateViewModel)).also {
                tabs.setAdapter(it)
            }
            FloatingToolbarTabAdapter(
                    colorUpdateViewModel = WeakReference(colorUpdateViewModel),
                    shouldAnimateColor = { optionsViewModel.selectedOption.value == COLORS }
                )
                .also { tabs.setAdapter(it) }

        lifecycleOwner.lifecycleScope.launch {
            lifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
+10 −5
Original line number Diff line number Diff line
@@ -28,7 +28,8 @@ import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.android.customization.picker.common.ui.view.DoubleRowListItemSpacing
import com.android.themepicker.R
import com.android.wallpaper.customization.ui.viewmodel.KeyguardQuickAffordancePickerViewModel2
import com.android.wallpaper.customization.ui.util.ThemePickerCustomizationOptionUtil.ThemePickerLockCustomizationOption.SHORTCUTS
import com.android.wallpaper.customization.ui.viewmodel.ThemePickerCustomizationOptionsViewModel
import com.android.wallpaper.picker.common.dialog.ui.viewbinder.DialogViewBinder
import com.android.wallpaper.picker.common.dialog.ui.viewmodel.DialogViewModel
import com.android.wallpaper.picker.common.icon.ui.viewbinder.IconViewBinder
@@ -50,10 +51,12 @@ object ShortcutFloatingSheetBinder {

    fun bind(
        view: View,
        viewModel: KeyguardQuickAffordancePickerViewModel2,
        optionsViewModel: ThemePickerCustomizationOptionsViewModel,
        colorUpdateViewModel: ColorUpdateViewModel,
        lifecycleOwner: LifecycleOwner,
    ) {
        val viewModel = optionsViewModel.keyguardQuickAffordancePickerViewModel2

        val quickAffordanceAdapter = createOptionItemAdapter(lifecycleOwner)
        val quickAffordanceList =
            view.requireViewById<RecyclerView>(R.id.quick_affordance_horizontal_list).also {
@@ -62,9 +65,11 @@ object ShortcutFloatingSheetBinder {

        val tabs = view.requireViewById<FloatingToolbar>(R.id.floating_toolbar)
        val tabAdapter =
            FloatingToolbarTabAdapter(WeakReference(colorUpdateViewModel)).also {
                tabs.setAdapter(it)
            }
            FloatingToolbarTabAdapter(
                    colorUpdateViewModel = WeakReference(colorUpdateViewModel),
                    shouldAnimateColor = { optionsViewModel.selectedOption.value == SHORTCUTS }
                )
                .also { tabs.setAdapter(it) }

        var dialog: Dialog? = null

+12 −10
Original line number Diff line number Diff line
@@ -34,7 +34,7 @@ import com.android.wallpaper.picker.customization.ui.binder.CustomizationOptions
import com.android.wallpaper.picker.customization.ui.binder.DefaultCustomizationOptionsBinder
import com.android.wallpaper.picker.customization.ui.util.CustomizationOptionUtil.CustomizationOption
import com.android.wallpaper.picker.customization.ui.viewmodel.ColorUpdateViewModel
import com.android.wallpaper.picker.customization.ui.viewmodel.CustomizationOptionsViewModel
import com.android.wallpaper.picker.customization.ui.viewmodel.CustomizationPickerViewModel2
import javax.inject.Inject
import javax.inject.Singleton
import kotlinx.coroutines.launch
@@ -50,7 +50,7 @@ constructor(private val defaultCustomizationOptionsBinder: DefaultCustomizationO
        lockScreenCustomizationOptionEntries: List<Pair<CustomizationOption, View>>,
        homeScreenCustomizationOptionEntries: List<Pair<CustomizationOption, View>>,
        customizationOptionFloatingSheetViewMap: Map<CustomizationOption, View>?,
        viewModel: CustomizationOptionsViewModel,
        viewModel: CustomizationPickerViewModel2,
        colorUpdateViewModel: ColorUpdateViewModel,
        lifecycleOwner: LifecycleOwner,
    ) {
@@ -91,23 +91,25 @@ constructor(private val defaultCustomizationOptionsBinder: DefaultCustomizationO
                .find { it.first == ThemePickerHomeCustomizationOption.COLORS }
                ?.second

        viewModel as ThemePickerCustomizationOptionsViewModel
        val optionsViewModel =
            viewModel.customizationOptionsViewModel as ThemePickerCustomizationOptionsViewModel
        lifecycleOwner.lifecycleScope.launch {
            lifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
                launch {
                    viewModel.onCustomizeClockClicked.collect {
                    optionsViewModel.onCustomizeClockClicked.collect {
                        optionClock?.setOnClickListener { _ -> it?.invoke() }
                    }
                }

                launch {
                    viewModel.onCustomizeShortcutClicked.collect {
                    optionsViewModel.onCustomizeShortcutClicked.collect {
                        optionShortcut?.setOnClickListener { _ -> it?.invoke() }
                    }
                }

                launch {
                    viewModel.keyguardQuickAffordancePickerViewModel2.summary.collect { summary ->
                    optionsViewModel.keyguardQuickAffordancePickerViewModel2.summary.collect {
                        summary ->
                        optionShortcutDescription?.let {
                            TextViewBinder.bind(
                                view = it,
@@ -137,7 +139,7 @@ constructor(private val defaultCustomizationOptionsBinder: DefaultCustomizationO
                }

                launch {
                    viewModel.onCustomizeColorsClicked.collect {
                    optionsViewModel.onCustomizeColorsClicked.collect {
                        optionColors?.setOnClickListener { _ -> it?.invoke() }
                    }
                }
@@ -149,7 +151,7 @@ constructor(private val defaultCustomizationOptionsBinder: DefaultCustomizationO
            ?.let {
                ClockFloatingSheetBinder.bind(
                    it,
                    viewModel.clockPickerViewModel,
                    optionsViewModel,
                    colorUpdateViewModel,
                    lifecycleOwner,
                )
@@ -160,7 +162,7 @@ constructor(private val defaultCustomizationOptionsBinder: DefaultCustomizationO
            ?.let {
                ShortcutFloatingSheetBinder.bind(
                    it,
                    viewModel.keyguardQuickAffordancePickerViewModel2,
                    optionsViewModel,
                    colorUpdateViewModel,
                    lifecycleOwner,
                )
@@ -171,7 +173,7 @@ constructor(private val defaultCustomizationOptionsBinder: DefaultCustomizationO
            ?.let {
                ColorsFloatingSheetBinder.bind(
                    it,
                    viewModel.colorPickerViewModel2,
                    optionsViewModel,
                    colorUpdateViewModel,
                    lifecycleOwner,
                )