summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Issei Suzuki <issei@google.com> 2022-07-13 15:23:41 +0000
committer Issei Suzuki <issei@google.com> 2022-07-18 15:03:54 +0000
commitde8442bc48683cd85555802f40ab0ec7fec1a7c7 (patch)
tree0aaaff6c62065383f6b96f6ea0abb6c5fce23a03
parent9aebc35d8a95f2eb255bcc5500ab5adb13fd2fb7 (diff)
Reset keyguardGoingAway status when AOD is showing.
Bug: 237391074 Test: manual 1. goto lock screen and show AOD 2. touch fingerprint sensor to unlock the device 3. as soon as fingerprint sensor reacts, push power button. 4. see output of `adb logcat -b events` and verify keyguardGoingAway state is reset after SysUI requests to show both lockscreen and AOD. Change-Id: Ibeac8ac92ce51f4fc2aa9cb123812f7ce1cc4b0c
-rw-r--r--services/core/java/com/android/server/wm/KeyguardController.java7
1 files changed, 4 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/wm/KeyguardController.java b/services/core/java/com/android/server/wm/KeyguardController.java
index ca4376e0f263..d76f6be93aeb 100644
--- a/services/core/java/com/android/server/wm/KeyguardController.java
+++ b/services/core/java/com/android/server/wm/KeyguardController.java
@@ -170,11 +170,12 @@ class KeyguardController {
final KeyguardDisplayState state = getDisplayState(displayId);
final boolean aodChanged = aodShowing != state.mAodShowing;
+ final boolean aodRemoved = state.mAodShowing && !aodShowing;
// If keyguard is going away, but SystemUI aborted the transition, need to reset state.
- // Do not reset keyguardChanged status if this is aodChanged.
+ // Do not reset keyguardChanged status when only AOD is removed.
final boolean keyguardChanged = (keyguardShowing != state.mKeyguardShowing)
- || (state.mKeyguardGoingAway && keyguardShowing && !aodChanged);
- if (aodChanged && !aodShowing) {
+ || (state.mKeyguardGoingAway && keyguardShowing && !aodRemoved);
+ if (aodRemoved) {
updateDeferWakeTransition(false /* waiting */);
}
if (!keyguardChanged && !aodChanged) {