orbot
orbot copied to clipboard
[BUG] Fatal Exception enabling Password Lock on Nougat
Describe the Bug Enabling Device Password Lock on Nougat causes Fatal Exception. DEVICE_CREDENTIAL is not supported on API 25 so there needs to be a compat check there.
To Reproduce Steps to reproduce the behavior:
- Enable Device Lock on API 25 (Nougat)
- See crash log
Expected Behavior Disable Device Lock option on API <= 25
What Custom Configuration Do You Use? If applicable, how did you set up Orbot? Did you configure some settings?
Screenshots If applicable, add screenshots to help explain your problem.
Smartphone (please complete the following information):
- Device: T813
- OS: cm-14.1
- Version: f26ee8e7c
Crash Logs (Advanced) If applicable, add crash logs collected using ADB Logcat.
06-10 22:48:22.288 4411 4411 E AndroidRuntime: FATAL EXCEPTION: main
06-10 22:48:22.288 4411 4411 E AndroidRuntime: Process: org.torproject.android, PID: 4411
06-10 22:48:22.288 4411 4411 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{org.torproject.android/org.torproject.android.OrbotActivity}: java.lang.IllegalArgumentException: Authenticator combination is unsupported on API 25: DEVICE_CREDENTIAL
06-10 22:48:22.288 4411 4411 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2684)
06-10 22:48:22.288 4411 4411 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2751)
06-10 22:48:22.288 4411 4411 E AndroidRuntime: at android.app.ActivityThread.-wrap12(ActivityThread.java)
06-10 22:48:22.288 4411 4411 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1496)
06-10 22:48:22.288 4411 4411 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
06-10 22:48:22.288 4411 4411 E AndroidRuntime: at android.os.Looper.loop(Looper.java:154)
06-10 22:48:22.288 4411 4411 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6186)
06-10 22:48:22.288 4411 4411 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
06-10 22:48:22.288 4411 4411 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
06-10 22:48:22.288 4411 4411 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
06-10 22:48:22.288 4411 4411 E AndroidRuntime: Caused by: java.lang.IllegalArgumentException: Authenticator combination is unsupported on API 25: DEVICE_CREDENTIAL
06-10 22:48:22.288 4411 4411 E AndroidRuntime: at androidx.biometric.BiometricPrompt$PromptInfo$Builder.build(BiometricPrompt.java:575)
06-10 22:48:22.288 4411 4411 E AndroidRuntime: at org.torproject.android.util.RequirePasswordPrompt$Companion.openPrompt(RequirePasswordPrompt.kt:20)
06-10 22:48:22.288 4411 4411 E AndroidRuntime: at org.torproject.android.OrbotActivity.promptDevicePasswordIfRequired(OrbotActivity.kt:366)
06-10 22:48:22.288 4411 4411 E AndroidRuntime: at org.torproject.android.OrbotActivity.onStart(OrbotActivity.kt:256)
06-10 22:48:22.288 4411 4411 E AndroidRuntime: at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1249)
06-10 22:48:22.288 4411 4411 E AndroidRuntime: at android.app.Activity.performStart(Activity.java:6701)
06-10 22:48:22.288 4411 4411 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2647)
06-10 22:48:22.288 4411 4411 E AndroidRuntime: ... 9 more
Additional Context Add any other context about the problem here.
@bitmold please see log
Thanks for checking this, really appreciate the issue repot and the log. I will put in appropriate compat checks I'm surprised the IDE didn't flag anything. Also extending this feature soon to support other forms of authentication such as biometric options and will make sure they play nicely on the older androids On Tuesday, June 10th, 2025 at 4:58 PM, Deltadroid @.***> wrote:
syphyr left a comment (guardianproject/orbot-android#1325)
@.***(https://github.com/bitmold) please see log
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>