summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Kaiser <patheticpat@googlemail.com>2012-10-24 19:06:57 +0200
committerMichael Kaiser <patheticpat@googlemail.com>2012-10-24 19:06:57 +0200
commit380a5f459bcff631871f436340138163ddcb5236 (patch)
treee6456a698bf725d485983701ef769323445a6321 /src
parent39eeadad20d2fd70d38de5ffdffdc750c56e6042 (diff)
downloadAntennaPod-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.java12
-rw-r--r--src/de/danoeh/antennapod/feed/FeedManager.java13
-rw-r--r--src/de/danoeh/antennapod/feed/FeedMedia.java2
-rw-r--r--src/de/danoeh/antennapod/service/PlaybackService.java1
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