Delegate Mangadex (Part 1)

This commit is contained in:
Jobobby04 2020-08-19 18:20:05 -04:00
parent 9efb1482f9
commit 64bb34b50d
3 changed files with 12 additions and 9 deletions

View File

@ -11,6 +11,7 @@ import eu.kanade.tachiyomi.source.model.SManga
import eu.kanade.tachiyomi.source.online.HttpSource
import eu.kanade.tachiyomi.source.online.all.EHentai
import eu.kanade.tachiyomi.source.online.all.Hitomi
import eu.kanade.tachiyomi.source.online.all.MangaDex
import eu.kanade.tachiyomi.source.online.all.MergedSource
import eu.kanade.tachiyomi.source.online.all.NHentai
import eu.kanade.tachiyomi.source.online.all.PervEden
@ -191,14 +192,14 @@ open class SourceManager(private val context: Context) {
TSUMINO_SOURCE_ID,
"eu.kanade.tachiyomi.extension.en.tsumino.Tsumino",
Tsumino::class
)/*,
),
DelegatedSource(
"MangaDex",
fillInSourceId,
"eu.kanade.tachiyomi.extension.all.mangadex",
MangaDex::class,
true
)*/,
),
DelegatedSource(
"HBrowse",
HBROWSE_SOURCE_ID,

View File

@ -2,8 +2,6 @@ package eu.kanade.tachiyomi.source.online.all
import android.content.Context
import android.net.Uri
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.source.ConfigurableSource
import eu.kanade.tachiyomi.source.model.FilterList
import eu.kanade.tachiyomi.source.model.MangasPage
import eu.kanade.tachiyomi.source.online.HttpSource
@ -14,8 +12,8 @@ import rx.Observable
class MangaDex(delegate: HttpSource, val context: Context) :
DelegatedHttpSource(delegate),
ConfigurableSource,
UrlImportableSource {
override val lang: String = delegate.lang
override val matchingHosts: List<String> = listOf("mangadex.org", "www.mangadex.org")
@ -33,8 +31,4 @@ class MangaDex(delegate: HttpSource, val context: Context) :
null
}
}
override val lang: String get() = delegate.lang
override fun setupPreferenceScreen(screen: PreferenceScreen) = (delegate as ConfigurableSource).setupPreferenceScreen(screen)
}

View File

@ -3,6 +3,7 @@ package exh
import eu.kanade.tachiyomi.source.Source
import eu.kanade.tachiyomi.source.SourceManager
import eu.kanade.tachiyomi.source.online.all.Hitomi
import eu.kanade.tachiyomi.source.online.all.MangaDex
import eu.kanade.tachiyomi.source.online.all.NHentai
import eu.kanade.tachiyomi.source.online.all.PervEden
import eu.kanade.tachiyomi.source.online.english.EightMuses
@ -41,6 +42,7 @@ private val DELEGATED_LEWD_SOURCES = listOf(
private val hitomiClass = listOf(Hitomi::class)
private val nHentaiClass = listOf(NHentai::class)
private val mangaDexClass = listOf(MangaDex::class)
// Used to speed up isLewdSource
val lewdDelegatedSourceIds by lazy {
@ -61,6 +63,12 @@ val nHentaiSourceIds by lazy {
}.map { it.value.sourceId }.sorted()
}
val mangaDexSourceIds by lazy {
SourceManager.currentDelegatedSources.filter {
it.value.newSourceClass in mangaDexClass
}.map { it.value.sourceId }.sorted()
}
// This method MUST be fast!
fun isLewdSource(source: Long) = source in 6900..6999 ||
lewdDelegatedSourceIds.binarySearch(source) >= 0