diff options
| author | Nancy Chen <nancychen@google.com> | 2015-03-26 17:20:44 -0700 |
|---|---|---|
| committer | Nancy Chen <nancychen@google.com> | 2015-03-26 17:20:44 -0700 |
| commit | e1bb378b86d81791732d7355e988d1b5fe825383 (patch) | |
| tree | 16150c250f44b611b29671414bf43a2ab97dcc59 /src/com/android/phone/common/mail/PeekableInputStream.java | |
| parent | 98750f5774070527403035d1713ea59abd71ec08 (diff) | |
| download | packages_apps_PhoneCommon-e1bb378b86d81791732d7355e988d1b5fe825383.tar.gz packages_apps_PhoneCommon-e1bb378b86d81791732d7355e988d1b5fe825383.tar.bz2 packages_apps_PhoneCommon-e1bb378b86d81791732d7355e988d1b5fe825383.zip | |
Move files from PhoneCommon to services/Telephony
Since PhoneCommon is a library used by GoogleContacts, etc. we don't
want to clutter it with Telephony-specific code.
Bug: 19236241
Change-Id: I063640cda141cbb9261d25e23c95f7016369eb9a
Diffstat (limited to 'src/com/android/phone/common/mail/PeekableInputStream.java')
| -rw-r--r-- | src/com/android/phone/common/mail/PeekableInputStream.java | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/src/com/android/phone/common/mail/PeekableInputStream.java b/src/com/android/phone/common/mail/PeekableInputStream.java deleted file mode 100644 index d29fc6b..0000000 --- a/src/com/android/phone/common/mail/PeekableInputStream.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (C) 2015 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.phone.common.mail; - -import java.io.IOException; -import java.io.InputStream; - -/** - * A filtering InputStream that allows single byte "peeks" without consuming the byte. The - * client of this stream can call peek() to see the next available byte in the stream - * and a subsequent read will still return the peeked byte. - */ -public class PeekableInputStream extends InputStream { - private final InputStream mIn; - private boolean mPeeked; - private int mPeekedByte; - - public PeekableInputStream(InputStream in) { - this.mIn = in; - } - - @Override - public int read() throws IOException { - if (!mPeeked) { - return mIn.read(); - } else { - mPeeked = false; - return mPeekedByte; - } - } - - public int peek() throws IOException { - if (!mPeeked) { - mPeekedByte = read(); - mPeeked = true; - } - return mPeekedByte; - } - - @Override - public int read(byte[] b, int offset, int length) throws IOException { - if (!mPeeked) { - return mIn.read(b, offset, length); - } else { - b[0] = (byte)mPeekedByte; - mPeeked = false; - int r = mIn.read(b, offset + 1, length - 1); - if (r == -1) { - return 1; - } else { - return r + 1; - } - } - } - - @Override - public int read(byte[] b) throws IOException { - return read(b, 0, b.length); - } - - @Override - public String toString() { - return String.format("PeekableInputStream(in=%s, peeked=%b, peekedByte=%d)", - mIn.toString(), mPeeked, mPeekedByte); - } -}
\ No newline at end of file |
