Loading packages/SystemUI/multivalentTests/src/com/android/systemui/notifications/ui/viewmodel/NotificationsShadeOverlayActionsViewModelTest.kt +9 −0 Original line number Diff line number Diff line Loading @@ -79,4 +79,13 @@ class NotificationsShadeOverlayActionsViewModelTest : SysuiTestCase() { assertThat((action.hideCurrentOverlays as HideCurrentOverlays.Some).overlays) .containsExactly(Overlays.NotificationsShade) } @Test fun downFromTopEdgeEndHalf_switchesToQuickSettingsShade() = kosmos.runTest { val action = actions?.get(Swipe.Down(fromSource = SceneContainerArea.TopEdgeEndHalf)) assertThat((action as ShowOverlay).overlay).isEqualTo(Overlays.QuickSettingsShade) assertThat((action.hideCurrentOverlays as HideCurrentOverlays.Some).overlays) .containsExactly(Overlays.NotificationsShade) } } packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsShadeOverlayActionsViewModelTest.kt +9 −0 Original line number Diff line number Diff line Loading @@ -107,4 +107,13 @@ class QuickSettingsShadeOverlayActionsViewModelTest : SysuiTestCase() { assertThat((action.hideCurrentOverlays as HideCurrentOverlays.Some).overlays) .containsExactly(Overlays.QuickSettingsShade) } @Test fun downFromTopEdgeStartHalf_switchesToNotificationsShade() = kosmos.runTest { val action = actions?.get(Swipe.Down(fromSource = SceneContainerArea.TopEdgeStartHalf)) assertThat((action as ShowOverlay).overlay).isEqualTo(Overlays.NotificationsShade) assertThat((action.hideCurrentOverlays as HideCurrentOverlays.Some).overlays) .containsExactly(Overlays.QuickSettingsShade) } } packages/SystemUI/src/com/android/systemui/notifications/ui/viewmodel/NotificationsShadeOverlayActionsViewModel.kt +12 −8 Original line number Diff line number Diff line Loading @@ -24,7 +24,8 @@ import com.android.compose.animation.scene.UserActionResult.HideOverlay import com.android.compose.animation.scene.UserActionResult.ShowOverlay import com.android.compose.animation.scene.UserActionResult.ShowOverlay.HideCurrentOverlays import com.android.systemui.scene.shared.model.Overlays import com.android.systemui.scene.ui.viewmodel.SceneContainerArea import com.android.systemui.scene.ui.viewmodel.SceneContainerArea.EndHalf import com.android.systemui.scene.ui.viewmodel.SceneContainerArea.TopEdgeEndHalf import com.android.systemui.scene.ui.viewmodel.UserActionsViewModel import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject Loading @@ -34,15 +35,18 @@ class NotificationsShadeOverlayActionsViewModel @AssistedInject constructor() : UserActionsViewModel() { override suspend fun hydrateActions(setActions: (Map<UserAction, UserActionResult>) -> Unit) { setActions( mapOf( Swipe.Up to HideOverlay(Overlays.NotificationsShade), Back to HideOverlay(Overlays.NotificationsShade), Swipe.Down(fromSource = SceneContainerArea.EndHalf) to val hideNotificationsShade = HideOverlay(Overlays.NotificationsShade) val openQuickSettingsShade = ShowOverlay( Overlays.QuickSettingsShade, hideCurrentOverlays = HideCurrentOverlays.Some(Overlays.NotificationsShade), ), ) setActions( mapOf( Swipe.Up to hideNotificationsShade, Back to hideNotificationsShade, Swipe.Down(fromSource = EndHalf) to openQuickSettingsShade, Swipe.Down(fromSource = TopEdgeEndHalf) to openQuickSettingsShade, ) ) } Loading packages/SystemUI/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsShadeOverlayActionsViewModel.kt +11 −10 Original line number Diff line number Diff line Loading @@ -25,7 +25,9 @@ import com.android.compose.animation.scene.UserActionResult.ShowOverlay import com.android.compose.animation.scene.UserActionResult.ShowOverlay.HideCurrentOverlays import com.android.systemui.qs.panels.ui.viewmodel.EditModeViewModel import com.android.systemui.scene.shared.model.Overlays import com.android.systemui.scene.ui.viewmodel.SceneContainerArea import com.android.systemui.scene.ui.viewmodel.SceneContainerArea.BottomEdge import com.android.systemui.scene.ui.viewmodel.SceneContainerArea.StartHalf import com.android.systemui.scene.ui.viewmodel.SceneContainerArea.TopEdgeStartHalf import com.android.systemui.scene.ui.viewmodel.UserActionsViewModel import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject Loading @@ -40,23 +42,22 @@ constructor(private val editModeViewModel: EditModeViewModel) : UserActionsViewM editModeViewModel.isEditing .map { isEditing -> val hideQuickSettings = HideOverlay(Overlays.QuickSettingsShade) val openNotificationsShade = ShowOverlay( Overlays.NotificationsShade, hideCurrentOverlays = HideCurrentOverlays.Some(Overlays.QuickSettingsShade), ) buildMap { if (isEditing) { // When editing, the back gesture is handled outside of this view-model. // TODO(b/418003378): Back should go back to the QS grid layout. put(Swipe.Up(fromSource = SceneContainerArea.BottomEdge), hideQuickSettings) put(Swipe.Up(fromSource = BottomEdge), hideQuickSettings) } else { put(Back, hideQuickSettings) put(Swipe.Up, hideQuickSettings) } put( Swipe.Down(fromSource = SceneContainerArea.StartHalf), ShowOverlay( Overlays.NotificationsShade, hideCurrentOverlays = HideCurrentOverlays.Some(Overlays.QuickSettingsShade), ), ) put(Swipe.Down(fromSource = TopEdgeStartHalf), openNotificationsShade) put(Swipe.Down(fromSource = StartHalf), openNotificationsShade) } } .collect { actions -> setActions(actions) } Loading Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/notifications/ui/viewmodel/NotificationsShadeOverlayActionsViewModelTest.kt +9 −0 Original line number Diff line number Diff line Loading @@ -79,4 +79,13 @@ class NotificationsShadeOverlayActionsViewModelTest : SysuiTestCase() { assertThat((action.hideCurrentOverlays as HideCurrentOverlays.Some).overlays) .containsExactly(Overlays.NotificationsShade) } @Test fun downFromTopEdgeEndHalf_switchesToQuickSettingsShade() = kosmos.runTest { val action = actions?.get(Swipe.Down(fromSource = SceneContainerArea.TopEdgeEndHalf)) assertThat((action as ShowOverlay).overlay).isEqualTo(Overlays.QuickSettingsShade) assertThat((action.hideCurrentOverlays as HideCurrentOverlays.Some).overlays) .containsExactly(Overlays.NotificationsShade) } }
packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsShadeOverlayActionsViewModelTest.kt +9 −0 Original line number Diff line number Diff line Loading @@ -107,4 +107,13 @@ class QuickSettingsShadeOverlayActionsViewModelTest : SysuiTestCase() { assertThat((action.hideCurrentOverlays as HideCurrentOverlays.Some).overlays) .containsExactly(Overlays.QuickSettingsShade) } @Test fun downFromTopEdgeStartHalf_switchesToNotificationsShade() = kosmos.runTest { val action = actions?.get(Swipe.Down(fromSource = SceneContainerArea.TopEdgeStartHalf)) assertThat((action as ShowOverlay).overlay).isEqualTo(Overlays.NotificationsShade) assertThat((action.hideCurrentOverlays as HideCurrentOverlays.Some).overlays) .containsExactly(Overlays.QuickSettingsShade) } }
packages/SystemUI/src/com/android/systemui/notifications/ui/viewmodel/NotificationsShadeOverlayActionsViewModel.kt +12 −8 Original line number Diff line number Diff line Loading @@ -24,7 +24,8 @@ import com.android.compose.animation.scene.UserActionResult.HideOverlay import com.android.compose.animation.scene.UserActionResult.ShowOverlay import com.android.compose.animation.scene.UserActionResult.ShowOverlay.HideCurrentOverlays import com.android.systemui.scene.shared.model.Overlays import com.android.systemui.scene.ui.viewmodel.SceneContainerArea import com.android.systemui.scene.ui.viewmodel.SceneContainerArea.EndHalf import com.android.systemui.scene.ui.viewmodel.SceneContainerArea.TopEdgeEndHalf import com.android.systemui.scene.ui.viewmodel.UserActionsViewModel import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject Loading @@ -34,15 +35,18 @@ class NotificationsShadeOverlayActionsViewModel @AssistedInject constructor() : UserActionsViewModel() { override suspend fun hydrateActions(setActions: (Map<UserAction, UserActionResult>) -> Unit) { setActions( mapOf( Swipe.Up to HideOverlay(Overlays.NotificationsShade), Back to HideOverlay(Overlays.NotificationsShade), Swipe.Down(fromSource = SceneContainerArea.EndHalf) to val hideNotificationsShade = HideOverlay(Overlays.NotificationsShade) val openQuickSettingsShade = ShowOverlay( Overlays.QuickSettingsShade, hideCurrentOverlays = HideCurrentOverlays.Some(Overlays.NotificationsShade), ), ) setActions( mapOf( Swipe.Up to hideNotificationsShade, Back to hideNotificationsShade, Swipe.Down(fromSource = EndHalf) to openQuickSettingsShade, Swipe.Down(fromSource = TopEdgeEndHalf) to openQuickSettingsShade, ) ) } Loading
packages/SystemUI/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsShadeOverlayActionsViewModel.kt +11 −10 Original line number Diff line number Diff line Loading @@ -25,7 +25,9 @@ import com.android.compose.animation.scene.UserActionResult.ShowOverlay import com.android.compose.animation.scene.UserActionResult.ShowOverlay.HideCurrentOverlays import com.android.systemui.qs.panels.ui.viewmodel.EditModeViewModel import com.android.systemui.scene.shared.model.Overlays import com.android.systemui.scene.ui.viewmodel.SceneContainerArea import com.android.systemui.scene.ui.viewmodel.SceneContainerArea.BottomEdge import com.android.systemui.scene.ui.viewmodel.SceneContainerArea.StartHalf import com.android.systemui.scene.ui.viewmodel.SceneContainerArea.TopEdgeStartHalf import com.android.systemui.scene.ui.viewmodel.UserActionsViewModel import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject Loading @@ -40,23 +42,22 @@ constructor(private val editModeViewModel: EditModeViewModel) : UserActionsViewM editModeViewModel.isEditing .map { isEditing -> val hideQuickSettings = HideOverlay(Overlays.QuickSettingsShade) val openNotificationsShade = ShowOverlay( Overlays.NotificationsShade, hideCurrentOverlays = HideCurrentOverlays.Some(Overlays.QuickSettingsShade), ) buildMap { if (isEditing) { // When editing, the back gesture is handled outside of this view-model. // TODO(b/418003378): Back should go back to the QS grid layout. put(Swipe.Up(fromSource = SceneContainerArea.BottomEdge), hideQuickSettings) put(Swipe.Up(fromSource = BottomEdge), hideQuickSettings) } else { put(Back, hideQuickSettings) put(Swipe.Up, hideQuickSettings) } put( Swipe.Down(fromSource = SceneContainerArea.StartHalf), ShowOverlay( Overlays.NotificationsShade, hideCurrentOverlays = HideCurrentOverlays.Some(Overlays.QuickSettingsShade), ), ) put(Swipe.Down(fromSource = TopEdgeStartHalf), openNotificationsShade) put(Swipe.Down(fromSource = StartHalf), openNotificationsShade) } } .collect { actions -> setActions(actions) } Loading