Now really fix internal sources download badges not showing up, plus some refactoring and testing debug functions

This commit is contained in:
Jobobby04 2020-07-30 15:56:18 -04:00
parent e338bb0f47
commit ff48e89161
4 changed files with 21 additions and 12 deletions

View File

@ -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()

View File

@ -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 -->

View File

@ -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 = ""

View File

@ -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)