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

Commit 9b971d6e authored by Beverly's avatar Beverly Committed by Matt Pietal
Browse files

Ensure end action is called if keyguard animation is cancelled

Else, the dozing state may be inaccurate which will
cause aod-buggyness

Test: manual, builds and transition to AOD still works
Bug: 202630143
Change-Id: I57af55792db76552d3f991204b185a9472abea58
Merged-In: I9984863d0acea1265d09dfcfac22d5e78c73a1fe
Merged-In: I57af55792db76552d3f991204b185a9472abea58
(cherry picked from commit 0f63fa26)
parent 8439fe32
Loading
Loading
Loading
Loading
+17 −12
Original line number Diff line number Diff line
@@ -145,14 +145,15 @@ class UnlockedScreenOffAnimationController @Inject constructor(
                .setDuration(duration.toLong())
                .setInterpolator(Interpolators.FAST_OUT_SLOW_IN)
                .alpha(1f)
                .withEndAction {
                .setListener(object : AnimatorListenerAdapter() {
                    override fun onAnimationEnd(animation: Animator?) {
                        aodUiAnimationPlaying = false

                        // Lock the keyguard if it was waiting for the screen off animation to end.
                        keyguardViewMediatorLazy.get().maybeHandlePendingLock()

                    // Tell the StatusBar to become keyguard for real - we waited on that since it
                    // is slow and would have caused the animation to jank.
                        // Tell the StatusBar to become keyguard for real - we waited on that since
                        // it is slow and would have caused the animation to jank.
                        statusBar.updateIsKeyguard()

                        // Run the callback given to us by the KeyguardVisibilityHelper.
@@ -160,7 +161,11 @@ class UnlockedScreenOffAnimationController @Inject constructor(

                        // Done going to sleep, reset this flag.
                        decidedToAnimateGoingToSleep = null

                        // We need to unset the listener. These are persistent for future animators
                        keyguardView.animate().setListener(null)
                    }
                })
                .start()
    }