MyGsonResponseBodyConverter.smali
.class public Lcom/bjz/comm/net/base/MyGsonResponseBodyConverter;
.super Ljava/lang/Object;
.source "MyGsonResponseBodyConverter.java"
# interfaces
.implements Lretrofit2/Converter;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Lretrofit2/Converter<",
"Lokhttp3/ResponseBody;",
"TT;>;"
}
.end annotation
# static fields
.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 23
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/MyGsonResponseBodyConverter;->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 26
.local p0, "this":Lcom/bjz/comm/net/base/MyGsonResponseBodyConverter;, "Lcom/bjz/comm/net/base/MyGsonResponseBodyConverter<TT;>;"
.local p2, "adapter":Lcom/google/gson/TypeAdapter;, "Lcom/google/gson/TypeAdapter<TT;>;"
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 27
iput-object p1, p0, Lcom/bjz/comm/net/base/MyGsonResponseBodyConverter;->gson:Lcom/google/gson/Gson;
.line 28
iput-object p2, p0, Lcom/bjz/comm/net/base/MyGsonResponseBodyConverter;->adapter:Lcom/google/gson/TypeAdapter;
.line 29
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 20
.local p0, "this":Lcom/bjz/comm/net/base/MyGsonResponseBodyConverter;, "Lcom/bjz/comm/net/base/MyGsonResponseBodyConverter<TT;>;"
check-cast p1, Lokhttp3/ResponseBody;
invoke-virtual {p0, p1}, Lcom/bjz/comm/net/base/MyGsonResponseBodyConverter;->convert(Lokhttp3/ResponseBody;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public convert(Lokhttp3/ResponseBody;)Ljava/lang/Object;
.registers 10
.param p1, "value" # Lokhttp3/ResponseBody;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lokhttp3/ResponseBody;",
")TT;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 33
.local p0, "this":Lcom/bjz/comm/net/base/MyGsonResponseBodyConverter;, "Lcom/bjz/comm/net/base/MyGsonResponseBodyConverter<TT;>;"
const-string v0, "State"
invoke-virtual {p1}, Lokhttp3/ResponseBody;->string()Ljava/lang/String;
move-result-object v1
.line 34
.local v1, "response":Ljava/lang/String;
const/4 v2, 0x0
.line 35
.local v2, "jsonReader":Lcom/google/gson/stream/JsonReader;
const/4 v3, 0x0
.line 38
.local v3, "code":I
:try_start_8
new-instance v4, Lorg/json/JSONObject;
invoke-direct {v4, v1}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V
.line 39
.local v4, "object":Lorg/json/JSONObject;
invoke-virtual {v4, v0}, Lorg/json/JSONObject;->isNull(Ljava/lang/String;)Z
move-result v5
if-nez v5, :cond_18
.line 40
invoke-virtual {v4, v0}, Lorg/json/JSONObject;->optInt(Ljava/lang/String;)I
move-result v0
:try_end_17
.catch Ljava/lang/Exception; {:try_start_8 .. :try_end_17} :catch_1b
.catchall {:try_start_8 .. :try_end_17} :catchall_19
move v3, v0
.line 44
.end local v4 # "object":Lorg/json/JSONObject;
:cond_18
goto :goto_1f
.line 56
:catchall_19
move-exception v0
goto :goto_59
.line 42
:catch_1b
move-exception v0
.line 43
.local v0, "e":Ljava/lang/Exception;
:try_start_1c
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
.line 45
.end local v0 # "e":Ljava/lang/Exception;
:goto_1f
const/16 v0, 0x190
if-eq v3, v0, :cond_51
.line 50
invoke-virtual {p1}, Lokhttp3/ResponseBody;->contentType()Lokhttp3/MediaType;
move-result-object v0
.line 51
.local v0, "mediaType":Lokhttp3/MediaType;
if-eqz v0, :cond_30
sget-object v4, Lcom/bjz/comm/net/base/MyGsonResponseBodyConverter;->UTF_8:Ljava/nio/charset/Charset;
invoke-virtual {v0, v4}, Lokhttp3/MediaType;->charset(Ljava/nio/charset/Charset;)Ljava/nio/charset/Charset;
move-result-object v4
goto :goto_32
:cond_30
sget-object v4, Lcom/bjz/comm/net/base/MyGsonResponseBodyConverter;->UTF_8:Ljava/nio/charset/Charset;
.line 52
.local v4, "charset":Ljava/nio/charset/Charset;
:goto_32
new-instance v5, Ljava/io/ByteArrayInputStream;
invoke-virtual {v1}, Ljava/lang/String;->getBytes()[B
move-result-object v6
invoke-direct {v5, v6}, Ljava/io/ByteArrayInputStream;-><init>([B)V
.line 53
.local v5, "inputStream":Ljava/io/InputStream;
iget-object v6, p0, Lcom/bjz/comm/net/base/MyGsonResponseBodyConverter;->gson:Lcom/google/gson/Gson;
new-instance v7, Ljava/io/InputStreamReader;
invoke-direct {v7, v5, v4}, Ljava/io/InputStreamReader;-><init>(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V
invoke-virtual {v6, v7}, Lcom/google/gson/Gson;->newJsonReader(Ljava/io/Reader;)Lcom/google/gson/stream/JsonReader;
move-result-object v6
move-object v2, v6
.line 54
iget-object v6, p0, Lcom/bjz/comm/net/base/MyGsonResponseBodyConverter;->adapter:Lcom/google/gson/TypeAdapter;
invoke-virtual {v6, v2}, Lcom/google/gson/TypeAdapter;->read(Lcom/google/gson/stream/JsonReader;)Ljava/lang/Object;
move-result-object v6
:try_end_4d
.catchall {:try_start_1c .. :try_end_4d} :catchall_19
.line 56
invoke-virtual {p1}, Lokhttp3/ResponseBody;->close()V
.line 54
return-object v6
.line 46
.end local v0 # "mediaType":Lokhttp3/MediaType;
.end local v4 # "charset":Ljava/nio/charset/Charset;
.end local v5 # "inputStream":Ljava/io/InputStream;
:cond_51
:try_start_51
new-instance v0, Lcom/bjz/comm/net/exception/ApiException;
const-string v4, "Token has expired."
invoke-direct {v0, v3, v4}, Lcom/bjz/comm/net/exception/ApiException;-><init>(ILjava/lang/String;)V
.end local v1 # "response":Ljava/lang/String;
.end local v2 # "jsonReader":Lcom/google/gson/stream/JsonReader;
.end local v3 # "code":I
.end local p1 # "value":Lokhttp3/ResponseBody;
throw v0
:try_end_59
.catchall {:try_start_51 .. :try_end_59} :catchall_19
.line 56
.restart local v1 # "response":Ljava/lang/String;
.restart local v2 # "jsonReader":Lcom/google/gson/stream/JsonReader;
.restart local v3 # "code":I
.restart local p1 # "value":Lokhttp3/ResponseBody;
:goto_59
invoke-virtual {p1}, Lokhttp3/ResponseBody;->close()V
.line 57
throw v0
.end method