Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Android 6, sm-g160n (samsung galaxy folder 2, 2021 ver.)] crash when switching languages #683

Closed
pisauitab opened this issue Dec 13, 2024 · 8 comments · Fixed by #689
Closed
Labels
bug Something isn't working

Comments

@pisauitab
Copy link

Steps to Reproduce:

  • install app
  • enable all necessary options to make the keyboard function
  • download multiple dictionaries (in my case, English, Korean, Italian)
  • open any app with a keyboard text input feature
  • hold the pound key once → keyboard will enable a generic abc mode
  • click pound key once → keyboard will crash

Expected Behaviour:

  • install app
  • enable all necessary options to make the keyboard function
  • download multiple dictionaries (in my case, English, Korean, Italian)
  • open any app with a keyboard text input feature
  • hold the pound key once → keyboard will enable the second dictionary on the list, allowing you to write in its language
@sspanak
Copy link
Owner

sspanak commented Dec 13, 2024

Thanks for reporting. I'll need to examine the debug logs from your phone. Could you please do the following:

  1. Go to Settings and scroll to the bottom.
  2. Click the version information. This will open a "secret" debugging screen.
  3. Scroll down to the "Logging" section.
  4. Change "Log Level" to "Debug".
  5. Go back to an app where you can type and try changing the language to cause a crash.
  6. After it has crashed, go to the Debugging Screen again. Enable "System Logs", then click "Export".
  7. After exporting has finished (it should be almost instant), disable "System Logs" and change "Log Level" to "Error".
  8. Find the log file in the Downloads or Documents folder of your phone and upload it here.

I have two additional questions:

  1. Have you changed the hotkey configuration? The default behavior of the pound key is to change the mode on press and change the language on hold, but it seems to be the other way around for you.
  2. Does it happen every time you attempt to change the language?

@sspanak sspanak added the more info needed Further information is requested label Dec 13, 2024
@pisauitab
Copy link
Author

pisauitab commented Dec 13, 2024

Thanks for reporting. I'll need to examine the debug logs from your phone. Could you please do the following:

1. Go to Settings and scroll to the bottom.

2. Click the version information. This will open a "secret" debugging screen.

Unfortunately, I get stuck at this. The only hidden feature I can find by tapping the entries in the software information tab is the android version's easter egg, and the build version, which prompts me with text saying I "enabled developer mode". I am not sure if I am in the right tab, but the menu you're describing seems to be different from mine. My last main tab is "device info", and the closest things to "Version Information" are the entries labeled "Software Information" and "Model Code". My apologies if I am navigating incorrectly.

1. Have you changed the hotkey configuration? The default behavior of the pound key is to change the mode on press and change the language on hold, but it seems to be the other way around for you.

Nope, as you said, holding down the pound key is resulting in a change of dictionary, and clicking it is changing the mode. The second language (which I would expect to be Korean or English, based on the order it's installed as) just seems to have a 123 keypad and an abc keypad that crashes.

2. Does it happen every time you attempt to change the language?

Yes, I've tried countless times and the behaviour is the same

@pisauitab
Copy link
Author

An additional thing I noticed: if I open up the copy/paste menu, the text shows up as Korean, meaning it might be a Korean dictionary issue, although I am not sure and it definitely seems weird on a programming perspective. Also, I noticed that the keyboard crashes whether I try to change languages or modes, as long as I am on the faulty keyboard, which gets set as default whenever I switch to it from Italian.

@sspanak
Copy link
Owner

sspanak commented Dec 13, 2024

Unfortunately, I get stuck at this. The only hidden feature I can find by tapping the entries in the software information tab is the android version's easter egg, and the build version, which prompts me with text saying I "enabled developer mode". I am not sure if I am in the right tab, but the menu you're describing seems to be different from mine. My last main tab is "device info", and the closest things to "Version Information" are the entries labeled "Software Information" and "Model Code". My apologies if I am navigating incorrectly.

No, I mean, go to the Traditional T9 Settings, not Android Settings.

The second language (which I would expect to be Korean or English, based on the order it's installed as) just seems to have a 123 keypad and an abc keypad that crashes.

I suppose the database table for Korean is missing. It should have been created after upgrading to version 41.0, but something has probably gone wrong. Still, I would like to see the logs, to make sure.

Do you remember which version you were using before upgrading? Also, are you using the Play Store version or another one?

@pisauitab
Copy link
Author

No, I mean, go to the Traditional T9 Settings, not Android Settings.

Oh, that was silly of me, sorry. Here it is:
tt9-logs-1734120679469.txt

Do you remember which version you were using before upgrading? Also, are you using the Play Store version or another one?

This problem started happening as soon as I first downloaded the app. It's the play store version on android 6, so v41.0, it seems

@sspanak
Copy link
Owner

sspanak commented Dec 13, 2024

@pisauitab, please disable Korean, until I figure out how to fix the problem. Unfortunately, you will not be able to use it until then.

Also, thank you very much for reporting. This is a very specific scenario that requires an old Android version and exactly these languages to be selected. I would have never noticed it.

Notes to myself. Technical gibberish follows.

The problem is reproducible on Android 5. When Korean is enabled, switching from it to another language, causes the Predictive mode to disappear for some reason. Attempting to switch to ABC or 123 works, but once you get to 123, it is impossible to switch to anything else, because of this:

java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
	at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
	at java.util.ArrayList.get(ArrayList.java:308)
	at io.github.sspanak.tt9.ime.modes.InputMode.defaultTextCase(InputMode.java:155)
	at io.github.sspanak.tt9.ime.helpers.InputModeValidator.validateTextCase(InputModeValidator.java:60)
	at io.github.sspanak.tt9.ime.TypingHandler.determineTextCase(TypingHandler.java:281)
	at io.github.sspanak.tt9.ime.CommandHandler.nextInputMode(CommandHandler.java:154)
	at io.github.sspanak.tt9.ime.HotkeyHandler.onKeyNextInputMode(HotkeyHandler.java:315)
	at io.github.sspanak.tt9.ui.main.keys.SoftKeyLF4.handleRelease(SoftKeyLF4.java:32)

@sspanak sspanak added bug Something isn't working and removed more info needed Further information is requested labels Dec 13, 2024
@pisauitab
Copy link
Author

Wow, I am impressed at my . luck

@pisauitab
Copy link
Author

And yeah, disabling Korean seemed to do the trick. What an unique bug

@sspanak sspanak mentioned this issue Dec 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants