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