diff options
| -rw-r--r-- | core/java/android/hardware/fingerprint/FingerprintManager.java | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/core/java/android/hardware/fingerprint/FingerprintManager.java b/core/java/android/hardware/fingerprint/FingerprintManager.java index 7947620d3a94..d61fb979900b 100644 --- a/core/java/android/hardware/fingerprint/FingerprintManager.java +++ b/core/java/android/hardware/fingerprint/FingerprintManager.java @@ -42,8 +42,8 @@ import javax.crypto.Cipher; import javax.crypto.Mac; import static android.Manifest.permission.INTERACT_ACROSS_USERS; -import static android.Manifest.permission.USE_FINGERPRINT; import static android.Manifest.permission.MANAGE_FINGERPRINT; +import static android.Manifest.permission.USE_FINGERPRINT; /** * A class that coordinates access to the fingerprint hardware. @@ -910,6 +910,7 @@ public class FingerprintManager { } else if (mAuthenticationCallback != null) { mAuthenticationCallback.onAuthenticationError(clientErrMsgId, getErrorString(errMsgId, vendorCode)); + mAuthenticationCallback = null; } else if (mRemovalCallback != null) { mRemovalCallback.onRemovalError(mRemovalFingerprint, clientErrMsgId, getErrorString(errMsgId, vendorCode)); @@ -930,12 +931,14 @@ public class FingerprintManager { final AuthenticationResult result = new AuthenticationResult(mCryptoObject, fp, userId); mAuthenticationCallback.onAuthenticationSucceeded(result); + mAuthenticationCallback = null; } } private void sendAuthenticatedFailed() { if (mAuthenticationCallback != null) { - mAuthenticationCallback.onAuthenticationFailed(); + mAuthenticationCallback.onAuthenticationFailed(); + mAuthenticationCallback = null; } } |