lexica icon indicating copy to clipboard operation
lexica copied to clipboard

3.13.1 preferences crash

Open mgobrain opened this issue 1 year ago • 6 comments

Latest version installed via F-Droid crashes when selecting "preferences" from main menu. Clearing storage/cache, reinstalling does not resolve issue. Reproducible on two devices.

mgobrain avatar Aug 01 '24 13:08 mgobrain

Thanks for taking the time to report. I am not able to reproduce on my Android 10 device. To help me reproduce, could you please:

  • Specify which Android version your devices are using?
  • Confirm that it is the "Preferences" and not the "Game Mode" or other such screens?
  • Clarify whether it is as soon as you launch the preferences screen, or when you perform an action on it (e.g. resetting high scores, selecting a dictionary provider)?

Thanks. In the meantime I'll try to find a few other devices around the house to test on.

pserwylo avatar Aug 01 '24 21:08 pserwylo

Hi Peter, these two devices (one phone, one tablet) are running Android 14 (LineageOS 21). It is indeed "Preferences" in the bottom right. Steps to reproduce: clean install, launch app, immediately select preferences. Preferences menu does not appear, instead sent back to launcher. Doing this twice in rapid succession pops the "app keeps stopping" alert.

mgobrain avatar Aug 01 '24 21:08 mgobrain

Cool (not the crash, but rather your quick response!). I'll try to setup an emulator with Android 14 soon and let you know how I go.

pserwylo avatar Aug 01 '24 22:08 pserwylo

Hi @pserwylo & @mgobrain ,

I stumbled upon this project, downloaded it via play store and it turns out this also happens on my device.

It looks like this happens due to new security behavior in android 14+ regarding implicit intent usage. (https://developer.android.com/about/versions/14/behavior-changes-14#security)

I submitted a pull request that should fix this issue: #396

Awesome project btw! :)

agengws avatar Aug 21 '24 07:08 agengws

I note that @c2a has submitted a PR already, however if it helps to confirm the fix for the issue, here's the stack trace I get when the app crashes when pressing the Preferences button:-

`package: com.serwylo.lexica:30018

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.serwylo.lexica.action.CONFIGURE } at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2441) at android.app.Instrumentation.execStartActivity(Instrumentation.java:2011) at android.app.Activity.startActivityForResult(Activity.java:5886) at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:574) at android.app.Activity.startActivityForResult(Activity.java:5806) at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:560) at android.app.Activity.startActivity(Activity.java:6348) at android.app.Activity.startActivity(Activity.java:6315) at com.serwylo.lexica.MainMenuActivity.lambda$splashScreen$6$com-serwylo-lexica-MainMenuActivity(MainMenuActivity.java:91) at com.serwylo.lexica.MainMenuActivity$$ExternalSyntheticLambda7.onClick(Unknown Source:2) at android.view.View.performClick(View.java:7931) at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:1119) at android.view.View.performClickInternal(View.java:7908) at android.view.View.-$$Nest$mperformClickInternal(Unknown Source:0) at android.view.View$PerformClick.run(View.java:30990) at android.os.Handler.handleCallback(Handler.java:959) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loopOnce(Looper.java:232) at android.os.Looper.loop(Looper.java:317) at android.app.ActivityThread.main(ActivityThread.java:8623) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580) at com.android.internal.os.ExecInit.main(ExecInit.java:50) at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method) at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:369)`

Wintandre avatar Sep 26 '24 13:09 Wintandre

I can confirm that this crash is happening on my Google Pixel 4a (5G) running Android 14. I recently installed version 3.13.1 via fdroid.

innerteapot avatar Oct 28 '24 05:10 innerteapot

Can confirm crash on Pixel 8 running Android 15

KjmT6459 avatar Dec 16 '24 10:12 KjmT6459

I'm on Android 15, and I got the same error as @Wintandre did. I uninstalled and installed versions 3.12.0 and 3.13.0 from fdroid and was able to access preferences without the app crashing. Once I updated the app, I lost functionality.

Phone: Oneplus 7 Pro ROM: crDroid 11.1 build date Jan 26, 2025

cedartux avatar Jan 28 '25 16:01 cedartux

Note that on the profile for the repository owner @pserwylo it states that he is "On a dad break for a while". So we'll just have to be patient whilst real-life takes over.

In the meantime, installing 3.13.0 (e.g. via F-droid or GitHub releases), assuming that the fixes in 3.13.1 are not required, appears to be the best solution as 3.13.0 targets the previous SDK. This is what I have done on my (now) Android 15 phone.

Wintandre avatar Jan 29 '25 10:01 Wintandre

Thanks, I did not look at pserwylo's profile before I sent the message. I had experienced the same thing and wanted to report it to let the owner know that the issue was occurring on various phones and android versions.

cedartux avatar Jan 30 '25 17:01 cedartux

Hi, apologies for the radio silence on this. Thanks for your patience. I'm now trying to make time to revisit my open source apps and tidy them up, make them all compilable on modern Android stacks, and hopefully continue development if time permits.

Regarding this, in the process of bumping all dependencies, target SDK versions, gradle versions, etc, I have fixed this. New version of Lexica will be tagged soon to be built by F-Droid when ready. Thanks for all of you in taking an interest and stopping by to sharing your thoughts.

pserwylo avatar Jul 07 '25 09:07 pserwylo

The latest version on F-droid is still 3.13.1, added over a year ago on 7/30/24.

akwala avatar Sep 19 '25 03:09 akwala

Regarding this, in the process of bumping all dependencies, target SDK versions, gradle versions, etc, I have fixed this. New version of Lexica will be tagged soon to be built by F-Droid when ready. Thanks for all of you in taking an interest and stopping by to sharing your thoughts.

Bump... F-droid does not yet have this new version.

akwala avatar Oct 29 '25 07:10 akwala