mirror of
https://github.com/mihonapp/mihon.git
synced 2025-11-14 21:18:56 +01:00
More domain model usage
This commit is contained in:
@@ -17,7 +17,6 @@ import eu.kanade.domain.manga.interactor.UpdateManga
|
||||
import eu.kanade.domain.manga.model.Manga
|
||||
import eu.kanade.domain.manga.model.MangaUpdate
|
||||
import eu.kanade.domain.manga.model.isLocal
|
||||
import eu.kanade.domain.manga.model.toDbManga
|
||||
import eu.kanade.domain.track.interactor.GetTracks
|
||||
import eu.kanade.tachiyomi.data.cache.CoverCache
|
||||
import eu.kanade.tachiyomi.data.database.models.toDomainManga
|
||||
@@ -154,7 +153,7 @@ class LibraryPresenter(
|
||||
val isDownloaded = when {
|
||||
item.manga.toDomainManga()!!.isLocal() -> true
|
||||
item.downloadCount != -1 -> item.downloadCount > 0
|
||||
else -> downloadManager.getDownloadCount(item.manga) > 0
|
||||
else -> downloadManager.getDownloadCount(item.manga.toDomainManga()!!) > 0
|
||||
}
|
||||
|
||||
return@downloaded if (downloadedOnly || filterDownloaded == State.INCLUDE.value) isDownloaded
|
||||
@@ -236,7 +235,7 @@ class LibraryPresenter(
|
||||
for ((_, itemList) in map) {
|
||||
for (item in itemList) {
|
||||
item.downloadCount = if (showDownloadBadges) {
|
||||
downloadManager.getDownloadCount(item.manga)
|
||||
downloadManager.getDownloadCount(item.manga.toDomainManga()!!)
|
||||
} else {
|
||||
// Unset download count if not enabled
|
||||
-1
|
||||
@@ -521,7 +520,7 @@ class LibraryPresenter(
|
||||
.filter { !it.read }
|
||||
.map { it.toDbChapter() }
|
||||
|
||||
downloadManager.downloadChapters(manga.toDbManga(), chapters)
|
||||
downloadManager.downloadChapters(manga, chapters)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -555,7 +554,7 @@ class LibraryPresenter(
|
||||
|
||||
private fun deleteChapters(manga: Manga, chapters: List<Chapter>) {
|
||||
sourceManager.get(manga.source)?.let { source ->
|
||||
downloadManager.deleteChapters(chapters.map { it.toDbChapter() }, manga.toDbManga(), source)
|
||||
downloadManager.deleteChapters(chapters.map { it.toDbChapter() }, manga, source)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -585,7 +584,7 @@ class LibraryPresenter(
|
||||
mangaToDelete.forEach { manga ->
|
||||
val source = sourceManager.get(manga.source) as? HttpSource
|
||||
if (source != null) {
|
||||
downloadManager.deleteManga(manga, source)
|
||||
downloadManager.deleteManga(manga.toDomainManga()!!, source)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -305,7 +305,7 @@ class MangaPresenter(
|
||||
*/
|
||||
fun hasDownloads(): Boolean {
|
||||
val manga = successState?.manga ?: return false
|
||||
return downloadManager.getDownloadCount(manga.toDbManga()) > 0
|
||||
return downloadManager.getDownloadCount(manga) > 0
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -313,7 +313,7 @@ class MangaPresenter(
|
||||
*/
|
||||
fun deleteDownloads() {
|
||||
val state = successState ?: return
|
||||
downloadManager.deleteManga(state.manga.toDbManga(), state.source)
|
||||
downloadManager.deleteManga(state.manga, state.source)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -541,7 +541,7 @@ class MangaPresenter(
|
||||
*/
|
||||
fun downloadChapters(chapters: List<DomainChapter>) {
|
||||
val manga = successState?.manga ?: return
|
||||
downloadManager.downloadChapters(manga.toDbManga(), chapters.map { it.toDbChapter() })
|
||||
downloadManager.downloadChapters(manga, chapters.map { it.toDbChapter() })
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -567,7 +567,7 @@ class MangaPresenter(
|
||||
try {
|
||||
updateSuccessState { successState ->
|
||||
val deletedIds = downloadManager
|
||||
.deleteChapters(chapters2, successState.manga.toDbManga(), successState.source)
|
||||
.deleteChapters(chapters2, successState.manga, successState.source)
|
||||
.map { it.id }
|
||||
val deletedChapters = successState.chapters.filter { deletedIds.contains(it.chapter.id) }
|
||||
if (deletedChapters.isEmpty()) return@updateSuccessState successState
|
||||
|
||||
@@ -804,7 +804,7 @@ class ReaderPresenter(
|
||||
val manga = manga ?: return
|
||||
|
||||
launchIO {
|
||||
downloadManager.enqueueDeleteChapters(listOf(chapter.chapter), manga)
|
||||
downloadManager.enqueueDeleteChapters(listOf(chapter.chapter), manga.toDomainManga()!!)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@ import android.app.Application
|
||||
import android.net.Uri
|
||||
import com.hippo.unifile.UniFile
|
||||
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.Source
|
||||
import eu.kanade.tachiyomi.source.model.Page
|
||||
@@ -46,7 +45,7 @@ class DownloadPageLoader(
|
||||
}
|
||||
|
||||
private fun getPagesFromDirectory(): Observable<List<ReaderPage>> {
|
||||
return downloadManager.buildPageList(source, manga.toDbManga(), chapter.chapter)
|
||||
return downloadManager.buildPageList(source, manga, chapter.chapter)
|
||||
.map { pages ->
|
||||
pages.map { page ->
|
||||
ReaderPage(page.index, page.url, page.imageUrl) {
|
||||
|
||||
@@ -8,7 +8,6 @@ import eu.kanade.domain.chapter.model.Chapter
|
||||
import eu.kanade.domain.chapter.model.ChapterUpdate
|
||||
import eu.kanade.domain.chapter.model.toDbChapter
|
||||
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.data.download.model.Download
|
||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||
@@ -219,7 +218,7 @@ class UpdatesPresenter : BasePresenter<UpdatesController>() {
|
||||
* @param items list of recent chapters seleted.
|
||||
*/
|
||||
fun downloadChapters(items: List<UpdatesItem>) {
|
||||
items.forEach { downloadManager.downloadChapters(it.manga.toDbManga(), listOf(it.chapter.toDbChapter())) }
|
||||
items.forEach { downloadManager.downloadChapters(it.manga, listOf(it.chapter.toDbChapter())) }
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -230,7 +229,7 @@ class UpdatesPresenter : BasePresenter<UpdatesController>() {
|
||||
private fun deleteChaptersInternal(chapterItems: List<UpdatesItem>) {
|
||||
val itemsByManga = chapterItems.groupBy { it.manga.id }
|
||||
for ((_, items) in itemsByManga) {
|
||||
val manga = items.first().manga.toDbManga()
|
||||
val manga = items.first().manga
|
||||
val source = sourceManager.get(manga.source) ?: continue
|
||||
val chapters = items.map { it.chapter.toDbChapter() }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user