Migrations now shows how many manual migrations were made after skipping the rest

(cherry picked from commit bac01c98073dbee6c09144b6ebc55b6a0d56d0da)
This commit is contained in:
jobobby04 2020-04-17 01:07:09 -04:00 committed by Jobobby04
parent 2557111607
commit 2e0102d689
4 changed files with 43 additions and 30 deletions

View File

@ -17,7 +17,6 @@ import com.afollestad.materialdialogs.MaterialDialog
import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.DatabaseHelper import eu.kanade.tachiyomi.data.database.DatabaseHelper
import eu.kanade.tachiyomi.data.database.models.Manga import eu.kanade.tachiyomi.data.database.models.Manga
import eu.kanade.tachiyomi.data.database.models.MangaImpl
import eu.kanade.tachiyomi.data.preference.PreferencesHelper import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.data.preference.getOrDefault import eu.kanade.tachiyomi.data.preference.getOrDefault
import eu.kanade.tachiyomi.smartsearch.SmartSearchEngine import eu.kanade.tachiyomi.smartsearch.SmartSearchEngine
@ -57,8 +56,6 @@ class MigrationListController(bundle: Bundle? = null) : BaseController(bundle),
setHasOptionsMenu(true) setHasOptionsMenu(true)
} }
private var titleText = "Migrate manga"
private var adapter: MigrationProcessAdapter? = null private var adapter: MigrationProcessAdapter? = null
override val coroutineContext: CoroutineContext = Job() + Dispatchers.Default override val coroutineContext: CoroutineContext = Job() + Dispatchers.Default
@ -74,13 +71,14 @@ class MigrationListController(bundle: Bundle? = null) : BaseController(bundle),
private var migrationsJob: Job? = null private var migrationsJob: Job? = null
private var migratingManga: MutableList<MigratingManga>? = null private var migratingManga: MutableList<MigratingManga>? = null
private var selectedPosition: Int? = null private var selectedPosition: Int? = null
private var manaulMigrations = 0
override fun inflateView(inflater: LayoutInflater, container: ViewGroup): View { override fun inflateView(inflater: LayoutInflater, container: ViewGroup): View {
return inflater.inflate(R.layout.migration_list_controller, container, false) return inflater.inflate(R.layout.migration_list_controller, container, false)
} }
override fun getTitle(): String { override fun getTitle(): String? {
return titleText return resources?.getString(R.string.migration)
} }
override fun onViewCreated(view: View) { override fun onViewCreated(view: View) {
@ -269,7 +267,16 @@ class MigrationListController(bundle: Bundle? = null) : BaseController(bundle),
override fun noMigration() { override fun noMigration() {
launchUI { launchUI {
activity?.toast(R.string.no_migrations) val res = resources
if (res != null) {
activity?.toast(
res.getString(
R.string.x_migrations,
if (manaulMigrations == 0) res.getString(R.string.no)
else "$manaulMigrations"
)
)
}
router.popCurrentController() router.popCurrentController()
} }
} }
@ -287,8 +294,14 @@ class MigrationListController(bundle: Bundle? = null) : BaseController(bundle),
} }
} }
R.id.action_skip -> adapter?.removeManga(position) R.id.action_skip -> adapter?.removeManga(position)
R.id.action_migrate_now -> adapter?.migrateManga(position, false) R.id.action_migrate_now -> {
R.id.action_copy_now -> adapter?.migrateManga(position, true) adapter?.migrateManga(position, false)
manaulMigrations++
}
R.id.action_copy_now -> {
adapter?.migrateManga(position, true)
manaulMigrations++
}
} }
} }
@ -375,12 +388,12 @@ class MigrationListController(bundle: Bundle? = null) : BaseController(bundle),
} }
override fun onOptionsItemSelected(item: MenuItem): Boolean { override fun onOptionsItemSelected(item: MenuItem): Boolean {
val itemsCount = adapter?.itemCount ?: 0 val totalManga = adapter?.itemCount ?: 0
val mangasSkipped = adapter?.mangasSkipped() ?: 0 val mangaSkipped = adapter?.mangasSkipped() ?: 0
when (item.itemId) { when (item.itemId) {
R.id.action_copy_manga -> MigrationMangaDialog(this, true, itemsCount, mangasSkipped) R.id.action_copy_manga -> MigrationMangaDialog(this, true, totalManga, mangaSkipped)
.showDialog(router) .showDialog(router)
R.id.action_migrate_manga -> MigrationMangaDialog(this, false, itemsCount, mangasSkipped) R.id.action_migrate_manga -> MigrationMangaDialog(this, false, totalManga, mangaSkipped)
.showDialog(router) .showDialog(router)
else -> return super.onOptionsItemSelected(item) else -> return super.onOptionsItemSelected(item)
} }

View File

@ -16,7 +16,6 @@ import eu.kanade.tachiyomi.util.preference.onChange
import eu.kanade.tachiyomi.util.preference.onClick import eu.kanade.tachiyomi.util.preference.onClick
import eu.kanade.tachiyomi.util.preference.preference import eu.kanade.tachiyomi.util.preference.preference
import eu.kanade.tachiyomi.util.preference.preferenceCategory import eu.kanade.tachiyomi.util.preference.preferenceCategory
import eu.kanade.tachiyomi.util.preference.summaryRes
import eu.kanade.tachiyomi.util.preference.switchPreference import eu.kanade.tachiyomi.util.preference.switchPreference
import eu.kanade.tachiyomi.util.preference.titleRes import eu.kanade.tachiyomi.util.preference.titleRes
import eu.kanade.tachiyomi.util.system.LocaleHelper import eu.kanade.tachiyomi.util.system.LocaleHelper
@ -192,16 +191,6 @@ class SettingsGeneralController : SettingsController() {
} }
} }
if (preferences.skipPreMigration().getOrDefault() || preferences.migrationSources()
.getOrDefault().isNotEmpty()) {
switchPreference {
key = Keys.skipPreMigration
titleRes = R.string.pref_skip_pre_migration
summaryRes = R.string.pref_skip_pre_migration_summary
defaultValue = false
}
}
// --> EXH // --> EXH
switchPreference { switchPreference {
key = Keys.eh_expandFilters key = Keys.eh_expandFilters

View File

@ -210,6 +210,15 @@ class SettingsLibraryController : SettingsController() {
true true
} }
} }
if (preferences.skipPreMigration().getOrDefault() || preferences.migrationSources()
.getOrDefault().isNotEmpty()) {
switchPreference {
key = Keys.skipPreMigration
titleRes = R.string.pref_skip_pre_migration
summaryRes = R.string.pref_skip_pre_migration_summary
defaultValue = false
}
}
} }
} }

