summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordaniel oeh <daniel.oeh@gmail.com>2012-11-16 20:59:22 +0100
committerdaniel oeh <daniel.oeh@gmail.com>2012-11-16 20:59:22 +0100
commit7e8eccce08eb07ba0f31989fd9de2f2a87011237 (patch)
tree8a3549b60c6ed7f6a42aa5b715d62700453ee30d /src
parent7ca2f559d1a357bc88f33bce4b590619fe9f4c0b (diff)
downloadAntennaPod-7e8eccce08eb07ba0f31989fd9de2f2a87011237.zip
Make media position resettable in markItemRead instead of setter.
In some cases, when setting the 'read' attribute, the programmer might not want to reset the media position.
Diffstat (limited to 'src')
-rw-r--r--src/de/danoeh/antennapod/feed/FeedItem.java5
-rw-r--r--src/de/danoeh/antennapod/feed/FeedManager.java16
-rw-r--r--src/de/danoeh/antennapod/util/menuhandler/FeedItemMenuHandler.java4
3 files changed, 12 insertions, 13 deletions
diff --git a/src/de/danoeh/antennapod/feed/FeedItem.java b/src/de/danoeh/antennapod/feed/FeedItem.java
index fa5c49436..e886c73b3 100644
--- a/src/de/danoeh/antennapod/feed/FeedItem.java
+++ b/src/de/danoeh/antennapod/feed/FeedItem.java
@@ -35,7 +35,7 @@ public class FeedItem extends FeedComponent {
private Date pubDate;
private FeedMedia media;
private Feed feed;
- protected boolean read;
+ private boolean read;
private String paymentLink;
private List<Chapter> chapters;
@@ -152,9 +152,6 @@ public class FeedItem extends FeedComponent {
public void setRead(boolean read) {
this.read = read;
- if (media != null) {
- media.setPosition(0);
- }
}
private boolean isInProgress() {
diff --git a/src/de/danoeh/antennapod/feed/FeedManager.java b/src/de/danoeh/antennapod/feed/FeedManager.java
index 860922e7e..721bebeff 100644
--- a/src/de/danoeh/antennapod/feed/FeedManager.java
+++ b/src/de/danoeh/antennapod/feed/FeedManager.java
@@ -375,15 +375,17 @@ public class FeedManager {
* instead of the setters of FeedItem.
*/
public void markItemRead(final Context context, final FeedItem item,
- final boolean read) {
+ final boolean read, boolean resetMediaPosition) {
if (AppConfig.DEBUG)
Log.d(TAG, "Setting item with title " + item.getTitle()
+ " as read/unread");
item.setRead(read);
-
+ if (item.hasMedia() && resetMediaPosition) {
+ item.getMedia().setPosition(0);
+ }
setFeedItem(context, item);
- if (item.hasMedia())
+ if (item.hasMedia() && resetMediaPosition)
setFeedMedia(context, item.getMedia());
contentChanger.post(new Runnable() {
@@ -411,7 +413,7 @@ public class FeedManager {
public void markFeedRead(Context context, Feed feed) {
for (FeedItem item : feed.getItems()) {
if (unreadItems.contains(item)) {
- markItemRead(context, item, true);
+ markItemRead(context, item, true, false);
}
}
}
@@ -825,7 +827,7 @@ public class FeedManager {
}
});
- markItemRead(context, item, false);
+ markItemRead(context, item, false, false);
}
}
// update attributes
@@ -1168,9 +1170,9 @@ public class FeedManager {
mediaIds.add(String.valueOf(mediaId));
item.setMedia(new FeedMedia(mediaId, item));
}
- item.read = (itemlistCursor
+ item.setRead((itemlistCursor
.getInt(PodDBAdapter.IDX_FI_SMALL_READ) > 0) ? true
- : false;
+ : false);
item.setItemIdentifier(itemlistCursor
.getString(PodDBAdapter.IDX_FI_SMALL_ITEM_IDENTIFIER));
if (item.getState() == FeedItem.State.NEW) {
diff --git a/src/de/danoeh/antennapod/util/menuhandler/FeedItemMenuHandler.java b/src/de/danoeh/antennapod/util/menuhandler/FeedItemMenuHandler.java
index 82de9a204..2b7d5e2b0 100644
--- a/src/de/danoeh/antennapod/util/menuhandler/FeedItemMenuHandler.java
+++ b/src/de/danoeh/antennapod/util/menuhandler/FeedItemMenuHandler.java
@@ -88,10 +88,10 @@ public class FeedItemMenuHandler {
requester.cancelDownload(context, selectedItem.getMedia());
break;
case R.id.mark_read_item:
- manager.markItemRead(context, selectedItem, true);
+ manager.markItemRead(context, selectedItem, true, true);
break;
case R.id.mark_unread_item:
- manager.markItemRead(context, selectedItem, false);
+ manager.markItemRead(context, selectedItem, false, true);
break;
case R.id.add_to_queue_item:
manager.addQueueItem(context, selectedItem);