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