diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/local/data/input/LocalMangaParser.kt b/app/src/main/kotlin/org/koitharu/kotatsu/local/data/input/LocalMangaParser.kt index 910ff964e..9c28e7b16 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/local/data/input/LocalMangaParser.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/local/data/input/LocalMangaParser.kt @@ -67,13 +67,18 @@ class LocalMangaParser(private val uri: Uri) { coverUrl = coverEntry?.let { uri.child(it, resolve = true).toString() }.orEmpty(), largeCoverUrl = null, chapters = if (withDetails) { - mangaInfo.chapters?.map { c -> - c.copyInternal( - url = index.getChapterFileName(c.id)?.toPath()?.let { - uri.child(it, resolve = false).toString() - } ?: uri.toString(), - source = LocalMangaSource, - ) + mangaInfo.chapters?.mapNotNull { c -> + val path = index.getChapterFileName(c.id)?.toPath() + if (path != null && !fileSystem.exists(rootPath / path)) { + null + } else { + c.copyInternal( + url = path?.let { + uri.child(it, resolve = false).toString() + } ?: uri.toString(), + source = LocalMangaSource, + ) + } } } else { null