More domain model usage

This commit is contained in:
arkon
2022-07-03 16:51:11 -04:00
parent 3791d82540
commit a3378e6080
18 changed files with 80 additions and 68 deletions

View File

@@ -7,7 +7,6 @@ import eu.kanade.domain.chapter.model.toDbChapter
import eu.kanade.domain.chapter.repository.ChapterRepository
import eu.kanade.domain.manga.interactor.UpdateManga
import eu.kanade.domain.manga.model.Manga
import eu.kanade.domain.manga.model.toDbManga
import eu.kanade.tachiyomi.data.download.DownloadManager
import eu.kanade.tachiyomi.source.LocalSource
import eu.kanade.tachiyomi.source.Source
@@ -97,7 +96,7 @@ class SyncChaptersWithSource(
} else {
if (shouldUpdateDbChapter.await(dbChapter, chapter)) {
if (dbChapter.name != chapter.name && downloadManager.isChapterDownloaded(dbChapter.name, dbChapter.scanlator, manga.title, manga.source)) {
downloadManager.renameChapter(source, manga.toDbManga(), dbChapter.toDbChapter(), chapter.toDbChapter())
downloadManager.renameChapter(source, manga, dbChapter.toDbChapter(), chapter.toDbChapter())
}
var toChangeChapter = dbChapter.copy(
name = chapter.name,

View File

@@ -42,22 +42,20 @@ data class Chapter(
}
companion object {
fun create(): Chapter {
return Chapter(
id = -1,
mangaId = -1,
read = false,
bookmark = false,
lastPageRead = 0,
dateFetch = 0,
sourceOrder = 0,
url = "",
name = "",
dateUpload = -1,
chapterNumber = -1f,
scanlator = null,
)
}
fun create() = Chapter(
id = -1,
mangaId = -1,
read = false,
bookmark = false,
lastPageRead = 0,
dateFetch = 0,
sourceOrder = 0,
url = "",
name = "",
dateUpload = -1,
chapterNumber = -1f,
scanlator = null,
)
}
}

View File

@@ -33,20 +33,6 @@ data class Manga(
val initialized: Boolean,
) : Serializable {
fun toSManga(): SManga {
return SManga.create().also {
it.url = url
it.title = title
it.artist = artist
it.author = author
it.description = description
it.genre = genre.orEmpty().joinToString()
it.status = status.toInt()
it.thumbnail_url = thumbnailUrl
it.initialized = initialized
}
}
val sorting: Long
get() = chapterFlags and CHAPTER_SORTING_MASK
@@ -100,6 +86,18 @@ data class Manga(
return chapterFlags and CHAPTER_SORT_DIR_MASK == CHAPTER_SORT_DESC
}
fun toSManga(): SManga = SManga.create().also {
it.url = url
it.title = title
it.artist = artist
it.author = author
it.description = description
it.genre = genre.orEmpty().joinToString()
it.status = status.toInt()
it.thumbnail_url = thumbnailUrl
it.initialized = initialized
}
companion object {
// Generic filter that does not filter anything
const val SHOW_ALL = 0x00000000L
@@ -128,6 +126,26 @@ data class Manga(
const val CHAPTER_DISPLAY_NAME = 0x00000000L
const val CHAPTER_DISPLAY_NUMBER = 0x00100000L
const val CHAPTER_DISPLAY_MASK = 0x00100000L
fun create() = Manga(
id = -1L,
url = "",
title = "",
source = -1L,
favorite = false,
lastUpdate = -1L,
dateAdded = -1L,
viewerFlags = -1L,
chapterFlags = -1L,
coverLastModified = -1L,
artist = null,
author = null,
description = null,
genre = null,
status = 0L,
thumbnailUrl = null,
initialized = false,
)
}
}