diff options
author | Michael Kaiser <patheticpat@googlemail.com> | 2012-10-24 19:06:57 +0200 |
---|---|---|
committer | Michael Kaiser <patheticpat@googlemail.com> | 2012-10-24 19:06:57 +0200 |
commit | 380a5f459bcff631871f436340138163ddcb5236 (patch) | |
tree | e6456a698bf725d485983701ef769323445a6321 /src | |
parent | 39eeadad20d2fd70d38de5ffdffdc750c56e6042 (diff) | |
download | AntennaPod-380a5f459bcff631871f436340138163ddcb5236.zip |
Extract setting of read/undread state to a FeedItem method
Diffstat (limited to 'src')
-rw-r--r-- | src/de/danoeh/antennapod/feed/FeedItem.java | 12 | ||||
-rw-r--r-- | src/de/danoeh/antennapod/feed/FeedManager.java | 13 | ||||
-rw-r--r-- | src/de/danoeh/antennapod/feed/FeedMedia.java | 2 | ||||
-rw-r--r-- | src/de/danoeh/antennapod/service/PlaybackService.java | 1 |
4 files changed, 15 insertions, 13 deletions
diff --git a/src/de/danoeh/antennapod/feed/FeedItem.java b/src/de/danoeh/antennapod/feed/FeedItem.java index fe5d66e22..2d9f609b4 100644 --- a/src/de/danoeh/antennapod/feed/FeedItem.java +++ b/src/de/danoeh/antennapod/feed/FeedItem.java @@ -128,6 +128,18 @@ public class FeedItem extends FeedComponent { return read; } + public void setRead(boolean read) { + this.read = read; + if (media != null) { + media.setPosition(0); + if (read) { + media.setPlaybackCompletionDate(new Date()); + } else { + media.setPlaybackCompletionDate(null); + } + } + } + public boolean isInProgress() { return (media != null && media.isInProgress()); } diff --git a/src/de/danoeh/antennapod/feed/FeedManager.java b/src/de/danoeh/antennapod/feed/FeedManager.java index 2d1948bb0..115ee6aa0 100644 --- a/src/de/danoeh/antennapod/feed/FeedManager.java +++ b/src/de/danoeh/antennapod/feed/FeedManager.java @@ -379,17 +379,8 @@ public class FeedManager { if (AppConfig.DEBUG) Log.d(TAG, "Setting item with title " + item.getTitle() + " as read/unread"); - item.read = read; - FeedMedia media = item.getMedia(); - if (media != null) { - if (read) { - media.setPlaybackCompletionDate(new Date()); - } else { - media.setPlaybackCompletionDate(null); - media.setPosition(0); - } - } + item.setRead(read); setFeedItem(context, item); contentChanger.post(new Runnable() { @@ -427,7 +418,7 @@ public class FeedManager { if (AppConfig.DEBUG) Log.d(TAG, "marking all items as read"); for (FeedItem item : unreadItems) { - item.read = true; + item.setRead(true); } final ArrayList<FeedItem> unreadItemsCopy = new ArrayList<FeedItem>( unreadItems); diff --git a/src/de/danoeh/antennapod/feed/FeedMedia.java b/src/de/danoeh/antennapod/feed/FeedMedia.java index 81fa54a79..357a642a6 100644 --- a/src/de/danoeh/antennapod/feed/FeedMedia.java +++ b/src/de/danoeh/antennapod/feed/FeedMedia.java @@ -119,7 +119,7 @@ public class FeedMedia extends FeedFile { } public boolean isInProgress() { - return (this.position > 0 && this.playbackCompletionDate == null); + return (this.position > 0); } } diff --git a/src/de/danoeh/antennapod/service/PlaybackService.java b/src/de/danoeh/antennapod/service/PlaybackService.java index 98721877e..e34dfabd0 100644 --- a/src/de/danoeh/antennapod/service/PlaybackService.java +++ b/src/de/danoeh/antennapod/service/PlaybackService.java @@ -673,7 +673,6 @@ public class PlaybackService extends Service { .getDefaultSharedPreferences(getApplicationContext()); // Save state cancelPositionSaver(); - media.setPosition(0); media.setPlaybackCompletionDate(new Date()); manager.markItemRead(PlaybackService.this, media.getItem(), true); FeedItem nextItem = manager |