- Added realracing3-community.apk (71.57 MB) - Removed 32-bit support (armeabi-v7a) - Only includes arm64-v8a libraries - Decompiled source code included - Added README-community.md with analysis
195 lines
8.2 KiB
Java
195 lines
8.2 KiB
Java
package com.google.android.gms.internal.drive;
|
|
|
|
import com.google.android.gms.internal.drive.zzkk;
|
|
import java.lang.reflect.Method;
|
|
import java.lang.reflect.Modifier;
|
|
import java.util.HashMap;
|
|
import java.util.Iterator;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.TreeSet;
|
|
|
|
/* loaded from: classes3.dex */
|
|
final class zzlt {
|
|
public static String zza(zzlq zzlqVar, String str) {
|
|
StringBuilder sb = new StringBuilder();
|
|
sb.append("# ");
|
|
sb.append(str);
|
|
zza(zzlqVar, sb, 0);
|
|
return sb.toString();
|
|
}
|
|
|
|
private static void zza(zzlq zzlqVar, StringBuilder sb, int i) {
|
|
boolean equals;
|
|
HashMap hashMap = new HashMap();
|
|
HashMap hashMap2 = new HashMap();
|
|
TreeSet<String> treeSet = new TreeSet();
|
|
for (Method method : zzlqVar.getClass().getDeclaredMethods()) {
|
|
hashMap2.put(method.getName(), method);
|
|
if (method.getParameterTypes().length == 0) {
|
|
hashMap.put(method.getName(), method);
|
|
if (method.getName().startsWith("get")) {
|
|
treeSet.add(method.getName());
|
|
}
|
|
}
|
|
}
|
|
for (String str : treeSet) {
|
|
String replaceFirst = str.replaceFirst("get", "");
|
|
if (replaceFirst.endsWith("List") && !replaceFirst.endsWith("OrBuilderList") && !replaceFirst.equals("List")) {
|
|
String valueOf = String.valueOf(replaceFirst.substring(0, 1).toLowerCase());
|
|
String valueOf2 = String.valueOf(replaceFirst.substring(1, replaceFirst.length() - 4));
|
|
String concat = valueOf2.length() != 0 ? valueOf.concat(valueOf2) : new String(valueOf);
|
|
Method method2 = (Method) hashMap.get(str);
|
|
if (method2 != null && method2.getReturnType().equals(List.class)) {
|
|
zza(sb, i, zzo(concat), zzkk.zza(method2, zzlqVar, new Object[0]));
|
|
}
|
|
}
|
|
if (replaceFirst.endsWith("Map") && !replaceFirst.equals("Map")) {
|
|
String valueOf3 = String.valueOf(replaceFirst.substring(0, 1).toLowerCase());
|
|
String valueOf4 = String.valueOf(replaceFirst.substring(1, replaceFirst.length() - 3));
|
|
String concat2 = valueOf4.length() != 0 ? valueOf3.concat(valueOf4) : new String(valueOf3);
|
|
Method method3 = (Method) hashMap.get(str);
|
|
if (method3 != null && method3.getReturnType().equals(Map.class) && !method3.isAnnotationPresent(Deprecated.class) && Modifier.isPublic(method3.getModifiers())) {
|
|
zza(sb, i, zzo(concat2), zzkk.zza(method3, zzlqVar, new Object[0]));
|
|
}
|
|
}
|
|
if (((Method) hashMap2.get(replaceFirst.length() != 0 ? "set".concat(replaceFirst) : new String("set"))) != null) {
|
|
if (replaceFirst.endsWith("Bytes")) {
|
|
String valueOf5 = String.valueOf(replaceFirst.substring(0, replaceFirst.length() - 5));
|
|
if (!hashMap.containsKey(valueOf5.length() != 0 ? "get".concat(valueOf5) : new String("get"))) {
|
|
}
|
|
}
|
|
String valueOf6 = String.valueOf(replaceFirst.substring(0, 1).toLowerCase());
|
|
String valueOf7 = String.valueOf(replaceFirst.substring(1));
|
|
String concat3 = valueOf7.length() != 0 ? valueOf6.concat(valueOf7) : new String(valueOf6);
|
|
Method method4 = (Method) hashMap.get(replaceFirst.length() != 0 ? "get".concat(replaceFirst) : new String("get"));
|
|
Method method5 = (Method) hashMap.get(replaceFirst.length() != 0 ? "has".concat(replaceFirst) : new String("has"));
|
|
if (method4 != null) {
|
|
Object zza = zzkk.zza(method4, zzlqVar, new Object[0]);
|
|
if (method5 == null) {
|
|
if (zza instanceof Boolean) {
|
|
if (((Boolean) zza).booleanValue()) {
|
|
zza(sb, i, zzo(concat3), zza);
|
|
}
|
|
} else if (zza instanceof Integer) {
|
|
if (((Integer) zza).intValue() != 0) {
|
|
zza(sb, i, zzo(concat3), zza);
|
|
}
|
|
} else if (zza instanceof Float) {
|
|
if (((Float) zza).floatValue() != 0.0f) {
|
|
zza(sb, i, zzo(concat3), zza);
|
|
}
|
|
} else if (!(zza instanceof Double)) {
|
|
if (zza instanceof String) {
|
|
equals = zza.equals("");
|
|
} else if (zza instanceof zzjc) {
|
|
equals = zza.equals(zzjc.zznq);
|
|
} else if (zza instanceof zzlq) {
|
|
if (zza != ((zzlq) zza).zzda()) {
|
|
zza(sb, i, zzo(concat3), zza);
|
|
}
|
|
} else {
|
|
if ((zza instanceof Enum) && ((Enum) zza).ordinal() == 0) {
|
|
}
|
|
zza(sb, i, zzo(concat3), zza);
|
|
}
|
|
if (!equals) {
|
|
zza(sb, i, zzo(concat3), zza);
|
|
}
|
|
} else if (((Double) zza).doubleValue() != 0.0d) {
|
|
zza(sb, i, zzo(concat3), zza);
|
|
}
|
|
} else if (((Boolean) zzkk.zza(method5, zzlqVar, new Object[0])).booleanValue()) {
|
|
zza(sb, i, zzo(concat3), zza);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (zzlqVar instanceof zzkk.zzc) {
|
|
Iterator<Map.Entry<Object, Object>> it = ((zzkk.zzc) zzlqVar).zzrw.iterator();
|
|
if (it.hasNext()) {
|
|
it.next().getKey();
|
|
throw new NoSuchMethodError();
|
|
}
|
|
}
|
|
zzmy zzmyVar = ((zzkk) zzlqVar).zzrq;
|
|
if (zzmyVar != null) {
|
|
zzmyVar.zza(sb, i);
|
|
}
|
|
}
|
|
|
|
public static final void zza(StringBuilder sb, int i, String str, Object obj) {
|
|
if (obj instanceof List) {
|
|
Iterator it = ((List) obj).iterator();
|
|
while (it.hasNext()) {
|
|
zza(sb, i, str, it.next());
|
|
}
|
|
return;
|
|
}
|
|
if (obj instanceof Map) {
|
|
Iterator it2 = ((Map) obj).entrySet().iterator();
|
|
while (it2.hasNext()) {
|
|
zza(sb, i, str, (Map.Entry) it2.next());
|
|
}
|
|
return;
|
|
}
|
|
sb.append('\n');
|
|
int i2 = 0;
|
|
for (int i3 = 0; i3 < i; i3++) {
|
|
sb.append(' ');
|
|
}
|
|
sb.append(str);
|
|
if (obj instanceof String) {
|
|
sb.append(": \"");
|
|
sb.append(zzmt.zzc(zzjc.zzk((String) obj)));
|
|
sb.append('\"');
|
|
return;
|
|
}
|
|
if (obj instanceof zzjc) {
|
|
sb.append(": \"");
|
|
sb.append(zzmt.zzc((zzjc) obj));
|
|
sb.append('\"');
|
|
return;
|
|
}
|
|
if (obj instanceof zzkk) {
|
|
sb.append(" {");
|
|
zza((zzkk) obj, sb, i + 2);
|
|
sb.append("\n");
|
|
while (i2 < i) {
|
|
sb.append(' ');
|
|
i2++;
|
|
}
|
|
sb.append("}");
|
|
return;
|
|
}
|
|
if (obj instanceof Map.Entry) {
|
|
sb.append(" {");
|
|
Map.Entry entry = (Map.Entry) obj;
|
|
int i4 = i + 2;
|
|
zza(sb, i4, "key", entry.getKey());
|
|
zza(sb, i4, "value", entry.getValue());
|
|
sb.append("\n");
|
|
while (i2 < i) {
|
|
sb.append(' ');
|
|
i2++;
|
|
}
|
|
sb.append("}");
|
|
return;
|
|
}
|
|
sb.append(": ");
|
|
sb.append(obj.toString());
|
|
}
|
|
|
|
private static final String zzo(String str) {
|
|
StringBuilder sb = new StringBuilder();
|
|
for (int i = 0; i < str.length(); i++) {
|
|
char charAt = str.charAt(i);
|
|
if (Character.isUpperCase(charAt)) {
|
|
sb.append("_");
|
|
}
|
|
sb.append(Character.toLowerCase(charAt));
|
|
}
|
|
return sb.toString();
|
|
}
|
|
}
|