fix(source-paging): correct mapping and filtering of manga with metadata
This commit is contained in:
parent
85e3e383cb
commit
3f594fe4a4
3 changed files with 16 additions and 13 deletions
|
|
@ -86,7 +86,6 @@ object MangaMapper {
|
||||||
coverLastModified: Long,
|
coverLastModified: Long,
|
||||||
dateAdded: Long,
|
dateAdded: Long,
|
||||||
// SY -->
|
// SY -->
|
||||||
@Suppress("UNUSED_PARAMETER")
|
|
||||||
filteredScanlators: String?,
|
filteredScanlators: String?,
|
||||||
// SY <--
|
// SY <--
|
||||||
updateStrategy: UpdateStrategy,
|
updateStrategy: UpdateStrategy,
|
||||||
|
|
@ -124,7 +123,7 @@ object MangaMapper {
|
||||||
coverLastModified,
|
coverLastModified,
|
||||||
dateAdded,
|
dateAdded,
|
||||||
// SY -->
|
// SY -->
|
||||||
null,
|
filteredScanlators,
|
||||||
// SY <--
|
// SY <--
|
||||||
updateStrategy,
|
updateStrategy,
|
||||||
calculateInterval,
|
calculateInterval,
|
||||||
|
|
@ -193,7 +192,9 @@ object MangaMapper {
|
||||||
chapterFlags,
|
chapterFlags,
|
||||||
coverLastModified,
|
coverLastModified,
|
||||||
dateAdded,
|
dateAdded,
|
||||||
|
// SY -->
|
||||||
filteredScanlators,
|
filteredScanlators,
|
||||||
|
// SY <--
|
||||||
updateStrategy,
|
updateStrategy,
|
||||||
calculateInterval,
|
calculateInterval,
|
||||||
lastModifiedAt,
|
lastModifiedAt,
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,9 @@ import exh.metadata.metadata.RaisedSearchMetadata
|
||||||
import mihon.domain.manga.model.toDomainManga
|
import mihon.domain.manga.model.toDomainManga
|
||||||
import tachiyomi.domain.manga.model.Manga
|
import tachiyomi.domain.manga.model.Manga
|
||||||
|
|
||||||
abstract class EHentaiPagingSource(override val source: CatalogueSource) : BaseSourcePagingSource(source) {
|
abstract class EHentaiPagingSource(
|
||||||
|
override val source: CatalogueSource,
|
||||||
|
) : BaseSourcePagingSource(source) {
|
||||||
|
|
||||||
override suspend fun getPageLoadResult(
|
override suspend fun getPageLoadResult(
|
||||||
params: LoadParams<Long>,
|
params: LoadParams<Long>,
|
||||||
|
|
@ -18,12 +20,11 @@ abstract class EHentaiPagingSource(override val source: CatalogueSource) : BaseS
|
||||||
val metadata = mangasPage.mangasMetadata
|
val metadata = mangasPage.mangasMetadata
|
||||||
|
|
||||||
val manga = mangasPage.mangas
|
val manga = mangasPage.mangas
|
||||||
.map { it.toDomainManga(source.id) }
|
.mapIndexed { index, sManga -> sManga.toDomainManga(source.id) to metadata.getOrNull(index) }
|
||||||
.filter { seenManga.add(it.url) }
|
.filter { seenManga.add(it.first.url) }
|
||||||
/* KMK --> .let { networkToLocalManga(it) } KMK <-- */
|
// KMK -->
|
||||||
// SY -->
|
// .let { pairs -> pairs.zip(networkToLocalManga(pairs.map { it.first })).map { it.second to it.first.second } }
|
||||||
.mapIndexed { index, manga -> manga to metadata.getOrNull(index) }
|
// KMK <--
|
||||||
// SY <--
|
|
||||||
|
|
||||||
return LoadResult.Page(
|
return LoadResult.Page(
|
||||||
data = manga,
|
data = manga,
|
||||||
|
|
|
||||||
|
|
@ -90,11 +90,12 @@ abstract class BaseSourcePagingSource(
|
||||||
// SY <--
|
// SY <--
|
||||||
|
|
||||||
val manga = mangasPage.mangas
|
val manga = mangasPage.mangas
|
||||||
.map { it.toDomainManga(source!!.id) }
|
|
||||||
.filter { seenManga.add(it.url) }
|
|
||||||
/* KMK --> .let { networkToLocalManga(it) } KMK <-- */
|
|
||||||
// SY -->
|
// SY -->
|
||||||
.mapIndexed { index, manga -> manga to metadata.getOrNull(index) }
|
.mapIndexed { index, sManga -> sManga.toDomainManga(source!!.id) to metadata.getOrNull(index) }
|
||||||
|
.filter { seenManga.add(it.first.url) }
|
||||||
|
// KMK -->
|
||||||
|
// .let { pairs -> pairs.zip(networkToLocalManga(pairs.map { it.first })).map { it.second to it.first.second } }
|
||||||
|
// KMK <--
|
||||||
// SY <--
|
// SY <--
|
||||||
|
|
||||||
return LoadResult.Page(
|
return LoadResult.Page(
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue