Initial version -- added millennium read funcionality
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
package com.google.android.gms.common.util;
|
||||
|
||||
import android.os.ParcelFileDescriptor;
|
||||
import com.google.android.gms.common.internal.Preconditions;
|
||||
import com.google.errorprone.annotations.ResultIgnorabilityUnspecified;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.Closeable;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import javax.annotation.Nullable;
|
||||
import kotlin.UByte;
|
||||
|
||||
/* JADX INFO: compiled from: com.google.android.gms:play-services-basement@@18.3.0 */
|
||||
/* JADX INFO: loaded from: classes2.dex */
|
||||
@Deprecated
|
||||
public final class IOUtils {
|
||||
private IOUtils() {
|
||||
}
|
||||
|
||||
public static void closeQuietly(@Nullable ParcelFileDescriptor parcelFileDescriptor) {
|
||||
if (parcelFileDescriptor != null) {
|
||||
try {
|
||||
parcelFileDescriptor.close();
|
||||
} catch (IOException unused) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ResultIgnorabilityUnspecified
|
||||
@Deprecated
|
||||
public static long copyStream(InputStream inputStream, OutputStream outputStream) throws IOException {
|
||||
return copyStream(inputStream, outputStream, false, 1024);
|
||||
}
|
||||
|
||||
public static boolean isGzipByteBuffer(byte[] bArr) {
|
||||
if (bArr.length > 1) {
|
||||
if ((((bArr[1] & UByte.MAX_VALUE) << 8) | (bArr[0] & UByte.MAX_VALUE)) == 35615) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public static byte[] readInputStreamFully(InputStream inputStream) throws IOException {
|
||||
return readInputStreamFully(inputStream, true);
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public static byte[] toByteArray(InputStream inputStream) throws IOException {
|
||||
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
|
||||
Preconditions.checkNotNull(inputStream);
|
||||
Preconditions.checkNotNull(byteArrayOutputStream);
|
||||
byte[] bArr = new byte[4096];
|
||||
while (true) {
|
||||
int i = inputStream.read(bArr);
|
||||
if (i == -1) {
|
||||
return byteArrayOutputStream.toByteArray();
|
||||
}
|
||||
byteArrayOutputStream.write(bArr, 0, i);
|
||||
}
|
||||
}
|
||||
|
||||
public static void closeQuietly(@Nullable Closeable closeable) {
|
||||
if (closeable != null) {
|
||||
try {
|
||||
closeable.close();
|
||||
} catch (IOException unused) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ResultIgnorabilityUnspecified
|
||||
@Deprecated
|
||||
public static long copyStream(InputStream inputStream, OutputStream outputStream, boolean z, int i) throws IOException {
|
||||
byte[] bArr = new byte[i];
|
||||
long j = 0;
|
||||
while (true) {
|
||||
try {
|
||||
int i2 = inputStream.read(bArr, 0, i);
|
||||
if (i2 == -1) {
|
||||
break;
|
||||
}
|
||||
j += (long) i2;
|
||||
outputStream.write(bArr, 0, i2);
|
||||
} catch (Throwable th) {
|
||||
if (z) {
|
||||
closeQuietly(inputStream);
|
||||
closeQuietly(outputStream);
|
||||
}
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
if (z) {
|
||||
closeQuietly(inputStream);
|
||||
closeQuietly(outputStream);
|
||||
}
|
||||
return j;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public static byte[] readInputStreamFully(InputStream inputStream, boolean z) throws IOException {
|
||||
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
|
||||
copyStream(inputStream, byteArrayOutputStream, z, 1024);
|
||||
return byteArrayOutputStream.toByteArray();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user