Fixed
Status Update
Comments
kc...@google.com <kc...@google.com>
kc...@google.com <kc...@google.com> #2
Thank you for reporting this issue. For us to further investigate this issue, please provide the following additional information:
Steps to reproduce
What steps are needed to reproduce this issue?
Please provide sample project or apk to reproduce the issue. Also mention the steps to be followed for reproducing the issue with the given sample project or apk.
Frequency
How frequently does this issue occur? (e.g 100% of the time, 10% of the time)
Expected output
What is the expected output?
Current output
What is the current output?
Android bug report capturing
After reproducing the issue, press the volume up, volume down, and power button simultaneously. This will capture a bug report on your device in the “bug reports” directory. Attach the bug report file to this issue.
Alternate method
After reproducing the issue, navigate to “developer settings”, ensure “USB debugging” is enabled, then enable “Bug report shortcut”. Capture bug report by holding the power button and selecting the “Take bug report” option.
Note: Please upload the files to google drive and share the folder to android-bugreport@google.com, then share the link here.
Steps to reproduce
What steps are needed to reproduce this issue?
Please provide sample project or apk to reproduce the issue. Also mention the steps to be followed for reproducing the issue with the given sample project or apk.
Frequency
How frequently does this issue occur? (e.g 100% of the time, 10% of the time)
Expected output
What is the expected output?
Current output
What is the current output?
Android bug report capturing
After reproducing the issue, press the volume up, volume down, and power button simultaneously. This will capture a bug report on your device in the “bug reports” directory. Attach the bug report file to this issue.
Alternate method
After reproducing the issue, navigate to “developer settings”, ensure “USB debugging” is enabled, then enable “Bug report shortcut”. Capture bug report by holding the power button and selecting the “Take bug report” option.
Note: Please upload the files to google drive and share the folder to android-bugreport@google.com, then share the link here.
cu...@google.com <cu...@google.com>
kc...@google.com <kc...@google.com> #3
Steps to reproduce
1. Show the biomterics prompt
2. Use the wrong finger to authenticate several times in a row
Frequency
100% of the time
Expected output
The behavior is the same on all api levels
Current output
The behavior differs between api levels as described in the initial report/video
Android bug report capturing
There's no bugs to capture, this is a behavior difference, not a crash
Attached is a sample apk, all it does is show the biometric prompt using the lib
1. Show the biomterics prompt
2. Use the wrong finger to authenticate several times in a row
Frequency
100% of the time
Expected output
The behavior is the same on all api levels
Current output
The behavior differs between api levels as described in the initial report/video
Android bug report capturing
There's no bugs to capture, this is a behavior difference, not a crash
Attached is a sample apk, all it does is show the biometric prompt using the lib
rh...@gmail.com <rh...@gmail.com> #4
Attached bug reports
rh...@gmail.com <rh...@gmail.com> #6
Oops, looks like this is related to b/119597723
We need to support both of the cases
1) if the dialog is not showing or about to be shown, and there's lockout, we need to return the lockout error immediately
2) (this bug) if the dialog is showing, we want to delay a few seconds before dismissing the dialog / forwarding the result to the client
Josh do you have cycles to dig into this? I can't think of a clean solution right now but we can chat about it offline, maybe there's a simple way to fix this.
https://cs.corp.google.com/aosp-androidx/biometric/src/main/java/androidx/biometric/FingerprintHelperFragment.java?q=fingerprinthelperfragment.java+%22errMsgId+%3D%3D+BiometricPrompt.ERROR_LOCKOUT%22+file:%5Ebiometric/src/main/java/androidx/biometric/+package:%5Eaosp-androidx$&g=0&l=91
We need to support both of the cases
1) if the dialog is not showing or about to be shown, and there's lockout, we need to return the lockout error immediately
2) (this bug) if the dialog is showing, we want to delay a few seconds before dismissing the dialog / forwarding the result to the client
Josh do you have cycles to dig into this? I can't think of a clean solution right now but we can chat about it offline, maybe there's a simple way to fix this.
rh...@gmail.com <rh...@gmail.com> #7
I'll try and get to this next week if that's okay.
kc...@google.com <kc...@google.com> #8
3) Currently the FingerprintDialogFragment is shown regardless of lockout (which can result in a split second appearance), it's related to this bug and we should figure out a way to fix it as well.
Description
Not sure how to reproduce but crash shows up in Crashlytics.
Inspecting the code offers an explanation:
If `FingerprintHelperFragment.sendErrorToClient()` is passed an int that is not ERROR_HW_NOT_PRESENT,
ERROR_HW_UNAVAILABLE, ERROR_NO_BIOMETRICS or ERROR_USER_CANCELED `getErrorString()` returns null which is passed to onAuthenticationError which is annotated @NonNull.
This causes a crash when AuthenticationCallback is implemented in Kotlin