diff options
Diffstat (limited to 'src/de/danoeh/antennapod/feed')
-rw-r--r-- | src/de/danoeh/antennapod/feed/FeedItem.java | 26 | ||||
-rw-r--r-- | src/de/danoeh/antennapod/feed/FeedManager.java | 5 |
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()); } |