- 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
149 lines
5.0 KiB
Java
149 lines
5.0 KiB
Java
package com.google.protobuf;
|
|
|
|
import java.util.Arrays;
|
|
import java.util.Iterator;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
/* loaded from: classes3.dex */
|
|
public final class MessageLiteToString {
|
|
private static final String BUILDER_LIST_SUFFIX = "OrBuilderList";
|
|
private static final String BYTES_SUFFIX = "Bytes";
|
|
private static final char[] INDENT_BUFFER;
|
|
private static final String LIST_SUFFIX = "List";
|
|
private static final String MAP_SUFFIX = "Map";
|
|
|
|
static {
|
|
char[] cArr = new char[80];
|
|
INDENT_BUFFER = cArr;
|
|
Arrays.fill(cArr, ' ');
|
|
}
|
|
|
|
private MessageLiteToString() {
|
|
}
|
|
|
|
public static String toString(MessageLite messageLite, String str) {
|
|
StringBuilder sb = new StringBuilder();
|
|
sb.append("# ");
|
|
sb.append(str);
|
|
reflectivePrintWithIndent(messageLite, sb, 0);
|
|
return sb.toString();
|
|
}
|
|
|
|
/* JADX WARN: Code restructure failed: missing block: B:66:0x016f, code lost:
|
|
|
|
if (r5.containsKey("get" + r9.substring(0, r9.length() - 5)) != false) goto L54;
|
|
*/
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct add '--show-bad-code' argument
|
|
*/
|
|
private static void reflectivePrintWithIndent(com.google.protobuf.MessageLite r16, java.lang.StringBuilder r17, int r18) {
|
|
/*
|
|
Method dump skipped, instructions count: 507
|
|
To view this dump add '--comments-level debug' option
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: com.google.protobuf.MessageLiteToString.reflectivePrintWithIndent(com.google.protobuf.MessageLite, java.lang.StringBuilder, int):void");
|
|
}
|
|
|
|
private static boolean isDefaultValue(Object obj) {
|
|
if (obj instanceof Boolean) {
|
|
return !((Boolean) obj).booleanValue();
|
|
}
|
|
if (obj instanceof Integer) {
|
|
return ((Integer) obj).intValue() == 0;
|
|
}
|
|
if (obj instanceof Float) {
|
|
return Float.floatToRawIntBits(((Float) obj).floatValue()) == 0;
|
|
}
|
|
if (obj instanceof Double) {
|
|
return Double.doubleToRawLongBits(((Double) obj).doubleValue()) == 0;
|
|
}
|
|
if (obj instanceof String) {
|
|
return obj.equals("");
|
|
}
|
|
if (obj instanceof ByteString) {
|
|
return obj.equals(ByteString.EMPTY);
|
|
}
|
|
return obj instanceof MessageLite ? obj == ((MessageLite) obj).getDefaultInstanceForType() : (obj instanceof java.lang.Enum) && ((java.lang.Enum) obj).ordinal() == 0;
|
|
}
|
|
|
|
public static void printField(StringBuilder sb, int i, String str, Object obj) {
|
|
if (obj instanceof List) {
|
|
Iterator it = ((List) obj).iterator();
|
|
while (it.hasNext()) {
|
|
printField(sb, i, str, it.next());
|
|
}
|
|
return;
|
|
}
|
|
if (obj instanceof Map) {
|
|
Iterator it2 = ((Map) obj).entrySet().iterator();
|
|
while (it2.hasNext()) {
|
|
printField(sb, i, str, (Map.Entry) it2.next());
|
|
}
|
|
return;
|
|
}
|
|
sb.append('\n');
|
|
indent(i, sb);
|
|
sb.append(pascalCaseToSnakeCase(str));
|
|
if (obj instanceof String) {
|
|
sb.append(": \"");
|
|
sb.append(TextFormatEscaper.escapeText((String) obj));
|
|
sb.append('\"');
|
|
return;
|
|
}
|
|
if (obj instanceof ByteString) {
|
|
sb.append(": \"");
|
|
sb.append(TextFormatEscaper.escapeBytes((ByteString) obj));
|
|
sb.append('\"');
|
|
return;
|
|
}
|
|
if (obj instanceof GeneratedMessageLite) {
|
|
sb.append(" {");
|
|
reflectivePrintWithIndent((GeneratedMessageLite) obj, sb, i + 2);
|
|
sb.append("\n");
|
|
indent(i, sb);
|
|
sb.append("}");
|
|
return;
|
|
}
|
|
if (obj instanceof Map.Entry) {
|
|
sb.append(" {");
|
|
Map.Entry entry = (Map.Entry) obj;
|
|
int i2 = i + 2;
|
|
printField(sb, i2, "key", entry.getKey());
|
|
printField(sb, i2, "value", entry.getValue());
|
|
sb.append("\n");
|
|
indent(i, sb);
|
|
sb.append("}");
|
|
return;
|
|
}
|
|
sb.append(": ");
|
|
sb.append(obj);
|
|
}
|
|
|
|
private static void indent(int i, StringBuilder sb) {
|
|
while (i > 0) {
|
|
char[] cArr = INDENT_BUFFER;
|
|
int length = i > cArr.length ? cArr.length : i;
|
|
sb.append(cArr, 0, length);
|
|
i -= length;
|
|
}
|
|
}
|
|
|
|
private static String pascalCaseToSnakeCase(String str) {
|
|
if (str.isEmpty()) {
|
|
return str;
|
|
}
|
|
StringBuilder sb = new StringBuilder();
|
|
sb.append(Character.toLowerCase(str.charAt(0)));
|
|
for (int i = 1; i < str.length(); i++) {
|
|
char charAt = str.charAt(i);
|
|
if (Character.isUpperCase(charAt)) {
|
|
sb.append("_");
|
|
}
|
|
sb.append(Character.toLowerCase(charAt));
|
|
}
|
|
return sb.toString();
|
|
}
|
|
}
|