瀏覽代碼

Migration now opens manga on long click

inorichi 7 年之前
父節點
當前提交
b499b87f8c

+ 1 - 0
app/src/main/java/eu/kanade/tachiyomi/ui/catalogue/global_search/CatalogueSearchCardAdapter.kt

@@ -22,6 +22,7 @@ class CatalogueSearchCardAdapter(controller: CatalogueSearchController) :
      */
     interface OnMangaClickListener {
         fun onMangaClick(manga: Manga)
+        fun onMangaLongClick(manga: Manga)
     }
 
 }

+ 7 - 0
app/src/main/java/eu/kanade/tachiyomi/ui/catalogue/global_search/CatalogueSearchCardHolder.kt

@@ -19,6 +19,13 @@ class CatalogueSearchCardHolder(view: View, adapter: CatalogueSearchCardAdapter)
                 adapter.mangaClickListener.onMangaClick(item.manga)
             }
         }
+        itemView.setOnLongClickListener {
+            val item = adapter.getItem(adapterPosition)
+            if (item != null) {
+                adapter.mangaClickListener.onMangaLongClick(item.manga)
+            }
+            true
+        }
     }
 
     fun bind(manga: Manga) {

+ 11 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/catalogue/global_search/CatalogueSearchController.kt

@@ -25,7 +25,7 @@ open class CatalogueSearchController(protected val initialQuery: String? = null)
     /**
      * Adapter containing search results grouped by lang.
      */
-    private var adapter: CatalogueSearchAdapter? = null
+    protected var adapter: CatalogueSearchAdapter? = null
 
     /**
      * Called when controller is initialized.
@@ -73,6 +73,16 @@ open class CatalogueSearchController(protected val initialQuery: String? = null)
         router.pushController(MangaController(manga, true).withFadeTransaction())
     }
 
+    /**
+     * Called when manga in global search is long clicked.
+     *
+     * @param manga clicked item containing manga information.
+     */
+    override fun onMangaLongClick(manga: Manga) {
+        // Delegate to single click by default.
+        onMangaClick(manga)
+    }
+
     /**
      * Adds items to the options menu.
      *

+ 5 - 0
app/src/main/java/eu/kanade/tachiyomi/ui/migration/SearchController.kt

@@ -59,6 +59,11 @@ class SearchController(
         dialog.showDialog(router)
     }
 
+    override fun onMangaLongClick(manga: Manga) {
+        // Call parent's default click listener
+        super.onMangaClick(manga)
+    }
+
     class MigrationDialog : DialogController() {
 
         private val preferences: PreferencesHelper by injectLazy()