Explorar o código

Remove setting to disable update error notifications and split out notification channel

Users can exclude things from updating if needed, or disable the notification channel from system settings.
arkon %!s(int64=3) %!d(string=hai) anos
pai
achega
fce3cd00a1

+ 2 - 2
app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateNotifier.kt

@@ -51,7 +51,7 @@ class LibraryUpdateNotifier(private val context: Context) {
      * Cached progress notification to avoid creating a lot.
      */
     val progressNotificationBuilder by lazy {
-        context.notificationBuilder(Notifications.CHANNEL_LIBRARY) {
+        context.notificationBuilder(Notifications.CHANNEL_LIBRARY_PROGRESS) {
             setContentTitle(context.getString(R.string.app_name))
             setSmallIcon(R.drawable.ic_refresh_24dp)
             setLargeIcon(notificationBitmap)
@@ -101,7 +101,7 @@ class LibraryUpdateNotifier(private val context: Context) {
 
         context.notificationManager.notify(
             Notifications.ID_LIBRARY_ERROR,
-            context.notificationBuilder(Notifications.CHANNEL_LIBRARY) {
+            context.notificationBuilder(Notifications.CHANNEL_LIBRARY_ERROR) {
                 setContentTitle(context.resources.getQuantityString(R.plurals.notification_update_error, errors.size, errors.size))
                 setStyle(
                     NotificationCompat.BigTextStyle().bigText(

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt

@@ -350,7 +350,7 @@ class LibraryUpdateService(
             }
         }
 
-        if (preferences.showLibraryUpdateErrors() && failedUpdates.isNotEmpty()) {
+        if (failedUpdates.isNotEmpty()) {
             val errorFile = writeErrorFile(failedUpdates)
             notifier.showUpdateErrorNotification(
                 failedUpdates.map { it.first.title },

+ 71 - 57
app/src/main/java/eu/kanade/tachiyomi/data/notification/Notifications.kt

@@ -24,8 +24,10 @@ object Notifications {
     /**
      * Notification channel and ids used by the library updater.
      */
-    const val CHANNEL_LIBRARY = "library_channel"
+    private const val GROUP_LIBRARY = "group_library"
+    const val CHANNEL_LIBRARY_PROGRESS = "library_progress_channel"
     const val ID_LIBRARY_PROGRESS = -101
+    const val CHANNEL_LIBRARY_ERROR = "library_errors_channel"
     const val ID_LIBRARY_ERROR = -102
 
     /**
@@ -77,7 +79,8 @@ object Notifications {
 
     private val deprecatedChannels = listOf(
         "downloader_channel",
-        "backup_restore_complete_channel"
+        "backup_restore_complete_channel",
+        "library_channel",
     )
 
     /**
@@ -89,64 +92,75 @@ object Notifications {
     fun createChannels(context: Context) {
         val notificationService = NotificationManagerCompat.from(context)
 
-        val channelGroupList = listOf(
-            buildNotificationChannelGroup(GROUP_BACKUP_RESTORE) {
-                setName(context.getString(R.string.group_backup_restore))
-            },
-            buildNotificationChannelGroup(GROUP_DOWNLOADER) {
-                setName(context.getString(R.string.group_downloader))
-            }
+        notificationService.createNotificationChannelGroupsCompat(
+            listOf(
+                buildNotificationChannelGroup(GROUP_BACKUP_RESTORE) {
+                    setName(context.getString(R.string.label_backup))
+                },
+                buildNotificationChannelGroup(GROUP_DOWNLOADER) {
+                    setName(context.getString(R.string.download_notifier_downloader_title))
+                },
+                buildNotificationChannelGroup(GROUP_LIBRARY) {
+                    setName(context.getString(R.string.label_library))
+                },
+            )
         )
-        notificationService.createNotificationChannelGroupsCompat(channelGroupList)
 
-        val channelList = listOf(
-            buildNotificationChannel(CHANNEL_COMMON, IMPORTANCE_LOW) {
-                setName(context.getString(R.string.channel_common))
-            },
-            buildNotificationChannel(CHANNEL_LIBRARY, IMPORTANCE_LOW) {
-                setName(context.getString(R.string.channel_library))
-                setShowBadge(false)
-            },
-            buildNotificationChannel(CHANNEL_DOWNLOADER_PROGRESS, IMPORTANCE_LOW) {
-                setName(context.getString(R.string.channel_progress))
-                setGroup(GROUP_DOWNLOADER)
-                setShowBadge(false)
-            },
-            buildNotificationChannel(CHANNEL_DOWNLOADER_COMPLETE, IMPORTANCE_LOW) {
-                setName(context.getString(R.string.channel_complete))
-                setGroup(GROUP_DOWNLOADER)
-                setShowBadge(false)
-            },
-            buildNotificationChannel(CHANNEL_DOWNLOADER_ERROR, IMPORTANCE_LOW) {
-                setName(context.getString(R.string.channel_errors))
-                setGroup(GROUP_DOWNLOADER)
-                setShowBadge(false)
-            },
-            buildNotificationChannel(CHANNEL_NEW_CHAPTERS, IMPORTANCE_DEFAULT) {
-                setName(context.getString(R.string.channel_new_chapters))
-            },
-            buildNotificationChannel(CHANNEL_UPDATES_TO_EXTS, IMPORTANCE_DEFAULT) {
-                setName(context.getString(R.string.channel_ext_updates))
-            },
-            buildNotificationChannel(CHANNEL_BACKUP_RESTORE_PROGRESS, IMPORTANCE_LOW) {
-                setName(context.getString(R.string.channel_progress))
-                setGroup(GROUP_BACKUP_RESTORE)
-                setShowBadge(false)
-            },
-            buildNotificationChannel(CHANNEL_BACKUP_RESTORE_COMPLETE, IMPORTANCE_HIGH) {
-                setName(context.getString(R.string.channel_complete))
-                setGroup(GROUP_BACKUP_RESTORE)
-                setShowBadge(false)
-                setSound(null, null)
-            },
-            buildNotificationChannel(CHANNEL_CRASH_LOGS, IMPORTANCE_HIGH) {
-                setName(context.getString(R.string.channel_crash_logs))
-            },
-            buildNotificationChannel(CHANNEL_INCOGNITO_MODE, IMPORTANCE_LOW) {
-                setName(context.getString(R.string.pref_incognito_mode))
-            },
+        notificationService.createNotificationChannelsCompat(
+            listOf(
+                buildNotificationChannel(CHANNEL_COMMON, IMPORTANCE_LOW) {
+                    setName(context.getString(R.string.channel_common))
+                },
+                buildNotificationChannel(CHANNEL_LIBRARY_PROGRESS, IMPORTANCE_LOW) {
+                    setName(context.getString(R.string.channel_progress))
+                    setGroup(GROUP_LIBRARY)
+                    setShowBadge(false)
+                },
+                buildNotificationChannel(CHANNEL_LIBRARY_ERROR, IMPORTANCE_LOW) {
+                    setName(context.getString(R.string.channel_errors))
+                    setGroup(GROUP_LIBRARY)
+                    setShowBadge(false)
+                },
+                buildNotificationChannel(CHANNEL_NEW_CHAPTERS, IMPORTANCE_DEFAULT) {
+                    setName(context.getString(R.string.channel_new_chapters))
+                },
+                buildNotificationChannel(CHANNEL_DOWNLOADER_PROGRESS, IMPORTANCE_LOW) {
+                    setName(context.getString(R.string.channel_progress))
+                    setGroup(GROUP_DOWNLOADER)
+                    setShowBadge(false)
+                },
+                buildNotificationChannel(CHANNEL_DOWNLOADER_COMPLETE, IMPORTANCE_LOW) {
+                    setName(context.getString(R.string.channel_complete))
+                    setGroup(GROUP_DOWNLOADER)
+                    setShowBadge(false)
+                },
+                buildNotificationChannel(CHANNEL_DOWNLOADER_ERROR, IMPORTANCE_LOW) {
+                    setName(context.getString(R.string.channel_errors))
+                    setGroup(GROUP_DOWNLOADER)
+                    setShowBadge(false)
+                },
+                buildNotificationChannel(CHANNEL_BACKUP_RESTORE_PROGRESS, IMPORTANCE_LOW) {
+                    setName(context.getString(R.string.channel_progress))
+                    setGroup(GROUP_BACKUP_RESTORE)
+                    setShowBadge(false)
+                },
+                buildNotificationChannel(CHANNEL_BACKUP_RESTORE_COMPLETE, IMPORTANCE_HIGH) {
+                    setName(context.getString(R.string.channel_complete))
+                    setGroup(GROUP_BACKUP_RESTORE)
+                    setShowBadge(false)
+                    setSound(null, null)
+                },
+                buildNotificationChannel(CHANNEL_CRASH_LOGS, IMPORTANCE_HIGH) {
+                    setName(context.getString(R.string.channel_crash_logs))
+                },
+                buildNotificationChannel(CHANNEL_INCOGNITO_MODE, IMPORTANCE_LOW) {
+                    setName(context.getString(R.string.pref_incognito_mode))
+                },
+                buildNotificationChannel(CHANNEL_UPDATES_TO_EXTS, IMPORTANCE_DEFAULT) {
+                    setName(context.getString(R.string.channel_ext_updates))
+                },
+            )
         )
-        notificationService.createNotificationChannelsCompat(channelList)
 
         // Delete old notification channels
         deprecatedChannels.forEach(notificationService::deleteNotificationChannel)

+ 0 - 2
app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt

@@ -171,8 +171,6 @@ object PreferenceKeys {
 
     const val autoUpdateTrackers = "auto_update_trackers"
 
-    const val showLibraryUpdateErrors = "show_library_update_errors"
-
     const val downloadNew = "download_new"
 
     const val downloadNewCategories = "download_new_categories"

+ 0 - 2
app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt

@@ -86,8 +86,6 @@ class PreferencesHelper(val context: Context) {
 
     fun autoUpdateTrackers() = prefs.getBoolean(Keys.autoUpdateTrackers, false)
 
-    fun showLibraryUpdateErrors() = prefs.getBoolean(Keys.showLibraryUpdateErrors, true)
-
     fun themeMode() = flowPrefs.getEnum(Keys.themeMode, system)
 
     fun appTheme() = flowPrefs.getEnum(Keys.appTheme, Values.AppTheme.DEFAULT)

+ 0 - 5
app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt

@@ -282,11 +282,6 @@ class SettingsLibraryController : SettingsController() {
                     defaultValue = false
                 }
             }
-            switchPreference {
-                key = Keys.showLibraryUpdateErrors
-                titleRes = R.string.pref_library_update_error_notification
-                defaultValue = true
-            }
         }
     }
 

+ 0 - 4
app/src/main/res/values/strings.xml

@@ -226,7 +226,6 @@
     <string name="pref_library_update_refresh_metadata_summary">Check for new cover and details when updating library</string>
     <string name="pref_library_update_refresh_trackers">Automatically refresh trackers</string>
     <string name="pref_library_update_refresh_trackers_summary">Update trackers when updating library</string>
-    <string name="pref_library_update_error_notification">Show update errors notifications</string>
 
     <string name="default_category">Default category</string>
     <string name="default_category_summary">Always ask</string>
@@ -775,9 +774,6 @@
     <string name="channel_progress">Progress</string>
     <string name="channel_complete">Complete</string>
     <string name="channel_errors">Errors</string>
-    <string name="channel_library">Library</string>
-    <string name="group_downloader">Downloads</string>
-    <string name="group_backup_restore">Backup and restore</string>
     <string name="channel_new_chapters">Chapter updates</string>
     <string name="channel_ext_updates">Extension updates</string>
     <string name="channel_crash_logs">Crash logs</string>