Fixed
Status Update
Comments
le...@gmail.com <le...@gmail.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
ad...@google.com <ad...@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.
kc...@google.com <kc...@google.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.
le...@gmail.com <le...@gmail.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.
kc...@google.com <kc...@google.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
le...@gmail.com <le...@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
xl...@google.com <xl...@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
kc...@google.com <kc...@google.com> #9
Using Vivo v11 Pro and OnePlus 7 Pro, when the biometricprompt comes up and I press outside the dialog box or press the back button, the biometric prompt closes. I'm using androidx.biometric:biometric:1.2.0_alpha01 library.
How can I prevent this?
How can I prevent this?
jo...@google.com <jo...@google.com> #10
Any updates regarding solution to this issue?
il...@google.com <il...@google.com> #11
this issue still exists, kindly re-verify it ..
ap...@google.com <ap...@google.com> #12
this issue still exists, kindly re-verify it , even in alpha version.
il...@google.com <il...@google.com> #13
this issue is still there, please retest and provide fix.
Description
- Reproduced on a device with Android O
I'm providing an apk that I made from butchering my app in order to reproduce that issue, LauncherActivity is where the biometric prompt is created.
Steps to reproduce:
- Start my apk
- Rotate the screen to landscape when biometric dialog is visible
- Rotate the screen again to portrait
- Crash
Stacktrace:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.lithium.leona.openstud, PID: 19140
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.lithium.leona.openstud/com.lithium.leona.openstud.activities.LauncherActivity}: java.lang.IllegalStateException: Could not find active fragment with unique id d3d7d2aa-4ea1-4a2b-833c-6404dcddf62a
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2955)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3030)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4919)
at android.app.ActivityThread.-wrap19(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1702)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6938)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
Caused by: java.lang.IllegalStateException: Could not find active fragment with unique id d3d7d2aa-4ea1-4a2b-833c-6404dcddf62a
at androidx.fragment.app.FragmentManagerImpl.restoreSaveState(FragmentManagerImpl.java:2434)
at androidx.fragment.app.FragmentController.restoreSaveState(FragmentController.java:194)
at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:279)
at androidx.appcompat.app.AppCompatActivity.onCreate(AppCompatActivity.java:85)
at com.lithium.leona.openstud.activities.LauncherActivity.onCreate(LauncherActivity.java:21)
at android.app.Activity.performCreate(Activity.java:7183)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1220)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2908)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3030)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4919)
at android.app.ActivityThread.-wrap19(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1702)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6938)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)