diff options
| author | 2024-08-28 17:41:22 +0000 | |
|---|---|---|
| committer | 2024-08-28 17:41:22 +0000 | |
| commit | 84113f2b1982f651bc53dd759c552cf4c15cc96c (patch) | |
| tree | 6437be4aefd8ace905b8ba6d7b6a80ddd41c3d5d | |
| parent | fadfa1aa54e6daad9ee5ba340a5f0b782e5c9da8 (diff) | |
| parent | 298972be4898e12aec821189f20730e4618ba971 (diff) | |
Merge "Flexiglass: fix lockscreen->bouncer notifs fade" into main
2 files changed, 19 insertions, 3 deletions
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/FromLockscreenToBouncerTransition.kt b/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/FromLockscreenToBouncerTransition.kt index 1fee8741fe48..022eb1f5ef77 100644 --- a/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/FromLockscreenToBouncerTransition.kt +++ b/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/FromLockscreenToBouncerTransition.kt @@ -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) + } } diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenToPrimaryBouncerTransitionViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenToPrimaryBouncerTransitionViewModel.kt index e64c61490204..c0b9efaaec01 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenToPrimaryBouncerTransitionViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenToPrimaryBouncerTransitionViewModel.kt @@ -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 @@ -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 |