Animixplay: fix next button and sub preference (#340)
This commit is contained in:
@ -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'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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 ->
|
||||||
|
Reference in New Issue
Block a user