Now really fix internal sources download badges not showing up, plus some refactoring and testing debug functions
This commit is contained in:
parent
e338bb0f47
commit
ff48e89161
@ -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()
|
||||
|
@ -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<HttpSource>()
|
||||
|
||||
fun getVisibleOnlineSources() = sourcesMap.values.filterIsInstance<HttpSource>().filter {
|
||||
it.id !in BlacklistedSources.HIDDEN_SOURCES
|
||||
}
|
||||
|
||||
fun getCatalogueSources() = sourcesMap.values.filterIsInstance<CatalogueSource>()
|
||||
|
||||
// SY -->
|
||||
|
@ -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<SourceManager>().getOnlineSources().filter {
|
||||
it.id !in BlacklistedSources.HIDDEN_SOURCES
|
||||
}
|
||||
Injekt.get<SourceManager>().getVisibleOnlineSources()
|
||||
}
|
||||
|
||||
private var query = ""
|
||||
|
@ -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)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user