Enable fossify keyboard as only active keyboard with password set for screen lock
Restart device
Expected behavior
Keyboard should initialize on lock screen
Actual behavior
Keyboard crashes
Screenshots/Screen recordings
No response
Additional information
Crash log
FATAL EXCEPTION: main
Process: org.fossify.keyboard, PID: 2771
java.lang.IllegalStateException: SharedPreferences in credential encrypted storage are not available until after user is unlocked
at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:601)
at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:577)
at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:226)
at Y4.b.(Unknown Source:13)
at z0.d.z(Unknown Source:7)
at M4.f.N(Unknown Source:11)
at org.fossify.keyboard.views.MyKeyboardView.getKeyColor(Unknown Source:21)
at org.fossify.keyboard.views.MyKeyboardView.setupKeyboard(Unknown Source:90)
at org.fossify.keyboard.views.MyKeyboardView.onVisibilityChanged(Unknown Source:16)
at android.view.View.dispatchAttachedToWindow(View.java:22507)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3695)
at android.view.ViewGroup.addViewInner(ViewGroup.java:5520)
at android.view.ViewGroup.addView(ViewGroup.java:5296)
at android.view.ViewGroup.addView(ViewGroup.java:5268)
at android.inputmethodservice.InputMethodService.setInputView(InputMethodService.java:2682)
at android.inputmethodservice.InputMethodService.updateInputViewShown(InputMethodService.java:2454)
at android.inputmethodservice.InputMethodService.prepareWindow(InputMethodService.java:3129)
at android.inputmethodservice.InputMethodService.showWindow(InputMethodService.java:3051)
at android.inputmethodservice.InputMethodService$InputMethodImpl.showSoftInput(InputMethodService.java:1035)
at android.inputmethodservice.InputMethodService$InputMethodImpl.showSoftInputWithToken(InputMethodService.java:1000)
at android.inputmethodservice.IInputMethodWrapper.executeMessage(IInputMethodWrapper.java:237)
at com.android.internal.os.HandlerCaller$MyHandler.handleMessage(HandlerCaller.java:44)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:226)
at android.os.Looper.loop(Looper.java:313)
at android.app.ActivityThread.main(ActivityThread.java:8762)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:604)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)
Checklist
Affected app version
1.1.0
Affected Android/Custom ROM version
Android 13
Affected device model
Galaxy a32
How did you install the app?
F-Droid / IzzyOnDroid
Steps to reproduce the bug
Expected behavior
Keyboard should initialize on lock screen
Actual behavior
Keyboard crashes
Screenshots/Screen recordings
No response
Additional information
Crash log
FATAL EXCEPTION: main Process: org.fossify.keyboard, PID: 2771 java.lang.IllegalStateException: SharedPreferences in credential encrypted storage are not available until after user is unlocked at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:601) at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:577) at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:226) at Y4.b.(Unknown Source:13)
at z0.d.z(Unknown Source:7)
at M4.f.N(Unknown Source:11)
at org.fossify.keyboard.views.MyKeyboardView.getKeyColor(Unknown Source:21)
at org.fossify.keyboard.views.MyKeyboardView.setupKeyboard(Unknown Source:90)
at org.fossify.keyboard.views.MyKeyboardView.onVisibilityChanged(Unknown Source:16)
at android.view.View.dispatchAttachedToWindow(View.java:22507)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3695)
at android.view.ViewGroup.addViewInner(ViewGroup.java:5520)
at android.view.ViewGroup.addView(ViewGroup.java:5296)
at android.view.ViewGroup.addView(ViewGroup.java:5268)
at android.inputmethodservice.InputMethodService.setInputView(InputMethodService.java:2682)
at android.inputmethodservice.InputMethodService.updateInputViewShown(InputMethodService.java:2454)
at android.inputmethodservice.InputMethodService.prepareWindow(InputMethodService.java:3129)
at android.inputmethodservice.InputMethodService.showWindow(InputMethodService.java:3051)
at android.inputmethodservice.InputMethodService$InputMethodImpl.showSoftInput(InputMethodService.java:1035)
at android.inputmethodservice.InputMethodService$InputMethodImpl.showSoftInputWithToken(InputMethodService.java:1000)
at android.inputmethodservice.IInputMethodWrapper.executeMessage(IInputMethodWrapper.java:237)
at com.android.internal.os.HandlerCaller$MyHandler.handleMessage(HandlerCaller.java:44)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:226)
at android.os.Looper.loop(Looper.java:313)
at android.app.ActivityThread.main(ActivityThread.java:8762)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:604)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)