MyGsonRequestBodyConverter.smali
.class public Lcom/bjz/comm/net/base/MyGsonRequestBodyConverter;
.super Ljava/lang/Object;
.source "MyGsonRequestBodyConverter.java"
# interfaces
.implements Lretrofit2/Converter;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Lretrofit2/Converter<",
"TT;",
"Lokhttp3/RequestBody;",
">;"
}
.end annotation
# static fields
.field private static final MEDIA_TYPE:Lokhttp3/MediaType;
.field private static final UTF_8:Ljava/nio/charset/Charset;
# instance fields
.field private final adapter:Lcom/google/gson/TypeAdapter;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/gson/TypeAdapter<",
"TT;>;"
}
.end annotation
.end field
.field private final gson:Lcom/google/gson/Gson;
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 18
const-string v0, "application/json; charset=UTF-8"
invoke-static {v0}, Lokhttp3/MediaType;->parse(Ljava/lang/String;)Lokhttp3/MediaType;
move-result-object v0
sput-object v0, Lcom/bjz/comm/net/base/MyGsonRequestBodyConverter;->MEDIA_TYPE:Lokhttp3/MediaType;
.line 19
const-string v0, "UTF-8"
invoke-static {v0}, Ljava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset;
move-result-object v0
sput-object v0, Lcom/bjz/comm/net/base/MyGsonRequestBodyConverter;->UTF_8:Ljava/nio/charset/Charset;
return-void
.end method
.method constructor <init>(Lcom/google/gson/Gson;Lcom/google/gson/TypeAdapter;)V
.registers 3
.param p1, "gson" # Lcom/google/gson/Gson;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/gson/Gson;",
"Lcom/google/gson/TypeAdapter<",
"TT;>;)V"
}
.end annotation
.line 24
.local p0, "this":Lcom/bjz/comm/net/base/MyGsonRequestBodyConverter;, "Lcom/bjz/comm/net/base/MyGsonRequestBodyConverter<TT;>;"
.local p2, "adapter":Lcom/google/gson/TypeAdapter;, "Lcom/google/gson/TypeAdapter<TT;>;"
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 25
iput-object p1, p0, Lcom/bjz/comm/net/base/MyGsonRequestBodyConverter;->gson:Lcom/google/gson/Gson;
.line 26
iput-object p2, p0, Lcom/bjz/comm/net/base/MyGsonRequestBodyConverter;->adapter:Lcom/google/gson/TypeAdapter;
.line 27
return-void
.end method
# virtual methods
.method public bridge synthetic convert(Ljava/lang/Object;)Ljava/lang/Object;
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 17
.local p0, "this":Lcom/bjz/comm/net/base/MyGsonRequestBodyConverter;, "Lcom/bjz/comm/net/base/MyGsonRequestBodyConverter<TT;>;"
invoke-virtual {p0, p1}, Lcom/bjz/comm/net/base/MyGsonRequestBodyConverter;->convert(Ljava/lang/Object;)Lokhttp3/RequestBody;
move-result-object p1
return-object p1
.end method
.method public convert(Ljava/lang/Object;)Lokhttp3/RequestBody;
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)",
"Lokhttp3/RequestBody;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 31
.local p0, "this":Lcom/bjz/comm/net/base/MyGsonRequestBodyConverter;, "Lcom/bjz/comm/net/base/MyGsonRequestBodyConverter<TT;>;"
.local p1, "value":Ljava/lang/Object;, "TT;"
new-instance v0, Lokio/Buffer;
invoke-direct {v0}, Lokio/Buffer;-><init>()V
.line 32
.local v0, "buffer":Lokio/Buffer;
new-instance v1, Ljava/io/OutputStreamWriter;
invoke-virtual {v0}, Lokio/Buffer;->outputStream()Ljava/io/OutputStream;
move-result-object v2
sget-object v3, Lcom/bjz/comm/net/base/MyGsonRequestBodyConverter;->UTF_8:Ljava/nio/charset/Charset;
invoke-direct {v1, v2, v3}, Ljava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;Ljava/nio/charset/Charset;)V
.line 33
.local v1, "writer":Ljava/io/Writer;
iget-object v2, p0, Lcom/bjz/comm/net/base/MyGsonRequestBodyConverter;->gson:Lcom/google/gson/Gson;
invoke-virtual {v2, v1}, Lcom/google/gson/Gson;->newJsonWriter(Ljava/io/Writer;)Lcom/google/gson/stream/JsonWriter;
move-result-object v2
.line 34
.local v2, "jsonWriter":Lcom/google/gson/stream/JsonWriter;
iget-object v3, p0, Lcom/bjz/comm/net/base/MyGsonRequestBodyConverter;->adapter:Lcom/google/gson/TypeAdapter;
invoke-virtual {v3, v2, p1}, Lcom/google/gson/TypeAdapter;->write(Lcom/google/gson/stream/JsonWriter;Ljava/lang/Object;)V
.line 35
invoke-virtual {v2}, Lcom/google/gson/stream/JsonWriter;->close()V
.line 36
sget-object v3, Lcom/bjz/comm/net/base/MyGsonRequestBodyConverter;->MEDIA_TYPE:Lokhttp3/MediaType;
invoke-virtual {v0}, Lokio/Buffer;->readByteString()Lokio/ByteString;
move-result-object v4
invoke-static {v3, v4}, Lokhttp3/RequestBody;->create(Lokhttp3/MediaType;Lokio/ByteString;)Lokhttp3/RequestBody;
move-result-object v3
return-object v3
.end method