diff --git a/src/en/nineanime/build.gradle b/src/en/nineanime/build.gradle index 1b97c417..e572ab0b 100644 --- a/src/en/nineanime/build.gradle +++ b/src/en/nineanime/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Aniwave' extClass = '.Aniwave' - extVersionCode = 73 + extVersionCode = 72 } apply from: "$rootDir/common.gradle" diff --git a/src/en/nineanime/src/eu/kanade/tachiyomi/animeextension/en/nineanime/Aniwave.kt b/src/en/nineanime/src/eu/kanade/tachiyomi/animeextension/en/nineanime/Aniwave.kt index f97d7c66..f8cdc324 100644 --- a/src/en/nineanime/src/eu/kanade/tachiyomi/animeextension/en/nineanime/Aniwave.kt +++ b/src/en/nineanime/src/eu/kanade/tachiyomi/animeextension/en/nineanime/Aniwave.kt @@ -2,10 +2,7 @@ package eu.kanade.tachiyomi.animeextension.en.nineanime import android.app.Application import android.content.SharedPreferences -import android.util.Log -import android.webkit.URLUtil import android.widget.Toast -import androidx.preference.EditTextPreference import androidx.preference.ListPreference import androidx.preference.MultiSelectListPreference import androidx.preference.PreferenceScreen @@ -41,12 +38,7 @@ class Aniwave : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override val id: Long = 98855593379717478 override val baseUrl by lazy { - val customDomain = preferences.getString(PREF_CUSTOM_DOMAIN_KEY, null) - if (customDomain.isNullOrBlank()) { - preferences.getString(PREF_DOMAIN_KEY, PREF_DOMAIN_DEFAULT)!! - } else { - customDomain - } + preferences.getString(PREF_DOMAIN_KEY, PREF_DOMAIN_DEFAULT)!! } override val lang = "en" @@ -97,7 +89,7 @@ class Aniwave : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override fun searchAnimeRequest(page: Int, query: String, filters: AnimeFilterList): Request { val filters = AniwaveFilters.getSearchParameters(filters) - val vrf = if (query.isNotBlank()) utils.vrfEncrypt(ENCRYPTION_KEY, query) else "" + val vrf = if (query.isNotBlank()) utils.vrfEncrypt(KEY_ENCRYPT, query) else "" var url = "$baseUrl/filter?keyword=$query" if (filters.genre.isNotBlank()) url += filters.genre @@ -124,39 +116,30 @@ class Aniwave : ConfigurableAnimeSource, ParsedAnimeHttpSource() { // =========================== Anime Details ============================ - override fun animeDetailsParse(document: Document): SAnime { - val anime = SAnime.create() - val newDocument = resolveSearchAnime(anime, document) - anime.apply { - title = newDocument.select("h1.title").text() - genre = newDocument.select("div:contains(Genre) > span > a").joinToString { it.text() } - description = newDocument.select("div.synopsis > div.shorting > div.content").text() - author = newDocument.select("div:contains(Studio) > span > a").text() - status = parseStatus(newDocument.select("div:contains(Status) > span").text()) + override fun animeDetailsParse(document: Document): SAnime = SAnime.create().apply { + title = document.select("h1.title").text() + genre = document.select("div:contains(Genre) > span > a").joinToString { it.text() } + description = document.select("div.synopsis > div.shorting > div.content").text() + author = document.select("div:contains(Studio) > span > a").text() + status = parseStatus(document.select("div:contains(Status) > span").text()) - val altName = "Other name(s): " - newDocument.select("h1.title").attr("data-jp").let { - if (it.isNotBlank()) { - description = when { - description.isNullOrBlank() -> altName + it - else -> description + "\n\n$altName" + it - } + val altName = "Other name(s): " + document.select("h1.title").attr("data-jp").let { + if (it.isNotBlank()) { + description = when { + description.isNullOrBlank() -> altName + it + else -> description + "\n\n$altName" + it } } } - return anime } // ============================== Episodes ============================== override fun episodeListRequest(anime: SAnime): Request { - Log.i(name, "episodeListRequest") - val response = client.newCall(GET(baseUrl + anime.url)).execute() - var document = response.asJsoup() - document = resolveSearchAnime(anime, document) - val id = document.selectFirst("div[data-id]")?.attr("data-id") ?: throw Exception("ID not found") - - val vrf = utils.vrfEncrypt(ENCRYPTION_KEY, id) + val id = client.newCall(GET(baseUrl + anime.url)).execute().asJsoup() + .selectFirst("div[data-id]")!!.attr("data-id") + val vrf = utils.vrfEncrypt(KEY_ENCRYPT, id) val listHeaders = headers.newBuilder().apply { add("Accept", "application/json, text/javascript, */*; q=0.01") @@ -212,7 +195,7 @@ class Aniwave : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override fun videoListRequest(episode: SEpisode): Request { val ids = episode.url.substringBefore("&") - val vrf = utils.vrfEncrypt(ENCRYPTION_KEY, ids) + val vrf = utils.vrfEncrypt(KEY_ENCRYPT, ids) val url = "/ajax/server/list/$ids?vrf=$vrf" val epurl = episode.url.substringAfter("epurl=") @@ -265,7 +248,7 @@ class Aniwave : ConfigurableAnimeSource, ParsedAnimeHttpSource() { private val mp4uploadExtractor by lazy { Mp4uploadExtractor(client) } private fun extractVideo(server: VideoData, epUrl: String): List