Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 84113f2b authored by Julia Tuttle's avatar Julia Tuttle Committed by Android (Google) Code Review
Browse files

Merge "Flexiglass: fix lockscreen->bouncer notifs fade" into main

parents fadfa1aa 298972be
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -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)
    }
}
+11 −1
Original line number Diff line number Diff line
@@ -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