diff --git a/app/src/main/java/ani/dantotsu/media/MediaNameAdapter.kt b/app/src/main/java/ani/dantotsu/media/MediaNameAdapter.kt index 07d151a0851..a28bc018ddb 100644 --- a/app/src/main/java/ani/dantotsu/media/MediaNameAdapter.kt +++ b/app/src/main/java/ani/dantotsu/media/MediaNameAdapter.kt @@ -70,7 +70,7 @@ object MediaNameAdapter { return if (seasonMatcher.find()) { seasonMatcher.group(2)?.toInt() } else { - null + text.toIntOrNull() } } @@ -93,7 +93,7 @@ object MediaNameAdapter { } } } else { - null + text.toFloatOrNull() } } @@ -139,7 +139,7 @@ object MediaNameAdapter { if (failedChapterNumberMatcher.find()) { failedChapterNumberMatcher.group(1)?.toFloat() } else { - null + text.toFloatOrNull() } } } diff --git a/app/src/main/java/ani/dantotsu/parsers/OfflineAnimeParser.kt b/app/src/main/java/ani/dantotsu/parsers/OfflineAnimeParser.kt index e35e8a8ccaa..85d1af9089d 100644 --- a/app/src/main/java/ani/dantotsu/parsers/OfflineAnimeParser.kt +++ b/app/src/main/java/ani/dantotsu/parsers/OfflineAnimeParser.kt @@ -55,12 +55,11 @@ class OfflineAnimeParser : AnimeParser() { episodes.add(episode) } } - return if (episodes.isNotEmpty()) { - episodes.sortBy { MediaNameAdapter.findEpisodeNumber(it.number) } - episodes - } else { - loadEpisodesCompat(animeLink, extra, sAnime) - } + //episodes.sortBy { MediaNameAdapter.findEpisodeNumber(it.number) } + episodes.addAll(loadEpisodesCompat(animeLink, extra, sAnime)) + //filter those with the same name + return episodes.distinctBy { it.number } + .sortedBy { MediaNameAdapter.findEpisodeNumber(it.number) } } return emptyList() } diff --git a/app/src/main/java/ani/dantotsu/parsers/OfflineMangaParser.kt b/app/src/main/java/ani/dantotsu/parsers/OfflineMangaParser.kt index b943a2faad7..113375ae6cc 100644 --- a/app/src/main/java/ani/dantotsu/parsers/OfflineMangaParser.kt +++ b/app/src/main/java/ani/dantotsu/parsers/OfflineMangaParser.kt @@ -43,12 +43,8 @@ class OfflineMangaParser : MangaParser() { chapters.add(chapter) } } - return if (chapters.isNotEmpty()) { - chapters.sortBy { MediaNameAdapter.findChapterNumber(it.number) } - chapters - } else { - loadChaptersCompat(mangaLink, extra, sManga) - } + chapters.addAll(loadChaptersCompat(mangaLink, extra, sManga)) + chapters.distinctBy { it.number }.sortedBy { MediaNameAdapter.findChapterNumber(it.number) } } return emptyList() }