|
@@ -42,6 +42,8 @@ import eu.kanade.tachiyomi.ui.manga.AddDuplicateMangaDialog
|
|
|
import eu.kanade.tachiyomi.ui.manga.MangaController
|
|
|
import eu.kanade.tachiyomi.ui.more.MoreController
|
|
|
import eu.kanade.tachiyomi.ui.webview.WebViewActivity
|
|
|
+import eu.kanade.tachiyomi.util.lang.launchIO
|
|
|
+import eu.kanade.tachiyomi.util.lang.withUIContext
|
|
|
import eu.kanade.tachiyomi.util.preference.asImmediateFlow
|
|
|
import eu.kanade.tachiyomi.util.system.connectivityManager
|
|
|
import eu.kanade.tachiyomi.util.system.logcat
|
|
@@ -589,27 +591,36 @@ open class BrowseSourceController(bundle: Bundle) :
|
|
|
override fun onItemLongClick(position: Int) {
|
|
|
val activity = activity ?: return
|
|
|
val manga = (adapter?.getItem(position) as? SourceItem?)?.manga ?: return
|
|
|
- val duplicateManga = presenter.getDuplicateLibraryManga(manga)
|
|
|
-
|
|
|
- if (manga.favorite) {
|
|
|
- MaterialAlertDialogBuilder(activity)
|
|
|
- .setTitle(manga.title)
|
|
|
- .setItems(arrayOf(activity.getString(R.string.remove_from_library))) { _, which ->
|
|
|
- when (which) {
|
|
|
- 0 -> {
|
|
|
- presenter.changeMangaFavorite(manga)
|
|
|
- adapter?.notifyItemChanged(position)
|
|
|
- activity.toast(activity.getString(R.string.manga_removed_library))
|
|
|
+ launchIO {
|
|
|
+ val duplicateManga = presenter.getDuplicateLibraryManga(manga)
|
|
|
+
|
|
|
+ withUIContext {
|
|
|
+ if (manga.favorite) {
|
|
|
+ MaterialAlertDialogBuilder(activity)
|
|
|
+ .setTitle(manga.title)
|
|
|
+ .setItems(arrayOf(activity.getString(R.string.remove_from_library))) { _, which ->
|
|
|
+ when (which) {
|
|
|
+ 0 -> {
|
|
|
+ presenter.changeMangaFavorite(manga)
|
|
|
+ adapter?.notifyItemChanged(position)
|
|
|
+ activity.toast(activity.getString(R.string.manga_removed_library))
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
+ .show()
|
|
|
+ } else {
|
|
|
+ if (duplicateManga != null) {
|
|
|
+ AddDuplicateMangaDialog(this@BrowseSourceController, duplicateManga) {
|
|
|
+ addToLibrary(
|
|
|
+ manga,
|
|
|
+ position,
|
|
|
+ )
|
|
|
+ }
|
|
|
+ .showDialog(router)
|
|
|
+ } else {
|
|
|
+ addToLibrary(manga, position)
|
|
|
}
|
|
|
}
|
|
|
- .show()
|
|
|
- } else {
|
|
|
- if (duplicateManga != null) {
|
|
|
- AddDuplicateMangaDialog(this, duplicateManga) { addToLibrary(manga, position) }
|
|
|
- .showDialog(router)
|
|
|
- } else {
|
|
|
- addToLibrary(manga, position)
|
|
|
}
|
|
|
}
|
|
|
}
|