Animeworld: Add server preference (#1641)
* Add server preference * Remove comments
This commit is contained in:
parent
0aa92d6d74
commit
6bfd1da57c
@ -6,7 +6,7 @@ ext {
|
|||||||
extName = 'ANIMEWORLD.tv'
|
extName = 'ANIMEWORLD.tv'
|
||||||
pkgNameSuffix = 'it.animeworld'
|
pkgNameSuffix = 'it.animeworld'
|
||||||
extClass = '.ANIMEWORLD'
|
extClass = '.ANIMEWORLD'
|
||||||
extVersionCode = 25
|
extVersionCode = 26
|
||||||
libVersion = '13'
|
libVersion = '13'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -193,21 +193,15 @@ class ANIMEWORLD : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
|||||||
override fun videoUrlParse(document: Document) = throw Exception("not used")
|
override fun videoUrlParse(document: Document) = throw Exception("not used")
|
||||||
|
|
||||||
override fun List<Video>.sort(): List<Video> {
|
override fun List<Video>.sort(): List<Video> {
|
||||||
val quality = preferences.getString("preferred_quality", null)
|
val quality = preferences.getString("preferred_quality", "1080")!!
|
||||||
if (quality != null) {
|
val server = preferences.getString("preferred_server", "Animeworld server")!!
|
||||||
val newList = mutableListOf<Video>()
|
|
||||||
var preferred = 0
|
return sortedWith(
|
||||||
for (video in this) {
|
compareBy(
|
||||||
if (video.quality.contains(quality)) {
|
{ it.quality.lowercase().contains(server.lowercase()) },
|
||||||
newList.add(preferred, video)
|
{ it.quality.lowercase().contains(quality.lowercase()) },
|
||||||
preferred++
|
),
|
||||||
} else {
|
).reversed()
|
||||||
newList.add(video)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return newList
|
|
||||||
}
|
|
||||||
return this
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// search
|
// search
|
||||||
@ -530,8 +524,8 @@ class ANIMEWORLD : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
|||||||
val videoQualityPref = ListPreference(screen.context).apply {
|
val videoQualityPref = ListPreference(screen.context).apply {
|
||||||
key = "preferred_quality"
|
key = "preferred_quality"
|
||||||
title = "Preferred quality"
|
title = "Preferred quality"
|
||||||
entries = arrayOf("1080p", "720p", "480p", "360p", "Doodstream", "StreamTape")
|
entries = arrayOf("1080p", "720p", "480p", "360p")
|
||||||
entryValues = arrayOf("1080", "720", "480", "360", "Doodstream", "StreamTape")
|
entryValues = arrayOf("1080", "720", "480", "360")
|
||||||
setDefaultValue("1080")
|
setDefaultValue("1080")
|
||||||
summary = "%s"
|
summary = "%s"
|
||||||
|
|
||||||
@ -542,7 +536,23 @@ class ANIMEWORLD : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
|||||||
preferences.edit().putString(key, entry).commit()
|
preferences.edit().putString(key, entry).commit()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
val serverPref = ListPreference(screen.context).apply {
|
||||||
|
key = "preferred_server"
|
||||||
|
title = "Preferred server"
|
||||||
|
entries = arrayOf("Animeworld server", "FileMoon", "StreamHide", "StreamSB", "Doodstream", "StreamTape")
|
||||||
|
entryValues = arrayOf("Animeworld server", "FileMoon", "StreamHide", "StreamSB", "Doodstream", "StreamTape")
|
||||||
|
setDefaultValue("Animeworld server")
|
||||||
|
summary = "%s"
|
||||||
|
|
||||||
|
setOnPreferenceChangeListener { _, newValue ->
|
||||||
|
val selected = newValue as String
|
||||||
|
val index = findIndexOfValue(selected)
|
||||||
|
val entry = entryValues[index] as String
|
||||||
|
preferences.edit().putString(key, entry).commit()
|
||||||
|
}
|
||||||
|
}
|
||||||
screen.addPreference(videoQualityPref)
|
screen.addPreference(videoQualityPref)
|
||||||
|
screen.addPreference(serverPref)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Utilities
|
// Utilities
|
||||||
|
Loading…
x
Reference in New Issue
Block a user