summaryrefslogtreecommitdiffstats
path: root/src/com/android/phone/common/mail/PeekableInputStream.java
diff options
context:
space:
mode:
authorNancy Chen <nancychen@google.com>2015-03-26 17:20:44 -0700
committerNancy Chen <nancychen@google.com>2015-03-26 17:20:44 -0700
commite1bb378b86d81791732d7355e988d1b5fe825383 (patch)
tree16150c250f44b611b29671414bf43a2ab97dcc59 /src/com/android/phone/common/mail/PeekableInputStream.java
parent98750f5774070527403035d1713ea59abd71ec08 (diff)
downloadpackages_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.java80
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