summaryrefslogtreecommitdiff
path: root/core/src/main/java/de/danoeh
diff options
context:
space:
mode:
authorTom Hennen <TomHennen@users.noreply.github.com>2015-08-05 18:44:47 -0400
committerTom Hennen <TomHennen@users.noreply.github.com>2015-08-05 18:44:47 -0400
commitf13615d46ab45d82b9c1de28648934c9995fbb6a (patch)
tree371e5954cff0a04fdb08d11af96e8958a3ba3c09 /core/src/main/java/de/danoeh
parentc7d2975039d209556c5dc37a424549a4e9bba25c (diff)
parent224832300f4a8d0b42e257a23f0ae69957518a01 (diff)
downloadAntennaPod-f13615d46ab45d82b9c1de28648934c9995fbb6a.zip
Merge pull request #1062 from TomHennen/autodl_updates
Only autodownload queued and new items
Diffstat (limited to 'core/src/main/java/de/danoeh')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java7
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/storage/APDownloadAlgorithm.java12
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/storage/PodDBAdapter.java4
3 files changed, 14 insertions, 9 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java b/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java
index 19a710d24..4fdaf6843 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java
@@ -325,6 +325,11 @@ public class DownloadService extends Service {
cancelNotificationUpdater();
unregisterReceiver(cancelDownloadReceiver);
+ // TODO: I'm not sure this is actually needed.
+ // We could just invoke the autodownloadUndownloadeditems method
+ // and it would get everything it's supposed to. By sending it the
+ // items in newMediaFiles we're overriding the download algorithm,
+ // which is not something we should probably do.
if (!newMediaFiles.isEmpty()) {
Log.d(TAG, "newMediaFiles exist, autodownload them");
DBTasks.autodownloadUndownloadedItems(getApplicationContext(),
@@ -783,7 +788,7 @@ public class DownloadService extends Service {
if(item.getPubDate() == null) {
Log.d(TAG, item.toString());
}
- if (!item.isPlayed() && item.hasMedia() && !item.getMedia().isDownloaded()) {
+ if (item.isNew() && item.hasMedia() && !item.getMedia().isDownloaded()) {
newMediaFiles.add(item.getMedia().getId());
}
}
diff --git a/core/src/main/java/de/danoeh/antennapod/core/storage/APDownloadAlgorithm.java b/core/src/main/java/de/danoeh/antennapod/core/storage/APDownloadAlgorithm.java
index 0e6b23696..c2e971dce 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/storage/APDownloadAlgorithm.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/storage/APDownloadAlgorithm.java
@@ -22,7 +22,7 @@ public class APDownloadAlgorithm implements AutomaticDownloadAlgorithm {
private final APCleanupAlgorithm cleanupAlgorithm = new APCleanupAlgorithm();
/**
- * Looks for undownloaded episodes in the queue or list of unread items and request a download if
+ * Looks for undownloaded episodes in the queue or list of new items and request a download if
* 1. Network is available
* 2. The device is charging or the user allows auto download on battery
* 3. There is free space in the episode cache
@@ -57,12 +57,12 @@ public class APDownloadAlgorithm implements AutomaticDownloadAlgorithm {
candidates = DBReader.getFeedItems(context, mediaIds);
} else {
final List<FeedItem> queue = DBReader.getQueue(context);
- final List<FeedItem> unreadItems = DBReader.getUnreadItemsList(context);
- candidates = new ArrayList<FeedItem>(queue.size() + unreadItems.size());
+ final List<FeedItem> newItems = DBReader.getNewItemsList(context);
+ candidates = new ArrayList<FeedItem>(queue.size() + newItems.size());
candidates.addAll(queue);
- for(FeedItem unreadItem : unreadItems) {
- if(candidates.contains(unreadItem) == false) {
- candidates.add(unreadItem);
+ for(FeedItem newItem : newItems) {
+ if(candidates.contains(newItem) == false) {
+ candidates.add(newItem);
}
}
}
diff --git a/core/src/main/java/de/danoeh/antennapod/core/storage/PodDBAdapter.java b/core/src/main/java/de/danoeh/antennapod/core/storage/PodDBAdapter.java
index f9ac39349..edb7598ab 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/storage/PodDBAdapter.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/storage/PodDBAdapter.java
@@ -1709,9 +1709,9 @@ public class PodDBAdapter {
db.execSQL("ALTER TABLE " + PodDBAdapter.TABLE_NAME_FEEDS
+ " ADD COLUMN " + PodDBAdapter.KEY_AUTO_DELETE_ACTION + " INTEGER DEFAULT 0");
}
- if(oldVersion < 1030002) {
+ if(oldVersion < 1030005) {
db.execSQL("UPDATE FeedItems SET auto_download=0 WHERE " +
- "(read=1 OR id IN (SELECT id FROM FeedMedia WHERE position>0 OR downloaded=1)) " +
+ "(read=1 OR id IN (SELECT feeditem FROM FeedMedia WHERE position>0 OR downloaded=1)) " +
"AND id NOT IN (SELECT feeditem FROM Queue)");
}
EventBus.getDefault().post(ProgressEvent.end());