Fixed
Status Update
Comments
ys...@google.com <ys...@google.com> #2
Would you like to move it to android.hardware.biometrics? It looks like the problem is deeper than androidx.
ys...@google.com <ys...@google.com> #3
Native Android 10 BiometricPrompt has exactly the same issue. If fixing this in the platform is impractical, maybe AndroidX Biometrics library can implement some workaround?
ys...@google.com <ys...@google.com> #5
I've created two sample projects (see attachment): one with android.hardware.biometrics (TestBiometricQ), other with androidx.biometric:biometric:1.0.0 (TestBiometricX).
They both have the same issue with setDeviceCredentialAllowed(true) (see #1).
Bug reports:
https://drive.google.com/file/d/1fx4EyHdfJ1koRIt2KZ1emQeRdSDnNOkG/view?usp=drive_web (biometric_q_report.zip)
https://drive.google.com/file/d/1PASxQhxXvLp62t91mYis28QhGqvHBfD5/view?usp=drive_web (biometric_x_report.zip)
On attached screenshots you can see "onAuthenticationError" toast alongside device pattern UI.
They both have the same issue with setDeviceCredentialAllowed(true) (see #1).
Bug reports:
On attached screenshots you can see "onAuthenticationError" toast alongside device pattern UI.
ys...@google.com <ys...@google.com> #6
Some clarifications:
1. The issue applies to any non-biometric unlock method (pattern, PIN, or password), if fingerprint is configured too. Not sure about face recognition.
2. "onAuthenticationSucceeded" is not called after providing correct pattern/PIN/password.
1. The issue applies to any non-biometric unlock method (pattern, PIN, or password), if fingerprint is configured too. Not sure about face recognition.
2. "onAuthenticationSucceeded" is not called after providing correct pattern/PIN/password.
jn...@google.com <jn...@google.com>
ys...@google.com <ys...@google.com> #7
There is no bug report - just inconsistent behavior. From my point of view Authentication shouldn’t be cancelled in the moment when user chooses “Use pin” in a biometric prompt.
ap...@google.com <ap...@google.com> #8
Well, I would still call it a bug. Documentation for setDeviceCredentialAllowed() method says that user will be "given the option to authenticate with their device PIN, pattern, or password" - and this does not work: the user can enter PIN/password/pattern, but cannot authenticate, because the app always gets onAuthenticationError callback.
jn...@google.com <jn...@google.com>
na...@google.com <na...@google.com> #9
Absolutely agree.
na...@google.com <na...@google.com> #10
Agree.
Description
Version used: 1.1.0-rc01
Devices/Android versions reproduced on: Emulator / Android Studio Previews
Repro
Expected placeholder and content states
Actual final content state