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

Commit 304143aa authored by Brad Hinegardner's avatar Brad Hinegardner Committed by Android (Google) Code Review
Browse files

Merge "Display smartspace in lockscreen preview" into udc-dev

parents 2c554e71 ecd86bf0
Loading
Loading
Loading
Loading
+14 −1
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ object ClockCarouselViewBinder {
        viewModel: ClockCarouselViewModel,
        clockViewFactory: ClockViewFactory,
        lifecycleOwner: LifecycleOwner,
        hideSmartspace: (Boolean) -> Unit,
    ) {
        val singleClockHostView =
            singleClockView.requireViewById<FrameLayout>(R.id.single_clock_host_view)
@@ -53,7 +54,19 @@ object ClockCarouselViewBinder {
                                clockViewFactory.getController(clockId)
                            },
                            onClockSelected = { clockId -> viewModel.setSelectedClock(clockId) },
                            getPreviewRatio = { clockViewFactory.getRatio() }
                            getPreviewRatio = { clockViewFactory.getRatio() },
                            onClockTransitionCompleted = { startId, endId ->
                                if (startId != endId ) {
                                    val hasCustomWeatherDataDisplay =
                                            clockViewFactory
                                                    .getController(endId)
                                                    .largeClock
                                                    .config
                                                    .hasCustomWeatherDataDisplay

                                    hideSmartspace(hasCustomWeatherDataDisplay)
                                }
                            },
                        )
                    }
                }
