diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailsController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailsController.kt index 4b4bb15d03..5ab5c9b168 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailsController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailsController.kt @@ -1443,14 +1443,10 @@ class MangaDetailsController : override fun favoriteManga(longPress: Boolean) { if (needsToBeUnlocked()) return - val manga = presenter.manga - val categories = presenter.getCategories() - if (!manga.favorite) { - toggleMangaFavorite() + if (longPress) { + showCategoriesSheet() } else { - val favButton = getHeader()?.binding?.favoriteButton ?: return - val popup = makeFavPopup(favButton, categories) - popup?.show() + toggleMangaFavorite() } } @@ -1478,9 +1474,7 @@ class MangaDetailsController : // Set a listener so we are notified if a menu item is clicked popup.setOnMenuItemClickListener { menuItem -> if (menuItem.itemId == 0) { - presenter.manga.moveCategories(presenter.db, activity!!) { - updateHeader() - } + showCategoriesSheet() } else { toggleMangaFavorite() } @@ -1489,6 +1483,12 @@ class MangaDetailsController : return popup } + private fun showCategoriesSheet() { + presenter.manga.moveCategories(presenter.db, activity!!) { + updateHeader() + } + } + private fun toggleMangaFavorite() { val view = view ?: return val activity = activity ?: return diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaHeaderHolder.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaHeaderHolder.kt index 04fbf6846e..d7f5d16adf 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaHeaderHolder.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaHeaderHolder.kt @@ -128,6 +128,10 @@ class MangaHeaderHolder( favoriteButton.setOnClickListener { adapter.delegate.favoriteManga(false) } + favoriteButton.setOnLongClickListener { + adapter.delegate.favoriteManga(true) + true + } title.setOnClickListener { view -> title.text?.toString()?.toNormalized()?.let { adapter.delegate.showFloatingActionMode(view as TextView, it)