diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/online/LewdSource.kt b/app/src/main/java/eu/kanade/tachiyomi/source/online/MetadataSource.kt similarity index 90% rename from app/src/main/java/eu/kanade/tachiyomi/source/online/LewdSource.kt rename to app/src/main/java/eu/kanade/tachiyomi/source/online/MetadataSource.kt index bfda18ef9..11355adfd 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/source/online/LewdSource.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/online/MetadataSource.kt @@ -22,7 +22,7 @@ import uy.kohesive.injekt.api.get /** * LEWD! */ -interface LewdSource : CatalogueSource { +interface MetadataSource : CatalogueSource { val db: DatabaseHelper get() = Injekt.get() /** @@ -111,13 +111,13 @@ interface LewdSource : CatalogueSource { val SChapter.mangaId get() = (this as? Chapter)?.manga_id 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 { - !this.isLewdSource() -> null - this is LewdSource<*, *> -> this - this is EnhancedHttpSource && this.enhancedSource is LewdSource<*, *> -> this.enhancedSource + !this.isMetadataSource() -> null + this is MetadataSource<*, *> -> this + this is EnhancedHttpSource && this.enhancedSource is MetadataSource<*, *> -> this.enhancedSource else -> null } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/EHentai.kt b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/EHentai.kt index 59a317be1..ea7ae849a 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/EHentai.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/EHentai.kt @@ -25,7 +25,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga 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.ui.manga.MangaController import eu.kanade.tachiyomi.util.asJsoup @@ -77,7 +77,7 @@ class EHentai( override val id: Long, val exh: Boolean, val context: Context -) : HttpSource(), LewdSource, UrlImportableSource { +) : HttpSource(), MetadataSource, UrlImportableSource { override val metaClass = EHentaiSearchMetadata::class private val domain: String diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/Hitomi.kt b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/Hitomi.kt index 1ca540365..67f2a9ff7 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/Hitomi.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/Hitomi.kt @@ -8,7 +8,7 @@ import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.MangasPage import eu.kanade.tachiyomi.source.model.SManga 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.ui.manga.MangaController import eu.kanade.tachiyomi.util.asJsoup @@ -25,7 +25,7 @@ import rx.Observable class Hitomi(delegate: HttpSource, val context: Context) : DelegatedHttpSource(delegate), - LewdSource, + MetadataSource, UrlImportableSource { override val metaClass = HitomiSearchMetadata::class override val lang = if (id == otherId) "all" else delegate.lang diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/NHentai.kt b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/NHentai.kt index 8aa43aea2..882d5a126 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/NHentai.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/NHentai.kt @@ -13,7 +13,7 @@ import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.MangasPage import eu.kanade.tachiyomi.source.model.SManga 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.ui.manga.MangaController import exh.metadata.metadata.NHentaiSearchMetadata @@ -27,7 +27,7 @@ import rx.Observable class NHentai(delegate: HttpSource, val context: Context) : DelegatedHttpSource(delegate), - LewdSource, + MetadataSource, UrlImportableSource { override val metaClass = NHentaiSearchMetadata::class override val lang = if (id == otherId) "all" else delegate.lang diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/PervEden.kt b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/PervEden.kt index faec89b36..0aa3dccf7 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/PervEden.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/PervEden.kt @@ -7,7 +7,7 @@ import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.MangasPage import eu.kanade.tachiyomi.source.model.SManga 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.ui.manga.MangaController import eu.kanade.tachiyomi.util.asJsoup @@ -24,7 +24,7 @@ import rx.Observable class PervEden(delegate: HttpSource, val context: Context) : DelegatedHttpSource(delegate), - LewdSource, + MetadataSource, UrlImportableSource { override val metaClass = PervEdenSearchMetadata::class override val lang = delegate.lang diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/online/english/EightMuses.kt b/app/src/main/java/eu/kanade/tachiyomi/source/online/english/EightMuses.kt index ae76ad105..961e557ff 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/source/online/english/EightMuses.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/online/english/EightMuses.kt @@ -7,7 +7,7 @@ import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.MangasPage import eu.kanade.tachiyomi.source.model.SManga 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.ui.manga.MangaController import eu.kanade.tachiyomi.util.asJsoup @@ -22,7 +22,7 @@ import rx.Observable class EightMuses(delegate: HttpSource, val context: Context) : DelegatedHttpSource(delegate), - LewdSource, + MetadataSource, UrlImportableSource { override val metaClass = EightMusesSearchMetadata::class override val lang = "en" diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/online/english/HBrowse.kt b/app/src/main/java/eu/kanade/tachiyomi/source/online/english/HBrowse.kt index 6dc394307..02eb86eb0 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/source/online/english/HBrowse.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/online/english/HBrowse.kt @@ -7,7 +7,7 @@ import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.MangasPage import eu.kanade.tachiyomi.source.model.SManga 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.ui.manga.MangaController import eu.kanade.tachiyomi.util.asJsoup @@ -22,7 +22,7 @@ import rx.Observable class HBrowse(delegate: HttpSource, val context: Context) : DelegatedHttpSource(delegate), - LewdSource, + MetadataSource, UrlImportableSource { override val metaClass = HBrowseSearchMetadata::class override val lang = "en" diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/online/english/HentaiCafe.kt b/app/src/main/java/eu/kanade/tachiyomi/source/online/english/HentaiCafe.kt index d75ef30a8..efdc1c0fb 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/source/online/english/HentaiCafe.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/online/english/HentaiCafe.kt @@ -7,7 +7,7 @@ import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga 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.ui.manga.MangaController import eu.kanade.tachiyomi.util.asJsoup @@ -24,7 +24,7 @@ import rx.Observable class HentaiCafe(delegate: HttpSource, val context: Context) : DelegatedHttpSource(delegate), - LewdSource, + MetadataSource, UrlImportableSource { /** * An ISO 639-1 compliant language code (two letters in lower case). diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/online/english/Pururin.kt b/app/src/main/java/eu/kanade/tachiyomi/source/online/english/Pururin.kt index 5bb9187f3..47cc482fc 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/source/online/english/Pururin.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/online/english/Pururin.kt @@ -7,7 +7,7 @@ import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.MangasPage import eu.kanade.tachiyomi.source.model.SManga 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.ui.manga.MangaController import eu.kanade.tachiyomi.util.asJsoup @@ -24,7 +24,7 @@ import rx.Observable class Pururin(delegate: HttpSource, val context: Context) : DelegatedHttpSource(delegate), - LewdSource, + MetadataSource, UrlImportableSource { /** * An ISO 639-1 compliant language code (two letters in lower case). diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/online/english/Tsumino.kt b/app/src/main/java/eu/kanade/tachiyomi/source/online/english/Tsumino.kt index 5642b5493..3b64bdf3c 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/source/online/english/Tsumino.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/online/english/Tsumino.kt @@ -7,7 +7,7 @@ import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.MangasPage import eu.kanade.tachiyomi.source.model.SManga 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.ui.manga.MangaController import eu.kanade.tachiyomi.util.asJsoup @@ -27,7 +27,7 @@ import rx.Observable class Tsumino(delegate: HttpSource, val context: Context) : DelegatedHttpSource(delegate), - LewdSource, + MetadataSource, UrlImportableSource { override val metaClass = TsuminoSearchMetadata::class override val lang = "en" diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryAdapter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryAdapter.kt index e3bbe9139..402552f36 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryAdapter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryAdapter.kt @@ -11,7 +11,7 @@ import eu.kanade.tachiyomi.data.track.TrackManager import eu.kanade.tachiyomi.source.SourceManager import eu.kanade.tachiyomi.source.model.Filter import eu.kanade.tachiyomi.ui.category.CategoryAdapter -import exh.isLewdSource +import exh.isMetadataSource import exh.metadata.sql.models.SearchTag import exh.metadata.sql.models.SearchTitle 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 mangas.asFlow().cancellable().filter { item -> - if (isLewdSource(item.manga.source)) { + if (isMetadataSource(item.manga.source)) { val mangaId = item.manga.id ?: -1 if (mangaWithMetaIds.binarySearch(mangaId) < 0) { // No meta? Filter using title diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt index 4e3c2d951..d94fb044f 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt @@ -50,7 +50,7 @@ import eu.kanade.tachiyomi.source.LocalSource import eu.kanade.tachiyomi.source.Source import eu.kanade.tachiyomi.source.SourceManager 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.NucleusController import eu.kanade.tachiyomi.ui.base.controller.ToolbarLiftOnScrollController @@ -247,7 +247,7 @@ class MangaController : adapters += mangaInfoAdapter - val thisSourceAsLewdSource = presenter.source.getLewdSource() + val thisSourceAsLewdSource = presenter.source.getMetadataSource() if (thisSourceAsLewdSource != null) { mangaMetaInfoAdapter = thisSourceAsLewdSource.getDescriptionAdapter(this) mangaMetaInfoAdapter?.let { adapters += it } @@ -460,7 +460,7 @@ class MangaController : // SY --> fun onNextMetaInfo(flatMetadata: FlatMetadata) { - val thisSourceAsLewdSource = presenter.source.getLewdSource() + val thisSourceAsLewdSource = presenter.source.getMetadataSource() if (thisSourceAsLewdSource != null) { presenter.meta = flatMetadata.raise(thisSourceAsLewdSource.metaClass) mangaMetaInfoAdapter?.notifyDataSetChanged() diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt index f2ff32a6e..08f494ee6 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt @@ -19,8 +19,8 @@ import eu.kanade.tachiyomi.data.preference.PreferencesHelper import eu.kanade.tachiyomi.data.track.TrackManager import eu.kanade.tachiyomi.source.LocalSource import eu.kanade.tachiyomi.source.Source -import eu.kanade.tachiyomi.source.online.LewdSource -import eu.kanade.tachiyomi.source.online.LewdSource.Companion.isLewdSource +import eu.kanade.tachiyomi.source.online.MetadataSource +import eu.kanade.tachiyomi.source.online.MetadataSource.Companion.isMetadataSource import eu.kanade.tachiyomi.source.online.all.MergedSource import eu.kanade.tachiyomi.ui.base.presenter.BasePresenter import eu.kanade.tachiyomi.ui.manga.chapter.ChapterItem @@ -117,7 +117,7 @@ class MangaPresenter( super.onCreate(savedState) // 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") }) } // SY <-- @@ -235,7 +235,7 @@ class MangaPresenter( } // SY --> .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") }) } } diff --git a/app/src/main/java/exh/EHSourceHelpers.kt b/app/src/main/java/exh/EHSourceHelpers.kt index 101914796..eb563ce2b 100755 --- a/app/src/main/java/exh/EHSourceHelpers.kt +++ b/app/src/main/java/exh/EHSourceHelpers.kt @@ -29,7 +29,7 @@ const val EIGHTMUSES_SOURCE_ID = 1802675169972965535 const val HBROWSE_SOURCE_ID = 1401584337232758222 const val MERGED_SOURCE_ID = LEWD_SOURCE_SERIES + 69 -private val DELEGATED_LEWD_SOURCES = listOf( +private val DELEGATED_METADATA_SOURCES = listOf( HentaiCafe::class, Pururin::class, Tsumino::class, @@ -45,9 +45,9 @@ private val nHentaiClass = listOf(NHentai::class) private val mangaDexClass = listOf(MangaDex::class) // Used to speed up isLewdSource -val lewdDelegatedSourceIds by lazy { +val metadataDelegatedSourceIds by lazy { SourceManager.currentDelegatedSources.filter { - it.value.newSourceClass in DELEGATED_LEWD_SOURCES + it.value.newSourceClass in DELEGATED_METADATA_SOURCES }.map { it.value.sourceId }.sorted() } @@ -70,8 +70,8 @@ val mangaDexSourceIds by lazy { } // This method MUST be fast! -fun isLewdSource(source: Long) = source in 6900..6999 || - lewdDelegatedSourceIds.binarySearch(source) >= 0 +fun isMetadataSource(source: Long) = source in 6900..6999 || + metadataDelegatedSourceIds.binarySearch(source) >= 0 val LIBRARY_UPDATE_EXCLUDED_SOURCES by lazy { listOf( diff --git a/app/src/main/java/exh/ui/metadata/MetadataViewController.kt b/app/src/main/java/exh/ui/metadata/MetadataViewController.kt index b47cdeade..39fc51d65 100644 --- a/app/src/main/java/exh/ui/metadata/MetadataViewController.kt +++ b/app/src/main/java/exh/ui/metadata/MetadataViewController.kt @@ -10,7 +10,7 @@ import eu.kanade.tachiyomi.data.database.models.Manga import eu.kanade.tachiyomi.databinding.MetadataViewControllerBinding import eu.kanade.tachiyomi.source.Source 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.manga.MangaController import exh.metadata.metadata.base.FlatMetadata @@ -73,7 +73,7 @@ class MetadataViewController : NucleusController