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

Commit 378497f1 authored by Michael Mikhail's avatar Michael Mikhail Committed by Android (Google) Code Review
Browse files

Merge "Add dagger.lazy to mediaCarouselInteractor parameter" into main

parents bd54238d 7d535ad9
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -207,6 +207,8 @@ import com.android.systemui.communal.widgets.SmartspaceAppWidgetHostView
import com.android.systemui.communal.widgets.WidgetConfigurator
import com.android.systemui.lifecycle.rememberViewModel
import com.android.systemui.media.controls.ui.composable.MediaCarousel
import com.android.systemui.media.remedia.ui.compose.Media
import com.android.systemui.media.remedia.ui.compose.MediaPresentationStyle
import com.android.systemui.res.R
import com.android.systemui.scene.shared.flag.SceneContainerFlag
import com.android.systemui.statusbar.phone.SystemUIDialogFactory
@@ -1826,6 +1828,18 @@ private fun Umo(
                mediaHost = viewModel.mediaHost,
                carouselController = viewModel.mediaCarouselController,
            )
        } else if (Flags.mediaControlsInCompose()) {
            Media(
                viewModelFactory = viewModel.mediaViewModelFactory,
                presentationStyle = MediaPresentationStyle.Large,
                behavior = viewModel.mediaUiBehavior,
                modifier =
                    modifier.background(
                        MaterialTheme.colorScheme.primary,
                        RoundedCornerShape(dimensionResource(R.dimen.notification_corner_radius)),
                    ),
                onDismissed = { viewModel.mediaCarouselInteractorLazy.get().onSwipeToDismiss() },
            )
        } else {
            UmoLegacy(viewModel, modifier)
        }
+4 −0
Original line number Diff line number Diff line
@@ -57,8 +57,10 @@ import com.android.systemui.kosmos.testDispatcher
import com.android.systemui.kosmos.testScope
import com.android.systemui.kosmos.useUnconfinedTestDispatcher
import com.android.systemui.log.logcatLogBuffer
import com.android.systemui.media.controls.domain.pipeline.interactor.mediaCarouselInteractor
import com.android.systemui.media.controls.ui.controller.mediaCarouselController
import com.android.systemui.media.controls.ui.view.MediaHost
import com.android.systemui.media.remedia.ui.viewmodel.factory.mediaViewModelFactory
import com.android.systemui.settings.fakeUserTracker
import com.android.systemui.statusbar.policy.keyguardStateController
import com.android.systemui.testKosmos
@@ -110,6 +112,8 @@ class CommunalEditModeViewModelTest : SysuiTestCase() {
                packageManager,
                WIDGET_PICKER_PACKAGE_NAME,
                kosmos.mediaCarouselController,
                kosmos.mediaViewModelFactory,
                { kosmos.mediaCarouselInteractor },
            )
        }

+4 −0
Original line number Diff line number Diff line
@@ -84,10 +84,12 @@ import com.android.systemui.kosmos.runTest
import com.android.systemui.kosmos.testDispatcher
import com.android.systemui.kosmos.testScope
import com.android.systemui.log.logcatLogBuffer
import com.android.systemui.media.controls.domain.pipeline.interactor.mediaCarouselInteractor
import com.android.systemui.media.controls.ui.controller.MediaHierarchyManager
import com.android.systemui.media.controls.ui.controller.mediaCarouselController
import com.android.systemui.media.controls.ui.view.MediaCarouselScrollHandler
import com.android.systemui.media.controls.ui.view.MediaHost
import com.android.systemui.media.remedia.ui.viewmodel.factory.mediaViewModelFactory
import com.android.systemui.power.domain.interactor.PowerInteractor.Companion.setAwakeForTest
import com.android.systemui.power.domain.interactor.powerInteractor
import com.android.systemui.scene.data.repository.Idle
@@ -174,6 +176,8 @@ class CommunalViewModelTest(flags: FlagsParameterization) : SysuiTestCase() {
            false,
            kosmos.communalSceneLogger,
            kosmos.falsingInteractor,
            kosmos.mediaViewModelFactory,
            { kosmos.mediaCarouselInteractor },
        )
    }

