summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorCj Malone <Cj-Malone@users.noreply.github.com>2016-07-25 13:21:29 +0100
committerCj Malone <Cj-Malone@users.noreply.github.com>2016-07-25 13:21:29 +0100
commit0dfa36953bc50768a5fa6a31ec8e47391e0eb6bf (patch)
tree9a00823468a0a108d15dd79d9fdfbf498027820c /core
parent9562f1922ae3279572cd192caea988958c9ff2d4 (diff)
downloadAntennaPod-0dfa36953bc50768a5fa6a31ec8e47391e0eb6bf.zip
Support mrss' description
Reusing AtomText but it works perfectly. MRSS has "plain" and "html" types, fallsback to "plain" if null or invalid type
Diffstat (limited to 'core')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/syndication/namespace/NSMedia.java16
1 files changed, 15 insertions, 1 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/syndication/namespace/NSMedia.java b/core/src/main/java/de/danoeh/antennapod/core/syndication/namespace/NSMedia.java
index 5b7f8f5c5..46452085f 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/syndication/namespace/NSMedia.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/syndication/namespace/NSMedia.java
@@ -7,8 +7,10 @@ import org.xml.sax.Attributes;
import java.util.concurrent.TimeUnit;
+import de.danoeh.antennapod.core.feed.FeedImage;
import de.danoeh.antennapod.core.feed.FeedMedia;
import de.danoeh.antennapod.core.syndication.handler.HandlerState;
+import de.danoeh.antennapod.core.syndication.namespace.atom.AtomText;
import de.danoeh.antennapod.core.syndication.util.SyndTypeUtils;
/** Processes tags from the http://search.yahoo.com/mrss/ namespace. */
@@ -28,6 +30,9 @@ public class NSMedia extends Namespace {
private static final String IMAGE = "thumbnail";
private static final String IMAGE_URL = "url";
+ private static final String DESCRIPTION = "description";
+ private static final String DESCRIPTION_TYPE = "type";
+
@Override
public SyndElement handleElementStart(String localName, HandlerState state,
Attributes attributes) {
@@ -90,13 +95,22 @@ public class NSMedia extends Namespace {
}
}
}
+ } else if (DESCRIPTION.equals(localName)) {
+ String type = attributes.getValue(DESCRIPTION_TYPE);
+ return new AtomText(localName, this, type);
}
return new SyndElement(localName, this);
}
@Override
public void handleElementEnd(String localName, HandlerState state) {
-
+ if (DESCRIPTION.equals(localName)) {
+ String content = state.getContentBuf().toString();
+ if (state.getCurrentItem() != null && content != null &&
+ state.getCurrentItem().getDescription() == null) {
+ state.getCurrentItem().setDescription(content);
+ }
+ }
}
}