package com.google.android.gms.common.server.response; import android.os.Parcel; import android.util.Log; import com.google.android.gms.common.annotation.KeepForSdk; import com.google.android.gms.common.internal.Objects; import com.google.android.gms.common.internal.Preconditions; import com.google.android.gms.common.internal.ShowFirstParty; import com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable; import com.google.android.gms.common.internal.safeparcel.SafeParcelWriter; import com.google.android.gms.common.internal.safeparcel.SafeParcelable; import com.google.android.gms.common.util.Base64Utils; import com.google.android.gms.common.util.JsonUtils; import com.google.android.gms.common.util.MapUtils; import java.math.BigDecimal; import java.math.BigInteger; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; @ShowFirstParty @KeepForSdk /* loaded from: classes.dex */ public abstract class FastJsonResponse { @ShowFirstParty public interface FieldConverter { int zaa(); int zab(); Object zac(Object obj); Object zad(Object obj); } protected static final Object zaD(Field field, Object obj) { return field.zak != null ? field.zaf(obj) : obj; } private final void zaE(Field field, Object obj) { int i10 = field.zac; Object zae = field.zae(obj); String str = field.zae; switch (i10) { case 0: if (zae != null) { setIntegerInternal(field, str, ((Integer) zae).intValue()); return; } else { zaG(str); return; } case 1: zaf(field, str, (BigInteger) zae); return; case 2: if (zae != null) { setLongInternal(field, str, ((Long) zae).longValue()); return; } else { zaG(str); return; } case 3: default: throw new IllegalStateException("Unsupported type for conversion: " + i10); case 4: if (zae != null) { zan(field, str, ((Double) zae).doubleValue()); return; } else { zaG(str); return; } case 5: zab(field, str, (BigDecimal) zae); return; case 6: if (zae != null) { setBooleanInternal(field, str, ((Boolean) zae).booleanValue()); return; } else { zaG(str); return; } case 7: setStringInternal(field, str, (String) zae); return; case 8: case 9: if (zae != null) { setDecodedBytesInternal(field, str, (byte[]) zae); return; } else { zaG(str); return; } } } private static final void zaF(StringBuilder sb, Field field, Object obj) { int i10 = field.zaa; if (i10 == 11) { Class cls = field.zag; Preconditions.checkNotNull(cls); sb.append(((FastJsonResponse) cls.cast(obj)).toString()); } else { if (i10 != 7) { sb.append(obj); return; } sb.append("\""); sb.append(JsonUtils.escapeString((String) obj)); sb.append("\""); } } private static final void zaG(String str) { if (Log.isLoggable("FastJsonResponse", 6)) { Log.e("FastJsonResponse", "Output field (" + str + ") has a null value, but expected a primitive"); } } @KeepForSdk public void addConcreteTypeArrayInternal(Field field, String str, ArrayList arrayList) { throw new UnsupportedOperationException("Concrete type array not supported"); } @KeepForSdk public void addConcreteTypeInternal(Field field, String str, T t10) { throw new UnsupportedOperationException("Concrete type not supported"); } @KeepForSdk public abstract Map> getFieldMappings(); @KeepForSdk protected Object getFieldValue(Field field) { String str = field.zae; if (field.zag == null) { return getValueObject(str); } Preconditions.checkState(getValueObject(str) == null, "Concrete field shouldn't be value object: %s", field.zae); try { return getClass().getMethod("get" + Character.toUpperCase(str.charAt(0)) + str.substring(1), new Class[0]).invoke(this, new Object[0]); } catch (Exception e10) { throw new RuntimeException(e10); } } @KeepForSdk protected abstract Object getValueObject(String str); @KeepForSdk protected boolean isFieldSet(Field field) { if (field.zac != 11) { return isPrimitiveFieldSet(field.zae); } if (field.zad) { throw new UnsupportedOperationException("Concrete type arrays not supported"); } throw new UnsupportedOperationException("Concrete types not supported"); } @KeepForSdk protected abstract boolean isPrimitiveFieldSet(String str); @KeepForSdk protected void setBooleanInternal(Field field, String str, boolean z10) { throw new UnsupportedOperationException("Boolean not supported"); } @KeepForSdk protected void setDecodedBytesInternal(Field field, String str, byte[] bArr) { throw new UnsupportedOperationException("byte[] not supported"); } @KeepForSdk protected void setIntegerInternal(Field field, String str, int i10) { throw new UnsupportedOperationException("Integer not supported"); } @KeepForSdk protected void setLongInternal(Field field, String str, long j10) { throw new UnsupportedOperationException("Long not supported"); } @KeepForSdk protected void setStringInternal(Field field, String str, String str2) { throw new UnsupportedOperationException("String not supported"); } @KeepForSdk protected void setStringMapInternal(Field field, String str, Map map) { throw new UnsupportedOperationException("String map not supported"); } @KeepForSdk protected void setStringsInternal(Field field, String str, ArrayList arrayList) { throw new UnsupportedOperationException("String list not supported"); } @KeepForSdk public String toString() { Map> fieldMappings = getFieldMappings(); StringBuilder sb = new StringBuilder(100); for (String str : fieldMappings.keySet()) { Field field = fieldMappings.get(str); if (isFieldSet(field)) { Object zaD = zaD(field, getFieldValue(field)); if (sb.length() == 0) { sb.append("{"); } else { sb.append(","); } sb.append("\""); sb.append(str); sb.append("\":"); if (zaD != null) { switch (field.zac) { case 8: sb.append("\""); sb.append(Base64Utils.encode((byte[]) zaD)); sb.append("\""); break; case 9: sb.append("\""); sb.append(Base64Utils.encodeUrlSafe((byte[]) zaD)); sb.append("\""); break; case 10: MapUtils.writeStringMapToJson(sb, (HashMap) zaD); break; default: if (field.zab) { ArrayList arrayList = (ArrayList) zaD; sb.append("["); int size = arrayList.size(); for (int i10 = 0; i10 < size; i10++) { if (i10 > 0) { sb.append(","); } Object obj = arrayList.get(i10); if (obj != null) { zaF(sb, field, obj); } } sb.append("]"); break; } else { zaF(sb, field, zaD); break; } } } else { sb.append("null"); } } } if (sb.length() > 0) { sb.append("}"); } else { sb.append("{}"); } return sb.toString(); } public final void zaA(Field field, String str) { if (field.zak != null) { zaE(field, str); } else { setStringInternal(field, field.zae, str); } } public final void zaB(Field field, Map map) { if (field.zak != null) { zaE(field, map); } else { setStringMapInternal(field, field.zae, map); } } public final void zaC(Field field, ArrayList arrayList) { if (field.zak != null) { zaE(field, arrayList); } else { setStringsInternal(field, field.zae, arrayList); } } public final void zaa(Field field, BigDecimal bigDecimal) { if (field.zak != null) { zaE(field, bigDecimal); } else { zab(field, field.zae, bigDecimal); } } protected void zab(Field field, String str, BigDecimal bigDecimal) { throw new UnsupportedOperationException("BigDecimal not supported"); } public final void zac(Field field, ArrayList arrayList) { if (field.zak != null) { zaE(field, arrayList); } else { zad(field, field.zae, arrayList); } } protected void zad(Field field, String str, ArrayList arrayList) { throw new UnsupportedOperationException("BigDecimal list not supported"); } public final void zae(Field field, BigInteger bigInteger) { if (field.zak != null) { zaE(field, bigInteger); } else { zaf(field, field.zae, bigInteger); } } protected void zaf(Field field, String str, BigInteger bigInteger) { throw new UnsupportedOperationException("BigInteger not supported"); } public final void zag(Field field, ArrayList arrayList) { if (field.zak != null) { zaE(field, arrayList); } else { zah(field, field.zae, arrayList); } } protected void zah(Field field, String str, ArrayList arrayList) { throw new UnsupportedOperationException("BigInteger list not supported"); } public final void zai(Field field, boolean z10) { if (field.zak != null) { zaE(field, Boolean.valueOf(z10)); } else { setBooleanInternal(field, field.zae, z10); } } public final void zaj(Field field, ArrayList arrayList) { if (field.zak != null) { zaE(field, arrayList); } else { zak(field, field.zae, arrayList); } } protected void zak(Field field, String str, ArrayList arrayList) { throw new UnsupportedOperationException("Boolean list not supported"); } public final void zal(Field field, byte[] bArr) { if (field.zak != null) { zaE(field, bArr); } else { setDecodedBytesInternal(field, field.zae, bArr); } } public final void zam(Field field, double d10) { if (field.zak != null) { zaE(field, Double.valueOf(d10)); } else { zan(field, field.zae, d10); } } protected void zan(Field field, String str, double d10) { throw new UnsupportedOperationException("Double not supported"); } public final void zao(Field field, ArrayList arrayList) { if (field.zak != null) { zaE(field, arrayList); } else { zap(field, field.zae, arrayList); } } protected void zap(Field field, String str, ArrayList arrayList) { throw new UnsupportedOperationException("Double list not supported"); } public final void zaq(Field field, float f10) { if (field.zak != null) { zaE(field, Float.valueOf(f10)); } else { zar(field, field.zae, f10); } } protected void zar(Field field, String str, float f10) { throw new UnsupportedOperationException("Float not supported"); } public final void zas(Field field, ArrayList arrayList) { if (field.zak != null) { zaE(field, arrayList); } else { zat(field, field.zae, arrayList); } } protected void zat(Field field, String str, ArrayList arrayList) { throw new UnsupportedOperationException("Float list not supported"); } public final void zau(Field field, int i10) { if (field.zak != null) { zaE(field, Integer.valueOf(i10)); } else { setIntegerInternal(field, field.zae, i10); } } public final void zav(Field field, ArrayList arrayList) { if (field.zak != null) { zaE(field, arrayList); } else { zaw(field, field.zae, arrayList); } } protected void zaw(Field field, String str, ArrayList arrayList) { throw new UnsupportedOperationException("Integer list not supported"); } public final void zax(Field field, long j10) { if (field.zak != null) { zaE(field, Long.valueOf(j10)); } else { setLongInternal(field, field.zae, j10); } } public final void zay(Field field, ArrayList arrayList) { if (field.zak != null) { zaE(field, arrayList); } else { zaz(field, field.zae, arrayList); } } protected void zaz(Field field, String str, ArrayList arrayList) { throw new UnsupportedOperationException("Long list not supported"); } @SafeParcelable.Class(creator = "FieldCreator") @ShowFirstParty @KeepForSdk public static class Field extends AbstractSafeParcelable { public static final zaj CREATOR = new zaj(); @SafeParcelable.Field(getter = "getTypeIn", id = 2) protected final int zaa; @SafeParcelable.Field(getter = "isTypeInArray", id = 3) protected final boolean zab; @SafeParcelable.Field(getter = "getTypeOut", id = 4) protected final int zac; @SafeParcelable.Field(getter = "isTypeOutArray", id = 5) protected final boolean zad; @SafeParcelable.Field(getter = "getOutputFieldName", id = 6) protected final String zae; @SafeParcelable.Field(getter = "getSafeParcelableFieldId", id = 7) protected final int zaf; protected final Class zag; @SafeParcelable.Field(getter = "getConcreteTypeName", id = 8) protected final String zah; @SafeParcelable.VersionField(getter = "getVersionCode", id = 1) private final int zai; private zan zaj; @SafeParcelable.Field(getter = "getWrappedConverter", id = 9, type = "com.google.android.gms.common.server.converter.ConverterWrapper") private final FieldConverter zak; @SafeParcelable.Constructor Field(@SafeParcelable.Param(id = 1) int i10, @SafeParcelable.Param(id = 2) int i11, @SafeParcelable.Param(id = 3) boolean z10, @SafeParcelable.Param(id = 4) int i12, @SafeParcelable.Param(id = 5) boolean z11, @SafeParcelable.Param(id = 6) String str, @SafeParcelable.Param(id = 7) int i13, @SafeParcelable.Param(id = 8) String str2, @SafeParcelable.Param(id = 9) com.google.android.gms.common.server.converter.zaa zaaVar) { this.zai = i10; this.zaa = i11; this.zab = z10; this.zac = i12; this.zad = z11; this.zae = str; this.zaf = i13; if (str2 == null) { this.zag = null; this.zah = null; } else { this.zag = SafeParcelResponse.class; this.zah = str2; } if (zaaVar == null) { this.zak = null; } else { this.zak = zaaVar.zab(); } } @KeepForSdk public static Field forBase64(String str, int i10) { return new Field<>(8, false, 8, false, str, i10, null, null); } @KeepForSdk public static Field forBoolean(String str, int i10) { return new Field<>(6, false, 6, false, str, i10, null, null); } @KeepForSdk public static Field forConcreteType(String str, int i10, Class cls) { return new Field<>(11, false, 11, false, str, i10, cls, null); } @KeepForSdk public static Field, ArrayList> forConcreteTypeArray(String str, int i10, Class cls) { return new Field<>(11, true, 11, true, str, i10, cls, null); } @KeepForSdk public static Field forDouble(String str, int i10) { return new Field<>(4, false, 4, false, str, i10, null, null); } @KeepForSdk public static Field forFloat(String str, int i10) { return new Field<>(3, false, 3, false, str, i10, null, null); } @KeepForSdk public static Field forInteger(String str, int i10) { return new Field<>(0, false, 0, false, str, i10, null, null); } @KeepForSdk public static Field forLong(String str, int i10) { return new Field<>(2, false, 2, false, str, i10, null, null); } @KeepForSdk public static Field forString(String str, int i10) { return new Field<>(7, false, 7, false, str, i10, null, null); } @KeepForSdk public static Field, HashMap> forStringMap(String str, int i10) { return new Field<>(10, false, 10, false, str, i10, null, null); } @KeepForSdk public static Field, ArrayList> forStrings(String str, int i10) { return new Field<>(7, true, 7, true, str, i10, null, null); } @KeepForSdk public static Field withConverter(String str, int i10, FieldConverter fieldConverter, boolean z10) { fieldConverter.zaa(); fieldConverter.zab(); return new Field(7, z10, 0, false, str, i10, null, fieldConverter); } @KeepForSdk public int getSafeParcelableFieldId() { return this.zaf; } public final String toString() { Objects.ToStringHelper add = Objects.toStringHelper(this).add("versionCode", Integer.valueOf(this.zai)).add("typeIn", Integer.valueOf(this.zaa)).add("typeInArray", Boolean.valueOf(this.zab)).add("typeOut", Integer.valueOf(this.zac)).add("typeOutArray", Boolean.valueOf(this.zad)).add("outputFieldName", this.zae).add("safeParcelFieldId", Integer.valueOf(this.zaf)).add("concreteTypeName", zag()); Class cls = this.zag; if (cls != null) { add.add("concreteType.class", cls.getCanonicalName()); } FieldConverter fieldConverter = this.zak; if (fieldConverter != null) { add.add("converterName", fieldConverter.getClass().getCanonicalName()); } return add.toString(); } @Override // android.os.Parcelable public final void writeToParcel(Parcel parcel, int i10) { int i11 = this.zai; int beginObjectHeader = SafeParcelWriter.beginObjectHeader(parcel); SafeParcelWriter.writeInt(parcel, 1, i11); SafeParcelWriter.writeInt(parcel, 2, this.zaa); SafeParcelWriter.writeBoolean(parcel, 3, this.zab); SafeParcelWriter.writeInt(parcel, 4, this.zac); SafeParcelWriter.writeBoolean(parcel, 5, this.zad); SafeParcelWriter.writeString(parcel, 6, this.zae, false); SafeParcelWriter.writeInt(parcel, 7, getSafeParcelableFieldId()); SafeParcelWriter.writeString(parcel, 8, zag(), false); SafeParcelWriter.writeParcelable(parcel, 9, zaa(), i10, false); SafeParcelWriter.finishObjectHeader(parcel, beginObjectHeader); } final com.google.android.gms.common.server.converter.zaa zaa() { FieldConverter fieldConverter = this.zak; if (fieldConverter == null) { return null; } return com.google.android.gms.common.server.converter.zaa.zaa(fieldConverter); } public final Field zab() { return new Field(this.zai, this.zaa, this.zab, this.zac, this.zad, this.zae, this.zaf, this.zah, zaa()); } public final FastJsonResponse zad() { Preconditions.checkNotNull(this.zag); Class cls = this.zag; if (cls != SafeParcelResponse.class) { return (FastJsonResponse) cls.newInstance(); } Preconditions.checkNotNull(this.zah); Preconditions.checkNotNull(this.zaj, "The field mapping dictionary must be set if the concrete type is a SafeParcelResponse object."); return new SafeParcelResponse(this.zaj, this.zah); } public final Object zae(Object obj) { Preconditions.checkNotNull(this.zak); return Preconditions.checkNotNull(this.zak.zac(obj)); } public final Object zaf(Object obj) { Preconditions.checkNotNull(this.zak); return this.zak.zad(obj); } final String zag() { String str = this.zah; if (str == null) { return null; } return str; } public final Map zah() { Preconditions.checkNotNull(this.zah); Preconditions.checkNotNull(this.zaj); return (Map) Preconditions.checkNotNull(this.zaj.zab(this.zah)); } public final void zai(zan zanVar) { this.zaj = zanVar; } public final boolean zaj() { return this.zak != null; } protected Field(int i10, boolean z10, int i11, boolean z11, String str, int i12, Class cls, FieldConverter fieldConverter) { this.zai = 1; this.zaa = i10; this.zab = z10; this.zac = i11; this.zad = z11; this.zae = str; this.zaf = i12; this.zag = cls; if (cls == null) { this.zah = null; } else { this.zah = cls.getCanonicalName(); } this.zak = fieldConverter; } } }