summaryrefslogtreecommitdiff
path: root/src/de/danoeh/antennapod/syndication/namespace
diff options
context:
space:
mode:
authordaniel oeh <daniel.oeh@gmail.com>2014-03-19 20:27:12 +0100
committerdaniel oeh <daniel.oeh@gmail.com>2014-03-19 21:05:15 +0100
commite8b9e49ee9527f4e533c08cb7ac39d1dc8a19b6b (patch)
tree84387048022e9c9453f0ec53daec029219e529ff /src/de/danoeh/antennapod/syndication/namespace
parentb9ab10253ab04bacd7d27ab7a7aecd561f7efbc2 (diff)
downloadAntennaPod-e8b9e49ee9527f4e533c08cb7ac39d1dc8a19b6b.zip
Added support for images in itunes:image tags.
Diffstat (limited to 'src/de/danoeh/antennapod/syndication/namespace')
-rw-r--r--src/de/danoeh/antennapod/syndication/namespace/NSITunes.java77
1 files changed, 44 insertions, 33 deletions
diff --git a/src/de/danoeh/antennapod/syndication/namespace/NSITunes.java b/src/de/danoeh/antennapod/syndication/namespace/NSITunes.java
index cd7fef509..d8cbe040b 100644
--- a/src/de/danoeh/antennapod/syndication/namespace/NSITunes.java
+++ b/src/de/danoeh/antennapod/syndication/namespace/NSITunes.java
@@ -1,40 +1,51 @@
package de.danoeh.antennapod.syndication.namespace;
-import org.xml.sax.Attributes;
-
import de.danoeh.antennapod.feed.FeedImage;
import de.danoeh.antennapod.syndication.handler.HandlerState;
+import org.xml.sax.Attributes;
+
+public class NSITunes extends Namespace {
+ public static final String NSTAG = "itunes";
+ public static final String NSURI = "http://www.itunes.com/dtds/podcast-1.0.dtd";
+
+ private static final String IMAGE = "image";
+ private static final String IMAGE_TITLE = "image";
+ private static final String IMAGE_HREF = "href";
+
+ private static final String AUTHOR = "author";
+
+
+ @Override
+ public SyndElement handleElementStart(String localName, HandlerState state,
+ Attributes attributes) {
+ if (localName.equals(IMAGE)) {
+ FeedImage image = new FeedImage();
+ image.setTitle(IMAGE_TITLE);
+ image.setDownload_url(attributes.getValue(IMAGE_HREF));
+
+ if (state.getCurrentItem() != null) {
+ // this is an items image
+ image.setTitle(state.getCurrentItem().getTitle() + IMAGE_TITLE);
+ state.getCurrentItem().setImage(image);
+
+ } else {
+ // this is the feed image
+ if (state.getFeed().getImage() == null) {
+ state.getFeed().setImage(image);
+ }
+ }
+
+ }
+
+ return new SyndElement(localName, this);
+ }
+
+ @Override
+ public void handleElementEnd(String localName, HandlerState state) {
+ if (localName.equals(AUTHOR)) {
+ state.getFeed().setAuthor(state.getContentBuf().toString());
+ }
-public class NSITunes extends Namespace{
- public static final String NSTAG = "itunes";
- public static final String NSURI = "http://www.itunes.com/dtds/podcast-1.0.dtd";
-
- private static final String IMAGE = "image";
- private static final String IMAGE_TITLE = "image";
- private static final String IMAGE_HREF = "href";
-
- private static final String AUTHOR = "author";
-
-
- @Override
- public SyndElement handleElementStart(String localName, HandlerState state,
- Attributes attributes) {
- if (localName.equals(IMAGE) && state.getFeed().getImage() == null) {
- FeedImage image = new FeedImage();
- image.setTitle(IMAGE_TITLE);
- image.setDownload_url(attributes.getValue(IMAGE_HREF));
- state.getFeed().setImage(image);
- }
-
- return new SyndElement(localName, this);
- }
-
- @Override
- public void handleElementEnd(String localName, HandlerState state) {
- if (localName.equals(AUTHOR)) {
- state.getFeed().setAuthor(state.getContentBuf().toString());
- }
-
- }
+ }
}