summaryrefslogtreecommitdiff
path: root/src/de/danoeh/antennapod/syndication/namespace/rss20/NSRSS20.java
diff options
context:
space:
mode:
authordaniel oeh <daniel.oeh@gmail.com>2012-10-20 19:50:15 +0200
committerdaniel oeh <daniel.oeh@gmail.com>2012-10-20 19:50:15 +0200
commit85d1ed05204671143103e59fdef9803c35b7d27d (patch)
tree4c5f02ec97759abec684ec15d1bfe4622d68794c /src/de/danoeh/antennapod/syndication/namespace/rss20/NSRSS20.java
parent48f1cd2b3bdc63b9e3590004941ac770eaca998a (diff)
downloadAntennaPod-85d1ed05204671143103e59fdef9803c35b7d27d.zip
Only read image-tag if it's a sub-element of the channel-tag
Diffstat (limited to 'src/de/danoeh/antennapod/syndication/namespace/rss20/NSRSS20.java')
-rw-r--r--src/de/danoeh/antennapod/syndication/namespace/rss20/NSRSS20.java15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/de/danoeh/antennapod/syndication/namespace/rss20/NSRSS20.java b/src/de/danoeh/antennapod/syndication/namespace/rss20/NSRSS20.java
index 46fe03bcf..388e1540e 100644
--- a/src/de/danoeh/antennapod/syndication/namespace/rss20/NSRSS20.java
+++ b/src/de/danoeh/antennapod/syndication/namespace/rss20/NSRSS20.java
@@ -67,7 +67,12 @@ public class NSRSS20 extends Namespace {
}
} else if (localName.equals(IMAGE)) {
- state.getFeed().setImage(new FeedImage());
+ if (state.getTagstack().size() >= 1) {
+ String parent = state.getTagstack().peek().getName();
+ if (parent.equals(CHANNEL)) {
+ state.getFeed().setImage(new FeedImage());
+ }
+ }
}
return new SyndElement(localName, this);
}
@@ -83,6 +88,10 @@ public class NSRSS20 extends Namespace {
String top = topElement.getName();
SyndElement secondElement = state.getSecondTag();
String second = secondElement.getName();
+ String third = null;
+ if (state.getTagstack().size() >= 3) {
+ third = state.getThirdTag().getName();
+ }
if (top.equals(GUID) && second.equals(ITEM)) {
state.getCurrentItem().setItemIdentifier(content);
@@ -91,7 +100,7 @@ public class NSRSS20 extends Namespace {
state.getCurrentItem().setTitle(content);
} else if (second.equals(CHANNEL)) {
state.getFeed().setTitle(content);
- } else if (second.equals(IMAGE)) {
+ } else if (second.equals(IMAGE) && third != null && third.equals(CHANNEL)) {
state.getFeed().getImage().setTitle(IMAGE);
}
} else if (top.equals(LINK)) {
@@ -103,7 +112,7 @@ public class NSRSS20 extends Namespace {
} else if (top.equals(PUBDATE) && second.equals(ITEM)) {
state.getCurrentItem().setPubDate(
SyndDateUtils.parseRFC822Date(content));
- } else if (top.equals(URL) && second.equals(IMAGE)) {
+ } else if (top.equals(URL) && second.equals(IMAGE) && third != null && third.equals(CHANNEL)) {
state.getFeed().getImage().setDownload_url(content);
} else if (localName.equals(DESCR)) {
if (second.equals(CHANNEL)) {