Merge "Reset isFoldHandled" into tm-qpr-dev

This commit is contained in:
Matt Pietal
2023-03-30 16:58:45 +00:00
committed by Android (Google) Code Review
2 changed files with 29 additions and 1 deletions

View File

@@ -152,6 +152,7 @@ constructor(
} else if (isFolded && !isFoldHandled && alwaysOnEnabled && isDozing) { } else if (isFolded && !isFoldHandled && alwaysOnEnabled && isDozing) {
// Screen turning on for the first time after folding and we are already dozing // Screen turning on for the first time after folding and we are already dozing
// We should play the folding to AOD animation // We should play the folding to AOD animation
isFoldHandled = true
setAnimationState(playing = true) setAnimationState(playing = true)
centralSurfaces.notificationPanelViewController.prepareFoldToAodAnimation() centralSurfaces.notificationPanelViewController.prepareFoldToAodAnimation()
@@ -186,7 +187,10 @@ constructor(
cancelAnimation?.run() cancelAnimation?.run()
// Post starting the animation to the next frame to avoid junk due to inset changes // Post starting the animation to the next frame to avoid junk due to inset changes
cancelAnimation = mainExecutor.executeDelayed(startAnimationRunnable, /* delayMillis= */ 0) cancelAnimation = mainExecutor.executeDelayed(
startAnimationRunnable,
/* delayMillis= */ 0
)
shouldPlayAnimation = false shouldPlayAnimation = false
} }
} }

View File

@@ -50,6 +50,8 @@ import org.junit.runner.RunWith
import org.mockito.ArgumentCaptor import org.mockito.ArgumentCaptor
import org.mockito.Captor import org.mockito.Captor
import org.mockito.Mock import org.mockito.Mock
import org.mockito.Mockito.never
import org.mockito.Mockito.reset
import org.mockito.Mockito.verify import org.mockito.Mockito.verify
import org.mockito.Mockito.verifyNoMoreInteractions import org.mockito.Mockito.verifyNoMoreInteractions
import org.mockito.Mockito.`when` as whenever import org.mockito.Mockito.`when` as whenever
@@ -173,6 +175,28 @@ class FoldAodAnimationControllerTest : SysuiTestCase() {
job.cancel() job.cancel()
} }
@Test
fun onFolded_onScreenTurningOnInvokedTwice_doesNotLogLatency() =
runBlocking(IMMEDIATE) {
val job = underTest.listenForDozing(this)
keyguardRepository.setDozing(true)
setAodEnabled(enabled = true)
yield()
fold()
simulateScreenTurningOn()
reset(latencyTracker)
// This can happen > 1 time if the prox sensor is covered
simulateScreenTurningOn()
verify(latencyTracker, never()).onActionStart(any())
verify(latencyTracker, never()).onActionEnd(any())
job.cancel()
}
@Test @Test
fun onFolded_animationCancelled_doesNotLogLatency() = fun onFolded_animationCancelled_doesNotLogLatency() =
runBlocking(IMMEDIATE) { runBlocking(IMMEDIATE) {