MCMrARM / revolution-irc

A modern Android IRC client. #revolutionirc on Libera.chat
GNU General Public License v3.0
548 stars 63 forks source link

Crash when trying to edit notification rules #331

Open Terrance opened 1 year ago

Terrance commented 1 year ago

Tapping on one of my custom notification rules results in a crash:

java.lang.RuntimeException: Unable to start activity ComponentInfo{io.mrarm.irc/io.mrarm.irc.EditNotificationSettingsActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.net.Uri android.app.NotificationChannel.getSound()' on a null object reference
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3616)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3780)
       at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
       at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
       at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2251)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:233)
       at android.app.ActivityThread.main(ActivityThread.java:8063)
       at java.lang.reflect.Method.invoke(Native Method)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:631)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:978)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.net.Uri android.app.NotificationChannel.getSound()' on a null object reference
       at io.mrarm.irc.EditNotificationSettingsActivity.loadNotificationRuleSettings(EditNotificationSettingsActivity.java:264)
       at io.mrarm.irc.EditNotificationSettingsActivity.loadOptions(EditNotificationSettingsActivity.java:225)
       at io.mrarm.irc.EditNotificationSettingsActivity.onCreate(EditNotificationSettingsActivity.java:142)
       at android.app.Activity.performCreate(Activity.java:8006)
       at android.app.Activity.performCreate(Activity.java:7990)
       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1329)
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3589)
       ... 11 more

It's likely these settings were brought across from a data restore, if it's trying to reference a notification channel from a previous device that no longer exists?