summaryrefslogtreecommitdiff
path: root/core/src/main
diff options
context:
space:
mode:
authorTom Hennen <TomHennen@users.noreply.github.com>2015-06-04 21:19:13 -0400
committerTom Hennen <TomHennen@users.noreply.github.com>2015-06-04 21:19:13 -0400
commit2d4705461c00dcb131b848789fa2a8a6021d19da (patch)
treea9774180ecca9e37a648d08813c8da01d0ca8221 /core/src/main
parent3445fa3b13e6d8c172b9e5565170b3d7b4a30f69 (diff)
parentdbf46dfcd8e35d52b6ca3f9ae534f6f3149443ac (diff)
downloadAntennaPod-2d4705461c00dcb131b848789fa2a8a6021d19da.zip
Merge pull request #857 from mfietz/issue/854-gzip-not-exhausted
Fixes "gzip finished without exhausting source" error
Diffstat (limited to 'core/src/main')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/download/HttpDownloader.java21
1 files changed, 14 insertions, 7 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 ac0fe8036..40b7de170 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
@@ -188,13 +188,17 @@ public class HttpDownloader extends Downloader {
}
Log.d(TAG, "Starting download");
- while (!cancelled
- && (count = connection.read(buffer)) != -1) {
- out.write(buffer, 0, count);
- request.setSoFar(request.getSoFar() + count);
- request.setProgressPercent((int) (((double) request
- .getSoFar() / (double) request
- .getSize()) * 100));
+ try {
+ while (!cancelled
+ && (count = connection.read(buffer)) != -1) {
+ out.write(buffer, 0, count);
+ request.setSoFar(request.getSoFar() + count);
+ request.setProgressPercent((int) (((double) request
+ .getSoFar() / (double) request
+ .getSize()) * 100));
+ }
+ } catch(IOException e) {
+ Log.e(TAG, Log.getStackTraceString(e));
}
if (cancelled) {
onCancelled();
@@ -210,6 +214,9 @@ public class HttpDownloader extends Downloader {
request.getSize()
);
return;
+ } else if(request.getSize() > 0 && request.getSoFar() == 0){
+ onFail(DownloadError.ERROR_IO_ERROR, "Download completed, but nothing was read");
+ return;
}
onSuccess();
}