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

Commit d1b7ff2f authored by Matt Pietal's avatar Matt Pietal
Browse files

Speed up lockscreen alpha on AOD->OCCLUDED

... without light migration flag. There was noticeable overlap
with the flag off.

Fixes: 380187307
Test: manual - observe phone call interruptions with AOD
Flag: EXEMPT bugfix
Change-Id: I9f51abe4d8c97542a16122931f8a167564872d41
parent 3da813ee
Loading
Loading
Loading
Loading
+15 −6
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.systemui.keyguard.ui.viewmodel

import android.util.MathUtils
import com.android.systemui.Flags.lightRevealMigration
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.keyguard.domain.interactor.FromAodTransitionInteractor
import com.android.systemui.keyguard.shared.model.Edge
@@ -32,9 +33,7 @@ import kotlinx.coroutines.flow.Flow
@SysUISingleton
class AodToOccludedTransitionViewModel
@Inject
constructor(
    animationFlow: KeyguardTransitionAnimationFlow,
) : DeviceEntryIconTransition {
constructor(animationFlow: KeyguardTransitionAnimationFlow) : DeviceEntryIconTransition {
    private val transitionAnimation =
        animationFlow.setup(
            duration = FromAodTransitionInteractor.TO_OCCLUDED_DURATION,
@@ -52,10 +51,20 @@ constructor(
        var currentAlpha = 0f
        return transitionAnimation.sharedFlow(
            duration = 250.milliseconds,
            startTime = 100.milliseconds, // Wait for the light reveal to "hit" the LS elements.
            onStart = { currentAlpha = viewState.alpha() },
            startTime =
                if (lightRevealMigration()) {
                    100.milliseconds // Wait for the light reveal to "hit" the LS elements.
                } else {
                    0.milliseconds
                },
            onStart = {
                if (lightRevealMigration()) {
                    currentAlpha = viewState.alpha()
                } else {
                    currentAlpha = 0f
                }
            },
            onStep = { MathUtils.lerp(currentAlpha, 0f, it) },
            onCancel = { 0f },
        )
    }