Animixplay: fix next button and sub preference (#340)

This commit is contained in:
GouravShDev
2022-02-15 18:38:10 +05:30
committed by GitHub
parent c1048aa4d8
commit 630f238991
2 changed files with 20 additions and 7 deletions

View File

@ -5,7 +5,7 @@ ext {
extName = 'Animixplay' extName = 'Animixplay'
pkgNameSuffix = 'en.animixplay' pkgNameSuffix = 'en.animixplay'
extClass = '.Animixplay' extClass = '.Animixplay'
extVersionCode = 3 extVersionCode = 4
libVersion = '12' libVersion = '12'
} }

View File

@ -19,6 +19,7 @@ import eu.kanade.tachiyomi.util.asJsoup
import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.ExperimentalSerializationApi
import kotlinx.serialization.decodeFromString import kotlinx.serialization.decodeFromString
import kotlinx.serialization.json.Json import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonElement
import kotlinx.serialization.json.JsonObject import kotlinx.serialization.json.JsonObject
import kotlinx.serialization.json.int import kotlinx.serialization.json.int
import kotlinx.serialization.json.jsonArray import kotlinx.serialization.json.jsonArray
@ -128,10 +129,22 @@ class Animixplay : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
) )
).execute().body!!.string() ).execute().body!!.string()
) )
val subPreference = preferences.getString("preferred_sub", "jpn")!! val subPreference = preferences.getString("preferred_sub", "sub")!!
val animeSubDubUrls = animeServersJson["data"]!!.jsonArray[0].jsonObject["items"]!!.jsonArray val animeSubDubUrls = animeServersJson["data"]!!.jsonArray[0].jsonObject["items"]!!.jsonArray
val animeUrlJson = if (subPreference == "jpn") animeSubDubUrls[animeSubDubUrls.size - 1] else animeSubDubUrls[0] val newList = mutableListOf<JsonElement>()
val urlEndpoint = animeUrlJson.jsonObject["url"]!!.jsonPrimitive.content var preferred = 0
for (jsonObj in animeSubDubUrls) {
if (jsonObj.toString().contains("dub")) {
newList.add(preferred, jsonObj)
preferred++
} else {
newList.add(jsonObj)
}
}
if (subPreference == "sub") {
newList.reverse()
}
val urlEndpoint = newList[0].jsonObject["url"]!!.jsonPrimitive.content
val episodesResponse = client.newCall( val episodesResponse = client.newCall(
GET( GET(
baseUrl + urlEndpoint, baseUrl + urlEndpoint,
@ -149,7 +162,7 @@ class Animixplay : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
for (i in 0 until episodeAvailable) { for (i in 0 until episodeAvailable) {
episodeList.add(episodeFromJsonElement(url, i)) episodeList.add(episodeFromJsonElement(url, i))
} }
return episodeList return episodeList.reversed()
} }
override fun episodeFromElement(element: Element): SEpisode = throw Exception("not used") override fun episodeFromElement(element: Element): SEpisode = throw Exception("not used")
@ -301,8 +314,8 @@ class Animixplay : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
key = "preferred_sub" key = "preferred_sub"
title = "Prefer subs or dubs?" title = "Prefer subs or dubs?"
entries = arrayOf("sub", "dub") entries = arrayOf("sub", "dub")
entryValues = arrayOf("jpn", "eng") entryValues = arrayOf("sub", "dub")
setDefaultValue("jpn") setDefaultValue("sub")
summary = "%s" summary = "%s"
setOnPreferenceChangeListener { _, newValue -> setOnPreferenceChangeListener { _, newValue ->