JsonUtils.smali
.class public Lcom/amazonaws/util/json/JsonUtils;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static final a:Lcom/amazonaws/util/json/AwsJsonFactory;
# direct methods
.method public static constructor <clinit>()V
.registers 1
new-instance v0, Lcom/amazonaws/util/json/GsonFactory;
invoke-direct {v0}, Lcom/amazonaws/util/json/GsonFactory;-><init>()V
sput-object v0, Lcom/amazonaws/util/json/JsonUtils;->a:Lcom/amazonaws/util/json/AwsJsonFactory;
return-void
.end method
.method public static a(Ljava/lang/String;)Ljava/util/Map;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
if-eqz p0, :cond_102
.line 1
invoke-virtual {p0}, Ljava/lang/String;->isEmpty()Z
move-result v0
if-eqz v0, :cond_a
goto/16 :goto_102
.line 2
:cond_a
new-instance v0, Ljava/io/StringReader;
invoke-direct {v0, p0}, Ljava/io/StringReader;-><init>(Ljava/lang/String;)V
.line 3
sget-object p0, Lcom/amazonaws/util/json/JsonUtils;->a:Lcom/amazonaws/util/json/AwsJsonFactory;
check-cast p0, Lcom/amazonaws/util/json/GsonFactory;
invoke-static {p0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 4
new-instance p0, Lcom/amazonaws/util/json/GsonFactory$GsonReader;
invoke-direct {p0, v0}, Lcom/amazonaws/util/json/GsonFactory$GsonReader;-><init>(Ljava/io/Reader;)V
.line 5
:try_start_1b
invoke-virtual {p0}, Lcom/amazonaws/util/json/GsonFactory$GsonReader;->a()Lcom/amazonaws/util/json/AwsJsonToken;
move-result-object v0
:try_end_1f
.catch Ljava/io/IOException; {:try_start_1b .. :try_end_1f} :catch_f9
if-nez v0, :cond_28
.line 6
:try_start_21
sget-object p0, Ljava/util/Collections;->EMPTY_MAP:Ljava/util/Map;
:try_end_23
.catch Ljava/io/IOException; {:try_start_21 .. :try_end_23} :catch_25
goto/16 :goto_e2
:catch_25
move-exception p0
goto/16 :goto_fa
.line 7
:cond_28
:try_start_28
new-instance v0, Ljava/util/HashMap;
:try_end_2a
.catch Ljava/io/IOException; {:try_start_28 .. :try_end_2a} :catch_f7
:try_start_2a
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
:try_end_2d
.catch Ljava/io/IOException; {:try_start_2a .. :try_end_2d} :catch_f5
.line 8
:try_start_2d
iget-object v1, p0, Lcom/amazonaws/util/json/GsonFactory$GsonReader;->a:Lcom/google/gson/stream/a;
:try_end_2f
.catch Ljava/io/IOException; {:try_start_2d .. :try_end_2f} :catch_f3
:try_start_2f
invoke-virtual {v1}, Lcom/google/gson/stream/a;->h()V
:try_end_32
.catch Ljava/io/IOException; {:try_start_2f .. :try_end_32} :catch_f1
.line 9
:goto_32
:try_start_32
iget-object v1, p0, Lcom/amazonaws/util/json/GsonFactory$GsonReader;->a:Lcom/google/gson/stream/a;
:try_end_34
.catch Ljava/io/IOException; {:try_start_32 .. :try_end_34} :catch_ef
:try_start_34
invoke-virtual {v1}, Lcom/google/gson/stream/a;->D()Z
move-result v1
:try_end_38
.catch Ljava/io/IOException; {:try_start_34 .. :try_end_38} :catch_ed
if-eqz v1, :cond_d4
.line 10
:try_start_3a
iget-object v1, p0, Lcom/amazonaws/util/json/GsonFactory$GsonReader;->a:Lcom/google/gson/stream/a;
:try_end_3c
.catch Ljava/io/IOException; {:try_start_3a .. :try_end_3c} :catch_d2
:try_start_3c
invoke-virtual {v1}, Lcom/google/gson/stream/a;->U()Ljava/lang/String;
move-result-object v1
:try_end_40
.catch Ljava/io/IOException; {:try_start_3c .. :try_end_40} :catch_d0
.line 11
:try_start_40
iget-object v2, p0, Lcom/amazonaws/util/json/GsonFactory$GsonReader;->a:Lcom/google/gson/stream/a;
:try_end_42
.catch Ljava/io/IOException; {:try_start_40 .. :try_end_42} :catch_ce
:try_start_42
invoke-virtual {v2}, Lcom/google/gson/stream/a;->i0()Lcom/google/gson/stream/b;
move-result-object v2
:try_end_46
.catch Ljava/io/IOException; {:try_start_42 .. :try_end_46} :catch_cc
.line 12
:try_start_46
sget-object v3, Lcom/google/gson/stream/b;->BEGIN_ARRAY:Lcom/google/gson/stream/b;
:try_end_48
.catch Ljava/io/IOException; {:try_start_46 .. :try_end_48} :catch_ca
:try_start_48
invoke-virtual {v3, v2}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v3
:try_end_4c
.catch Ljava/io/IOException; {:try_start_48 .. :try_end_4c} :catch_c8
if-nez v3, :cond_5f
:try_start_4e
sget-object v3, Lcom/google/gson/stream/b;->BEGIN_OBJECT:Lcom/google/gson/stream/b;
:try_end_50
.catch Ljava/io/IOException; {:try_start_4e .. :try_end_50} :catch_5c
.line 13
:try_start_50
invoke-virtual {v3, v2}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v2
:try_end_54
.catch Ljava/io/IOException; {:try_start_50 .. :try_end_54} :catch_59
if-eqz v2, :cond_57
goto :goto_5f
:cond_57
const/4 v2, 0x0
goto :goto_60
:catch_59
move-exception p0
goto/16 :goto_fa
:catch_5c
move-exception p0
goto/16 :goto_fa
:cond_5f
:goto_5f
const/4 v2, 0x1
:goto_60
if-eqz v2, :cond_6e
.line 14
:try_start_62
iget-object v1, p0, Lcom/amazonaws/util/json/GsonFactory$GsonReader;->a:Lcom/google/gson/stream/a;
:try_end_64
.catch Ljava/io/IOException; {:try_start_62 .. :try_end_64} :catch_6b
:try_start_64
invoke-virtual {v1}, Lcom/google/gson/stream/a;->A0()V
:try_end_67
.catch Ljava/io/IOException; {:try_start_64 .. :try_end_67} :catch_68
goto :goto_32
:catch_68
move-exception p0
goto/16 :goto_fa
:catch_6b
move-exception p0
goto/16 :goto_fa
.line 15
:cond_6e
:try_start_6e
iget-object v2, p0, Lcom/amazonaws/util/json/GsonFactory$GsonReader;->a:Lcom/google/gson/stream/a;
:try_end_70
.catch Ljava/io/IOException; {:try_start_6e .. :try_end_70} :catch_c6
:try_start_70
invoke-virtual {v2}, Lcom/google/gson/stream/a;->i0()Lcom/google/gson/stream/b;
move-result-object v2
:try_end_74
.catch Ljava/io/IOException; {:try_start_70 .. :try_end_74} :catch_c4
.line 16
:try_start_74
sget-object v3, Lcom/google/gson/stream/b;->NULL:Lcom/google/gson/stream/b;
:try_end_76
.catch Ljava/io/IOException; {:try_start_74 .. :try_end_76} :catch_c2
:try_start_76
invoke-virtual {v3, v2}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v3
:try_end_7a
.catch Ljava/io/IOException; {:try_start_76 .. :try_end_7a} :catch_c0
if-eqz v3, :cond_89
.line 17
:try_start_7c
iget-object v2, p0, Lcom/amazonaws/util/json/GsonFactory$GsonReader;->a:Lcom/google/gson/stream/a;
:try_end_7e
.catch Ljava/io/IOException; {:try_start_7c .. :try_end_7e} :catch_86
:try_start_7e
invoke-virtual {v2}, Lcom/google/gson/stream/a;->X()V
:try_end_81
.catch Ljava/io/IOException; {:try_start_7e .. :try_end_81} :catch_83
const/4 v2, 0x0
goto :goto_b1
:catch_83
move-exception p0
goto/16 :goto_fa
:catch_86
move-exception p0
goto/16 :goto_fa
.line 18
:cond_89
:try_start_89
sget-object v3, Lcom/google/gson/stream/b;->BOOLEAN:Lcom/google/gson/stream/b;
:try_end_8b
.catch Ljava/io/IOException; {:try_start_89 .. :try_end_8b} :catch_be
:try_start_8b
invoke-virtual {v3, v2}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v2
:try_end_8f
.catch Ljava/io/IOException; {:try_start_8b .. :try_end_8f} :catch_bc
if-eqz v2, :cond_ab
.line 19
:try_start_91
iget-object v2, p0, Lcom/amazonaws/util/json/GsonFactory$GsonReader;->a:Lcom/google/gson/stream/a;
:try_end_93
.catch Ljava/io/IOException; {:try_start_91 .. :try_end_93} :catch_a8
:try_start_93
invoke-virtual {v2}, Lcom/google/gson/stream/a;->J()Z
move-result v2
:try_end_97
.catch Ljava/io/IOException; {:try_start_93 .. :try_end_97} :catch_a5
if-eqz v2, :cond_9f
:try_start_99
const-string v2, "true"
:try_end_9b
.catch Ljava/io/IOException; {:try_start_99 .. :try_end_9b} :catch_9c
goto :goto_b1
:catch_9c
move-exception p0
goto/16 :goto_fa
:cond_9f
:try_start_9f
const-string v2, "false"
:try_end_a1
.catch Ljava/io/IOException; {:try_start_9f .. :try_end_a1} :catch_a2
goto :goto_b1
:catch_a2
move-exception p0
goto/16 :goto_fa
:catch_a5
move-exception p0
goto/16 :goto_fa
:catch_a8
move-exception p0
goto/16 :goto_fa
.line 20
:cond_ab
:try_start_ab
iget-object v2, p0, Lcom/amazonaws/util/json/GsonFactory$GsonReader;->a:Lcom/google/gson/stream/a;
:try_end_ad
.catch Ljava/io/IOException; {:try_start_ab .. :try_end_ad} :catch_ba
:try_start_ad
invoke-virtual {v2}, Lcom/google/gson/stream/a;->c0()Ljava/lang/String;
move-result-object v2
:try_end_b1
.catch Ljava/io/IOException; {:try_start_ad .. :try_end_b1} :catch_b8
.line 21
:goto_b1
:try_start_b1
invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:try_end_b4
.catch Ljava/io/IOException; {:try_start_b1 .. :try_end_b4} :catch_b6
goto/16 :goto_32
:catch_b6
move-exception p0
goto :goto_fa
:catch_b8
move-exception p0
goto :goto_fa
:catch_ba
move-exception p0
goto :goto_fa
:catch_bc
move-exception p0
goto :goto_fa
:catch_be
move-exception p0
goto :goto_fa
:catch_c0
move-exception p0
goto :goto_fa
:catch_c2
move-exception p0
goto :goto_fa
:catch_c4
move-exception p0
goto :goto_fa
:catch_c6
move-exception p0
goto :goto_fa
:catch_c8
move-exception p0
goto :goto_fa
:catch_ca
move-exception p0
goto :goto_fa
:catch_cc
move-exception p0
goto :goto_fa
:catch_ce
move-exception p0
goto :goto_fa
:catch_d0
move-exception p0
goto :goto_fa
:catch_d2
move-exception p0
goto :goto_fa
.line 22
:cond_d4
:try_start_d4
iget-object v1, p0, Lcom/amazonaws/util/json/GsonFactory$GsonReader;->a:Lcom/google/gson/stream/a;
:try_end_d6
.catch Ljava/io/IOException; {:try_start_d4 .. :try_end_d6} :catch_eb
:try_start_d6
invoke-virtual {v1}, Lcom/google/gson/stream/a;->u()V
:try_end_d9
.catch Ljava/io/IOException; {:try_start_d6 .. :try_end_d9} :catch_e9
.line 23
:try_start_d9
iget-object p0, p0, Lcom/amazonaws/util/json/GsonFactory$GsonReader;->a:Lcom/google/gson/stream/a;
:try_end_db
.catch Ljava/io/IOException; {:try_start_d9 .. :try_end_db} :catch_e7
:try_start_db
invoke-virtual {p0}, Lcom/google/gson/stream/a;->close()V
:try_end_de
.catch Ljava/io/IOException; {:try_start_db .. :try_end_de} :catch_e5
.line 24
:try_start_de
invoke-static {v0}, Ljava/util/Collections;->unmodifiableMap(Ljava/util/Map;)Ljava/util/Map;
move-result-object p0
:try_end_e2
.catch Ljava/io/IOException; {:try_start_de .. :try_end_e2} :catch_e3
:goto_e2
return-object p0
:catch_e3
move-exception p0
goto :goto_fa
:catch_e5
move-exception p0
goto :goto_fa
:catch_e7
move-exception p0
goto :goto_fa
:catch_e9
move-exception p0
goto :goto_fa
:catch_eb
move-exception p0
goto :goto_fa
:catch_ed
move-exception p0
goto :goto_fa
:catch_ef
move-exception p0
goto :goto_fa
:catch_f1
move-exception p0
goto :goto_fa
:catch_f3
move-exception p0
goto :goto_fa
:catch_f5
move-exception p0
goto :goto_fa
:catch_f7
move-exception p0
goto :goto_fa
:catch_f9
move-exception p0
.line 25
:goto_fa
new-instance v0, Lcom/amazonaws/AmazonClientException;
const-string v1, "Unable to parse JSON String."
invoke-direct {v0, v1, p0}, Lcom/amazonaws/AmazonClientException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v0
.line 26
:cond_102
:goto_102
sget-object p0, Ljava/util/Collections;->EMPTY_MAP:Ljava/util/Map;
return-object p0
.end method
.method public static b(Ljava/util/Map;)Ljava/lang/String;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;)",
"Ljava/lang/String;"
}
.end annotation
if-eqz p0, :cond_62
.line 1
invoke-interface {p0}, Ljava/util/Map;->isEmpty()Z
move-result v0
if-eqz v0, :cond_9
goto :goto_62
.line 2
:cond_9
:try_start_9
new-instance v0, Ljava/io/StringWriter;
invoke-direct {v0}, Ljava/io/StringWriter;-><init>()V
.line 3
sget-object v1, Lcom/amazonaws/util/json/JsonUtils;->a:Lcom/amazonaws/util/json/AwsJsonFactory;
check-cast v1, Lcom/amazonaws/util/json/GsonFactory;
invoke-static {v1}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 4
new-instance v1, Lcom/amazonaws/util/json/GsonFactory$GsonWriter;
invoke-direct {v1, v0}, Lcom/amazonaws/util/json/GsonFactory$GsonWriter;-><init>(Ljava/io/Writer;)V
.line 5
iget-object v2, v1, Lcom/amazonaws/util/json/GsonFactory$GsonWriter;->a:Lcom/google/gson/stream/c;
invoke-virtual {v2}, Lcom/google/gson/stream/c;->l()Lcom/google/gson/stream/c;
.line 6
invoke-interface {p0}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object p0
invoke-interface {p0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p0
:goto_27
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_4a
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/util/Map$Entry;
.line 7
invoke-interface {v2}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/String;
.line 8
iget-object v4, v1, Lcom/amazonaws/util/json/GsonFactory$GsonWriter;->a:Lcom/google/gson/stream/c;
invoke-virtual {v4, v3}, Lcom/google/gson/stream/c;->x(Ljava/lang/String;)Lcom/google/gson/stream/c;
.line 9
invoke-interface {v2}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
.line 10
iget-object v3, v1, Lcom/amazonaws/util/json/GsonFactory$GsonWriter;->a:Lcom/google/gson/stream/c;
invoke-virtual {v3, v2}, Lcom/google/gson/stream/c;->X(Ljava/lang/String;)Lcom/google/gson/stream/c;
goto :goto_27
.line 11
:cond_4a
iget-object p0, v1, Lcom/amazonaws/util/json/GsonFactory$GsonWriter;->a:Lcom/google/gson/stream/c;
invoke-virtual {p0}, Lcom/google/gson/stream/c;->u()Lcom/google/gson/stream/c;
.line 12
iget-object p0, v1, Lcom/amazonaws/util/json/GsonFactory$GsonWriter;->a:Lcom/google/gson/stream/c;
invoke-virtual {p0}, Lcom/google/gson/stream/c;->close()V
.line 13
invoke-virtual {v0}, Ljava/io/StringWriter;->toString()Ljava/lang/String;
move-result-object p0
:try_end_58
.catch Ljava/io/IOException; {:try_start_9 .. :try_end_58} :catch_59
return-object p0
:catch_59
move-exception p0
.line 14
new-instance v0, Lcom/amazonaws/AmazonClientException;
const-string v1, "Unable to serialize to JSON String."
invoke-direct {v0, v1, p0}, Lcom/amazonaws/AmazonClientException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v0
:cond_62
:goto_62
const-string/jumbo p0, "{}"
return-object p0
.end method