From dd3b19fa89bb832bf7a7c48d539a3c328950a824 Mon Sep 17 00:00:00 2001 From: Syabit Date: Tue, 10 Feb 2026 13:54:36 +0700 Subject: [PATCH] fix(notifications): paused notifications not showing (#1468) * fix(notifications): paused notifications not showing * docs(notifications): clarify notification dismissal and add comment for paused notifications * refactor --------- Co-authored-by: Cuong-Tran <16017808+cuong-tran@users.noreply.github.com> --- .../data/download/DownloadNotifier.kt | 18 +++++++++++++++--- .../tachiyomi/data/download/Downloader.kt | 4 ++++ .../data/notification/Notifications.kt | 3 +++ 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadNotifier.kt b/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadNotifier.kt index f58fb4d6a..945a67214 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadNotifier.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadNotifier.kt @@ -61,11 +61,21 @@ internal class DownloadNotifier(private val context: Context) { } /** - * Dismiss the downloader's notification. Downloader error notifications use a different id, so - * those can only be dismissed by the user. + * Dismiss the downloader's progress and paused notifications. Error notifications use a + * different id, so those can only be dismissed by the user. */ fun dismissProgress() { context.cancelNotification(Notifications.ID_DOWNLOAD_CHAPTER_PROGRESS) + // KMK --> + context.cancelNotification(Notifications.ID_DOWNLOAD_CHAPTER_PAUSED) + } + + /** + * Dismiss the pause notification. Called when resuming downloads. + */ + fun dismissPaused() { + context.cancelNotification(Notifications.ID_DOWNLOAD_CHAPTER_PAUSED) + // KMK <-- } /** @@ -147,7 +157,9 @@ internal class DownloadNotifier(private val context: Context) { NotificationReceiver.clearDownloadsPendingBroadcast(context), ) - show(Notifications.ID_DOWNLOAD_CHAPTER_PROGRESS) + // KMK --> + show(Notifications.ID_DOWNLOAD_CHAPTER_PAUSED) + // KMK <-- } // Reset initial values diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt b/app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt index 2fe3e8cbb..6814bf00b 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt @@ -139,6 +139,10 @@ class Downloader( return false } + // KMK --> + notifier.dismissPaused() + // KMK <-- + val pending = queueState.value.filter { it.status != Download.State.DOWNLOADED } pending.forEach { if (it.status != Download.State.QUEUE) it.status = Download.State.QUEUE } diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/notification/Notifications.kt b/app/src/main/java/eu/kanade/tachiyomi/data/notification/Notifications.kt index c044e8628..6ecb6717d 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/notification/Notifications.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/notification/Notifications.kt @@ -42,6 +42,9 @@ object Notifications { private const val GROUP_DOWNLOADER = "group_downloader" const val CHANNEL_DOWNLOADER_PROGRESS = "downloader_progress_channel" const val ID_DOWNLOAD_CHAPTER_PROGRESS = -201 + // KMK --> + const val ID_DOWNLOAD_CHAPTER_PAUSED = -203 + // KMK <-- const val CHANNEL_DOWNLOADER_ERROR = "downloader_error_channel" const val ID_DOWNLOAD_CHAPTER_ERROR = -202