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