Loading packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainerTransitions.kt +12 −28 Original line number Diff line number Diff line Loading @@ -50,30 +50,22 @@ val SceneContainerTransitions = transitions { from(Scenes.Gone, to = Scenes.NotificationsShade, key = OpenBottomShade) { goneToNotificationsShadeTransition(Edge.Bottom) } from(Scenes.Gone, to = Scenes.Shade) { goneToShadeTransition() } from( Scenes.Gone, to = Scenes.Shade, key = ToSplitShade, ) { goneToSplitShadeTransition() from(Scenes.Gone, to = Scenes.QuickSettingsShade) { goneToQuickSettingsShadeTransition(Edge.Top) } from(Scenes.Gone, to = Scenes.QuickSettingsShade, key = OpenBottomShade) { goneToQuickSettingsShadeTransition(Edge.Bottom) } from( Scenes.Gone, to = Scenes.Shade, key = SlightlyFasterShadeCollapse, ) { from(Scenes.Gone, to = Scenes.Shade) { goneToShadeTransition() } from(Scenes.Gone, to = Scenes.Shade, key = ToSplitShade) { goneToSplitShadeTransition() } from(Scenes.Gone, to = Scenes.Shade, key = SlightlyFasterShadeCollapse) { goneToShadeTransition(durationScale = 0.9) } from(Scenes.Gone, to = Scenes.QuickSettings) { goneToQuickSettingsTransition() } from( Scenes.Gone, to = Scenes.QuickSettings, key = SlightlyFasterShadeCollapse, ) { from(Scenes.Gone, to = Scenes.QuickSettings, key = SlightlyFasterShadeCollapse) { goneToQuickSettingsTransition(durationScale = 0.9) } from(Scenes.Gone, to = Scenes.QuickSettingsShade) { goneToQuickSettingsShadeTransition() } from(Scenes.Lockscreen, to = Scenes.Bouncer) { lockscreenToBouncerTransition() } from(Scenes.Lockscreen, to = Scenes.Communal) { lockscreenToCommunalTransition() } from(Scenes.Lockscreen, to = Scenes.NotificationsShade) { Loading @@ -83,18 +75,10 @@ val SceneContainerTransitions = transitions { lockscreenToQuickSettingsShadeTransition() } from(Scenes.Lockscreen, to = Scenes.Shade) { lockscreenToShadeTransition() } from( Scenes.Lockscreen, to = Scenes.Shade, key = ToSplitShade, ) { from(Scenes.Lockscreen, to = Scenes.Shade, key = ToSplitShade) { lockscreenToSplitShadeTransition() } from( Scenes.Lockscreen, to = Scenes.Shade, key = SlightlyFasterShadeCollapse, ) { from(Scenes.Lockscreen, to = Scenes.Shade, key = SlightlyFasterShadeCollapse) { lockscreenToShadeTransition(durationScale = 0.9) } from(Scenes.Lockscreen, to = Scenes.QuickSettings) { lockscreenToQuickSettingsTransition() } Loading packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/FromGoneToQuickSettingsShadeTransition.kt +3 −1 Original line number Diff line number Diff line Loading @@ -16,10 +16,12 @@ package com.android.systemui.scene.ui.composable.transitions import com.android.compose.animation.scene.Edge import com.android.compose.animation.scene.TransitionBuilder fun TransitionBuilder.goneToQuickSettingsShadeTransition( edge: Edge = Edge.Top, durationScale: Double = 1.0, ) { toQuickSettingsShadeTransition(durationScale) toQuickSettingsShadeTransition(edge, durationScale) } packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/FromLockscreenToQuickSettingsShadeTransition.kt +2 −1 Original line number Diff line number Diff line Loading @@ -16,10 +16,11 @@ package com.android.systemui.scene.ui.composable.transitions import com.android.compose.animation.scene.Edge import com.android.compose.animation.scene.TransitionBuilder fun TransitionBuilder.lockscreenToQuickSettingsShadeTransition( durationScale: Double = 1.0, ) { toQuickSettingsShadeTransition(durationScale) toQuickSettingsShadeTransition(Edge.Top, durationScale) } packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/ToQuickSettingsShadeTransition.kt +3 −13 Original line number Diff line number Diff line Loading @@ -19,17 +19,15 @@ package com.android.systemui.scene.ui.composable.transitions import androidx.compose.animation.core.Spring import androidx.compose.animation.core.spring import androidx.compose.animation.core.tween import androidx.compose.foundation.gestures.Orientation import androidx.compose.ui.unit.IntSize import com.android.compose.animation.scene.Edge import com.android.compose.animation.scene.TransitionBuilder import com.android.compose.animation.scene.UserActionDistance import com.android.compose.animation.scene.UserActionDistanceScope import com.android.systemui.shade.ui.composable.OverlayShade import com.android.systemui.shade.ui.composable.Shade import kotlin.time.Duration.Companion.milliseconds fun TransitionBuilder.toQuickSettingsShadeTransition( edge: Edge = Edge.Top, durationScale: Double = 1.0, ) { spec = tween(durationMillis = (DefaultDuration * durationScale).inWholeMilliseconds.toInt()) Loading @@ -38,17 +36,9 @@ fun TransitionBuilder.toQuickSettingsShadeTransition( stiffness = Spring.StiffnessMediumLow, visibilityThreshold = Shade.Dimensions.ScrimVisibilityThreshold, ) distance = object : UserActionDistance { override fun UserActionDistanceScope.absoluteDistance( fromSceneSize: IntSize, orientation: Orientation, ): Float { return fromSceneSize.height.toFloat() * 2 / 3f } } distance = UserActionDistance { fromSceneSize, _ -> fromSceneSize.height.toFloat() * 2 / 3f } translate(OverlayShade.Elements.Panel, Edge.Top) translate(OverlayShade.Elements.Panel, edge) fractionRange(end = .5f) { fade(OverlayShade.Elements.Scrim) } } Loading packages/SystemUI/src/com/android/systemui/scene/ui/viewmodel/GoneSceneViewModel.kt +19 −8 Original line number Diff line number Diff line Loading @@ -64,6 +64,16 @@ constructor( // TODO(b/338577208): Remove this once we add Dual Shade invocation zones. shadeMode is ShadeMode.Dual ) { if (shadeInteractor.shadeAlignment == Alignment.BottomEnd) { put( Swipe( pointerCount = 2, fromSource = Edge.Bottom, direction = SwipeDirection.Up, ), UserActionResult(SceneFamilies.QuickSettings, OpenBottomShade) ) } else { put( Swipe( pointerCount = 2, Loading @@ -73,6 +83,7 @@ constructor( UserActionResult(SceneFamilies.QuickSettings) ) } } if (shadeInteractor.shadeAlignment == Alignment.BottomEnd) { put(Swipe.Up, UserActionResult(SceneFamilies.NotifShade, OpenBottomShade)) Loading Loading
packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainerTransitions.kt +12 −28 Original line number Diff line number Diff line Loading @@ -50,30 +50,22 @@ val SceneContainerTransitions = transitions { from(Scenes.Gone, to = Scenes.NotificationsShade, key = OpenBottomShade) { goneToNotificationsShadeTransition(Edge.Bottom) } from(Scenes.Gone, to = Scenes.Shade) { goneToShadeTransition() } from( Scenes.Gone, to = Scenes.Shade, key = ToSplitShade, ) { goneToSplitShadeTransition() from(Scenes.Gone, to = Scenes.QuickSettingsShade) { goneToQuickSettingsShadeTransition(Edge.Top) } from(Scenes.Gone, to = Scenes.QuickSettingsShade, key = OpenBottomShade) { goneToQuickSettingsShadeTransition(Edge.Bottom) } from( Scenes.Gone, to = Scenes.Shade, key = SlightlyFasterShadeCollapse, ) { from(Scenes.Gone, to = Scenes.Shade) { goneToShadeTransition() } from(Scenes.Gone, to = Scenes.Shade, key = ToSplitShade) { goneToSplitShadeTransition() } from(Scenes.Gone, to = Scenes.Shade, key = SlightlyFasterShadeCollapse) { goneToShadeTransition(durationScale = 0.9) } from(Scenes.Gone, to = Scenes.QuickSettings) { goneToQuickSettingsTransition() } from( Scenes.Gone, to = Scenes.QuickSettings, key = SlightlyFasterShadeCollapse, ) { from(Scenes.Gone, to = Scenes.QuickSettings, key = SlightlyFasterShadeCollapse) { goneToQuickSettingsTransition(durationScale = 0.9) } from(Scenes.Gone, to = Scenes.QuickSettingsShade) { goneToQuickSettingsShadeTransition() } from(Scenes.Lockscreen, to = Scenes.Bouncer) { lockscreenToBouncerTransition() } from(Scenes.Lockscreen, to = Scenes.Communal) { lockscreenToCommunalTransition() } from(Scenes.Lockscreen, to = Scenes.NotificationsShade) { Loading @@ -83,18 +75,10 @@ val SceneContainerTransitions = transitions { lockscreenToQuickSettingsShadeTransition() } from(Scenes.Lockscreen, to = Scenes.Shade) { lockscreenToShadeTransition() } from( Scenes.Lockscreen, to = Scenes.Shade, key = ToSplitShade, ) { from(Scenes.Lockscreen, to = Scenes.Shade, key = ToSplitShade) { lockscreenToSplitShadeTransition() } from( Scenes.Lockscreen, to = Scenes.Shade, key = SlightlyFasterShadeCollapse, ) { from(Scenes.Lockscreen, to = Scenes.Shade, key = SlightlyFasterShadeCollapse) { lockscreenToShadeTransition(durationScale = 0.9) } from(Scenes.Lockscreen, to = Scenes.QuickSettings) { lockscreenToQuickSettingsTransition() } Loading
packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/FromGoneToQuickSettingsShadeTransition.kt +3 −1 Original line number Diff line number Diff line Loading @@ -16,10 +16,12 @@ package com.android.systemui.scene.ui.composable.transitions import com.android.compose.animation.scene.Edge import com.android.compose.animation.scene.TransitionBuilder fun TransitionBuilder.goneToQuickSettingsShadeTransition( edge: Edge = Edge.Top, durationScale: Double = 1.0, ) { toQuickSettingsShadeTransition(durationScale) toQuickSettingsShadeTransition(edge, durationScale) }
packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/FromLockscreenToQuickSettingsShadeTransition.kt +2 −1 Original line number Diff line number Diff line Loading @@ -16,10 +16,11 @@ package com.android.systemui.scene.ui.composable.transitions import com.android.compose.animation.scene.Edge import com.android.compose.animation.scene.TransitionBuilder fun TransitionBuilder.lockscreenToQuickSettingsShadeTransition( durationScale: Double = 1.0, ) { toQuickSettingsShadeTransition(durationScale) toQuickSettingsShadeTransition(Edge.Top, durationScale) }
packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/ToQuickSettingsShadeTransition.kt +3 −13 Original line number Diff line number Diff line Loading @@ -19,17 +19,15 @@ package com.android.systemui.scene.ui.composable.transitions import androidx.compose.animation.core.Spring import androidx.compose.animation.core.spring import androidx.compose.animation.core.tween import androidx.compose.foundation.gestures.Orientation import androidx.compose.ui.unit.IntSize import com.android.compose.animation.scene.Edge import com.android.compose.animation.scene.TransitionBuilder import com.android.compose.animation.scene.UserActionDistance import com.android.compose.animation.scene.UserActionDistanceScope import com.android.systemui.shade.ui.composable.OverlayShade import com.android.systemui.shade.ui.composable.Shade import kotlin.time.Duration.Companion.milliseconds fun TransitionBuilder.toQuickSettingsShadeTransition( edge: Edge = Edge.Top, durationScale: Double = 1.0, ) { spec = tween(durationMillis = (DefaultDuration * durationScale).inWholeMilliseconds.toInt()) Loading @@ -38,17 +36,9 @@ fun TransitionBuilder.toQuickSettingsShadeTransition( stiffness = Spring.StiffnessMediumLow, visibilityThreshold = Shade.Dimensions.ScrimVisibilityThreshold, ) distance = object : UserActionDistance { override fun UserActionDistanceScope.absoluteDistance( fromSceneSize: IntSize, orientation: Orientation, ): Float { return fromSceneSize.height.toFloat() * 2 / 3f } } distance = UserActionDistance { fromSceneSize, _ -> fromSceneSize.height.toFloat() * 2 / 3f } translate(OverlayShade.Elements.Panel, Edge.Top) translate(OverlayShade.Elements.Panel, edge) fractionRange(end = .5f) { fade(OverlayShade.Elements.Scrim) } } Loading
packages/SystemUI/src/com/android/systemui/scene/ui/viewmodel/GoneSceneViewModel.kt +19 −8 Original line number Diff line number Diff line Loading @@ -64,6 +64,16 @@ constructor( // TODO(b/338577208): Remove this once we add Dual Shade invocation zones. shadeMode is ShadeMode.Dual ) { if (shadeInteractor.shadeAlignment == Alignment.BottomEnd) { put( Swipe( pointerCount = 2, fromSource = Edge.Bottom, direction = SwipeDirection.Up, ), UserActionResult(SceneFamilies.QuickSettings, OpenBottomShade) ) } else { put( Swipe( pointerCount = 2, Loading @@ -73,6 +83,7 @@ constructor( UserActionResult(SceneFamilies.QuickSettings) ) } } if (shadeInteractor.shadeAlignment == Alignment.BottomEnd) { put(Swipe.Up, UserActionResult(SceneFamilies.NotifShade, OpenBottomShade)) Loading