Rename LewdSource to MetadataSource to account for that Metadata will not always be for lewd sources
This commit is contained in:
parent
64bb34b50d
commit
294ade035e
@ -22,7 +22,7 @@ import uy.kohesive.injekt.api.get
|
|||||||
/**
|
/**
|
||||||
* LEWD!
|
* LEWD!
|
||||||
*/
|
*/
|
||||||
interface LewdSource<M : RaisedSearchMetadata, I> : CatalogueSource {
|
interface MetadataSource<M : RaisedSearchMetadata, I> : CatalogueSource {
|
||||||
val db: DatabaseHelper get() = Injekt.get()
|
val db: DatabaseHelper get() = Injekt.get()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -111,13 +111,13 @@ interface LewdSource<M : RaisedSearchMetadata, I> : CatalogueSource {
|
|||||||
val SChapter.mangaId get() = (this as? Chapter)?.manga_id
|
val SChapter.mangaId get() = (this as? Chapter)?.manga_id
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun Source.isLewdSource() = (this is LewdSource<*, *> || (this is EnhancedHttpSource && this.enhancedSource is LewdSource<*, *>))
|
fun Source.isMetadataSource() = (this is MetadataSource<*, *> || (this is EnhancedHttpSource && this.enhancedSource is MetadataSource<*, *>))
|
||||||
|
|
||||||
fun Source.getLewdSource(): LewdSource<*, *>? {
|
fun Source.getMetadataSource(): MetadataSource<*, *>? {
|
||||||
return when {
|
return when {
|
||||||
!this.isLewdSource() -> null
|
!this.isMetadataSource() -> null
|
||||||
this is LewdSource<*, *> -> this
|
this is MetadataSource<*, *> -> this
|
||||||
this is EnhancedHttpSource && this.enhancedSource is LewdSource<*, *> -> this.enhancedSource
|
this is EnhancedHttpSource && this.enhancedSource is MetadataSource<*, *> -> this.enhancedSource
|
||||||
else -> null
|
else -> null
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -25,7 +25,7 @@ import eu.kanade.tachiyomi.source.model.Page
|
|||||||
import eu.kanade.tachiyomi.source.model.SChapter
|
import eu.kanade.tachiyomi.source.model.SChapter
|
||||||
import eu.kanade.tachiyomi.source.model.SManga
|
import eu.kanade.tachiyomi.source.model.SManga
|
||||||
import eu.kanade.tachiyomi.source.online.HttpSource
|
import eu.kanade.tachiyomi.source.online.HttpSource
|
||||||
import eu.kanade.tachiyomi.source.online.LewdSource
|
import eu.kanade.tachiyomi.source.online.MetadataSource
|
||||||
import eu.kanade.tachiyomi.source.online.UrlImportableSource
|
import eu.kanade.tachiyomi.source.online.UrlImportableSource
|
||||||
import eu.kanade.tachiyomi.ui.manga.MangaController
|
import eu.kanade.tachiyomi.ui.manga.MangaController
|
||||||
import eu.kanade.tachiyomi.util.asJsoup
|
import eu.kanade.tachiyomi.util.asJsoup
|
||||||
@ -77,7 +77,7 @@ class EHentai(
|
|||||||
override val id: Long,
|
override val id: Long,
|
||||||
val exh: Boolean,
|
val exh: Boolean,
|
||||||
val context: Context
|
val context: Context
|
||||||
) : HttpSource(), LewdSource<EHentaiSearchMetadata, Document>, UrlImportableSource {
|
) : HttpSource(), MetadataSource<EHentaiSearchMetadata, Document>, UrlImportableSource {
|
||||||
override val metaClass = EHentaiSearchMetadata::class
|
override val metaClass = EHentaiSearchMetadata::class
|
||||||
|
|
||||||
private val domain: String
|
private val domain: String
|
||||||
|
@ -8,7 +8,7 @@ import eu.kanade.tachiyomi.source.model.FilterList
|
|||||||
import eu.kanade.tachiyomi.source.model.MangasPage
|
import eu.kanade.tachiyomi.source.model.MangasPage
|
||||||
import eu.kanade.tachiyomi.source.model.SManga
|
import eu.kanade.tachiyomi.source.model.SManga
|
||||||
import eu.kanade.tachiyomi.source.online.HttpSource
|
import eu.kanade.tachiyomi.source.online.HttpSource
|
||||||
import eu.kanade.tachiyomi.source.online.LewdSource
|
import eu.kanade.tachiyomi.source.online.MetadataSource
|
||||||
import eu.kanade.tachiyomi.source.online.UrlImportableSource
|
import eu.kanade.tachiyomi.source.online.UrlImportableSource
|
||||||
import eu.kanade.tachiyomi.ui.manga.MangaController
|
import eu.kanade.tachiyomi.ui.manga.MangaController
|
||||||
import eu.kanade.tachiyomi.util.asJsoup
|
import eu.kanade.tachiyomi.util.asJsoup
|
||||||
@ -25,7 +25,7 @@ import rx.Observable
|
|||||||
|
|
||||||
class Hitomi(delegate: HttpSource, val context: Context) :
|
class Hitomi(delegate: HttpSource, val context: Context) :
|
||||||
DelegatedHttpSource(delegate),
|
DelegatedHttpSource(delegate),
|
||||||
LewdSource<HitomiSearchMetadata, Document>,
|
MetadataSource<HitomiSearchMetadata, Document>,
|
||||||
UrlImportableSource {
|
UrlImportableSource {
|
||||||
override val metaClass = HitomiSearchMetadata::class
|
override val metaClass = HitomiSearchMetadata::class
|
||||||
override val lang = if (id == otherId) "all" else delegate.lang
|
override val lang = if (id == otherId) "all" else delegate.lang
|
||||||
|
@ -13,7 +13,7 @@ import eu.kanade.tachiyomi.source.model.FilterList
|
|||||||
import eu.kanade.tachiyomi.source.model.MangasPage
|
import eu.kanade.tachiyomi.source.model.MangasPage
|
||||||
import eu.kanade.tachiyomi.source.model.SManga
|
import eu.kanade.tachiyomi.source.model.SManga
|
||||||
import eu.kanade.tachiyomi.source.online.HttpSource
|
import eu.kanade.tachiyomi.source.online.HttpSource
|
||||||
import eu.kanade.tachiyomi.source.online.LewdSource
|
import eu.kanade.tachiyomi.source.online.MetadataSource
|
||||||
import eu.kanade.tachiyomi.source.online.UrlImportableSource
|
import eu.kanade.tachiyomi.source.online.UrlImportableSource
|
||||||
import eu.kanade.tachiyomi.ui.manga.MangaController
|
import eu.kanade.tachiyomi.ui.manga.MangaController
|
||||||
import exh.metadata.metadata.NHentaiSearchMetadata
|
import exh.metadata.metadata.NHentaiSearchMetadata
|
||||||
@ -27,7 +27,7 @@ import rx.Observable
|
|||||||
|
|
||||||
class NHentai(delegate: HttpSource, val context: Context) :
|
class NHentai(delegate: HttpSource, val context: Context) :
|
||||||
DelegatedHttpSource(delegate),
|
DelegatedHttpSource(delegate),
|
||||||
LewdSource<NHentaiSearchMetadata, Response>,
|
MetadataSource<NHentaiSearchMetadata, Response>,
|
||||||
UrlImportableSource {
|
UrlImportableSource {
|
||||||
override val metaClass = NHentaiSearchMetadata::class
|
override val metaClass = NHentaiSearchMetadata::class
|
||||||
override val lang = if (id == otherId) "all" else delegate.lang
|
override val lang = if (id == otherId) "all" else delegate.lang
|
||||||
|
@ -7,7 +7,7 @@ import eu.kanade.tachiyomi.source.model.FilterList
|
|||||||
import eu.kanade.tachiyomi.source.model.MangasPage
|
import eu.kanade.tachiyomi.source.model.MangasPage
|
||||||
import eu.kanade.tachiyomi.source.model.SManga
|
import eu.kanade.tachiyomi.source.model.SManga
|
||||||
import eu.kanade.tachiyomi.source.online.HttpSource
|
import eu.kanade.tachiyomi.source.online.HttpSource
|
||||||
import eu.kanade.tachiyomi.source.online.LewdSource
|
import eu.kanade.tachiyomi.source.online.MetadataSource
|
||||||
import eu.kanade.tachiyomi.source.online.UrlImportableSource
|
import eu.kanade.tachiyomi.source.online.UrlImportableSource
|
||||||
import eu.kanade.tachiyomi.ui.manga.MangaController
|
import eu.kanade.tachiyomi.ui.manga.MangaController
|
||||||
import eu.kanade.tachiyomi.util.asJsoup
|
import eu.kanade.tachiyomi.util.asJsoup
|
||||||
@ -24,7 +24,7 @@ import rx.Observable
|
|||||||
|
|
||||||
class PervEden(delegate: HttpSource, val context: Context) :
|
class PervEden(delegate: HttpSource, val context: Context) :
|
||||||
DelegatedHttpSource(delegate),
|
DelegatedHttpSource(delegate),
|
||||||
LewdSource<PervEdenSearchMetadata, Document>,
|
MetadataSource<PervEdenSearchMetadata, Document>,
|
||||||
UrlImportableSource {
|
UrlImportableSource {
|
||||||
override val metaClass = PervEdenSearchMetadata::class
|
override val metaClass = PervEdenSearchMetadata::class
|
||||||
override val lang = delegate.lang
|
override val lang = delegate.lang
|
||||||
|
@ -7,7 +7,7 @@ import eu.kanade.tachiyomi.source.model.FilterList
|
|||||||
import eu.kanade.tachiyomi.source.model.MangasPage
|
import eu.kanade.tachiyomi.source.model.MangasPage
|
||||||
import eu.kanade.tachiyomi.source.model.SManga
|
import eu.kanade.tachiyomi.source.model.SManga
|
||||||
import eu.kanade.tachiyomi.source.online.HttpSource
|
import eu.kanade.tachiyomi.source.online.HttpSource
|
||||||
import eu.kanade.tachiyomi.source.online.LewdSource
|
import eu.kanade.tachiyomi.source.online.MetadataSource
|
||||||
import eu.kanade.tachiyomi.source.online.UrlImportableSource
|
import eu.kanade.tachiyomi.source.online.UrlImportableSource
|
||||||
import eu.kanade.tachiyomi.ui.manga.MangaController
|
import eu.kanade.tachiyomi.ui.manga.MangaController
|
||||||
import eu.kanade.tachiyomi.util.asJsoup
|
import eu.kanade.tachiyomi.util.asJsoup
|
||||||
@ -22,7 +22,7 @@ import rx.Observable
|
|||||||
|
|
||||||
class EightMuses(delegate: HttpSource, val context: Context) :
|
class EightMuses(delegate: HttpSource, val context: Context) :
|
||||||
DelegatedHttpSource(delegate),
|
DelegatedHttpSource(delegate),
|
||||||
LewdSource<EightMusesSearchMetadata, Document>,
|
MetadataSource<EightMusesSearchMetadata, Document>,
|
||||||
UrlImportableSource {
|
UrlImportableSource {
|
||||||
override val metaClass = EightMusesSearchMetadata::class
|
override val metaClass = EightMusesSearchMetadata::class
|
||||||
override val lang = "en"
|
override val lang = "en"
|
||||||
|
@ -7,7 +7,7 @@ import eu.kanade.tachiyomi.source.model.FilterList
|
|||||||
import eu.kanade.tachiyomi.source.model.MangasPage
|
import eu.kanade.tachiyomi.source.model.MangasPage
|
||||||
import eu.kanade.tachiyomi.source.model.SManga
|
import eu.kanade.tachiyomi.source.model.SManga
|
||||||
import eu.kanade.tachiyomi.source.online.HttpSource
|
import eu.kanade.tachiyomi.source.online.HttpSource
|
||||||
import eu.kanade.tachiyomi.source.online.LewdSource
|
import eu.kanade.tachiyomi.source.online.MetadataSource
|
||||||
import eu.kanade.tachiyomi.source.online.UrlImportableSource
|
import eu.kanade.tachiyomi.source.online.UrlImportableSource
|
||||||
import eu.kanade.tachiyomi.ui.manga.MangaController
|
import eu.kanade.tachiyomi.ui.manga.MangaController
|
||||||
import eu.kanade.tachiyomi.util.asJsoup
|
import eu.kanade.tachiyomi.util.asJsoup
|
||||||
@ -22,7 +22,7 @@ import rx.Observable
|
|||||||
|
|
||||||
class HBrowse(delegate: HttpSource, val context: Context) :
|
class HBrowse(delegate: HttpSource, val context: Context) :
|
||||||
DelegatedHttpSource(delegate),
|
DelegatedHttpSource(delegate),
|
||||||
LewdSource<HBrowseSearchMetadata, Document>,
|
MetadataSource<HBrowseSearchMetadata, Document>,
|
||||||
UrlImportableSource {
|
UrlImportableSource {
|
||||||
override val metaClass = HBrowseSearchMetadata::class
|
override val metaClass = HBrowseSearchMetadata::class
|
||||||
override val lang = "en"
|
override val lang = "en"
|
||||||
|
@ -7,7 +7,7 @@ import eu.kanade.tachiyomi.source.model.FilterList
|
|||||||
import eu.kanade.tachiyomi.source.model.SChapter
|
import eu.kanade.tachiyomi.source.model.SChapter
|
||||||
import eu.kanade.tachiyomi.source.model.SManga
|
import eu.kanade.tachiyomi.source.model.SManga
|
||||||
import eu.kanade.tachiyomi.source.online.HttpSource
|
import eu.kanade.tachiyomi.source.online.HttpSource
|
||||||
import eu.kanade.tachiyomi.source.online.LewdSource
|
import eu.kanade.tachiyomi.source.online.MetadataSource
|
||||||
import eu.kanade.tachiyomi.source.online.UrlImportableSource
|
import eu.kanade.tachiyomi.source.online.UrlImportableSource
|
||||||
import eu.kanade.tachiyomi.ui.manga.MangaController
|
import eu.kanade.tachiyomi.ui.manga.MangaController
|
||||||
import eu.kanade.tachiyomi.util.asJsoup
|
import eu.kanade.tachiyomi.util.asJsoup
|
||||||
@ -24,7 +24,7 @@ import rx.Observable
|
|||||||
|
|
||||||
class HentaiCafe(delegate: HttpSource, val context: Context) :
|
class HentaiCafe(delegate: HttpSource, val context: Context) :
|
||||||
DelegatedHttpSource(delegate),
|
DelegatedHttpSource(delegate),
|
||||||
LewdSource<HentaiCafeSearchMetadata, Document>,
|
MetadataSource<HentaiCafeSearchMetadata, Document>,
|
||||||
UrlImportableSource {
|
UrlImportableSource {
|
||||||
/**
|
/**
|
||||||
* An ISO 639-1 compliant language code (two letters in lower case).
|
* An ISO 639-1 compliant language code (two letters in lower case).
|
||||||
|
@ -7,7 +7,7 @@ import eu.kanade.tachiyomi.source.model.FilterList
|
|||||||
import eu.kanade.tachiyomi.source.model.MangasPage
|
import eu.kanade.tachiyomi.source.model.MangasPage
|
||||||
import eu.kanade.tachiyomi.source.model.SManga
|
import eu.kanade.tachiyomi.source.model.SManga
|
||||||
import eu.kanade.tachiyomi.source.online.HttpSource
|
import eu.kanade.tachiyomi.source.online.HttpSource
|
||||||
import eu.kanade.tachiyomi.source.online.LewdSource
|
import eu.kanade.tachiyomi.source.online.MetadataSource
|
||||||
import eu.kanade.tachiyomi.source.online.UrlImportableSource
|
import eu.kanade.tachiyomi.source.online.UrlImportableSource
|
||||||
import eu.kanade.tachiyomi.ui.manga.MangaController
|
import eu.kanade.tachiyomi.ui.manga.MangaController
|
||||||
import eu.kanade.tachiyomi.util.asJsoup
|
import eu.kanade.tachiyomi.util.asJsoup
|
||||||
@ -24,7 +24,7 @@ import rx.Observable
|
|||||||
|
|
||||||
class Pururin(delegate: HttpSource, val context: Context) :
|
class Pururin(delegate: HttpSource, val context: Context) :
|
||||||
DelegatedHttpSource(delegate),
|
DelegatedHttpSource(delegate),
|
||||||
LewdSource<PururinSearchMetadata, Document>,
|
MetadataSource<PururinSearchMetadata, Document>,
|
||||||
UrlImportableSource {
|
UrlImportableSource {
|
||||||
/**
|
/**
|
||||||
* An ISO 639-1 compliant language code (two letters in lower case).
|
* An ISO 639-1 compliant language code (two letters in lower case).
|
||||||
|
@ -7,7 +7,7 @@ import eu.kanade.tachiyomi.source.model.FilterList
|
|||||||
import eu.kanade.tachiyomi.source.model.MangasPage
|
import eu.kanade.tachiyomi.source.model.MangasPage
|
||||||
import eu.kanade.tachiyomi.source.model.SManga
|
import eu.kanade.tachiyomi.source.model.SManga
|
||||||
import eu.kanade.tachiyomi.source.online.HttpSource
|
import eu.kanade.tachiyomi.source.online.HttpSource
|
||||||
import eu.kanade.tachiyomi.source.online.LewdSource
|
import eu.kanade.tachiyomi.source.online.MetadataSource
|
||||||
import eu.kanade.tachiyomi.source.online.UrlImportableSource
|
import eu.kanade.tachiyomi.source.online.UrlImportableSource
|
||||||
import eu.kanade.tachiyomi.ui.manga.MangaController
|
import eu.kanade.tachiyomi.ui.manga.MangaController
|
||||||
import eu.kanade.tachiyomi.util.asJsoup
|
import eu.kanade.tachiyomi.util.asJsoup
|
||||||
@ -27,7 +27,7 @@ import rx.Observable
|
|||||||
|
|
||||||
class Tsumino(delegate: HttpSource, val context: Context) :
|
class Tsumino(delegate: HttpSource, val context: Context) :
|
||||||
DelegatedHttpSource(delegate),
|
DelegatedHttpSource(delegate),
|
||||||
LewdSource<TsuminoSearchMetadata, Document>,
|
MetadataSource<TsuminoSearchMetadata, Document>,
|
||||||
UrlImportableSource {
|
UrlImportableSource {
|
||||||
override val metaClass = TsuminoSearchMetadata::class
|
override val metaClass = TsuminoSearchMetadata::class
|
||||||
override val lang = "en"
|
override val lang = "en"
|
||||||
|
@ -11,7 +11,7 @@ import eu.kanade.tachiyomi.data.track.TrackManager
|
|||||||
import eu.kanade.tachiyomi.source.SourceManager
|
import eu.kanade.tachiyomi.source.SourceManager
|
||||||
import eu.kanade.tachiyomi.source.model.Filter
|
import eu.kanade.tachiyomi.source.model.Filter
|
||||||
import eu.kanade.tachiyomi.ui.category.CategoryAdapter
|
import eu.kanade.tachiyomi.ui.category.CategoryAdapter
|
||||||
import exh.isLewdSource
|
import exh.isMetadataSource
|
||||||
import exh.metadata.sql.models.SearchTag
|
import exh.metadata.sql.models.SearchTag
|
||||||
import exh.metadata.sql.models.SearchTitle
|
import exh.metadata.sql.models.SearchTitle
|
||||||
import exh.search.Namespace
|
import exh.search.Namespace
|
||||||
@ -131,7 +131,7 @@ class LibraryCategoryAdapter(view: LibraryCategoryView, val controller: LibraryC
|
|||||||
|
|
||||||
// Flow the mangas to allow cancellation of this filter operation
|
// Flow the mangas to allow cancellation of this filter operation
|
||||||
mangas.asFlow().cancellable().filter { item ->
|
mangas.asFlow().cancellable().filter { item ->
|
||||||
if (isLewdSource(item.manga.source)) {
|
if (isMetadataSource(item.manga.source)) {
|
||||||
val mangaId = item.manga.id ?: -1
|
val mangaId = item.manga.id ?: -1
|
||||||
if (mangaWithMetaIds.binarySearch(mangaId) < 0) {
|
if (mangaWithMetaIds.binarySearch(mangaId) < 0) {
|
||||||
// No meta? Filter using title
|
// No meta? Filter using title
|
||||||
|
@ -50,7 +50,7 @@ import eu.kanade.tachiyomi.source.LocalSource
|
|||||||
import eu.kanade.tachiyomi.source.Source
|
import eu.kanade.tachiyomi.source.Source
|
||||||
import eu.kanade.tachiyomi.source.SourceManager
|
import eu.kanade.tachiyomi.source.SourceManager
|
||||||
import eu.kanade.tachiyomi.source.online.HttpSource
|
import eu.kanade.tachiyomi.source.online.HttpSource
|
||||||
import eu.kanade.tachiyomi.source.online.LewdSource.Companion.getLewdSource
|
import eu.kanade.tachiyomi.source.online.MetadataSource.Companion.getMetadataSource
|
||||||
import eu.kanade.tachiyomi.ui.base.controller.FabController
|
import eu.kanade.tachiyomi.ui.base.controller.FabController
|
||||||
import eu.kanade.tachiyomi.ui.base.controller.NucleusController
|
import eu.kanade.tachiyomi.ui.base.controller.NucleusController
|
||||||
import eu.kanade.tachiyomi.ui.base.controller.ToolbarLiftOnScrollController
|
import eu.kanade.tachiyomi.ui.base.controller.ToolbarLiftOnScrollController
|
||||||
@ -247,7 +247,7 @@ class MangaController :
|
|||||||
|
|
||||||
adapters += mangaInfoAdapter
|
adapters += mangaInfoAdapter
|
||||||
|
|
||||||
val thisSourceAsLewdSource = presenter.source.getLewdSource()
|
val thisSourceAsLewdSource = presenter.source.getMetadataSource()
|
||||||
if (thisSourceAsLewdSource != null) {
|
if (thisSourceAsLewdSource != null) {
|
||||||
mangaMetaInfoAdapter = thisSourceAsLewdSource.getDescriptionAdapter(this)
|
mangaMetaInfoAdapter = thisSourceAsLewdSource.getDescriptionAdapter(this)
|
||||||
mangaMetaInfoAdapter?.let { adapters += it }
|
mangaMetaInfoAdapter?.let { adapters += it }
|
||||||
@ -460,7 +460,7 @@ class MangaController :
|
|||||||
|
|
||||||
// SY -->
|
// SY -->
|
||||||
fun onNextMetaInfo(flatMetadata: FlatMetadata) {
|
fun onNextMetaInfo(flatMetadata: FlatMetadata) {
|
||||||
val thisSourceAsLewdSource = presenter.source.getLewdSource()
|
val thisSourceAsLewdSource = presenter.source.getMetadataSource()
|
||||||
if (thisSourceAsLewdSource != null) {
|
if (thisSourceAsLewdSource != null) {
|
||||||
presenter.meta = flatMetadata.raise(thisSourceAsLewdSource.metaClass)
|
presenter.meta = flatMetadata.raise(thisSourceAsLewdSource.metaClass)
|
||||||
mangaMetaInfoAdapter?.notifyDataSetChanged()
|
mangaMetaInfoAdapter?.notifyDataSetChanged()
|
||||||
|
@ -19,8 +19,8 @@ import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
|||||||
import eu.kanade.tachiyomi.data.track.TrackManager
|
import eu.kanade.tachiyomi.data.track.TrackManager
|
||||||
import eu.kanade.tachiyomi.source.LocalSource
|
import eu.kanade.tachiyomi.source.LocalSource
|
||||||
import eu.kanade.tachiyomi.source.Source
|
import eu.kanade.tachiyomi.source.Source
|
||||||
import eu.kanade.tachiyomi.source.online.LewdSource
|
import eu.kanade.tachiyomi.source.online.MetadataSource
|
||||||
import eu.kanade.tachiyomi.source.online.LewdSource.Companion.isLewdSource
|
import eu.kanade.tachiyomi.source.online.MetadataSource.Companion.isMetadataSource
|
||||||
import eu.kanade.tachiyomi.source.online.all.MergedSource
|
import eu.kanade.tachiyomi.source.online.all.MergedSource
|
||||||
import eu.kanade.tachiyomi.ui.base.presenter.BasePresenter
|
import eu.kanade.tachiyomi.ui.base.presenter.BasePresenter
|
||||||
import eu.kanade.tachiyomi.ui.manga.chapter.ChapterItem
|
import eu.kanade.tachiyomi.ui.manga.chapter.ChapterItem
|
||||||
@ -117,7 +117,7 @@ class MangaPresenter(
|
|||||||
super.onCreate(savedState)
|
super.onCreate(savedState)
|
||||||
|
|
||||||
// SY -->
|
// SY -->
|
||||||
if (manga.initialized && source.isLewdSource()) {
|
if (manga.initialized && source.isMetadataSource()) {
|
||||||
getMangaMetaObservable().subscribeLatestCache({ view, flatMetadata -> if (flatMetadata != null) view.onNextMetaInfo(flatMetadata) else Timber.d("Invalid metadata") })
|
getMangaMetaObservable().subscribeLatestCache({ view, flatMetadata -> if (flatMetadata != null) view.onNextMetaInfo(flatMetadata) else Timber.d("Invalid metadata") })
|
||||||
}
|
}
|
||||||
// SY <--
|
// SY <--
|
||||||
@ -235,7 +235,7 @@ class MangaPresenter(
|
|||||||
}
|
}
|
||||||
// SY -->
|
// SY -->
|
||||||
.doOnNext {
|
.doOnNext {
|
||||||
if (source is LewdSource<*, *> || (source is EnhancedHttpSource && source.enhancedSource is LewdSource<*, *>)) {
|
if (source is MetadataSource<*, *> || (source is EnhancedHttpSource && source.enhancedSource is MetadataSource<*, *>)) {
|
||||||
getMangaMetaObservable().subscribeLatestCache({ view, flatMetadata -> if (flatMetadata != null) view.onNextMetaInfo(flatMetadata) else Timber.d("Invalid metadata") })
|
getMangaMetaObservable().subscribeLatestCache({ view, flatMetadata -> if (flatMetadata != null) view.onNextMetaInfo(flatMetadata) else Timber.d("Invalid metadata") })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -29,7 +29,7 @@ const val EIGHTMUSES_SOURCE_ID = 1802675169972965535
|
|||||||
const val HBROWSE_SOURCE_ID = 1401584337232758222
|
const val HBROWSE_SOURCE_ID = 1401584337232758222
|
||||||
const val MERGED_SOURCE_ID = LEWD_SOURCE_SERIES + 69
|
const val MERGED_SOURCE_ID = LEWD_SOURCE_SERIES + 69
|
||||||
|
|
||||||
private val DELEGATED_LEWD_SOURCES = listOf(
|
private val DELEGATED_METADATA_SOURCES = listOf(
|
||||||
HentaiCafe::class,
|
HentaiCafe::class,
|
||||||
Pururin::class,
|
Pururin::class,
|
||||||
Tsumino::class,
|
Tsumino::class,
|
||||||
@ -45,9 +45,9 @@ private val nHentaiClass = listOf(NHentai::class)
|
|||||||
private val mangaDexClass = listOf(MangaDex::class)
|
private val mangaDexClass = listOf(MangaDex::class)
|
||||||
|
|
||||||
// Used to speed up isLewdSource
|
// Used to speed up isLewdSource
|
||||||
val lewdDelegatedSourceIds by lazy {
|
val metadataDelegatedSourceIds by lazy {
|
||||||
SourceManager.currentDelegatedSources.filter {
|
SourceManager.currentDelegatedSources.filter {
|
||||||
it.value.newSourceClass in DELEGATED_LEWD_SOURCES
|
it.value.newSourceClass in DELEGATED_METADATA_SOURCES
|
||||||
}.map { it.value.sourceId }.sorted()
|
}.map { it.value.sourceId }.sorted()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,8 +70,8 @@ val mangaDexSourceIds by lazy {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// This method MUST be fast!
|
// This method MUST be fast!
|
||||||
fun isLewdSource(source: Long) = source in 6900..6999 ||
|
fun isMetadataSource(source: Long) = source in 6900..6999 ||
|
||||||
lewdDelegatedSourceIds.binarySearch(source) >= 0
|
metadataDelegatedSourceIds.binarySearch(source) >= 0
|
||||||
|
|
||||||
val LIBRARY_UPDATE_EXCLUDED_SOURCES by lazy {
|
val LIBRARY_UPDATE_EXCLUDED_SOURCES by lazy {
|
||||||
listOf(
|
listOf(
|
||||||
|
@ -10,7 +10,7 @@ import eu.kanade.tachiyomi.data.database.models.Manga
|
|||||||
import eu.kanade.tachiyomi.databinding.MetadataViewControllerBinding
|
import eu.kanade.tachiyomi.databinding.MetadataViewControllerBinding
|
||||||
import eu.kanade.tachiyomi.source.Source
|
import eu.kanade.tachiyomi.source.Source
|
||||||
import eu.kanade.tachiyomi.source.SourceManager
|
import eu.kanade.tachiyomi.source.SourceManager
|
||||||
import eu.kanade.tachiyomi.source.online.LewdSource.Companion.getLewdSource
|
import eu.kanade.tachiyomi.source.online.MetadataSource.Companion.getMetadataSource
|
||||||
import eu.kanade.tachiyomi.ui.base.controller.NucleusController
|
import eu.kanade.tachiyomi.ui.base.controller.NucleusController
|
||||||
import eu.kanade.tachiyomi.ui.manga.MangaController
|
import eu.kanade.tachiyomi.ui.manga.MangaController
|
||||||
import exh.metadata.metadata.base.FlatMetadata
|
import exh.metadata.metadata.base.FlatMetadata
|
||||||
@ -73,7 +73,7 @@ class MetadataViewController : NucleusController<MetadataViewControllerBinding,
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun onNextMetaInfo(flatMetadata: FlatMetadata) {
|
fun onNextMetaInfo(flatMetadata: FlatMetadata) {
|
||||||
val thisSourceAsLewdSource = presenter.source.getLewdSource()
|
val thisSourceAsLewdSource = presenter.source.getMetadataSource()
|
||||||
if (thisSourceAsLewdSource != null) {
|
if (thisSourceAsLewdSource != null) {
|
||||||
presenter.meta = flatMetadata.raise(thisSourceAsLewdSource.metaClass)
|
presenter.meta = flatMetadata.raise(thisSourceAsLewdSource.metaClass)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user