From 58a0d51472ebbe7e66af1b730e1ba184ed967a03 Mon Sep 17 00:00:00 2001 From: Kevin Chyn Date: Tue, 17 Apr 2018 13:50:53 -0700 Subject: [PATCH] Don't delay the FINGERPRINT_ERROR_CANCELED message Test: tested with test APK Change-Id: Ic975870c6f815b5f7dfa4c7f2d8bf5554fbb1c5b Fixes: 78185698 --- .../android/hardware/fingerprint/FingerprintManager.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/java/android/hardware/fingerprint/FingerprintManager.java b/core/java/android/hardware/fingerprint/FingerprintManager.java index 40d31bfe438be..03221d455edb1 100644 --- a/core/java/android/hardware/fingerprint/FingerprintManager.java +++ b/core/java/android/hardware/fingerprint/FingerprintManager.java @@ -1159,8 +1159,10 @@ public class FingerprintManager implements BiometricFingerprintConstants { public void onError(long deviceId, int error, int vendorCode) { if (mExecutor != null) { // BiometricPrompt case - if (error == FingerprintManager.FINGERPRINT_ERROR_USER_CANCELED) { - // User tapped somewhere to cancel, the biometric dialog is already dismissed. + if (error == FingerprintManager.FINGERPRINT_ERROR_USER_CANCELED + || error == FingerprintManager.FINGERPRINT_ERROR_CANCELED) { + // User tapped somewhere to cancel, or authentication was cancelled by the app + // or got kicked out. The prompt is already gone, so send the error immediately. mExecutor.execute(() -> { sendErrorResult(deviceId, error, vendorCode); });