Do not count AOD showing changes as keyguard's

AOD status changed after keyguard was set as going away, which
reset mKeyguardGoingAway back to false and put activities to sleep.

Bug: 158640144
Test: Unlock keyguard during AOD2
Change-Id: I9335045668f90d477d19dada0185447bfa3cb2a7
This commit is contained in:
Louis Chang
2020-07-03 10:54:40 +08:00
parent 8d737ec862
commit fc0cdd8526

View File

@@ -133,10 +133,11 @@ class KeyguardController {
* Update the Keyguard showing state.
*/
void setKeyguardShown(boolean keyguardShowing, boolean aodShowing) {
// If keyguard is going away, but SystemUI aborted the transition, need to reset state.
final boolean keyguardChanged = keyguardShowing != mKeyguardShowing
|| mKeyguardGoingAway && keyguardShowing;
final boolean aodChanged = aodShowing != mAodShowing;
// If keyguard is going away, but SystemUI aborted the transition, need to reset state.
// Do not reset keyguardChanged status if this is aodChanged.
final boolean keyguardChanged = (keyguardShowing != mKeyguardShowing)
|| (mKeyguardGoingAway && keyguardShowing && !aodChanged);
if (!keyguardChanged && !aodChanged) {
return;
}