Support new E-H/Exh search engine

This commit is contained in:
Jobobby04
2022-11-16 13:07:38 -05:00
parent eedfa44ec8
commit 797a9e6b4e
7 changed files with 210 additions and 168 deletions
@@ -31,7 +31,7 @@ sealed class Filter<T>(val name: String, var state: T) {
val hint: String,
val values: List<String>,
val skipAutoFillTags: List<String> = emptyList(),
val excludePrefix: String? = null,
val validPrefixes: List<String> = emptyList(),
state: List<String>,
) : Filter<List<String>>(name, state)
// SY <--
@@ -25,8 +25,54 @@ open /* SY <-- */ class MangasPage(open val mangas: List<SManga>, open val hasNe
fun copy(mangas: List<SManga> = this.mangas, hasNextPage: Boolean = this.hasNextPage): MangasPage {
return MangasPage(mangas, hasNextPage)
}
override fun toString(): String {
return "MangasPage(mangas=$mangas, hasNextPage=$hasNextPage)"
}
}
// SY -->
data class MetadataMangasPage(override val mangas: List<SManga>, override val hasNextPage: Boolean, val mangasMetadata: List<RaisedSearchMetadata>) : MangasPage(mangas, hasNextPage)
class MetadataMangasPage(
override val mangas: List<SManga>,
override val hasNextPage: Boolean,
val mangasMetadata: List<RaisedSearchMetadata>,
val nextKey: Long? = null
) : MangasPage(mangas, hasNextPage) {
fun copy(
mangas: List<SManga> = this.mangas,
hasNextPage: Boolean = this.hasNextPage,
mangasMetadata: List<RaisedSearchMetadata> = this.mangasMetadata,
nextKey: Long? = this.nextKey
): MangasPage {
return MetadataMangasPage(mangas, hasNextPage, mangasMetadata, nextKey)
}
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (javaClass != other?.javaClass) return false
if (!super.equals(other)) return false
other as MetadataMangasPage
if (mangas != other.mangas) return false
if (hasNextPage != other.hasNextPage) return false
if (mangasMetadata != other.mangasMetadata) return false
if (nextKey != other.nextKey) return false
return true
}
override fun hashCode(): Int {
var result = super.hashCode()
result = 31 * result + mangas.hashCode()
result = 31 * result + hasNextPage.hashCode()
result = 31 * result + mangasMetadata.hashCode()
result = 31 * result + nextKey.hashCode()
return result
}
override fun toString(): String {
return "MetadataMangasPage(mangas=$mangas, hasNextPage=$hasNextPage, mangasMetadata=$mangasMetadata, nextKey=$nextKey)"
}
}
// SY <--