Merge "Reset keyguard drawn tasks in onScreenTurnedOff" into tm-qpr-dev

This commit is contained in:
Nick Chameyev
2023-02-22 13:50:57 +00:00
committed by Android (Google) Code Review
3 changed files with 33 additions and 0 deletions

View File

@@ -73,6 +73,10 @@ class ScreenOnCoordinator @Inject constructor(
@BinderThread
fun onScreenTurnedOn() {
foldAodAnimationController?.onScreenTurnedOn()
}
@BinderThread
fun onScreenTurnedOff() {
pendingTasks.reset()
}
}

View File

@@ -638,6 +638,7 @@ public class KeyguardService extends Service {
checkPermission();
mKeyguardViewMediator.onScreenTurnedOff();
mKeyguardLifecyclesDispatcher.dispatch(KeyguardLifecyclesDispatcher.SCREEN_TURNED_OFF);
mScreenOnCoordinator.onScreenTurnedOff();
}
@Override // Binder interface

View File

@@ -32,6 +32,7 @@ import org.mockito.ArgumentCaptor
import org.mockito.Captor
import org.mockito.Mock
import org.mockito.Mockito.`when`
import org.mockito.Mockito.never
import org.mockito.Mockito.verify
import org.mockito.MockitoAnnotations
import java.util.Optional
@@ -82,6 +83,33 @@ class ScreenOnCoordinatorTest : SysuiTestCase() {
verify(runnable).run()
}
@Test
fun testTasksReady_onScreenTurningOnAndTurnedOnEventsCalledTogether_callsDrawnCallback() {
screenOnCoordinator.onScreenTurningOn(runnable)
screenOnCoordinator.onScreenTurnedOn()
onUnfoldOverlayReady()
onFoldAodReady()
waitHandlerIdle(testHandler)
// Should be called when both unfold overlay and keyguard drawn ready
verify(runnable).run()
}
@Test
fun testTasksReady_onScreenTurnedOnAndTurnedOffBeforeCompletion_doesNotCallDrawnCallback() {
screenOnCoordinator.onScreenTurningOn(runnable)
screenOnCoordinator.onScreenTurnedOn()
screenOnCoordinator.onScreenTurnedOff()
onUnfoldOverlayReady()
onFoldAodReady()
waitHandlerIdle(testHandler)
// Should not be called because this screen turning on call is not valid anymore
verify(runnable, never()).run()
}
@Test
fun testUnfoldTransitionDisabledDrawnTasksReady_onScreenTurningOn_callsDrawnCallback() {
// Recreate with empty unfoldComponent