summaryrefslogtreecommitdiff
path: root/core/src/main/java/de/danoeh/antennapod
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/main/java/de/danoeh/antennapod')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/download/HttpDownloader.java9
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/util/DownloadError.java3
2 files changed, 11 insertions, 1 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/download/HttpDownloader.java b/core/src/main/java/de/danoeh/antennapod/core/service/download/HttpDownloader.java
index ec84440ec..2b26f58c0 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/download/HttpDownloader.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/download/HttpDownloader.java
@@ -124,6 +124,15 @@ public class HttpDownloader extends Downloader {
throw e;
}
}
+
+ if(request.getFeedfileType() == FeedMedia.FEEDFILETYPE_FEEDMEDIA) {
+ String contentType = response.header("Content-Type");
+ if(!contentType.startsWith("audio/") && !contentType.startsWith("video/")) {
+ onFail(DownloadError.ERROR_FILE_TYPE, null);
+ return;
+ }
+ }
+
responseBody = response.body();
String contentEncodingHeader = response.header("Content-Encoding");
boolean isGzip = false;
diff --git a/core/src/main/java/de/danoeh/antennapod/core/util/DownloadError.java b/core/src/main/java/de/danoeh/antennapod/core/util/DownloadError.java
index 602c221bf..d3f6c6b79 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/util/DownloadError.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/util/DownloadError.java
@@ -19,7 +19,8 @@ public enum DownloadError {
ERROR_UNKNOWN_HOST(11, R.string.download_error_unknown_host),
ERROR_REQUEST_ERROR(12, R.string.download_error_request_error),
ERROR_DB_ACCESS_ERROR(13, R.string.download_error_db_access),
- ERROR_UNAUTHORIZED(14, R.string.download_error_unauthorized);
+ ERROR_UNAUTHORIZED(14, R.string.download_error_unauthorized),
+ ERROR_FILE_TYPE(15, R.string.download_error_file_type_type);
private final int code;
private final int resId;