More domain model usage in SY

This commit is contained in:
Jobobby04 2022-07-04 22:20:28 -04:00
parent 9a10f1300a
commit f4a3ef4f1d
5 changed files with 9 additions and 15 deletions

View File

@ -22,7 +22,6 @@ import eu.kanade.domain.manga.model.Manga
import eu.kanade.domain.manga.model.toDbManga
import eu.kanade.domain.manga.model.toMangaInfo
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.models.toDomainManga
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.databinding.MigrationListControllerBinding
import eu.kanade.tachiyomi.source.CatalogueSource
@ -183,7 +182,7 @@ class MigrationListController(bundle: Bundle? = null) :
val localManga = smartSearchEngine.networkToLocalManga(
searchResult,
source.id,
).toDomainManga()!!
)
val chapters = if (source is EHentai) {
source.getChapterList(localManga.toMangaInfo(), throttleManager::throttle)
@ -220,7 +219,7 @@ class MigrationListController(bundle: Bundle? = null) :
}
if (searchResult != null) {
val localManga = smartSearchEngine.networkToLocalManga(searchResult, source.id).toDomainManga()!!
val localManga = smartSearchEngine.networkToLocalManga(searchResult, source.id)
val chapters = try {
if (source is EHentai) {
source.getChapterList(localManga.toMangaInfo(), throttleManager::throttle)
@ -357,7 +356,7 @@ class MigrationListController(bundle: Bundle? = null) :
adapter?.notifyItemChanged(firstIndex)
launchUI {
val result = CoroutineScope(migratingManga.manga.migrationJob).async {
val localManga = smartSearchEngine.networkToLocalManga(manga.toDbManga(), source.id).toDomainManga()!!
val localManga = smartSearchEngine.networkToLocalManga(manga.toDbManga(), source.id)
try {
val chapters = source.getChapterList(localManga.toMangaInfo())
.map { it.toSChapter() }

View File

@ -2,8 +2,7 @@ package exh.smartsearch
import eu.kanade.domain.manga.interactor.GetManga
import eu.kanade.domain.manga.interactor.InsertManga
import eu.kanade.domain.manga.model.toDbManga
import eu.kanade.tachiyomi.data.database.models.Manga
import eu.kanade.domain.manga.model.Manga
import eu.kanade.tachiyomi.data.database.models.toDomainManga
import eu.kanade.tachiyomi.source.CatalogueSource
import eu.kanade.tachiyomi.source.model.FilterList
@ -15,6 +14,7 @@ import kotlinx.coroutines.async
import kotlinx.coroutines.supervisorScope
import uy.kohesive.injekt.injectLazy
import java.util.Locale
import eu.kanade.tachiyomi.data.database.models.Manga.Companion as DbManga
class SmartSearchEngine(
private val extraSearchParams: String? = null,
@ -175,7 +175,7 @@ class SmartSearchEngine(
suspend fun networkToLocalManga(sManga: SManga, sourceId: Long): Manga {
var localManga = getManga.await(sManga.url, sourceId)
if (localManga == null) {
val newManga = Manga.create(sManga.url, sManga.title, sourceId)
val newManga = DbManga.create(sManga.url, sManga.title, sourceId)
newManga.copyFrom(sManga)
newManga.id = -1
val result = run {
@ -188,7 +188,7 @@ class SmartSearchEngine(
// if it later becomes a favorite, updated title will go to db
localManga = localManga.copy(ogTitle = sManga.title)
}
return localManga?.toDbManga()!!
return localManga!!
}
companion object {

View File

@ -43,7 +43,7 @@ class SmartSearchController(bundle: Bundle) : NucleusController<EhSmartSearchBin
presenter.smartSearchFlow
.onEach { results ->
if (results is SmartSearchPresenter.SearchResults.Found) {
val transaction = MangaController(results.manga.id!!, true, smartSearchConfig).withFadeTransaction()
val transaction = MangaController(results.manga.id, true, smartSearchConfig).withFadeTransaction()
router.replaceTopController(transaction)
} else {
if (results is SmartSearchPresenter.SearchResults.NotFound) {

View File

@ -1,7 +1,7 @@
package exh.ui.smartsearch
import android.os.Bundle
import eu.kanade.tachiyomi.data.database.models.Manga
import eu.kanade.domain.manga.model.Manga
import eu.kanade.tachiyomi.source.CatalogueSource
import eu.kanade.tachiyomi.ui.browse.source.SourcesController
import eu.kanade.tachiyomi.util.lang.launchIO

View File

@ -1,7 +1,6 @@
package exh.util
import android.graphics.Color
import eu.kanade.tachiyomi.data.database.models.Manga
import exh.metadata.metadata.base.RaisedTag
import exh.source.EH_SOURCE_ID
import exh.source.EXH_SOURCE_ID
@ -131,7 +130,3 @@ object SourceTagsUtil {
private val spaceRegex = "\\s".toRegex()
}
fun Manga.getRaisedTags(genres: List<String>? = getGenres()): List<RaisedTag>? = genres?.map {
SourceTagsUtil.parseTag(it)
}