diff options
| author | Tomasz Mikolajewski <mtomasz@google.com> | 2016-06-14 04:15:25 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2016-06-14 04:15:26 +0000 |
| commit | ac3fe8fffe8321e4292983ca31b472e326f45f1d (patch) | |
| tree | 04974667f2e1b6dd19465bbf8c9cada5671a8e11 /core/java/android/os | |
| parent | f6250cc7dfffe40dbd20931992151efe8924064f (diff) | |
| parent | ad3b61623ff5ad43be826bc0b05ef09b20984673 (diff) | |
Merge "Make CotentResolver#openInputStream handle errors from reliable pipes." into nyc-dev
Diffstat (limited to 'core/java/android/os')
| -rw-r--r-- | core/java/android/os/ParcelFileDescriptor.java | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/core/java/android/os/ParcelFileDescriptor.java b/core/java/android/os/ParcelFileDescriptor.java index d5491d3a808a..7702c174ba2f 100644 --- a/core/java/android/os/ParcelFileDescriptor.java +++ b/core/java/android/os/ParcelFileDescriptor.java @@ -864,6 +864,34 @@ public class ParcelFileDescriptor implements Parcelable, Closeable { super.close(); } } + + @Override + public int read() throws IOException { + final int result = super.read(); + if (result == -1 && mPfd.canDetectErrors()) { + // Check for errors only on EOF, to minimize overhead. + mPfd.checkError(); + } + return result; + } + + @Override + public int read(byte[] b) throws IOException { + final int result = super.read(b); + if (result == -1 && mPfd.canDetectErrors()) { + mPfd.checkError(); + } + return result; + } + + @Override + public int read(byte[] b, int off, int len) throws IOException { + final int result = super.read(b, off, len); + if (result == -1 && mPfd.canDetectErrors()) { + mPfd.checkError(); + } + return result; + } } /** |
