summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorTony Tam <engineer.tonytam@pm.me>2020-02-08 19:12:00 -0800
committerTony Tam <engineer.tonytam@pm.me>2020-02-08 19:13:07 -0800
commit332c4657e501374c4277923984035802cc344993 (patch)
tree86208e1a3657cd3044b572208824c6ece6fb26ad /core
parent67971af3aa555170425da26d93a62493e2dc677f (diff)
downloadAntennaPod-332c4657e501374c4277923984035802cc344993.zip
do not infinite download on 410, 400
Diffstat (limited to 'core')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java7
1 files changed, 6 insertions, 1 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 f7c338729..10e271bb0 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
@@ -336,7 +336,12 @@ public class DownloadService extends Service {
&& String.valueOf(HttpURLConnection.HTTP_FORBIDDEN).equals(status.getReasonDetailed());
boolean notEnoughSpace = status.getReason() == DownloadError.ERROR_NOT_ENOUGH_SPACE;
boolean wrongFileType = status.getReason() == DownloadError.ERROR_FILE_TYPE;
- if (httpNotFound || forbidden || notEnoughSpace || wrongFileType) {
+ boolean httpGone = status.getReason() == DownloadError.ERROR_HTTP_DATA_ERROR
+ && String.valueOf(HttpURLConnection.HTTP_GONE).equals(status.getReasonDetailed());
+ boolean httpBadReq = status.getReason() == DownloadError.ERROR_HTTP_DATA_ERROR
+ && String.valueOf(HttpURLConnection.HTTP_BAD_REQUEST).equals(status.getReasonDetailed());
+
+ if (httpNotFound || forbidden || notEnoughSpace || wrongFileType || httpGone || httpBadReq ) {
try {
DBWriter.saveFeedItemAutoDownloadFailed(item).get();
} catch (ExecutionException | InterruptedException e) {