Cleanup some code

This commit is contained in:
Jobobby04 2020-09-30 19:48:26 -04:00
parent c501c9ecc3
commit 4f864152ea
11 changed files with 33 additions and 14 deletions

View File

@ -0,0 +1,3 @@
package eu.kanade.tachiyomi.source.online
interface NamespaceSource

View File

@ -26,6 +26,7 @@ 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.MetadataSource import eu.kanade.tachiyomi.source.online.MetadataSource
import eu.kanade.tachiyomi.source.online.NamespaceSource
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
@ -79,7 +80,10 @@ class EHentai(
override val id: Long, override val id: Long,
val exh: Boolean, val exh: Boolean,
val context: Context val context: Context
) : HttpSource(), MetadataSource<EHentaiSearchMetadata, Document>, UrlImportableSource { ) : HttpSource(),
MetadataSource<EHentaiSearchMetadata, Document>,
UrlImportableSource,
NamespaceSource {
override val metaClass = EHentaiSearchMetadata::class override val metaClass = EHentaiSearchMetadata::class
private val domain: String private val domain: String

View File

@ -9,6 +9,7 @@ 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.MetadataSource import eu.kanade.tachiyomi.source.online.MetadataSource
import eu.kanade.tachiyomi.source.online.NamespaceSource
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
@ -26,7 +27,8 @@ import java.util.Locale
class Hitomi(delegate: HttpSource, val context: Context) : class Hitomi(delegate: HttpSource, val context: Context) :
DelegatedHttpSource(delegate), DelegatedHttpSource(delegate),
MetadataSource<HitomiSearchMetadata, Document>, MetadataSource<HitomiSearchMetadata, Document>,
UrlImportableSource { UrlImportableSource,
NamespaceSource {
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

View File

@ -14,6 +14,7 @@ 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.MetadataSource import eu.kanade.tachiyomi.source.online.MetadataSource
import eu.kanade.tachiyomi.source.online.NamespaceSource
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
@ -28,7 +29,8 @@ import rx.Observable
class NHentai(delegate: HttpSource, val context: Context) : class NHentai(delegate: HttpSource, val context: Context) :
DelegatedHttpSource(delegate), DelegatedHttpSource(delegate),
MetadataSource<NHentaiSearchMetadata, Response>, MetadataSource<NHentaiSearchMetadata, Response>,
UrlImportableSource { UrlImportableSource,
NamespaceSource {
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

View File

@ -8,6 +8,7 @@ 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.MetadataSource import eu.kanade.tachiyomi.source.online.MetadataSource
import eu.kanade.tachiyomi.source.online.NamespaceSource
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
@ -23,7 +24,8 @@ import rx.Observable
class EightMuses(delegate: HttpSource, val context: Context) : class EightMuses(delegate: HttpSource, val context: Context) :
DelegatedHttpSource(delegate), DelegatedHttpSource(delegate),
MetadataSource<EightMusesSearchMetadata, Document>, MetadataSource<EightMusesSearchMetadata, Document>,
UrlImportableSource { UrlImportableSource,
NamespaceSource {
override val metaClass = EightMusesSearchMetadata::class override val metaClass = EightMusesSearchMetadata::class
override val lang = "en" override val lang = "en"

View File

@ -8,6 +8,7 @@ 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.MetadataSource import eu.kanade.tachiyomi.source.online.MetadataSource
import eu.kanade.tachiyomi.source.online.NamespaceSource
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
@ -23,7 +24,8 @@ import rx.Observable
class HBrowse(delegate: HttpSource, val context: Context) : class HBrowse(delegate: HttpSource, val context: Context) :
DelegatedHttpSource(delegate), DelegatedHttpSource(delegate),
MetadataSource<HBrowseSearchMetadata, Document>, MetadataSource<HBrowseSearchMetadata, Document>,
UrlImportableSource { UrlImportableSource,
NamespaceSource {
override val metaClass = HBrowseSearchMetadata::class override val metaClass = HBrowseSearchMetadata::class
override val lang = "en" override val lang = "en"

View File

@ -8,6 +8,7 @@ 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.MetadataSource import eu.kanade.tachiyomi.source.online.MetadataSource
import eu.kanade.tachiyomi.source.online.NamespaceSource
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 +26,8 @@ import rx.Observable
class Pururin(delegate: HttpSource, val context: Context) : class Pururin(delegate: HttpSource, val context: Context) :
DelegatedHttpSource(delegate), DelegatedHttpSource(delegate),
MetadataSource<PururinSearchMetadata, Document>, MetadataSource<PururinSearchMetadata, Document>,
UrlImportableSource { UrlImportableSource,
NamespaceSource {
/** /**
* An ISO 639-1 compliant language code (two letters in lower case). * An ISO 639-1 compliant language code (two letters in lower case).
*/ */

View File

@ -8,6 +8,7 @@ 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.MetadataSource import eu.kanade.tachiyomi.source.online.MetadataSource
import eu.kanade.tachiyomi.source.online.NamespaceSource
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
@ -28,7 +29,8 @@ import java.util.Locale
class Tsumino(delegate: HttpSource, val context: Context) : class Tsumino(delegate: HttpSource, val context: Context) :
DelegatedHttpSource(delegate), DelegatedHttpSource(delegate),
MetadataSource<TsuminoSearchMetadata, Document>, MetadataSource<TsuminoSearchMetadata, Document>,
UrlImportableSource { UrlImportableSource,
NamespaceSource {
override val metaClass = TsuminoSearchMetadata::class override val metaClass = TsuminoSearchMetadata::class
override val lang = "en" override val lang = "en"

View File

@ -18,9 +18,10 @@ import eu.kanade.tachiyomi.data.database.models.Track
import eu.kanade.tachiyomi.data.preference.PreferenceValues.DisplayMode import eu.kanade.tachiyomi.data.preference.PreferenceValues.DisplayMode
import eu.kanade.tachiyomi.data.track.TrackManager import eu.kanade.tachiyomi.data.track.TrackManager
import eu.kanade.tachiyomi.source.SourceManager import eu.kanade.tachiyomi.source.SourceManager
import eu.kanade.tachiyomi.source.online.NamespaceSource
import eu.kanade.tachiyomi.widget.AutofitRecyclerView import eu.kanade.tachiyomi.widget.AutofitRecyclerView
import exh.isNamespaceSource
import exh.metadata.metadata.base.RaisedTag import exh.metadata.metadata.base.RaisedTag
import exh.source.EnhancedHttpSource.Companion.getMainSource
import exh.util.SourceTagsUtil.Companion.TAG_TYPE_EXCLUDE import exh.util.SourceTagsUtil.Companion.TAG_TYPE_EXCLUDE
import exh.util.SourceTagsUtil.Companion.getRaisedTags import exh.util.SourceTagsUtil.Companion.getRaisedTags
import exh.util.SourceTagsUtil.Companion.parseTag import exh.util.SourceTagsUtil.Companion.parseTag
@ -134,7 +135,7 @@ class LibraryItem(val manga: LibraryManga, private val libraryDisplayMode: Prefe
private fun ehContainsGenre(constraint: String): Boolean { private fun ehContainsGenre(constraint: String): Boolean {
val genres = manga.getGenres() val genres = manga.getGenres()
val raisedTags = if (source?.isNamespaceSource() == true) { val raisedTags = if (source?.getMainSource() is NamespaceSource) {
manga.getRaisedTags(genres) manga.getRaisedTags(genres)
} else null } else null
return if (constraint.contains(" ") || constraint.contains("\"")) { return if (constraint.contains(" ") || constraint.contains("\"")) {

View File

@ -14,12 +14,13 @@ import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.models.Manga import eu.kanade.tachiyomi.data.database.models.Manga
import eu.kanade.tachiyomi.databinding.MangaInfoItemBinding import eu.kanade.tachiyomi.databinding.MangaInfoItemBinding
import eu.kanade.tachiyomi.source.Source import eu.kanade.tachiyomi.source.Source
import eu.kanade.tachiyomi.source.online.NamespaceSource
import eu.kanade.tachiyomi.ui.manga.MangaController import eu.kanade.tachiyomi.ui.manga.MangaController
import eu.kanade.tachiyomi.util.system.copyToClipboard import eu.kanade.tachiyomi.util.system.copyToClipboard
import exh.isEhBasedSource import exh.isEhBasedSource
import exh.isNamespaceSource
import exh.metadata.metadata.base.RaisedSearchMetadata import exh.metadata.metadata.base.RaisedSearchMetadata
import exh.metadata.metadata.base.RaisedSearchMetadata.Companion.TAG_TYPE_VIRTUAL import exh.metadata.metadata.base.RaisedSearchMetadata.Companion.TAG_TYPE_VIRTUAL
import exh.source.EnhancedHttpSource.Companion.getMainSource
import exh.util.SourceTagsUtil.Companion.getRaisedTags import exh.util.SourceTagsUtil.Companion.getRaisedTags
import exh.util.makeSearchChip import exh.util.makeSearchChip
import exh.util.setChipsExtended import exh.util.setChipsExtended
@ -135,7 +136,7 @@ class MangaInfoItemAdapter(
// Update genres list // Update genres list
if (!manga.genre.isNullOrBlank()) { if (!manga.genre.isNullOrBlank()) {
// SY --> // SY -->
if (source != null && source.isNamespaceSource()) { if (source != null && source.getMainSource() is NamespaceSource) {
val metaTags = meta?.tags?.filterNot { it.type == TAG_TYPE_VIRTUAL }?.groupBy { it.namespace } val metaTags = meta?.tags?.filterNot { it.type == TAG_TYPE_VIRTUAL }?.groupBy { it.namespace }
var namespaceTags: List<NamespaceTagsItem> = emptyList() var namespaceTags: List<NamespaceTagsItem> = emptyList()
if (source.isEhBasedSource() && metaTags != null && metaTags.all { it.key != null }) { if (source.isEhBasedSource() && metaTags != null && metaTags.all { it.key != null }) {
@ -201,7 +202,7 @@ class MangaInfoItemAdapter(
binding.mangaGenresTagsCompact.isVisible = isCurrentlyExpanded binding.mangaGenresTagsCompact.isVisible = isCurrentlyExpanded
// SY --> // SY -->
if (!source.isNamespaceSource()) { if (source.getMainSource() !is NamespaceSource) {
binding.mangaGenresTagsFullChips.isVisible = !isCurrentlyExpanded binding.mangaGenresTagsFullChips.isVisible = !isCurrentlyExpanded
} else { } else {
binding.genreGroups.isVisible = !isCurrentlyExpanded binding.genreGroups.isVisible = !isCurrentlyExpanded

View File

@ -86,5 +86,3 @@ val LIBRARY_UPDATE_EXCLUDED_SOURCES by lazy {
} }
fun Source.isEhBasedSource() = id == EH_SOURCE_ID || id == EXH_SOURCE_ID fun Source.isEhBasedSource() = id == EH_SOURCE_ID || id == EXH_SOURCE_ID
fun Source.isNamespaceSource() = id == EH_SOURCE_ID || id == EXH_SOURCE_ID || id in nHentaiSourceIds || id in hitomiSourceIds || id == PURURIN_SOURCE_ID || id == TSUMINO_SOURCE_ID || id == EIGHTMUSES_SOURCE_ID || id == HBROWSE_SOURCE_ID