[Bug]: Crash in com.onesignal.language.LanguageContext.getLanguage after calling pauseInAppMessages()
What happened?
Got crash from user in the field who after reaching a certain part of the registration flow called pauseInAppMessages(false) to enable in app messages.
Steps to reproduce?
No reproducible steps.
What did you expect to happen?
No crash.
OneSignal Android SDK version
4.8.9
Android version
14
Specific Android models
* Google Pixel 8, Android 14
Relevant log output
Fatal Exception: java.lang.NullPointerException: Attempt to read from field 'java.lang.Object n3.c.H' on a null object reference in method 'java.lang.String com.onesignal.k0.r0(com.onesignal.l0)'
at com.onesignal.language.LanguageContext.getLanguage(LanguageContext.java:38)
at com.onesignal.OSInAppMessageController.variantIdForMessage(OSInAppMessageController.java:277)
at com.onesignal.OSInAppMessageController.displayMessage(OSInAppMessageController.java:807)
at com.onesignal.OSInAppMessageController.attemptToShowInAppMessage(OSInAppMessageController.java:649)
at com.onesignal.OSInAppMessageController.queueMessageForDisplay(OSInAppMessageController.java:633)
at com.onesignal.OSInAppMessageController.evaluateInAppMessages(OSInAppMessageController.java:270)
at com.onesignal.OSInAppMessageController.setInAppMessagingEnabled(OSInAppMessageController.java:1029)
at com.onesignal.OneSignal.pauseInAppMessages(OneSignal.java:3163)
at com.geodb.wallace.utils.SlowSignal$Companion$activateInAppMessages$1$1$1.invokeSuspend(SlowSignal.kt:100)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
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:8501)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)
Code of Conduct
- [X] I agree to follow this project's Code of Conduct
Thanks for reaching out @chokokatana! We'll look into this and get back to you as soon as possible.
@chokokatana do you call OneSignal.setLanguage() in your app?
Do you see this issue if you upgrade to the latest OneSignal-Android-SDK 5.x.x version?
- No
- Can't test.
Hi @chokokatana, we haven't seen other reports of this crash and the team is no longer actively supporting and patching the v4 major version of this SDK.
I recommend to upgrade to v5 of our SDK. Please let us know if we can help you with the transition.