Work on issue #3101415: Crespo apps seem to have their UID changed over time.
fsync!
Change-Id: Ie6c5397202579935ac69bf61d3e7b3081ecf269c
diff --git a/services/java/com/android/server/DropBoxManagerService.java b/services/java/com/android/server/DropBoxManagerService.java
index 9829f9a..0e45145 100644
--- a/services/java/com/android/server/DropBoxManagerService.java
+++ b/services/java/com/android/server/DropBoxManagerService.java
@@ -26,6 +26,7 @@
import android.net.Uri;
import android.os.Debug;
import android.os.DropBoxManager;
+import android.os.FileUtils;
import android.os.Handler;
import android.os.ParcelFileDescriptor;
import android.os.StatFs;
@@ -183,7 +184,8 @@
int bufferSize = mBlockSize;
if (bufferSize > 4096) bufferSize = 4096;
if (bufferSize < 512) bufferSize = 512;
- output = new BufferedOutputStream(new FileOutputStream(temp), bufferSize);
+ FileOutputStream foutput = new FileOutputStream(temp);
+ output = new BufferedOutputStream(foutput, bufferSize);
if (read == buffer.length && ((flags & DropBoxManager.IS_GZIPPED) == 0)) {
output = new GZIPOutputStream(output);
flags = flags | DropBoxManager.IS_GZIPPED;
@@ -200,6 +202,7 @@
read = input.read(buffer);
if (read <= 0) {
+ FileUtils.sync(foutput);
output.close(); // Get a final size measurement
output = null;
} else {