Browse Source

Avoid crashing when notification channels can't be created/deleted

For example, the application may be launched from a service, where channels cannot be deleted.
arkon 3 years ago
parent
commit
d4aeeadb26
1 changed files with 6 additions and 1 deletions
  1. 6 1
      app/src/main/java/eu/kanade/tachiyomi/App.kt

+ 6 - 1
app/src/main/java/eu/kanade/tachiyomi/App.kt

@@ -32,6 +32,7 @@ import eu.kanade.tachiyomi.network.NetworkHelper
 import eu.kanade.tachiyomi.ui.security.SecureActivityDelegate
 import eu.kanade.tachiyomi.util.system.AuthenticatorUtil
 import eu.kanade.tachiyomi.util.system.animatorDurationScale
+import eu.kanade.tachiyomi.util.system.logcat
 import eu.kanade.tachiyomi.util.system.notification
 import kotlinx.coroutines.flow.launchIn
 import kotlinx.coroutines.flow.onEach
@@ -158,7 +159,11 @@ open class App : Application(), DefaultLifecycleObserver, ImageLoaderFactory {
     }
 
     protected open fun setupNotificationChannels() {
-        Notifications.createChannels(this)
+        try {
+            Notifications.createChannels(this)
+        } catch (e: Exception) {
+            logcat(LogPriority.ERROR, e) { "Failed to modify notification channels" }
+        }
     }
 
     private inner class DisableIncognitoReceiver : BroadcastReceiver() {