MoleMan1024 / audiowagon

AudioWagon will play audio files from an attached USB flash drive in cars equipped with Android Automotive OS
https://moleman1024.github.io/audiowagon/
GNU General Public License v3.0
58 stars 17 forks source link

Shared preferences not available when user still locked #136

Closed MoleMan1024 closed 4 months ago

MoleMan1024 commented 5 months ago

Seen in Firebase Crashlytics, when user has locked car (probably with PIN code), then shared preferences will not be available for reading:

Fatal Exception: java.lang.RuntimeException: Unable to create service de.moleman1024.audiowagon.AudioBrowserService: java.lang.IllegalStateException: SharedPreferences in credential encrypted storage are not available until after user is unlocked
       at android.app.ActivityThread.handleCreateService(ActivityThread.java:4198)
       at android.app.ActivityThread.access$1500(ActivityThread.java:237)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1932)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:223)
       at android.app.ActivityThread.main(ActivityThread.java:7664)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)

Caused by java.lang.IllegalStateException: SharedPreferences in credential encrypted storage are not available until after user is unlocked
       at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:494)
       at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:479)
       at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:188)
       at androidx.preference.PreferenceManager.getDefaultSharedPreferences(PreferenceManager.java:119)
       at de.moleman1024.audiowagon.SharedPrefsStorage.getDefaultStorage(SharedPrefsStorage.kt:15)
       at de.moleman1024.audiowagon.SharedPrefs$Companion.getDefaultSharedPreferences(SharedPrefs.kt:36)
       at de.moleman1024.audiowagon.SharedPrefs.isCrashReportingEnabled(SharedPrefs.kt:201)
       at de.moleman1024.audiowagon.log.CrashReporting.<init>(CrashReporting.kt:35)
       at de.moleman1024.audiowagon.AudioBrowserService.onCreate(AudioBrowserService.kt:180)
       at android.app.ActivityThread.handleCreateService(ActivityThread.java:4186)
       at android.app.ActivityThread.access$1500(ActivityThread.java:237)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1932)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:223)
       at android.app.ActivityThread.main(ActivityThread.java:7664)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
MoleMan1024 commented 4 months ago

Should be fixed in next version

MoleMan1024 commented 4 months ago

released in version 2.5.14