Loading packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalHub.kt +21 −0 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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) } Loading packages/SystemUI/multivalentTests/src/com/android/systemui/communal/view/viewmodel/CommunalEditModeViewModelTest.kt +4 −0 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -110,6 +112,8 @@ class CommunalEditModeViewModelTest : SysuiTestCase() { packageManager, WIDGET_PICKER_PACKAGE_NAME, kosmos.mediaCarouselController, kosmos.mediaViewModelFactory, kosmos.mediaCarouselInteractor, ) } Loading packages/SystemUI/multivalentTests/src/com/android/systemui/communal/view/viewmodel/CommunalViewModelTest.kt +4 −0 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -174,6 +176,8 @@ class CommunalViewModelTest(flags: FlagsParameterization) : SysuiTestCase() { false, kosmos.communalSceneLogger, kosmos.falsingInteractor, kosmos.mediaViewModelFactory, kosmos.mediaCarouselInteractor, ) } Loading packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/BaseCommunalViewModel.kt +4 −0 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalEditModeViewModel.kt +6 −0 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 Loading
packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalHub.kt +21 −0 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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) } Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/communal/view/viewmodel/CommunalEditModeViewModelTest.kt +4 −0 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -110,6 +112,8 @@ class CommunalEditModeViewModelTest : SysuiTestCase() { packageManager, WIDGET_PICKER_PACKAGE_NAME, kosmos.mediaCarouselController, kosmos.mediaViewModelFactory, kosmos.mediaCarouselInteractor, ) } Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/communal/view/viewmodel/CommunalViewModelTest.kt +4 −0 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -174,6 +176,8 @@ class CommunalViewModelTest(flags: FlagsParameterization) : SysuiTestCase() { false, kosmos.communalSceneLogger, kosmos.falsingInteractor, kosmos.mediaViewModelFactory, kosmos.mediaCarouselInteractor, ) } Loading
packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/BaseCommunalViewModel.kt +4 −0 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading
packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalEditModeViewModel.kt +6 −0 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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