Fixed
Status Update
Comments
kc...@google.com <kc...@google.com>
kc...@google.com <kc...@google.com> #2
We probably should make this work without a new API, otherwise developers would need to provide these flags, which is hard and complicated and entirely what the library should aim to simplify
For the support version of the library, we can probably make outside touches not dismiss the dialog.
We can have either
1) back button (existing)
2) potentially add a new "cancel" button
For the support version of the library, we can probably make outside touches not dismiss the dialog.
We can have either
1) back button (existing)
2) potentially add a new "cancel" button
cu...@google.com <cu...@google.com>
kc...@google.com <kc...@google.com> #3
I'm unable to reproduce this issue on Samsung S7
Can you capture a video and a bugreport on both
1) Pixel Android 9 - cannot reproduce, sensor is on the back, and dialog works for me
2) Huawei mate 20 Android 8.1.0?
My suspicion is that on the Huawei device, we're going through the FingerprintManager path on support library, and Huawei is overlaying it with their own in-display FP UI. The UI should consume touches and not propagate them, otherwise the dialog will be canceled.
Can you capture a video and a bugreport on both
1) Pixel Android 9 - cannot reproduce, sensor is on the back, and dialog works for me
2) Huawei mate 20 Android 8.1.0?
My suspicion is that on the Huawei device, we're going through the FingerprintManager path on support library, and Huawei is overlaying it with their own in-display FP UI. The UI should consume touches and not propagate them, otherwise the dialog will be canceled.
rh...@gmail.com <rh...@gmail.com> #4
The issue we were seeing on Samsung drives is it is very easy to fat-finger and tap the screen because the fingerprint sensor is on the front. This was with the compat dialog. I think always setting Dialog#setCanceledOnTouchOutside(false) is a reasonable solution as you can still use the back button to cancel the dialog.
kc...@google.com <kc...@google.com> #5
The safer way seems to me like disallowing the library from being dismissed from taps outside. The back button is still there, which gives the user an escape hatch.
rh...@gmail.com <rh...@gmail.com> #6
Attached wrong bug number, fixed in following commit
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 2aa297a0d4a014a06766b1658b6c9438ecff30fc
Author: Kevin Chyn <kchyn@google.com>
Date: Thu Jul 18 16:42:48 2019
Do not allow the fingerprint dialog to be canceled due to touches outside
It's safer to disallow this, since on some devices the sensor is on the
home button, etc, where it's easier to miss. Since the support library
is supposed to simplify developer's lives, we should just default to
preventing this on all pre-P devices, rather than potentially exposing
an API for developers to toggle based on device type (too complicated).
Fixes: 125447052
Test: Touches outside no longer cancel authentication. Back button cancels
authentication still.
Change-Id: I6639b2ecdf18f82a242fffba63eeb8ca45d53dc9
M biometric/src/main/java/androidx/biometric/FingerprintDialogFragment.java
https://android-review.googlesource.com/1087531
https://goto.google.com/android-sha1/2aa297a0d4a014a06766b1658b6c9438ecff30fc
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 2aa297a0d4a014a06766b1658b6c9438ecff30fc
Author: Kevin Chyn <kchyn@google.com>
Date: Thu Jul 18 16:42:48 2019
Do not allow the fingerprint dialog to be canceled due to touches outside
It's safer to disallow this, since on some devices the sensor is on the
home button, etc, where it's easier to miss. Since the support library
is supposed to simplify developer's lives, we should just default to
preventing this on all pre-P devices, rather than potentially exposing
an API for developers to toggle based on device type (too complicated).
Fixes: 125447052
Test: Touches outside no longer cancel authentication. Back button cancels
authentication still.
Change-Id: I6639b2ecdf18f82a242fffba63eeb8ca45d53dc9
M biometric/src/main/java/androidx/biometric/FingerprintDialogFragment.java
rh...@gmail.com <rh...@gmail.com> #7
I didn't get how you marked it to fixed. I'm using Honor 9 Lite phone and clicking outside the Biometric prompt is still cancelling the dialog
kc...@google.com <kc...@google.com> #8
Using Xiaomi Mi A2, when the biometricprompt comes up and i press outside the dialog box, the biometric prompt closes. I'm using androidx.biometric:biometric:1.0.1 library
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