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