Merge "SideFPS bp cancels on power press" into tm-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
137613f487
@@ -69,7 +69,6 @@ import java.util.function.Supplier;
|
|||||||
class FingerprintAuthenticationClient extends AuthenticationClient<AidlSession>
|
class FingerprintAuthenticationClient extends AuthenticationClient<AidlSession>
|
||||||
implements Udfps, LockoutConsumer, PowerPressHandler {
|
implements Udfps, LockoutConsumer, PowerPressHandler {
|
||||||
private static final String TAG = "FingerprintAuthenticationClient";
|
private static final String TAG = "FingerprintAuthenticationClient";
|
||||||
private static final int MESSAGE_IGNORE_AUTH = 1;
|
|
||||||
private static final int MESSAGE_AUTH_SUCCESS = 2;
|
private static final int MESSAGE_AUTH_SUCCESS = 2;
|
||||||
private static final int MESSAGE_FINGER_UP = 3;
|
private static final int MESSAGE_FINGER_UP = 3;
|
||||||
@NonNull
|
@NonNull
|
||||||
@@ -235,12 +234,6 @@ class FingerprintAuthenticationClient extends AuthenticationClient<AidlSession>
|
|||||||
() -> {
|
() -> {
|
||||||
long delay = 0;
|
long delay = 0;
|
||||||
if (authenticated && mSensorProps.isAnySidefpsType()) {
|
if (authenticated && mSensorProps.isAnySidefpsType()) {
|
||||||
if (mHandler.hasMessages(MESSAGE_IGNORE_AUTH)) {
|
|
||||||
Slog.i(TAG, "(sideFPS) Ignoring auth due to recent power press");
|
|
||||||
onErrorInternal(BiometricConstants.BIOMETRIC_ERROR_POWER_PRESSED, 0,
|
|
||||||
true);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
delay = isKeyguard() ? mWaitForAuthKeyguard : mWaitForAuthBp;
|
delay = isKeyguard() ? mWaitForAuthKeyguard : mWaitForAuthBp;
|
||||||
|
|
||||||
if (mSideFpsLastAcquireStartTime != -1) {
|
if (mSideFpsLastAcquireStartTime != -1) {
|
||||||
@@ -497,16 +490,12 @@ class FingerprintAuthenticationClient extends AuthenticationClient<AidlSession>
|
|||||||
if (mSensorProps.isAnySidefpsType()) {
|
if (mSensorProps.isAnySidefpsType()) {
|
||||||
Slog.i(TAG, "(sideFPS): onPowerPressed");
|
Slog.i(TAG, "(sideFPS): onPowerPressed");
|
||||||
mHandler.post(() -> {
|
mHandler.post(() -> {
|
||||||
if (mHandler.hasMessages(MESSAGE_AUTH_SUCCESS)) {
|
Slog.i(TAG, "(sideFPS): finishing auth");
|
||||||
Slog.i(TAG, "(sideFPS): Ignoring auth in queue");
|
// Ignore auths after a power has been detected
|
||||||
mHandler.removeMessages(MESSAGE_AUTH_SUCCESS);
|
mHandler.removeMessages(MESSAGE_AUTH_SUCCESS);
|
||||||
// Do not call onError() as that will send an additional callback to coex.
|
// Do not call onError() as that will send an additional callback to coex.
|
||||||
onErrorInternal(BiometricConstants.BIOMETRIC_ERROR_POWER_PRESSED, 0, true);
|
onErrorInternal(BiometricConstants.BIOMETRIC_ERROR_POWER_PRESSED, 0, true);
|
||||||
}
|
mSensorOverlays.hide(getSensorId());
|
||||||
mHandler.removeMessages(MESSAGE_IGNORE_AUTH);
|
|
||||||
mHandler.postDelayed(() -> {
|
|
||||||
}, MESSAGE_IGNORE_AUTH, mIgnoreAuthFor);
|
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -616,6 +616,20 @@ public class FingerprintAuthenticationClientTest {
|
|||||||
verify(mCallback).onClientFinished(any(), eq(true));
|
verify(mCallback).onClientFinished(any(), eq(true));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void sideFpsPowerPressCancelsIsntantly() throws Exception {
|
||||||
|
when(mSensorProps.isAnySidefpsType()).thenReturn(true);
|
||||||
|
|
||||||
|
final FingerprintAuthenticationClient client = createClient(1);
|
||||||
|
client.start(mCallback);
|
||||||
|
|
||||||
|
client.onPowerPressed();
|
||||||
|
mLooper.dispatchAll();
|
||||||
|
|
||||||
|
verify(mCallback, never()).onClientFinished(any(), eq(true));
|
||||||
|
verify(mCallback).onClientFinished(any(), eq(false));
|
||||||
|
}
|
||||||
|
|
||||||
private FingerprintAuthenticationClient createClient() throws RemoteException {
|
private FingerprintAuthenticationClient createClient() throws RemoteException {
|
||||||
return createClient(100 /* version */, true /* allowBackgroundAuthentication */);
|
return createClient(100 /* version */, true /* allowBackgroundAuthentication */);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user