+15 −0
Original line number Diff line number Diff line
@@ -28,10 +28,15 @@ import com.android.systemui.communal.domain.model.CommunalContentModel
import com.android.systemui.communal.shared.model.EditModeState
import com.android.systemui.communal.widgets.WidgetConfigurator
import com.android.systemui.keyguard.shared.model.KeyguardState
import com.android.systemui.media.controls.domain.pipeline.interactor.MediaCarouselInteractor
import com.android.systemui.media.controls.ui.controller.MediaCarouselController
import com.android.systemui.media.controls.ui.view.MediaHost
import com.android.systemui.media.remedia.ui.compose.MediaUiBehavior
import com.android.systemui.media.remedia.ui.viewmodel.MediaCarouselVisibility
import com.android.systemui.media.remedia.ui.viewmodel.MediaViewModel
import com.android.systemui.util.kotlin.BooleanFlowOperators.anyOf
import com.android.systemui.util.kotlin.BooleanFlowOperators.not
import dagger.Lazy
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
@@ -44,6 +49,8 @@ abstract class BaseCommunalViewModel(
    private val communalInteractor: CommunalInteractor,
    val mediaHost: MediaHost,
    val mediaCarouselController: MediaCarouselController,
    val mediaViewModelFactory: MediaViewModel.Factory,
    val mediaCarouselInteractorLazy: Lazy<MediaCarouselInteractor>,
) {
    val currentScene: StateFlow<SceneKey> = communalSceneInteractor.currentScene

@@ -79,6 +86,14 @@ abstract class BaseCommunalViewModel(
     */
    val glanceableTouchAvailable: Flow<Boolean> = anyOf(not(isTouchConsumed), isNestedScrolling)

    val mediaUiBehavior: MediaUiBehavior
        get() =
            MediaUiBehavior(
                isCarouselDismissible = false,
                isCarouselScrollingEnabled = false,
                carouselVisibility = MediaCarouselVisibility.WhenAnyCardIsActive,
            )

    /**
     * The up-to-date value of the grid scroll offset. persisted to interactor on
     * {@link #persistScrollPosition}
+7 −0
Original line number Diff line number Diff line
@@ -47,14 +47,17 @@ import com.android.systemui.keyguard.shared.model.KeyguardState
import com.android.systemui.log.LogBuffer
import com.android.systemui.log.core.Logger
import com.android.systemui.log.dagger.CommunalLog
import com.android.systemui.media.controls.domain.pipeline.interactor.MediaCarouselInteractor
import com.android.systemui.media.controls.ui.controller.MediaCarouselController
import com.android.systemui.media.controls.ui.view.MediaHost
import com.android.systemui.media.dagger.MediaModule
import com.android.systemui.media.remedia.ui.viewmodel.MediaViewModel
import com.android.systemui.res.R
import com.android.systemui.scene.shared.model.Scenes
import com.android.systemui.statusbar.policy.KeyguardStateController
import com.android.systemui.util.kotlin.BooleanFlowOperators.allOf
import com.android.systemui.util.kotlin.BooleanFlowOperators.not
import dagger.Lazy
import javax.inject.Inject
import javax.inject.Named
import kotlinx.coroutines.CoroutineDispatcher
@@ -87,12 +90,16 @@ constructor(
    private val packageManager: PackageManager,
    @Named(LAUNCHER_PACKAGE) private val launcherPackage: String,
    mediaCarouselController: MediaCarouselController,
    mediaViewModelFactory: MediaViewModel.Factory,
    mediaCarouselInteractorLazy: Lazy<MediaCarouselInteractor>,
) :
    BaseCommunalViewModel(
        communalSceneInteractor,
        communalInteractor,
        mediaHost,
        mediaCarouselController,
        mediaViewModelFactory,
        mediaCarouselInteractorLazy,
    ) {

    private val logger = Logger(logBuffer, "CommunalEditModeViewModel")
Loading