52 lines
2 KiB
Java
52 lines
2 KiB
Java
package com.discord.nullserializable;
|
|
|
|
import com.discord.nullserializable.NullSerializable;
|
|
import com.google.gson.Gson;
|
|
import com.google.gson.TypeAdapter;
|
|
import com.google.gson.stream.JsonReader;
|
|
import com.google.gson.stream.JsonWriter;
|
|
import d0.z.d.m;
|
|
import java.util.Objects;
|
|
/* compiled from: NullSerializable.kt */
|
|
public final class NullSerializableTypeAdapter<T> extends TypeAdapter<NullSerializable<? super T>> {
|
|
public final Gson a;
|
|
public final TypeAdapter<T> b;
|
|
|
|
public NullSerializableTypeAdapter(Gson gson, TypeAdapter<T> typeAdapter) {
|
|
m.checkNotNullParameter(gson, "gsonInstance");
|
|
m.checkNotNullParameter(typeAdapter, "delegateTypeAdapter");
|
|
this.a = gson;
|
|
this.b = typeAdapter;
|
|
}
|
|
|
|
@Override // com.google.gson.TypeAdapter
|
|
public Object read(JsonReader jsonReader) {
|
|
m.checkNotNullParameter(jsonReader, "in");
|
|
T read = this.b.read(jsonReader);
|
|
return read == null ? new NullSerializable.a(null, 1) : new NullSerializable.b(read);
|
|
}
|
|
|
|
@Override // com.google.gson.TypeAdapter
|
|
public void write(JsonWriter jsonWriter, Object obj) {
|
|
NullSerializable nullSerializable = (NullSerializable) obj;
|
|
m.checkNotNullParameter(jsonWriter, "out");
|
|
if (nullSerializable instanceof NullSerializable.b) {
|
|
Object a = nullSerializable.a();
|
|
Gson gson = this.a;
|
|
m.checkNotNull(a);
|
|
TypeAdapter<T> i = gson.i(a.getClass());
|
|
Objects.requireNonNull(i, "null cannot be cast to non-null type com.google.gson.TypeAdapter<T>");
|
|
i.write(jsonWriter, a);
|
|
} else if (nullSerializable instanceof NullSerializable.a) {
|
|
boolean z2 = jsonWriter.f2411s;
|
|
jsonWriter.f2411s = true;
|
|
jsonWriter.s();
|
|
jsonWriter.f2411s = z2;
|
|
} else if (nullSerializable == null) {
|
|
boolean z3 = jsonWriter.f2411s;
|
|
jsonWriter.f2411s = false;
|
|
jsonWriter.s();
|
|
jsonWriter.f2411s = z3;
|
|
}
|
|
}
|
|
}
|