diff options
| author | 2024-11-06 14:39:54 +0000 | |
|---|---|---|
| committer | 2024-11-06 14:39:54 +0000 | |
| commit | f795bcef498e86f97cdcee079022cbc59aafe27d (patch) | |
| tree | fea48f052f169cf21e2364a791b6c688b0e40521 | |
| parent | edea2a4a4728fe6822eb09caeb0bc009395e3ca2 (diff) | |
| parent | a62c287329855d4239e0f0995766c72804d50355 (diff) | |
Merge "STL improve Swipe definition API 1/2" into main
20 files changed, 109 insertions, 156 deletions
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalContainer.kt b/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalContainer.kt index 6d3039855077..87e9c427d695 100644 --- a/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalContainer.kt +++ b/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalContainer.kt @@ -42,7 +42,6 @@ import com.android.compose.animation.scene.SceneKey import com.android.compose.animation.scene.SceneScope import com.android.compose.animation.scene.SceneTransitionLayout import com.android.compose.animation.scene.Swipe -import com.android.compose.animation.scene.SwipeDirection import com.android.compose.animation.scene.observableTransitionState import com.android.compose.animation.scene.transitions import com.android.systemui.communal.shared.model.CommunalBackgroundType @@ -124,7 +123,7 @@ val sceneTransitions = transitions { } timestampRange( startMillis = TransitionDuration.EDIT_MODE_TO_HUB_GRID_DELAY_MS, - endMillis = TransitionDuration.EDIT_MODE_TO_HUB_GRID_END_MS + endMillis = TransitionDuration.EDIT_MODE_TO_HUB_GRID_END_MS, ) { fade(Communal.Elements.Grid) } @@ -187,14 +186,13 @@ fun CommunalContainer( ) { scene( CommunalScenes.Blank, - userActions = - mapOf(Swipe(SwipeDirection.Start, fromSource = Edge.End) to CommunalScenes.Communal) + userActions = mapOf(Swipe.Start(fromSource = Edge.End) to CommunalScenes.Communal), ) { // This scene shows nothing only allowing for transitions to the communal scene. Box(modifier = Modifier.fillMaxSize()) } - val userActions = mapOf(Swipe(SwipeDirection.End) to CommunalScenes.Blank) + val userActions = mapOf(Swipe.End to CommunalScenes.Blank) scene(CommunalScenes.Communal, userActions = userActions) { CommunalScene( @@ -257,13 +255,9 @@ fun SceneScope.CommunalScene( /** Default background of the hub, a single color */ @Composable -private fun BoxScope.DefaultBackground( - colors: CommunalColors, -) { +private fun BoxScope.DefaultBackground(colors: CommunalColors) { val backgroundColor by colors.backgroundColor.collectAsStateWithLifecycle() - Box( - modifier = Modifier.matchParentSize().background(Color(backgroundColor.toArgb())), - ) + Box(modifier = Modifier.matchParentSize().background(Color(backgroundColor.toArgb()))) } /** Experimental hub background, static linear gradient */ @@ -273,7 +267,7 @@ private fun BoxScope.StaticLinearGradient() { Box( Modifier.matchParentSize() .background( - Brush.linearGradient(colors = listOf(colors.primary, colors.primaryContainer)), + Brush.linearGradient(colors = listOf(colors.primary, colors.primaryContainer)) ) ) BackgroundTopScrim() @@ -288,7 +282,7 @@ private fun BoxScope.AnimatedLinearGradient() { .background(colors.primary) .animatedRadialGradientBackground( toColor = colors.primary, - fromColor = colors.primaryContainer.copy(alpha = 0.6f) + fromColor = colors.primaryContainer.copy(alpha = 0.6f), ) ) BackgroundTopScrim() @@ -324,9 +318,9 @@ fun Modifier.animatedRadialGradientBackground(toColor: Color, fromColor: Color): durationMillis = ANIMATION_DURATION_MS, easing = CubicBezierEasing(0.33f, 0f, 0.67f, 1f), ), - repeatMode = RepeatMode.Reverse + repeatMode = RepeatMode.Reverse, ), - label = "radial gradient center fraction" + label = "radial gradient center fraction", ) // Offset to place the center of the gradients offscreen. This is applied to both the @@ -337,16 +331,9 @@ fun Modifier.animatedRadialGradientBackground(toColor: Color, fromColor: Color): val gradientRadius = (size.width / 2) + offsetPx val totalHeight = size.height + 2 * offsetPx - val leftCenter = - Offset( - x = -offsetPx, - y = totalHeight * centerFraction - offsetPx, - ) + val leftCenter = Offset(x = -offsetPx, y = totalHeight * centerFraction - offsetPx) val rightCenter = - Offset( - x = offsetPx + size.width, - y = totalHeight * (1f - centerFraction) - offsetPx, - ) + Offset(x = offsetPx + size.width, y = totalHeight * (1f - centerFraction) - offsetPx) // Right gradient drawCircle( @@ -354,7 +341,7 @@ fun Modifier.animatedRadialGradientBackground(toColor: Color, fromColor: Color): Brush.radialGradient( colors = listOf(fromColor, toColor), center = rightCenter, - radius = gradientRadius + radius = gradientRadius, ), center = rightCenter, radius = gradientRadius, @@ -367,7 +354,7 @@ fun Modifier.animatedRadialGradientBackground(toColor: Color, fromColor: Color): Brush.radialGradient( colors = listOf(fromColor, toColor), center = leftCenter, - radius = gradientRadius + radius = gradientRadius, ), center = leftCenter, radius = gradientRadius, diff --git a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitionLayout.kt b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitionLayout.kt index 21d87e173728..dbf7d7b29834 100644 --- a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitionLayout.kt +++ b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitionLayout.kt @@ -405,7 +405,8 @@ data object Back : UserAction() { } /** The user swiped on the container. */ -data class Swipe( +data class Swipe +private constructor( val direction: SwipeDirection, val pointerCount: Int = 1, val pointersType: PointerType? = null, @@ -418,6 +419,42 @@ data class Swipe( val Down = Swipe(SwipeDirection.Down) val Start = Swipe(SwipeDirection.Start) val End = Swipe(SwipeDirection.End) + + fun Left( + pointerCount: Int = 1, + pointersType: PointerType? = null, + fromSource: SwipeSource? = null, + ) = Swipe(SwipeDirection.Left, pointerCount, pointersType, fromSource) + + fun Up( + pointerCount: Int = 1, + pointersType: PointerType? = null, + fromSource: SwipeSource? = null, + ) = Swipe(SwipeDirection.Up, pointerCount, pointersType, fromSource) + + fun Right( + pointerCount: Int = 1, + pointersType: PointerType? = null, + fromSource: SwipeSource? = null, + ) = Swipe(SwipeDirection.Right, pointerCount, pointersType, fromSource) + + fun Down( + pointerCount: Int = 1, + pointersType: PointerType? = null, + fromSource: SwipeSource? = null, + ) = Swipe(SwipeDirection.Down, pointerCount, pointersType, fromSource) + + fun Start( + pointerCount: Int = 1, + pointersType: PointerType? = null, + fromSource: SwipeSource? = null, + ) = Swipe(SwipeDirection.Start, pointerCount, pointersType, fromSource) + + fun End( + pointerCount: Int = 1, + pointersType: PointerType? = null, + fromSource: SwipeSource? = null, + ) = Swipe(SwipeDirection.End, pointerCount, pointersType, fromSource) } override fun resolve(layoutDirection: LayoutDirection): UserAction.Resolved { diff --git a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/DraggableHandlerTest.kt b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/DraggableHandlerTest.kt index 5dad0d75cfc5..098673e5d186 100644 --- a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/DraggableHandlerTest.kt +++ b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/DraggableHandlerTest.kt @@ -101,10 +101,7 @@ class DraggableHandlerTest { scene( key = SceneC, userActions = - mapOf( - Swipe.Up to SceneB, - Swipe(SwipeDirection.Up, fromSource = Edge.Bottom) to SceneA, - ), + mapOf(Swipe.Up to SceneB, Swipe.Up(fromSource = Edge.Bottom) to SceneA), ) { Text("SceneC") } @@ -1231,7 +1228,7 @@ class DraggableHandlerTest { assertTransition( currentScene = SceneC, fromScene = SceneC, - // userAction: Swipe(SwipeDirection.Up, fromSource = Edge.Bottom) to SceneA + // userAction: Swipe.Up(fromSource = Edge.Bottom) to SceneA toScene = SceneA, progress = 0.1f, ) diff --git a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/ElementTest.kt b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/ElementTest.kt index ee807e6a7ede..4a9051598ddc 100644 --- a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/ElementTest.kt +++ b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/ElementTest.kt @@ -869,10 +869,7 @@ class ElementTest { state = state, modifier = Modifier.size(layoutWidth, layoutHeight), ) { - scene( - SceneA, - userActions = mapOf(Swipe(SwipeDirection.Down, pointerCount = 2) to SceneB), - ) { + scene(SceneA, userActions = mapOf(Swipe.Down(pointerCount = 2) to SceneB)) { Box( Modifier // A scrollable that does not consume the scroll gesture diff --git a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/SwipeToSceneTest.kt b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/SwipeToSceneTest.kt index aaeaba93304d..3b2ee98a2a93 100644 --- a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/SwipeToSceneTest.kt +++ b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/SwipeToSceneTest.kt @@ -128,10 +128,10 @@ class SwipeToSceneTest { if (swipesEnabled()) mapOf( Swipe.Down to SceneA, - Swipe(SwipeDirection.Down, pointerCount = 2) to SceneB, - Swipe(SwipeDirection.Down, pointersType = PointerType.Mouse) to SceneD, - Swipe(SwipeDirection.Right, fromSource = Edge.Left) to SceneB, - Swipe(SwipeDirection.Down, fromSource = Edge.Top) to SceneB, + Swipe.Down(pointerCount = 2) to SceneB, + Swipe.Down(pointersType = PointerType.Mouse) to SceneD, + Swipe.Down(fromSource = Edge.Top) to SceneB, + Swipe.Right(fromSource = Edge.Left) to SceneB, ) else emptyMap(), ) { diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/BouncerUserActionsViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/BouncerUserActionsViewModelTest.kt index f58bbc3cf0cf..d3715926932c 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/BouncerUserActionsViewModelTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/BouncerUserActionsViewModelTest.kt @@ -20,7 +20,6 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.compose.animation.scene.Back import com.android.compose.animation.scene.Swipe -import com.android.compose.animation.scene.SwipeDirection import com.android.compose.animation.scene.UserActionResult import com.android.systemui.SysuiTestCase import com.android.systemui.coroutines.collectLastValue @@ -71,7 +70,7 @@ class BouncerUserActionsViewModelTest : SysuiTestCase() { assertThat(actions) .containsEntriesExactly( Back to UserActionResult(Scenes.QuickSettings), - Swipe(SwipeDirection.Down) to UserActionResult(Scenes.QuickSettings), + Swipe.Down to UserActionResult(Scenes.QuickSettings), ) } } diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenUserActionsViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenUserActionsViewModelTest.kt index 6397979d9627..5c4b7432e18d 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenUserActionsViewModelTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenUserActionsViewModelTest.kt @@ -25,7 +25,6 @@ import androidx.test.filters.SmallTest import com.android.compose.animation.scene.Edge import com.android.compose.animation.scene.SceneKey import com.android.compose.animation.scene.Swipe -import com.android.compose.animation.scene.SwipeDirection import com.android.compose.animation.scene.TransitionKey import com.android.compose.animation.scene.UserActionResult import com.android.compose.animation.scene.UserActionResult.ShowOverlay @@ -201,8 +200,7 @@ class LockscreenUserActionsViewModelTest : SysuiTestCase() { val userActions by collectLastValue(underTest.actions) val downDestination = userActions?.get( - Swipe( - SwipeDirection.Down, + Swipe.Down( fromSource = Edge.Top.takeIf { downFromEdge }, pointerCount = if (downWithTwoPointers) 2 else 1, ) @@ -292,8 +290,7 @@ class LockscreenUserActionsViewModelTest : SysuiTestCase() { val downDestination = userActions?.get( - Swipe( - SwipeDirection.Down, + Swipe.Down( fromSource = Edge.Top.takeIf { downFromEdge }, pointerCount = if (downWithTwoPointers) 2 else 1, ) @@ -310,8 +307,7 @@ class LockscreenUserActionsViewModelTest : SysuiTestCase() { val downFromTopRightDestination = userActions?.get( - Swipe( - SwipeDirection.Down, + Swipe.Down( fromSource = SceneContainerEdge.TopRight, pointerCount = if (downWithTwoPointers) 2 else 1, ) diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/notifications/ui/viewmodel/NotificationsShadeOverlayActionsViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/notifications/ui/viewmodel/NotificationsShadeOverlayActionsViewModelTest.kt index 642d9a0b1e9d..855931c32671 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/notifications/ui/viewmodel/NotificationsShadeOverlayActionsViewModelTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/notifications/ui/viewmodel/NotificationsShadeOverlayActionsViewModelTest.kt @@ -21,7 +21,6 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.compose.animation.scene.Back import com.android.compose.animation.scene.Swipe -import com.android.compose.animation.scene.SwipeDirection import com.android.compose.animation.scene.UserActionResult import com.android.systemui.SysuiTestCase import com.android.systemui.coroutines.collectLastValue @@ -76,12 +75,8 @@ class NotificationsShadeOverlayActionsViewModelTest : SysuiTestCase() { underTest.activateIn(this) assertThat( - (actions?.get( - Swipe( - direction = SwipeDirection.Down, - fromSource = SceneContainerEdge.TopRight, - ) - ) as? UserActionResult.ReplaceByOverlay) + (actions?.get(Swipe.Down(fromSource = SceneContainerEdge.TopRight)) + as? UserActionResult.ReplaceByOverlay) ?.overlay ) .isEqualTo(Overlays.QuickSettingsShade) diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsShadeOverlayActionsViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsShadeOverlayActionsViewModelTest.kt index c3a777cc3e44..939644594d31 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsShadeOverlayActionsViewModelTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsShadeOverlayActionsViewModelTest.kt @@ -21,7 +21,6 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.compose.animation.scene.Back import com.android.compose.animation.scene.Swipe -import com.android.compose.animation.scene.SwipeDirection import com.android.compose.animation.scene.UserActionResult import com.android.systemui.SysuiTestCase import com.android.systemui.coroutines.collectLastValue @@ -89,12 +88,8 @@ class QuickSettingsShadeOverlayActionsViewModelTest : SysuiTestCase() { underTest.activateIn(this) assertThat( - (actions?.get( - Swipe( - direction = SwipeDirection.Down, - fromSource = SceneContainerEdge.TopLeft, - ) - ) as? UserActionResult.ReplaceByOverlay) + (actions?.get(Swipe.Down(fromSource = SceneContainerEdge.TopLeft)) + as? UserActionResult.ReplaceByOverlay) ?.overlay ) .isEqualTo(Overlays.NotificationsShade) diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsUserActionsViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsUserActionsViewModelTest.kt index 62b6391ca54c..d5fbe49a153b 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsUserActionsViewModelTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsUserActionsViewModelTest.kt @@ -22,7 +22,6 @@ import androidx.test.filters.SmallTest import com.android.compose.animation.scene.Back import com.android.compose.animation.scene.Edge import com.android.compose.animation.scene.Swipe -import com.android.compose.animation.scene.SwipeDirection import com.android.compose.animation.scene.UserActionResult import com.android.systemui.SysuiTestCase import com.android.systemui.authentication.data.repository.fakeAuthenticationRepository @@ -98,9 +97,8 @@ class QuickSettingsUserActionsViewModelTest : SysuiTestCase() { .isEqualTo( mapOf( Back to UserActionResult(Scenes.Shade), - Swipe(SwipeDirection.Up) to UserActionResult(Scenes.Shade), - Swipe(fromSource = Edge.Bottom, direction = SwipeDirection.Up) to - UserActionResult(SceneFamilies.Home), + Swipe.Up to UserActionResult(Scenes.Shade), + Swipe.Up(fromSource = Edge.Bottom) to UserActionResult(SceneFamilies.Home), ) ) assertThat(homeScene).isEqualTo(Scenes.Gone) @@ -125,9 +123,8 @@ class QuickSettingsUserActionsViewModelTest : SysuiTestCase() { .isEqualTo( mapOf( Back to UserActionResult(Scenes.Lockscreen), - Swipe(SwipeDirection.Up) to UserActionResult(Scenes.Lockscreen), - Swipe(fromSource = Edge.Bottom, direction = SwipeDirection.Up) to - UserActionResult(SceneFamilies.Home), + Swipe.Up to UserActionResult(Scenes.Lockscreen), + Swipe.Up(fromSource = Edge.Bottom) to UserActionResult(SceneFamilies.Home), ) ) assertThat(homeScene).isEqualTo(Scenes.Lockscreen) @@ -154,9 +151,8 @@ class QuickSettingsUserActionsViewModelTest : SysuiTestCase() { .isEqualTo( mapOf( Back to UserActionResult(Scenes.Shade), - Swipe(SwipeDirection.Up) to UserActionResult(Scenes.Shade), - Swipe(fromSource = Edge.Bottom, direction = SwipeDirection.Up) to - UserActionResult(SceneFamilies.Home), + Swipe.Up to UserActionResult(Scenes.Shade), + Swipe.Up(fromSource = Edge.Bottom) to UserActionResult(SceneFamilies.Home), ) ) assertThat(homeScene).isEqualTo(Scenes.Gone) @@ -178,9 +174,8 @@ class QuickSettingsUserActionsViewModelTest : SysuiTestCase() { .isEqualTo( mapOf( Back to UserActionResult(Scenes.Shade), - Swipe(SwipeDirection.Up) to UserActionResult(Scenes.Shade), - Swipe(fromSource = Edge.Bottom, direction = SwipeDirection.Up) to - UserActionResult(SceneFamilies.Home), + Swipe.Up to UserActionResult(Scenes.Shade), + Swipe.Up(fromSource = Edge.Bottom) to UserActionResult(SceneFamilies.Home), ) ) assertThat(homeScene).isEqualTo(Scenes.Lockscreen) @@ -214,9 +209,8 @@ class QuickSettingsUserActionsViewModelTest : SysuiTestCase() { .isEqualTo( mapOf( Back to UserActionResult(Scenes.Shade), - Swipe(SwipeDirection.Up) to UserActionResult(Scenes.Shade), - Swipe(fromSource = Edge.Bottom, direction = SwipeDirection.Up) to - UserActionResult(SceneFamilies.Home), + Swipe.Up to UserActionResult(Scenes.Shade), + Swipe.Up(fromSource = Edge.Bottom) to UserActionResult(SceneFamilies.Home), ) ) assertThat(homeScene).isEqualTo(Scenes.Gone) 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 47fae9f0629f..bb2e9417ecef 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 @@ -23,7 +23,6 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.compose.animation.scene.Edge import com.android.compose.animation.scene.Swipe -import com.android.compose.animation.scene.SwipeDirection import com.android.compose.animation.scene.UserAction import com.android.compose.animation.scene.UserActionResult import com.android.systemui.SysuiTestCase @@ -71,8 +70,7 @@ class GoneUserActionsViewModelTest : SysuiTestCase() { shadeRepository.setShadeLayoutWide(true) runCurrent() - assertThat(userActions?.get(Swipe(SwipeDirection.Down))?.transitionKey) - .isEqualTo(ToSplitShade) + assertThat(userActions?.get(Swipe.Down)?.transitionKey).isEqualTo(ToSplitShade) } @Test @@ -83,7 +81,7 @@ class GoneUserActionsViewModelTest : SysuiTestCase() { shadeRepository.setShadeLayoutWide(false) runCurrent() - assertThat(userActions?.get(Swipe(SwipeDirection.Down))?.transitionKey).isNull() + assertThat(userActions?.get(Swipe.Down)?.transitionKey).isNull() } @Test @@ -94,7 +92,7 @@ class GoneUserActionsViewModelTest : SysuiTestCase() { shadeRepository.setShadeLayoutWide(true) runCurrent() - assertThat(userActions?.get(Swipe(SwipeDirection.Down))?.transitionKey).isNull() + assertThat(userActions?.get(Swipe.Down)?.transitionKey).isNull() } @Test @@ -132,6 +130,6 @@ class GoneUserActionsViewModelTest : SysuiTestCase() { } private fun swipeDownFromTopWithTwoFingers(): UserAction { - return Swipe(direction = SwipeDirection.Down, pointerCount = 2, fromSource = Edge.Top) + return Swipe.Down(pointerCount = 2, fromSource = Edge.Top) } } diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/ui/viewmodel/UserActionsViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/ui/viewmodel/UserActionsViewModelTest.kt index 972afb58352d..d5f57da40e5a 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/ui/viewmodel/UserActionsViewModelTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/ui/viewmodel/UserActionsViewModelTest.kt @@ -22,7 +22,6 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.compose.animation.scene.Back import com.android.compose.animation.scene.Swipe -import com.android.compose.animation.scene.SwipeDirection import com.android.compose.animation.scene.UserAction import com.android.compose.animation.scene.UserActionResult import com.android.systemui.SysuiTestCase @@ -77,7 +76,7 @@ class UserActionsViewModelTest : SysuiTestCase() { val expected1 = mapOf( Back to UserActionResult(toScene = Scenes.Gone), - Swipe(SwipeDirection.Up) to UserActionResult(toScene = Scenes.Shade) + Swipe.Up to UserActionResult(toScene = Scenes.Shade), ) underTest.upstream.value = expected1 runCurrent() @@ -86,7 +85,7 @@ class UserActionsViewModelTest : SysuiTestCase() { val expected2 = mapOf( Back to UserActionResult(toScene = Scenes.Lockscreen), - Swipe(SwipeDirection.Down) to UserActionResult(toScene = Scenes.Shade) + Swipe.Down to UserActionResult(toScene = Scenes.Shade), ) underTest.upstream.value = expected2 runCurrent() @@ -104,7 +103,7 @@ class UserActionsViewModelTest : SysuiTestCase() { val expected = mapOf( Back to UserActionResult(toScene = Scenes.Lockscreen), - Swipe(SwipeDirection.Down) to UserActionResult(toScene = Scenes.Shade) + Swipe.Down to UserActionResult(toScene = Scenes.Shade), ) underTest.upstream.value = expected runCurrent() @@ -120,7 +119,7 @@ class UserActionsViewModelTest : SysuiTestCase() { val upstream = MutableStateFlow<Map<UserAction, UserActionResult>>(emptyMap()) override suspend fun hydrateActions( - setActions: (Map<UserAction, UserActionResult>) -> Unit, + setActions: (Map<UserAction, UserActionResult>) -> Unit ) { upstream.collect { setActions(it) } } diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/ui/viewmodel/ShadeUserActionsViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/ui/viewmodel/ShadeUserActionsViewModelTest.kt index fcb366bfd8ee..bbfc66a8d8e5 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/ui/viewmodel/ShadeUserActionsViewModelTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/ui/viewmodel/ShadeUserActionsViewModelTest.kt @@ -92,10 +92,7 @@ class ShadeUserActionsViewModelTest : SysuiTestCase() { AuthenticationMethodModel.Pin ) - assertThat( - (actions?.get(Swipe(SwipeDirection.Up)) as? UserActionResult.ChangeScene) - ?.toScene - ) + assertThat((actions?.get(Swipe.Up) as? UserActionResult.ChangeScene)?.toScene) .isEqualTo(SceneFamilies.Home) assertThat(homeScene).isEqualTo(Scenes.Lockscreen) } @@ -110,10 +107,7 @@ class ShadeUserActionsViewModelTest : SysuiTestCase() { ) setDeviceEntered(true) - assertThat( - (actions?.get(Swipe(SwipeDirection.Up)) as? UserActionResult.ChangeScene) - ?.toScene - ) + assertThat((actions?.get(Swipe.Up) as? UserActionResult.ChangeScene)?.toScene) .isEqualTo(SceneFamilies.Home) assertThat(homeScene).isEqualTo(Scenes.Gone) } @@ -128,10 +122,7 @@ class ShadeUserActionsViewModelTest : SysuiTestCase() { ) kosmos.keyguardEnabledInteractor.notifyKeyguardEnabled(false) - assertThat( - (actions?.get(Swipe(SwipeDirection.Up)) as? UserActionResult.ChangeScene) - ?.toScene - ) + assertThat((actions?.get(Swipe.Up) as? UserActionResult.ChangeScene)?.toScene) .isEqualTo(SceneFamilies.Home) assertThat(homeScene).isEqualTo(Scenes.Gone) } @@ -147,10 +138,7 @@ class ShadeUserActionsViewModelTest : SysuiTestCase() { ) sceneInteractor.changeScene(Scenes.Lockscreen, "reason") - assertThat( - (actions?.get(Swipe(SwipeDirection.Up)) as? UserActionResult.ChangeScene) - ?.toScene - ) + assertThat((actions?.get(Swipe.Up) as? UserActionResult.ChangeScene)?.toScene) .isEqualTo(SceneFamilies.Home) assertThat(homeScene).isEqualTo(Scenes.Lockscreen) } @@ -167,10 +155,7 @@ class ShadeUserActionsViewModelTest : SysuiTestCase() { runCurrent() sceneInteractor.changeScene(Scenes.Gone, "reason") - assertThat( - (actions?.get(Swipe(SwipeDirection.Up)) as? UserActionResult.ChangeScene) - ?.toScene - ) + assertThat((actions?.get(Swipe.Up) as? UserActionResult.ChangeScene)?.toScene) .isEqualTo(SceneFamilies.Home) assertThat(homeScene).isEqualTo(Scenes.Gone) } @@ -182,8 +167,7 @@ class ShadeUserActionsViewModelTest : SysuiTestCase() { shadeRepository.setShadeLayoutWide(true) runCurrent() - assertThat(actions?.get(Swipe(SwipeDirection.Up))?.transitionKey) - .isEqualTo(ToSplitShade) + assertThat(actions?.get(Swipe.Up)?.transitionKey).isEqualTo(ToSplitShade) } @Test @@ -193,7 +177,7 @@ class ShadeUserActionsViewModelTest : SysuiTestCase() { shadeRepository.setShadeLayoutWide(false) runCurrent() - assertThat(actions?.get(Swipe(SwipeDirection.Up))?.transitionKey).isNull() + assertThat(actions?.get(Swipe.Up)?.transitionKey).isNull() } @Test @@ -202,10 +186,7 @@ class ShadeUserActionsViewModelTest : SysuiTestCase() { overrideResource(R.bool.config_use_split_notification_shade, true) kosmos.shadeStartable.start() val actions by collectLastValue(underTest.actions) - assertThat( - (actions?.get(Swipe(SwipeDirection.Down)) as? UserActionResult.ChangeScene) - ?.toScene - ) + assertThat((actions?.get(Swipe.Down) as? UserActionResult.ChangeScene)?.toScene) .isNull() } @@ -215,10 +196,7 @@ class ShadeUserActionsViewModelTest : SysuiTestCase() { overrideResource(R.bool.config_use_split_notification_shade, false) kosmos.shadeStartable.start() val actions by collectLastValue(underTest.actions) - assertThat( - (actions?.get(Swipe(SwipeDirection.Down)) as? UserActionResult.ChangeScene) - ?.toScene - ) + assertThat((actions?.get(Swipe.Down) as? UserActionResult.ChangeScene)?.toScene) .isEqualTo(Scenes.QuickSettings) } diff --git a/packages/SystemUI/src/com/android/systemui/bouncer/ui/viewmodel/BouncerUserActionsViewModel.kt b/packages/SystemUI/src/com/android/systemui/bouncer/ui/viewmodel/BouncerUserActionsViewModel.kt index 4fe6fc69e8be..f50a2ab1d803 100644 --- a/packages/SystemUI/src/com/android/systemui/bouncer/ui/viewmodel/BouncerUserActionsViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/bouncer/ui/viewmodel/BouncerUserActionsViewModel.kt @@ -18,7 +18,6 @@ package com.android.systemui.bouncer.ui.viewmodel import com.android.compose.animation.scene.Back import com.android.compose.animation.scene.Swipe -import com.android.compose.animation.scene.SwipeDirection import com.android.compose.animation.scene.UserAction import com.android.compose.animation.scene.UserActionResult import com.android.systemui.bouncer.domain.interactor.BouncerInteractor @@ -33,16 +32,14 @@ import kotlinx.coroutines.flow.map */ class BouncerUserActionsViewModel @AssistedInject -constructor( - private val bouncerInteractor: BouncerInteractor, -) : UserActionsViewModel() { +constructor(private val bouncerInteractor: BouncerInteractor) : UserActionsViewModel() { override suspend fun hydrateActions(setActions: (Map<UserAction, UserActionResult>) -> Unit) { bouncerInteractor.dismissDestination .map { prevScene -> mapOf( Back to UserActionResult(prevScene), - Swipe(SwipeDirection.Down) to UserActionResult(prevScene), + Swipe.Down to UserActionResult(prevScene), ) } .collect { actions -> setActions(actions) } diff --git a/packages/SystemUI/src/com/android/systemui/notifications/ui/viewmodel/NotificationsShadeOverlayActionsViewModel.kt b/packages/SystemUI/src/com/android/systemui/notifications/ui/viewmodel/NotificationsShadeOverlayActionsViewModel.kt index 63bfbd1dc1ba..195b0cebe2eb 100644 --- a/packages/SystemUI/src/com/android/systemui/notifications/ui/viewmodel/NotificationsShadeOverlayActionsViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/notifications/ui/viewmodel/NotificationsShadeOverlayActionsViewModel.kt @@ -18,7 +18,6 @@ package com.android.systemui.notifications.ui.viewmodel import com.android.compose.animation.scene.Back import com.android.compose.animation.scene.Swipe -import com.android.compose.animation.scene.SwipeDirection import com.android.compose.animation.scene.UserAction import com.android.compose.animation.scene.UserActionResult import com.android.compose.animation.scene.UserActionResult.HideOverlay @@ -38,7 +37,7 @@ class NotificationsShadeOverlayActionsViewModel @AssistedInject constructor() : mapOf( Swipe.Up to HideOverlay(Overlays.NotificationsShade), Back to HideOverlay(Overlays.NotificationsShade), - Swipe(direction = SwipeDirection.Down, fromSource = SceneContainerEdge.TopRight) to + Swipe.Down(fromSource = SceneContainerEdge.TopRight) to ReplaceByOverlay(Overlays.QuickSettingsShade), ) ) diff --git a/packages/SystemUI/src/com/android/systemui/notifications/ui/viewmodel/NotificationsShadeUserActionsViewModel.kt b/packages/SystemUI/src/com/android/systemui/notifications/ui/viewmodel/NotificationsShadeUserActionsViewModel.kt index 11854d9317c9..398ace4b67f4 100644 --- a/packages/SystemUI/src/com/android/systemui/notifications/ui/viewmodel/NotificationsShadeUserActionsViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/notifications/ui/viewmodel/NotificationsShadeUserActionsViewModel.kt @@ -18,7 +18,6 @@ package com.android.systemui.notifications.ui.viewmodel import com.android.compose.animation.scene.Back import com.android.compose.animation.scene.Swipe -import com.android.compose.animation.scene.SwipeDirection import com.android.compose.animation.scene.UserAction import com.android.compose.animation.scene.UserActionResult import com.android.compose.animation.scene.UserActionResult.ReplaceByOverlay @@ -40,7 +39,7 @@ class NotificationsShadeUserActionsViewModel @AssistedInject constructor() : mapOf( Back to SceneFamilies.Home, Swipe.Up to SceneFamilies.Home, - Swipe(direction = SwipeDirection.Down, fromSource = SceneContainerEdge.TopRight) to + Swipe.Down(fromSource = SceneContainerEdge.TopRight) to ReplaceByOverlay(Overlays.QuickSettingsShade), ) ) diff --git a/packages/SystemUI/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsShadeOverlayActionsViewModel.kt b/packages/SystemUI/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsShadeOverlayActionsViewModel.kt index 9a416d1d3b3b..000f7f8a7d31 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsShadeOverlayActionsViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsShadeOverlayActionsViewModel.kt @@ -18,7 +18,6 @@ package com.android.systemui.qs.ui.viewmodel import com.android.compose.animation.scene.Back import com.android.compose.animation.scene.Swipe -import com.android.compose.animation.scene.SwipeDirection import com.android.compose.animation.scene.UserAction import com.android.compose.animation.scene.UserActionResult import com.android.compose.animation.scene.UserActionResult.HideOverlay @@ -47,7 +46,7 @@ constructor(private val editModeViewModel: EditModeViewModel) : UserActionsViewM put(Back, HideOverlay(Overlays.QuickSettingsShade)) } put( - Swipe(SwipeDirection.Down, fromSource = SceneContainerEdge.TopLeft), + Swipe.Down(fromSource = SceneContainerEdge.TopLeft), ReplaceByOverlay(Overlays.NotificationsShade), ) } diff --git a/packages/SystemUI/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsUserActionsViewModel.kt b/packages/SystemUI/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsUserActionsViewModel.kt index 54e5caca107c..f59541545de4 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsUserActionsViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsUserActionsViewModel.kt @@ -20,7 +20,6 @@ import com.android.compose.animation.scene.Back import com.android.compose.animation.scene.Edge import com.android.compose.animation.scene.SceneKey import com.android.compose.animation.scene.Swipe -import com.android.compose.animation.scene.SwipeDirection import com.android.compose.animation.scene.UserAction import com.android.compose.animation.scene.UserActionResult import com.android.systemui.qs.ui.adapter.QSSceneAdapter @@ -44,10 +43,8 @@ import kotlinx.coroutines.flow.map */ class QuickSettingsUserActionsViewModel @AssistedInject -constructor( - private val qsSceneAdapter: QSSceneAdapter, - sceneBackInteractor: SceneBackInteractor, -) : UserActionsViewModel() { +constructor(private val qsSceneAdapter: QSSceneAdapter, sceneBackInteractor: SceneBackInteractor) : + UserActionsViewModel() { private val backScene: Flow<SceneKey> = sceneBackInteractor.backScene @@ -55,10 +52,7 @@ constructor( .map { it ?: Scenes.Shade } override suspend fun hydrateActions(setActions: (Map<UserAction, UserActionResult>) -> Unit) { - combine( - qsSceneAdapter.isCustomizerShowing, - backScene, - ) { isCustomizing, backScene -> + combine(qsSceneAdapter.isCustomizerShowing, backScene) { isCustomizing, backScene -> buildMap<UserAction, UserActionResult> { if (isCustomizing) { // TODO(b/332749288) Empty map so there are no back handlers and back can @@ -69,9 +63,9 @@ constructor( // while customizing } else { put(Back, UserActionResult(backScene)) - put(Swipe(SwipeDirection.Up), UserActionResult(backScene)) + put(Swipe.Up, UserActionResult(backScene)) put( - Swipe(fromSource = Edge.Bottom, direction = SwipeDirection.Up), + Swipe.Up(fromSource = Edge.Bottom), UserActionResult(SceneFamilies.Home), ) } diff --git a/packages/SystemUI/src/com/android/systemui/shade/ui/viewmodel/ShadeUserActions.kt b/packages/SystemUI/src/com/android/systemui/shade/ui/viewmodel/ShadeUserActions.kt index e5f684635ac7..b0777c9e20b9 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/ui/viewmodel/ShadeUserActions.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/ui/viewmodel/ShadeUserActions.kt @@ -18,7 +18,6 @@ package com.android.systemui.shade.ui.viewmodel import com.android.compose.animation.scene.Edge import com.android.compose.animation.scene.Swipe -import com.android.compose.animation.scene.SwipeDirection import com.android.compose.animation.scene.UserAction import com.android.compose.animation.scene.UserActionResult import com.android.systemui.scene.shared.model.Overlays @@ -35,7 +34,7 @@ fun singleShadeActions( return arrayOf( // Swiping down, not from the edge, always goes to shade. Swipe.Down to shadeUserActionResult, - swipeDown(pointerCount = 2) to shadeUserActionResult, + Swipe.Down(pointerCount = 2) to shadeUserActionResult, // Swiping down from the top edge. swipeDownFromTop(pointerCount = 1) to @@ -54,7 +53,7 @@ fun splitShadeActions(): Array<Pair<UserAction, UserActionResult>> { return arrayOf( // Swiping down, not from the edge, always goes to shade. Swipe.Down to shadeUserActionResult, - swipeDown(pointerCount = 2) to shadeUserActionResult, + Swipe.Down(pointerCount = 2) to shadeUserActionResult, // Swiping down from the top edge goes to QS. swipeDownFromTop(pointerCount = 1) to shadeUserActionResult, swipeDownFromTop(pointerCount = 2) to shadeUserActionResult, @@ -69,15 +68,10 @@ fun dualShadeActions(): Array<Pair<UserAction, UserActionResult>> { UserActionResult.ShowOverlay(Overlays.QuickSettingsShade, isIrreversible = true) return arrayOf( Swipe.Down to notifShadeUserActionResult, - Swipe(direction = SwipeDirection.Down, fromSource = SceneContainerEdge.TopRight) to - qsShadeuserActionResult, + Swipe.Down(fromSource = SceneContainerEdge.TopRight) to qsShadeuserActionResult, ) } private fun swipeDownFromTop(pointerCount: Int): Swipe { - return Swipe(SwipeDirection.Down, fromSource = Edge.Top, pointerCount = pointerCount) -} - -private fun swipeDown(pointerCount: Int): Swipe { - return Swipe(SwipeDirection.Down, pointerCount = pointerCount) + return Swipe.Down(fromSource = Edge.Top, pointerCount = pointerCount) } 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 4bdd36773655..7d6b1a3126dc 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 @@ -17,7 +17,6 @@ package com.android.systemui.shade.ui.viewmodel import com.android.compose.animation.scene.Swipe -import com.android.compose.animation.scene.SwipeDirection import com.android.compose.animation.scene.UserAction import com.android.compose.animation.scene.UserActionResult import com.android.systemui.qs.ui.adapter.QSSceneAdapter @@ -58,7 +57,7 @@ constructor( buildMap<UserAction, UserActionResult> { if (!isCustomizerShowing) { set( - Swipe(SwipeDirection.Up), + Swipe.Up, UserActionResult( backScene, ToSplitShade.takeIf { shadeMode is ShadeMode.Split }, @@ -69,7 +68,7 @@ constructor( // TODO(b/330200163) Add an else to be able to collapse the shade while // customizing if (shadeMode is ShadeMode.Single) { - set(Swipe(SwipeDirection.Down), UserActionResult(Scenes.QuickSettings)) + set(Swipe.Down, UserActionResult(Scenes.QuickSettings)) } } } |