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 unreadItemsCopy = new ArrayList( 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