what-the-bank/sources/com/google/android/gms/common/data/BitmapTeleporter.java

145 lines
5.7 KiB
Java
Raw Permalink Normal View History

2024-07-27 18:17:47 +07:00
package com.google.android.gms.common.data;
import android.graphics.Bitmap;
import android.os.Parcel;
import android.os.ParcelFileDescriptor;
import android.os.Parcelable;
import com.google.android.gms.common.internal.Preconditions;
import com.google.android.gms.common.internal.ReflectedParcelable;
import com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable;
import com.google.android.gms.common.internal.safeparcel.SafeParcelWriter;
import java.io.BufferedOutputStream;
import java.io.Closeable;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
/* loaded from: classes.dex */
public class BitmapTeleporter extends AbstractSafeParcelable implements ReflectedParcelable {
public static final Parcelable.Creator<BitmapTeleporter> CREATOR = new zaa();
final int zaa;
ParcelFileDescriptor zab;
final int zac;
private Bitmap zad;
private boolean zae;
private File zaf;
/* JADX INFO: Access modifiers changed from: package-private */
public BitmapTeleporter(int i, ParcelFileDescriptor parcelFileDescriptor, int i2) {
this.zaa = i;
this.zab = parcelFileDescriptor;
this.zac = i2;
this.zad = null;
this.zae = false;
}
private static final void zaa(Closeable closeable) {
try {
closeable.close();
} catch (IOException unused) {
}
}
public Bitmap get() {
if (!this.zae) {
DataInputStream dataInputStream = new DataInputStream(new ParcelFileDescriptor.AutoCloseInputStream((ParcelFileDescriptor) Preconditions.checkNotNull(this.zab)));
try {
try {
byte[] bArr = new byte[dataInputStream.readInt()];
int readInt = dataInputStream.readInt();
int readInt2 = dataInputStream.readInt();
Bitmap.Config valueOf = Bitmap.Config.valueOf(dataInputStream.readUTF());
dataInputStream.read(bArr);
zaa(dataInputStream);
ByteBuffer wrap = ByteBuffer.wrap(bArr);
Bitmap createBitmap = Bitmap.createBitmap(readInt, readInt2, valueOf);
createBitmap.copyPixelsFromBuffer(wrap);
this.zad = createBitmap;
this.zae = true;
} catch (IOException e) {
throw new IllegalStateException("Could not read from parcel file descriptor", e);
}
} catch (Throwable th) {
zaa(dataInputStream);
throw th;
}
}
return this.zad;
}
public void release() {
if (this.zae) {
return;
}
try {
((ParcelFileDescriptor) Preconditions.checkNotNull(this.zab)).close();
} catch (IOException unused) {
}
}
public void setTempDir(File file) {
if (file == null) {
throw new NullPointerException("Cannot set null temp directory");
}
this.zaf = file;
}
@Override // android.os.Parcelable
public final void writeToParcel(Parcel parcel, int i) {
if (this.zab == null) {
Bitmap bitmap = (Bitmap) Preconditions.checkNotNull(this.zad);
ByteBuffer allocate = ByteBuffer.allocate(bitmap.getRowBytes() * bitmap.getHeight());
bitmap.copyPixelsToBuffer(allocate);
byte[] array = allocate.array();
File file = this.zaf;
if (file == null) {
throw new IllegalStateException("setTempDir() must be called before writing this object to a parcel");
}
try {
File createTempFile = File.createTempFile("teleporter", ".tmp", file);
try {
FileOutputStream fileOutputStream = new FileOutputStream(createTempFile);
this.zab = ParcelFileDescriptor.open(createTempFile, 268435456);
createTempFile.delete();
DataOutputStream dataOutputStream = new DataOutputStream(new BufferedOutputStream(fileOutputStream));
try {
try {
dataOutputStream.writeInt(array.length);
dataOutputStream.writeInt(bitmap.getWidth());
dataOutputStream.writeInt(bitmap.getHeight());
dataOutputStream.writeUTF(bitmap.getConfig().toString());
dataOutputStream.write(array);
} catch (IOException e) {
throw new IllegalStateException("Could not write into unlinked file", e);
}
} finally {
zaa(dataOutputStream);
}
} catch (FileNotFoundException unused) {
throw new IllegalStateException("Temporary file is somehow already deleted");
}
} catch (IOException e2) {
throw new IllegalStateException("Could not create temporary file", e2);
}
}
int beginObjectHeader = SafeParcelWriter.beginObjectHeader(parcel);
SafeParcelWriter.writeInt(parcel, 1, this.zaa);
SafeParcelWriter.writeParcelable(parcel, 2, this.zab, i | 1, false);
SafeParcelWriter.writeInt(parcel, 3, this.zac);
SafeParcelWriter.finishObjectHeader(parcel, beginObjectHeader);
this.zab = null;
}
public BitmapTeleporter(Bitmap bitmap) {
this.zaa = 1;
this.zab = null;
this.zac = 0;
this.zad = bitmap;
this.zae = true;
}
}