Don't auto-restart face auth after successful auth

Currently, face auth sends a message to restart face authentication
500ms after a successful authentication attempt. This is a holdover from
fingerprint and is unnecessary for face, since the latter is entirely
interrupt-driven. It is also leading to issues where face auth will scan
repeatedly when SystemUI freezes or is slow to respond. Thus, this
commit removes the restart behavior after the user has authenticated.

Test: atest com.android.keyguard
Test: Manually verified face auth functionality in Keyguard.

Bug: 157630051
Change-Id: I8bfb7870d3c68f6d40fdbf7209446782c5805f8f
This commit is contained in:
Curtis Belmonte
2020-07-20 17:22:06 -07:00
parent 90c7090ebf
commit b46f971573

View File

@@ -286,11 +286,11 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
private final Executor mBackgroundExecutor;
/**
* Short delay before restarting biometric authentication after a successful try
* This should be slightly longer than the time between on<biometric>Authenticated
* (e.g. onFingerprintAuthenticated) and setKeyguardGoingAway(true).
* Short delay before restarting fingerprint authentication after a successful try. This should
* be slightly longer than the time between onFingerprintAuthenticated and
* setKeyguardGoingAway(true).
*/
private static final int BIOMETRIC_CONTINUE_DELAY_MS = 500;
private static final int FINGERPRINT_CONTINUE_DELAY_MS = 500;
// If the HAL dies or is unable to authenticate, keyguard should retry after a short delay
private int mHardwareFingerprintUnavailableRetryCount = 0;
@@ -598,7 +598,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
}
mHandler.sendMessageDelayed(mHandler.obtainMessage(MSG_BIOMETRIC_AUTHENTICATION_CONTINUE),
BIOMETRIC_CONTINUE_DELAY_MS);
FINGERPRINT_CONTINUE_DELAY_MS);
// Only authenticate fingerprint once when assistant is visible
mAssistantVisible = false;
@@ -780,9 +780,6 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
}
}
mHandler.sendMessageDelayed(mHandler.obtainMessage(MSG_BIOMETRIC_AUTHENTICATION_CONTINUE),
BIOMETRIC_CONTINUE_DELAY_MS);
// Only authenticate face once when assistant is visible
mAssistantVisible = false;