summaryrefslogtreecommitdiff
path: root/src/de
diff options
context:
space:
mode:
authordaniel oeh <daniel.oeh@gmail.com>2013-08-17 15:54:04 +0200
committerdaniel oeh <daniel.oeh@gmail.com>2013-08-17 15:54:04 +0200
commit46459b7c4393b831b003ffaa438cf027a524d774 (patch)
tree80e3c828daab052b3286c4989c20b4a6d3e7d5b0 /src/de
parentaa135093afde6672acffc0f81c55075c16aca7ae (diff)
parente99c7931f75b9b30bf411ab87b76ee093358f5d9 (diff)
downloadAntennaPod-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
Diffstat (limited to 'src/de')
-rw-r--r--src/de/danoeh/antennapod/service/download/HttpDownloader.java13
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 {