Initial version -- added millennium read funcionality

This commit is contained in:
Pablo
2026-03-09 22:05:28 +01:00
commit 77c2ded482
2770 changed files with 141927 additions and 0 deletions
@@ -0,0 +1,10 @@
package com.google.android.gms.common.internal.safeparcel;
/* JADX INFO: compiled from: com.google.android.gms:play-services-basement@@18.3.0 */
/* JADX INFO: loaded from: classes2.dex */
public abstract class AbstractSafeParcelable implements SafeParcelable {
@Override // android.os.Parcelable
public final int describeContents() {
return 0;
}
}
@@ -0,0 +1,737 @@
package com.google.android.gms.common.internal.safeparcel;
import android.app.PendingIntent;
import android.os.Bundle;
import android.os.IBinder;
import android.os.Parcel;
import android.os.Parcelable;
import android.util.SparseArray;
import android.util.SparseBooleanArray;
import android.util.SparseIntArray;
import android.util.SparseLongArray;
import androidx.core.internal.view.SupportMenu;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
/* JADX INFO: compiled from: com.google.android.gms:play-services-basement@@18.3.0 */
/* JADX INFO: loaded from: classes2.dex */
public class SafeParcelReader {
/* JADX INFO: compiled from: com.google.android.gms:play-services-basement@@18.3.0 */
public static class ParseException extends RuntimeException {
public ParseException(String str, Parcel parcel) {
super(str + " Parcel: pos=" + parcel.dataPosition() + " size=" + parcel.dataSize());
}
}
private SafeParcelReader() {
}
public static BigDecimal createBigDecimal(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
byte[] bArrCreateByteArray = parcel.createByteArray();
int i2 = parcel.readInt();
parcel.setDataPosition(iDataPosition + size);
return new BigDecimal(new BigInteger(bArrCreateByteArray), i2);
}
public static BigDecimal[] createBigDecimalArray(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
int i2 = parcel.readInt();
BigDecimal[] bigDecimalArr = new BigDecimal[i2];
for (int i3 = 0; i3 < i2; i3++) {
byte[] bArrCreateByteArray = parcel.createByteArray();
bigDecimalArr[i3] = new BigDecimal(new BigInteger(bArrCreateByteArray), parcel.readInt());
}
parcel.setDataPosition(iDataPosition + size);
return bigDecimalArr;
}
public static BigInteger createBigInteger(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
byte[] bArrCreateByteArray = parcel.createByteArray();
parcel.setDataPosition(iDataPosition + size);
return new BigInteger(bArrCreateByteArray);
}
public static BigInteger[] createBigIntegerArray(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
int i2 = parcel.readInt();
BigInteger[] bigIntegerArr = new BigInteger[i2];
for (int i3 = 0; i3 < i2; i3++) {
bigIntegerArr[i3] = new BigInteger(parcel.createByteArray());
}
parcel.setDataPosition(iDataPosition + size);
return bigIntegerArr;
}
public static boolean[] createBooleanArray(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
boolean[] zArrCreateBooleanArray = parcel.createBooleanArray();
parcel.setDataPosition(iDataPosition + size);
return zArrCreateBooleanArray;
}
public static ArrayList<Boolean> createBooleanList(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
ArrayList<Boolean> arrayList = new ArrayList<>();
int i2 = parcel.readInt();
for (int i3 = 0; i3 < i2; i3++) {
arrayList.add(Boolean.valueOf(parcel.readInt() != 0));
}
parcel.setDataPosition(iDataPosition + size);
return arrayList;
}
public static Bundle createBundle(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
Bundle bundle = parcel.readBundle();
parcel.setDataPosition(iDataPosition + size);
return bundle;
}
public static byte[] createByteArray(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
byte[] bArrCreateByteArray = parcel.createByteArray();
parcel.setDataPosition(iDataPosition + size);
return bArrCreateByteArray;
}
public static byte[][] createByteArrayArray(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
int i2 = parcel.readInt();
byte[][] bArr = new byte[i2][];
for (int i3 = 0; i3 < i2; i3++) {
bArr[i3] = parcel.createByteArray();
}
parcel.setDataPosition(iDataPosition + size);
return bArr;
}
public static SparseArray<byte[]> createByteArraySparseArray(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
int i2 = parcel.readInt();
SparseArray<byte[]> sparseArray = new SparseArray<>(i2);
for (int i3 = 0; i3 < i2; i3++) {
sparseArray.append(parcel.readInt(), parcel.createByteArray());
}
parcel.setDataPosition(iDataPosition + size);
return sparseArray;
}
public static char[] createCharArray(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
char[] cArrCreateCharArray = parcel.createCharArray();
parcel.setDataPosition(iDataPosition + size);
return cArrCreateCharArray;
}
public static double[] createDoubleArray(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
double[] dArrCreateDoubleArray = parcel.createDoubleArray();
parcel.setDataPosition(iDataPosition + size);
return dArrCreateDoubleArray;
}
public static ArrayList<Double> createDoubleList(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
ArrayList<Double> arrayList = new ArrayList<>();
int i2 = parcel.readInt();
for (int i3 = 0; i3 < i2; i3++) {
arrayList.add(Double.valueOf(parcel.readDouble()));
}
parcel.setDataPosition(iDataPosition + size);
return arrayList;
}
public static SparseArray<Double> createDoubleSparseArray(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
SparseArray<Double> sparseArray = new SparseArray<>();
int i2 = parcel.readInt();
for (int i3 = 0; i3 < i2; i3++) {
sparseArray.append(parcel.readInt(), Double.valueOf(parcel.readDouble()));
}
parcel.setDataPosition(iDataPosition + size);
return sparseArray;
}
public static float[] createFloatArray(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
float[] fArrCreateFloatArray = parcel.createFloatArray();
parcel.setDataPosition(iDataPosition + size);
return fArrCreateFloatArray;
}
public static ArrayList<Float> createFloatList(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
ArrayList<Float> arrayList = new ArrayList<>();
int i2 = parcel.readInt();
for (int i3 = 0; i3 < i2; i3++) {
arrayList.add(Float.valueOf(parcel.readFloat()));
}
parcel.setDataPosition(iDataPosition + size);
return arrayList;
}
public static SparseArray<Float> createFloatSparseArray(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
SparseArray<Float> sparseArray = new SparseArray<>();
int i2 = parcel.readInt();
for (int i3 = 0; i3 < i2; i3++) {
sparseArray.append(parcel.readInt(), Float.valueOf(parcel.readFloat()));
}
parcel.setDataPosition(iDataPosition + size);
return sparseArray;
}
public static IBinder[] createIBinderArray(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
IBinder[] iBinderArrCreateBinderArray = parcel.createBinderArray();
parcel.setDataPosition(iDataPosition + size);
return iBinderArrCreateBinderArray;
}
public static ArrayList<IBinder> createIBinderList(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
ArrayList<IBinder> arrayListCreateBinderArrayList = parcel.createBinderArrayList();
parcel.setDataPosition(iDataPosition + size);
return arrayListCreateBinderArrayList;
}
public static SparseArray<IBinder> createIBinderSparseArray(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
int i2 = parcel.readInt();
SparseArray<IBinder> sparseArray = new SparseArray<>(i2);
for (int i3 = 0; i3 < i2; i3++) {
sparseArray.append(parcel.readInt(), parcel.readStrongBinder());
}
parcel.setDataPosition(iDataPosition + size);
return sparseArray;
}
public static int[] createIntArray(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
int[] iArrCreateIntArray = parcel.createIntArray();
parcel.setDataPosition(iDataPosition + size);
return iArrCreateIntArray;
}
public static ArrayList<Integer> createIntegerList(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
ArrayList<Integer> arrayList = new ArrayList<>();
int i2 = parcel.readInt();
for (int i3 = 0; i3 < i2; i3++) {
arrayList.add(Integer.valueOf(parcel.readInt()));
}
parcel.setDataPosition(iDataPosition + size);
return arrayList;
}
public static long[] createLongArray(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
long[] jArrCreateLongArray = parcel.createLongArray();
parcel.setDataPosition(iDataPosition + size);
return jArrCreateLongArray;
}
public static ArrayList<Long> createLongList(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
ArrayList<Long> arrayList = new ArrayList<>();
int i2 = parcel.readInt();
for (int i3 = 0; i3 < i2; i3++) {
arrayList.add(Long.valueOf(parcel.readLong()));
}
parcel.setDataPosition(iDataPosition + size);
return arrayList;
}
public static Parcel createParcel(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
Parcel parcelObtain = Parcel.obtain();
parcelObtain.appendFrom(parcel, iDataPosition, size);
parcel.setDataPosition(iDataPosition + size);
return parcelObtain;
}
public static Parcel[] createParcelArray(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
int i2 = parcel.readInt();
Parcel[] parcelArr = new Parcel[i2];
for (int i3 = 0; i3 < i2; i3++) {
int i4 = parcel.readInt();
if (i4 != 0) {
int iDataPosition2 = parcel.dataPosition();
Parcel parcelObtain = Parcel.obtain();
parcelObtain.appendFrom(parcel, iDataPosition2, i4);
parcelArr[i3] = parcelObtain;
parcel.setDataPosition(iDataPosition2 + i4);
} else {
parcelArr[i3] = null;
}
}
parcel.setDataPosition(iDataPosition + size);
return parcelArr;
}
public static ArrayList<Parcel> createParcelList(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
int i2 = parcel.readInt();
ArrayList<Parcel> arrayList = new ArrayList<>();
for (int i3 = 0; i3 < i2; i3++) {
int i4 = parcel.readInt();
if (i4 != 0) {
int iDataPosition2 = parcel.dataPosition();
Parcel parcelObtain = Parcel.obtain();
parcelObtain.appendFrom(parcel, iDataPosition2, i4);
arrayList.add(parcelObtain);
parcel.setDataPosition(iDataPosition2 + i4);
} else {
arrayList.add(null);
}
}
parcel.setDataPosition(iDataPosition + size);
return arrayList;
}
public static SparseArray<Parcel> createParcelSparseArray(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
int i2 = parcel.readInt();
SparseArray<Parcel> sparseArray = new SparseArray<>();
for (int i3 = 0; i3 < i2; i3++) {
int i4 = parcel.readInt();
int i5 = parcel.readInt();
if (i5 != 0) {
int iDataPosition2 = parcel.dataPosition();
Parcel parcelObtain = Parcel.obtain();
parcelObtain.appendFrom(parcel, iDataPosition2, i5);
sparseArray.append(i4, parcelObtain);
parcel.setDataPosition(iDataPosition2 + i5);
} else {
sparseArray.append(i4, null);
}
}
parcel.setDataPosition(iDataPosition + size);
return sparseArray;
}
public static <T extends Parcelable> T createParcelable(Parcel parcel, int i, Parcelable.Creator<T> creator) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
T tCreateFromParcel = creator.createFromParcel(parcel);
parcel.setDataPosition(iDataPosition + size);
return tCreateFromParcel;
}
public static SparseBooleanArray createSparseBooleanArray(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
SparseBooleanArray sparseBooleanArray = parcel.readSparseBooleanArray();
parcel.setDataPosition(iDataPosition + size);
return sparseBooleanArray;
}
public static SparseIntArray createSparseIntArray(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
SparseIntArray sparseIntArray = new SparseIntArray();
int i2 = parcel.readInt();
for (int i3 = 0; i3 < i2; i3++) {
sparseIntArray.append(parcel.readInt(), parcel.readInt());
}
parcel.setDataPosition(iDataPosition + size);
return sparseIntArray;
}
public static SparseLongArray createSparseLongArray(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
SparseLongArray sparseLongArray = new SparseLongArray();
int i2 = parcel.readInt();
for (int i3 = 0; i3 < i2; i3++) {
sparseLongArray.append(parcel.readInt(), parcel.readLong());
}
parcel.setDataPosition(iDataPosition + size);
return sparseLongArray;
}
public static String createString(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
String string = parcel.readString();
parcel.setDataPosition(iDataPosition + size);
return string;
}
public static String[] createStringArray(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
String[] strArrCreateStringArray = parcel.createStringArray();
parcel.setDataPosition(iDataPosition + size);
return strArrCreateStringArray;
}
public static ArrayList<String> createStringList(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
ArrayList<String> arrayListCreateStringArrayList = parcel.createStringArrayList();
parcel.setDataPosition(iDataPosition + size);
return arrayListCreateStringArrayList;
}
public static SparseArray<String> createStringSparseArray(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
SparseArray<String> sparseArray = new SparseArray<>();
int i2 = parcel.readInt();
for (int i3 = 0; i3 < i2; i3++) {
sparseArray.append(parcel.readInt(), parcel.readString());
}
parcel.setDataPosition(iDataPosition + size);
return sparseArray;
}
public static <T> T[] createTypedArray(Parcel parcel, int i, Parcelable.Creator<T> creator) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
T[] tArr = (T[]) parcel.createTypedArray(creator);
parcel.setDataPosition(iDataPosition + size);
return tArr;
}
public static <T> ArrayList<T> createTypedList(Parcel parcel, int i, Parcelable.Creator<T> creator) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
ArrayList<T> arrayListCreateTypedArrayList = parcel.createTypedArrayList(creator);
parcel.setDataPosition(iDataPosition + size);
return arrayListCreateTypedArrayList;
}
public static <T> SparseArray<T> createTypedSparseArray(Parcel parcel, int i, Parcelable.Creator<T> creator) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
int i2 = parcel.readInt();
SparseArray<T> sparseArray = new SparseArray<>();
for (int i3 = 0; i3 < i2; i3++) {
sparseArray.append(parcel.readInt(), parcel.readInt() != 0 ? creator.createFromParcel(parcel) : null);
}
parcel.setDataPosition(iDataPosition + size);
return sparseArray;
}
public static void ensureAtEnd(Parcel parcel, int i) {
if (parcel.dataPosition() == i) {
return;
}
throw new ParseException("Overread allowed size end=" + i, parcel);
}
public static int getFieldId(int i) {
return (char) i;
}
public static boolean readBoolean(Parcel parcel, int i) {
zzb(parcel, i, 4);
return parcel.readInt() != 0;
}
public static Boolean readBooleanObject(Parcel parcel, int i) {
int size = readSize(parcel, i);
if (size == 0) {
return null;
}
zza(parcel, i, size, 4);
return Boolean.valueOf(parcel.readInt() != 0);
}
public static byte readByte(Parcel parcel, int i) {
zzb(parcel, i, 4);
return (byte) parcel.readInt();
}
public static char readChar(Parcel parcel, int i) {
zzb(parcel, i, 4);
return (char) parcel.readInt();
}
public static double readDouble(Parcel parcel, int i) {
zzb(parcel, i, 8);
return parcel.readDouble();
}
public static Double readDoubleObject(Parcel parcel, int i) {
int size = readSize(parcel, i);
if (size == 0) {
return null;
}
zza(parcel, i, size, 8);
return Double.valueOf(parcel.readDouble());
}
public static float readFloat(Parcel parcel, int i) {
zzb(parcel, i, 4);
return parcel.readFloat();
}
public static Float readFloatObject(Parcel parcel, int i) {
int size = readSize(parcel, i);
if (size == 0) {
return null;
}
zza(parcel, i, size, 4);
return Float.valueOf(parcel.readFloat());
}
public static int readHeader(Parcel parcel) {
return parcel.readInt();
}
public static IBinder readIBinder(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
IBinder strongBinder = parcel.readStrongBinder();
parcel.setDataPosition(iDataPosition + size);
return strongBinder;
}
public static int readInt(Parcel parcel, int i) {
zzb(parcel, i, 4);
return parcel.readInt();
}
public static Integer readIntegerObject(Parcel parcel, int i) {
int size = readSize(parcel, i);
if (size == 0) {
return null;
}
zza(parcel, i, size, 4);
return Integer.valueOf(parcel.readInt());
}
public static void readList(Parcel parcel, int i, List list, ClassLoader classLoader) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return;
}
parcel.readList(list, classLoader);
parcel.setDataPosition(iDataPosition + size);
}
public static long readLong(Parcel parcel, int i) {
zzb(parcel, i, 8);
return parcel.readLong();
}
public static Long readLongObject(Parcel parcel, int i) {
int size = readSize(parcel, i);
if (size == 0) {
return null;
}
zza(parcel, i, size, 8);
return Long.valueOf(parcel.readLong());
}
public static PendingIntent readPendingIntent(Parcel parcel, int i) {
int size = readSize(parcel, i);
int iDataPosition = parcel.dataPosition();
if (size == 0) {
return null;
}
PendingIntent pendingIntentOrNullFromParcel = PendingIntent.readPendingIntentOrNullFromParcel(parcel);
parcel.setDataPosition(iDataPosition + size);
return pendingIntentOrNullFromParcel;
}
public static short readShort(Parcel parcel, int i) {
zzb(parcel, i, 4);
return (short) parcel.readInt();
}
public static int readSize(Parcel parcel, int i) {
return (i & SupportMenu.CATEGORY_MASK) != -65536 ? (char) (i >> 16) : parcel.readInt();
}
public static void skipUnknownField(Parcel parcel, int i) {
parcel.setDataPosition(parcel.dataPosition() + readSize(parcel, i));
}
public static int validateObjectHeader(Parcel parcel) {
int header = readHeader(parcel);
int size = readSize(parcel, header);
int fieldId = getFieldId(header);
int iDataPosition = parcel.dataPosition();
if (fieldId != 20293) {
throw new ParseException("Expected object header. Got 0x".concat(String.valueOf(Integer.toHexString(header))), parcel);
}
int i = size + iDataPosition;
if (i >= iDataPosition && i <= parcel.dataSize()) {
return i;
}
throw new ParseException("Size read is invalid start=" + iDataPosition + " end=" + i, parcel);
}
private static void zza(Parcel parcel, int i, int i2, int i3) {
if (i2 == i3) {
return;
}
throw new ParseException("Expected size " + i3 + " got " + i2 + " (0x" + Integer.toHexString(i2) + ")", parcel);
}
private static void zzb(Parcel parcel, int i, int i2) {
int size = readSize(parcel, i);
if (size == i2) {
return;
}
throw new ParseException("Expected size " + i2 + " got " + size + " (0x" + Integer.toHexString(size) + ")", parcel);
}
}
@@ -0,0 +1,790 @@
package com.google.android.gms.common.internal.safeparcel;
import android.app.PendingIntent;
import android.os.Bundle;
import android.os.IBinder;
import android.os.Parcel;
import android.os.Parcelable;
import android.util.SparseArray;
import android.util.SparseBooleanArray;
import android.util.SparseIntArray;
import android.util.SparseLongArray;
import androidx.core.internal.view.SupportMenu;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.List;
/* JADX INFO: compiled from: com.google.android.gms:play-services-basement@@18.3.0 */
/* JADX INFO: loaded from: classes2.dex */
public class SafeParcelWriter {
private SafeParcelWriter() {
}
public static int beginObjectHeader(Parcel parcel) {
return zza(parcel, 20293);
}
public static void finishObjectHeader(Parcel parcel, int i) {
zzb(parcel, i);
}
public static void writeBigDecimal(Parcel parcel, int i, BigDecimal bigDecimal, boolean z) {
if (bigDecimal == null) {
if (z) {
zzc(parcel, i, 0);
}
} else {
int iZza = zza(parcel, i);
parcel.writeByteArray(bigDecimal.unscaledValue().toByteArray());
parcel.writeInt(bigDecimal.scale());
zzb(parcel, iZza);
}
}
public static void writeBigDecimalArray(Parcel parcel, int i, BigDecimal[] bigDecimalArr, boolean z) {
if (bigDecimalArr == null) {
if (z) {
zzc(parcel, i, 0);
return;
}
return;
}
int iZza = zza(parcel, i);
int length = bigDecimalArr.length;
parcel.writeInt(length);
for (int i2 = 0; i2 < length; i2++) {
parcel.writeByteArray(bigDecimalArr[i2].unscaledValue().toByteArray());
parcel.writeInt(bigDecimalArr[i2].scale());
}
zzb(parcel, iZza);
}
public static void writeBigInteger(Parcel parcel, int i, BigInteger bigInteger, boolean z) {
if (bigInteger == null) {
if (z) {
zzc(parcel, i, 0);
}
} else {
int iZza = zza(parcel, i);
parcel.writeByteArray(bigInteger.toByteArray());
zzb(parcel, iZza);
}
}
public static void writeBigIntegerArray(Parcel parcel, int i, BigInteger[] bigIntegerArr, boolean z) {
if (bigIntegerArr == null) {
if (z) {
zzc(parcel, i, 0);
return;
}
return;
}
int iZza = zza(parcel, i);
parcel.writeInt(bigIntegerArr.length);
for (BigInteger bigInteger : bigIntegerArr) {
parcel.writeByteArray(bigInteger.toByteArray());
}
zzb(parcel, iZza);
}
public static void writeBoolean(Parcel parcel, int i, boolean z) {
zzc(parcel, i, 4);
parcel.writeInt(z ? 1 : 0);
}
public static void writeBooleanArray(Parcel parcel, int i, boolean[] zArr, boolean z) {
if (zArr == null) {
if (z) {
zzc(parcel, i, 0);
}
} else {
int iZza = zza(parcel, i);
parcel.writeBooleanArray(zArr);
zzb(parcel, iZza);
}
}
public static void writeBooleanList(Parcel parcel, int i, List<Boolean> list, boolean z) {
if (list == null) {
if (z) {
zzc(parcel, i, 0);
return;
}
return;
}
int iZza = zza(parcel, i);
int size = list.size();
parcel.writeInt(size);
for (int i2 = 0; i2 < size; i2++) {
parcel.writeInt(list.get(i2).booleanValue() ? 1 : 0);
}
zzb(parcel, iZza);
}
public static void writeBooleanObject(Parcel parcel, int i, Boolean bool, boolean z) {
if (bool != null) {
zzc(parcel, i, 4);
parcel.writeInt(bool.booleanValue() ? 1 : 0);
} else if (z) {
zzc(parcel, i, 0);
}
}
public static void writeBundle(Parcel parcel, int i, Bundle bundle, boolean z) {
if (bundle == null) {
if (z) {
zzc(parcel, i, 0);
}
} else {
int iZza = zza(parcel, i);
parcel.writeBundle(bundle);
zzb(parcel, iZza);
}
}
public static void writeByte(Parcel parcel, int i, byte b) {
zzc(parcel, i, 4);
parcel.writeInt(b);
}
public static void writeByteArray(Parcel parcel, int i, byte[] bArr, boolean z) {
if (bArr == null) {
if (z) {
zzc(parcel, i, 0);
}
} else {
int iZza = zza(parcel, i);
parcel.writeByteArray(bArr);
zzb(parcel, iZza);
}
}
public static void writeByteArrayArray(Parcel parcel, int i, byte[][] bArr, boolean z) {
if (bArr == null) {
if (z) {
zzc(parcel, i, 0);
return;
}
return;
}
int iZza = zza(parcel, i);
parcel.writeInt(bArr.length);
for (byte[] bArr2 : bArr) {
parcel.writeByteArray(bArr2);
}
zzb(parcel, iZza);
}
public static void writeByteArraySparseArray(Parcel parcel, int i, SparseArray<byte[]> sparseArray, boolean z) {
if (sparseArray == null) {
if (z) {
zzc(parcel, i, 0);
return;
}
return;
}
int iZza = zza(parcel, i);
int size = sparseArray.size();
parcel.writeInt(size);
for (int i2 = 0; i2 < size; i2++) {
parcel.writeInt(sparseArray.keyAt(i2));
parcel.writeByteArray(sparseArray.valueAt(i2));
}
zzb(parcel, iZza);
}
public static void writeChar(Parcel parcel, int i, char c) {
zzc(parcel, i, 4);
parcel.writeInt(c);
}
public static void writeCharArray(Parcel parcel, int i, char[] cArr, boolean z) {
if (cArr == null) {
if (z) {
zzc(parcel, i, 0);
}
} else {
int iZza = zza(parcel, i);
parcel.writeCharArray(cArr);
zzb(parcel, iZza);
}
}
public static void writeDouble(Parcel parcel, int i, double d) {
zzc(parcel, i, 8);
parcel.writeDouble(d);
}
public static void writeDoubleArray(Parcel parcel, int i, double[] dArr, boolean z) {
if (dArr == null) {
if (z) {
zzc(parcel, i, 0);
}
} else {
int iZza = zza(parcel, i);
parcel.writeDoubleArray(dArr);
zzb(parcel, iZza);
}
}
public static void writeDoubleList(Parcel parcel, int i, List<Double> list, boolean z) {
if (list == null) {
if (z) {
zzc(parcel, i, 0);
return;
}
return;
}
int iZza = zza(parcel, i);
int size = list.size();
parcel.writeInt(size);
for (int i2 = 0; i2 < size; i2++) {
parcel.writeDouble(list.get(i2).doubleValue());
}
zzb(parcel, iZza);
}
public static void writeDoubleObject(Parcel parcel, int i, Double d, boolean z) {
if (d != null) {
zzc(parcel, i, 8);
parcel.writeDouble(d.doubleValue());
} else if (z) {
zzc(parcel, i, 0);
}
}
public static void writeDoubleSparseArray(Parcel parcel, int i, SparseArray<Double> sparseArray, boolean z) {
if (sparseArray == null) {
if (z) {
zzc(parcel, i, 0);
return;
}
return;
}
int iZza = zza(parcel, i);
int size = sparseArray.size();
parcel.writeInt(size);
for (int i2 = 0; i2 < size; i2++) {
parcel.writeInt(sparseArray.keyAt(i2));
parcel.writeDouble(sparseArray.valueAt(i2).doubleValue());
}
zzb(parcel, iZza);
}
public static void writeFloat(Parcel parcel, int i, float f) {
zzc(parcel, i, 4);
parcel.writeFloat(f);
}
public static void writeFloatArray(Parcel parcel, int i, float[] fArr, boolean z) {
if (fArr == null) {
if (z) {
zzc(parcel, i, 0);
}
} else {
int iZza = zza(parcel, i);
parcel.writeFloatArray(fArr);
zzb(parcel, iZza);
}
}
public static void writeFloatList(Parcel parcel, int i, List<Float> list, boolean z) {
if (list == null) {
if (z) {
zzc(parcel, i, 0);
return;
}
return;
}
int iZza = zza(parcel, i);
int size = list.size();
parcel.writeInt(size);
for (int i2 = 0; i2 < size; i2++) {
parcel.writeFloat(list.get(i2).floatValue());
}
zzb(parcel, iZza);
}
public static void writeFloatObject(Parcel parcel, int i, Float f, boolean z) {
if (f != null) {
zzc(parcel, i, 4);
parcel.writeFloat(f.floatValue());
} else if (z) {
zzc(parcel, i, 0);
}
}
public static void writeFloatSparseArray(Parcel parcel, int i, SparseArray<Float> sparseArray, boolean z) {
if (sparseArray == null) {
if (z) {
zzc(parcel, i, 0);
return;
}
return;
}
int iZza = zza(parcel, i);
int size = sparseArray.size();
parcel.writeInt(size);
for (int i2 = 0; i2 < size; i2++) {
parcel.writeInt(sparseArray.keyAt(i2));
parcel.writeFloat(sparseArray.valueAt(i2).floatValue());
}
zzb(parcel, iZza);
}
public static void writeIBinder(Parcel parcel, int i, IBinder iBinder, boolean z) {
if (iBinder == null) {
if (z) {
zzc(parcel, i, 0);
}
} else {
int iZza = zza(parcel, i);
parcel.writeStrongBinder(iBinder);
zzb(parcel, iZza);
}
}
public static void writeIBinderArray(Parcel parcel, int i, IBinder[] iBinderArr, boolean z) {
if (iBinderArr == null) {
if (z) {
zzc(parcel, i, 0);
}
} else {
int iZza = zza(parcel, i);
parcel.writeBinderArray(iBinderArr);
zzb(parcel, iZza);
}
}
public static void writeIBinderList(Parcel parcel, int i, List<IBinder> list, boolean z) {
if (list == null) {
if (z) {
zzc(parcel, i, 0);
}
} else {
int iZza = zza(parcel, i);
parcel.writeBinderList(list);
zzb(parcel, iZza);
}
}
public static void writeIBinderSparseArray(Parcel parcel, int i, SparseArray<IBinder> sparseArray, boolean z) {
if (sparseArray == null) {
if (z) {
zzc(parcel, i, 0);
return;
}
return;
}
int iZza = zza(parcel, i);
int size = sparseArray.size();
parcel.writeInt(size);
for (int i2 = 0; i2 < size; i2++) {
parcel.writeInt(sparseArray.keyAt(i2));
parcel.writeStrongBinder(sparseArray.valueAt(i2));
}
zzb(parcel, iZza);
}
public static void writeInt(Parcel parcel, int i, int i2) {
zzc(parcel, i, 4);
parcel.writeInt(i2);
}
public static void writeIntArray(Parcel parcel, int i, int[] iArr, boolean z) {
if (iArr == null) {
if (z) {
zzc(parcel, i, 0);
}
} else {
int iZza = zza(parcel, i);
parcel.writeIntArray(iArr);
zzb(parcel, iZza);
}
}
public static void writeIntegerList(Parcel parcel, int i, List<Integer> list, boolean z) {
if (list == null) {
if (z) {
zzc(parcel, i, 0);
return;
}
return;
}
int iZza = zza(parcel, i);
int size = list.size();
parcel.writeInt(size);
for (int i2 = 0; i2 < size; i2++) {
parcel.writeInt(list.get(i2).intValue());
}
zzb(parcel, iZza);
}
public static void writeIntegerObject(Parcel parcel, int i, Integer num, boolean z) {
if (num != null) {
zzc(parcel, i, 4);
parcel.writeInt(num.intValue());
} else if (z) {
zzc(parcel, i, 0);
}
}
public static void writeList(Parcel parcel, int i, List list, boolean z) {
if (list == null) {
if (z) {
zzc(parcel, i, 0);
}
} else {
int iZza = zza(parcel, i);
parcel.writeList(list);
zzb(parcel, iZza);
}
}
public static void writeLong(Parcel parcel, int i, long j) {
zzc(parcel, i, 8);
parcel.writeLong(j);
}
public static void writeLongArray(Parcel parcel, int i, long[] jArr, boolean z) {
if (jArr == null) {
if (z) {
zzc(parcel, i, 0);
}
} else {
int iZza = zza(parcel, i);
parcel.writeLongArray(jArr);
zzb(parcel, iZza);
}
}
public static void writeLongList(Parcel parcel, int i, List<Long> list, boolean z) {
if (list == null) {
if (z) {
zzc(parcel, i, 0);
return;
}
return;
}
int iZza = zza(parcel, i);
int size = list.size();
parcel.writeInt(size);
for (int i2 = 0; i2 < size; i2++) {
parcel.writeLong(list.get(i2).longValue());
}
zzb(parcel, iZza);
}
public static void writeLongObject(Parcel parcel, int i, Long l, boolean z) {
if (l != null) {
zzc(parcel, i, 8);
parcel.writeLong(l.longValue());
} else if (z) {
zzc(parcel, i, 0);
}
}
public static void writeParcel(Parcel parcel, int i, Parcel parcel2, boolean z) {
if (parcel2 == null) {
if (z) {
zzc(parcel, i, 0);
}
} else {
int iZza = zza(parcel, i);
parcel.appendFrom(parcel2, 0, parcel2.dataSize());
zzb(parcel, iZza);
}
}
public static void writeParcelArray(Parcel parcel, int i, Parcel[] parcelArr, boolean z) {
if (parcelArr == null) {
if (z) {
zzc(parcel, i, 0);
return;
}
return;
}
int iZza = zza(parcel, i);
parcel.writeInt(parcelArr.length);
for (Parcel parcel2 : parcelArr) {
if (parcel2 != null) {
parcel.writeInt(parcel2.dataSize());
parcel.appendFrom(parcel2, 0, parcel2.dataSize());
} else {
parcel.writeInt(0);
}
}
zzb(parcel, iZza);
}
public static void writeParcelList(Parcel parcel, int i, List<Parcel> list, boolean z) {
if (list == null) {
if (z) {
zzc(parcel, i, 0);
return;
}
return;
}
int iZza = zza(parcel, i);
int size = list.size();
parcel.writeInt(size);
for (int i2 = 0; i2 < size; i2++) {
Parcel parcel2 = list.get(i2);
if (parcel2 != null) {
parcel.writeInt(parcel2.dataSize());
parcel.appendFrom(parcel2, 0, parcel2.dataSize());
} else {
parcel.writeInt(0);
}
}
zzb(parcel, iZza);
}
public static void writeParcelSparseArray(Parcel parcel, int i, SparseArray<Parcel> sparseArray, boolean z) {
if (sparseArray == null) {
if (z) {
zzc(parcel, i, 0);
return;
}
return;
}
int iZza = zza(parcel, i);
int size = sparseArray.size();
parcel.writeInt(size);
for (int i2 = 0; i2 < size; i2++) {
parcel.writeInt(sparseArray.keyAt(i2));
Parcel parcelValueAt = sparseArray.valueAt(i2);
if (parcelValueAt != null) {
parcel.writeInt(parcelValueAt.dataSize());
parcel.appendFrom(parcelValueAt, 0, parcelValueAt.dataSize());
} else {
parcel.writeInt(0);
}
}
zzb(parcel, iZza);
}
public static void writeParcelable(Parcel parcel, int i, Parcelable parcelable, int i2, boolean z) {
if (parcelable == null) {
if (z) {
zzc(parcel, i, 0);
}
} else {
int iZza = zza(parcel, i);
parcelable.writeToParcel(parcel, i2);
zzb(parcel, iZza);
}
}
public static void writePendingIntent(Parcel parcel, int i, PendingIntent pendingIntent, boolean z) {
if (pendingIntent == null) {
if (z) {
zzc(parcel, i, 0);
}
} else {
int iZza = zza(parcel, i);
PendingIntent.writePendingIntentOrNullToParcel(pendingIntent, parcel);
zzb(parcel, iZza);
}
}
public static void writeShort(Parcel parcel, int i, short s) {
zzc(parcel, i, 4);
parcel.writeInt(s);
}
public static void writeSparseBooleanArray(Parcel parcel, int i, SparseBooleanArray sparseBooleanArray, boolean z) {
if (sparseBooleanArray == null) {
if (z) {
zzc(parcel, i, 0);
}
} else {
int iZza = zza(parcel, i);
parcel.writeSparseBooleanArray(sparseBooleanArray);
zzb(parcel, iZza);
}
}
public static void writeSparseIntArray(Parcel parcel, int i, SparseIntArray sparseIntArray, boolean z) {
if (sparseIntArray == null) {
if (z) {
zzc(parcel, i, 0);
return;
}
return;
}
int iZza = zza(parcel, i);
int size = sparseIntArray.size();
parcel.writeInt(size);
for (int i2 = 0; i2 < size; i2++) {
parcel.writeInt(sparseIntArray.keyAt(i2));
parcel.writeInt(sparseIntArray.valueAt(i2));
}
zzb(parcel, iZza);
}
public static void writeSparseLongArray(Parcel parcel, int i, SparseLongArray sparseLongArray, boolean z) {
if (sparseLongArray == null) {
if (z) {
zzc(parcel, i, 0);
return;
}
return;
}
int iZza = zza(parcel, i);
int size = sparseLongArray.size();
parcel.writeInt(size);
for (int i2 = 0; i2 < size; i2++) {
parcel.writeInt(sparseLongArray.keyAt(i2));
parcel.writeLong(sparseLongArray.valueAt(i2));
}
zzb(parcel, iZza);
}
public static void writeString(Parcel parcel, int i, String str, boolean z) {
if (str == null) {
if (z) {
zzc(parcel, i, 0);
}
} else {
int iZza = zza(parcel, i);
parcel.writeString(str);
zzb(parcel, iZza);
}
}
public static void writeStringArray(Parcel parcel, int i, String[] strArr, boolean z) {
if (strArr == null) {
if (z) {
zzc(parcel, i, 0);
}
} else {
int iZza = zza(parcel, i);
parcel.writeStringArray(strArr);
zzb(parcel, iZza);
}
}
public static void writeStringList(Parcel parcel, int i, List<String> list, boolean z) {
if (list == null) {
if (z) {
zzc(parcel, i, 0);
}
} else {
int iZza = zza(parcel, i);
parcel.writeStringList(list);
zzb(parcel, iZza);
}
}
public static void writeStringSparseArray(Parcel parcel, int i, SparseArray<String> sparseArray, boolean z) {
if (sparseArray == null) {
if (z) {
zzc(parcel, i, 0);
return;
}
return;
}
int iZza = zza(parcel, i);
int size = sparseArray.size();
parcel.writeInt(size);
for (int i2 = 0; i2 < size; i2++) {
parcel.writeInt(sparseArray.keyAt(i2));
parcel.writeString(sparseArray.valueAt(i2));
}
zzb(parcel, iZza);
}
public static <T extends Parcelable> void writeTypedArray(Parcel parcel, int i, T[] tArr, int i2, boolean z) {
if (tArr == null) {
if (z) {
zzc(parcel, i, 0);
return;
}
return;
}
int iZza = zza(parcel, i);
parcel.writeInt(tArr.length);
for (T t : tArr) {
if (t == null) {
parcel.writeInt(0);
} else {
zzd(parcel, t, i2);
}
}
zzb(parcel, iZza);
}
public static <T extends Parcelable> void writeTypedList(Parcel parcel, int i, List<T> list, boolean z) {
if (list == null) {
if (z) {
zzc(parcel, i, 0);
return;
}
return;
}
int iZza = zza(parcel, i);
int size = list.size();
parcel.writeInt(size);
for (int i2 = 0; i2 < size; i2++) {
T t = list.get(i2);
if (t == null) {
parcel.writeInt(0);
} else {
zzd(parcel, t, 0);
}
}
zzb(parcel, iZza);
}
public static <T extends Parcelable> void writeTypedSparseArray(Parcel parcel, int i, SparseArray<T> sparseArray, boolean z) {
if (sparseArray == null) {
if (z) {
zzc(parcel, i, 0);
return;
}
return;
}
int iZza = zza(parcel, i);
int size = sparseArray.size();
parcel.writeInt(size);
for (int i2 = 0; i2 < size; i2++) {
parcel.writeInt(sparseArray.keyAt(i2));
T tValueAt = sparseArray.valueAt(i2);
if (tValueAt == null) {
parcel.writeInt(0);
} else {
zzd(parcel, tValueAt, 0);
}
}
zzb(parcel, iZza);
}
private static int zza(Parcel parcel, int i) {
parcel.writeInt(i | SupportMenu.CATEGORY_MASK);
parcel.writeInt(0);
return parcel.dataPosition();
}
private static void zzb(Parcel parcel, int i) {
int iDataPosition = parcel.dataPosition();
parcel.setDataPosition(i - 4);
parcel.writeInt(iDataPosition - i);
parcel.setDataPosition(iDataPosition);
}
private static void zzc(Parcel parcel, int i, int i2) {
parcel.writeInt(i | (i2 << 16));
}
private static void zzd(Parcel parcel, Parcelable parcelable, int i) {
int iDataPosition = parcel.dataPosition();
parcel.writeInt(1);
int iDataPosition2 = parcel.dataPosition();
parcelable.writeToParcel(parcel, i);
int iDataPosition3 = parcel.dataPosition();
parcel.setDataPosition(iDataPosition);
parcel.writeInt(iDataPosition3 - iDataPosition2);
parcel.setDataPosition(iDataPosition3);
}
}
@@ -0,0 +1,70 @@
package com.google.android.gms.common.internal.safeparcel;
import android.os.Parcelable;
/* JADX INFO: compiled from: com.google.android.gms:play-services-basement@@18.3.0 */
/* JADX INFO: loaded from: classes2.dex */
public interface SafeParcelable extends Parcelable {
public static final String NULL = "SAFE_PARCELABLE_NULL_STRING";
/* JADX INFO: compiled from: com.google.android.gms:play-services-basement@@18.3.0 */
public @interface Class {
String creator();
boolean creatorIsFinal() default true;
boolean doNotParcelTypeDefaultValues() default false;
boolean validate() default false;
}
/* JADX INFO: compiled from: com.google.android.gms:play-services-basement@@18.3.0 */
public @interface Constructor {
}
/* JADX INFO: compiled from: com.google.android.gms:play-services-basement@@18.3.0 */
public @interface Field {
String defaultValue() default "SAFE_PARCELABLE_NULL_STRING";
String defaultValueUnchecked() default "SAFE_PARCELABLE_NULL_STRING";
String getter() default "SAFE_PARCELABLE_NULL_STRING";
int id();
String type() default "SAFE_PARCELABLE_NULL_STRING";
}
/* JADX INFO: compiled from: com.google.android.gms:play-services-basement@@18.3.0 */
public @interface Indicator {
String getter() default "SAFE_PARCELABLE_NULL_STRING";
}
/* JADX INFO: compiled from: com.google.android.gms:play-services-basement@@18.3.0 */
public @interface Param {
int id();
}
/* JADX INFO: compiled from: com.google.android.gms:play-services-basement@@18.3.0 */
public @interface RemovedParam {
String defaultValue() default "SAFE_PARCELABLE_NULL_STRING";
String defaultValueUnchecked() default "SAFE_PARCELABLE_NULL_STRING";
int id();
}
/* JADX INFO: compiled from: com.google.android.gms:play-services-basement@@18.3.0 */
public @interface Reserved {
int[] value();
}
/* JADX INFO: compiled from: com.google.android.gms:play-services-basement@@18.3.0 */
public @interface VersionField {
String getter() default "SAFE_PARCELABLE_NULL_STRING";
int id();
String type() default "SAFE_PARCELABLE_NULL_STRING";
}
}
@@ -0,0 +1,148 @@
package com.google.android.gms.common.internal.safeparcel;
import android.content.Intent;
import android.os.Bundle;
import android.os.Parcel;
import android.os.Parcelable;
import com.google.android.gms.common.internal.Preconditions;
import com.google.android.gms.common.util.Base64Utils;
import com.google.android.gms.internal.common.zzag;
import java.util.ArrayList;
import java.util.Iterator;
/* JADX INFO: compiled from: com.google.android.gms:play-services-basement@@18.3.0 */
/* JADX INFO: loaded from: classes2.dex */
public final class SafeParcelableSerializer {
private SafeParcelableSerializer() {
}
public static <T extends SafeParcelable> T deserializeFromBytes(byte[] bArr, Parcelable.Creator<T> creator) {
Preconditions.checkNotNull(creator);
Parcel parcelObtain = Parcel.obtain();
parcelObtain.unmarshall(bArr, 0, bArr.length);
parcelObtain.setDataPosition(0);
T tCreateFromParcel = creator.createFromParcel(parcelObtain);
parcelObtain.recycle();
return tCreateFromParcel;
}
public static <T extends SafeParcelable> T deserializeFromIntentExtra(Intent intent, String str, Parcelable.Creator<T> creator) {
byte[] byteArrayExtra = intent.getByteArrayExtra(str);
if (byteArrayExtra == null) {
return null;
}
return (T) deserializeFromBytes(byteArrayExtra, creator);
}
public static <T extends SafeParcelable> T deserializeFromString(String str, Parcelable.Creator<T> creator) {
return (T) deserializeFromBytes(Base64Utils.decodeUrlSafe(str), creator);
}
/* JADX WARN: Multi-variable type inference failed */
@Deprecated
public static <T extends SafeParcelable> ArrayList<T> deserializeIterableFromBundle(Bundle bundle, String str, Parcelable.Creator<T> creator) {
ArrayList arrayList = (ArrayList) bundle.getSerializable(str);
if (arrayList == null) {
return null;
}
ArrayList<T> arrayList2 = (ArrayList<T>) new ArrayList(arrayList.size());
int size = arrayList.size();
for (int i = 0; i < size; i++) {
arrayList2.add(deserializeFromBytes((byte[]) arrayList.get(i), creator));
}
return arrayList2;
}
public static <T extends SafeParcelable> ArrayList<T> deserializeIterableFromBundleSafe(Bundle bundle, String str, Parcelable.Creator<T> creator) {
return deserializeIterableFromBytes(bundle.getByteArray(str), creator);
}
public static <T extends SafeParcelable> ArrayList<T> deserializeIterableFromBytes(byte[] bArr, Parcelable.Creator<T> creator) {
if (bArr == null) {
return null;
}
Parcel parcelObtain = Parcel.obtain();
parcelObtain.unmarshall(bArr, 0, bArr.length);
parcelObtain.setDataPosition(0);
try {
ArrayList<T> arrayList = new ArrayList<>();
parcelObtain.readTypedList(arrayList, creator);
return arrayList;
} finally {
parcelObtain.recycle();
}
}
/* JADX WARN: Multi-variable type inference failed */
@Deprecated
public static <T extends SafeParcelable> ArrayList<T> deserializeIterableFromIntentExtra(Intent intent, String str, Parcelable.Creator<T> creator) {
ArrayList arrayList = (ArrayList) intent.getSerializableExtra(str);
if (arrayList == null) {
return null;
}
ArrayList<T> arrayList2 = (ArrayList<T>) new ArrayList(arrayList.size());
int size = arrayList.size();
for (int i = 0; i < size; i++) {
arrayList2.add(deserializeFromBytes((byte[]) arrayList.get(i), creator));
}
return arrayList2;
}
public static <T extends SafeParcelable> ArrayList<T> deserializeIterableFromIntentExtraSafe(Intent intent, String str, Parcelable.Creator<T> creator) {
return deserializeIterableFromBytes(intent.getByteArrayExtra(str), creator);
}
@Deprecated
public static <T extends SafeParcelable> void serializeIterableToBundle(Iterable<T> iterable, Bundle bundle, String str) {
ArrayList arrayList = new ArrayList();
Iterator<T> it = iterable.iterator();
while (it.hasNext()) {
arrayList.add(serializeToBytes(it.next()));
}
bundle.putSerializable(str, arrayList);
}
public static <T extends SafeParcelable> void serializeIterableToBundleSafe(Iterable<T> iterable, Bundle bundle, String str) {
bundle.putByteArray(str, zza(iterable));
}
@Deprecated
public static <T extends SafeParcelable> void serializeIterableToIntentExtra(Iterable<T> iterable, Intent intent, String str) {
ArrayList arrayList = new ArrayList();
Iterator<T> it = iterable.iterator();
while (it.hasNext()) {
arrayList.add(serializeToBytes(it.next()));
}
intent.putExtra(str, arrayList);
}
public static <T extends SafeParcelable> void serializeIterableToIntentExtraSafe(Iterable<T> iterable, Intent intent, String str) {
intent.putExtra(str, zza(iterable));
}
public static <T extends SafeParcelable> byte[] serializeToBytes(T t) {
Parcel parcelObtain = Parcel.obtain();
t.writeToParcel(parcelObtain, 0);
byte[] bArrMarshall = parcelObtain.marshall();
parcelObtain.recycle();
return bArrMarshall;
}
public static <T extends SafeParcelable> void serializeToIntentExtra(T t, Intent intent, String str) {
intent.putExtra(str, serializeToBytes(t));
}
public static <T extends SafeParcelable> String serializeToString(T t) {
return Base64Utils.encodeUrlSafe(serializeToBytes(t));
}
private static byte[] zza(Iterable iterable) {
Parcel parcelObtain = Parcel.obtain();
try {
parcelObtain.writeTypedList(zzag.zzj(iterable));
return parcelObtain.marshall();
} finally {
parcelObtain.recycle();
}
}
}