summaryrefslogtreecommitdiff
path: root/core/src/main/java/de
diff options
context:
space:
mode:
authorMartin Fietz <Martin.Fietz@gmail.com>2015-07-04 15:38:16 +0200
committerMartin Fietz <Martin.Fietz@gmail.com>2015-07-04 15:38:16 +0200
commitbcff6277f2c3a82ee0a934fd2b985227a00ba224 (patch)
tree8daf64e3fb3dd894270e043cf9333807198f66c4 /core/src/main/java/de
parent6427a40da2406290bc854b25b0e0a9217b627dcb (diff)
downloadAntennaPod-bcff6277f2c3a82ee0a934fd2b985227a00ba224.zip
Tell Queue fragment to refresh
Diffstat (limited to 'core/src/main/java/de')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/feed/QueueEvent.java2
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/storage/DBWriter.java11
2 files changed, 9 insertions, 4 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/feed/QueueEvent.java b/core/src/main/java/de/danoeh/antennapod/core/feed/QueueEvent.java
index c8497f509..97d086e5b 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/feed/QueueEvent.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/feed/QueueEvent.java
@@ -8,7 +8,7 @@ import java.util.List;
public class QueueEvent {
public enum Action {
- ADDED, ADDED_ITEMS, REMOVED, CLEARED, DELETED_MEDIA, SORTED, MOVED
+ ADDED, ADDED_ITEMS, REMOVED, IRREVERSIBLE_REMOVED, CLEARED, DELETED_MEDIA, SORTED, MOVED
}
public final Action action;
diff --git a/core/src/main/java/de/danoeh/antennapod/core/storage/DBWriter.java b/core/src/main/java/de/danoeh/antennapod/core/storage/DBWriter.java
index d1f67cd29..acdcf5f85 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/storage/DBWriter.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/storage/DBWriter.java
@@ -13,6 +13,7 @@ import org.shredzone.flattr4j.model.Flattr;
import java.io.File;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
@@ -184,13 +185,15 @@ public class DBWriter {
}
// delete stored media files and mark them as read
List<FeedItem> queue = DBReader.getQueue(context);
- boolean queueWasModified = false;
+ List<FeedItem> removed = new ArrayList<>();
if (feed.getItems() == null) {
DBReader.getFeedItemList(context, feed);
}
for (FeedItem item : feed.getItems()) {
- queueWasModified |= queue.remove(item);
+ if(queue.remove(item)) {
+ removed.add(item);
+ }
if (item.getMedia() != null
&& item.getMedia().isDownloaded()) {
File mediaFile = new File(item.getMedia()
@@ -213,8 +216,10 @@ public class DBWriter {
}
PodDBAdapter adapter = new PodDBAdapter(context);
adapter.open();
- if (queueWasModified) {
+ if (removed.size() > 0) {
adapter.setQueue(queue);
+ EventBus.getDefault().post(new QueueEvent(QueueEvent.Action.IRREVERSIBLE_REMOVED,
+ removed));
}
adapter.removeFeed(feed);
adapter.close();