From fa6419bb0249d8a037c5d57bb56c177b8e0daa61 Mon Sep 17 00:00:00 2001 From: Jannik Date: Thu, 15 Oct 2020 18:57:58 +0200 Subject: [PATCH] if a media was already fully loaded, don't load it again for Since medias are cached in memory it is unnecessary to load them if they have been fully loaded once before --- app/src/main/java/org/mosad/teapod/parser/AoDParser.kt | 5 +++++ app/src/main/java/org/mosad/teapod/util/DataTypes.kt | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/mosad/teapod/parser/AoDParser.kt b/app/src/main/java/org/mosad/teapod/parser/AoDParser.kt index 2a0890b..40b8bab 100644 --- a/app/src/main/java/org/mosad/teapod/parser/AoDParser.kt +++ b/app/src/main/java/org/mosad/teapod/parser/AoDParser.kt @@ -119,6 +119,11 @@ class AoDParser { return@runBlocking listOf() } + // if the episodes list is not empty it was loaded before + if (media.episodes.isNotEmpty()) { + return@runBlocking media.episodes + } + withContext(Dispatchers.Default) { val res = Jsoup.connect(baseUrl + media.link) diff --git a/app/src/main/java/org/mosad/teapod/util/DataTypes.kt b/app/src/main/java/org/mosad/teapod/util/DataTypes.kt index 27e0435..e6390ae 100644 --- a/app/src/main/java/org/mosad/teapod/util/DataTypes.kt +++ b/app/src/main/java/org/mosad/teapod/util/DataTypes.kt @@ -8,7 +8,14 @@ class DataTypes { } } -data class Media(val title: String, val link: String, val type: DataTypes.MediaType, val info : Info = Info(), var episodes: List = listOf()) { +// TODO the episodes workflow could use a clean up/rework +data class Media( + val title: String, + val link: String, + val type: DataTypes.MediaType, + val info: Info = Info(), + var episodes: List = listOf() +) { override fun toString(): String { return title }