Initial import of ADIF API reverse-engineering toolkit
This commit is contained in:
@@ -0,0 +1,149 @@
|
||||
package com.google.firebase.encoders.json;
|
||||
|
||||
import com.google.firebase.encoders.DataEncoder;
|
||||
import com.google.firebase.encoders.EncodingException;
|
||||
import com.google.firebase.encoders.ObjectEncoder;
|
||||
import com.google.firebase.encoders.ObjectEncoderContext;
|
||||
import com.google.firebase.encoders.ValueEncoder;
|
||||
import com.google.firebase.encoders.ValueEncoderContext;
|
||||
import com.google.firebase.encoders.config.Configurator;
|
||||
import com.google.firebase.encoders.config.EncoderConfig;
|
||||
import java.io.IOException;
|
||||
import java.io.StringWriter;
|
||||
import java.io.Writer;
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.TimeZone;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public final class JsonDataEncoderBuilder implements EncoderConfig<JsonDataEncoderBuilder> {
|
||||
private static final ValueEncoder<Boolean> BOOLEAN_ENCODER;
|
||||
private static final ValueEncoder<String> STRING_ENCODER;
|
||||
private static final ObjectEncoder<Object> DEFAULT_FALLBACK_ENCODER = new Object();
|
||||
private static final TimestampEncoder TIMESTAMP_ENCODER = new TimestampEncoder();
|
||||
private final Map<Class<?>, ObjectEncoder<?>> objectEncoders = new HashMap();
|
||||
private final Map<Class<?>, ValueEncoder<?>> valueEncoders = new HashMap();
|
||||
private ObjectEncoder<Object> fallbackEncoder = DEFAULT_FALLBACK_ENCODER;
|
||||
private boolean ignoreNullValues = false;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class TimestampEncoder implements ValueEncoder<Date> {
|
||||
private static final DateFormat rfc339;
|
||||
|
||||
static {
|
||||
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.US);
|
||||
rfc339 = simpleDateFormat;
|
||||
simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
|
||||
}
|
||||
|
||||
private TimestampEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public void encode(Date date, ValueEncoderContext valueEncoderContext) throws IOException {
|
||||
valueEncoderContext.add(rfc339.format(date));
|
||||
}
|
||||
}
|
||||
|
||||
/* JADX WARN: Type inference failed for: r0v0, types: [java.lang.Object, com.google.firebase.encoders.ObjectEncoder<java.lang.Object>] */
|
||||
static {
|
||||
final int i = 0;
|
||||
STRING_ENCODER = new ValueEncoder() { // from class: com.google.firebase.encoders.json.b
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public final void encode(Object obj, ValueEncoderContext valueEncoderContext) {
|
||||
switch (i) {
|
||||
case 0:
|
||||
valueEncoderContext.add((String) obj);
|
||||
return;
|
||||
default:
|
||||
JsonDataEncoderBuilder.lambda$static$2((Boolean) obj, valueEncoderContext);
|
||||
return;
|
||||
}
|
||||
}
|
||||
};
|
||||
final int i4 = 1;
|
||||
BOOLEAN_ENCODER = new ValueEncoder() { // from class: com.google.firebase.encoders.json.b
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public final void encode(Object obj, ValueEncoderContext valueEncoderContext) {
|
||||
switch (i4) {
|
||||
case 0:
|
||||
valueEncoderContext.add((String) obj);
|
||||
return;
|
||||
default:
|
||||
JsonDataEncoderBuilder.lambda$static$2((Boolean) obj, valueEncoderContext);
|
||||
return;
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public JsonDataEncoderBuilder() {
|
||||
registerEncoder(String.class, (ValueEncoder) STRING_ENCODER);
|
||||
registerEncoder(Boolean.class, (ValueEncoder) BOOLEAN_ENCODER);
|
||||
registerEncoder(Date.class, (ValueEncoder) TIMESTAMP_ENCODER);
|
||||
}
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: private */
|
||||
public static /* synthetic */ void lambda$static$0(Object obj, ObjectEncoderContext objectEncoderContext) throws IOException {
|
||||
throw new EncodingException("Couldn't find encoder for type " + obj.getClass().getCanonicalName());
|
||||
}
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: private */
|
||||
public static /* synthetic */ void lambda$static$2(Boolean bool, ValueEncoderContext valueEncoderContext) throws IOException {
|
||||
valueEncoderContext.add(bool.booleanValue());
|
||||
}
|
||||
|
||||
public DataEncoder build() {
|
||||
return new DataEncoder() { // from class: com.google.firebase.encoders.json.JsonDataEncoderBuilder.1
|
||||
@Override // com.google.firebase.encoders.DataEncoder
|
||||
public void encode(Object obj, Writer writer) throws IOException {
|
||||
JsonValueObjectEncoderContext jsonValueObjectEncoderContext = new JsonValueObjectEncoderContext(writer, JsonDataEncoderBuilder.this.objectEncoders, JsonDataEncoderBuilder.this.valueEncoders, JsonDataEncoderBuilder.this.fallbackEncoder, JsonDataEncoderBuilder.this.ignoreNullValues);
|
||||
jsonValueObjectEncoderContext.add(obj, false);
|
||||
jsonValueObjectEncoderContext.close();
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.DataEncoder
|
||||
public String encode(Object obj) {
|
||||
StringWriter stringWriter = new StringWriter();
|
||||
try {
|
||||
encode(obj, stringWriter);
|
||||
} catch (IOException unused) {
|
||||
}
|
||||
return stringWriter.toString();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public JsonDataEncoderBuilder configureWith(Configurator configurator) {
|
||||
configurator.configure(this);
|
||||
return this;
|
||||
}
|
||||
|
||||
public JsonDataEncoderBuilder ignoreNullValues(boolean z3) {
|
||||
this.ignoreNullValues = z3;
|
||||
return this;
|
||||
}
|
||||
|
||||
public JsonDataEncoderBuilder registerFallbackEncoder(ObjectEncoder<Object> objectEncoder) {
|
||||
this.fallbackEncoder = objectEncoder;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.config.EncoderConfig
|
||||
public <T> JsonDataEncoderBuilder registerEncoder(Class<T> cls, ObjectEncoder<? super T> objectEncoder) {
|
||||
this.objectEncoders.put(cls, objectEncoder);
|
||||
this.valueEncoders.remove(cls);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.config.EncoderConfig
|
||||
public <T> JsonDataEncoderBuilder registerEncoder(Class<T> cls, ValueEncoder<? super T> valueEncoder) {
|
||||
this.valueEncoders.put(cls, valueEncoder);
|
||||
this.objectEncoders.remove(cls);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user