Status Update
Comments
ak...@google.com <ak...@google.com>
bo...@google.com <bo...@google.com> #2
The most common devices for the first crash sorted from highest to lowest:
Samsung S8 (5% of all crashes), S9 (4%), S8+ (4%), S10+ (3%), S9+ (3%), Huawei P20 Pro & Lite (9%)
The most common devices for the second crash:
HUAWEI Y6 2019 (38% of all crashes), HUAWEI Y5 2019 (17%), Nokia 3 (10%), Nokia 2.1 (9 %), Oppo realme 1 (5%)
The most common devices for the third crash:
Samsung Galaxy A5 (14% of all crashes). S7 Edge (9%), Spa Condor Electronics PGN610 (17% of all crashes)
Samsung S8 (5% of all crashes), S9 (4%), S8+ (4%), S10+ (3%), S9+ (3%), Huawei P20 Pro & Lite (9%)
The most common devices for the second crash:
HUAWEI Y6 2019 (38% of all crashes), HUAWEI Y5 2019 (17%), Nokia 3 (10%), Nokia 2.1 (9 %), Oppo realme 1 (5%)
The most common devices for the third crash:
Samsung Galaxy A5 (14% of all crashes). S7 Edge (9%), Spa Condor Electronics PGN610 (17% of all crashes)
ya...@google.com <ya...@google.com> #3
Crash 3 is a dupe of issue 138825362
cl...@gmail.com <cl...@gmail.com> #4
Which library version are you using?
ya...@google.com <ya...@google.com> #5
yeap, at least #1 was reported against the alpha here: https://stackoverflow.com/q/56358422/270197 - while the lib is now in beta
ma...@trimble.com <ma...@trimble.com> #6
#1 and #3 are definitely fixable in the support library. #2 can likely be resolved by the app checking BiometricManager#canAuthenticate() before requesting BiometricPrompt#authenticate().
For #1)
Looks like somehow the app is trying to display the dialog after onSaveInstanceState(), e.g. the activity/fragment is ending its lifecycle? Curtis perhaps we should do some lifecycle checks here.
For #2)
tranced.freak@ do you happen to know which devices are reporting this?
There is a chance the following is happening:
- device does not have fingerprint hardware
- app requests authenticate()
- hasSystemFeature(FP) fails, but invokes sendError
- sendError needs FPM to get error string.
A solution on the app side is to check BiometricManager#canAuthenticate() before requesting authentication. Is this something the app is already doing? We will focus this bug on #1 and #3 until we hear otherwise.
For #3)
Similar onSaveInstanceState issue
For #1)
Looks like somehow the app is trying to display the dialog after onSaveInstanceState(), e.g. the activity/fragment is ending its lifecycle? Curtis perhaps we should do some lifecycle checks here.
For #2)
tranced.freak@ do you happen to know which devices are reporting this?
There is a chance the following is happening:
- device does not have fingerprint hardware
- app requests authenticate()
- hasSystemFeature(FP) fails, but invokes sendError
- sendError needs FPM to get error string.
A solution on the app side is to check BiometricManager#canAuthenticate() before requesting authentication. Is this something the app is already doing? We will focus this bug on #1 and #3 until we hear otherwise.
For #3)
Similar onSaveInstanceState issue
ya...@google.com <ya...@google.com> #7
Edit, just read comment #2 . Y5, Nokia 3, Nokia 2.1, Realme1 don't have fingerprint sensors.
The only other device, Y6 does have a fingerprint sensor but it's possible the only other device (Y6) did not declare FEATURE_FINGERPRINT.
Either way, checking androidx.BiometricManager#canAuthenticate (added in beta01) will resolve this issue.
The only other device, Y6 does have a fingerprint sensor but it's possible the only other device (Y6) did not declare FEATURE_FINGERPRINT.
Either way, checking androidx.BiometricManager#canAuthenticate (added in beta01) will resolve this issue.
ca...@google.com <ca...@google.com> #8
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 549dceb1f3104bc4c4cb3e5168114f99e84a223c
Author: Curtis Belmonte <curtislb@google.com>
Date: Tue Sep 17 11:24:07 2019
Fix biometric dialog crashes due to state loss
Making fragment transactions such as adding or removing dialogs after
the host activity's state has been saved is currently causing crashes in
the biometric library. normally For multiple reasons (outlined in
b/138825362 ), allowing these dialogs to be dismissed with state loss is
probably preferable anyway, so this commit makes that change. It also
tries to prevent BiometricPrompt from triggering authentication in the
first place if the host's state has already been saved.
Test: ./gradlew biometric:connectedAndroidTest
Test: Trigger delayed dismissal of dialog and quickly finish activity
Test: Enable "Don't Keep Activities", show prompt and back out
periodically
Before: App crashes
After: App no longer crashes
Fixes: 138825362
Bug: 140447194
Change-Id: Ic2cf512c9441c2c8b83a051ff788210ae10d64b1
M biometric/src/main/java/androidx/biometric/BiometricPrompt.java
M biometric/src/main/java/androidx/biometric/FingerprintDialogFragment.java
https://android-review.googlesource.com/1122833
https://goto.google.com/android-sha1/549dceb1f3104bc4c4cb3e5168114f99e84a223c
Branch: androidx-master-dev
commit 549dceb1f3104bc4c4cb3e5168114f99e84a223c
Author: Curtis Belmonte <curtislb@google.com>
Date: Tue Sep 17 11:24:07 2019
Fix biometric dialog crashes due to state loss
Making fragment transactions such as adding or removing dialogs after
the host activity's state has been saved is currently causing crashes in
the biometric library. normally For multiple reasons (outlined in
probably preferable anyway, so this commit makes that change. It also
tries to prevent BiometricPrompt from triggering authentication in the
first place if the host's state has already been saved.
Test: ./gradlew biometric:connectedAndroidTest
Test: Trigger delayed dismissal of dialog and quickly finish activity
Test: Enable "Don't Keep Activities", show prompt and back out
periodically
Before: App crashes
After: App no longer crashes
Fixes: 138825362
Bug: 140447194
Change-Id: Ic2cf512c9441c2c8b83a051ff788210ae10d64b1
M biometric/src/main/java/androidx/biometric/BiometricPrompt.java
M biometric/src/main/java/androidx/biometric/FingerprintDialogFragment.java
ya...@google.com <ya...@google.com> #9
are these fixes released in beta02?
ca...@google.com <ca...@google.com> #10
> are these fixes released in beta02?
Unfortunately no, but fixes for (1) and (3) from comment #2 will be in rc01, which should be released very soon. :-)
As kchyn@google.com said, an app-side solution is probably most appropriate for (2).
Unfortunately no, but fixes for (1) and (3) from
As kchyn@google.com said, an app-side solution is probably most appropriate for (2).
ya...@google.com <ya...@google.com> #11
I did use alpha version first and then upgraded to beta-02 and I had the same issues.
Unfortunately at the moment I can't use this library until the state errors will be fixed, so I use my own solution as a workaround.
Unfortunately at the moment I can't use this library until the state errors will be fixed, so I use my own solution as a workaround.
de...@google.com <de...@google.com>
de...@google.com <de...@google.com> #12
Sit tight, rc01, which contains the fixes for 1 and 3 is coming in before the end of next week.
sa...@outlook.com <sa...@outlook.com> #13
Hi
I was also experiencing this issue on my Nvidia 1660 Super Graphics card, on the latest 32.1.12 stable.
I can confirm that using the 33.1.2 canary (I wasn't able to find the 33.1.3 canary publicly) appears to have fixed the issue.
I was also experiencing this issue on my Nvidia 1660 Super Graphics card, on the latest 32.1.12 stable.
I can confirm that using the 33.1.2 canary (I wasn't able to find the 33.1.3 canary publicly) appears to have fixed the issue.
li...@gmail.com <li...@gmail.com> #14
Same issue with flickering.
I am using Pixel_7_API_33 with AS Hedgehog Canary 3. 1650 discrete graphics with latest 531.79 drivers. The emulator version is 33.1.10-10078095.
Description
Android Studio Version: Unknown
Emulator Version (Emulator--> Extended Controls--> Emulator Version): 32.1.11-9536276
HAXM / KVM Version: WHPX 10.0.22623
Android SDK Tools: 26.1.1
Host Operating System: Windows 10 Home Single Language
CPU Manufacturer: AMD CPU
Inside a VM
64-bit CPU
RAM: 7599 MB
GPU: GPU #1
Make: 10de
Model: NVIDIA GeForce GTX 1650
Device ID: 1f99
Build Fingerprint:
AVD Details: Name: google_service
CPU/ABI: x86_64
Path: C:\Users\Aryan Bisht\.android\avd\google_service.avd
Target: google_apis_playstore [Google Play] (API level 30)
Skin: pixel_4
SD Card: 512M
AvdId: google_service
PlayStore.enabled: true
avd.ini.displayname: google service
avd.ini.encoding: UTF-8
disk.dataPartition.size: 6442450944
fastboot.chosenSnapshotFile:
fastboot.forceChosenSnapshotBoot: no
fastboot.forceColdBoot: no
fastboot.forceFastBoot: yes
hw.accelerometer: yes
hw.arc: false
hw.audioInput: yes
hw.battery: yes
hw.camera.back: virtualscene
hw.camera.front: emulated
hw.cpu.ncore: 4
hw.dPad: no
hw.device.hash2: MD5:6b5943207fe196d842659d2e43022e20
hw.device.manufacturer: Google
hw.gps: yes
hw.gpu.enabled: yes
hw.gpu.mode: auto
hw.initialOrientation: Portrait
hw.keyboard: yes
hw.lcd.density: 440
hw.lcd.height: 2280
hw.lcd.width: 1080
hw.mainKeys: no
hw.ramSize: 1536
hw.sdCard: yes
hw.sensors.orientation: yes
hw.sensors.proximity: yes
hw.trackBall: no
image.sysdir.1: system-images\android-30\google_apis_playstore\x86_64\
runtime.network.latency: none
runtime.network.speed: full
showDeviceFrame: yes
skin.dynamic: yes
tag.display: Google Play
vm.heapSize: 228
Steps to Reproduce Bug:Screen is flickering.
Expected Behavior:
Observed Behavior: