diff options
| author | Vinit Deshpande <vinitd@google.com> | 2015-04-28 01:23:29 +0000 |
|---|---|---|
| committer | Android Partner Code Review <android-gerrit-partner@google.com> | 2015-04-28 01:23:31 +0000 |
| commit | 2a550449bcb4a6cff2fa96f7e7bf147dc485d5eb (patch) | |
| tree | fb0e2f3c0177ad3a8ab39280d79a5db192fd666b | |
| parent | e20b8ad4c43e671b5115cfefe5740b7d9462b685 (diff) | |
| parent | 58687715da977cceb45e78debf7b46d48b554e93 (diff) | |
| download | frameworks_base-2a550449bcb4a6cff2fa96f7e7bf147dc485d5eb.zip frameworks_base-2a550449bcb4a6cff2fa96f7e7bf147dc485d5eb.tar.gz frameworks_base-2a550449bcb4a6cff2fa96f7e7bf147dc485d5eb.tar.bz2 | |
Merge "Added parameter to avoid having a stream opened, and with that, file truncated on no-op." into m-wireless-dev
| -rw-r--r-- | services/core/java/com/android/server/net/DelayedDiskWrite.java | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/net/DelayedDiskWrite.java b/services/core/java/com/android/server/net/DelayedDiskWrite.java index 6ed277d..8f09eb7 100644 --- a/services/core/java/com/android/server/net/DelayedDiskWrite.java +++ b/services/core/java/com/android/server/net/DelayedDiskWrite.java @@ -38,6 +38,10 @@ public class DelayedDiskWrite { } public void write(final String filePath, final Writer w) { + write(filePath, w, true); + } + + public void write(final String filePath, final Writer w, final boolean open) { if (TextUtils.isEmpty(filePath)) { throw new IllegalArgumentException("empty file path"); } @@ -54,16 +58,18 @@ public class DelayedDiskWrite { mDiskWriteHandler.post(new Runnable() { @Override public void run() { - doWrite(filePath, w); + doWrite(filePath, w, open); } }); } - private void doWrite(String filePath, Writer w) { + private void doWrite(String filePath, Writer w, boolean open) { DataOutputStream out = null; try { - out = new DataOutputStream(new BufferedOutputStream( + if (open) { + out = new DataOutputStream(new BufferedOutputStream( new FileOutputStream(filePath))); + } w.onWriteCalled(out); } catch (IOException e) { loge("Error writing data file " + filePath); |
