summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java9
-rw-r--r--packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java29
2 files changed, 4 insertions, 34 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
index 4987724ea7b2..8c51a4e0ce66 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
@@ -225,7 +225,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
protected static final int BIOMETRIC_STATE_STOPPED = 0;
/** Biometric authentication state: Listening. */
- protected static final int BIOMETRIC_STATE_RUNNING = 1;
+ private static final int BIOMETRIC_STATE_RUNNING = 1;
/**
* Biometric authentication: Cancelling and waiting for the relevant biometric service to
@@ -1145,6 +1145,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
if (getUserCanSkipBouncer(userId)) {
mTrustManager.unlockedByBiometricForUser(userId, FACE);
}
+ updateFingerprintListeningState(BIOMETRIC_ACTION_UPDATE);
mLogger.d("onFaceAuthenticated");
for (int i = 0; i < mCallbacks.size(); i++) {
KeyguardUpdateMonitorCallback cb = mCallbacks.get(i).get();
@@ -1155,12 +1156,6 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
}
}
- // Intentionally update the fingerprint running state after sending the
- // onBiometricAuthenticated callback to listeners. Updating the fingerprint listening state
- // can update the state of the device which listeners to the callback may rely on.
- // For example, the alternate bouncer visibility state or udfps finger down state.
- updateFingerprintListeningState(BIOMETRIC_ACTION_UPDATE);
-
// Only authenticate face once when assistant is visible
mAssistantVisible = false;
diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java
index 5af0c1f9765d..fde45d34a4fd 100644
--- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java
+++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java
@@ -52,7 +52,6 @@ import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.clearInvocations;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.inOrder;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
@@ -158,6 +157,7 @@ import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.InOrder;
import org.mockito.Mock;
+import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.mockito.MockitoSession;
import org.mockito.internal.util.reflection.FieldSetter;
@@ -809,31 +809,6 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
}
@Test
- public void whenFaceAuthenticated_biometricAuthenticatedCallback_beforeUpdatingFpState() {
- // GIVEN listening for UDFPS fingerprint
- when(mAuthController.isUdfpsSupported()).thenReturn(true);
- mKeyguardUpdateMonitor.dispatchStartedWakingUp(PowerManager.WAKE_REASON_POWER_BUTTON);
- mTestableLooper.processAllMessages();
- keyguardIsVisible();
- final CancellationSignal fpCancel = spy(mKeyguardUpdateMonitor.mFingerprintCancelSignal);
- mKeyguardUpdateMonitor.mFingerprintCancelSignal = fpCancel;
-
- // WHEN face is authenticated
- when(mFaceAuthInteractor.isAuthenticated()).thenReturn(true);
- when(mFaceAuthInteractor.isFaceAuthStrong()).thenReturn(true);
- when(mFaceAuthInteractor.isLockedOut()).thenReturn(false);
- mKeyguardUpdateMonitor.onFaceAuthenticated(0, true);
- mTestableLooper.processAllMessages();
-
- // THEN verify keyguardUpdateMonitorCallback receives an onAuthenticated callback
- // before cancelling the fingerprint request
- InOrder inOrder = inOrder(mTestCallback, fpCancel);
- inOrder.verify(mTestCallback).onBiometricAuthenticated(
- eq(0), eq(BiometricSourceType.FACE), eq(true));
- inOrder.verify(fpCancel).cancel();
- }
-
- @Test
public void whenDetectFingerprint_biometricDetectCallback() {
ArgumentCaptor<FingerprintManager.FingerprintDetectionCallback> fpDetectCallbackCaptor =
ArgumentCaptor.forClass(FingerprintManager.FingerprintDetectionCallback.class);
@@ -2158,7 +2133,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
null /* trustGrantedMessages */);
// THEN onTrustChanged is called FIRST
- final InOrder inOrder = inOrder(callback);
+ final InOrder inOrder = Mockito.inOrder(callback);
inOrder.verify(callback).onTrustChanged(eq(mSelectedUserInteractor.getSelectedUserId()));
// AND THEN onTrustGrantedForCurrentUser callback called