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

Commit 8ff22e5f authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Make sure to reset isFoldHandled" into tm-qpr-dev am: 921756c9 am: 1f8b899e

parents 05a6e7e1 1f8b899e
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -154,10 +154,6 @@ constructor(
                pendingScrimReadyCallback = onReady
            }
        } else if (isFolded && !isFoldHandled && alwaysOnEnabled && isDozing) {
            // Screen turning on for the first time after folding and we are already dozing
            // We should play the folding to AOD animation
            isFoldHandled = true

            setAnimationState(playing = true)
            getShadeFoldAnimator().prepareFoldToAodAnimation()

@@ -173,6 +169,13 @@ constructor(
            // No animation, call ready callback immediately
            onReady.run()
        }

        if (isFolded) {
            // Any time the screen turns on, this state needs to be reset if the device has been
            // folded. Reaching this line implies AOD has been shown in one way or another,
            // if enabled
            isFoldHandled = true
        }
    }

    /** Called when keyguard scrim opaque changed */
+25 −0
Original line number Diff line number Diff line
@@ -199,6 +199,31 @@ class FoldAodAnimationControllerTest : SysuiTestCase() {
            job.cancel()
        }

    @Test
    fun onFolded_onScreenTurningOnWithoutDozingThenWithDozing_doesNotLogLatency() =
        runBlocking(IMMEDIATE) {
            val job = underTest.listenForDozing(this)
            keyguardRepository.setDozing(false)
            setAodEnabled(enabled = true)

            yield()

            fold()
            simulateScreenTurningOn()
            reset(latencyTracker)

            // Now enable dozing and trigger a second run through the aod animation code. It should
            // not rerun the animation
            keyguardRepository.setDozing(true)
            yield()
            simulateScreenTurningOn()

            verify(latencyTracker, never()).onActionStart(any())
            verify(latencyTracker, never()).onActionEnd(any())

            job.cancel()
        }

    @Test
    fun onFolded_animationCancelled_doesNotLogLatency() =
        runBlocking(IMMEDIATE) {