diff --git a/src/en/aniwave/build.gradle b/src/en/aniwave/build.gradle index b8c8a58ea..19b58d104 100644 --- a/src/en/aniwave/build.gradle +++ b/src/en/aniwave/build.gradle @@ -8,7 +8,7 @@ ext { extName = 'Aniwave' pkgNameSuffix = 'en.nineanime' extClass = '.Aniwave' - extVersionCode = 55 + extVersionCode = 56 libVersion = '13' } diff --git a/src/en/aniwave/src/eu/kanade/tachiyomi/animeextension/en/nineanime/Aniwave.kt b/src/en/aniwave/src/eu/kanade/tachiyomi/animeextension/en/nineanime/Aniwave.kt index 02e578681..badfa2ce2 100644 --- a/src/en/aniwave/src/eu/kanade/tachiyomi/animeextension/en/nineanime/Aniwave.kt +++ b/src/en/aniwave/src/eu/kanade/tachiyomi/animeextension/en/nineanime/Aniwave.kt @@ -63,6 +63,8 @@ class Aniwave : ConfigurableAnimeSource, ParsedAnimeHttpSource() { add("Referer", "$baseUrl/") }.build() + private val markFiller by lazy { preferences.getBoolean(PREF_MARK_FILLERS_KEY, PREF_MARK_FILLERS_DEFAULT) } + // ============================== Popular =============================== override fun popularAnimeRequest(page: Int): Request = GET("$baseUrl/filter?sort=trending&page=$page", refererHeaders) @@ -177,7 +179,7 @@ class Aniwave : ConfigurableAnimeSource, ParsedAnimeHttpSource() { val dub = if (element.attr("data-dub").toInt().toBoolean()) "Dub" else "" val softSub = if (SOFTSUB_REGEX.find(title) != null) "SoftSub" else "" - val extraInfo = if (element.hasClass("filler") && preferences.getBoolean(PREF_MARK_FILLERS_KEY, PREF_MARK_FILLERS_DEFAULT)) { + val extraInfo = if (element.hasClass("filler") && markFiller) { " • Filler Episode" } else { "" @@ -226,7 +228,7 @@ class Aniwave : ConfigurableAnimeSource, ParsedAnimeHttpSource() { val hosterSelection = preferences.getStringSet(PREF_HOSTER_KEY, PREF_HOSTER_DEFAULT)!! val typeSelection = preferences.getStringSet(PREF_TYPE_TOGGLE_KEY, PREF_TYPES_TOGGLE_DEFAULT)!! - return document.select("div.servers > div").parallelMap { elem -> + return document.select("div.servers > div").parallelFlatMap { elem -> val type = elem.attr("data-type").replaceFirstChar { it.uppercase() } elem.select("li").mapNotNull { serverElement -> val serverId = serverElement.attr("data-link-id") @@ -237,9 +239,7 @@ class Aniwave : ConfigurableAnimeSource, ParsedAnimeHttpSource() { VideoData(type, serverId, serverName) } } - .flatten() - .parallelMap { extractVideo(it, epurl) } - .flatten() + .parallelFlatMap { extractVideo(it, epurl) } .ifEmpty { throw Exception("Failed to fetch videos") } } @@ -275,7 +275,7 @@ class Aniwave : ConfigurableAnimeSource, ParsedAnimeHttpSource() { val embedLink = utils.callEnimax(parsed.result.url, "decrypt") when (server.serverName) { "vidplay", "mycloud" -> vidsrcExtractor.videosFromUrl(embedLink, server.serverName, server.type) - "filemoon" -> filemoonExtractor.videosFromUrl(embedLink, "Filemoon - ${server.type}") + "filemoon" -> filemoonExtractor.videosFromUrl(embedLink, "Filemoon - ${server.type} - ") "streamtape" -> streamtapeExtractor.videoFromUrl(embedLink, "StreamTape - ${server.type}")?.let(::listOf) ?: emptyList() "mp4upload" -> mp4uploadExtractor.videosFromUrl(embedLink, headers, suffix = " - ${server.type}") else -> emptyList() @@ -295,9 +295,9 @@ class Aniwave : ConfigurableAnimeSource, ParsedAnimeHttpSource() { val server = preferences.getString(PREF_SERVER_KEY, PREF_SERVER_DEFAULT)!! return this.sortedWith( - compareByDescending