diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt b/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt index 1dd1b390120b..85b65456774d 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt @@ -7,7 +7,6 @@ import eu.kanade.tachiyomi.data.database.models.Chapter import eu.kanade.tachiyomi.data.database.models.Manga import eu.kanade.tachiyomi.data.preference.PreferencesHelper import eu.kanade.tachiyomi.source.SourceManager -import exh.source.BlacklistedSources import java.util.concurrent.TimeUnit import kotlinx.coroutines.flow.onEach import uy.kohesive.injekt.Injekt @@ -124,9 +123,7 @@ class DownloadCache( */ private fun renew() { // SY --> - val onlineSources = sourceManager.getOnlineSources().filter { - it.id !in BlacklistedSources.HIDDEN_SOURCES - } + val onlineSources = sourceManager.getVisibleOnlineSources() // SY <-- val sourceDirs = rootDir.dir.listFiles() diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt b/app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt index b0fb30d37862..ed5409eb9c03 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt @@ -4,6 +4,7 @@ import android.content.Context import com.elvishew.xlog.XLog import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.preference.PreferencesHelper +import eu.kanade.tachiyomi.data.preference.asImmediateFlow import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga @@ -31,7 +32,6 @@ import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job import kotlinx.coroutines.flow.launchIn -import kotlinx.coroutines.flow.onEach import rx.Observable import uy.kohesive.injekt.injectLazy @@ -52,7 +52,7 @@ open class SourceManager(private val context: Context) { // SY --> // Recreate sources when they change - prefs.enableExhentai().asFlow().onEach { + prefs.enableExhentai().asImmediateFlow { createEHSources().forEach { registerSource(it) } }.launchIn(scope) @@ -72,6 +72,10 @@ open class SourceManager(private val context: Context) { fun getOnlineSources() = sourcesMap.values.filterIsInstance() + fun getVisibleOnlineSources() = sourcesMap.values.filterIsInstance().filter { + it.id !in BlacklistedSources.HIDDEN_SOURCES + } + fun getCatalogueSources() = sourcesMap.values.filterIsInstance() // SY --> diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceFilterController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceFilterController.kt index dddf5ea943f4..2adce416a009 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceFilterController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceFilterController.kt @@ -20,7 +20,6 @@ import eu.kanade.tachiyomi.util.preference.switchPreferenceCategory import eu.kanade.tachiyomi.util.preference.titleRes import eu.kanade.tachiyomi.util.system.LocaleHelper import eu.kanade.tachiyomi.widget.preference.SwitchPreferenceCategory -import exh.source.BlacklistedSources import java.util.TreeMap import kotlinx.coroutines.flow.filter import kotlinx.coroutines.flow.launchIn @@ -36,9 +35,7 @@ class SourceFilterController : SettingsController() { } private val onlineSources by lazy { - Injekt.get().getOnlineSources().filter { - it.id !in BlacklistedSources.HIDDEN_SOURCES - } + Injekt.get().getVisibleOnlineSources() } private var query = "" diff --git a/app/src/main/java/exh/debug/DebugFunctions.kt b/app/src/main/java/exh/debug/DebugFunctions.kt index 763db443a31f..d6b9b73d9eb6 100644 --- a/app/src/main/java/exh/debug/DebugFunctions.kt +++ b/app/src/main/java/exh/debug/DebugFunctions.kt @@ -179,9 +179,20 @@ object DebugFunctions { fun clearSavedSearches() = prefs.eh_savedSearches().set(emptySet()) - fun listAllSources() = sourceManager.getCatalogueSources().map { + fun listAllSources() = sourceManager.getCatalogueSources().joinToString("\n") { "${it.id}: ${it.name} (${it.lang.toUpperCase()})" - }.joinToString("\n") + } + + fun listFilteredSources() = sourceManager.getVisibleCatalogueSources().joinToString("\n") { + "${it.id}: ${it.name} (${it.lang.toUpperCase()})" + } + + fun listAllHttpSources() = sourceManager.getOnlineSources().joinToString("\n") { + "${it.id}: ${it.name} (${it.lang.toUpperCase()})" + } + fun listFilteredHttpSources() = sourceManager.getVisibleOnlineSources().joinToString("\n") { + "${it.id}: ${it.name} (${it.lang.toUpperCase()})" + } fun convertAllEhentaiGalleriesToExhentai() = convertSources(EH_SOURCE_ID, EXH_SOURCE_ID)