summaryrefslogtreecommitdiff
path: root/core/src/main/java
diff options
context:
space:
mode:
authorMartin Fietz <Martin.Fietz@gmail.com>2016-01-08 18:21:35 +0100
committerMartin Fietz <Martin.Fietz@gmail.com>2016-01-08 18:21:35 +0100
commit4f864ab2deb8b3dfb6364a17f2a09f57bb09f5a0 (patch)
tree46895c68362c90be51229c545a84fcfd6a4dbc25 /core/src/main/java
parent19870802423506470b4aab24e21d5f3fdc29f62a (diff)
downloadAntennaPod-4f864ab2deb8b3dfb6364a17f2a09f57bb09f5a0.zip
Disable auto download when HTTP_NOT_FOUND (404)
Diffstat (limited to 'core/src/main/java')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java14
1 files changed, 12 insertions, 2 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 29c44207d..bb7ff29d4 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
@@ -26,6 +26,7 @@ import org.xml.sax.SAXException;
import java.io.File;
import java.io.IOException;
+import java.net.HttpURLConnection;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
@@ -196,11 +197,20 @@ public class DownloadService extends Service {
saveDownloadStatus(status);
handleFailedDownload(status, downloader.getDownloadRequest());
- // to make lists reload the failed item, we fake an item update
if(type == FeedMedia.FEEDFILETYPE_FEEDMEDIA) {
long id = status.getFeedfileId();
FeedMedia media = DBReader.getFeedMedia(id);
- EventBus.getDefault().post(FeedItemEvent.updated(media.getItem()));
+ if(media == null || media.getItem() == null) {
+ return;
+ }
+ FeedItem item = media.getItem();
+ if (status.getReason() == DownloadError.ERROR_HTTP_DATA_ERROR &&
+ Integer.valueOf(status.getReasonDetailed()) == HttpURLConnection.HTTP_NOT_FOUND) {
+ item.setAutoDownload(false); // for event bus
+ DBWriter.setFeedItemAutoDownload(item, false);
+ }
+ // to make lists reload the failed item, we fake an item update
+ EventBus.getDefault().post(FeedItemEvent.updated(item));
}
}
} else {