2017-05-05 05:38:17 +02:00
|
|
|
package exh
|
|
|
|
|
|
2019-04-22 06:34:43 +02:00
|
|
|
import eu.kanade.tachiyomi.source.Source
|
2019-04-06 13:35:36 +02:00
|
|
|
import eu.kanade.tachiyomi.source.SourceManager
|
2019-04-06 14:16:48 +02:00
|
|
|
import eu.kanade.tachiyomi.source.online.english.HentaiCafe
|
2019-04-06 13:35:36 +02:00
|
|
|
|
2017-05-05 05:38:17 +02:00
|
|
|
/**
|
|
|
|
|
* Source helpers
|
|
|
|
|
*/
|
|
|
|
|
|
2019-04-12 09:12:16 +02:00
|
|
|
// Lewd source IDs
|
2018-03-13 20:21:31 +01:00
|
|
|
const val LEWD_SOURCE_SERIES = 6900L
|
|
|
|
|
const val EH_SOURCE_ID = LEWD_SOURCE_SERIES + 1
|
|
|
|
|
const val EXH_SOURCE_ID = LEWD_SOURCE_SERIES + 2
|
|
|
|
|
const val PERV_EDEN_EN_SOURCE_ID = LEWD_SOURCE_SERIES + 5
|
|
|
|
|
const val PERV_EDEN_IT_SOURCE_ID = LEWD_SOURCE_SERIES + 6
|
|
|
|
|
const val NHENTAI_SOURCE_ID = LEWD_SOURCE_SERIES + 7
|
2019-04-12 09:12:16 +02:00
|
|
|
val HENTAI_CAFE_SOURCE_ID = delegatedSourceId<HentaiCafe>()
|
2018-03-13 20:21:31 +01:00
|
|
|
const val TSUMINO_SOURCE_ID = LEWD_SOURCE_SERIES + 9
|
|
|
|
|
const val HITOMI_SOURCE_ID = LEWD_SOURCE_SERIES + 10
|
2017-12-08 04:25:27 +01:00
|
|
|
|
2019-04-12 09:12:16 +02:00
|
|
|
private val DELEGATED_LEWD_SOURCES = listOf(
|
|
|
|
|
HentaiCafe::class
|
|
|
|
|
)
|
2017-05-05 05:38:17 +02:00
|
|
|
|
2019-04-12 09:12:16 +02:00
|
|
|
private inline fun <reified T> delegatedSourceId(): Long {
|
|
|
|
|
return SourceManager.DELEGATED_SOURCES.entries.find {
|
|
|
|
|
it.value.newSourceClass == T::class
|
|
|
|
|
}!!.value.sourceId
|
|
|
|
|
}
|
2017-05-05 05:38:17 +02:00
|
|
|
|
2019-04-12 12:50:24 +02:00
|
|
|
// Used to speed up isLewdSource
|
|
|
|
|
private val lewdDelegatedSourceIds = SourceManager.DELEGATED_SOURCES.filter {
|
2019-04-12 09:12:16 +02:00
|
|
|
it.value.newSourceClass in DELEGATED_LEWD_SOURCES
|
2019-04-12 12:50:24 +02:00
|
|
|
}.map { it.value.sourceId }.sorted()
|
|
|
|
|
|
|
|
|
|
// This method MUST be fast!
|
|
|
|
|
fun isLewdSource(source: Long) = source in 6900..6999
|
|
|
|
|
|| lewdDelegatedSourceIds.binarySearch(source) >= 0
|
2019-04-22 06:34:43 +02:00
|
|
|
|
|
|
|
|
fun Source.isEhBasedSource() = id == EH_SOURCE_ID || id == EXH_SOURCE_ID
|