Fix wakeAndUnlock immediately after sleep.

This resulted in fragments of the shade/keyguard
being visible as we unlocked, due to the screen
off animation putting the shade in a half
KEYGUARD half SHADE state. The existing code
assumed that wake and unlock would always be
from a fully settled KEYGUARD state.

By simply updating the keyguard state as soon
as we wakeAndUnlock, things look good.

I tried to add a test in CentralSurfacesTest,
but StatusBarStateController, etc. are not
initialized because that test is not set up
correctly.

Fixes: 229047510
Fixes: 229047979
Fixes: 230528305
Test: atest SystemUITests
Merged-In: I0603d2c1d467c8172764ff23be1c3879b8f2edfe
Change-Id: I0603d2c1d467c8172764ff23be1c3879b8f2edfe
This commit is contained in:
Josh Tsuji
2022-04-29 15:27:31 -04:00
parent d5bb81348c
commit fa9008bf1e

View File

@@ -4456,6 +4456,13 @@ public class CentralSurfacesImpl extends CoreStartable implements
updateDozingState();
mDozeServiceHost.updateDozing();
updateScrimController();
if (mBiometricUnlockController.isWakeAndUnlock()) {
// Usually doze changes are to/from lockscreen/AOD, but if we're wake and
// unlocking we should hide the keyguard ASAP if necessary.
updateIsKeyguard();
}
updateReportRejectedTouchVisibility();
Trace.endSection();
}