refactor(cover): Data class for manga cover

This commit is contained in:
Ahmad Ansori Palembani 2024-08-18 18:38:39 +07:00
parent 8ad123956c
commit 839f762fa7
Signed by: null2264
GPG key ID: BA64F8B60AF3EFB6
20 changed files with 191 additions and 80 deletions

View file

@ -2,7 +2,6 @@ package eu.kanade.tachiyomi.domain.manga.models
import eu.kanade.tachiyomi.source.model.SManga
import java.util.Locale
import kotlin.collections.set
import yokai.domain.manga.models.MangaUpdate
// TODO: Transform into data class
@ -197,12 +196,6 @@ interface Manga : SManga {
get() = chapter_flags and CHAPTER_SORTING_MASK
set(sort) = setChapterFlags(sort, CHAPTER_SORTING_MASK)
var vibrantCoverColor: Int?
get() = vibrantCoverColorMap[id]
set(value) {
id?.let { vibrantCoverColorMap[it] = value }
}
fun toMangaUpdate(): MangaUpdate {
return MangaUpdate(
id = id!!,
@ -268,7 +261,5 @@ interface Manga : SManga {
const val TYPE_MANHUA = 3
const val TYPE_COMIC = 4
const val TYPE_WEBTOON = 5
private val vibrantCoverColorMap: HashMap<Long, Int?> = hashMapOf()
}
}

View file

@ -23,4 +23,5 @@ data class Manga(
var chapterFlags: Int,
var hideTitle: Boolean,
var filteredScanlators: String?,
var coverLastModified: Long,
): Serializable

View file

@ -0,0 +1,27 @@
package yokai.domain.manga.models
import eu.kanade.tachiyomi.domain.manga.models.Manga as TachiManga
data class MangaCover(
val mangaId: Long?,
val sourceId: Long,
val url: String,
val lastModified: Long,
val inLibrary: Boolean,
)
fun TachiManga.cover() = MangaCover(
mangaId = id,
sourceId = source,
url = thumbnail_url ?: "",
lastModified = cover_last_modified,
inLibrary = favorite,
)
fun Manga.cover() = MangaCover(
mangaId = id,
sourceId = source,
url = thumbnailUrl ?: "",
lastModified = coverLastModified,
inLibrary = favorite,
)