From abb69921a2f34e8ca89a777054b9d9965cf1399a Mon Sep 17 00:00:00 2001 From: Jays2Kings Date: Sat, 8 May 2021 15:22:39 -0400 Subject: [PATCH] Option to cancel all downloads for a series in dl/queue --- .../tachiyomi/ui/download/DownloadBottomPresenter.kt | 4 ++++ .../kanade/tachiyomi/ui/download/DownloadBottomSheet.kt | 9 +++++++++ .../eu/kanade/tachiyomi/ui/download/DownloadHolder.kt | 1 - app/src/main/res/menu/download_single.xml | 3 +++ app/src/main/res/values/strings.xml | 1 + 5 files changed, 17 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadBottomPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadBottomPresenter.kt index 638bab56ac..57721817eb 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadBottomPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadBottomPresenter.kt @@ -68,4 +68,8 @@ class DownloadBottomPresenter(val sheet: DownloadBottomSheet) { fun cancelDownload(download: Download) { downloadManager.deletePendingDownloads(download) } + + fun cancelDownloads(downloads: List) { + downloadManager.deletePendingDownloads(*downloads.toTypedArray()) + } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadBottomSheet.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadBottomSheet.kt index 80e425b4cd..44b6e19832 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadBottomSheet.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadBottomSheet.kt @@ -283,6 +283,15 @@ class DownloadBottomSheet @JvmOverloads constructor( val downloads = items.mapNotNull { it.download } presenter.reorder(downloads) } + R.id.cancel_series -> { + val download = adapter?.getItem(position)?.download ?: return + val allDownloadsForSeries = adapter?.currentItems + ?.filter { download.manga.id == it.download.manga.id } + ?.map(DownloadItem::download) + if (!allDownloadsForSeries.isNullOrEmpty()) { + presenter.cancelDownloads(allDownloadsForSeries) + } + } } } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadHolder.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadHolder.kt index d92e759b6d..e0a92ed4bd 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadHolder.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadHolder.kt @@ -53,7 +53,6 @@ class DownloadHolder(private val view: View, val adapter: DownloadAdapter) : notifyDownloadedPages() } - binding.downloadMenu.isVisible = flexibleAdapterPosition != 0 || flexibleAdapterPosition != adapter.itemCount - 1 binding.downloadMenu.setVectorCompat( R.drawable.ic_more_vert_24dp, view.context diff --git a/app/src/main/res/menu/download_single.xml b/app/src/main/res/menu/download_single.xml index 81ff11af49..b0db09552b 100644 --- a/app/src/main/res/menu/download_single.xml +++ b/app/src/main/res/menu/download_single.xml @@ -5,4 +5,7 @@ + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 2c29de7cd1..a193954755 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -763,6 +763,7 @@ Download queue Downloading: %1$s Cancel all + Cancel all for this series Downloaded Not downloaded Downloading