Lazily instantiate some variables in EHSourceHelpers

This commit is contained in:
Jobobby04 2020-08-12 14:20:32 -04:00
parent 2ab0927313
commit 3e1804da8a

View File

@ -43,23 +43,30 @@ private val hitomiClass = listOf(Hitomi::class)
private val nHentaiClass = listOf(NHentai::class) private val nHentaiClass = listOf(NHentai::class)
// Used to speed up isLewdSource // Used to speed up isLewdSource
val lewdDelegatedSourceIds = SourceManager.currentDelegatedSources.filter { val lewdDelegatedSourceIds by lazy {
SourceManager.currentDelegatedSources.filter {
it.value.newSourceClass in DELEGATED_LEWD_SOURCES it.value.newSourceClass in DELEGATED_LEWD_SOURCES
}.map { it.value.sourceId }.sorted() }.map { it.value.sourceId }.sorted()
}
val hitomiSourceIds = SourceManager.currentDelegatedSources.filter { val hitomiSourceIds by lazy {
SourceManager.currentDelegatedSources.filter {
it.value.newSourceClass in hitomiClass it.value.newSourceClass in hitomiClass
}.map { it.value.sourceId }.sorted() }.map { it.value.sourceId }.sorted()
}
val nHentaiSourceIds = SourceManager.currentDelegatedSources.filter { val nHentaiSourceIds by lazy {
SourceManager.currentDelegatedSources.filter {
it.value.newSourceClass in nHentaiClass it.value.newSourceClass in nHentaiClass
}.map { it.value.sourceId }.sorted() }.map { it.value.sourceId }.sorted()
}
// This method MUST be fast! // This method MUST be fast!
fun isLewdSource(source: Long) = source in 6900..6999 || fun isLewdSource(source: Long) = source in 6900..6999 ||
lewdDelegatedSourceIds.binarySearch(source) >= 0 lewdDelegatedSourceIds.binarySearch(source) >= 0
val LIBRARY_UPDATE_EXCLUDED_SOURCES = listOf( val LIBRARY_UPDATE_EXCLUDED_SOURCES by lazy {
listOf(
EH_SOURCE_ID, EH_SOURCE_ID,
EXH_SOURCE_ID, EXH_SOURCE_ID,
HENTAI_CAFE_SOURCE_ID, HENTAI_CAFE_SOURCE_ID,
@ -67,7 +74,8 @@ val LIBRARY_UPDATE_EXCLUDED_SOURCES = listOf(
PURURIN_SOURCE_ID, PURURIN_SOURCE_ID,
*hitomiSourceIds.toTypedArray(), *hitomiSourceIds.toTypedArray(),
*nHentaiSourceIds.toTypedArray() *nHentaiSourceIds.toTypedArray()
) )
}
fun Source.isEhBasedSource() = id == EH_SOURCE_ID || id == EXH_SOURCE_ID fun Source.isEhBasedSource() = id == EH_SOURCE_ID || id == EXH_SOURCE_ID