From 4bd88fa19412a1eed99b801b8e0c75df0d2e170c Mon Sep 17 00:00:00 2001 From: Jobobby04 Date: Wed, 30 Sep 2020 18:26:56 -0400 Subject: [PATCH] Add source categories removing the source in the language as a option --- .../eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt | 2 ++ .../kanade/tachiyomi/data/preference/PreferencesHelper.kt | 2 ++ .../eu/kanade/tachiyomi/ui/browse/source/SourcePresenter.kt | 6 +++++- .../kanade/tachiyomi/ui/setting/SettingsBrowseController.kt | 6 ++++++ app/src/main/res/values/strings_sy.xml | 2 ++ 5 files changed, 17 insertions(+), 1 deletion(-) 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 ed834d8da..f14f31dce 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 @@ -283,6 +283,8 @@ object PreferenceKeys { const val sources_tab_categories = "sources_tab_categories" + const val sources_tab_categories_filter = "sources_tab_categories_filter" + const val sources_tab_source_categories = "sources_tab_source_categories" const val sourcesSort = "sources_sort" 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 5525fcd99..d35ddba03 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 @@ -403,6 +403,8 @@ class PreferencesHelper(val context: Context) { fun sourcesTabCategories() = flowPrefs.getStringSet(Keys.sources_tab_categories, mutableSetOf()) + fun sourcesTabCategoriesFilter() = flowPrefs.getBoolean(Keys.sources_tab_categories_filter, false) + fun sourcesTabSourcesInCategories() = flowPrefs.getStringSet(Keys.sources_tab_source_categories, mutableSetOf()) fun sourceSorting() = flowPrefs.getInt(Keys.sourcesSort, 0) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcePresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcePresenter.kt index 830d5819d..306c97310 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcePresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcePresenter.kt @@ -73,7 +73,7 @@ class SourcePresenter( val sourcesAndCategoriesCombined = preferences.sourcesTabSourcesInCategories().get() val sourcesAndCategories = if (sourcesAndCategoriesCombined.isNotEmpty()) sourcesAndCategoriesCombined.map { val temp = it.split("|") - Pair(temp[0], temp[1]) + temp[0] to temp[1] } else null val sourcesInCategories = sourcesAndCategories?.map { it.first } @@ -126,6 +126,10 @@ class SourcePresenter( } } + if (preferences.sourcesTabCategoriesFilter().get()) { + sourcesInCategories?.let { sourcesIds -> sourceItems = sourceItems.filterNot { it.source.id.toString() in sourcesIds } } + } + // SY --> categories.forEach { sourceItems = it.sources.sortedBy { sourceItem -> sourceItem.source.name.toLowerCase() } + sourceItems diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsBrowseController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsBrowseController.kt index 672eca8dc..42b23619e 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsBrowseController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsBrowseController.kt @@ -35,6 +35,12 @@ class SettingsBrowseController : SettingsController() { router.pushController(SourceCategoryController().withFadeTransaction()) } } + switchPreference { + key = Keys.sources_tab_categories_filter + titleRes = R.string.pref_source_source_filtering + summaryRes = R.string.pref_source_source_filtering_summery + defaultValue = false + } switchPreference { key = Keys.useNewSourceNavigation titleRes = R.string.pref_source_navigation diff --git a/app/src/main/res/values/strings_sy.xml b/app/src/main/res/values/strings_sy.xml index 7280074b3..1ba47fd53 100644 --- a/app/src/main/res/values/strings_sy.xml +++ b/app/src/main/res/values/strings_sy.xml @@ -179,6 +179,8 @@ Display language code next to name Latest tab position Do you want the latest tab to be the first tab in browse? This will make it the default tab when opening browse, not recommended if your on data or a metered network + Filter sources in categories + Filter the sources that are in categories, making the sources not get put under the language if they are in a category Replace latest button Replace latest button with a custom browse view that includes both latest and browse Local source hidden folders