diff options
author | Tony Tam <engineer.tonytam@pm.me> | 2020-02-08 19:12:00 -0800 |
---|---|---|
committer | Tony Tam <engineer.tonytam@pm.me> | 2020-02-08 19:13:07 -0800 |
commit | 332c4657e501374c4277923984035802cc344993 (patch) | |
tree | 86208e1a3657cd3044b572208824c6ece6fb26ad /core/src/main/java/de/danoeh/antennapod | |
parent | 67971af3aa555170425da26d93a62493e2dc677f (diff) | |
download | AntennaPod-332c4657e501374c4277923984035802cc344993.zip |
do not infinite download on 410, 400
Diffstat (limited to 'core/src/main/java/de/danoeh/antennapod')
-rw-r--r-- | core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java | 7 |
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) { |