Cleanup usage of NetworkToLocalManga

This commit is contained in:
Cuong-Tran
2024-11-02 23:58:35 +07:00
parent addb4ae9ad
commit 80031faafe
6 changed files with 21 additions and 9 deletions

View File

@@ -113,9 +113,11 @@ class BrowseSourceScreenModel(
getRemoteManga.subscribe(sourceId, listing.query ?: "", listing.filters)
}.flow.map { pagingData ->
pagingData.map {
networkToLocalManga.await(it.toDomainManga(sourceId))
val networkManga = it.toDomainManga(sourceId)
networkToLocalManga.await(networkManga)
.let { localManga -> getManga.subscribe(localManga.url, localManga.source) }
.filterNotNull()
.map { manga -> manga.shouldUseNetworkMangaInfo(networkManga) }
.stateIn(ioCoroutineScope)
}
.filter { !hideInLibraryItems || !it.value.favorite }

View File

@@ -166,7 +166,9 @@ abstract class SearchScreenModel(
}
val titles = page.mangas.map {
networkToLocalManga.await(it.toDomainManga(source.id))
val networkManga = it.toDomainManga(source.id)
networkToLocalManga.await(networkManga)
.shouldUseNetworkMangaInfo(networkManga)
}
if (isActive) {

View File

@@ -74,8 +74,9 @@ class DeepLinkScreenModel(
}
private suspend fun getMangaFromSManga(sManga: SManga, sourceId: Long): Manga {
return getMangaByUrlAndSourceId.await(sManga.url, sourceId)
?: networkToLocalManga.await(sManga.toDomainManga(sourceId))
val networkManga = sManga.toDomainManga(sourceId)
return networkToLocalManga.await(networkManga)
.shouldUseNetworkMangaInfo(networkManga)
}
sealed interface State {