Files
rr3-apk/decompiled-community/sources/com/google/protobuf/ManifestSchemaFactory.java
Daniel Elliott c080f0d97f Add Discord community version (64-bit only)
- 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
2026-02-18 15:48:36 -08:00

96 lines
4.5 KiB
Java

package com.google.protobuf;
/* loaded from: classes3.dex */
public final class ManifestSchemaFactory implements SchemaFactory {
private static final MessageInfoFactory EMPTY_FACTORY = new MessageInfoFactory() { // from class: com.google.protobuf.ManifestSchemaFactory.1
@Override // com.google.protobuf.MessageInfoFactory
public boolean isSupported(Class<?> cls) {
return false;
}
@Override // com.google.protobuf.MessageInfoFactory
public MessageInfo messageInfoFor(Class<?> cls) {
throw new IllegalStateException("This should never be called.");
}
};
private final MessageInfoFactory messageInfoFactory;
public ManifestSchemaFactory() {
this(getDefaultMessageInfoFactory());
}
private ManifestSchemaFactory(MessageInfoFactory messageInfoFactory) {
this.messageInfoFactory = (MessageInfoFactory) Internal.checkNotNull(messageInfoFactory, "messageInfoFactory");
}
@Override // com.google.protobuf.SchemaFactory
public <T> Schema createSchema(Class<T> cls) {
SchemaUtil.requireGeneratedMessage(cls);
MessageInfo messageInfoFor = this.messageInfoFactory.messageInfoFor(cls);
if (messageInfoFor.isMessageSetWireFormat()) {
if (GeneratedMessageLite.class.isAssignableFrom(cls)) {
return MessageSetSchema.newSchema(SchemaUtil.unknownFieldSetLiteSchema(), ExtensionSchemas.lite(), messageInfoFor.getDefaultInstance());
}
return MessageSetSchema.newSchema(SchemaUtil.proto2UnknownFieldSetSchema(), ExtensionSchemas.full(), messageInfoFor.getDefaultInstance());
}
return newSchema(cls, messageInfoFor);
}
private static <T> Schema newSchema(Class<T> cls, MessageInfo messageInfo) {
if (GeneratedMessageLite.class.isAssignableFrom(cls)) {
if (isProto2(messageInfo)) {
return MessageSchema.newSchema(cls, messageInfo, NewInstanceSchemas.lite(), ListFieldSchema.lite(), SchemaUtil.unknownFieldSetLiteSchema(), ExtensionSchemas.lite(), MapFieldSchemas.lite());
}
return MessageSchema.newSchema(cls, messageInfo, NewInstanceSchemas.lite(), ListFieldSchema.lite(), SchemaUtil.unknownFieldSetLiteSchema(), null, MapFieldSchemas.lite());
}
if (isProto2(messageInfo)) {
return MessageSchema.newSchema(cls, messageInfo, NewInstanceSchemas.full(), ListFieldSchema.full(), SchemaUtil.proto2UnknownFieldSetSchema(), ExtensionSchemas.full(), MapFieldSchemas.full());
}
return MessageSchema.newSchema(cls, messageInfo, NewInstanceSchemas.full(), ListFieldSchema.full(), SchemaUtil.proto3UnknownFieldSetSchema(), null, MapFieldSchemas.full());
}
private static boolean isProto2(MessageInfo messageInfo) {
return messageInfo.getSyntax() == ProtoSyntax.PROTO2;
}
private static MessageInfoFactory getDefaultMessageInfoFactory() {
return new CompositeMessageInfoFactory(GeneratedMessageInfoFactory.getInstance(), getDescriptorMessageInfoFactory());
}
public static class CompositeMessageInfoFactory implements MessageInfoFactory {
private MessageInfoFactory[] factories;
public CompositeMessageInfoFactory(MessageInfoFactory... messageInfoFactoryArr) {
this.factories = messageInfoFactoryArr;
}
@Override // com.google.protobuf.MessageInfoFactory
public boolean isSupported(Class<?> cls) {
for (MessageInfoFactory messageInfoFactory : this.factories) {
if (messageInfoFactory.isSupported(cls)) {
return true;
}
}
return false;
}
@Override // com.google.protobuf.MessageInfoFactory
public MessageInfo messageInfoFor(Class<?> cls) {
for (MessageInfoFactory messageInfoFactory : this.factories) {
if (messageInfoFactory.isSupported(cls)) {
return messageInfoFactory.messageInfoFor(cls);
}
}
throw new UnsupportedOperationException("No factory is available for message type: " + cls.getName());
}
}
private static MessageInfoFactory getDescriptorMessageInfoFactory() {
try {
return (MessageInfoFactory) Class.forName("com.google.protobuf.DescriptorMessageInfoFactory").getDeclaredMethod("getInstance", new Class[0]).invoke(null, new Object[0]);
} catch (Exception unused) {
return EMPTY_FACTORY;
}
}
}