summaryrefslogtreecommitdiff
path: root/src/de/danoeh/antennapod/syndication
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/danoeh/antennapod/syndication')
-rw-r--r--src/de/danoeh/antennapod/syndication/handler/SyndHandler.java26
-rw-r--r--src/de/danoeh/antennapod/syndication/namespace/atom/AtomText.java14
-rw-r--r--src/de/danoeh/antennapod/syndication/namespace/atom/NSAtom.java7
-rw-r--r--src/de/danoeh/antennapod/syndication/util/SyndDateUtils.java1
4 files changed, 29 insertions, 19 deletions
diff --git a/src/de/danoeh/antennapod/syndication/handler/SyndHandler.java b/src/de/danoeh/antennapod/syndication/handler/SyndHandler.java
index d281fb021..4582aabba 100644
--- a/src/de/danoeh/antennapod/syndication/handler/SyndHandler.java
+++ b/src/de/danoeh/antennapod/syndication/handler/SyndHandler.java
@@ -22,7 +22,6 @@ public class SyndHandler extends DefaultHandler {
private static final String DEFAULT_PREFIX = "";
protected HandlerState state;
-
public SyndHandler(Feed feed, TypeGetter.Type type) {
state = new HandlerState(feed);
if (type == TypeGetter.Type.RSS20) {
@@ -49,8 +48,8 @@ public class SyndHandler extends DefaultHandler {
if (!state.tagstack.empty()) {
if (state.getTagstack().size() >= 2) {
if (state.contentBuf != null) {
- String content = new String(ch, start, length);
- state.contentBuf.append(content);
+ String content = new String(ch, start, length);
+ state.contentBuf.append(content);
}
}
}
@@ -83,24 +82,29 @@ public class SyndHandler extends DefaultHandler {
state.defaultNamespaces.push(new NSAtom());
} else if (prefix.equals(NSAtom.NSTAG)) {
state.namespaces.put(uri, new NSAtom());
- if (AppConfig.DEBUG) Log.d(TAG, "Recognized Atom namespace");
+ if (AppConfig.DEBUG)
+ Log.d(TAG, "Recognized Atom namespace");
}
- } else if (uri.equals(NSContent.NSURI) && prefix.equals(NSContent.NSTAG)) {
+ } else if (uri.equals(NSContent.NSURI)
+ && prefix.equals(NSContent.NSTAG)) {
state.namespaces.put(uri, new NSContent());
- if (AppConfig.DEBUG) Log.d(TAG, "Recognized Content namespace");
+ if (AppConfig.DEBUG)
+ Log.d(TAG, "Recognized Content namespace");
} else if (uri.equals(NSITunes.NSURI) && prefix.equals(NSITunes.NSTAG)) {
state.namespaces.put(uri, new NSITunes());
- if (AppConfig.DEBUG) Log.d(TAG, "Recognized ITunes namespace");
- } else if (uri.equals(NSSimpleChapters.NSURI) && prefix.equals(NSSimpleChapters.NSTAG)) {
+ if (AppConfig.DEBUG)
+ Log.d(TAG, "Recognized ITunes namespace");
+ } else if (uri.equals(NSSimpleChapters.NSURI)
+ && prefix.equals(NSSimpleChapters.NSTAG)) {
state.namespaces.put(uri, new NSSimpleChapters());
- if (AppConfig.DEBUG) Log.d(TAG, "Recognized SimpleChapters namespace");
+ if (AppConfig.DEBUG)
+ Log.d(TAG, "Recognized SimpleChapters namespace");
}
}
private Namespace getHandlingNamespace(String uri) {
Namespace handler = state.namespaces.get(uri);
- if (handler == null && uri.equals(DEFAULT_PREFIX)
- && !state.defaultNamespaces.empty()) {
+ if (handler == null && !state.defaultNamespaces.empty()) {
handler = state.defaultNamespaces.peek();
}
return handler;
diff --git a/src/de/danoeh/antennapod/syndication/namespace/atom/AtomText.java b/src/de/danoeh/antennapod/syndication/namespace/atom/AtomText.java
index 16beb277b..fec20de2f 100644
--- a/src/de/danoeh/antennapod/syndication/namespace/atom/AtomText.java
+++ b/src/de/danoeh/antennapod/syndication/namespace/atom/AtomText.java
@@ -10,22 +10,24 @@ public class AtomText extends SyndElement {
public static final String TYPE_TEXT = "text";
public static final String TYPE_HTML = "html";
public static final String TYPE_XHTML = "xhtml";
-
+
private String type;
private String content;
-
+
public AtomText(String name, Namespace namespace, String type) {
super(name, namespace);
this.type = type;
}
-
+
/** Processes the content according to the type and returns it. */
public String getProcessedContent() {
- if (type.equals(TYPE_HTML)) {
+ if (type == null) {
+ return content;
+ } else if (type.equals(TYPE_HTML)) {
return StringEscapeUtils.unescapeHtml4(content);
} else if (type.equals(TYPE_XHTML)) {
return content;
- } else { // Handle as text by default
+ } else { // Handle as text by default
return content;
}
}
@@ -41,7 +43,5 @@ public class AtomText extends SyndElement {
public String getType() {
return type;
}
-
-
}
diff --git a/src/de/danoeh/antennapod/syndication/namespace/atom/NSAtom.java b/src/de/danoeh/antennapod/syndication/namespace/atom/NSAtom.java
index 5cfec16cb..1fe5ef2f8 100644
--- a/src/de/danoeh/antennapod/syndication/namespace/atom/NSAtom.java
+++ b/src/de/danoeh/antennapod/syndication/namespace/atom/NSAtom.java
@@ -102,7 +102,12 @@ public class NSAtom extends Namespace {
if (state.getTagstack().size() >= 2) {
AtomText textElement = null;
- String content = state.getContentBuf().toString();
+ String content;
+ if (state.getContentBuf() != null) {
+ content = state.getContentBuf().toString();
+ } else {
+ content = new String();
+ }
SyndElement topElement = state.getTagstack().peek();
String top = topElement.getName();
SyndElement secondElement = state.getSecondTag();
diff --git a/src/de/danoeh/antennapod/syndication/util/SyndDateUtils.java b/src/de/danoeh/antennapod/syndication/util/SyndDateUtils.java
index 139cdf650..9a61f18e5 100644
--- a/src/de/danoeh/antennapod/syndication/util/SyndDateUtils.java
+++ b/src/de/danoeh/antennapod/syndication/util/SyndDateUtils.java
@@ -47,6 +47,7 @@ public class SyndDateUtils {
SimpleDateFormat format = RFC822Formatter.get();
for (int i = 0; i < RFC822DATES.length; i++) {
try {
+ format.applyPattern(RFC822DATES[i]);
result = format.parse(date);
break;
} catch (ParseException e) {