diff options
| author | 2017-05-08 20:42:13 +0000 | |
|---|---|---|
| committer | 2017-05-08 20:42:18 +0000 | |
| commit | a0cd8eb55d737166a400193d27d36e805215a9d6 (patch) | |
| tree | e4fa50d5428e8eaf9ce472d3ddf96970e6a9c5e8 | |
| parent | 97578e313c2624a118615bb934c6c7b54b4f0ad3 (diff) | |
| parent | d717808bd0883cea7723a8e0b794e156b140a7da (diff) | |
Merge "Fix AuthenticationCallback leak in FingerprintManager" into oc-dev
| -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; } } |