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

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

Merge "Add media composable to communal" into main

parents 097e958a c28371cc
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -207,6 +207,10 @@ 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.media.remedia.ui.compose.MediaUiBehavior
import com.android.systemui.media.remedia.ui.viewmodel.MediaCarouselVisibility
import com.android.systemui.res.R
import com.android.systemui.scene.shared.flag.SceneContainerFlag
import com.android.systemui.statusbar.phone.SystemUIDialogFactory
@@ -1826,6 +1830,23 @@ private fun Umo(
                mediaHost = viewModel.mediaHost,
                carouselController = viewModel.mediaCarouselController,
            )
        } else if (Flags.mediaControlsInCompose()) {
            Media(
                viewModelFactory = viewModel.mediaViewModelFactory,
                presentationStyle = MediaPresentationStyle.Large,
                behavior =
                    MediaUiBehavior(
                        isCarouselDismissible = false,
                        isCarouselScrollingEnabled = false,
                        carouselVisibility = MediaCarouselVisibility.WhenAnyCardIsActive,
                    ),
                modifier =
                    modifier.background(
                        MaterialTheme.colorScheme.primary,
                        RoundedCornerShape(dimensionResource(R.dimen.notification_corner_radius)),
                    ),
                onDismissed = { viewModel.mediaCarouselInteractor.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,
        )
    }

+4 −0
Original line number Diff line number Diff line
@@ -28,8 +28,10 @@ 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.viewmodel.MediaViewModel
import com.android.systemui.util.kotlin.BooleanFlowOperators.anyOf
import com.android.systemui.util.kotlin.BooleanFlowOperators.not
import kotlinx.coroutines.flow.Flow
@@ -44,6 +46,8 @@ abstract class BaseCommunalViewModel(
    private val communalInteractor: CommunalInteractor,
    val mediaHost: MediaHost,
    val mediaCarouselController: MediaCarouselController,
    val mediaViewModelFactory: MediaViewModel.Factory,
    val mediaCarouselInteractor: MediaCarouselInteractor,
) {
    val currentScene: StateFlow<SceneKey> = communalSceneInteractor.currentScene

+6 −0
Original line number Diff line number Diff line
@@ -47,9 +47,11 @@ 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
@@ -87,12 +89,16 @@ constructor(
    private val packageManager: PackageManager,
    @Named(LAUNCHER_PACKAGE) private val launcherPackage: String,
    mediaCarouselController: MediaCarouselController,
    mediaViewModelFactory: MediaViewModel.Factory,
    mediaCarouselInteractor: MediaCarouselInteractor,
) :
    BaseCommunalViewModel(
        communalSceneInteractor,
        communalInteractor,
        mediaHost,
        mediaCarouselController,
        mediaViewModelFactory,
        mediaCarouselInteractor,
    ) {

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