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'
pkgNameSuffix = 'en.animixplay'
extClass = '.Animixplay'
extVersionCode = 3
extVersionCode = 4
libVersion = '12'
}

View File

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