ap.smali

.class public final Lcom/cmcm/safewallet/utils/ap;
.super Ljava/lang/Object;
.source "TokenHelper.java"


# direct methods
.method public static ex(Ljava/lang/String;)Ljava/util/List;
    .registers 10
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/String;",
            ")",
            "Ljava/util/List",
            "<",
            "Lcom/cmcm/safewallet/data/coinprovider/erc20/ContractModel;",
            ">;"
        }
    .end annotation

    .prologue
    .line 34
    new-instance v8, Ljava/util/ArrayList;

    invoke-direct {v8}, Ljava/util/ArrayList;-><init>()V

    .line 36
    invoke-static {}, Lcom/cmcm/safewallet/data/remote/b;->ll()Lcom/cmcm/safewallet/data/remote/b;

    move-result-object v0

    invoke-virtual {v0}, Lcom/cmcm/safewallet/data/remote/b;->lm()Lcom/cmcm/safewallet/data/remote/api/EtherScanRequest;

    move-result-object v0

    const-string v1, "account"

    const-string v2, "tokentx"

    const-string v4, "0"

    const-string v5, "999999999"

    const-string v6, "desc"

    invoke-static {}, Lcom/cmcm/safewallet/data/remote/b;->lk()Ljava/lang/String;

    move-result-object v7

    move-object v3, p0

    invoke-interface/range {v0 .. v7}, Lcom/cmcm/safewallet/data/remote/api/EtherScanRequest;->getTokenTxTransacations(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lretrofit2/Call;

    move-result-object v0

    .line 39
    :try_start_20
    invoke-interface {v0}, Lretrofit2/Call;->execute()Lretrofit2/Response;
    :try_end_23
    .catch Ljava/io/IOException; {:try_start_20 .. :try_end_23} :catch_3d

    move-result-object v0

    .line 44
    invoke-virtual {v0}, Lretrofit2/Response;->isSuccessful()Z

    move-result v1

    if-eqz v1, :cond_137

    .line 45
    invoke-virtual {v0}, Lretrofit2/Response;->body()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lorg/json/JSONObject;

    .line 46
    if-eqz v0, :cond_137

    .line 47
    const-string v1, "result"

    const/4 v2, 0x0

    invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 48
    if-nez v0, :cond_43

    move-object v0, v8

    .line 107
    :goto_3c
    return-object v0

    .line 41
    :catch_3d
    move-exception v0

    invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V

    move-object v0, v8

    .line 42
    goto :goto_3c

    .line 54
    :cond_43
    :try_start_43
    new-instance v1, Lorg/json/JSONTokener;

    invoke-direct {v1, v0}, Lorg/json/JSONTokener;-><init>(Ljava/lang/String;)V

    invoke-virtual {v1}, Lorg/json/JSONTokener;->nextValue()Ljava/lang/Object;

    move-result-object v1

    instance-of v1, v1, Lorg/json/JSONArray;
    :try_end_4e
    .catch Lorg/json/JSONException; {:try_start_43 .. :try_end_4e} :catch_52

    if-nez v1, :cond_66

    move-object v0, v8

    .line 56
    goto :goto_3c

    .line 58
    :catch_52
    move-exception v0

    .line 59
    invoke-virtual {v0}, Lorg/json/JSONException;->printStackTrace()V

    .line 60
    new-instance v1, Ljava/lang/StringBuilder;

    const-string v2, " \u5b58\u5728\u5f02\u5e38 >> "

    invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v0}, Lorg/json/JSONException;->getMessage()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-object v0, v8

    .line 62
    goto :goto_3c

    .line 64
    :cond_66
    invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v1

    if-nez v1, :cond_137

    .line 65
    new-instance v1, Lcom/cmcm/safewallet/utils/ap$1;

    invoke-direct {v1}, Lcom/cmcm/safewallet/utils/ap$1;-><init>()V

    .line 1101
    iget-object v1, v1, Lcom/google/gson/b/a;->type:Ljava/lang/reflect/Type;

    .line 66
    new-instance v2, Lcom/google/gson/d;

    invoke-direct {v2}, Lcom/google/gson/d;-><init>()V

    invoke-virtual {v2, v0, v1}, Lcom/google/gson/d;->a(Ljava/lang/String;Ljava/lang/reflect/Type;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/util/List;

    .line 67
    new-instance v2, Ljava/lang/StringBuilder;

    const-string v1, "tokenTxTransacationList.size >> "

    invoke-direct {v2, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    if-nez v0, :cond_b8

    const/4 v1, 0x0

    :goto_88
    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    .line 68
    if-eqz v0, :cond_137

    invoke-interface {v0}, Ljava/util/List;->size()I

    move-result v1

    if-lez v1, :cond_137

    .line 69
    invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object v3

    :goto_97
    invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z

    move-result v0

    if-eqz v0, :cond_137

    invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/cmcm/safewallet/data/coinprovider/erc20/TokenTxTransacation;

    .line 71
    invoke-virtual {v0}, Lcom/cmcm/safewallet/data/coinprovider/erc20/TokenTxTransacation;->isValid()Z

    move-result v1

    if-nez v1, :cond_bd

    .line 72
    new-instance v1, Ljava/lang/StringBuilder;

    const-string v2, "isUnValid >> "

    invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v0}, Lcom/cmcm/safewallet/data/coinprovider/erc20/TokenTxTransacation;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    goto :goto_97

    .line 67
    :cond_b8
    invoke-interface {v0}, Ljava/util/List;->size()I

    move-result v1

    goto :goto_88

    .line 2072
    :cond_bd
    invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/erc20/c;->iN()Lcom/cmcm/safewallet/data/coinprovider/erc20/b;

    move-result-object v1

    .line 76
    invoke-virtual {v1}, Lcom/cmcm/safewallet/data/coinprovider/erc20/b;->iL()Ljava/util/Map;

    move-result-object v1

    .line 78
    iget-object v2, v0, Lcom/cmcm/safewallet/data/coinprovider/erc20/TokenTxTransacation;->contractAddress:Ljava/lang/String;

    invoke-interface {v1, v2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Lcom/cmcm/safewallet/data/coinprovider/erc20/ContractModel;

    .line 79
    if-nez v1, :cond_e0

    .line 81
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    iget-object v0, v0, Lcom/cmcm/safewallet/data/coinprovider/erc20/TokenTxTransacation;->contractAddress:Ljava/lang/String;

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, " \u5408\u7ea6\u4e0d\u652f\u6301"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    goto :goto_97

    .line 85
    :cond_e0
    invoke-interface {v8, v1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_f3

    .line 87
    new-instance v0, Ljava/lang/StringBuilder;

    const-string v2, "ignore, has inserted >> "

    invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    iget-object v1, v1, Lcom/cmcm/safewallet/data/coinprovider/erc20/ContractModel;->Tl:Ljava/lang/String;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    goto :goto_97

    .line 3072
    :cond_f3
    invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/erc20/c;->iN()Lcom/cmcm/safewallet/data/coinprovider/erc20/b;

    move-result-object v2

    .line 91
    invoke-virtual {v2}, Lcom/cmcm/safewallet/data/coinprovider/erc20/b;->iL()Ljava/util/Map;

    move-result-object v2

    iget-object v4, v1, Lcom/cmcm/safewallet/data/coinprovider/erc20/ContractModel;->contractAddress:Ljava/lang/String;

    invoke-virtual {v4}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;

    move-result-object v4

    invoke-interface {v2, v4}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Lcom/cmcm/safewallet/data/coinprovider/erc20/ContractModel;

    .line 92
    if-nez v2, :cond_116

    .line 94
    new-instance v0, Ljava/lang/StringBuilder;

    const-string v2, "ignore, local has this token  >> "

    invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    iget-object v1, v1, Lcom/cmcm/safewallet/data/coinprovider/erc20/ContractModel;->Tl:Ljava/lang/String;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    goto :goto_97

    .line 97
    :cond_116
    iget-object v2, v2, Lcom/cmcm/safewallet/data/coinprovider/erc20/ContractModel;->Tj:Ljava/lang/String;

    iput-object v2, v1, Lcom/cmcm/safewallet/data/coinprovider/erc20/ContractModel;->Tj:Ljava/lang/String;

    .line 100
    invoke-interface {v8, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 101
    new-instance v1, Ljava/lang/StringBuilder;

    const-string v2, "\u6dfb\u52a0\u5408\u7ea6 >> "

    invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    iget-object v2, v0, Lcom/cmcm/safewallet/data/coinprovider/erc20/TokenTxTransacation;->contractAddress:Ljava/lang/String;

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, " name "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    iget-object v0, v0, Lcom/cmcm/safewallet/data/coinprovider/erc20/TokenTxTransacation;->tokenName:Ljava/lang/String;

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    goto/16 :goto_97

    :cond_137
    move-object v0, v8

    .line 107
    goto/16 :goto_3c
.end method