mirror of
https://github.com/mihonapp/mihon.git
synced 2025-06-27 19:47:51 +02:00
Deduplicate entries when browsing (#1957)
This commit is contained in:
@ -39,6 +39,8 @@ abstract class BaseSourcePagingSource(
|
||||
private val networkToLocalManga: NetworkToLocalManga = Injekt.get(),
|
||||
) : SourcePagingSource() {
|
||||
|
||||
private val seenManga = hashSetOf<String>()
|
||||
|
||||
abstract suspend fun requestNextPage(currentPage: Int): MangasPage
|
||||
|
||||
override suspend fun load(params: LoadParams<Long>): LoadResult<Long, Manga> {
|
||||
@ -51,7 +53,9 @@ abstract class BaseSourcePagingSource(
|
||||
?: throw NoResultsException()
|
||||
}
|
||||
|
||||
val manga = mangasPage.mangas.map { it.toDomainManga(source.id) }
|
||||
val manga = mangasPage.mangas
|
||||
.map { it.toDomainManga(source.id) }
|
||||
.filter { seenManga.add(it.url) }
|
||||
.let { networkToLocalManga(it) }
|
||||
|
||||
LoadResult.Page(
|
||||
|
Reference in New Issue
Block a user