diff options
41 files changed, 148 insertions, 121 deletions
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/adapter/QSSceneAdapterImplTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/adapter/QSSceneAdapterImplTest.kt index 8769022f3aa8..afefc79de900 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/adapter/QSSceneAdapterImplTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/adapter/QSSceneAdapterImplTest.kt @@ -39,7 +39,7 @@ import com.android.systemui.qs.dagger.QSComponent import com.android.systemui.qs.dagger.QSSceneComponent import com.android.systemui.settings.brightness.MirrorController import com.android.systemui.shade.data.repository.fakeShadeRepository -import com.android.systemui.shade.domain.interactor.shadeInteractor +import com.android.systemui.shade.domain.interactor.shadeModeInteractor import com.android.systemui.util.mockito.any import com.android.systemui.util.mockito.argumentCaptor import com.android.systemui.util.mockito.capture @@ -118,16 +118,14 @@ class QSSceneAdapterImplTest : SysuiTestCase() { } } - private val shadeInteractor = kosmos.shadeInteractor - private val displayStateInteractor = kosmos.displayStateInteractor private val dumpManager = mock<DumpManager>() private val underTest = QSSceneAdapterImpl( qsSceneComponentFactory, qsImplProvider, - shadeInteractor, - displayStateInteractor, + kosmos.shadeModeInteractor, + kosmos.displayStateInteractor, dumpManager, testDispatcher, testScope.backgroundScope, diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsSceneContentViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsSceneContentViewModelTest.kt index cc94005a418c..b36c111904b9 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsSceneContentViewModelTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsSceneContentViewModelTest.kt @@ -39,13 +39,14 @@ import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.settings.brightness.ui.viewmodel.brightnessMirrorViewModelFactory import com.android.systemui.shade.data.repository.shadeRepository import com.android.systemui.shade.domain.interactor.disableDualShade -import com.android.systemui.shade.domain.interactor.shadeInteractor +import com.android.systemui.shade.domain.interactor.shadeModeInteractor import com.android.systemui.shade.ui.viewmodel.shadeHeaderViewModelFactory import com.android.systemui.testKosmos import com.android.systemui.util.mockito.any import com.android.systemui.util.mockito.mock import com.android.systemui.util.mockito.whenever import com.google.common.truth.Truth.assertThat +import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.runCurrent import kotlinx.coroutines.test.runTest import org.junit.Before @@ -54,6 +55,7 @@ import org.junit.runner.RunWith import org.mockito.Mockito.times import org.mockito.Mockito.verify +@OptIn(ExperimentalCoroutinesApi::class) @SmallTest @RunWith(AndroidJUnit4::class) @RunWithLooper @@ -72,7 +74,6 @@ class QuickSettingsSceneContentViewModelTest : SysuiTestCase() { private val sceneContainerStartable = kosmos.sceneContainerStartable private val sceneInteractor by lazy { kosmos.sceneInteractor } - private val shadeInteractor by lazy { kosmos.shadeInteractor } private lateinit var underTest: QuickSettingsSceneContentViewModel @@ -89,7 +90,7 @@ class QuickSettingsSceneContentViewModelTest : SysuiTestCase() { footerActionsViewModelFactory = footerActionsViewModelFactory, footerActionsController = footerActionsController, mediaCarouselInteractor = kosmos.mediaCarouselInteractor, - shadeInteractor = shadeInteractor, + shadeModeInteractor = kosmos.shadeModeInteractor, sceneInteractor = sceneInteractor, ) underTest.activateIn(testScope) diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/ui/viewmodel/GoneUserActionsViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/ui/viewmodel/GoneUserActionsViewModelTest.kt index 048dd66ae1da..47591806c20f 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/ui/viewmodel/GoneUserActionsViewModelTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/ui/viewmodel/GoneUserActionsViewModelTest.kt @@ -33,7 +33,7 @@ import com.android.systemui.scene.shared.model.TransitionKeys.ToSplitShade import com.android.systemui.shade.domain.interactor.enableDualShade import com.android.systemui.shade.domain.interactor.enableSingleShade import com.android.systemui.shade.domain.interactor.enableSplitShade -import com.android.systemui.shade.domain.interactor.shadeInteractor +import com.android.systemui.shade.domain.interactor.shadeModeInteractor import com.android.systemui.testKosmos import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -56,7 +56,7 @@ class GoneUserActionsViewModelTest : SysuiTestCase() { @Before fun setUp() { - underTest = GoneUserActionsViewModel(shadeInteractor = kosmos.shadeInteractor) + underTest = GoneUserActionsViewModel(shadeModeInteractor = kosmos.shadeModeInteractor) underTest.activateIn(testScope) } diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/ui/viewmodel/SceneContainerViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/ui/viewmodel/SceneContainerViewModelTest.kt index 399b48fb2fb9..16ee1eb78107 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/ui/viewmodel/SceneContainerViewModelTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/ui/viewmodel/SceneContainerViewModelTest.kt @@ -42,7 +42,7 @@ import com.android.systemui.scene.shared.model.fakeSceneDataSource import com.android.systemui.shade.domain.interactor.enableDualShade import com.android.systemui.shade.domain.interactor.enableSingleShade import com.android.systemui.shade.domain.interactor.enableSplitShade -import com.android.systemui.shade.domain.interactor.shadeInteractor +import com.android.systemui.shade.domain.interactor.shadeMode import com.android.systemui.shade.shared.model.ShadeMode import com.android.systemui.statusbar.data.repository.fakeRemoteInputRepository import com.android.systemui.testKosmos @@ -324,7 +324,7 @@ class SceneContainerViewModelTest : SysuiTestCase() { @Test fun edgeDetector_singleShade_usesDefaultEdgeDetector() = testScope.runTest { - val shadeMode by collectLastValue(kosmos.shadeInteractor.shadeMode) + val shadeMode by collectLastValue(kosmos.shadeMode) kosmos.enableSingleShade() assertThat(shadeMode).isEqualTo(ShadeMode.Single) @@ -334,7 +334,7 @@ class SceneContainerViewModelTest : SysuiTestCase() { @Test fun edgeDetector_splitShade_usesDefaultEdgeDetector() = testScope.runTest { - val shadeMode by collectLastValue(kosmos.shadeInteractor.shadeMode) + val shadeMode by collectLastValue(kosmos.shadeMode) kosmos.enableSplitShade() assertThat(shadeMode).isEqualTo(ShadeMode.Split) @@ -344,7 +344,7 @@ class SceneContainerViewModelTest : SysuiTestCase() { @Test fun edgeDetector_dualShade_narrowScreen_usesSplitEdgeDetector() = testScope.runTest { - val shadeMode by collectLastValue(kosmos.shadeInteractor.shadeMode) + val shadeMode by collectLastValue(kosmos.shadeMode) kosmos.enableDualShade(wideLayout = false) assertThat(shadeMode).isEqualTo(ShadeMode.Dual) @@ -354,7 +354,7 @@ class SceneContainerViewModelTest : SysuiTestCase() { @Test fun edgeDetector_dualShade_wideScreen_usesSplitEdgeDetector() = testScope.runTest { - val shadeMode by collectLastValue(kosmos.shadeInteractor.shadeMode) + val shadeMode by collectLastValue(kosmos.shadeMode) kosmos.enableDualShade(wideLayout = true) assertThat(shadeMode).isEqualTo(ShadeMode.Dual) diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/domain/interactor/ShadeInteractorSceneContainerImplTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/domain/interactor/ShadeInteractorSceneContainerImplTest.kt index 5c9cf82574a1..c0645c4e7964 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/domain/interactor/ShadeInteractorSceneContainerImplTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/domain/interactor/ShadeInteractorSceneContainerImplTest.kt @@ -597,7 +597,7 @@ class ShadeInteractorSceneContainerImplTest : SysuiTestCase() { fun expandNotificationsShade_dualShade_opensOverlay() = testScope.runTest { kosmos.enableDualShade() - val shadeMode by collectLastValue(kosmos.shadeModeInteractor.shadeMode) + val shadeMode by collectLastValue(kosmos.shadeMode) val currentScene by collectLastValue(sceneInteractor.currentScene) val currentOverlays by collectLastValue(sceneInteractor.currentOverlays) assertThat(shadeMode).isEqualTo(ShadeMode.Dual) @@ -614,7 +614,7 @@ class ShadeInteractorSceneContainerImplTest : SysuiTestCase() { fun expandNotificationsShade_singleShade_switchesToShadeScene() = testScope.runTest { kosmos.enableSingleShade() - val shadeMode by collectLastValue(kosmos.shadeModeInteractor.shadeMode) + val shadeMode by collectLastValue(kosmos.shadeMode) val currentScene by collectLastValue(sceneInteractor.currentScene) val currentOverlays by collectLastValue(sceneInteractor.currentOverlays) assertThat(shadeMode).isEqualTo(ShadeMode.Single) @@ -631,7 +631,7 @@ class ShadeInteractorSceneContainerImplTest : SysuiTestCase() { fun expandNotificationsShade_dualShadeQuickSettingsOpen_replacesOverlay() = testScope.runTest { kosmos.enableDualShade() - val shadeMode by collectLastValue(kosmos.shadeModeInteractor.shadeMode) + val shadeMode by collectLastValue(kosmos.shadeMode) val currentScene by collectLastValue(sceneInteractor.currentScene) val currentOverlays by collectLastValue(sceneInteractor.currentOverlays) assertThat(shadeMode).isEqualTo(ShadeMode.Dual) @@ -649,7 +649,7 @@ class ShadeInteractorSceneContainerImplTest : SysuiTestCase() { fun expandQuickSettingsShade_dualShade_opensOverlay() = testScope.runTest { kosmos.enableDualShade() - val shadeMode by collectLastValue(kosmos.shadeModeInteractor.shadeMode) + val shadeMode by collectLastValue(kosmos.shadeMode) val currentScene by collectLastValue(sceneInteractor.currentScene) val currentOverlays by collectLastValue(sceneInteractor.currentOverlays) assertThat(shadeMode).isEqualTo(ShadeMode.Dual) @@ -666,7 +666,7 @@ class ShadeInteractorSceneContainerImplTest : SysuiTestCase() { fun expandQuickSettingsShade_singleShade_switchesToQuickSettingsScene() = testScope.runTest { kosmos.enableSingleShade() - val shadeMode by collectLastValue(kosmos.shadeModeInteractor.shadeMode) + val shadeMode by collectLastValue(kosmos.shadeMode) val currentScene by collectLastValue(sceneInteractor.currentScene) val currentOverlays by collectLastValue(sceneInteractor.currentOverlays) assertThat(shadeMode).isEqualTo(ShadeMode.Single) @@ -683,7 +683,7 @@ class ShadeInteractorSceneContainerImplTest : SysuiTestCase() { fun expandQuickSettingsShade_splitShade_switchesToShadeScene() = testScope.runTest { kosmos.enableSplitShade() - val shadeMode by collectLastValue(kosmos.shadeModeInteractor.shadeMode) + val shadeMode by collectLastValue(kosmos.shadeMode) val currentScene by collectLastValue(sceneInteractor.currentScene) val currentOverlays by collectLastValue(sceneInteractor.currentOverlays) assertThat(shadeMode).isEqualTo(ShadeMode.Split) @@ -700,7 +700,7 @@ class ShadeInteractorSceneContainerImplTest : SysuiTestCase() { fun expandQuickSettingsShade_dualShadeNotificationsOpen_replacesOverlay() = testScope.runTest { kosmos.enableDualShade() - val shadeMode by collectLastValue(kosmos.shadeModeInteractor.shadeMode) + val shadeMode by collectLastValue(kosmos.shadeMode) val currentScene by collectLastValue(sceneInteractor.currentScene) val currentOverlays by collectLastValue(sceneInteractor.currentOverlays) assertThat(shadeMode).isEqualTo(ShadeMode.Dual) @@ -732,7 +732,7 @@ class ShadeInteractorSceneContainerImplTest : SysuiTestCase() { fun collapseNotificationsShade_singleShade_switchesToLockscreen() = testScope.runTest { kosmos.enableSingleShade() - val shadeMode by collectLastValue(kosmos.shadeModeInteractor.shadeMode) + val shadeMode by collectLastValue(kosmos.shadeMode) val currentScene by collectLastValue(sceneInteractor.currentScene) val currentOverlays by collectLastValue(sceneInteractor.currentOverlays) assertThat(shadeMode).isEqualTo(ShadeMode.Single) @@ -764,7 +764,7 @@ class ShadeInteractorSceneContainerImplTest : SysuiTestCase() { fun collapseQuickSettingsShadeNotBypassingShade_singleShade_switchesToShade() = testScope.runTest { kosmos.enableSingleShade() - val shadeMode by collectLastValue(kosmos.shadeModeInteractor.shadeMode) + val shadeMode by collectLastValue(kosmos.shadeMode) val currentScene by collectLastValue(sceneInteractor.currentScene) val currentOverlays by collectLastValue(sceneInteractor.currentOverlays) assertThat(shadeMode).isEqualTo(ShadeMode.Single) @@ -786,7 +786,7 @@ class ShadeInteractorSceneContainerImplTest : SysuiTestCase() { fun collapseQuickSettingsShadeNotBypassingShade_splitShade_switchesToLockscreen() = testScope.runTest { kosmos.enableSplitShade() - val shadeMode by collectLastValue(kosmos.shadeModeInteractor.shadeMode) + val shadeMode by collectLastValue(kosmos.shadeMode) val currentScene by collectLastValue(sceneInteractor.currentScene) val currentOverlays by collectLastValue(sceneInteractor.currentOverlays) assertThat(shadeMode).isEqualTo(ShadeMode.Split) @@ -808,7 +808,7 @@ class ShadeInteractorSceneContainerImplTest : SysuiTestCase() { fun collapseQuickSettingsShadeBypassingShade_singleShade_switchesToLockscreen() = testScope.runTest { kosmos.enableSingleShade() - val shadeMode by collectLastValue(kosmos.shadeModeInteractor.shadeMode) + val shadeMode by collectLastValue(kosmos.shadeMode) val currentScene by collectLastValue(sceneInteractor.currentScene) val currentOverlays by collectLastValue(sceneInteractor.currentOverlays) assertThat(shadeMode).isEqualTo(ShadeMode.Single) @@ -844,7 +844,7 @@ class ShadeInteractorSceneContainerImplTest : SysuiTestCase() { } private fun TestScope.openShade(overlay: OverlayKey) { - val shadeMode by collectLastValue(kosmos.shadeModeInteractor.shadeMode) + val shadeMode by collectLastValue(kosmos.shadeMode) val isAnyExpanded by collectLastValue(underTest.isAnyExpanded) val currentScene by collectLastValue(sceneInteractor.currentScene) val currentOverlays by collectLastValue(sceneInteractor.currentOverlays) diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/domain/startable/ShadeStartableTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/domain/startable/ShadeStartableTest.kt index 0406c3e69b54..f939d09d8caa 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/domain/startable/ShadeStartableTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/domain/startable/ShadeStartableTest.kt @@ -39,7 +39,7 @@ import com.android.systemui.shade.ShadeExpansionChangeEvent import com.android.systemui.shade.ShadeExpansionListener import com.android.systemui.shade.domain.interactor.disableDualShade import com.android.systemui.shade.domain.interactor.enableDualShade -import com.android.systemui.shade.domain.interactor.shadeInteractor +import com.android.systemui.shade.domain.interactor.shadeMode import com.android.systemui.shade.shared.model.ShadeMode import com.android.systemui.statusbar.notification.stack.notificationStackScrollLayoutController import com.android.systemui.statusbar.phone.scrimController @@ -66,7 +66,6 @@ import platform.test.runner.parameterized.Parameters class ShadeStartableTest(flags: FlagsParameterization) : SysuiTestCase() { private val kosmos = testKosmos() private val testScope = kosmos.testScope - private val shadeInteractor by lazy { kosmos.shadeInteractor } private val sceneInteractor by lazy { kosmos.sceneInteractor } private val shadeExpansionStateManager by lazy { kosmos.shadeExpansionStateManager } private val fakeConfigurationRepository by lazy { kosmos.fakeConfigurationRepository } @@ -91,7 +90,7 @@ class ShadeStartableTest(flags: FlagsParameterization) : SysuiTestCase() { testScope.runTest { overrideResource(R.bool.config_use_split_notification_shade, false) kosmos.disableDualShade() - val shadeMode by collectLastValue(shadeInteractor.shadeMode) + val shadeMode by collectLastValue(kosmos.shadeMode) underTest.start() assertThat(shadeMode).isEqualTo(ShadeMode.Single) @@ -110,7 +109,7 @@ class ShadeStartableTest(flags: FlagsParameterization) : SysuiTestCase() { testScope.runTest { overrideResource(R.bool.config_use_split_notification_shade, false) kosmos.enableDualShade() - val shadeMode by collectLastValue(shadeInteractor.shadeMode) + val shadeMode by collectLastValue(kosmos.shadeMode) underTest.start() assertThat(shadeMode).isEqualTo(ShadeMode.Dual) diff --git a/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalUserActionsViewModel.kt b/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalUserActionsViewModel.kt index e35fdfe9087c..29d9cacdbc79 100644 --- a/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalUserActionsViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalUserActionsViewModel.kt @@ -24,6 +24,7 @@ import com.android.systemui.scene.shared.model.SceneFamilies import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.scene.ui.viewmodel.UserActionsViewModel import com.android.systemui.shade.domain.interactor.ShadeInteractor +import com.android.systemui.shade.domain.interactor.ShadeModeInteractor import com.android.systemui.shade.shared.model.ShadeMode import com.android.systemui.shade.ui.viewmodel.dualShadeActions import com.android.systemui.shade.ui.viewmodel.singleShadeActions @@ -41,6 +42,7 @@ class CommunalUserActionsViewModel constructor( private val deviceUnlockedInteractor: DeviceUnlockedInteractor, private val shadeInteractor: ShadeInteractor, + private val shadeModeInteractor: ShadeModeInteractor, ) : UserActionsViewModel() { override suspend fun hydrateActions(setActions: (Map<UserAction, UserActionResult>) -> Unit) { @@ -51,7 +53,7 @@ constructor( } else { combine( deviceUnlockedInteractor.deviceUnlockStatus.map { it.isUnlocked }, - shadeInteractor.shadeMode, + shadeModeInteractor.shadeMode, ) { isDeviceUnlocked, shadeMode -> buildList { val bouncerOrGone = diff --git a/packages/SystemUI/src/com/android/systemui/dreams/ui/viewmodel/DreamUserActionsViewModel.kt b/packages/SystemUI/src/com/android/systemui/dreams/ui/viewmodel/DreamUserActionsViewModel.kt index 160574fa2244..9ce2ce0100a3 100644 --- a/packages/SystemUI/src/com/android/systemui/dreams/ui/viewmodel/DreamUserActionsViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/dreams/ui/viewmodel/DreamUserActionsViewModel.kt @@ -24,6 +24,7 @@ import com.android.systemui.deviceentry.domain.interactor.DeviceUnlockedInteract import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.scene.ui.viewmodel.UserActionsViewModel import com.android.systemui.shade.domain.interactor.ShadeInteractor +import com.android.systemui.shade.domain.interactor.ShadeModeInteractor import com.android.systemui.shade.shared.model.ShadeMode import com.android.systemui.shade.ui.viewmodel.dualShadeActions import com.android.systemui.shade.ui.viewmodel.singleShadeActions @@ -42,6 +43,7 @@ constructor( private val communalInteractor: CommunalInteractor, private val deviceUnlockedInteractor: DeviceUnlockedInteractor, private val shadeInteractor: ShadeInteractor, + private val shadeModeInteractor: ShadeModeInteractor, ) : UserActionsViewModel() { override suspend fun hydrateActions(setActions: (Map<UserAction, UserActionResult>) -> Unit) { @@ -53,7 +55,7 @@ constructor( combine( deviceUnlockedInteractor.deviceUnlockStatus.map { it.isUnlocked }, communalInteractor.isCommunalAvailable, - shadeInteractor.shadeMode, + shadeModeInteractor.shadeMode, ) { isDeviceUnlocked, isCommunalAvailable, shadeMode -> buildList { if (isCommunalAvailable) { diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenUserActionsViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenUserActionsViewModel.kt index b7e3e2b38732..3353983ab5a5 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenUserActionsViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenUserActionsViewModel.kt @@ -25,23 +25,27 @@ import com.android.systemui.scene.domain.interactor.SceneContainerOcclusionInter import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.scene.ui.viewmodel.UserActionsViewModel import com.android.systemui.shade.domain.interactor.ShadeInteractor +import com.android.systemui.shade.domain.interactor.ShadeModeInteractor import com.android.systemui.shade.shared.model.ShadeMode import com.android.systemui.shade.ui.viewmodel.dualShadeActions import com.android.systemui.shade.ui.viewmodel.singleShadeActions import com.android.systemui.shade.ui.viewmodel.splitShadeActions import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject +import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.flatMapLatest import kotlinx.coroutines.flow.flowOf /** Models UI state and handles user input for the lockscreen scene. */ +@OptIn(ExperimentalCoroutinesApi::class) class LockscreenUserActionsViewModel @AssistedInject constructor( private val deviceEntryInteractor: DeviceEntryInteractor, private val communalInteractor: CommunalInteractor, private val shadeInteractor: ShadeInteractor, + private val shadeModeInteractor: ShadeModeInteractor, private val occlusionInteractor: SceneContainerOcclusionInteractor, ) : UserActionsViewModel() { @@ -55,7 +59,7 @@ constructor( combine( deviceEntryInteractor.isUnlocked, communalInteractor.isCommunalAvailable, - shadeInteractor.shadeMode, + shadeModeInteractor.shadeMode, occlusionInteractor.isOccludingActivityShown, ) { isDeviceUnlocked, isCommunalAvailable, shadeMode, isOccluded -> buildList { diff --git a/packages/SystemUI/src/com/android/systemui/qs/panels/domain/interactor/QSColumnsInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/panels/domain/interactor/QSColumnsInteractor.kt index 2b2a63b1fded..e6b89fcf2d1f 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/panels/domain/interactor/QSColumnsInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/panels/domain/interactor/QSColumnsInteractor.kt @@ -19,25 +19,27 @@ package com.android.systemui.qs.panels.domain.interactor import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.qs.panels.data.repository.QSColumnsRepository -import com.android.systemui.shade.domain.interactor.ShadeInteractor +import com.android.systemui.shade.domain.interactor.ShadeModeInteractor import com.android.systemui.shade.shared.model.ShadeMode import javax.inject.Inject import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.flatMapLatest import kotlinx.coroutines.flow.stateIn +@OptIn(ExperimentalCoroutinesApi::class) @SysUISingleton class QSColumnsInteractor @Inject constructor( @Application scope: CoroutineScope, repo: QSColumnsRepository, - shadeInteractor: ShadeInteractor, + shadeModeInteractor: ShadeModeInteractor, ) { val columns: StateFlow<Int> = - shadeInteractor.shadeMode + shadeModeInteractor.shadeMode .flatMapLatest { when (it) { ShadeMode.Dual -> repo.dualShadeColumns diff --git a/packages/SystemUI/src/com/android/systemui/qs/ui/adapter/QSSceneAdapter.kt b/packages/SystemUI/src/com/android/systemui/qs/ui/adapter/QSSceneAdapter.kt index d4adcdd49f5c..a97bb6102b5d 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/ui/adapter/QSSceneAdapter.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/ui/adapter/QSSceneAdapter.kt @@ -38,7 +38,7 @@ import com.android.systemui.qs.dagger.QSSceneComponent import com.android.systemui.res.R import com.android.systemui.settings.brightness.MirrorController import com.android.systemui.shade.ShadeDisplayAware -import com.android.systemui.shade.domain.interactor.ShadeInteractor +import com.android.systemui.shade.domain.interactor.ShadeModeInteractor import com.android.systemui.shade.shared.model.ShadeMode import com.android.systemui.util.kotlin.sample import java.io.PrintWriter @@ -202,7 +202,7 @@ class QSSceneAdapterImpl constructor( private val qsSceneComponentFactory: QSSceneComponent.Factory, private val qsImplProvider: Provider<QSImpl>, - shadeInteractor: ShadeInteractor, + shadeModeInteractor: ShadeModeInteractor, displayStateInteractor: DisplayStateInteractor, dumpManager: DumpManager, @Main private val mainDispatcher: CoroutineDispatcher, @@ -215,7 +215,7 @@ constructor( constructor( qsSceneComponentFactory: QSSceneComponent.Factory, qsImplProvider: Provider<QSImpl>, - shadeInteractor: ShadeInteractor, + shadeModeInteractor: ShadeModeInteractor, displayStateInteractor: DisplayStateInteractor, dumpManager: DumpManager, @Main dispatcher: CoroutineDispatcher, @@ -224,7 +224,7 @@ constructor( ) : this( qsSceneComponentFactory, qsImplProvider, - shadeInteractor, + shadeModeInteractor, displayStateInteractor, dumpManager, dispatcher, @@ -331,8 +331,8 @@ constructor( } } launch { - shadeInteractor.shadeMode.collect { - qsImpl.value?.setInSplitShade(it == ShadeMode.Split) + shadeModeInteractor.shadeMode.collect { + qsImpl.value?.setInSplitShade(it is ShadeMode.Split) } } launch { diff --git a/packages/SystemUI/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsSceneContentViewModel.kt b/packages/SystemUI/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsSceneContentViewModel.kt index 06d3e4a9ad0e..acd091e507ed 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsSceneContentViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsSceneContentViewModel.kt @@ -17,6 +17,7 @@ package com.android.systemui.qs.ui.viewmodel import androidx.lifecycle.LifecycleOwner +import com.android.app.tracing.coroutines.launchTraced as launch import com.android.systemui.lifecycle.ExclusiveActivatable import com.android.systemui.media.controls.domain.pipeline.interactor.MediaCarouselInteractor import com.android.systemui.qs.FooterActionsController @@ -25,7 +26,7 @@ import com.android.systemui.qs.ui.adapter.QSSceneAdapter import com.android.systemui.scene.domain.interactor.SceneInteractor import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.settings.brightness.ui.viewModel.BrightnessMirrorViewModel -import com.android.systemui.shade.domain.interactor.ShadeInteractor +import com.android.systemui.shade.domain.interactor.ShadeModeInteractor import com.android.systemui.shade.shared.model.ShadeMode import com.android.systemui.shade.ui.viewmodel.ShadeHeaderViewModel import dagger.assisted.AssistedFactory @@ -34,7 +35,6 @@ import java.util.concurrent.atomic.AtomicBoolean import kotlinx.coroutines.awaitCancellation import kotlinx.coroutines.coroutineScope import kotlinx.coroutines.flow.StateFlow -import com.android.app.tracing.coroutines.launchTraced as launch /** * Models UI state needed for rendering the content of the quick settings scene. @@ -51,7 +51,7 @@ constructor( private val footerActionsViewModelFactory: FooterActionsViewModel.Factory, private val footerActionsController: FooterActionsController, val mediaCarouselInteractor: MediaCarouselInteractor, - private val shadeInteractor: ShadeInteractor, + private val shadeModeInteractor: ShadeModeInteractor, private val sceneInteractor: SceneInteractor, ) : ExclusiveActivatable() { @@ -69,8 +69,8 @@ constructor( override suspend fun onActivated(): Nothing { coroutineScope { launch { - shadeInteractor.shadeMode.collect { shadeMode -> - if (shadeMode == ShadeMode.Split) { + shadeModeInteractor.shadeMode.collect { shadeMode -> + if (shadeMode is ShadeMode.Split) { sceneInteractor.snapToScene(Scenes.Shade, "Unfold while on QS") } } diff --git a/packages/SystemUI/src/com/android/systemui/scene/ui/viewmodel/GoneUserActionsViewModel.kt b/packages/SystemUI/src/com/android/systemui/scene/ui/viewmodel/GoneUserActionsViewModel.kt index fc172e8ca1d8..8eac63cb7cda 100644 --- a/packages/SystemUI/src/com/android/systemui/scene/ui/viewmodel/GoneUserActionsViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/scene/ui/viewmodel/GoneUserActionsViewModel.kt @@ -18,7 +18,7 @@ package com.android.systemui.scene.ui.viewmodel import com.android.compose.animation.scene.UserAction import com.android.compose.animation.scene.UserActionResult -import com.android.systemui.shade.domain.interactor.ShadeInteractor +import com.android.systemui.shade.domain.interactor.ShadeModeInteractor import com.android.systemui.shade.shared.model.ShadeMode import com.android.systemui.shade.ui.viewmodel.dualShadeActions import com.android.systemui.shade.ui.viewmodel.singleShadeActions @@ -28,10 +28,10 @@ import dagger.assisted.AssistedInject class GoneUserActionsViewModel @AssistedInject -constructor(private val shadeInteractor: ShadeInteractor) : UserActionsViewModel() { +constructor(private val shadeModeInteractor: ShadeModeInteractor) : UserActionsViewModel() { override suspend fun hydrateActions(setActions: (Map<UserAction, UserActionResult>) -> Unit) { - shadeInteractor.shadeMode.collect { shadeMode -> + shadeModeInteractor.shadeMode.collect { shadeMode -> setActions( buildList { addAll( diff --git a/packages/SystemUI/src/com/android/systemui/scene/ui/viewmodel/SceneContainerViewModel.kt b/packages/SystemUI/src/com/android/systemui/scene/ui/viewmodel/SceneContainerViewModel.kt index ba7979ca2120..fdfc35d50e0e 100644 --- a/packages/SystemUI/src/com/android/systemui/scene/ui/viewmodel/SceneContainerViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/scene/ui/viewmodel/SceneContainerViewModel.kt @@ -39,7 +39,7 @@ import com.android.systemui.scene.domain.interactor.SceneInteractor import com.android.systemui.scene.shared.logger.SceneLogger import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.scene.ui.composable.Overlay -import com.android.systemui.shade.domain.interactor.ShadeInteractor +import com.android.systemui.shade.domain.interactor.ShadeModeInteractor import com.android.systemui.shade.shared.model.ShadeMode import com.android.systemui.statusbar.domain.interactor.RemoteInputInteractor import com.android.systemui.statusbar.notification.stack.ui.view.SharedNotificationContainer @@ -60,7 +60,7 @@ constructor( private val sceneInteractor: SceneInteractor, private val falsingInteractor: FalsingInteractor, private val powerInteractor: PowerInteractor, - shadeInteractor: ShadeInteractor, + shadeModeInteractor: ShadeModeInteractor, private val remoteInputInteractor: RemoteInputInteractor, private val splitEdgeDetector: SplitEdgeDetector, private val logger: SceneLogger, @@ -93,7 +93,7 @@ constructor( traceName = "edgeDetector", initialValue = DefaultEdgeDetector, source = - shadeInteractor.shadeMode.map { + shadeModeInteractor.shadeMode.map { if (it is ShadeMode.Dual) splitEdgeDetector else DefaultEdgeDetector }, ) diff --git a/packages/SystemUI/src/com/android/systemui/shade/ShadeStateTraceLogger.kt b/packages/SystemUI/src/com/android/systemui/shade/ShadeStateTraceLogger.kt index 39703ab5602c..6b183acbf9c2 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/ShadeStateTraceLogger.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/ShadeStateTraceLogger.kt @@ -25,6 +25,7 @@ import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.shade.data.repository.ShadeDisplaysRepository import com.android.systemui.shade.domain.interactor.ShadeInteractor +import com.android.systemui.shade.domain.interactor.ShadeModeInteractor import com.android.systemui.shade.shared.flag.ShadeWindowGoesAround import dagger.Lazy import javax.inject.Inject @@ -36,6 +37,7 @@ class ShadeStateTraceLogger @Inject constructor( private val shadeInteractor: ShadeInteractor, + private val shadeModeInteractor: ShadeModeInteractor, private val shadeDisplaysRepository: Lazy<ShadeDisplaysRepository>, @Application private val scope: CoroutineScope, ) : CoreStartable { @@ -47,7 +49,7 @@ constructor( } launch { val stateLogger = createTraceStateLogger("shadeMode") - shadeInteractor.shadeMode.collect { stateLogger.log(it.toString()) } + shadeModeInteractor.shadeMode.collect { stateLogger.log(it.toString()) } } launch { shadeInteractor.shadeExpansion.collect { diff --git a/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeBackActionInteractorImpl.kt b/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeBackActionInteractorImpl.kt index 5a63034b5754..6eaedd73ea76 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeBackActionInteractorImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeBackActionInteractorImpl.kt @@ -20,7 +20,6 @@ import com.android.systemui.deviceentry.domain.interactor.DeviceEntryInteractor import com.android.systemui.scene.domain.interactor.SceneInteractor import com.android.systemui.scene.shared.model.SceneFamilies import com.android.systemui.scene.shared.model.Scenes -import com.android.systemui.shade.shared.model.ShadeMode import javax.inject.Inject /** Implementation of ShadeBackActionInteractor backed by scenes. */ @@ -28,13 +27,14 @@ class ShadeBackActionInteractorImpl @Inject constructor( val shadeInteractor: ShadeInteractor, + val shadeModeInteractor: ShadeModeInteractor, val sceneInteractor: SceneInteractor, val deviceEntryInteractor: DeviceEntryInteractor, ) : ShadeBackActionInteractor { override fun animateCollapseQs(fullyCollapse: Boolean) { if (shadeInteractor.isQsExpanded.value) { val key = - if (fullyCollapse || shadeInteractor.shadeMode.value is ShadeMode.Dual) { + if (fullyCollapse || shadeModeInteractor.isDualShade) { SceneFamilies.Home } else { Scenes.Shade diff --git a/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeInteractor.kt b/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeInteractor.kt index f1765e775d65..c8ce316c41dd 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeInteractor.kt @@ -18,7 +18,6 @@ package com.android.systemui.shade.domain.interactor import androidx.annotation.FloatRange import com.android.compose.animation.scene.TransitionKey -import com.android.systemui.shade.shared.model.ShadeMode import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.SharingStarted @@ -60,13 +59,6 @@ interface ShadeInteractor : BaseShadeInteractor { val isExpandToQsEnabled: Flow<Boolean> /** - * The version of the shade layout to use. - * - * Note: Most likely, you want to read [isShadeLayoutWide] instead of this. - */ - val shadeMode: StateFlow<ShadeMode> - - /** * Whether the shade layout should be wide (true) or narrow (false). * * In a wide layout, notifications and quick settings each take up only half the screen width diff --git a/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeInteractorEmptyImpl.kt b/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeInteractorEmptyImpl.kt index 322fca39a1df..b1129a94d833 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeInteractorEmptyImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeInteractorEmptyImpl.kt @@ -18,7 +18,6 @@ package com.android.systemui.shade.domain.interactor import com.android.compose.animation.scene.TransitionKey import com.android.systemui.dagger.SysUISingleton -import com.android.systemui.shade.shared.model.ShadeMode import javax.inject.Inject import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.MutableStateFlow @@ -47,7 +46,6 @@ class ShadeInteractorEmptyImpl @Inject constructor() : ShadeInteractor { override val isUserInteracting: StateFlow<Boolean> = inactiveFlowBoolean override val isShadeTouchable: Flow<Boolean> = inactiveFlowBoolean override val isExpandToQsEnabled: Flow<Boolean> = inactiveFlowBoolean - override val shadeMode: StateFlow<ShadeMode> = MutableStateFlow(ShadeMode.Single) override val isShadeLayoutWide: StateFlow<Boolean> = inactiveFlowBoolean override fun getTopEdgeSplitFraction(): Float = 0.5f diff --git a/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeInteractorImpl.kt b/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeInteractorImpl.kt index b5e171043741..9d81be2091c2 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeInteractorImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeInteractorImpl.kt @@ -42,7 +42,7 @@ import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.stateIn -/** The non-empty SceneInteractor implementation. */ +/** The non-empty [ShadeInteractor] implementation. */ @SysUISingleton class ShadeInteractorImpl @Inject @@ -100,30 +100,25 @@ constructor( override val isShadeTouchable: Flow<Boolean> = combine( - powerInteractor.isAsleep - .onEach { Log.d(TAG, "isShadeTouchable: upstream isAsleep=$it") }, + powerInteractor.isAsleep.onEach { + Log.d(TAG, "isShadeTouchable: upstream isAsleep=$it") + }, keyguardTransitionInteractor .isInTransition(Edge.create(to = KeyguardState.AOD)) - .onEach { - Log.d( - TAG, - "isShadeTouchable: upstream isTransitioningToAod=$it", - ) - }, + .onEach { Log.d(TAG, "isShadeTouchable: upstream isTransitioningToAod=$it") }, keyguardRepository.dozeTransitionModel .map { it.to == DozeStateModel.DOZE_PULSING } - .onEach { - Log.d(TAG, "isShadeTouchable: upstream isPulsing=$it") - }, + .onEach { Log.d(TAG, "isShadeTouchable: upstream isPulsing=$it") }, ) { isAsleep, isTransitioningToAod, isPulsing -> - val downstream = when { - // If the device is transitioning to AOD, only accept touches if - // still animating. - isTransitioningToAod -> dozeParams.shouldControlScreenOff() - // If the device is asleep, only accept touches if there's a pulse - isAsleep -> isPulsing - else -> true - } + val downstream = + when { + // If the device is transitioning to AOD, only accept touches if + // still animating. + isTransitioningToAod -> dozeParams.shouldControlScreenOff() + // If the device is asleep, only accept touches if there's a pulse + isAsleep -> isPulsing + else -> true + } Log.d(TAG, "isShadeTouchable emitting $downstream, values:") Log.d(TAG, " isAsleep=$isAsleep") Log.d(TAG, " isTransitioningToAod=$isTransitioningToAod") diff --git a/packages/SystemUI/src/com/android/systemui/shade/ui/viewmodel/ShadeHeaderViewModel.kt b/packages/SystemUI/src/com/android/systemui/shade/ui/viewmodel/ShadeHeaderViewModel.kt index 51fcf7da3c13..8c38d2e7550c 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/ui/viewmodel/ShadeHeaderViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/ui/viewmodel/ShadeHeaderViewModel.kt @@ -41,7 +41,7 @@ import com.android.systemui.shade.ShadeDisplayAware import com.android.systemui.shade.domain.interactor.PrivacyChipInteractor import com.android.systemui.shade.domain.interactor.ShadeHeaderClockInteractor import com.android.systemui.shade.domain.interactor.ShadeInteractor -import com.android.systemui.shade.shared.model.ShadeMode +import com.android.systemui.shade.domain.interactor.ShadeModeInteractor import com.android.systemui.statusbar.notification.icon.ui.viewbinder.NotificationIconContainerStatusBarViewBinder import com.android.systemui.statusbar.phone.StatusBarLocation import com.android.systemui.statusbar.phone.ui.StatusBarIconController @@ -69,6 +69,7 @@ constructor( private val activityStarter: ActivityStarter, private val sceneInteractor: SceneInteractor, private val shadeInteractor: ShadeInteractor, + private val shadeModeInteractor: ShadeModeInteractor, private val mobileIconsInteractor: MobileIconsInteractor, val mobileIconsViewModel: MobileIconsViewModel, private val privacyChipInteractor: PrivacyChipInteractor, @@ -206,7 +207,7 @@ constructor( /** Notifies that the system icons container was clicked. */ fun onNotificationIconChipClicked() { - if (shadeInteractor.shadeMode.value !is ShadeMode.Dual) { + if (!shadeModeInteractor.isDualShade) { return } val loggingReason = "ShadeHeaderViewModel.onNotificationIconChipClicked" @@ -224,7 +225,7 @@ constructor( /** Notifies that the system icons container was clicked. */ fun onSystemIconChipClicked() { val loggingReason = "ShadeHeaderViewModel.onSystemIconChipClicked" - if (shadeInteractor.shadeMode.value is ShadeMode.Dual) { + if (shadeModeInteractor.isDualShade) { val currentOverlays = sceneInteractor.currentOverlays.value if (Overlays.QuickSettingsShade in currentOverlays) { shadeInteractor.collapseQuickSettingsShade( diff --git a/packages/SystemUI/src/com/android/systemui/shade/ui/viewmodel/ShadeSceneContentViewModel.kt b/packages/SystemUI/src/com/android/systemui/shade/ui/viewmodel/ShadeSceneContentViewModel.kt index 7fd0e4e9d468..35031e39520c 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/ui/viewmodel/ShadeSceneContentViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/ui/viewmodel/ShadeSceneContentViewModel.kt @@ -26,7 +26,7 @@ import com.android.systemui.qs.ui.adapter.QSSceneAdapter import com.android.systemui.scene.domain.interactor.SceneInteractor import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.settings.brightness.ui.viewModel.BrightnessMirrorViewModel -import com.android.systemui.shade.domain.interactor.ShadeInteractor +import com.android.systemui.shade.domain.interactor.ShadeModeInteractor import com.android.systemui.shade.shared.model.ShadeMode import com.android.systemui.statusbar.disableflags.domain.interactor.DisableFlagsInteractor import com.android.systemui.unfold.domain.interactor.UnfoldTransitionInteractor @@ -56,7 +56,7 @@ constructor( val shadeHeaderViewModelFactory: ShadeHeaderViewModel.Factory, val brightnessMirrorViewModelFactory: BrightnessMirrorViewModel.Factory, val mediaCarouselInteractor: MediaCarouselInteractor, - shadeInteractor: ShadeInteractor, + shadeModeInteractor: ShadeModeInteractor, private val disableFlagsInteractor: DisableFlagsInteractor, private val footerActionsViewModelFactory: FooterActionsViewModel.Factory, private val footerActionsController: FooterActionsController, @@ -65,7 +65,7 @@ constructor( private val sceneInteractor: SceneInteractor, ) : ExclusiveActivatable() { - val shadeMode: StateFlow<ShadeMode> = shadeInteractor.shadeMode + val shadeMode: StateFlow<ShadeMode> = shadeModeInteractor.shadeMode private val _isEmptySpaceClickable = MutableStateFlow(!deviceEntryInteractor.isDeviceEntered.value) diff --git a/packages/SystemUI/src/com/android/systemui/shade/ui/viewmodel/ShadeUserActionsViewModel.kt b/packages/SystemUI/src/com/android/systemui/shade/ui/viewmodel/ShadeUserActionsViewModel.kt index 7d6b1a3126dc..d0e0de9b8b96 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/ui/viewmodel/ShadeUserActionsViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/ui/viewmodel/ShadeUserActionsViewModel.kt @@ -25,7 +25,7 @@ import com.android.systemui.scene.shared.model.SceneFamilies import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.scene.shared.model.TransitionKeys.ToSplitShade import com.android.systemui.scene.ui.viewmodel.UserActionsViewModel -import com.android.systemui.shade.domain.interactor.ShadeInteractor +import com.android.systemui.shade.domain.interactor.ShadeModeInteractor import com.android.systemui.shade.shared.model.ShadeMode import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject @@ -42,13 +42,13 @@ class ShadeUserActionsViewModel @AssistedInject constructor( private val qsSceneAdapter: QSSceneAdapter, - private val shadeInteractor: ShadeInteractor, + private val shadeModeInteractor: ShadeModeInteractor, private val sceneBackInteractor: SceneBackInteractor, ) : UserActionsViewModel() { override suspend fun hydrateActions(setActions: (Map<UserAction, UserActionResult>) -> Unit) { combine( - shadeInteractor.shadeMode, + shadeModeInteractor.shadeMode, qsSceneAdapter.isCustomizerShowing, sceneBackInteractor.backScene .filter { it != Scenes.Shade } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/domain/interactor/NotificationStackAppearanceInteractor.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/domain/interactor/NotificationStackAppearanceInteractor.kt index 1bd44406507d..96af83336441 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/domain/interactor/NotificationStackAppearanceInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/domain/interactor/NotificationStackAppearanceInteractor.kt @@ -19,7 +19,7 @@ package com.android.systemui.statusbar.notification.stack.domain.interactor import com.android.systemui.dagger.SysUISingleton import com.android.systemui.scene.domain.interactor.SceneInteractor -import com.android.systemui.shade.domain.interactor.ShadeInteractor +import com.android.systemui.shade.domain.interactor.ShadeModeInteractor import com.android.systemui.shade.shared.model.ShadeMode import com.android.systemui.statusbar.notification.stack.data.repository.NotificationPlaceholderRepository import com.android.systemui.statusbar.notification.stack.data.repository.NotificationViewHeightRepository @@ -45,7 +45,7 @@ constructor( private val viewHeightRepository: NotificationViewHeightRepository, private val placeholderRepository: NotificationPlaceholderRepository, sceneInteractor: SceneInteractor, - shadeInteractor: ShadeInteractor, + shadeModeInteractor: ShadeModeInteractor, ) { /** The bounds of the notification stack in the current scene. */ val notificationShadeScrimBounds: StateFlow<ShadeScrimBounds?> = @@ -60,7 +60,7 @@ constructor( /** The rounding of the notification stack. */ val shadeScrimRounding: Flow<ShadeScrimRounding> = - combine(shadeInteractor.shadeMode, isExpandingFromHeadsUp) { + combine(shadeModeInteractor.shadeMode, isExpandingFromHeadsUp) { shadeMode, isExpandingFromHeadsUp -> ShadeScrimRounding( diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/NotificationLockscreenScrimViewModel.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/NotificationLockscreenScrimViewModel.kt index d68f769dffdf..4a28b545fae9 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/NotificationLockscreenScrimViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/NotificationLockscreenScrimViewModel.kt @@ -29,7 +29,7 @@ import com.android.systemui.lifecycle.ExclusiveActivatable import com.android.systemui.lifecycle.Hydrator import com.android.systemui.notifications.ui.composable.Notifications import com.android.systemui.res.R -import com.android.systemui.shade.domain.interactor.ShadeInteractor +import com.android.systemui.shade.domain.interactor.ShadeModeInteractor import com.android.systemui.shade.shared.model.ShadeMode import com.android.systemui.shade.ui.composable.Shade import com.android.systemui.statusbar.notification.stack.domain.interactor.NotificationStackAppearanceInteractor @@ -46,7 +46,7 @@ class NotificationLockscreenScrimViewModel @AssistedInject constructor( dumpManager: DumpManager, - shadeInteractor: ShadeInteractor, + shadeModeInteractor: ShadeModeInteractor, private val stackAppearanceInteractor: NotificationStackAppearanceInteractor, ) : ActivatableFlowDumper by ActivatableFlowDumperImpl(dumpManager, "NotificationScrollViewModel"), @@ -54,7 +54,7 @@ constructor( private val hydrator = Hydrator("NotificationLockscreenScrimViewModel.hydrator") - val shadeMode: StateFlow<ShadeMode> = shadeInteractor.shadeMode + val shadeMode: StateFlow<ShadeMode> = shadeModeInteractor.shadeMode /** The [ElementKey] to use for the scrim. */ val element: ElementViewModel by diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/NotificationScrollViewModel.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/NotificationScrollViewModel.kt index 20149826ceb9..7f016a1cbc2e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/NotificationScrollViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/NotificationScrollViewModel.kt @@ -31,6 +31,7 @@ import com.android.systemui.scene.shared.flag.SceneContainerFlag import com.android.systemui.scene.shared.model.Overlays import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.shade.domain.interactor.ShadeInteractor +import com.android.systemui.shade.domain.interactor.ShadeModeInteractor import com.android.systemui.shade.shared.model.ShadeMode import com.android.systemui.statusbar.domain.interactor.RemoteInputInteractor import com.android.systemui.statusbar.notification.stack.domain.interactor.NotificationStackAppearanceInteractor @@ -63,6 +64,7 @@ constructor( dumpManager: DumpManager, private val stackAppearanceInteractor: NotificationStackAppearanceInteractor, shadeInteractor: ShadeInteractor, + shadeModeInteractor: ShadeModeInteractor, private val remoteInputInteractor: RemoteInputInteractor, private val sceneInteractor: SceneInteractor, // TODO(b/336364825) Remove Lazy when SceneContainerFlag is released - @@ -151,10 +153,10 @@ constructor( val expandFraction: Flow<Float> = combine( shadeInteractor.shadeExpansion, - shadeInteractor.shadeMode, shadeInteractor.qsExpansion, + shadeModeInteractor.shadeMode, sceneInteractor.transitionState, - ) { shadeExpansion, _, qsExpansion, transitionState -> + ) { shadeExpansion, qsExpansion, _, transitionState -> when (transitionState) { is Idle -> if ( @@ -210,7 +212,8 @@ constructor( sceneInteractor.isSceneInFamily(scene, this) private val qsAllowsClipping: Flow<Boolean> = - combine(shadeInteractor.shadeMode, shadeInteractor.qsExpansion) { shadeMode, qsExpansion -> + combine(shadeModeInteractor.shadeMode, shadeInteractor.qsExpansion) { shadeMode, qsExpansion + -> when (shadeMode) { is ShadeMode.Dual -> false is ShadeMode.Split -> true diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/NotificationsPlaceholderViewModel.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/NotificationsPlaceholderViewModel.kt index 8e12e081e861..000b3f643e9a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/NotificationsPlaceholderViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/NotificationsPlaceholderViewModel.kt @@ -30,6 +30,7 @@ import com.android.systemui.scene.shared.flag.SceneContainerFlag import com.android.systemui.scene.shared.model.Overlays import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.shade.domain.interactor.ShadeInteractor +import com.android.systemui.shade.domain.interactor.ShadeModeInteractor import com.android.systemui.shade.shared.model.ShadeMode import com.android.systemui.statusbar.domain.interactor.RemoteInputInteractor import com.android.systemui.statusbar.notification.domain.interactor.HeadsUpNotificationInteractor @@ -58,6 +59,7 @@ constructor( private val interactor: NotificationStackAppearanceInteractor, private val sceneInteractor: SceneInteractor, private val shadeInteractor: ShadeInteractor, + shadeModeInteractor: ShadeModeInteractor, private val headsUpNotificationInteractor: HeadsUpNotificationInteractor, remoteInputInteractor: RemoteInputInteractor, featureFlags: FeatureFlagsClassic, @@ -75,16 +77,16 @@ constructor( val notificationsShadeContentKey: ContentKey by hydrator.hydratedStateOf( traceName = "notificationsShadeContentKey", - initialValue = getNotificationsShadeContentKey(shadeInteractor.shadeMode.value), - source = shadeInteractor.shadeMode.map { getNotificationsShadeContentKey(it) }, + initialValue = getNotificationsShadeContentKey(shadeModeInteractor.shadeMode.value), + source = shadeModeInteractor.shadeMode.map { getNotificationsShadeContentKey(it) }, ) /** The content key to use for the quick settings shade. */ val quickSettingsShadeContentKey: ContentKey by hydrator.hydratedStateOf( traceName = "quickSettingsShadeContentKey", - initialValue = getQuickSettingsShadeContentKey(shadeInteractor.shadeMode.value), - source = shadeInteractor.shadeMode.map { getQuickSettingsShadeContentKey(it) }, + initialValue = getQuickSettingsShadeContentKey(shadeModeInteractor.shadeMode.value), + source = shadeModeInteractor.shadeMode.map { getQuickSettingsShadeContentKey(it) }, ) /** DEBUG: whether the placeholder should be made slightly visible for positional debugging. */ diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModel.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModel.kt index d6e4add4eee3..960311641042 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModel.kt @@ -76,6 +76,7 @@ import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.shade.LargeScreenHeaderHelper import com.android.systemui.shade.ShadeDisplayAware import com.android.systemui.shade.domain.interactor.ShadeInteractor +import com.android.systemui.shade.domain.interactor.ShadeModeInteractor import com.android.systemui.shade.shared.model.ShadeMode.Dual import com.android.systemui.shade.shared.model.ShadeMode.Single import com.android.systemui.shade.shared.model.ShadeMode.Split @@ -91,6 +92,7 @@ import com.android.systemui.util.kotlin.sample import dagger.Lazy import javax.inject.Inject import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.currentCoroutineContext import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.SharingStarted @@ -111,6 +113,7 @@ import kotlinx.coroutines.flow.transformWhile import kotlinx.coroutines.isActive /** View-model for the shared notification container, used by both the shade and keyguard spaces */ +@OptIn(ExperimentalCoroutinesApi::class) @SysUISingleton class SharedNotificationContainerViewModel @Inject @@ -123,7 +126,8 @@ constructor( private val keyguardInteractor: KeyguardInteractor, private val keyguardTransitionInteractor: KeyguardTransitionInteractor, private val shadeInteractor: ShadeInteractor, - private val notificationStackAppearanceInteractor: NotificationStackAppearanceInteractor, + shadeModeInteractor: ShadeModeInteractor, + notificationStackAppearanceInteractor: NotificationStackAppearanceInteractor, private val alternateBouncerToGoneTransitionViewModel: AlternateBouncerToGoneTransitionViewModel, private val alternateBouncerToPrimaryBouncerTransitionViewModel: @@ -233,7 +237,7 @@ constructor( if (SceneContainerFlag.isEnabled) { combine( shadeInteractor.isShadeLayoutWide, - shadeInteractor.shadeMode, + shadeModeInteractor.shadeMode, configurationInteractor.onAnyConfigurationChange, ) { isShadeLayoutWide, shadeMode, _ -> with(context.resources) { @@ -477,7 +481,7 @@ constructor( */ private val alphaForShadeAndQsExpansion: Flow<Float> = if (SceneContainerFlag.isEnabled) { - shadeInteractor.shadeMode.flatMapLatest { shadeMode -> + shadeModeInteractor.shadeMode.flatMapLatest { shadeMode -> when (shadeMode) { Single -> combineTransform( diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/communal/ui/viewmodel/CommunalUserActionsViewModelKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/communal/ui/viewmodel/CommunalUserActionsViewModelKosmos.kt index 1c84133d3821..f73777237cd0 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/communal/ui/viewmodel/CommunalUserActionsViewModelKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/communal/ui/viewmodel/CommunalUserActionsViewModelKosmos.kt @@ -20,10 +20,12 @@ import com.android.systemui.deviceentry.domain.interactor.deviceUnlockedInteract import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.Kosmos.Fixture import com.android.systemui.shade.domain.interactor.shadeInteractor +import com.android.systemui.shade.domain.interactor.shadeModeInteractor val Kosmos.communalUserActionsViewModel by Fixture { CommunalUserActionsViewModel( deviceUnlockedInteractor = deviceUnlockedInteractor, shadeInteractor = shadeInteractor, + shadeModeInteractor = shadeModeInteractor, ) } diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/dreams/ui/viewmodel/DreamUserActionsViewModelKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/dreams/ui/viewmodel/DreamUserActionsViewModelKosmos.kt index 71746b505a48..2e59788663f7 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/dreams/ui/viewmodel/DreamUserActionsViewModelKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/dreams/ui/viewmodel/DreamUserActionsViewModelKosmos.kt @@ -20,6 +20,7 @@ import com.android.systemui.communal.domain.interactor.communalInteractor import com.android.systemui.deviceentry.domain.interactor.deviceUnlockedInteractor import com.android.systemui.kosmos.Kosmos import com.android.systemui.shade.domain.interactor.shadeInteractor +import com.android.systemui.shade.domain.interactor.shadeModeInteractor val Kosmos.dreamUserActionsViewModel by Kosmos.Fixture { @@ -27,5 +28,6 @@ val Kosmos.dreamUserActionsViewModel by communalInteractor = communalInteractor, deviceUnlockedInteractor = deviceUnlockedInteractor, shadeInteractor = shadeInteractor, + shadeModeInteractor = shadeModeInteractor, ) } diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenUserActionsViewModelKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenUserActionsViewModelKosmos.kt index 2311c0a23db8..ec83157eb108 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenUserActionsViewModelKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenUserActionsViewModelKosmos.kt @@ -22,12 +22,14 @@ import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.Kosmos.Fixture import com.android.systemui.scene.domain.interactor.sceneContainerOcclusionInteractor import com.android.systemui.shade.domain.interactor.shadeInteractor +import com.android.systemui.shade.domain.interactor.shadeModeInteractor val Kosmos.lockscreenUserActionsViewModel by Fixture { LockscreenUserActionsViewModel( deviceEntryInteractor = deviceEntryInteractor, communalInteractor = communalInteractor, shadeInteractor = shadeInteractor, + shadeModeInteractor = shadeModeInteractor, occlusionInteractor = sceneContainerOcclusionInteractor, ) } diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/panels/domain/interactor/QSColumnsInteractorKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/panels/domain/interactor/QSColumnsInteractorKosmos.kt index 47615f527d16..161f72af5e71 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/panels/domain/interactor/QSColumnsInteractorKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/panels/domain/interactor/QSColumnsInteractorKosmos.kt @@ -19,9 +19,13 @@ package com.android.systemui.qs.panels.domain.interactor import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.applicationCoroutineScope import com.android.systemui.qs.panels.data.repository.qsColumnsRepository -import com.android.systemui.shade.domain.interactor.shadeInteractor +import com.android.systemui.shade.domain.interactor.shadeModeInteractor val Kosmos.qsColumnsInteractor by Kosmos.Fixture { - QSColumnsInteractor(applicationCoroutineScope, qsColumnsRepository, shadeInteractor) + QSColumnsInteractor( + scope = applicationCoroutineScope, + repo = qsColumnsRepository, + shadeModeInteractor = shadeModeInteractor, + ) } diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/scene/SceneKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/scene/SceneKosmos.kt index ae4e8d275341..c3b390702186 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/scene/SceneKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/scene/SceneKosmos.kt @@ -20,6 +20,7 @@ import com.android.systemui.scene.ui.viewmodel.SceneContainerHapticsViewModel import com.android.systemui.scene.ui.viewmodel.SceneContainerViewModel import com.android.systemui.scene.ui.viewmodel.splitEdgeDetector import com.android.systemui.shade.domain.interactor.shadeInteractor +import com.android.systemui.shade.domain.interactor.shadeModeInteractor import com.android.systemui.statusbar.domain.interactor.remoteInputInteractor import com.android.systemui.wallpapers.ui.viewmodel.wallpaperViewModel import kotlinx.coroutines.flow.MutableStateFlow @@ -92,7 +93,7 @@ val Kosmos.sceneContainerViewModelFactory by Fixture { sceneInteractor = sceneInteractor, falsingInteractor = falsingInteractor, powerInteractor = powerInteractor, - shadeInteractor = shadeInteractor, + shadeModeInteractor = shadeModeInteractor, remoteInputInteractor = remoteInputInteractor, splitEdgeDetector = splitEdgeDetector, logger = sceneLogger, diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/shade/domain/interactor/ShadeBackActionInteractorKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/shade/domain/interactor/ShadeBackActionInteractorKosmos.kt index 5dc03338f19b..9eff63ca8a8c 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/shade/domain/interactor/ShadeBackActionInteractorKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/shade/domain/interactor/ShadeBackActionInteractorKosmos.kt @@ -24,6 +24,7 @@ val Kosmos.shadeBackActionInteractor by Kosmos.Fixture { ShadeBackActionInteractorImpl( shadeInteractor = shadeInteractor, + shadeModeInteractor = shadeModeInteractor, sceneInteractor = sceneInteractor, deviceEntryInteractor = deviceEntryInteractor, ) diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/shade/domain/interactor/ShadeModeInteractorKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/shade/domain/interactor/ShadeModeInteractorKosmos.kt index 2ba9c8094aac..614b4191d6ce 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/shade/domain/interactor/ShadeModeInteractorKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/shade/domain/interactor/ShadeModeInteractorKosmos.kt @@ -36,6 +36,8 @@ val Kosmos.shadeModeInteractor by Fixture { ) } +val Kosmos.shadeMode by Fixture { shadeModeInteractor.shadeMode } + // TODO(b/391578667): Make this user-aware once supported by FakeSecureSettingsRepository. /** * Enables the Dual Shade setting, and (optionally) sets the shade layout to be wide (`true`) or diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/shade/ui/viewmodel/ShadeHeaderViewModelKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/shade/ui/viewmodel/ShadeHeaderViewModelKosmos.kt index 2be8acb845b9..cfc2075c1352 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/shade/ui/viewmodel/ShadeHeaderViewModelKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/shade/ui/viewmodel/ShadeHeaderViewModelKosmos.kt @@ -25,6 +25,7 @@ import com.android.systemui.scene.domain.interactor.sceneInteractor import com.android.systemui.shade.domain.interactor.privacyChipInteractor import com.android.systemui.shade.domain.interactor.shadeHeaderClockInteractor import com.android.systemui.shade.domain.interactor.shadeInteractor +import com.android.systemui.shade.domain.interactor.shadeModeInteractor import com.android.systemui.statusbar.notification.icon.ui.viewbinder.NotificationIconContainerStatusBarViewBinder import com.android.systemui.statusbar.phone.ui.StatusBarIconController import com.android.systemui.statusbar.phone.ui.TintedIconManager @@ -39,6 +40,7 @@ val Kosmos.shadeHeaderViewModel: ShadeHeaderViewModel by activityStarter = activityStarter, sceneInteractor = sceneInteractor, shadeInteractor = shadeInteractor, + shadeModeInteractor = shadeModeInteractor, mobileIconsInteractor = mobileIconsInteractor, mobileIconsViewModel = mobileIconsViewModel, privacyChipInteractor = privacyChipInteractor, diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/shade/ui/viewmodel/ShadeSceneContentViewModelKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/shade/ui/viewmodel/ShadeSceneContentViewModelKosmos.kt index 694bb6e87ef6..db4b979622bb 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/shade/ui/viewmodel/ShadeSceneContentViewModelKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/shade/ui/viewmodel/ShadeSceneContentViewModelKosmos.kt @@ -25,7 +25,7 @@ import com.android.systemui.qs.footerActionsViewModelFactory import com.android.systemui.qs.ui.adapter.qsSceneAdapter import com.android.systemui.scene.domain.interactor.sceneInteractor import com.android.systemui.settings.brightness.ui.viewmodel.brightnessMirrorViewModelFactory -import com.android.systemui.shade.domain.interactor.shadeInteractor +import com.android.systemui.shade.domain.interactor.shadeModeInteractor import com.android.systemui.statusbar.disableflags.domain.interactor.disableFlagsInteractor import com.android.systemui.unfold.domain.interactor.unfoldTransitionInteractor @@ -35,7 +35,7 @@ val Kosmos.shadeSceneContentViewModel: ShadeSceneContentViewModel by Fixture { qsSceneAdapter = qsSceneAdapter, brightnessMirrorViewModelFactory = brightnessMirrorViewModelFactory, mediaCarouselInteractor = mediaCarouselInteractor, - shadeInteractor = shadeInteractor, + shadeModeInteractor = shadeModeInteractor, disableFlagsInteractor = disableFlagsInteractor, footerActionsViewModelFactory = footerActionsViewModelFactory, footerActionsController = footerActionsController, diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/shade/ui/viewmodel/ShadeUserActionsViewModelKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/shade/ui/viewmodel/ShadeUserActionsViewModelKosmos.kt index 0aeea4e1a2e5..26355930f1a1 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/shade/ui/viewmodel/ShadeUserActionsViewModelKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/shade/ui/viewmodel/ShadeUserActionsViewModelKosmos.kt @@ -20,12 +20,12 @@ import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.Kosmos.Fixture import com.android.systemui.qs.ui.adapter.qsSceneAdapter import com.android.systemui.scene.domain.interactor.sceneBackInteractor -import com.android.systemui.shade.domain.interactor.shadeInteractor +import com.android.systemui.shade.domain.interactor.shadeModeInteractor val Kosmos.shadeUserActionsViewModel: ShadeUserActionsViewModel by Fixture { ShadeUserActionsViewModel( qsSceneAdapter = qsSceneAdapter, - shadeInteractor = shadeInteractor, + shadeModeInteractor = shadeModeInteractor, sceneBackInteractor = sceneBackInteractor, ) } diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/domain/interactor/NotificationStackAppearanceInteractorKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/domain/interactor/NotificationStackAppearanceInteractorKosmos.kt index 2772d3698d88..87704cc39eaf 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/domain/interactor/NotificationStackAppearanceInteractorKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/domain/interactor/NotificationStackAppearanceInteractorKosmos.kt @@ -19,7 +19,7 @@ package com.android.systemui.statusbar.notification.stack.domain.interactor import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.Kosmos.Fixture import com.android.systemui.scene.domain.interactor.sceneInteractor -import com.android.systemui.shade.domain.interactor.shadeInteractor +import com.android.systemui.shade.domain.interactor.shadeModeInteractor import com.android.systemui.statusbar.notification.stack.data.repository.notificationPlaceholderRepository import com.android.systemui.statusbar.notification.stack.data.repository.notificationViewHeightRepository @@ -28,6 +28,6 @@ val Kosmos.notificationStackAppearanceInteractor by Fixture { viewHeightRepository = notificationViewHeightRepository, placeholderRepository = notificationPlaceholderRepository, sceneInteractor = sceneInteractor, - shadeInteractor = shadeInteractor, + shadeModeInteractor = shadeModeInteractor, ) } diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/NotificationScrollViewModelKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/NotificationScrollViewModelKosmos.kt index 7244d465ed7e..167b11da9dba 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/NotificationScrollViewModelKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/NotificationScrollViewModelKosmos.kt @@ -22,6 +22,7 @@ import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.Kosmos.Fixture import com.android.systemui.scene.domain.interactor.sceneInteractor import com.android.systemui.shade.domain.interactor.shadeInteractor +import com.android.systemui.shade.domain.interactor.shadeModeInteractor import com.android.systemui.statusbar.domain.interactor.remoteInputInteractor import com.android.systemui.statusbar.notification.stack.domain.interactor.notificationStackAppearanceInteractor @@ -30,6 +31,7 @@ val Kosmos.notificationScrollViewModel by Fixture { dumpManager = dumpManager, stackAppearanceInteractor = notificationStackAppearanceInteractor, shadeInteractor = shadeInteractor, + shadeModeInteractor = shadeModeInteractor, remoteInputInteractor = remoteInputInteractor, sceneInteractor = sceneInteractor, keyguardInteractor = { keyguardInteractor }, diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/NotificationsPlaceholderViewModelKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/NotificationsPlaceholderViewModelKosmos.kt index e5cf0a90ebbd..084777417334 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/NotificationsPlaceholderViewModelKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/NotificationsPlaceholderViewModelKosmos.kt @@ -22,6 +22,7 @@ import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.Kosmos.Fixture import com.android.systemui.scene.domain.interactor.sceneInteractor import com.android.systemui.shade.domain.interactor.shadeInteractor +import com.android.systemui.shade.domain.interactor.shadeModeInteractor import com.android.systemui.statusbar.domain.interactor.remoteInputInteractor import com.android.systemui.statusbar.notification.stack.domain.interactor.headsUpNotificationInteractor import com.android.systemui.statusbar.notification.stack.domain.interactor.notificationStackAppearanceInteractor @@ -31,6 +32,7 @@ val Kosmos.notificationsPlaceholderViewModel by Fixture { interactor = notificationStackAppearanceInteractor, sceneInteractor = sceneInteractor, shadeInteractor = shadeInteractor, + shadeModeInteractor = shadeModeInteractor, headsUpNotificationInteractor = headsUpNotificationInteractor, remoteInputInteractor = remoteInputInteractor, featureFlags = featureFlagsClassic, diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModelKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModelKosmos.kt index 45c56ae0ab7a..7a2b7c24252b 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModelKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModelKosmos.kt @@ -54,6 +54,7 @@ import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.Kosmos.Fixture import com.android.systemui.kosmos.applicationCoroutineScope import com.android.systemui.shade.domain.interactor.shadeInteractor +import com.android.systemui.shade.domain.interactor.shadeModeInteractor import com.android.systemui.shade.largeScreenHeaderHelper import com.android.systemui.statusbar.notification.stack.domain.interactor.headsUpNotificationInteractor import com.android.systemui.statusbar.notification.stack.domain.interactor.notificationStackAppearanceInteractor @@ -71,6 +72,7 @@ val Kosmos.sharedNotificationContainerViewModel by Fixture { keyguardInteractor = keyguardInteractor, keyguardTransitionInteractor = keyguardTransitionInteractor, shadeInteractor = shadeInteractor, + shadeModeInteractor = shadeModeInteractor, notificationStackAppearanceInteractor = notificationStackAppearanceInteractor, alternateBouncerToGoneTransitionViewModel = alternateBouncerToGoneTransitionViewModel, alternateBouncerToPrimaryBouncerTransitionViewModel = |