android-password-store/Android-Password-Store

[BUG] Crash on startup due to biometric authentication

xdevs23 opened this issue · 3 comments

Describe the bug
When starting the app, it crashes immediately.
This has been happening for 2-3 days (that's as precise as I can tell)

To Reproduce
Steps to reproduce the behavior:

  1. Enable biometric authentication (i. e. fingerprint)
  2. Close app
  3. Start app
  4. It crashes

Expected behavior
App does not crash.

Screenshots
No screenshots, it just crashes when starting the app.

Device information (please complete the following information):

Additional context
Stack trace:

time: 1598172492705
msg: java.lang.IllegalArgumentException: Negative text must be set and non-empty.
stacktrace: java.lang.RuntimeException: Unable to start activity ComponentInfo{dev.msfjarvis.aps/com.zeapo.pwdstore.LaunchActivity}: java.lang.IllegalArgumentException: Negative text must be set and non-empty.
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3270)
	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
	at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
	at android.os.Handler.dispatchMessage(Handler.java:107)
	at android.os.Looper.loop(Looper.java:214)
	at android.app.ActivityThread.main(ActivityThread.java:7356)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:925)
Caused by: java.lang.IllegalArgumentException: Negative text must be set and non-empty.
	at com.zeapo.pwdstore.utils.BiometricAuthenticator.authenticate$default(BiometricAuthenticator.kt:199)
	at com.zeapo.pwdstore.LaunchActivity.onCreate(LaunchActivity.kt:4)
	at android.app.Activity.performCreate(Activity.java:7824)
	at android.app.Activity.performCreate(Activity.java:7813)
	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1306)
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245)
	... 11 more

Seems to still be broken on API 29...

I didn't understand solution can anyone be more specific?

I didn't understand solution can anyone be more specific?

It's fixed in the app, there's no solution to be sought. I thought you asked from a user perspective, my apologies. The fix in the app was to first allow biometrics again which I had accidentally switched to be device credentials only, then to allow weak biometrics which are present on older devices that lack the secure hardware components for strong biometrics.