From e9f18815218b2ff1f01ea16f2eb0dd17504a9cf3 Mon Sep 17 00:00:00 2001 From: Christian Lindeberg Date: Tue, 16 Nov 2010 09:57:54 +0100 Subject: [PATCH] DropBox: Read until the end of stream has been reached Read the requested length or until the end of the input stream has actually been reached. Change-Id: I01bc0b81eca0225209bdd288dde6a778a19d1e2c --- core/java/android/os/DropBoxManager.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/core/java/android/os/DropBoxManager.java b/core/java/android/os/DropBoxManager.java index 7889a92286c17..4a0612cbb7057 100644 --- a/core/java/android/os/DropBoxManager.java +++ b/core/java/android/os/DropBoxManager.java @@ -150,7 +150,12 @@ public class DropBoxManager { try { is = getInputStream(); byte[] buf = new byte[maxBytes]; - return new String(buf, 0, Math.max(0, is.read(buf))); + int readBytes = 0; + int n = 0; + while (n >= 0 && (readBytes += n) < maxBytes) { + n = is.read(buf, readBytes, maxBytes - readBytes); + } + return new String(buf, 0, readBytes); } catch (IOException e) { return null; } finally {