diff options
| author | 2021-05-17 16:53:23 +0000 | |
|---|---|---|
| committer | 2021-05-17 16:53:23 +0000 | |
| commit | bc563d803f9ce16d950d1f559b969619fe27538d (patch) | |
| tree | 955c83ebe2fa1bdb4d9e1c9f793eb0b9f45abcb8 | |
| parent | fe404423048360f1a223a2dcdb5b2a5d00678815 (diff) | |
| parent | d421a8d868832ab2cb331ab1982a9b26f6126cbf (diff) | |
Merge "Don't update biometricListenState on SB stateChange" into sc-dev
| -rw-r--r-- | packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java | 1 | ||||
| -rw-r--r-- | packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java | 28 |
2 files changed, 28 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java index 4523fee045f6..44df02a9023a 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java @@ -252,7 +252,6 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab @Override public void onStateChanged(int newState) { mStatusBarState = newState; - updateBiometricListeningState(); } @Override diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java index f779305b75ab..29b44051f92d 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java @@ -943,6 +943,34 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase { } @Test + public void testShouldNotUpdateBiometricListeningStateOnStatusBarStateChange() { + // GIVEN state for face auth should run aside from StatusBarState + when(mDevicePolicyManager.getKeyguardDisabledFeatures(null, + KeyguardUpdateMonitor.getCurrentUser())).thenReturn(0); + mStatusBarStateListener.onStateChanged(StatusBarState.SHADE_LOCKED); + setKeyguardBouncerVisibility(false /* isVisible */); + mKeyguardUpdateMonitor.dispatchStartedWakingUp(); + when(mKeyguardBypassController.canBypass()).thenReturn(true); + mKeyguardUpdateMonitor.onKeyguardVisibilityChanged(true); + + // WHEN status bar state reports a change to the keyguard that would normally indicate to + // start running face auth + mStatusBarStateListener.onStateChanged(StatusBarState.KEYGUARD); + assertThat(mKeyguardUpdateMonitor.shouldListenForFace()).isEqualTo(true); + + // THEN face unlock is not running b/c status bar state changes don't cause biometric + // listening state to update + assertThat(mKeyguardUpdateMonitor.isFaceUnlockRunning( + KeyguardUpdateMonitor.getCurrentUser())).isEqualTo(false); + + // WHEN biometric listening state is updated + mKeyguardUpdateMonitor.onKeyguardVisibilityChanged(true); + + // THEN face unlock is running + assertThat(mKeyguardUpdateMonitor.isFaceDetectionRunning()).isEqualTo(true); + } + + @Test public void testRequireUnlockForNfc_Broadcast() { KeyguardUpdateMonitorCallback callback = mock(KeyguardUpdateMonitorCallback.class); mKeyguardUpdateMonitor.registerCallback(callback); |