소스 검색

Add long click action on chapter download button (#7125)

CVIUS 2 년 전
부모
커밋
5002692bda

+ 4 - 0
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) {

+ 16 - 0
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)
+            }
+        }
+    }
 }

+ 4 - 0
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) {