diff --git a/app/src/main/java/exh/md/handlers/ApiMangaParser.kt b/app/src/main/java/exh/md/handlers/ApiMangaParser.kt index 405a4ee56..f7d0e2d0e 100644 --- a/app/src/main/java/exh/md/handlers/ApiMangaParser.kt +++ b/app/src/main/java/exh/md/handlers/ApiMangaParser.kt @@ -156,8 +156,13 @@ class ApiMangaParser(private val langs: List) { } } } - val removeOneshots = filteredChapters.filter { !it.value.chapter.isNullOrBlank() } - return removeOneshots.size.toString() == finalChapterNumber.toDouble().floor().toString() + val removeOneshots = filteredChapters.asSequence() + .map { it.value.chapter!!.toDoubleOrNull() } + .filter { it != null } + .map { it!!.floor() } + .filter { it != 0 } + .toList().distinctBy { it } + return removeOneshots.toList().size == finalChapterNumber.toDouble().floor() } private fun filterChapterForChecking(serializer: ApiMangaSerializer): List> { @@ -166,7 +171,7 @@ class ApiMangaParser(private val langs: List) { .filter { langs.contains(it.value.lang_code) } .filter { it.value.chapter?.let { chapterNumber -> - if (chapterNumber.toIntOrNull() == null) { + if (chapterNumber.toDoubleOrNull() == null) { return@filter false } return@filter true