paulmandal / atak-forwarder

Forwards packets to/from ATAK over an off-grid communication layer
MIT License
399 stars 42 forks source link

Playstore reported Crash NullPointerException #124

Closed bisgroves closed 1 year ago

bisgroves commented 2 years ago

Pull from the Playstore Reporting Metrics - unfortunately no steps for reproduction. (Reported within the last 7 days of the date of this filing)

Crash Lenovo Tab M10 (FHD) brightness_1 Android 9 (SDK 28) brightness_1 1649938081.apk brightness_1 113 minutes ago Type

java.lang.NullPointerException

java.lang.NullPointerException: at java.util.Objects.requireNonNull (Objects.java:203) at com.geeksville.mesh.ChannelProtos$ChannelSettings.setModemConfig (SourceFile:1) at com.geeksville.mesh.ChannelProtos$ChannelSettings.access$400 (SourceFile:1) at com.geeksville.mesh.ChannelProtos$ChannelSettings$Builder.setModemConfig (SourceFile:2) at atakplugin.PluginTemplate.e4.n (SourceFile:9) at atakplugin.PluginTemplate.e4.k (SourceFile:17) at atakplugin.PluginTemplate.e4.g (SourceFile:26) at com.paulmandal.atak.forwarder.plugin.c.onSharedPreferenceChanged (SourceFile:4) at android.app.SharedPreferencesImpl$EditorImpl.notifyListeners (SharedPreferencesImpl.java:607) at android.app.SharedPreferencesImpl$EditorImpl.apply (SharedPreferencesImpl.java:489) at android.preference.Preference.tryCommit (Preference.java:1590) at android.preference.Preference.persistString (Preference.java:1626) at android.preference.EditTextPreference.setText (EditTextPreference.java:94) at android.preference.EditTextPreference.onDialogClosed (EditTextPreference.java:148) at android.preference.DialogPreference.onDismiss (DialogPreference.java:395) at android.app.Dialog$ListenersHandler.handleMessage (Dialog.java:1393) at android.os.Handler.dispatchMessage (Handler.java:106) at android.os.Looper.loop (Looper.java:193) at android.app.ActivityThread.main (ActivityThread.java:6758) at java.lang.reflect.Method.invoke (Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:858)

paulmandal commented 2 years ago

Thanks for the heads up on this, somehow the ModemConfig is getting set to null in settings, there is normally a default, I worked with a user who had this issue and wiping their install fixed it. I'll add some more robust null handling here.

paulmandal commented 1 year ago

I'm going to close this with the expectation that the 2.0.2 version of the plugin will become the commonly used version in the next few weeks. I've changed how shared preferences are handled so this may be fixed at this point.