diff options
author | daniel oeh <daniel.oeh@gmail.com> | 2013-08-17 15:54:04 +0200 |
---|---|---|
committer | daniel oeh <daniel.oeh@gmail.com> | 2013-08-17 15:54:04 +0200 |
commit | 46459b7c4393b831b003ffaa438cf027a524d774 (patch) | |
tree | 80e3c828daab052b3286c4989c20b4a6d3e7d5b0 | |
parent | aa135093afde6672acffc0f81c55075c16aca7ae (diff) | |
parent | e99c7931f75b9b30bf411ab87b76ee093358f5d9 (diff) | |
download | AntennaPod-46459b7c4393b831b003ffaa438cf027a524d774.zip |
Merge branch 'http-downloader-check-size' of git://github.com/andrewgaul/AntennaPod into andrewgaul-http-downloader-check-size
Conflicts:
src/de/danoeh/antennapod/service/download/HttpDownloader.java
-rw-r--r-- | src/de/danoeh/antennapod/service/download/HttpDownloader.java | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/de/danoeh/antennapod/service/download/HttpDownloader.java b/src/de/danoeh/antennapod/service/download/HttpDownloader.java index c9671ceb3..364844181 100644 --- a/src/de/danoeh/antennapod/service/download/HttpDownloader.java +++ b/src/de/danoeh/antennapod/service/download/HttpDownloader.java @@ -6,7 +6,6 @@ import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; -import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.SocketTimeoutException; import java.net.UnknownHostException; @@ -61,7 +60,7 @@ public class HttpDownloader extends Downloader { @Override protected void download() { DefaultHttpClient httpClient = null; - OutputStream out = null; + BufferedOutputStream out = null; InputStream connection = null; try { HttpGet httpGet = new HttpGet(request.getSource()); @@ -110,6 +109,16 @@ public class HttpDownloader extends Downloader { if (cancelled) { onCancelled(); } else { + out.flush(); + if (request.getSize() != DownloadStatus.SIZE_UNKNOWN && + request.getSoFar() != request.getSize()) { + onFail(DownloadError.ERROR_IO_ERROR, + "Download completed but size: " + + request.getSoFar() + + " does not equal expected size " + + request.getSize()); + return; + } onSuccess(); } } else { |