summaryrefslogtreecommitdiff
path: root/storage/database/src
diff options
context:
space:
mode:
Diffstat (limited to 'storage/database/src')
-rw-r--r--storage/database/src/main/java/de/danoeh/antennapod/storage/database/DBWriter.java12
-rw-r--r--storage/database/src/main/java/de/danoeh/antennapod/storage/database/PodDBAdapter.java10
2 files changed, 7 insertions, 15 deletions
diff --git a/storage/database/src/main/java/de/danoeh/antennapod/storage/database/DBWriter.java b/storage/database/src/main/java/de/danoeh/antennapod/storage/database/DBWriter.java
index a9c4f4dc3..7b4543a38 100644
--- a/storage/database/src/main/java/de/danoeh/antennapod/storage/database/DBWriter.java
+++ b/storage/database/src/main/java/de/danoeh/antennapod/storage/database/DBWriter.java
@@ -728,20 +728,10 @@ public class DBWriter {
*/
@NonNull
public static Future<?> markItemPlayed(FeedItem item, int played, boolean resetMediaPosition) {
- long mediaId = (item.hasMedia()) ? item.getMedia().getId() : 0;
- return markItemPlayed(item.getId(), played, mediaId, resetMediaPosition);
- }
-
- @NonNull
- private static Future<?> markItemPlayed(final long itemId,
- final int played,
- final long mediaId,
- final boolean resetMediaPosition) {
return runOnDbThread(() -> {
final PodDBAdapter adapter = PodDBAdapter.getInstance();
adapter.open();
- adapter.setFeedItemRead(played, itemId, mediaId,
- resetMediaPosition);
+ adapter.setFeedItemRead(item, played, resetMediaPosition);
adapter.close();
EventBus.getDefault().post(new UnreadItemsUpdateEvent());
diff --git a/storage/database/src/main/java/de/danoeh/antennapod/storage/database/PodDBAdapter.java b/storage/database/src/main/java/de/danoeh/antennapod/storage/database/PodDBAdapter.java
index b77cd06d2..19660fb77 100644
--- a/storage/database/src/main/java/de/danoeh/antennapod/storage/database/PodDBAdapter.java
+++ b/storage/database/src/main/java/de/danoeh/antennapod/storage/database/PodDBAdapter.java
@@ -684,19 +684,21 @@ public class PodDBAdapter {
return item.getId();
}
- public void setFeedItemRead(int played, long itemId, long mediaId,
- boolean resetMediaPosition) {
+ public void setFeedItemRead(FeedItem item, int played, boolean resetMediaPosition) {
try {
db.beginTransactionNonExclusive();
ContentValues values = new ContentValues();
values.put(KEY_READ, played);
- db.update(TABLE_NAME_FEED_ITEMS, values, KEY_ID + "=?", new String[]{String.valueOf(itemId)});
+ db.update(TABLE_NAME_FEED_ITEMS, values, KEY_ID + "=?", new String[]{String.valueOf(item.getId())});
+ item.setPlayed(played == FeedItem.PLAYED);
if (resetMediaPosition) {
values.clear();
values.put(KEY_POSITION, 0);
- db.update(TABLE_NAME_FEED_MEDIA, values, KEY_ID + "=?", new String[]{String.valueOf(mediaId)});
+ db.update(TABLE_NAME_FEED_MEDIA, values, KEY_ID + "=?",
+ new String[]{String.valueOf(item.getMedia().getId())});
+ item.getMedia().setPosition(0);
}
db.setTransactionSuccessful();