From 949cdccbae6d76270ed7f1b8267f844e993ab92a Mon Sep 17 00:00:00 2001 From: jobobby04 Date: Fri, 17 Apr 2020 01:21:16 -0400 Subject: [PATCH] Confirm exit for migrations (cherry picked from commit 640bd8d9babb3ace1d6a370adad35050271aa008) --- .../manga/process/MigrationListController.kt | 29 ++++++++++++++++++- app/src/main/res/values/strings.xml | 2 ++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/migration/manga/process/MigrationListController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/migration/manga/process/MigrationListController.kt index d5f2d1474..f6e2b014c 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/migration/manga/process/MigrationListController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/migration/manga/process/MigrationListController.kt @@ -130,6 +130,13 @@ class MigrationListController(bundle: Bundle? = null) : BaseController(bundle), sourceManager.get(value) as? CatalogueSource } if (config == null) return for (manga in mangas) { + if (migrationsJob?.isCancelled == true) { + break + } + // in case it was removed + if (manga.mangaId !in config.mangaIds) { + continue + } if (!manga.searchResult.initialized && manga.migrationJob.isActive) { val mangaObj = manga.manga() @@ -246,7 +253,9 @@ class MigrationListController(bundle: Bundle? = null) : BaseController(bundle), override fun updateCount() { launchUI { - setTitle() + if (router.backstack.last().controller() == this@MigrationListController) { + setTitle() + } } } @@ -370,6 +379,24 @@ class MigrationListController(bundle: Bundle? = null) : BaseController(bundle), } } + override fun handleBack(): Boolean { + activity?.let { + MaterialDialog.Builder(it).title(R.string.stop_migration) + .positiveText(R.string.yes) + .negativeText(R.string.no) + .onPositive { _, _ -> + router.popCurrentController() + migrationsJob?.cancel() + } + .show() + } + return true + } + + override fun onDestroyView(view: View) { + super.onDestroyView(view) + } + override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) { inflater.inflate(R.menu.migration_list, menu) } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a128afdd5..323b519ce 100755 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -493,9 +493,11 @@ (skipping %1$d) %1$s manga migrated No + Yes No chapters found, this manga cannot be used for migration No Alternatives Found + Stop migrating? Tracking