Loading packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/FromLockscreenToBouncerTransition.kt +8 −2 Original line number Diff line number Diff line Loading @@ -5,10 +5,16 @@ import androidx.compose.ui.unit.dp import com.android.compose.animation.scene.TransitionBuilder import com.android.systemui.bouncer.ui.composable.Bouncer const val FROM_LOCK_SCREEN_TO_BOUNCER_FADE_FRACTION = 0.5f fun TransitionBuilder.lockscreenToBouncerTransition() { spec = tween(durationMillis = 500) translate(Bouncer.Elements.Content, y = 300.dp) fractionRange(end = 0.5f) { fade(Bouncer.Elements.Background) } fractionRange(start = 0.5f) { fade(Bouncer.Elements.Content) } fractionRange(end = FROM_LOCK_SCREEN_TO_BOUNCER_FADE_FRACTION) { fade(Bouncer.Elements.Background) } fractionRange(start = FROM_LOCK_SCREEN_TO_BOUNCER_FADE_FRACTION) { fade(Bouncer.Elements.Content) } } packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenToPrimaryBouncerTransitionViewModel.kt +11 −1 Original line number Diff line number Diff line Loading @@ -23,7 +23,9 @@ import com.android.systemui.keyguard.shared.model.KeyguardState.LOCKSCREEN import com.android.systemui.keyguard.shared.model.KeyguardState.PRIMARY_BOUNCER import com.android.systemui.keyguard.ui.KeyguardTransitionAnimationFlow import com.android.systemui.keyguard.ui.transitions.DeviceEntryIconTransition import com.android.systemui.scene.shared.flag.SceneContainerFlag import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.scene.ui.composable.transitions.FROM_LOCK_SCREEN_TO_BOUNCER_FADE_FRACTION import javax.inject.Inject import kotlin.time.Duration.Companion.milliseconds import kotlinx.coroutines.ExperimentalCoroutinesApi Loading Loading @@ -51,10 +53,18 @@ constructor( edge = Edge.create(from = LOCKSCREEN, to = PRIMARY_BOUNCER), ) private val alphaForAnimationStep: (Float) -> Float = when { SceneContainerFlag.isEnabled -> { step -> 1f - Math.min((step / FROM_LOCK_SCREEN_TO_BOUNCER_FADE_FRACTION), 1f) } else -> { step -> 1f - step } } val shortcutsAlpha: Flow<Float> = transitionAnimation.sharedFlow( duration = FromLockscreenTransitionInteractor.TO_PRIMARY_BOUNCER_DURATION, onStep = { 1f - it } onStep = alphaForAnimationStep ) val lockscreenAlpha: Flow<Float> = shortcutsAlpha Loading Loading
packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/FromLockscreenToBouncerTransition.kt +8 −2 Original line number Diff line number Diff line Loading @@ -5,10 +5,16 @@ import androidx.compose.ui.unit.dp import com.android.compose.animation.scene.TransitionBuilder import com.android.systemui.bouncer.ui.composable.Bouncer const val FROM_LOCK_SCREEN_TO_BOUNCER_FADE_FRACTION = 0.5f fun TransitionBuilder.lockscreenToBouncerTransition() { spec = tween(durationMillis = 500) translate(Bouncer.Elements.Content, y = 300.dp) fractionRange(end = 0.5f) { fade(Bouncer.Elements.Background) } fractionRange(start = 0.5f) { fade(Bouncer.Elements.Content) } fractionRange(end = FROM_LOCK_SCREEN_TO_BOUNCER_FADE_FRACTION) { fade(Bouncer.Elements.Background) } fractionRange(start = FROM_LOCK_SCREEN_TO_BOUNCER_FADE_FRACTION) { fade(Bouncer.Elements.Content) } }
packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenToPrimaryBouncerTransitionViewModel.kt +11 −1 Original line number Diff line number Diff line Loading @@ -23,7 +23,9 @@ import com.android.systemui.keyguard.shared.model.KeyguardState.LOCKSCREEN import com.android.systemui.keyguard.shared.model.KeyguardState.PRIMARY_BOUNCER import com.android.systemui.keyguard.ui.KeyguardTransitionAnimationFlow import com.android.systemui.keyguard.ui.transitions.DeviceEntryIconTransition import com.android.systemui.scene.shared.flag.SceneContainerFlag import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.scene.ui.composable.transitions.FROM_LOCK_SCREEN_TO_BOUNCER_FADE_FRACTION import javax.inject.Inject import kotlin.time.Duration.Companion.milliseconds import kotlinx.coroutines.ExperimentalCoroutinesApi Loading Loading @@ -51,10 +53,18 @@ constructor( edge = Edge.create(from = LOCKSCREEN, to = PRIMARY_BOUNCER), ) private val alphaForAnimationStep: (Float) -> Float = when { SceneContainerFlag.isEnabled -> { step -> 1f - Math.min((step / FROM_LOCK_SCREEN_TO_BOUNCER_FADE_FRACTION), 1f) } else -> { step -> 1f - step } } val shortcutsAlpha: Flow<Float> = transitionAnimation.sharedFlow( duration = FromLockscreenTransitionInteractor.TO_PRIMARY_BOUNCER_DURATION, onStep = { 1f - it } onStep = alphaForAnimationStep ) val lockscreenAlpha: Flow<Float> = shortcutsAlpha Loading