Status Update
Comments
au...@google.com <au...@google.com> #2
Steps to reproduce
What steps are needed to reproduce this issue?
If required, please provide sample project or apk to reproduce the issue. Also mention the steps to be followed for reproducing the issue with the given sample project or apk.
Expected output
What is the expected output?
Current output
What is the current output?
Android bug report capturing
After reproducing the issue, press the volume up, volume down, and power button simultaneously. This will capture a bug report on your device in the “bug reports” directory. Attach the bug report file to this issue.
Alternate method
After reproducing the issue, navigate to “developer settings”, ensure “USB debugging” is enabled, then enable “Bug report shortcut”. Capture bug report by holding the power button and selecting the “Take bug report” option.
Screen Record of the Issue
Please capture screen record or video of the issue using following steps:
adb shell screenrecord /sdcard/video.mp4
Subsequently use following command to pull the recorded file:
adb pull /sdcard/video.mp4
Attach the file to this issue.
da...@google.com <da...@google.com> #3
I think it's my mistake, I guess I should not invoke BiometricPrompt from onResume it will cause an infinite loop.
Running on Samsung A50 Android 9 or Emulator Nexus 5X API 27
Android Studio 3.5.1
compileSdkVersion 29
minSdkVersion 21
targetSdkVersion 29
def biometric_version = "1.0.0-rc01"
implementation "androidx.biometric:biometric:$biometric_version"
Scenario 1:
- No biometric or device credentials (PIN, pattern, password) configured
- Biometric prompt not showing
- Tap on Toast button
- Activity is not responding (can't tap on button)
Scenario 2:
- Device credential configured (Pattern)
- Biometric prompt showing pattern authentication
- Tap on Cancel
- Tap on Toast button
- Activity is not responding (can't tap on button)
Expected output : Toast showing when button tapped
au...@google.com <au...@google.com> #4
Steps to reproduce:
- Fingerprint configured in settings
- Biometric prompt showing
- Tap on cancel
- Tap on Toast button
- Toast is showing
Scenario 2:
- Device credential configured (Pattern)
- Biometric prompt showing pattern authentication
- Tap on Cancel
- Tap on Toast button
- Activity is not responding (can't tap on button)
Behaviour is not the same between biometric and credentials authentication
da...@google.com <da...@google.com> #5
da...@google.com <da...@google.com> #6
hm...@google.com <hm...@google.com> #7
hm...@google.com <hm...@google.com> #8
Branch: androidx-master-dev
commit a9cbd7e42fd38c18395c23fd17622c731c60c724
Author: Curtis Belmonte <curtislb@google.com>
Date: Mon Oct 28 11:00:33 2019
Fix leak of biometric credential handler activity
Due to a race condition, which can be triggered by launching
BiometricPrompt immediately after it's dismissed (e.g., by calling
authenticate() in onResume() or onCreate()), it's currently possible for
the transparent DeviceCredentialHandlerActivity to get stuck onscreen.
This results in no visible change but consumes all touch events until
the user presses back or pauses the activity.
This commit fixes the issue of the activity getting stuck onscreen by
ensuring that DeviceCredentialHandlerActivity is finished (without an
explicit authentication result) in this case.
Test: Have sample app call BiometricPrompt#authenticate() in onResume()
Before: After first auth, transparent activity is stuck onscreen
After: After first auth, the prompt launches again successfully
Fixes: 143091227
Change-Id: Id11918662be4634c017094806816a990e84ffd62
M biometric/src/main/java/androidx/biometric/DeviceCredentialHandlerActivity.java
hm...@google.com <hm...@google.com> #9
da...@google.com <da...@google.com> #10
The library is from androidx, we are using
I did also notice the compile classpath is fine, after all it compiles correctly and the APIs do resolve in the IDE, but at runtime it fails.
da...@google.com <da...@google.com> #11
So far we have found that from alpha12 (good version) to alpha13 (bad version) of androidx.sqlite, one change that affected the metadata was the upgrade from Gradle 8.11.1 to 8.12, this is a diff of the metadata:
Notice the removal of the org.gradle.libraryelements
attribute. The attribute is also missing with Gradle 8.13-rc1
ow...@google.com <ow...@google.com>
hm...@google.com <hm...@google.com> #12
Update on libraryelements attribute missing in jvm target publications with Gradle 8.12 - Jetbrain are saying it will be fixed after
By the way I have noticed a weird behaviour - if you do ./gradlew publish in your project libraryelements is not there for jvm publications but if you do ./gradlew publishJvmPublicationToMavenRepository it's there
Daniel, Owen, let me know if this is enough info to proceed further with a fix.
hm...@google.com <hm...@google.com> #13
For the issue of the android publications where "org.gradle.libraryelements" = "jar" instead of "aar" - that was fixed in AGP 8.10 canary 7. Please feel free to try it out and report back. Thank you
da...@google.com <da...@google.com>
au...@google.com <au...@google.com> #14
FYI danysantiago@ we have upgraded to 8.10.0-alpha07 in androidx.
Description
Applying the newer AGP KMP plugin to androidx.sqlite breaks the Gradle metadata such that a JVM project depending on the artifact will attempt (and fail) to use the android artifact instead of the JVM one.
This was originally reported in SQLite KMP b/396148592
Here is a diff on the metadata, left is before AGP KMP is used (i.e. after reverting the changes in this CL ) and right is with AGP KMP applied: https://diff.googleplex.com/#key=EY2FqaJWQbUQ
Let me know if you need a sample project, but if you create a new JVM or Kotlin project and depend on
androidx.sqlite:sqlite:2.5.0-beta01
and try to use classes from it, it will fail at runtime with a class not found exception. When inspecting the deps via:dependencies
you will notice it attempts to use the-android
artifact instead of the-jvm
one: