From 3c1ff1606447c3d6dadc5a032bbe987ac570188a Mon Sep 17 00:00:00 2001 From: Andrew Grieve Date: Fri, 10 Jan 2014 11:44:55 -0500 Subject: [PATCH] CB-5762 android: Fix lengthComputable set wrong for gzip downloads Gzip + no Content-Length header should be lengthComputable=false --- src/android/FileTransfer.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/android/FileTransfer.java b/src/android/FileTransfer.java index f3ab9a0..5d7cbc0 100644 --- a/src/android/FileTransfer.java +++ b/src/android/FileTransfer.java @@ -760,8 +760,10 @@ public class FileTransfer extends CordovaPlugin { if (connection.getContentEncoding() == null || connection.getContentEncoding().equalsIgnoreCase("gzip")) { // Only trust content-length header if we understand // the encoding -- identity or gzip - progress.setLengthComputable(true); - progress.setTotal(connection.getContentLength()); + if (connection.getContentLength() != -1) { + progress.setLengthComputable(true); + progress.setTotal(connection.getContentLength()); + } } inputStream = getInputStream(connection); }