+7 −2
Original line number Diff line number Diff line
@@ -59,6 +59,7 @@ class ClockCarouselView(
        onGetClockController: (clockId: String) -> ClockController,
        onClockSelected: (clockId: String) -> Unit,
        getPreviewRatio: () -> Float,
        onClockTransitionCompleted: (startId: String, endId: String) -> Unit,
    ) {
        adapter =
            ClockCarouselAdapter(clockIds, onGetClockController, onClockSelected, getPreviewRatio)
@@ -66,17 +67,20 @@ class ClockCarouselView(
        carousel.refresh()
        motionLayout.setTransitionListener(
            object : MotionLayout.TransitionListener {
                var scalingDownClockId = ""
                var scalingUpClockId = ""

                override fun onTransitionStarted(
                    motionLayout: MotionLayout?,
                    startId: Int,
                    endId: Int
                ) {
                    isCarouselInTransition = true
                    val scalingDownClockId = adapter.clockIds[carousel.currentIndex]
                    scalingDownClockId = adapter.clockIds[carousel.currentIndex]
                    val scalingUpIdx =
                        if (endId == R.id.next) (carousel.currentIndex + 1) % adapter.count()
                        else (carousel.currentIndex - 1 + adapter.count()) % adapter.count()
                    val scalingUpClockId = adapter.clockIds[scalingUpIdx]
                    scalingUpClockId = adapter.clockIds[scalingUpIdx]
                    scalingDownClockController = adapter.onGetClockController(scalingDownClockId)
                    scalingUpClockController = adapter.onGetClockController(scalingUpClockId)
                    scalingDownClockView = motionLayout?.findViewById(R.id.clock_scale_view_2)
@@ -118,6 +122,7 @@ class ClockCarouselView(

                override fun onTransitionCompleted(motionLayout: MotionLayout?, currentId: Int) {
                    isCarouselInTransition = false
                    onClockTransitionCompleted(scalingDownClockId, scalingUpClockId)
                }

                override fun onTransitionTrigger(
+15 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.customization.picker.preview.ui.section

import android.app.Activity
import android.content.Context
import android.os.Bundle
import android.view.View
import android.view.View.OnAttachStateChangeListener
import android.view.ViewGroup
@@ -31,6 +32,7 @@ import com.android.customization.picker.clock.ui.fragment.ClockSettingsFragment
import com.android.customization.picker.clock.ui.view.ClockCarouselView
import com.android.customization.picker.clock.ui.view.ClockViewFactory
import com.android.customization.picker.clock.ui.viewmodel.ClockCarouselViewModel
import com.android.systemui.shared.quickaffordance.shared.model.KeyguardPreviewConstants
import com.android.wallpaper.R
import com.android.wallpaper.model.CustomizationSectionController.CustomizationSectionNavigationController
import com.android.wallpaper.model.WallpaperColorsViewModel
@@ -112,6 +114,7 @@ class PreviewWithClockCarouselSectionController(
                                    viewModel = clockCarouselViewModel,
                                    clockViewFactory = clockViewFactory,
                                    lifecycleOwner = lifecycleOwner,
                                    hideSmartspace = ::hideSmartspace,
                                )
                                if (onAttachStateChangeListener != null) {
                                    carouselView.carousel.removeOnAttachStateChangeListener(
@@ -130,4 +133,16 @@ class PreviewWithClockCarouselSectionController(

        return view
    }

    private fun hideSmartspace(hide: Boolean) {
        previewViewBinding.sendMessage(
            KeyguardPreviewConstants.MESSAGE_ID_HIDE_SMART_SPACE,
            Bundle().apply {
                putBoolean(
                    KeyguardPreviewConstants.KEY_HIDE_SMART_SPACE,
                    hide,
                )
            }
        )
    }
}
+3 −3
Original line number Diff line number Diff line
@@ -25,7 +25,7 @@ import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.flowWithLifecycle
import androidx.lifecycle.lifecycleScope
import com.android.customization.picker.quickaffordance.ui.viewmodel.KeyguardQuickAffordancePickerViewModel
import com.android.systemui.shared.quickaffordance.shared.model.KeyguardQuickAffordancePreviewConstants
import com.android.systemui.shared.quickaffordance.shared.model.KeyguardPreviewConstants
import com.android.wallpaper.R
import com.android.wallpaper.picker.customization.ui.binder.ScreenPreviewBinder
import kotlinx.coroutines.launch
@@ -61,9 +61,9 @@ object KeyguardQuickAffordancePreviewBinder {
                .flowWithLifecycle(lifecycleOwner.lifecycle, Lifecycle.State.STARTED)
                .collect { slotId ->
                    binding.sendMessage(
                        KeyguardQuickAffordancePreviewConstants.MESSAGE_ID_SLOT_SELECTED,
                        KeyguardPreviewConstants.MESSAGE_ID_SLOT_SELECTED,
                        Bundle().apply {
                            putString(KeyguardQuickAffordancePreviewConstants.KEY_SLOT_ID, slotId)
                            putString(KeyguardPreviewConstants.KEY_SLOT_ID, slotId)
                        },
                    )
                }
+3 −3
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@ import androidx.lifecycle.viewModelScope
import com.android.customization.picker.quickaffordance.domain.interactor.KeyguardQuickAffordancePickerInteractor
import com.android.systemui.shared.customization.data.content.CustomizationProviderContract
import com.android.systemui.shared.keyguard.shared.model.KeyguardQuickAffordanceSlots
import com.android.systemui.shared.quickaffordance.shared.model.KeyguardQuickAffordancePreviewConstants
import com.android.systemui.shared.quickaffordance.shared.model.KeyguardPreviewConstants
import com.android.wallpaper.R
import com.android.wallpaper.module.CurrentWallpaperInfoFactory
import com.android.wallpaper.picker.common.button.ui.viewmodel.ButtonStyle
@@ -79,11 +79,11 @@ private constructor(
            initialExtrasProvider = {
                Bundle().apply {
                    putString(
                        KeyguardQuickAffordancePreviewConstants.KEY_INITIALLY_SELECTED_SLOT_ID,
                        KeyguardPreviewConstants.KEY_INITIALLY_SELECTED_SLOT_ID,
                        selectedSlotId.value,
                    )
                    putBoolean(
                        KeyguardQuickAffordancePreviewConstants.KEY_HIGHLIGHT_QUICK_AFFORDANCES,
                        KeyguardPreviewConstants.KEY_HIGHLIGHT_QUICK_AFFORDANCES,
                        true,
                    )
                }