diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt index 147026737..0aa43e980 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt @@ -442,11 +442,9 @@ class LibraryScreenModel( ): Map { if (favorites.isEmpty()) return emptyMap() - val chapterDurationsByMangaId = getReadDurationEntriesByMangaIds.await( - favorites.map { it.id }, - ) - .groupBy { it.mangaId } - .mapValues { (_, entries) -> entries.map { it.readDuration } } + val chapterDurationsByMangaId = favorites.associate { item -> + item.id to getReadDurationEntriesByMangaIds.await(item.id).map { it.readDuration } + } val globalAverageChapterDurationMs = calculateAverageChapterDurationMs( chapterDurationsByMangaId.values.flatten(), ) diff --git a/domain/src/main/java/tachiyomi/domain/history/interactor/GetReadDurationEntriesByMangaIds.kt b/domain/src/main/java/tachiyomi/domain/history/interactor/GetReadDurationEntriesByMangaIds.kt index 2857bccd2..50d197f00 100644 --- a/domain/src/main/java/tachiyomi/domain/history/interactor/GetReadDurationEntriesByMangaIds.kt +++ b/domain/src/main/java/tachiyomi/domain/history/interactor/GetReadDurationEntriesByMangaIds.kt @@ -6,9 +6,11 @@ import tachiyomi.domain.history.repository.HistoryRepository class GetReadDurationEntriesByMangaIds( private val repository: HistoryRepository, ) { + suspend fun await(mangaId: Long): List { + return repository.getHistoryByMangaId(mangaId) + } + suspend fun await(mangaIds: List): List { - return mangaIds.flatMap { mangaId -> - repository.getHistoryByMangaId(mangaId) - } + return mangaIds.flatMap(::await) } }