Adapt model implementation for TachiyomiX 1.6 (#3412)
This commit is contained in:
@@ -1,3 +1,19 @@
|
||||
package eu.kanade.tachiyomi.source.model
|
||||
|
||||
data class MangasPage(val mangas: List<SManga>, val hasNextPage: Boolean)
|
||||
class MangasPage(val mangas: List<SManga>, val hasNextPage: Boolean) {
|
||||
|
||||
@Deprecated("MangasPage is now a regular class")
|
||||
operator fun component1(): List<SManga> = mangas
|
||||
|
||||
@Deprecated("MangasPage is now a regular class")
|
||||
operator fun component2(): Boolean = hasNextPage
|
||||
|
||||
@Deprecated("MangasPage is now a regular class")
|
||||
fun copy(
|
||||
mangas: List<SManga> = this.mangas,
|
||||
hasNextPage: Boolean = this.hasNextPage,
|
||||
): MangasPage = MangasPage(
|
||||
mangas = mangas,
|
||||
hasNextPage = hasNextPage,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
package eu.kanade.tachiyomi.source.model
|
||||
|
||||
import kotlinx.serialization.json.JsonObject
|
||||
import java.io.Serializable
|
||||
|
||||
interface SChapter : Serializable {
|
||||
@@ -10,12 +11,25 @@ interface SChapter : Serializable {
|
||||
|
||||
var name: String
|
||||
|
||||
var date_upload: Long
|
||||
|
||||
var chapter_number: Float
|
||||
|
||||
var scanlator: String?
|
||||
|
||||
var date_upload: Long
|
||||
|
||||
/**
|
||||
* Extra metadata associated with the chapter.
|
||||
*
|
||||
* The JSON object is not visible to users and intended for internal or source-specific
|
||||
* purposes. Apps may define their own namespaced keys (e.g., `"mihon.*"`) for sources to populate.
|
||||
*
|
||||
* This allows apps to attach and ask for custom information without affecting the visible
|
||||
* chapter data.
|
||||
*
|
||||
* @since tachiyomix 1.6
|
||||
*/
|
||||
var memo: JsonObject
|
||||
|
||||
fun copyFrom(other: SChapter) {
|
||||
name = other.name
|
||||
url = other.url
|
||||
|
||||
@@ -2,15 +2,19 @@
|
||||
|
||||
package eu.kanade.tachiyomi.source.model
|
||||
|
||||
import kotlinx.serialization.json.JsonObject
|
||||
|
||||
class SChapterImpl : SChapter {
|
||||
|
||||
override lateinit var url: String
|
||||
|
||||
override lateinit var name: String
|
||||
|
||||
override var date_upload: Long = 0
|
||||
|
||||
override var chapter_number: Float = -1f
|
||||
|
||||
override var scanlator: String? = null
|
||||
|
||||
override var date_upload: Long = 0
|
||||
|
||||
override var memo: JsonObject = JsonObject(emptyMap())
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
package eu.kanade.tachiyomi.source.model
|
||||
|
||||
import kotlinx.serialization.json.JsonObject
|
||||
import java.io.Serializable
|
||||
|
||||
interface SManga : Serializable {
|
||||
@@ -10,22 +11,35 @@ interface SManga : Serializable {
|
||||
|
||||
var title: String
|
||||
|
||||
var thumbnail_url: String?
|
||||
|
||||
var artist: String?
|
||||
|
||||
var author: String?
|
||||
|
||||
var status: Int
|
||||
|
||||
var description: String?
|
||||
|
||||
var genre: String?
|
||||
|
||||
var status: Int
|
||||
|
||||
var thumbnail_url: String?
|
||||
|
||||
var update_strategy: UpdateStrategy
|
||||
|
||||
var initialized: Boolean
|
||||
|
||||
/**
|
||||
* Extra metadata associated with the manga.
|
||||
*
|
||||
* The JSON object is not visible to users and intended for internal or source-specific
|
||||
* purposes. Apps may define their own namespaced keys (e.g., `"mihon.*"`) for sources to populate.
|
||||
*
|
||||
* This allows apps to attach and ask for custom information without affecting the visible
|
||||
* manga data.
|
||||
*
|
||||
* @since tachiyomix 1.6
|
||||
*/
|
||||
var memo: JsonObject
|
||||
|
||||
fun getGenres(): List<String>? {
|
||||
if (genre.isNullOrBlank()) return null
|
||||
return genre?.split(", ")?.map { it.trim() }?.filterNot { it.isBlank() }?.distinct()
|
||||
|
||||
@@ -2,25 +2,29 @@
|
||||
|
||||
package eu.kanade.tachiyomi.source.model
|
||||
|
||||
import kotlinx.serialization.json.JsonObject
|
||||
|
||||
class SMangaImpl : SManga {
|
||||
|
||||
override lateinit var url: String
|
||||
|
||||
override lateinit var title: String
|
||||
|
||||
override var thumbnail_url: String? = null
|
||||
|
||||
override var artist: String? = null
|
||||
|
||||
override var author: String? = null
|
||||
|
||||
override var status: Int = 0
|
||||
|
||||
override var description: String? = null
|
||||
|
||||
override var genre: String? = null
|
||||
|
||||
override var status: Int = 0
|
||||
|
||||
override var thumbnail_url: String? = null
|
||||
|
||||
override var update_strategy: UpdateStrategy = UpdateStrategy.ALWAYS_UPDATE
|
||||
|
||||
override var initialized: Boolean = false
|
||||
|
||||
override var memo: JsonObject = JsonObject(emptyMap())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user