Merge "Reset keyguard drawn tasks in onScreenTurnedOff" into tm-qpr-dev am: 1c64df3e5f am: d5b29f7ffa

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21511266

Change-Id: I6532a6bcc0634e3f17904a716f431d85f6aff4cb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Nick Chameyev
2023-02-22 15:31:53 +00:00
committed by Automerger Merge Worker
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

@@ -602,6 +602,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