View File

@ -21,8 +21,8 @@
<string name="label_categories">Categories</string> <string name="label_categories">Categories</string>
<string name="label_backup">Backup</string> <string name="label_backup">Backup</string>
<string name="label_migration">Source migration</string> <string name="label_migration">Source migration</string>
<string name="label_reorganize_by">Re-order</string> <string name="label_reorganize_by">Reorder</string>
<string name="label_alpha_reverse">Alphabetically (descending)</string> <string name="label_alpha_reverse">Alpha. (descending)</string>
<string name="label_hide_title">Hide title</string> <string name="label_hide_title">Hide title</string>
<string name="label_show_title">Show title</string> <string name="label_show_title">Show title</string>
<string name="label_extensions">Extensions</string> <string name="label_extensions">Extensions</string>
@ -48,8 +48,8 @@
<string name="action_sort_latest_chapter">Latest chapter</string> <string name="action_sort_latest_chapter">Latest chapter</string>
<string name="action_sort_drag_and_drop">Drag &amp; Drop</string> <string name="action_sort_drag_and_drop">Drag &amp; Drop</string>
<string name="action_search">Search</string> <string name="action_search">Search</string>
<string name="action_skip_manga">Don\'t migrate</string>
<string name="action_global_search">Global search</string> <string name="action_global_search">Global search</string>
<string name="action_skip_manga">Skip manga</string>
<string name="action_select_all">Select all</string> <string name="action_select_all">Select all</string>
<string name="action_select_inverse">Select inverse</string> <string name="action_select_inverse">Select inverse</string>
<string name="action_mark_as_read">Mark as read</string> <string name="action_mark_as_read">Mark as read</string>
@ -488,10 +488,11 @@
<string name="download_unread">Unread</string> <string name="download_unread">Unread</string>
<string name="confirm_delete_chapters">Are you sure you want to delete the selected chapters?</string> <string name="confirm_delete_chapters">Are you sure you want to delete the selected chapters?</string>
<string name="invalid_download_dir">Invalid download location</string> <string name="invalid_download_dir">Invalid download location</string>
<string name="confirm_migration">Migrate %1$d%2$s mangas?</string> <string name="confirm_migration">Migrate %1$d%2$s manga?</string>
<string name="confirm_copy">Copy %1$d%2$s mangas?</string> <string name="confirm_copy">Copy %1$d%2$s manga?</string>
<string name="skipping_x">(skipping %1$d)</string> <string name="skipping_x">(skipping %1$d)</string>
<string name="no_migrations">No manga migrated</string> <string name="x_migrations">%1$s manga migrated</string>
<string name="no">No</string>
<string name="error_fetching_migration">No chapters found, this manga cannot be used for <string name="error_fetching_migration">No chapters found, this manga cannot be used for
migration</string> migration</string>
<string name="no_alternatives_found">No Alternatives Found</string> <string name="no_alternatives_found">No Alternatives Found</string>
@ -571,6 +572,7 @@
<string name="migrate">Migrate</string> <string name="migrate">Migrate</string>
<string name="copy">Copy</string> <string name="copy">Copy</string>
<string name="migrating">Migrating…</string> <string name="migrating">Migrating…</string>
<string name="migration">Migration</string>
<string name="latest_x">Latest: %1$s</string> <string name="latest_x">Latest: %1$s</string>
<!-- Downloads activity and service --> <!-- Downloads activity and service -->
@ -667,7 +669,7 @@
<string name="use_most_chapters">Use source with the most chapters (slower)</string> <string name="use_most_chapters">Use source with the most chapters (slower)</string>
<string name="use_first_source">Use first source with alternative</string> <string name="use_first_source">Use first source with alternative</string>
<string name="skip_this_step_next_time">Skip this step next time</string> <string name="skip_this_step_next_time">Skip this step next time</string>
<string name="pre_migration_skip_toast">To show this screen again, go to Settings -> General.</string> <string name="pre_migration_skip_toast">To show this screen again, go to Settings -> Library.</string>
<!-- EXH --> <!-- EXH -->
<string name="label_login">Login</string> <string name="label_login">Login</string>