Fixed
Status Update
Comments
le...@gmail.com <le...@gmail.com> #2
For Samsung devices having iris sensor like S8, if the user sets iris as his preferred biometric, it works well with current biometricPrompt.
But, the error code delivered from onAuthenticationError callback is very weird.
E.g., if the sensor is hard to detect user's iris since the face is so close, then the ERROR_HW_NOT_PRESENT is returned.
So, this issue needs to be resolved also. Since I'm thinking that Samsung iris meets the CDD requirements, at least, the application can use iris properly.
But, the error code delivered from onAuthenticationError callback is very weird.
E.g., if the sensor is hard to detect user's iris since the face is so close, then the ERROR_HW_NOT_PRESENT is returned.
So, this issue needs to be resolved also. Since I'm thinking that Samsung iris meets the CDD requirements, at least, the application can use iris properly.
ve...@google.com <ve...@google.com>
ve...@google.com <ve...@google.com> #3
shinkieun@ could you file a new bug for that? A bugreport (adb bugreport foo.zip) and repro steps will be needed
ma...@zentity.com <ma...@zentity.com> #4
Are you able to open public (view and/or comment) access to that spreadsheet so we can see what devices are included?
Thanks!
Thanks!
ma...@zentity.com <ma...@zentity.com> #5
> For Samsung devices having iris sensor like S8, if the user sets iris as his preferred biometric, it works well with current biometricPrompt.
It's not actually true. In my tests, it will prompt you to scan your finger rather than scan your face, even though system settings asked for face scan. Also, we can observe the UserNotAuthenticatedException happening under the hood. S8, S9, S10 all have it.
It's not actually true. In my tests, it will prompt you to scan your finger rather than scan your face, even though system settings asked for face scan. Also, we can observe the UserNotAuthenticatedException happening under the hood. S8, S9, S10 all have it.
le...@gmail.com <le...@gmail.com> #6
I'm using androidx.biometric:biometric:1.0.0-rc01, and I'm having trouble with all my Samsung devices:
Samsung Galaxy A20e (Android 9, latest update)
- Fingerprint: Works fine
- Face recognition: android.security.KeyStoreException: Key user not authenticated
Samsung Galaxy Note8 (Android 9, latest update)
- Fingerprint: Works fine
- Iris: Works fine
- Face recognition: android.security.KeyStoreException: Key user not authenticated
Samsung Galaxy S9 (Android 9, latest update)
- Fingerprint: Works fine
- Iris: Works fine
- Intelligent Scan: Works fine
- Face recognition: BiometricPrompt.ERROR_NO_BIOMETRICS in onAuthenticationError in BiometricPrompt.AuthenticationCallback()
Samsung Galaxy S10 (Android 9, latest update)
- Fingerprint: Works fine
- Face recognition: BiometricPrompt.ERROR_NO_BIOMETRICS in onAuthenticationError in BiometricPrompt.AuthenticationCallback()
I don't understand how Samsung can use other than fingerprint on Android 9 when this page:https://source.android.com/security/biometric clearly states that Android 9 includes fingerprint integration for BiometricPrompt only.
Samsung Galaxy A20e (Android 9, latest update)
- Fingerprint: Works fine
- Face recognition: android.security.KeyStoreException: Key user not authenticated
Samsung Galaxy Note8 (Android 9, latest update)
- Fingerprint: Works fine
- Iris: Works fine
- Face recognition: android.security.KeyStoreException: Key user not authenticated
Samsung Galaxy S9 (Android 9, latest update)
- Fingerprint: Works fine
- Iris: Works fine
- Intelligent Scan: Works fine
- Face recognition: BiometricPrompt.ERROR_NO_BIOMETRICS in onAuthenticationError in BiometricPrompt.AuthenticationCallback()
Samsung Galaxy S10 (Android 9, latest update)
- Fingerprint: Works fine
- Face recognition: BiometricPrompt.ERROR_NO_BIOMETRICS in onAuthenticationError in BiometricPrompt.AuthenticationCallback()
I don't understand how Samsung can use other than fingerprint on Android 9 when this page:
kc...@google.com <kc...@google.com> #7
Samsung confirmed to me this:
"From Android 10, Preferred biometric will be removed. BiometricPrompt will always show Fingerprint authentication by default.
The current plan to roll out Android 10 is late this year or early next year."
Basically, the original plan was to let the end user chose his preferred biometric method, but (copying Apple) Google now goes for either fingerprint or Face ID. E.g. the new Pixel 4 is Face ID only.
"From Android 10, Preferred biometric will be removed. BiometricPrompt will always show Fingerprint authentication by default.
The current plan to roll out Android 10 is late this year or early next year."
Basically, the original plan was to let the end user chose his preferred biometric method, but (copying Apple) Google now goes for either fingerprint or Face ID. E.g. the new Pixel 4 is Face ID only.
jo...@google.com <jo...@google.com> #8
Project: platform/frameworks/support
Branch: androidx-master-dev
commit e0ddc6a9ef6fcb8a8a97817220ebaa5297fafb31
Author: Curtis Belmonte <curtislb@google.com>
Date: Tue Oct 08 11:02:50 2019
Add device list to dismiss fingerprint dialog instantly
Introduces a list of device models for which FingerprintDialogFragment
should be dismissed immediately on receiving an error or cancel signal.
This makes for a better user experience on devices that, for example,
provide custom overlays during fingerprint authentication.
Test: Manually, using crypto-bound key demo in support demo app
Bug: 142150327
Change-Id: Ic08bebb29f75aba98daf68a67b7c38c37bdb69dc
M biometric/res/values/devices.xml
M biometric/src/main/java/androidx/biometric/FingerprintDialogFragment.java
M biometric/src/main/java/androidx/biometric/FingerprintHelperFragment.java
M biometric/src/main/java/androidx/biometric/Utils.java
https://android-review.googlesource.com/1137656
https://goto.google.com/android-sha1/e0ddc6a9ef6fcb8a8a97817220ebaa5297fafb31
Branch: androidx-master-dev
commit e0ddc6a9ef6fcb8a8a97817220ebaa5297fafb31
Author: Curtis Belmonte <curtislb@google.com>
Date: Tue Oct 08 11:02:50 2019
Add device list to dismiss fingerprint dialog instantly
Introduces a list of device models for which FingerprintDialogFragment
should be dismissed immediately on receiving an error or cancel signal.
This makes for a better user experience on devices that, for example,
provide custom overlays during fingerprint authentication.
Test: Manually, using crypto-bound key demo in support demo app
Bug: 142150327
Change-Id: Ic08bebb29f75aba98daf68a67b7c38c37bdb69dc
M biometric/res/values/devices.xml
M biometric/src/main/java/androidx/biometric/FingerprintDialogFragment.java
M biometric/src/main/java/androidx/biometric/FingerprintHelperFragment.java
M biometric/src/main/java/androidx/biometric/Utils.java
Description
- Reproduced on a device with Android O
I'm providing the source code and an apk that reproduce the issue.
Steps to reproduce:
- Start my apk
- Rotate the screen to landscape when biometric dialog is visible (you can rotate an arbitrary number of times, it doesn't matter)
- Place the fingerprint
- Crash
Sourcecode:
Stacktrace:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.lithium.leona.openstud, PID: 6782
java.lang.IllegalStateException: Fragment FingerprintDialogFragment{fcd4576 (b3672114-cb16-4247-b15b-c5517c72cc9d)} not associated with a fragment manager.
at androidx.fragment.app.Fragment.requireFragmentManager(Fragment.java:824)
at androidx.fragment.app.DialogFragment.dismissInternal(DialogFragment.java:219)
at androidx.fragment.app.DialogFragment.dismiss(DialogFragment.java:191)
at androidx.biometric.FingerprintDialogFragment.handleDismissDialog(FingerprintDialogFragment.java:334)
at androidx.biometric.FingerprintDialogFragment$H.handleMessage(FingerprintDialogFragment.java:99)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)