diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChapterHolder.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChapterHolder.kt index 13edc15743..18d3f76210 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChapterHolder.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChapterHolder.kt @@ -25,6 +25,10 @@ class ChapterHolder( binding.download.setOnClickListener { onDownloadClick(it, bindingAdapterPosition) } + binding.download.setOnLongClickListener { + onDownloadLongClick(bindingAdapterPosition) + true + } } fun bind(item: ChapterItem, manga: Manga) { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/base/BaseChapterHolder.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/base/BaseChapterHolder.kt index a3a38dd437..e2f1dcc9cc 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/base/BaseChapterHolder.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/base/BaseChapterHolder.kt @@ -41,4 +41,20 @@ open class BaseChapterHolder( } } } + + fun onDownloadLongClick(position: Int) { + val item = adapter.getItem(position) as? BaseChapterItem<*, *> ?: return + when (item.status) { + Download.State.NOT_DOWNLOADED, Download.State.ERROR -> { + adapter.clickListener.downloadChapter(position) + } + Download.State.DOWNLOADED, Download.State.DOWNLOADING -> { + adapter.clickListener.deleteChapter(position) + } + // Download.State.QUEUE + else -> { + adapter.clickListener.startDownloadNow(position) + } + } + } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/recent/updates/UpdatesHolder.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/recent/updates/UpdatesHolder.kt index 25f2c4dd60..e669fafce9 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/recent/updates/UpdatesHolder.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/recent/updates/UpdatesHolder.kt @@ -30,6 +30,10 @@ class UpdatesHolder(private val view: View, private val adapter: UpdatesAdapter) binding.download.setOnClickListener { onDownloadClick(it, bindingAdapterPosition) } + binding.download.setOnLongClickListener { + onDownloadLongClick(bindingAdapterPosition) + true + } } fun bind(item: UpdatesItem) {