summaryrefslogtreecommitdiff
path: root/src/de/danoeh/antennapod/feed
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/danoeh/antennapod/feed')
-rw-r--r--src/de/danoeh/antennapod/feed/FeedItem.java26
-rw-r--r--src/de/danoeh/antennapod/feed/FeedManager.java5
2 files changed, 30 insertions, 1 deletions
diff --git a/src/de/danoeh/antennapod/feed/FeedItem.java b/src/de/danoeh/antennapod/feed/FeedItem.java
index 075f58f45..209426b5e 100644
--- a/src/de/danoeh/antennapod/feed/FeedItem.java
+++ b/src/de/danoeh/antennapod/feed/FeedItem.java
@@ -11,6 +11,8 @@ import java.util.Date;
*/
public class FeedItem extends FeedComponent {
+ /** The id/guid that can be found in the rss/atom feed. Might not be set.*/
+ private String itemIdentifier;
private String title;
private String description;
private String contentEncoded;
@@ -58,6 +60,21 @@ public class FeedItem extends FeedComponent {
public SimpleChapter getCurrentChapter() {
return getCurrentChapter(media.getPosition());
}
+
+ /** Returns the value that uniquely identifies this FeedItem.
+ * If the itemIdentifier attribute is not null, it will be returned.
+ * Else it will try to return the link. If the link is not given, it will
+ * use the title of the entry.
+ * */
+ public String getIdentifyingValue() {
+ if (itemIdentifier != null) {
+ return itemIdentifier;
+ } else if (link != null) {
+ return link;
+ } else {
+ return title;
+ }
+ }
public String getTitle() {
return title;
@@ -135,4 +152,13 @@ public class FeedItem extends FeedComponent {
this.simpleChapters = simpleChapters;
}
+ public String getItemIdentifier() {
+ return itemIdentifier;
+ }
+
+ public void setItemIdentifier(String itemIdentifier) {
+ this.itemIdentifier = itemIdentifier;
+ }
+
+
}
diff --git a/src/de/danoeh/antennapod/feed/FeedManager.java b/src/de/danoeh/antennapod/feed/FeedManager.java
index 324e2268c..be860bd4b 100644
--- a/src/de/danoeh/antennapod/feed/FeedManager.java
+++ b/src/de/danoeh/antennapod/feed/FeedManager.java
@@ -654,6 +654,8 @@ public class FeedManager {
}
item.read = (itemlistCursor.getInt(PodDBAdapter.KEY_READ_INDEX) > 0) ? true
: false;
+ item.setItemIdentifier(itemlistCursor
+ .getString(PodDBAdapter.KEY_ITEM_IDENTIFIER_INDEX));
if (!item.read) {
unreadItems.add(item);
}
@@ -675,7 +677,8 @@ public class FeedManager {
.getString(PodDBAdapter.KEY_TITLE_INDEX),
chapterCursor
.getString(PodDBAdapter.KEY_SC_LINK_INDEX));
- chapter.setId(chapterCursor.getLong(PodDBAdapter.KEY_ID_INDEX));
+ chapter.setId(chapterCursor
+ .getLong(PodDBAdapter.KEY_ID_INDEX));
item.getSimpleChapters().add(chapter);
} while (chapterCursor.moveToNext());
}