diff options
author | Jan Nordqvist <jannq@google.com> | 2015-04-23 15:42:55 -0700 |
---|---|---|
committer | Jan Nordqvist <jannq@google.com> | 2015-04-23 15:42:55 -0700 |
commit | 58687715da977cceb45e78debf7b46d48b554e93 (patch) | |
tree | a9f7dd43a7f8f3542c7b16cd8596d1663076a89b /services/core/java/com/android/server/net | |
parent | 052a0da4f748eff9392a0dbd41fc5948f7da4cb1 (diff) | |
download | frameworks_base-58687715da977cceb45e78debf7b46d48b554e93.zip frameworks_base-58687715da977cceb45e78debf7b46d48b554e93.tar.gz frameworks_base-58687715da977cceb45e78debf7b46d48b554e93.tar.bz2 |
Added parameter to avoid having a stream opened,
and with that, file truncated on no-op.
Change-Id: I5813e4fd269c639a437e17f2554efa4db735a8ba
Diffstat (limited to 'services/core/java/com/android/server/net')
-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); |