OneSignal / OneSignal-Android-SDK

OneSignal is a free push notification service for mobile apps. This plugin makes it easy to integrate your native Android or Amazon app with OneSignal. https://onesignal.com
Other
592 stars 368 forks source link

[Bug]: SharedPreferences in credential encrypted storage are not available until after user is unlocked #2135

Open Munzey opened 5 days ago

Munzey commented 5 days ago

What happened?

Firebase crash report of java.lang.IllegalStateException:. happened to a single user but reporting anyway.

Firebase crash stacktrace:

android.app.ContextImpl.getSharedPreferences (ContextImpl.java:577)
android.content.ContextWrapper.getSharedPreferences (ContextWrapper.java:226)
com.onesignal.OneSignalPrefs.getSharedPrefsByName (OneSignalPrefs.java:330)
com.onesignal.OneSignalPrefs.get (OneSignalPrefs.java:302)
com.onesignal.OneSignalPrefs.getString (OneSignalPrefs.java:266)
com.onesignal.OSSharedPreferencesWrapper.getString (OSSharedPreferencesWrapper.java:22)
com.onesignal.language.LanguageContext.<init> (LanguageContext.java:23)
com.onesignal.OneSignal.setupContextListeners (OneSignal.java:902)
com.onesignal.OneSignal.initWithContext (OneSignal.java:760)```

### Steps to reproduce?

```Markdown
Firebase crash report

What did you expect to happen?

not crash

OneSignal Android SDK version

4.8.9

Android version

13

Specific Android models

Samsung Galaxy S20+ 5G

Relevant log output

No response

Code of Conduct

jkasten2 commented 4 days ago

@Munzey thanks for reporting, I believe this happens when the user reboots their device but hasn't unlocked it yet. I believe we will need to look into Android's Direct Boot to solve this:

Related OneSignal Issues: