From c123df46377b11075acad700f803747d24fe2d6f Mon Sep 17 00:00:00 2001 From: simakover Date: Tue, 29 Jun 2021 09:06:55 +0500 Subject: [PATCH] Add Migrate button marginTop and implement Hide not found manga for mass migration (#372) * Add Migrate button marginTop and implement Hide not found manga in mass migration * if else change * move variable to adapter * horizontal scroll view for checkboxes in migration_bottom_sheet.xml --- .../data/preference/PreferenceKeys.kt | 2 + .../data/preference/PreferencesHelper.kt | 2 + .../design/MigrationBottomSheetDialog.kt | 2 + .../process/MigrationListController.kt | 4 +- .../process/MigrationProcessAdapter.kt | 2 + .../process/MigrationProcessHolder.kt | 10 +- .../res/layout/migration_bottom_sheet.xml | 109 ++++++++++-------- app/src/main/res/values/strings_sy.xml | 1 + 8 files changed, 82 insertions(+), 50 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt index 2b02e3f9c..55e534fe9 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt @@ -236,6 +236,8 @@ object PreferenceKeys { const val skipPreMigration = "skip_pre_migration" + const val hideNotFoundMigration = "hide_not_found_migration" + const val eh_showSyncIntro = "eh_show_sync_intro" const val eh_readOnlySync = "eh_sync_read_only" diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt index 8ffd10337..5576195d1 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt @@ -356,6 +356,8 @@ class PreferencesHelper(val context: Context) { fun skipPreMigration() = flowPrefs.getBoolean(Keys.skipPreMigration, false) + fun hideNotFoundMigration() = flowPrefs.getBoolean(Keys.hideNotFoundMigration, false) + fun isHentaiEnabled() = flowPrefs.getBoolean(Keys.eh_is_hentai_enabled, true) fun enableExhentai() = flowPrefs.getBoolean(Keys.eh_enableExHentai, false) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/design/MigrationBottomSheetDialog.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/design/MigrationBottomSheetDialog.kt index d804134a9..aa3435820 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/design/MigrationBottomSheetDialog.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/design/MigrationBottomSheetDialog.kt @@ -39,6 +39,7 @@ class MigrationBottomSheetDialog(activity: Activity, private val listener: Start binding.fab.setOnClickListener { preferences.skipPreMigration().set(binding.skipStep.isChecked) + preferences.hideNotFoundMigration().set(binding.HideNotFoundManga.isChecked) listener.startMigration( if (binding.useSmartSearch.isChecked && binding.extraSearchParamText.text.isNotBlank()) { binding.extraSearchParamText.toString() @@ -72,6 +73,7 @@ class MigrationBottomSheetDialog(activity: Activity, private val listener: Start binding.sourceGroup.bindToPreference(preferences.useSourceWithMost()) binding.skipStep.isChecked = preferences.skipPreMigration().get() + binding.HideNotFoundManga.isChecked = preferences.hideNotFoundMigration().get() binding.skipStep.setOnCheckedChangeListener { _, isChecked -> if (isChecked) { (listener as? Controller)?.activity?.toast( diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationListController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationListController.kt index af93bfc08..c1cac0ef4 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationListController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationListController.kt @@ -312,7 +312,9 @@ class MigrationListController(bundle: Bundle? = null) : ) ) } - router.popCurrentController() + if (adapter?.hideNotFound == false) { + router.popCurrentController() + } } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationProcessAdapter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationProcessAdapter.kt index 111defcb4..180449aca 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationProcessAdapter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationProcessAdapter.kt @@ -23,6 +23,8 @@ class MigrationProcessAdapter( val menuItemListener: MigrationProcessInterface = controller + val hideNotFound = preferences.hideNotFoundMigration().get() + override fun updateDataSet(items: List?) { this.items = items.orEmpty() super.updateDataSet(items) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationProcessHolder.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationProcessHolder.kt index fc8c559c6..67659d87e 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationProcessHolder.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationProcessHolder.kt @@ -113,9 +113,13 @@ class MigrationProcessHolder( } .launchIn(adapter.controller.viewScope) } else { - binding.migrationMangaCardTo.loadingGroup.isVisible = false - binding.migrationMangaCardTo.title.text = view.context.applicationContext - .getString(R.string.no_alternatives_found) + if (adapter.hideNotFound) { + adapter.removeManga(bindingAdapterPosition) + } else { + binding.migrationMangaCardTo.loadingGroup.isVisible = false + binding.migrationMangaCardTo.title.text = view.context.applicationContext + .getString(R.string.no_alternatives_found) + } } binding.migrationMenu.isVisible = true binding.skipManga.isVisible = false diff --git a/app/src/main/res/layout/migration_bottom_sheet.xml b/app/src/main/res/layout/migration_bottom_sheet.xml index 3cdb028cd..57030635a 100644 --- a/app/src/main/res/layout/migration_bottom_sheet.xml +++ b/app/src/main/res/layout/migration_bottom_sheet.xml @@ -24,67 +24,72 @@ android:id="@+id/data_label" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginStart="8dp" + android:layout_marginStart="6dp" android:layout_marginTop="8dp" android:text="@string/data_to_include_in_migration" android:textAppearance="@style/TextAppearance.Medium.Body2" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> - - - - - - - + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/data_label"> + + + + + + + + + + + + + app:layout_constraintStart_toStartOf="@+id/migration_data_scrollView" + app:layout_constraintTop_toBottomOf="@+id/migration_data_scrollView" /> + + Use source with the most chapters (slower) Use first source with alternative Skip this step next time + Hide not found manga Search parameter (e.g. language:english) Latest: %1$s migrating to