diff --git a/api/src/androidTest/assets/localfeed/rss/rss_items_media_content.xml b/api/src/androidTest/assets/localfeed/rss/rss_items_media_content.xml
index 323246c7..74355f7b 100644
--- a/api/src/androidTest/assets/localfeed/rss/rss_items_media_content.xml
+++ b/api/src/androidTest/assets/localfeed/rss/rss_items_media_content.xml
@@ -18,7 +18,7 @@
-
+ image2 title
\ No newline at end of file
diff --git a/api/src/main/java/com/readrops/api/localfeed/rss/RSSItemsAdapter.kt b/api/src/main/java/com/readrops/api/localfeed/rss/RSSItemsAdapter.kt
index cae98764..5f074af3 100644
--- a/api/src/main/java/com/readrops/api/localfeed/rss/RSSItemsAdapter.kt
+++ b/api/src/main/java/com/readrops/api/localfeed/rss/RSSItemsAdapter.kt
@@ -30,10 +30,15 @@ class RSSItemsAdapter : XmlAdapter> {
"pubDate" -> pubDate = DateUtils.stringToLocalDateTime(nonNullText())
"dc:date" -> pubDate = DateUtils.stringToLocalDateTime(nonNullText())
"guid" -> guid = nullableText()
- "description" -> description = nullableText()
- "content:encoded" -> content = nullableText()
+ "description" -> description = text(failOnElement = false)
+ "content:encoded" -> content = nullableText(failOnElement = false)
"enclosure" -> parseEnclosure(this, enclosures)
"media:content" -> parseMediaContent(this, mediaContents)
+ "media:group" -> allChildrenAutoIgnore("content") {
+ when (tagName) {
+ "media:content" -> parseMediaContent(this, mediaContents)
+ }
+ }
else -> skipContents() // for example media:description
}
}
@@ -69,6 +74,8 @@ class RSSItemsAdapter : XmlAdapter> {
if (konsume.attributes.getValueOpt("medium") != null
&& LibUtils.isMimeImage(konsume.attributes["medium"]))
mediaContents += konsume.attributes["url"]
+
+ konsume.skipContents() // ignore media content sub elements
}
private fun validateItem(item: Item) {
@@ -81,6 +88,6 @@ class RSSItemsAdapter : XmlAdapter> {
companion object {
val names = Names.of("title", "link", "author", "creator", "pubDate", "date",
- "guid", "description", "encoded", "enclosure", "content")
+ "guid", "description", "encoded", "enclosure", "content", "group")
}
}
\ No newline at end of file