Loading packages/SystemUI/multivalentTests/src/com/android/systemui/communal/ui/viewmodel/CommunalUserActionsViewModelTest.kt +6 −7 Original line number Diff line number Diff line Loading @@ -35,7 +35,6 @@ import com.android.systemui.power.domain.interactor.PowerInteractor.Companion.se import com.android.systemui.power.domain.interactor.powerInteractor import com.android.systemui.scene.domain.interactor.sceneInteractor import com.android.systemui.scene.shared.model.Overlays 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.shade.domain.interactor.enableDualShade Loading Loading @@ -74,7 +73,7 @@ class CommunalUserActionsViewModelTest : SysuiTestCase() { setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(SceneFamilies.Home)) assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(Scenes.Lockscreen)) assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)).isEqualTo(UserActionResult(Scenes.Shade)) Loading @@ -83,7 +82,7 @@ class CommunalUserActionsViewModelTest : SysuiTestCase() { setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(SceneFamilies.Home)) assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(Scenes.Lockscreen)) assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) assertThat(actions?.get(Swipe.Down)).isEqualTo(UserActionResult(Scenes.Shade)) } Loading @@ -96,7 +95,7 @@ class CommunalUserActionsViewModelTest : SysuiTestCase() { setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(SceneFamilies.Home)) assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(Scenes.Lockscreen)) assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)) .isEqualTo(UserActionResult(Scenes.Shade, ToSplitShade)) Loading @@ -106,7 +105,7 @@ class CommunalUserActionsViewModelTest : SysuiTestCase() { setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(SceneFamilies.Home)) assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(Scenes.Lockscreen)) assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) assertThat(actions?.get(Swipe.Down)) .isEqualTo(UserActionResult(Scenes.Shade, ToSplitShade)) Loading @@ -120,7 +119,7 @@ class CommunalUserActionsViewModelTest : SysuiTestCase() { setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(SceneFamilies.Home)) assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(Scenes.Lockscreen)) assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)) .isEqualTo(UserActionResult.ShowOverlay(Overlays.NotificationsShade)) Loading @@ -130,7 +129,7 @@ class CommunalUserActionsViewModelTest : SysuiTestCase() { setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(SceneFamilies.Home)) assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(Scenes.Lockscreen)) assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) assertThat(actions?.get(Swipe.Down)) .isEqualTo(UserActionResult.ShowOverlay(Overlays.NotificationsShade)) Loading packages/SystemUI/multivalentTests/src/com/android/systemui/dreams/ui/viewmodel/DreamUserActionsViewModelTest.kt +4 −90 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ import com.android.compose.animation.scene.UserActionResult import com.android.systemui.SysuiTestCase import com.android.systemui.authentication.data.repository.fakeAuthenticationRepository import com.android.systemui.authentication.shared.model.AuthenticationMethodModel import com.android.systemui.communal.domain.interactor.setCommunalAvailable import com.android.systemui.coroutines.collectLastValue import com.android.systemui.deviceentry.domain.interactor.deviceUnlockedInteractor import com.android.systemui.flags.EnableSceneContainer Loading Loading @@ -62,15 +61,14 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { @Before fun setUp() { underTest = kosmos.dreamUserActionsViewModel underTest = kosmos.dreamUserActionsViewModelFactory.create() underTest.activateIn(testScope) } @Test fun actions_communalNotAvailable_singleShade() = fun actions_singleShade() = testScope.runTest { kosmos.enableSingleShade() kosmos.setCommunalAvailable(false) val actions by collectLastValue(underTest.actions) Loading @@ -93,10 +91,9 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { } @Test fun actions_communalNotAvailable_splitShade() = fun actions_splitShade() = testScope.runTest { kosmos.enableSplitShade() kosmos.setCommunalAvailable(false) val actions by collectLastValue(underTest.actions) Loading @@ -121,10 +118,9 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { } @Test fun actions_communalNotAvailable_dualShade() = fun actions_dualShade() = testScope.runTest { kosmos.enableDualShade() kosmos.setCommunalAvailable(false) val actions by collectLastValue(underTest.actions) Loading @@ -148,88 +144,6 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { assertThat(actions?.get(Swipe.End)).isNull() } @Test fun actions_communalAvailable_singleShade() = testScope.runTest { kosmos.enableSingleShade() kosmos.setCommunalAvailable(true) val actions by collectLastValue(underTest.actions) setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)).isEqualTo(UserActionResult(Scenes.Shade)) assertThat(actions?.get(Swipe.Start)).isEqualTo(UserActionResult(Scenes.Communal)) assertThat(actions?.get(Swipe.End)).isNull() setUpState(isShadeTouchable = false, isDeviceUnlocked = false) assertThat(actions).isEmpty() setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) assertThat(actions?.get(Swipe.Down)).isEqualTo(UserActionResult(Scenes.Shade)) assertThat(actions?.get(Swipe.Start)).isEqualTo(UserActionResult(Scenes.Communal)) assertThat(actions?.get(Swipe.End)).isNull() } @Test fun actions_communalAvailable_splitShade() = testScope.runTest { kosmos.enableSplitShade() kosmos.setCommunalAvailable(true) val actions by collectLastValue(underTest.actions) setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)) .isEqualTo(UserActionResult(Scenes.Shade, ToSplitShade)) assertThat(actions?.get(Swipe.Start)).isEqualTo(UserActionResult(Scenes.Communal)) assertThat(actions?.get(Swipe.End)).isNull() setUpState(isShadeTouchable = false, isDeviceUnlocked = false) assertThat(actions).isEmpty() setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) assertThat(actions?.get(Swipe.Down)) .isEqualTo(UserActionResult(Scenes.Shade, ToSplitShade)) assertThat(actions?.get(Swipe.Start)).isEqualTo(UserActionResult(Scenes.Communal)) assertThat(actions?.get(Swipe.End)).isNull() } @Test fun actions_communalAvailable_dualShade() = testScope.runTest { kosmos.enableDualShade() kosmos.setCommunalAvailable(true) val actions by collectLastValue(underTest.actions) setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)) .isEqualTo(UserActionResult.ShowOverlay(Overlays.NotificationsShade)) assertThat(actions?.get(Swipe.Start)).isEqualTo(UserActionResult(Scenes.Communal)) assertThat(actions?.get(Swipe.End)).isNull() setUpState(isShadeTouchable = false, isDeviceUnlocked = false) assertThat(actions).isEmpty() setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) assertThat(actions?.get(Swipe.Down)) .isEqualTo(UserActionResult.ShowOverlay(Overlays.NotificationsShade)) assertThat(actions?.get(Swipe.Start)).isEqualTo(UserActionResult(Scenes.Communal)) assertThat(actions?.get(Swipe.End)).isNull() } private fun TestScope.setUpState(isShadeTouchable: Boolean, isDeviceUnlocked: Boolean) { if (isShadeTouchable) { kosmos.powerInteractor.setAwakeForTest() Loading packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalUserActionsViewModel.kt +1 −3 Original line number Diff line number Diff line Loading @@ -20,7 +20,6 @@ import com.android.compose.animation.scene.Swipe import com.android.compose.animation.scene.UserAction import com.android.compose.animation.scene.UserActionResult import com.android.systemui.deviceentry.domain.interactor.DeviceUnlockedInteractor 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 Loading Loading @@ -60,8 +59,7 @@ constructor( if (isDeviceUnlocked) Scenes.Gone else Scenes.Bouncer add(Swipe.Up to bouncerOrGone) // "Home" is either Lockscreen, or Gone - if the device is entered. add(Swipe.End to SceneFamilies.Home) add(Swipe.End to Scenes.Lockscreen) addAll( when (shadeMode) { Loading packages/SystemUI/src/com/android/systemui/dreams/ui/viewmodel/DreamUserActionsViewModel.kt +1 −8 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ package com.android.systemui.dreams.ui.viewmodel import com.android.compose.animation.scene.Swipe import com.android.compose.animation.scene.UserAction import com.android.compose.animation.scene.UserActionResult import com.android.systemui.communal.domain.interactor.CommunalInteractor import com.android.systemui.deviceentry.domain.interactor.DeviceUnlockedInteractor import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.scene.ui.viewmodel.UserActionsViewModel Loading @@ -40,7 +39,6 @@ import kotlinx.coroutines.flow.map class DreamUserActionsViewModel @AssistedInject constructor( private val communalInteractor: CommunalInteractor, private val deviceUnlockedInteractor: DeviceUnlockedInteractor, private val shadeInteractor: ShadeInteractor, private val shadeModeInteractor: ShadeModeInteractor, Loading @@ -54,14 +52,9 @@ constructor( } else { combine( deviceUnlockedInteractor.deviceUnlockStatus.map { it.isUnlocked }, communalInteractor.isCommunalAvailable, shadeModeInteractor.shadeMode, ) { isDeviceUnlocked, isCommunalAvailable, shadeMode -> ) { isDeviceUnlocked, shadeMode -> buildList { if (isCommunalAvailable) { add(Swipe.Start to Scenes.Communal) } val bouncerOrGone = if (isDeviceUnlocked) Scenes.Gone else Scenes.Bouncer add(Swipe.Up to bouncerOrGone) Loading packages/SystemUI/tests/utils/src/com/android/systemui/dreams/ui/viewmodel/DreamUserActionsViewModelKosmos.kt +11 −9 Original line number Diff line number Diff line Loading @@ -16,18 +16,20 @@ package com.android.systemui.dreams.ui.viewmodel 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.kosmos.Kosmos.Fixture import com.android.systemui.shade.domain.interactor.shadeInteractor import com.android.systemui.shade.domain.interactor.shadeModeInteractor val Kosmos.dreamUserActionsViewModel by Kosmos.Fixture { DreamUserActionsViewModel( communalInteractor = communalInteractor, val Kosmos.dreamUserActionsViewModelFactory by Fixture { object : DreamUserActionsViewModel.Factory { override fun create(): DreamUserActionsViewModel { return DreamUserActionsViewModel( deviceUnlockedInteractor = deviceUnlockedInteractor, shadeInteractor = shadeInteractor, shadeModeInteractor = shadeModeInteractor, ) } } } Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/communal/ui/viewmodel/CommunalUserActionsViewModelTest.kt +6 −7 Original line number Diff line number Diff line Loading @@ -35,7 +35,6 @@ import com.android.systemui.power.domain.interactor.PowerInteractor.Companion.se import com.android.systemui.power.domain.interactor.powerInteractor import com.android.systemui.scene.domain.interactor.sceneInteractor import com.android.systemui.scene.shared.model.Overlays 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.shade.domain.interactor.enableDualShade Loading Loading @@ -74,7 +73,7 @@ class CommunalUserActionsViewModelTest : SysuiTestCase() { setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(SceneFamilies.Home)) assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(Scenes.Lockscreen)) assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)).isEqualTo(UserActionResult(Scenes.Shade)) Loading @@ -83,7 +82,7 @@ class CommunalUserActionsViewModelTest : SysuiTestCase() { setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(SceneFamilies.Home)) assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(Scenes.Lockscreen)) assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) assertThat(actions?.get(Swipe.Down)).isEqualTo(UserActionResult(Scenes.Shade)) } Loading @@ -96,7 +95,7 @@ class CommunalUserActionsViewModelTest : SysuiTestCase() { setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(SceneFamilies.Home)) assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(Scenes.Lockscreen)) assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)) .isEqualTo(UserActionResult(Scenes.Shade, ToSplitShade)) Loading @@ -106,7 +105,7 @@ class CommunalUserActionsViewModelTest : SysuiTestCase() { setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(SceneFamilies.Home)) assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(Scenes.Lockscreen)) assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) assertThat(actions?.get(Swipe.Down)) .isEqualTo(UserActionResult(Scenes.Shade, ToSplitShade)) Loading @@ -120,7 +119,7 @@ class CommunalUserActionsViewModelTest : SysuiTestCase() { setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(SceneFamilies.Home)) assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(Scenes.Lockscreen)) assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)) .isEqualTo(UserActionResult.ShowOverlay(Overlays.NotificationsShade)) Loading @@ -130,7 +129,7 @@ class CommunalUserActionsViewModelTest : SysuiTestCase() { setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(SceneFamilies.Home)) assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(Scenes.Lockscreen)) assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) assertThat(actions?.get(Swipe.Down)) .isEqualTo(UserActionResult.ShowOverlay(Overlays.NotificationsShade)) Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/dreams/ui/viewmodel/DreamUserActionsViewModelTest.kt +4 −90 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ import com.android.compose.animation.scene.UserActionResult import com.android.systemui.SysuiTestCase import com.android.systemui.authentication.data.repository.fakeAuthenticationRepository import com.android.systemui.authentication.shared.model.AuthenticationMethodModel import com.android.systemui.communal.domain.interactor.setCommunalAvailable import com.android.systemui.coroutines.collectLastValue import com.android.systemui.deviceentry.domain.interactor.deviceUnlockedInteractor import com.android.systemui.flags.EnableSceneContainer Loading Loading @@ -62,15 +61,14 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { @Before fun setUp() { underTest = kosmos.dreamUserActionsViewModel underTest = kosmos.dreamUserActionsViewModelFactory.create() underTest.activateIn(testScope) } @Test fun actions_communalNotAvailable_singleShade() = fun actions_singleShade() = testScope.runTest { kosmos.enableSingleShade() kosmos.setCommunalAvailable(false) val actions by collectLastValue(underTest.actions) Loading @@ -93,10 +91,9 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { } @Test fun actions_communalNotAvailable_splitShade() = fun actions_splitShade() = testScope.runTest { kosmos.enableSplitShade() kosmos.setCommunalAvailable(false) val actions by collectLastValue(underTest.actions) Loading @@ -121,10 +118,9 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { } @Test fun actions_communalNotAvailable_dualShade() = fun actions_dualShade() = testScope.runTest { kosmos.enableDualShade() kosmos.setCommunalAvailable(false) val actions by collectLastValue(underTest.actions) Loading @@ -148,88 +144,6 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { assertThat(actions?.get(Swipe.End)).isNull() } @Test fun actions_communalAvailable_singleShade() = testScope.runTest { kosmos.enableSingleShade() kosmos.setCommunalAvailable(true) val actions by collectLastValue(underTest.actions) setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)).isEqualTo(UserActionResult(Scenes.Shade)) assertThat(actions?.get(Swipe.Start)).isEqualTo(UserActionResult(Scenes.Communal)) assertThat(actions?.get(Swipe.End)).isNull() setUpState(isShadeTouchable = false, isDeviceUnlocked = false) assertThat(actions).isEmpty() setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) assertThat(actions?.get(Swipe.Down)).isEqualTo(UserActionResult(Scenes.Shade)) assertThat(actions?.get(Swipe.Start)).isEqualTo(UserActionResult(Scenes.Communal)) assertThat(actions?.get(Swipe.End)).isNull() } @Test fun actions_communalAvailable_splitShade() = testScope.runTest { kosmos.enableSplitShade() kosmos.setCommunalAvailable(true) val actions by collectLastValue(underTest.actions) setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)) .isEqualTo(UserActionResult(Scenes.Shade, ToSplitShade)) assertThat(actions?.get(Swipe.Start)).isEqualTo(UserActionResult(Scenes.Communal)) assertThat(actions?.get(Swipe.End)).isNull() setUpState(isShadeTouchable = false, isDeviceUnlocked = false) assertThat(actions).isEmpty() setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) assertThat(actions?.get(Swipe.Down)) .isEqualTo(UserActionResult(Scenes.Shade, ToSplitShade)) assertThat(actions?.get(Swipe.Start)).isEqualTo(UserActionResult(Scenes.Communal)) assertThat(actions?.get(Swipe.End)).isNull() } @Test fun actions_communalAvailable_dualShade() = testScope.runTest { kosmos.enableDualShade() kosmos.setCommunalAvailable(true) val actions by collectLastValue(underTest.actions) setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)) .isEqualTo(UserActionResult.ShowOverlay(Overlays.NotificationsShade)) assertThat(actions?.get(Swipe.Start)).isEqualTo(UserActionResult(Scenes.Communal)) assertThat(actions?.get(Swipe.End)).isNull() setUpState(isShadeTouchable = false, isDeviceUnlocked = false) assertThat(actions).isEmpty() setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) assertThat(actions?.get(Swipe.Down)) .isEqualTo(UserActionResult.ShowOverlay(Overlays.NotificationsShade)) assertThat(actions?.get(Swipe.Start)).isEqualTo(UserActionResult(Scenes.Communal)) assertThat(actions?.get(Swipe.End)).isNull() } private fun TestScope.setUpState(isShadeTouchable: Boolean, isDeviceUnlocked: Boolean) { if (isShadeTouchable) { kosmos.powerInteractor.setAwakeForTest() Loading
packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalUserActionsViewModel.kt +1 −3 Original line number Diff line number Diff line Loading @@ -20,7 +20,6 @@ import com.android.compose.animation.scene.Swipe import com.android.compose.animation.scene.UserAction import com.android.compose.animation.scene.UserActionResult import com.android.systemui.deviceentry.domain.interactor.DeviceUnlockedInteractor 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 Loading Loading @@ -60,8 +59,7 @@ constructor( if (isDeviceUnlocked) Scenes.Gone else Scenes.Bouncer add(Swipe.Up to bouncerOrGone) // "Home" is either Lockscreen, or Gone - if the device is entered. add(Swipe.End to SceneFamilies.Home) add(Swipe.End to Scenes.Lockscreen) addAll( when (shadeMode) { Loading
packages/SystemUI/src/com/android/systemui/dreams/ui/viewmodel/DreamUserActionsViewModel.kt +1 −8 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ package com.android.systemui.dreams.ui.viewmodel import com.android.compose.animation.scene.Swipe import com.android.compose.animation.scene.UserAction import com.android.compose.animation.scene.UserActionResult import com.android.systemui.communal.domain.interactor.CommunalInteractor import com.android.systemui.deviceentry.domain.interactor.DeviceUnlockedInteractor import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.scene.ui.viewmodel.UserActionsViewModel Loading @@ -40,7 +39,6 @@ import kotlinx.coroutines.flow.map class DreamUserActionsViewModel @AssistedInject constructor( private val communalInteractor: CommunalInteractor, private val deviceUnlockedInteractor: DeviceUnlockedInteractor, private val shadeInteractor: ShadeInteractor, private val shadeModeInteractor: ShadeModeInteractor, Loading @@ -54,14 +52,9 @@ constructor( } else { combine( deviceUnlockedInteractor.deviceUnlockStatus.map { it.isUnlocked }, communalInteractor.isCommunalAvailable, shadeModeInteractor.shadeMode, ) { isDeviceUnlocked, isCommunalAvailable, shadeMode -> ) { isDeviceUnlocked, shadeMode -> buildList { if (isCommunalAvailable) { add(Swipe.Start to Scenes.Communal) } val bouncerOrGone = if (isDeviceUnlocked) Scenes.Gone else Scenes.Bouncer add(Swipe.Up to bouncerOrGone) Loading
packages/SystemUI/tests/utils/src/com/android/systemui/dreams/ui/viewmodel/DreamUserActionsViewModelKosmos.kt +11 −9 Original line number Diff line number Diff line Loading @@ -16,18 +16,20 @@ package com.android.systemui.dreams.ui.viewmodel 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.kosmos.Kosmos.Fixture import com.android.systemui.shade.domain.interactor.shadeInteractor import com.android.systemui.shade.domain.interactor.shadeModeInteractor val Kosmos.dreamUserActionsViewModel by Kosmos.Fixture { DreamUserActionsViewModel( communalInteractor = communalInteractor, val Kosmos.dreamUserActionsViewModelFactory by Fixture { object : DreamUserActionsViewModel.Factory { override fun create(): DreamUserActionsViewModel { return DreamUserActionsViewModel( deviceUnlockedInteractor = deviceUnlockedInteractor, shadeInteractor = shadeInteractor, shadeModeInteractor = shadeModeInteractor, ) } } }