use locale instead of string for language in AoDPlaylist

This commit is contained in:
Jannik 2021-07-25 19:30:25 +02:00
parent 309a991007
commit d76538cf28
Signed by: Seil0
GPG Key ID: E8459F3723C52C24
2 changed files with 10 additions and 13 deletions

View File

@ -49,7 +49,6 @@ object AoDParser {
private var loginSuccess = false
private val mediaList = arrayListOf<Media>() // actual media (data)
private val aodMediaList = arrayListOf<IAoDMedia>()
// gui media
val guiMediaList = arrayListOf<ItemMedia>()
@ -345,23 +344,16 @@ object AoDParser {
}.awaitAll()
playlists.forEach { aod ->
// TODO improve language handling
val locale = when (aod.language) {
"ger" -> Locale.GERMAN
"jap" -> Locale.JAPANESE
else -> Locale.ROOT
}
aod.list.forEach { ep ->
try {
if (media.hasEpisode(ep.mediaid)) {
media.getEpisodeById(ep.mediaid).streams.add(
Stream(ep.sources.first().file, locale)
Stream(ep.sources.first().file, aod.language)
)
} else {
media.episodes.add(Episode(
id = ep.mediaid,
streams = mutableListOf(Stream(ep.sources.first().file, locale)),
streams = mutableListOf(Stream(ep.sources.first().file, aod.language)),
posterUrl = ep.image,
title = ep.title,
description = ep.description,
@ -430,7 +422,7 @@ object AoDParser {
*/
private fun parsePlaylistAsync(playlistPath: String, language: String): Deferred<AoDPlaylist> {
if (playlistPath == "[]") {
return CompletableDeferred(AoDPlaylist(listOf(), language))
return CompletableDeferred(AoDPlaylist(listOf(), Locale.ROOT))
}
return CoroutineScope(Dispatchers.IO).async(Dispatchers.IO) {
@ -465,7 +457,12 @@ object AoDParser {
mediaid = it.asJsonObject.get("mediaid").asInt
)
},
language
// TODO improve language handling (via display language etc.)
language = when (language) {
"ger" -> Locale.GERMAN
"jap" -> Locale.JAPANESE
else -> Locale.ROOT
}
)
}
}

View File

@ -103,7 +103,7 @@ data class Stream(
*/
data class AoDPlaylist(
val list: List<Playlist>,
val language: String
val language: Locale
)
data class Playlist(