From 89647b1172cdf40a3681922150122b0bd2ea83f1 Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Wed, 22 Sep 2010 17:49:16 -0700 Subject: [PATCH] Don't do single byte writes in DropBoxManagerService Bug: 3018772 Change-Id: I6990041f059aeb2a4c29e59b1a3d78d19bf9b02f --- services/java/com/android/server/DropBoxManagerService.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/services/java/com/android/server/DropBoxManagerService.java b/services/java/com/android/server/DropBoxManagerService.java index 14b7d3ec38916..9829f9ab66b26 100644 --- a/services/java/com/android/server/DropBoxManagerService.java +++ b/services/java/com/android/server/DropBoxManagerService.java @@ -36,6 +36,7 @@ import android.util.Slog; import com.android.internal.os.IDropBoxManagerService; +import java.io.BufferedOutputStream; import java.io.File; import java.io.FileDescriptor; import java.io.FileOutputStream; @@ -179,7 +180,10 @@ public final class DropBoxManagerService extends IDropBoxManagerService.Stub { // the data in uncompressed form. temp = new File(mDropBoxDir, "drop" + Thread.currentThread().getId() + ".tmp"); - output = new FileOutputStream(temp); + int bufferSize = mBlockSize; + if (bufferSize > 4096) bufferSize = 4096; + if (bufferSize < 512) bufferSize = 512; + output = new BufferedOutputStream(new FileOutputStream(temp), bufferSize); if (read == buffer.length && ((flags & DropBoxManager.IS_GZIPPED) == 0)) { output = new GZIPOutputStream(output); flags = flags | DropBoxManager.IS_GZIPPED;