From b04b36062717fc175f4ea94cc8083a01c4455806 Mon Sep 17 00:00:00 2001 From: Joshua McCloskey Date: Mon, 9 May 2022 23:18:49 +0000 Subject: [PATCH] ResetLockoutClients cancel preceding clients. Test: Verified manually via authenticating with multi biometrics. Fixes: 232005953 Fixes: 232006956 Change-Id: I959f7e18be5bc29439472726a6b1ba409dc60845 --- .../biometrics/sensors/face/aidl/FaceResetLockoutClient.java | 4 ++++ .../biometrics/sensors/face/hidl/FaceResetLockoutClient.java | 4 ++++ .../fingerprint/aidl/FingerprintResetLockoutClient.java | 4 ++++ .../fingerprint/hidl/FingerprintResetLockoutClient.java | 4 ++++ 4 files changed, 16 insertions(+) diff --git a/services/core/java/com/android/server/biometrics/sensors/face/aidl/FaceResetLockoutClient.java b/services/core/java/com/android/server/biometrics/sensors/face/aidl/FaceResetLockoutClient.java index de0a36a32b668..bf7a62aadc284 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/aidl/FaceResetLockoutClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/aidl/FaceResetLockoutClient.java @@ -88,6 +88,10 @@ public class FaceResetLockoutClient extends HalClientMonitor implem mCallback.onClientFinished(this, true /* success */); } + public boolean interruptsPrecedingClients() { + return true; + } + /** * Reset the local lockout state and notify any listeners. * diff --git a/services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceResetLockoutClient.java b/services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceResetLockoutClient.java index 6e74d3622c1a8..f29b9e8231094 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceResetLockoutClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceResetLockoutClient.java @@ -65,6 +65,10 @@ public class FaceResetLockoutClient extends HalClientMonitor { startHalOperation(); } + public boolean interruptsPrecedingClients() { + return true; + } + @Override protected void startHalOperation() { try { diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintResetLockoutClient.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintResetLockoutClient.java index f90cba79dac2e..c8148df9ea715 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintResetLockoutClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintResetLockoutClient.java @@ -82,6 +82,10 @@ class FingerprintResetLockoutClient extends HalClientMonitor implem } } + public boolean interruptsPrecedingClients() { + return true; + } + void onLockoutCleared() { resetLocalLockoutStateToNone(getSensorId(), getTargetUserId(), mLockoutCache, mLockoutResetDispatcher); diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/FingerprintResetLockoutClient.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/FingerprintResetLockoutClient.java index 559ca0633c424..843fcc8ee2a6c 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/FingerprintResetLockoutClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/FingerprintResetLockoutClient.java @@ -50,6 +50,10 @@ public class FingerprintResetLockoutClient extends BaseClientMonitor { callback.onClientFinished(this, true /* success */); } + public boolean interruptsPrecedingClients() { + return true; + } + @Override public int getProtoEnum() { return BiometricsProto.CM_RESET_LOCKOUT;