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

Commit 335161bc authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 12283639 from 06e9cb26 to 24Q4-release

Change-Id: Iceb04b130691eaae0f21a2d055228d9f2d9f0536
parents 05d5ab7e 06e9cb26
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -34,7 +34,6 @@ class DoubleRowListItemSpacing(
        val itemIndex = parent.getChildAdapterPosition(view)
        val columnIndex = itemIndex / 2
        val isRtl = parent.layoutManager?.layoutDirection == View.LAYOUT_DIRECTION_RTL
        val density = parent.context.resources.displayMetrics.density

        val itemCount = parent.adapter?.itemCount ?: 0
        val columnCount = (itemCount + 1) / 2
+9 −1
Original line number Diff line number Diff line
@@ -45,7 +45,10 @@ import com.android.wallpaper.customization.ui.viewmodel.ClockPickerViewModel.Tab
import com.android.wallpaper.customization.ui.viewmodel.ClockPickerViewModel.Tab.SIZE
import com.android.wallpaper.customization.ui.viewmodel.ClockPickerViewModel.Tab.STYLE
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
import com.android.wallpaper.picker.option.ui.adapter.OptionItemAdapter
import java.lang.ref.WeakReference
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.asStateFlow
@@ -65,11 +68,16 @@ object ClockFloatingSheetBinder {
    fun bind(
        view: View,
        viewModel: ClockPickerViewModel,
        colorUpdateViewModel: ColorUpdateViewModel,
        lifecycleOwner: LifecycleOwner,
    ) {
        val appContext = view.context.applicationContext

        val tabs = view.requireViewById<FloatingToolbar>(R.id.floating_toolbar)
        val tabAdapter =
            FloatingToolbarTabAdapter(WeakReference(colorUpdateViewModel)).also {
                tabs.setAdapter(it)
            }

        val floatingSheetContainer =
            view.requireViewById<ViewGroup>(R.id.clock_floating_sheet_content_container)
@@ -128,7 +136,7 @@ object ClockFloatingSheetBinder {

        lifecycleOwner.lifecycleScope.launch {
            lifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
                launch { viewModel.tabs.collect { tabs.setItems(it) } }
                launch { viewModel.tabs.collect { tabAdapter.submitList(it) } }

                launch {
                    combine(clockFloatingSheetHeights, viewModel.selectedTab) { heights, selectedTab
+9 −1
Original line number Diff line number Diff line
@@ -35,7 +35,10 @@ 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.picker.customization.ui.view.FloatingToolbar
import com.android.wallpaper.picker.customization.ui.view.adapter.FloatingToolbarTabAdapter
import com.android.wallpaper.picker.customization.ui.viewmodel.ColorUpdateViewModel
import com.android.wallpaper.picker.option.ui.adapter.OptionItemAdapter
import java.lang.ref.WeakReference
import kotlinx.coroutines.launch

object ColorsFloatingSheetBinder {
@@ -43,6 +46,7 @@ object ColorsFloatingSheetBinder {
    fun bind(
        view: View,
        viewModel: ColorPickerViewModel2,
        colorUpdateViewModel: ColorUpdateViewModel,
        lifecycleOwner: LifecycleOwner,
    ) {
        val subhead = view.requireViewById<TextView>(R.id.color_type_tab_subhead)
@@ -55,10 +59,14 @@ object ColorsFloatingSheetBinder {
            }

        val tabs = view.requireViewById<FloatingToolbar>(R.id.floating_toolbar)
        val tabAdapter =
            FloatingToolbarTabAdapter(WeakReference(colorUpdateViewModel)).also {
                tabs.setAdapter(it)
            }

        lifecycleOwner.lifecycleScope.launch {
            lifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
                launch { viewModel.colorTypeTabs.collect { tabs.setItems(it) } }
                launch { viewModel.colorTypeTabs.collect { tabAdapter.submitList(it) } }

                launch { viewModel.colorTypeTabSubheader.collect { subhead.text = it } }

+9 −1
Original line number Diff line number Diff line
@@ -34,7 +34,10 @@ import com.android.wallpaper.picker.common.dialog.ui.viewmodel.DialogViewModel
import com.android.wallpaper.picker.common.icon.ui.viewbinder.IconViewBinder
import com.android.wallpaper.picker.common.icon.ui.viewmodel.Icon
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
import com.android.wallpaper.picker.option.ui.adapter.OptionItemAdapter
import java.lang.ref.WeakReference
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.collectIndexed
import kotlinx.coroutines.flow.combine
@@ -48,6 +51,7 @@ object ShortcutFloatingSheetBinder {
    fun bind(
        view: View,
        viewModel: KeyguardQuickAffordancePickerViewModel2,
        colorUpdateViewModel: ColorUpdateViewModel,
        lifecycleOwner: LifecycleOwner,
    ) {
        val quickAffordanceAdapter = createOptionItemAdapter(lifecycleOwner)
@@ -57,12 +61,16 @@ object ShortcutFloatingSheetBinder {
            }

        val tabs = view.requireViewById<FloatingToolbar>(R.id.floating_toolbar)
        val tabAdapter =
            FloatingToolbarTabAdapter(WeakReference(colorUpdateViewModel)).also {
                tabs.setAdapter(it)
            }

        var dialog: Dialog? = null

        lifecycleOwner.lifecycleScope.launch {
            lifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
                launch { viewModel.tabs.collect { tabs.setItems(it) } }
                launch { viewModel.tabs.collect { tabAdapter.submitList(it) } }

                launch {
                    viewModel.quickAffordances.collect { affordances ->
+7 −1
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ import com.android.wallpaper.picker.common.text.ui.viewbinder.TextViewBinder
import com.android.wallpaper.picker.customization.ui.binder.CustomizationOptionsBinder
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 javax.inject.Inject
import javax.inject.Singleton
@@ -50,6 +51,7 @@ constructor(private val defaultCustomizationOptionsBinder: DefaultCustomizationO
        homeScreenCustomizationOptionEntries: List<Pair<CustomizationOption, View>>,
        customizationOptionFloatingSheetViewMap: Map<CustomizationOption, View>?,
        viewModel: CustomizationOptionsViewModel,
        colorUpdateViewModel: ColorUpdateViewModel,
        lifecycleOwner: LifecycleOwner,
    ) {
        defaultCustomizationOptionsBinder.bind(
@@ -58,7 +60,8 @@ constructor(private val defaultCustomizationOptionsBinder: DefaultCustomizationO
            homeScreenCustomizationOptionEntries,
            customizationOptionFloatingSheetViewMap,
            viewModel,
            lifecycleOwner
            colorUpdateViewModel,
            lifecycleOwner,
        )

        val optionClock =
@@ -147,6 +150,7 @@ constructor(private val defaultCustomizationOptionsBinder: DefaultCustomizationO
                ClockFloatingSheetBinder.bind(
                    it,
                    viewModel.clockPickerViewModel,
                    colorUpdateViewModel,
                    lifecycleOwner,
                )
            }
@@ -157,6 +161,7 @@ constructor(private val defaultCustomizationOptionsBinder: DefaultCustomizationO
                ShortcutFloatingSheetBinder.bind(
                    it,
                    viewModel.keyguardQuickAffordancePickerViewModel2,
                    colorUpdateViewModel,
                    lifecycleOwner,
                )
            }
@@ -167,6 +172,7 @@ constructor(private val defaultCustomizationOptionsBinder: DefaultCustomizationO
                ColorsFloatingSheetBinder.bind(
                    it,
                    viewModel.colorPickerViewModel2,
                    colorUpdateViewModel,
                    lifecycleOwner,
                )
            }