diff options
4 files changed, 11 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardListenModel.kt b/packages/SystemUI/src/com/android/keyguard/KeyguardListenModel.kt index 0ea196537e72..919b71bbf879 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardListenModel.kt +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardListenModel.kt @@ -52,6 +52,7 @@ data class KeyguardFaceListenModel( val becauseCannotSkipBouncer: Boolean, val biometricSettingEnabledForUser: Boolean, val bouncerFullyShown: Boolean, + val bouncerIsOrWillShow: Boolean, val faceAuthenticated: Boolean, val faceDisabled: Boolean, val goingToSleep: Boolean, diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java index b92f1dbaa59c..b194c06f3e97 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java @@ -2550,7 +2550,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab // on bouncer if both fp and fingerprint are enrolled. final boolean awakeKeyguardExcludingBouncerShowing = mKeyguardIsVisible && mDeviceInteractive && !mGoingToSleep - && !statusBarShadeLocked && !mBouncerFullyShown; + && !statusBarShadeLocked && !mBouncerIsOrWillBeShowing; final int user = getCurrentUser(); final int strongAuth = mStrongAuthTracker.getStrongAuthForUser(user); final boolean isLockDown = @@ -2619,6 +2619,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab becauseCannotSkipBouncer, biometricEnabledForUser, mBouncerFullyShown, + mBouncerIsOrWillBeShowing, faceAuthenticated, faceDisabledForUser, mGoingToSleep, @@ -3192,7 +3193,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab cb.onKeyguardBouncerStateChanged(mBouncerIsOrWillBeShowing); } } - updateFingerprintListeningState(BIOMETRIC_ACTION_UPDATE); + updateBiometricListeningState(BIOMETRIC_ACTION_UPDATE); } if (wasBouncerFullyShown != mBouncerFullyShown) { diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardListenQueueTest.kt b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardListenQueueTest.kt index bb455da92ba2..0bf038d45af0 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardListenQueueTest.kt +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardListenQueueTest.kt @@ -86,6 +86,7 @@ private fun faceModel(user: Int) = KeyguardFaceListenModel( becauseCannotSkipBouncer = false, biometricSettingEnabledForUser = false, bouncerFullyShown = false, + bouncerIsOrWillShow = false, onlyFaceEnrolled = false, faceAuthenticated = false, faceDisabled = false, diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java index 5c06d88ee86a..fde288fd20ba 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java @@ -1526,7 +1526,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase { anyBoolean()); CancellationSignal cancelSignal = mCancellationSignalCaptor.getValue(); - bouncerFullyVisible(); + bouncerWillBeVisibleSoon(); mTestableLooper.processAllMessages(); assertThat(cancelSignal.isCanceled()).isTrue(); @@ -1684,6 +1684,11 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase { setKeyguardBouncerVisibility(true); } + private void bouncerWillBeVisibleSoon() { + mKeyguardUpdateMonitor.sendKeyguardBouncerChanged(true, false); + mTestableLooper.processAllMessages(); + } + private void setKeyguardBouncerVisibility(boolean isVisible) { mKeyguardUpdateMonitor.sendKeyguardBouncerChanged(isVisible, isVisible); mTestableLooper.processAllMessages(); |