i.smali
.class public Lcom/cmcm/safewallet/data/coinprovider/i;
.super Ljava/lang/Object;
.source "WalletControllerImpl.java"
# interfaces
.implements Lcom/cmcm/safewallet/data/c/f;
# static fields
.field private static final Or:I
.field private static final TAG:Ljava/lang/String;
# instance fields
.field private Op:Lcom/cmcm/safewallet/data/coinprovider/b;
.field private Oq:Lcom/cmcm/safewallet/data/coinprovider/hdwallet/f/d;
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 50
const-class v0, Lcom/cmcm/safewallet/data/coinprovider/i;
invoke-virtual {v0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/cmcm/safewallet/data/coinprovider/i;->TAG:Ljava/lang/String;
.line 56
invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Runtime;->availableProcessors()I
move-result v0
shl-int/lit8 v0, v0, 0x1
sput v0, Lcom/cmcm/safewallet/data/coinprovider/i;->Or:I
return-void
.end method
.method public constructor <init>()V
.registers 2
.prologue
.line 48
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 52
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/b;
invoke-direct {v0}, Lcom/cmcm/safewallet/data/coinprovider/b;-><init>()V
iput-object v0, p0, Lcom/cmcm/safewallet/data/coinprovider/i;->Op:Lcom/cmcm/safewallet/data/coinprovider/b;
.line 54
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/hdwallet/f/d;
invoke-direct {v0}, Lcom/cmcm/safewallet/data/coinprovider/hdwallet/f/d;-><init>()V
iput-object v0, p0, Lcom/cmcm/safewallet/data/coinprovider/i;->Oq:Lcom/cmcm/safewallet/data/coinprovider/hdwallet/f/d;
return-void
.end method
.method static synthetic a(Lcom/cmcm/safewallet/data/coinprovider/i;Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;)V
.registers 2
.prologue
.line 48
invoke-direct {p0, p1}, Lcom/cmcm/safewallet/data/coinprovider/i;->e(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;)V
return-void
.end method
.method static synthetic a(Lcom/cmcm/safewallet/data/coinprovider/i;Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;Z)V
.registers 4
.prologue
.line 48
invoke-direct {p0, p1, p2, p3}, Lcom/cmcm/safewallet/data/coinprovider/i;->a(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;Z)V
return-void
.end method
.method static synthetic a(Lcom/cmcm/safewallet/data/coinprovider/i;Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Lcom/cmcm/safewallet/data/keystore/Token;Z)V
.registers 4
.prologue
.line 48
invoke-direct {p0, p1, p2, p3}, Lcom/cmcm/safewallet/data/coinprovider/i;->a(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Lcom/cmcm/safewallet/data/keystore/Token;Z)V
return-void
.end method
.method private a(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;Z)V
.registers 10
.prologue
const-wide/16 v4, 0x0
.line 611
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/n;->fU()Lcom/cmcm/safewallet/data/coinprovider/n;
move-result-object v0
const/4 v1, 0x2
invoke-virtual {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/n;->az(I)Lcom/cmcm/safewallet/data/c/a;
move-result-object v0
.line 612
iget-object v1, p2, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->address:Ljava/lang/String;
iget-object v2, p2, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->contractAddr:Ljava/lang/String;
invoke-interface {v0, v1, v2}, Lcom/cmcm/safewallet/data/c/a;->k(Ljava/lang/String;Ljava/lang/String;)Lcom/cmcm/safewallet/data/models/b;
move-result-object v1
.line 613
invoke-interface {v1}, Lcom/cmcm/safewallet/data/models/b;->getFinalBalance()Ljava/math/BigInteger;
move-result-object v1
.line 615
if-nez v1, :cond_3d
.line 616
sget-object v0, Lcom/cmcm/safewallet/data/coinprovider/i;->TAG:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "freshSingleERC20Token(), failed, null balance, ["
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p1}, Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;->kP()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "]"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.line 30052
invoke-static {v0, v1}, Lcom/cmcm/safewallet/a/e;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 617
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/cm/RemoteNetworkException;
invoke-direct {v0}, Lcom/cmcm/safewallet/data/coinprovider/cm/RemoteNetworkException;-><init>()V
throw v0
.line 620
:cond_3d
sget-object v2, Ljava/math/BigInteger;->ZERO:Ljava/math/BigInteger;
invoke-virtual {v1, v2}, Ljava/math/BigInteger;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_93
.line 621
invoke-virtual {p2, v4, v5}, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->setBaseBalance(D)V
.line 622
invoke-virtual {p2, v4, v5}, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->setCurrencyBalance(D)V
.line 623
sget-object v0, Lcom/cmcm/safewallet/data/coinprovider/i;->TAG:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "freshSingleERC20Token(), success, ["
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p2}, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->getName()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "] balance: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {p2}, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->getCurrencyBalance()D
move-result-wide v2
invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.line 31052
invoke-static {v0, v1}, Lcom/cmcm/safewallet/a/e;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 630
:goto_71
if-eqz p3, :cond_92
.line 631
invoke-virtual {p0, p1}, Lcom/cmcm/safewallet/data/coinprovider/i;->c(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;)Z
.line 632
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "ForceFresh \u8054\u7f51\u5237\u65b0 Token \u4f59\u989d\u6210\u529f, ["
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p2}, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->getName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, "] \u6cd5\u5e01\u4f59\u989d: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p2}, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->getCurrencyBalance()D
move-result-wide v2
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
.line 634
:cond_92
return-void
.line 31072
:cond_93
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/erc20/c;->iN()Lcom/cmcm/safewallet/data/coinprovider/erc20/b;
move-result-object v2
.line 625
iget-object v3, p2, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->contractAddr:Ljava/lang/String;
invoke-virtual {v2, v3}, Lcom/cmcm/safewallet/data/coinprovider/erc20/b;->aN(Ljava/lang/String;)I
move-result v2
invoke-static {v1, v2}, Lcom/cmcm/safewallet/data/coinprovider/eth/depends/a;->a(Ljava/math/BigInteger;I)Ljava/math/BigDecimal;
move-result-object v1
invoke-virtual {v1}, Ljava/math/BigDecimal;->doubleValue()D
move-result-wide v2
invoke-virtual {p2, v2, v3}, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->setBaseBalance(D)V
.line 627
invoke-interface {v0, p2}, Lcom/cmcm/safewallet/data/c/a;->a(Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;)D
move-result-wide v0
invoke-virtual {p2}, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->getBaseBalance()D
move-result-wide v2
mul-double/2addr v0, v2
invoke-virtual {p2, v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->setCurrencyBalance(D)V
.line 628
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "\u8054\u7f51\u5237\u65b0 Token \u4f59\u989d\u6210\u529f, ["
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p2}, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->getName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, "] \u6cd5\u5e01\u4f59\u989d: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p2}, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->getCurrencyBalance()D
move-result-wide v2
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
goto :goto_71
.end method
.method private a(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Lcom/cmcm/safewallet/data/keystore/Token;Z)V
.registers 10
.prologue
const-wide/16 v4, 0x0
.line 407
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/n;->fU()Lcom/cmcm/safewallet/data/coinprovider/n;
move-result-object v0
invoke-virtual {v0}, Lcom/cmcm/safewallet/data/coinprovider/n;->fZ()Lcom/cmcm/safewallet/data/coinprovider/USDT/k;
move-result-object v0
.line 408
invoke-virtual {p2}, Lcom/cmcm/safewallet/data/keystore/Token;->getAddress()Ljava/lang/String;
move-result-object v1
invoke-virtual {p2}, Lcom/cmcm/safewallet/data/keystore/Token;->getContractAddr()Ljava/lang/String;
move-result-object v2
invoke-interface {v0, v1, v2}, Lcom/cmcm/safewallet/data/c/a;->k(Ljava/lang/String;Ljava/lang/String;)Lcom/cmcm/safewallet/data/models/b;
move-result-object v1
.line 409
invoke-interface {v1}, Lcom/cmcm/safewallet/data/models/b;->getFinalBalance()Ljava/math/BigInteger;
move-result-object v1
.line 411
if-nez v1, :cond_40
.line 412
sget-object v0, Lcom/cmcm/safewallet/data/coinprovider/i;->TAG:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "freshSingleERC20Token(), failed, null balance, ["
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p1}, Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;->kP()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "]"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.line 16052
invoke-static {v0, v1}, Lcom/cmcm/safewallet/a/e;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 413
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/cm/RemoteNetworkException;
invoke-direct {v0}, Lcom/cmcm/safewallet/data/coinprovider/cm/RemoteNetworkException;-><init>()V
throw v0
.line 415
:cond_40
sget-object v2, Ljava/math/BigInteger;->ZERO:Ljava/math/BigInteger;
invoke-virtual {v1, v2}, Ljava/math/BigInteger;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_96
.line 416
invoke-virtual {p2, v4, v5}, Lcom/cmcm/safewallet/data/keystore/Token;->setBaseBalance(D)V
.line 417
invoke-virtual {p2, v4, v5}, Lcom/cmcm/safewallet/data/keystore/Token;->setCurrencyBalance(D)V
.line 418
sget-object v0, Lcom/cmcm/safewallet/data/coinprovider/i;->TAG:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "freshSingleERC20Token(), success, ["
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p2}, Lcom/cmcm/safewallet/data/keystore/Token;->getCoinName()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "] balance: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {p2}, Lcom/cmcm/safewallet/data/keystore/Token;->getCurrencyBalance()D
move-result-wide v2
invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.line 17052
invoke-static {v0, v1}, Lcom/cmcm/safewallet/a/e;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 425
:goto_74
if-eqz p3, :cond_95
.line 426
invoke-virtual {p0, p1}, Lcom/cmcm/safewallet/data/coinprovider/i;->c(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;)Z
.line 427
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "ForceFresh \u8054\u7f51\u5237\u65b0 Token \u4f59\u989d\u6210\u529f, ["
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p2}, Lcom/cmcm/safewallet/data/keystore/Token;->getName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, "] \u6cd5\u5e01\u4f59\u989d: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p2}, Lcom/cmcm/safewallet/data/keystore/Token;->getCurrencyBalance()D
move-result-wide v2
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
.line 429
:cond_95
return-void
.line 420
:cond_96
const/16 v2, 0x8
invoke-static {v1, v2}, Lcom/cmcm/safewallet/data/coinprovider/eth/depends/a;->a(Ljava/math/BigInteger;I)Ljava/math/BigDecimal;
move-result-object v1
invoke-virtual {v1}, Ljava/math/BigDecimal;->doubleValue()D
move-result-wide v2
invoke-virtual {p2, v2, v3}, Lcom/cmcm/safewallet/data/keystore/Token;->setBaseBalance(D)V
.line 422
invoke-interface {v0, p2}, Lcom/cmcm/safewallet/data/c/a;->a(Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;)D
move-result-wide v0
invoke-virtual {p2}, Lcom/cmcm/safewallet/data/keystore/Token;->getBaseBalance()D
move-result-wide v2
mul-double/2addr v0, v2
invoke-virtual {p2, v0, v1}, Lcom/cmcm/safewallet/data/keystore/Token;->setCurrencyBalance(D)V
.line 423
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "\u8054\u7f51\u5237\u65b0 Token \u4f59\u989d\u6210\u529f, ["
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p2}, Lcom/cmcm/safewallet/data/keystore/Token;->getName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, "] \u6cd5\u5e01\u4f59\u989d: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p2}, Lcom/cmcm/safewallet/data/keystore/Token;->getCurrencyBalance()D
move-result-wide v2
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
goto :goto_74
.end method
.method private a(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Lcom/cmcm/safewallet/data/keystore/k;)V
.registers 13
.prologue
.line 296
if-eqz p2, :cond_a
.line 4209
iget-object v0, p2, Lcom/cmcm/safewallet/data/keystore/k;->address:Ljava/lang/String;
.line 296
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_b
.line 341
:cond_a
:goto_a
return-void
.line 5193
:cond_b
iget v0, p2, Lcom/cmcm/safewallet/data/keystore/k;->WD:I
.line 300
invoke-static {v0}, Lcom/cmcm/safewallet/ui/property/a/a;->ce(I)I
move-result v0
.line 302
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/n;->fU()Lcom/cmcm/safewallet/data/coinprovider/n;
move-result-object v1
iget v2, p1, Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;->Za:I
invoke-virtual {v1, v0, v2}, Lcom/cmcm/safewallet/data/coinprovider/n;->y(II)Lcom/cmcm/safewallet/data/c/e;
move-result-object v1
.line 303
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/n;->fU()Lcom/cmcm/safewallet/data/coinprovider/n;
move-result-object v2
invoke-virtual {v2}, Lcom/cmcm/safewallet/data/coinprovider/n;->fX()Lcom/cmcm/safewallet/data/c/b;
move-result-object v2
.line 304
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
.line 5209
iget-object v3, p2, Lcom/cmcm/safewallet/data/keystore/k;->address:Ljava/lang/String;
.line 305
invoke-interface {v1, v3}, Lcom/cmcm/safewallet/data/c/e;->aj(Ljava/lang/String;)Lcom/cmcm/safewallet/data/models/b;
move-result-object v1
.line 306
new-instance v3, Ljava/lang/StringBuilder;
const-string v6, "freshCoinInfo: "
invoke-direct {v3, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v6
sub-long v4, v6, v4
invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v3
const-string v4, " pid: "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-static {}, Landroid/os/Process;->myTid()I
move-result v4
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
.line 6028
invoke-static {}, Lcom/cmcm/safewallet/data/d/b/d;->lj()Lcom/cmcm/safewallet/data/d/b/c;
move-result-object v3
.line 307
invoke-virtual {v3}, Lcom/cmcm/safewallet/data/d/b/c;->lc()Ljava/lang/String;
move-result-object v3
.line 308
invoke-interface {v1}, Lcom/cmcm/safewallet/data/models/b;->getFinalBalance()Ljava/math/BigInteger;
move-result-object v4
if-nez v4, :cond_7b
.line 309
sget-object v0, Lcom/cmcm/safewallet/data/coinprovider/i;->TAG:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "freshCoinInfo(), failed, null balance, ["
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 6185
iget-object v2, p2, Lcom/cmcm/safewallet/data/keystore/k;->name:Ljava/lang/String;
.line 309
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "]"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.line 7052
invoke-static {v0, v1}, Lcom/cmcm/safewallet/a/e;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 310
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/cm/RemoteNetworkException;
invoke-direct {v0}, Lcom/cmcm/safewallet/data/coinprovider/cm/RemoteNetworkException;-><init>()V
throw v0
.line 312
:cond_7b
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
.line 313
const/4 v6, 0x1
if-ne v0, v6, :cond_119
.line 314
invoke-interface {v1}, Lcom/cmcm/safewallet/data/models/b;->getFinalBalance()Ljava/math/BigInteger;
move-result-object v1
invoke-virtual {v1}, Ljava/math/BigInteger;->doubleValue()D
move-result-wide v6
invoke-static {v6, v7}, Lcom/cmcm/safewallet/utils/an;->h(D)D
move-result-wide v6
.line 7237
iput-wide v6, p2, Lcom/cmcm/safewallet/data/keystore/k;->WE:D
.line 8233
iget-wide v8, p2, Lcom/cmcm/safewallet/data/keystore/k;->WE:D
.line 316
invoke-interface {v2, v3, v8, v9}, Lcom/cmcm/safewallet/data/c/b;->a(Ljava/lang/String;D)Ljava/lang/Double;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Double;->doubleValue()D
move-result-wide v2
.line 8245
iput-wide v2, p2, Lcom/cmcm/safewallet/data/keystore/k;->WF:D
.line 318
new-instance v1, Ljava/lang/StringBuilder;
const-string v8, "freshCoinInfo wallet Type : "
invoke-direct {v1, v8}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
const-string v8, " address: "
invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
.line 9209
iget-object v8, p2, Lcom/cmcm/safewallet/data/keystore/k;->address:Ljava/lang/String;
.line 318
invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v8, " balance : "
invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, " baseBalance: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v6, v7}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
.line 9225
iget-object v1, p2, Lcom/cmcm/safewallet/data/keystore/k;->tokens:Ljava/util/List;
.line 320
invoke-direct {p0, p1, v1}, Lcom/cmcm/safewallet/data/coinprovider/i;->a(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Ljava/util/List;)V
.line 336
:cond_cb
:goto_cb
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "freshCoinInfo wallet Type : "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, " time: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v2
sub-long/2addr v2, v4
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, " pid: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-static {}, Landroid/os/Process;->myTid()I
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
.line 338
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
.line 339
invoke-virtual {p0, p1}, Lcom/cmcm/safewallet/data/coinprovider/i;->c(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;)Z
.line 340
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "freshCoinInfo update: "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
sub-long v0, v4, v0
invoke-virtual {v2, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, " pid: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-static {}, Landroid/os/Process;->myTid()I
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
goto/16 :goto_a
.line 321
:cond_119
const/4 v6, 0x3
if-ne v0, v6, :cond_162
.line 322
invoke-interface {v1}, Lcom/cmcm/safewallet/data/models/b;->getFinalBalance()Ljava/math/BigInteger;
move-result-object v1
invoke-virtual {v1}, Ljava/math/BigInteger;->doubleValue()D
move-result-wide v6
.line 10041
invoke-static {v6, v7}, Lcom/cmcm/safewallet/utils/an;->h(D)D
move-result-wide v6
.line 10237
iput-wide v6, p2, Lcom/cmcm/safewallet/data/keystore/k;->WE:D
.line 11233
iget-wide v8, p2, Lcom/cmcm/safewallet/data/keystore/k;->WE:D
.line 324
invoke-interface {v2, v3, v8, v9}, Lcom/cmcm/safewallet/data/c/b;->b(Ljava/lang/String;D)Ljava/lang/Double;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Double;->doubleValue()D
move-result-wide v2
.line 11245
iput-wide v2, p2, Lcom/cmcm/safewallet/data/keystore/k;->WF:D
.line 326
new-instance v1, Ljava/lang/StringBuilder;
const-string v8, "freshCoinInfo wallet Type : "
invoke-direct {v1, v8}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
const-string v8, " address: "
invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
.line 12209
iget-object v8, p2, Lcom/cmcm/safewallet/data/keystore/k;->address:Ljava/lang/String;
.line 326
invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v8, " balance : "
invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, " baseBalance: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v6, v7}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
goto/16 :goto_cb
.line 328
:cond_162
const/4 v6, 0x2
if-ne v0, v6, :cond_cb
.line 329
invoke-interface {v1}, Lcom/cmcm/safewallet/data/models/b;->getFinalBalance()Ljava/math/BigInteger;
move-result-object v1
invoke-virtual {v1}, Ljava/math/BigInteger;->doubleValue()D
move-result-wide v6
invoke-static {v6, v7}, Lcom/cmcm/safewallet/utils/an;->i(D)D
move-result-wide v6
.line 12237
iput-wide v6, p2, Lcom/cmcm/safewallet/data/keystore/k;->WE:D
.line 13233
iget-wide v8, p2, Lcom/cmcm/safewallet/data/keystore/k;->WE:D
.line 331
invoke-interface {v2, v3, v8, v9}, Lcom/cmcm/safewallet/data/c/b;->c(Ljava/lang/String;D)Ljava/lang/Double;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Double;->doubleValue()D
move-result-wide v2
.line 13245
iput-wide v2, p2, Lcom/cmcm/safewallet/data/keystore/k;->WF:D
.line 333
new-instance v1, Ljava/lang/StringBuilder;
const-string v8, "freshCoinInfo wallet Type : "
invoke-direct {v1, v8}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
const-string v8, " address: "
invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
.line 14209
iget-object v8, p2, Lcom/cmcm/safewallet/data/keystore/k;->address:Ljava/lang/String;
.line 333
invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v8, " balance : "
invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, " baseBalance: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v6, v7}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
.line 14225
iget-object v1, p2, Lcom/cmcm/safewallet/data/keystore/k;->tokens:Ljava/util/List;
.line 334
invoke-direct {p0, p1, v1}, Lcom/cmcm/safewallet/data/coinprovider/i;->a(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Ljava/util/List;)V
goto/16 :goto_cb
.end method
.method private a(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Ljava/util/List;)V
.registers 10
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;",
"Ljava/util/List",
"<",
"Lcom/cmcm/safewallet/data/keystore/Token;",
">;)V"
}
.end annotation
.prologue
.line 344
invoke-static {}, Lcom/cmcm/safewallet/data/ctrl/c;->jb()Z
move-result v0
if-nez v0, :cond_e
.line 345
sget-object v0, Lcom/cmcm/safewallet/data/coinprovider/i;->TAG:Ljava/lang/String;
const-string v1, "freshERC20TokenIfNeeded(), canceled, switch off"
.line 15052
invoke-static {v0, v1}, Lcom/cmcm/safewallet/a/e;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 356
:cond_d
:goto_d
return-void
.line 349
:cond_e
if-eqz p2, :cond_d
.line 15359
:try_start_10
sget v0, Lcom/cmcm/safewallet/data/coinprovider/i;->Or:I
invoke-static {v0}, Ljava/util/concurrent/Executors;->newFixedThreadPool(I)Ljava/util/concurrent/ExecutorService;
move-result-object v1
.line 15360
new-instance v2, Ljava/util/concurrent/CountDownLatch;
invoke-interface {p2}, Ljava/util/List;->size()I
move-result v0
invoke-direct {v2, v0}, Ljava/util/concurrent/CountDownLatch;-><init>(I)V
.line 15362
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
.line 15363
invoke-interface {p2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v3
:goto_27
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_41
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/cmcm/safewallet/data/keystore/Token;
.line 15364
new-instance v6, Lcom/cmcm/safewallet/data/coinprovider/m;
invoke-direct {v6, p0, p1, v2, v0}, Lcom/cmcm/safewallet/data/coinprovider/m;-><init>(Lcom/cmcm/safewallet/data/coinprovider/i;Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Ljava/util/concurrent/CountDownLatch;Lcom/cmcm/safewallet/data/keystore/Token;)V
invoke-interface {v1, v6}, Ljava/util/concurrent/ExecutorService;->execute(Ljava/lang/Runnable;)V
:try_end_3b
.catch Ljava/lang/InterruptedException; {:try_start_10 .. :try_end_3b} :catch_3c
goto :goto_27
.line 353
:catch_3c
move-exception v0
invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
goto :goto_d
.line 15366
:cond_41
:try_start_41
invoke-virtual {v2}, Ljava/util/concurrent/CountDownLatch;->await()V
.line 15367
new-instance v0, Ljava/lang/StringBuilder;
const-string v2, "freshSingleTokenAsync: "
invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v2
sub-long/2addr v2, v4
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
.line 15368
invoke-interface {v1}, Ljava/util/concurrent/ExecutorService;->shutdown()V
:try_end_56
.catch Ljava/lang/InterruptedException; {:try_start_41 .. :try_end_56} :catch_3c
goto :goto_d
.end method
.method static synthetic b(Lcom/cmcm/safewallet/data/coinprovider/i;Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;)V
.registers 2
.prologue
.line 48
invoke-direct {p0, p1}, Lcom/cmcm/safewallet/data/coinprovider/i;->f(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;)V
return-void
.end method
.method static synthetic b(Lcom/cmcm/safewallet/data/coinprovider/i;Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Lcom/cmcm/safewallet/data/keystore/Token;Z)V
.registers 4
.prologue
.line 48
invoke-direct {p0, p1, p2, p3}, Lcom/cmcm/safewallet/data/coinprovider/i;->b(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Lcom/cmcm/safewallet/data/keystore/Token;Z)V
return-void
.end method
.method private b(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Lcom/cmcm/safewallet/data/keystore/Token;Z)V
.registers 10
.prologue
const-wide/16 v4, 0x0
.line 434
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/n;->fU()Lcom/cmcm/safewallet/data/coinprovider/n;
move-result-object v0
const/4 v1, 0x1
invoke-virtual {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/n;->az(I)Lcom/cmcm/safewallet/data/c/a;
move-result-object v0
.line 435
invoke-virtual {p2}, Lcom/cmcm/safewallet/data/keystore/Token;->getAddress()Ljava/lang/String;
move-result-object v1
invoke-virtual {p2}, Lcom/cmcm/safewallet/data/keystore/Token;->getContractAddr()Ljava/lang/String;
move-result-object v2
invoke-interface {v0, v1, v2}, Lcom/cmcm/safewallet/data/c/a;->k(Ljava/lang/String;Ljava/lang/String;)Lcom/cmcm/safewallet/data/models/b;
move-result-object v1
.line 436
invoke-interface {v1}, Lcom/cmcm/safewallet/data/models/b;->getFinalBalance()Ljava/math/BigInteger;
move-result-object v1
.line 438
if-nez v1, :cond_41
.line 439
sget-object v0, Lcom/cmcm/safewallet/data/coinprovider/i;->TAG:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "freshSingleERC20Token(), failed, null balance, ["
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p1}, Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;->kP()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "]"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.line 18052
invoke-static {v0, v1}, Lcom/cmcm/safewallet/a/e;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 440
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/cm/RemoteNetworkException;
invoke-direct {v0}, Lcom/cmcm/safewallet/data/coinprovider/cm/RemoteNetworkException;-><init>()V
throw v0
.line 442
:cond_41
sget-object v2, Ljava/math/BigInteger;->ZERO:Ljava/math/BigInteger;
invoke-virtual {v1, v2}, Ljava/math/BigInteger;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_97
.line 443
invoke-virtual {p2, v4, v5}, Lcom/cmcm/safewallet/data/keystore/Token;->setBaseBalance(D)V
.line 444
invoke-virtual {p2, v4, v5}, Lcom/cmcm/safewallet/data/keystore/Token;->setCurrencyBalance(D)V
.line 445
sget-object v0, Lcom/cmcm/safewallet/data/coinprovider/i;->TAG:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "freshSingleERC20Token(), success, ["
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p2}, Lcom/cmcm/safewallet/data/keystore/Token;->getCoinName()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "] balance: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {p2}, Lcom/cmcm/safewallet/data/keystore/Token;->getCurrencyBalance()D
move-result-wide v2
invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.line 19052
invoke-static {v0, v1}, Lcom/cmcm/safewallet/a/e;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 452
:goto_75
if-eqz p3, :cond_96
.line 453
invoke-virtual {p0, p1}, Lcom/cmcm/safewallet/data/coinprovider/i;->c(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;)Z
.line 454
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "ForceFresh \u8054\u7f51\u5237\u65b0 Token \u4f59\u989d\u6210\u529f, ["
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p2}, Lcom/cmcm/safewallet/data/keystore/Token;->getName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, "] \u6cd5\u5e01\u4f59\u989d: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p2}, Lcom/cmcm/safewallet/data/keystore/Token;->getCurrencyBalance()D
move-result-wide v2
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
.line 456
:cond_96
return-void
.line 19072
:cond_97
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/erc20/c;->iN()Lcom/cmcm/safewallet/data/coinprovider/erc20/b;
move-result-object v2
.line 447
invoke-virtual {p2}, Lcom/cmcm/safewallet/data/keystore/Token;->getContractAddr()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Lcom/cmcm/safewallet/data/coinprovider/erc20/b;->aN(Ljava/lang/String;)I
move-result v2
invoke-static {v1, v2}, Lcom/cmcm/safewallet/data/coinprovider/eth/depends/a;->a(Ljava/math/BigInteger;I)Ljava/math/BigDecimal;
move-result-object v1
invoke-virtual {v1}, Ljava/math/BigDecimal;->doubleValue()D
move-result-wide v2
invoke-virtual {p2, v2, v3}, Lcom/cmcm/safewallet/data/keystore/Token;->setBaseBalance(D)V
.line 449
invoke-interface {v0, p2}, Lcom/cmcm/safewallet/data/c/a;->a(Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;)D
move-result-wide v0
invoke-virtual {p2}, Lcom/cmcm/safewallet/data/keystore/Token;->getBaseBalance()D
move-result-wide v2
mul-double/2addr v0, v2
invoke-virtual {p2, v0, v1}, Lcom/cmcm/safewallet/data/keystore/Token;->setCurrencyBalance(D)V
.line 450
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "\u8054\u7f51\u5237\u65b0 Token \u4f59\u989d\u6210\u529f, ["
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p2}, Lcom/cmcm/safewallet/data/keystore/Token;->getName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, "] \u6cd5\u5e01\u4f59\u989d: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p2}, Lcom/cmcm/safewallet/data/keystore/Token;->getCurrencyBalance()D
move-result-wide v2
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
goto :goto_75
.end method
.method private b(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Ljava/util/List;)V
.registers 13
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;",
"Ljava/util/List",
"<",
"Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;",
">;)V"
}
.end annotation
.prologue
.line 567
sget v0, Lcom/cmcm/safewallet/data/coinprovider/i;->Or:I
invoke-static {v0}, Ljava/util/concurrent/Executors;->newFixedThreadPool(I)Ljava/util/concurrent/ExecutorService;
move-result-object v6
.line 568
new-instance v3, Ljava/util/concurrent/CountDownLatch;
invoke-interface {p2}, Ljava/util/List;->size()I
move-result v0
invoke-direct {v3, v0}, Ljava/util/concurrent/CountDownLatch;-><init>(I)V
.line 570
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v8
.line 571
invoke-interface {p2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v7
:goto_17
invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_2f
invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;
.line 572
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/l;
const/4 v5, 0x0
move-object v1, p0
move-object v2, p1
invoke-direct/range {v0 .. v5}, Lcom/cmcm/safewallet/data/coinprovider/l;-><init>(Lcom/cmcm/safewallet/data/coinprovider/i;Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Ljava/util/concurrent/CountDownLatch;Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;B)V
invoke-interface {v6, v0}, Ljava/util/concurrent/ExecutorService;->execute(Ljava/lang/Runnable;)V
goto :goto_17
.line 574
:cond_2f
invoke-virtual {v3}, Ljava/util/concurrent/CountDownLatch;->await()V
.line 575
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "freshSingleERC20TokenAsync: "
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v2
sub-long/2addr v2, v8
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
.line 576
invoke-interface {v6}, Ljava/util/concurrent/ExecutorService;->shutdown()V
.line 577
return-void
.end method
.method private d(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;)Lcom/cmcm/safewallet/data/c/f;
.registers 3
.prologue
.line 218
iget v0, p1, Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;->Za:I
packed-switch v0, :pswitch_data_e
.line 224
iget-object v0, p0, Lcom/cmcm/safewallet/data/coinprovider/i;->Oq:Lcom/cmcm/safewallet/data/coinprovider/hdwallet/f/d;
:goto_7
return-object v0
.line 220
:pswitch_8
iget-object v0, p0, Lcom/cmcm/safewallet/data/coinprovider/i;->Oq:Lcom/cmcm/safewallet/data/coinprovider/hdwallet/f/d;
goto :goto_7
.line 222
:pswitch_b
iget-object v0, p0, Lcom/cmcm/safewallet/data/coinprovider/i;->Op:Lcom/cmcm/safewallet/data/coinprovider/b;
goto :goto_7
.line 218
:pswitch_data_e
.packed-switch 0x1
:pswitch_8
:pswitch_b
.end packed-switch
.end method
.method private e(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;)V
.registers 5
.prologue
.line 275
if-nez p1, :cond_3
.line 292
:cond_2
return-void
.line 278
:cond_3
iget v0, p1, Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;->Za:I
const/4 v1, 0x2
if-eq v0, v1, :cond_2
.line 281
iget-object v0, p1, Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;->Zc:Lcom/cmcm/safewallet/data/models/property/HDWalletModel;
.line 3025
iget-object v0, v0, Lcom/cmcm/safewallet/data/models/property/HDWalletModel;->Zt:Lcom/cmcm/safewallet/data/keystore/ak;
.line 3474
iget-object v2, v0, Lcom/cmcm/safewallet/data/keystore/ak;->XI:Ljava/util/ArrayList;
.line 284
const/4 v0, 0x0
move v1, v0
:goto_10
invoke-interface {v2}, Ljava/util/List;->size()I
move-result v0
if-ge v1, v0, :cond_2
.line 285
invoke-interface {v2, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/cmcm/safewallet/data/keystore/k;
.line 287
:try_start_1c
invoke-direct {p0, p1, v0}, Lcom/cmcm/safewallet/data/coinprovider/i;->a(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Lcom/cmcm/safewallet/data/keystore/k;)V
:try_end_1f
.catch Lcom/cmcm/safewallet/data/coinprovider/cm/RemoteNetworkException; {:try_start_1c .. :try_end_1f} :catch_23
.line 284
:goto_1f
add-int/lit8 v0, v1, 0x1
move v1, v0
goto :goto_10
.line 289
:catch_23
move-exception v0
invoke-virtual {v0}, Lcom/cmcm/safewallet/data/coinprovider/cm/RemoteNetworkException;->printStackTrace()V
goto :goto_1f
.end method
.method private f(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;)V
.registers 11
.prologue
const/4 v8, 0x1
.line 514
if-nez p1, :cond_b
.line 515
sget-object v0, Lcom/cmcm/safewallet/data/coinprovider/i;->TAG:Ljava/lang/String;
const-string v1, "freshDefaultModel(), failed, null model"
.line 20052
invoke-static {v0, v1}, Lcom/cmcm/safewallet/a/e;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 549
:cond_a
:goto_a
return-void
.line 518
:cond_b
iget v0, p1, Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;->Za:I
if-eq v0, v8, :cond_a
.line 521
iget-object v0, p1, Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;->Zb:Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;
.line 523
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/n;->fU()Lcom/cmcm/safewallet/data/coinprovider/n;
move-result-object v1
.line 20125
iget v2, v0, Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;->Zj:I
.line 523
iget v3, p1, Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;->Za:I
invoke-virtual {v1, v2, v3}, Lcom/cmcm/safewallet/data/coinprovider/n;->y(II)Lcom/cmcm/safewallet/data/c/e;
move-result-object v1
.line 524
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/n;->fU()Lcom/cmcm/safewallet/data/coinprovider/n;
move-result-object v2
invoke-virtual {v2}, Lcom/cmcm/safewallet/data/coinprovider/n;->fX()Lcom/cmcm/safewallet/data/c/b;
move-result-object v2
.line 525
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
.line 21073
iget-object v3, v0, Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;->RR:Ljava/lang/String;
.line 526
invoke-interface {v1, v3}, Lcom/cmcm/safewallet/data/c/e;->aj(Ljava/lang/String;)Lcom/cmcm/safewallet/data/models/b;
move-result-object v1
.line 527
new-instance v3, Ljava/lang/StringBuilder;
const-string v6, "freshDefaultModel: "
invoke-direct {v3, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v6
sub-long v4, v6, v4
invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v3
const-string v4, " pid: "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-static {}, Landroid/os/Process;->myTid()I
move-result v4
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
.line 22028
invoke-static {}, Lcom/cmcm/safewallet/data/d/b/d;->lj()Lcom/cmcm/safewallet/data/d/b/c;
move-result-object v3
.line 528
invoke-virtual {v3}, Lcom/cmcm/safewallet/data/d/b/c;->lc()Ljava/lang/String;
move-result-object v3
.line 529
invoke-interface {v1}, Lcom/cmcm/safewallet/data/models/b;->getFinalBalance()Ljava/math/BigInteger;
move-result-object v4
if-nez v4, :cond_7d
.line 530
sget-object v1, Lcom/cmcm/safewallet/data/coinprovider/i;->TAG:Ljava/lang/String;
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "freshDefaultModel(), failed, null balance, ["
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 22065
iget-object v0, v0, Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;->mName:Ljava/lang/String;
.line 530
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v2, "]"
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 23052
invoke-static {v1, v0}, Lcom/cmcm/safewallet/a/e;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 531
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/cm/RemoteNetworkException;
invoke-direct {v0}, Lcom/cmcm/safewallet/data/coinprovider/cm/RemoteNetworkException;-><init>()V
throw v0
.line 534
:cond_7d
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
.line 23125
iget v6, v0, Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;->Zj:I
.line 535
if-ne v6, v8, :cond_ef
.line 536
invoke-interface {v1}, Lcom/cmcm/safewallet/data/models/b;->getFinalBalance()Ljava/math/BigInteger;
move-result-object v1
invoke-virtual {v1}, Ljava/math/BigInteger;->doubleValue()D
move-result-wide v6
invoke-static {v6, v7}, Lcom/cmcm/safewallet/utils/an;->h(D)D
move-result-wide v6
.line 24085
iput-wide v6, v0, Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;->Zf:D
.line 25081
iget-wide v6, v0, Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;->Zf:D
.line 537
invoke-interface {v2, v3, v6, v7}, Lcom/cmcm/safewallet/data/c/b;->a(Ljava/lang/String;D)Ljava/lang/Double;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Double;->doubleValue()D
move-result-wide v2
.line 25093
iput-wide v2, v0, Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;->Zg:D
.line 543
:cond_9f
:goto_9f
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "freshDefaultModel wallet Type : "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 29125
iget v0, v0, Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;->Zj:I
.line 543
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, " time: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v2
sub-long/2addr v2, v4
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, " pid: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-static {}, Landroid/os/Process;->myTid()I
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
.line 545
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
.line 546
invoke-virtual {p0, p1}, Lcom/cmcm/safewallet/data/coinprovider/i;->c(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;)Z
.line 547
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "freshDefaultModel update: "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
sub-long v0, v4, v0
invoke-virtual {v2, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, " pid: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-static {}, Landroid/os/Process;->myTid()I
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
goto/16 :goto_a
.line 25125
:cond_ef
iget v6, v0, Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;->Zj:I
.line 538
const/4 v7, 0x2
if-ne v6, v7, :cond_9f
.line 539
invoke-interface {v1}, Lcom/cmcm/safewallet/data/models/b;->getFinalBalance()Ljava/math/BigInteger;
move-result-object v1
invoke-virtual {v1}, Ljava/math/BigInteger;->doubleValue()D
move-result-wide v6
invoke-static {v6, v7}, Lcom/cmcm/safewallet/utils/an;->i(D)D
move-result-wide v6
.line 26085
iput-wide v6, v0, Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;->Zf:D
.line 27081
iget-wide v6, v0, Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;->Zf:D
.line 540
invoke-interface {v2, v3, v6, v7}, Lcom/cmcm/safewallet/data/c/b;->c(Ljava/lang/String;D)Ljava/lang/Double;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Double;->doubleValue()D
move-result-wide v2
.line 27093
iput-wide v2, v0, Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;->Zg:D
.line 28045
iget-object v1, v0, Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;->Zl:Ljava/util/List;
.line 28552
invoke-static {}, Lcom/cmcm/safewallet/data/ctrl/c;->jb()Z
move-result v2
if-nez v2, :cond_11e
.line 28553
sget-object v1, Lcom/cmcm/safewallet/data/coinprovider/i;->TAG:Ljava/lang/String;
const-string v2, "freshERC20TokenIfNeeded(), canceled, switch off"
.line 29052
invoke-static {v1, v2}, Lcom/cmcm/safewallet/a/e;->d(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_9f
.line 28557
:cond_11e
if-eqz v1, :cond_9f
.line 28559
:try_start_120
invoke-direct {p0, p1, v1}, Lcom/cmcm/safewallet/data/coinprovider/i;->b(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Ljava/util/List;)V
:try_end_123
.catch Ljava/lang/InterruptedException; {:try_start_120 .. :try_end_123} :catch_125
goto/16 :goto_9f
.line 28561
:catch_125
move-exception v1
invoke-virtual {v1}, Ljava/lang/InterruptedException;->printStackTrace()V
goto/16 :goto_9f
.end method
.method static synthetic fT()Ljava/lang/String;
.registers 1
.prologue
.line 48
sget-object v0, Lcom/cmcm/safewallet/data/coinprovider/i;->TAG:Ljava/lang/String;
return-object v0
.end method
.method private i(Ljava/util/Map;)V
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map",
"<",
"Ljava/lang/String;",
"Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;",
">;)V"
}
.end annotation
.prologue
.line 235
sget v0, Lcom/cmcm/safewallet/data/coinprovider/i;->Or:I
invoke-static {v0}, Ljava/util/concurrent/Executors;->newFixedThreadPool(I)Ljava/util/concurrent/ExecutorService;
move-result-object v1
.line 236
new-instance v2, Ljava/util/concurrent/CountDownLatch;
invoke-interface {p1}, Ljava/util/Map;->size()I
move-result v0
invoke-direct {v2, v0}, Ljava/util/concurrent/CountDownLatch;-><init>(I)V
.line 238
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
.line 239
invoke-interface {p1}, Ljava/util/Map;->values()Ljava/util/Collection;
move-result-object v0
invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v3
:goto_1b
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_30
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;
.line 240
new-instance v6, Lcom/cmcm/safewallet/data/coinprovider/k;
invoke-direct {v6, v2, v0, p0}, Lcom/cmcm/safewallet/data/coinprovider/k;-><init>(Ljava/util/concurrent/CountDownLatch;Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Lcom/cmcm/safewallet/data/coinprovider/i;)V
invoke-interface {v1, v6}, Ljava/util/concurrent/ExecutorService;->execute(Ljava/lang/Runnable;)V
goto :goto_1b
.line 242
:cond_30
invoke-virtual {v2}, Ljava/util/concurrent/CountDownLatch;->await()V
.line 243
new-instance v0, Ljava/lang/StringBuilder;
const-string v2, "freshHDWalletModelAsync: "
invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v2
sub-long/2addr v2, v4
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
.line 244
invoke-interface {v1}, Ljava/util/concurrent/ExecutorService;->shutdown()V
.line 245
return-void
.end method
# virtual methods
.method public final a(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Ljava/lang/String;Ljava/lang/String;Z)Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;
.registers 10
.prologue
const/4 v2, 0x0
.line 130
iget-object v1, p0, Lcom/cmcm/safewallet/data/coinprovider/i;->Oq:Lcom/cmcm/safewallet/data/coinprovider/hdwallet/f/d;
invoke-virtual {v1, p1, v2}, Lcom/cmcm/safewallet/data/coinprovider/hdwallet/f/d;->a(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Z)Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;
move-result-object v3
.line 131
iget-object v1, p0, Lcom/cmcm/safewallet/data/coinprovider/i;->Oq:Lcom/cmcm/safewallet/data/coinprovider/hdwallet/f/d;
invoke-virtual {v1, v3, p2, p3, v2}, Lcom/cmcm/safewallet/data/coinprovider/hdwallet/f/d;->a(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Ljava/lang/String;Ljava/lang/String;Z)Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;
move-result-object v2
.line 133
if-eqz p4, :cond_14
.line 134
:try_start_f
iget v1, v3, Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;->Za:I
packed-switch v1, :pswitch_data_3a
.line 150
:cond_14
:goto_14
return-object v2
.line 136
:pswitch_15
const-string v1, "TOKEN_USDT"
invoke-virtual {v2}, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->getTokenType()Ljava/lang/String;
move-result-object v4
invoke-virtual {v1, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_2e
.line 137
move-object v0, v2
check-cast v0, Lcom/cmcm/safewallet/data/keystore/Token;
move-object v1, v0
invoke-direct {p0, v3, v1, p4}, Lcom/cmcm/safewallet/data/coinprovider/i;->a(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Lcom/cmcm/safewallet/data/keystore/Token;Z)V
:try_end_28
.catch Lcom/cmcm/safewallet/data/coinprovider/cm/RemoteNetworkException; {:try_start_f .. :try_end_28} :catch_29
goto :goto_14
.line 148
:catch_29
move-exception v1
invoke-virtual {v1}, Lcom/cmcm/safewallet/data/coinprovider/cm/RemoteNetworkException;->printStackTrace()V
goto :goto_14
.line 139
:cond_2e
:try_start_2e
move-object v0, v2
check-cast v0, Lcom/cmcm/safewallet/data/keystore/Token;
move-object v1, v0
invoke-direct {p0, v3, v1, p4}, Lcom/cmcm/safewallet/data/coinprovider/i;->b(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Lcom/cmcm/safewallet/data/keystore/Token;Z)V
goto :goto_14
.line 143
:pswitch_36
invoke-direct {p0, v3, v2, p4}, Lcom/cmcm/safewallet/data/coinprovider/i;->a(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;Z)V
:try_end_39
.catch Lcom/cmcm/safewallet/data/coinprovider/cm/RemoteNetworkException; {:try_start_2e .. :try_end_39} :catch_29
goto :goto_14
.line 134
:pswitch_data_3a
.packed-switch 0x1
:pswitch_15
:pswitch_36
.end packed-switch
.end method
.method public final a(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Ljava/lang/String;Z)Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;
.registers 9
.prologue
const/4 v2, 0x0
.line 105
iget-object v1, p0, Lcom/cmcm/safewallet/data/coinprovider/i;->Op:Lcom/cmcm/safewallet/data/coinprovider/b;
invoke-virtual {v1, p1, v2}, Lcom/cmcm/safewallet/data/coinprovider/b;->a(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Z)Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;
move-result-object v3
.line 106
iget-object v1, p0, Lcom/cmcm/safewallet/data/coinprovider/i;->Op:Lcom/cmcm/safewallet/data/coinprovider/b;
invoke-virtual {v1, v3, p2, v2}, Lcom/cmcm/safewallet/data/coinprovider/b;->a(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Ljava/lang/String;Z)Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;
move-result-object v2
.line 108
if-eqz p3, :cond_14
.line 109
:try_start_f
iget v1, v3, Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;->Za:I
packed-switch v1, :pswitch_data_3a
.line 125
:cond_14
:goto_14
return-object v2
.line 111
:pswitch_15
const-string v1, "TOKEN_USDT"
invoke-virtual {v2}, Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;->getTokenType()Ljava/lang/String;
move-result-object v4
invoke-virtual {v1, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_2e
.line 112
move-object v0, v2
check-cast v0, Lcom/cmcm/safewallet/data/keystore/Token;
move-object v1, v0
invoke-direct {p0, v3, v1, p3}, Lcom/cmcm/safewallet/data/coinprovider/i;->a(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Lcom/cmcm/safewallet/data/keystore/Token;Z)V
:try_end_28
.catch Lcom/cmcm/safewallet/data/coinprovider/cm/RemoteNetworkException; {:try_start_f .. :try_end_28} :catch_29
goto :goto_14
.line 123
:catch_29
move-exception v1
invoke-virtual {v1}, Lcom/cmcm/safewallet/data/coinprovider/cm/RemoteNetworkException;->printStackTrace()V
goto :goto_14
.line 114
:cond_2e
:try_start_2e
move-object v0, v2
check-cast v0, Lcom/cmcm/safewallet/data/keystore/Token;
move-object v1, v0
invoke-direct {p0, v3, v1, p3}, Lcom/cmcm/safewallet/data/coinprovider/i;->b(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Lcom/cmcm/safewallet/data/keystore/Token;Z)V
goto :goto_14
.line 118
:pswitch_36
invoke-direct {p0, v3, v2, p3}, Lcom/cmcm/safewallet/data/coinprovider/i;->a(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Lcom/cmcm/safewallet/data/coinprovider/erc20/ERC20Token;Z)V
:try_end_39
.catch Lcom/cmcm/safewallet/data/coinprovider/cm/RemoteNetworkException; {:try_start_2e .. :try_end_39} :catch_29
goto :goto_14
.line 109
:pswitch_data_3a
.packed-switch 0x1
:pswitch_15
:pswitch_36
.end packed-switch
.end method
.method public final a(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Z)Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;
.registers 5
.prologue
.line 85
invoke-direct {p0, p1}, Lcom/cmcm/safewallet/data/coinprovider/i;->d(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;)Lcom/cmcm/safewallet/data/c/f;
move-result-object v0
const/4 v1, 0x0
invoke-interface {v0, p1, v1}, Lcom/cmcm/safewallet/data/c/f;->a(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Z)Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;
move-result-object v1
.line 87
if-eqz p2, :cond_10
.line 88
:try_start_b
iget v0, v1, Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;->Za:I
packed-switch v0, :pswitch_data_1e
.line 100
:cond_10
:goto_10
return-object v1
.line 90
:pswitch_11
invoke-direct {p0, v1}, Lcom/cmcm/safewallet/data/coinprovider/i;->e(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;)V
:try_end_14
.catch Lcom/cmcm/safewallet/data/coinprovider/cm/RemoteNetworkException; {:try_start_b .. :try_end_14} :catch_15
goto :goto_10
.line 98
:catch_15
move-exception v0
invoke-virtual {v0}, Lcom/cmcm/safewallet/data/coinprovider/cm/RemoteNetworkException;->printStackTrace()V
goto :goto_10
.line 93
:pswitch_1a
:try_start_1a
invoke-direct {p0, v1}, Lcom/cmcm/safewallet/data/coinprovider/i;->f(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;)V
:try_end_1d
.catch Lcom/cmcm/safewallet/data/coinprovider/cm/RemoteNetworkException; {:try_start_1a .. :try_end_1d} :catch_15
goto :goto_10
.line 88
:pswitch_data_1e
.packed-switch 0x1
:pswitch_11
:pswitch_1a
.end packed-switch
.end method
.method public final a(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;)Z
.registers 3
.prologue
.line 60
invoke-direct {p0, p1}, Lcom/cmcm/safewallet/data/coinprovider/i;->d(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;)Lcom/cmcm/safewallet/data/c/f;
move-result-object v0
invoke-interface {v0, p1}, Lcom/cmcm/safewallet/data/c/f;->a(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;)Z
move-result v0
return v0
.end method
.method public final a(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Ljava/lang/String;)Z
.registers 4
.prologue
.line 70
invoke-direct {p0, p1}, Lcom/cmcm/safewallet/data/coinprovider/i;->d(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;)Lcom/cmcm/safewallet/data/c/f;
move-result-object v0
invoke-interface {v0, p1, p2}, Lcom/cmcm/safewallet/data/c/f;->a(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Ljava/lang/String;)Z
move-result v0
return v0
.end method
.method public final a(Ljava/lang/String;DDD)Z
.registers 16
.prologue
.line 199
iget-object v0, p0, Lcom/cmcm/safewallet/data/coinprovider/i;->Oq:Lcom/cmcm/safewallet/data/coinprovider/hdwallet/f/d;
move-object v1, p1
move-wide v2, p2
move-wide v4, p4
move-wide v6, p6
invoke-virtual/range {v0 .. v7}, Lcom/cmcm/safewallet/data/coinprovider/hdwallet/f/d;->a(Ljava/lang/String;DDD)Z
move-result v0
if-nez v0, :cond_18
iget-object v0, p0, Lcom/cmcm/safewallet/data/coinprovider/i;->Op:Lcom/cmcm/safewallet/data/coinprovider/b;
move-object v1, p1
move-wide v2, p2
move-wide v4, p4
move-wide v6, p6
.line 200
invoke-virtual/range {v0 .. v7}, Lcom/cmcm/safewallet/data/coinprovider/b;->a(Ljava/lang/String;DDD)Z
move-result v0
if-eqz v0, :cond_57
:cond_18
const/4 v0, 0x1
.line 201
:goto_19
if-eqz v0, :cond_56
.line 2028
invoke-static {}, Lcom/cmcm/safewallet/data/d/b/d;->lj()Lcom/cmcm/safewallet/data/d/b/c;
move-result-object v0
.line 2153
const-string v1, "currency_unit"
invoke-virtual {v0, v1, p1}, Lcom/cmcm/safewallet/data/d/b/c;->X(Ljava/lang/String;Ljava/lang/String;)V
.line 205
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/n;->fU()Lcom/cmcm/safewallet/data/coinprovider/n;
move-result-object v0
const/4 v1, 0x2
invoke-virtual {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/n;->az(I)Lcom/cmcm/safewallet/data/c/a;
move-result-object v0
invoke-interface {v0}, Lcom/cmcm/safewallet/data/c/a;->fN()Z
move-result v0
and-int/lit8 v0, v0, 0x1
.line 207
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/n;->fU()Lcom/cmcm/safewallet/data/coinprovider/n;
move-result-object v1
const/4 v2, 0x1
invoke-virtual {v1, v2}, Lcom/cmcm/safewallet/data/coinprovider/n;->az(I)Lcom/cmcm/safewallet/data/c/a;
move-result-object v1
invoke-interface {v1}, Lcom/cmcm/safewallet/data/c/a;->fN()Z
move-result v1
and-int/2addr v0, v1
.line 210
new-instance v1, Landroid/content/Intent;
invoke-direct {v1}, Landroid/content/Intent;-><init>()V
.line 211
const-string v2, "currency_type_changed"
invoke-virtual {v1, v2}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
.line 212
invoke-static {}, Lcom/cmcm/safewallet/entry/WalletApp;->lO()Landroid/content/Context;
move-result-object v2
invoke-static {v2}, Landroid/support/v4/content/i;->i(Landroid/content/Context;)Landroid/support/v4/content/i;
move-result-object v2
invoke-virtual {v2, v1}, Landroid/support/v4/content/i;->a(Landroid/content/Intent;)Z
.line 214
:cond_56
return v0
.line 200
:cond_57
const/4 v0, 0x0
goto :goto_19
.end method
.method public final ae(Ljava/lang/String;)Z
.registers 3
.prologue
.line 75
iget-object v0, p0, Lcom/cmcm/safewallet/data/coinprovider/i;->Op:Lcom/cmcm/safewallet/data/coinprovider/b;
invoke-virtual {v0, p1}, Lcom/cmcm/safewallet/data/coinprovider/b;->ae(Ljava/lang/String;)Z
move-result v0
return v0
.end method
.method public final b(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Ljava/lang/String;Z)Lcom/cmcm/safewallet/data/keystore/k;
.registers 8
.prologue
const/4 v2, 0x0
.line 158
invoke-direct {p0, p1}, Lcom/cmcm/safewallet/data/coinprovider/i;->d(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;)Lcom/cmcm/safewallet/data/c/f;
move-result-object v0
.line 159
invoke-interface {v0, p1, v2}, Lcom/cmcm/safewallet/data/c/f;->a(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Z)Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;
move-result-object v1
.line 161
invoke-interface {v0, v1, p2, v2}, Lcom/cmcm/safewallet/data/c/f;->b(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Ljava/lang/String;Z)Lcom/cmcm/safewallet/data/keystore/k;
move-result-object v0
.line 163
if-eqz p3, :cond_17
.line 164
iget v2, v1, Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;->Za:I
const/4 v3, 0x1
if-ne v2, v3, :cond_17
.line 165
invoke-direct {p0, v1, v0}, Lcom/cmcm/safewallet/data/coinprovider/i;->a(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Lcom/cmcm/safewallet/data/keystore/k;)V
.line 169
:cond_17
return-object v0
.end method
.method public final b(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;)Z
.registers 3
.prologue
.line 65
invoke-direct {p0, p1}, Lcom/cmcm/safewallet/data/coinprovider/i;->d(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;)Lcom/cmcm/safewallet/data/c/f;
move-result-object v0
invoke-interface {v0, p1}, Lcom/cmcm/safewallet/data/c/f;->b(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;)Z
move-result v0
return v0
.end method
.method public final c(ZZ)Ljava/util/Map;
.registers 13
.annotation system Ldalvik/annotation/Signature;
value = {
"(ZZ)",
"Ljava/util/Map",
"<",
"Ljava/lang/String;",
"Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;",
">;"
}
.end annotation
.prologue
.line 175
:try_start_0
iget-object v0, p0, Lcom/cmcm/safewallet/data/coinprovider/i;->Op:Lcom/cmcm/safewallet/data/coinprovider/b;
const/4 v1, 0x0
invoke-virtual {v0, v1, p2}, Lcom/cmcm/safewallet/data/coinprovider/b;->c(ZZ)Ljava/util/Map;
move-result-object v1
.line 176
iget-object v0, p0, Lcom/cmcm/safewallet/data/coinprovider/i;->Oq:Lcom/cmcm/safewallet/data/coinprovider/hdwallet/f/d;
const/4 v2, 0x0
invoke-virtual {v0, v2, p2}, Lcom/cmcm/safewallet/data/coinprovider/hdwallet/f/d;->c(ZZ)Ljava/util/Map;
move-result-object v2
.line 177
if-eqz p1, :cond_77
.line 1466
sget v0, Lcom/cmcm/safewallet/data/coinprovider/i;->Or:I
invoke-static {v0}, Ljava/util/concurrent/Executors;->newFixedThreadPool(I)Ljava/util/concurrent/ExecutorService;
move-result-object v3
.line 1467
new-instance v4, Ljava/util/concurrent/CountDownLatch;
invoke-interface {v1}, Ljava/util/Map;->size()I
move-result v0
invoke-direct {v4, v0}, Ljava/util/concurrent/CountDownLatch;-><init>(I)V
.line 1469
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v6
.line 1470
invoke-interface {v1}, Ljava/util/Map;->values()Ljava/util/Collection;
move-result-object v0
invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v5
:goto_2b
invoke-interface {v5}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_5f
invoke-interface {v5}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;
.line 1471
new-instance v8, Lcom/cmcm/safewallet/data/coinprovider/j;
const/4 v9, 0x0
invoke-direct {v8, v4, v0, p0, v9}, Lcom/cmcm/safewallet/data/coinprovider/j;-><init>(Ljava/util/concurrent/CountDownLatch;Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;Lcom/cmcm/safewallet/data/coinprovider/i;B)V
invoke-interface {v3, v8}, Ljava/util/concurrent/ExecutorService;->execute(Ljava/lang/Runnable;)V
:try_end_40
.catch Ljava/lang/InterruptedException; {:try_start_0 .. :try_end_40} :catch_41
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_40} :catch_83
goto :goto_2b
.line 187
:catch_41
move-exception v0
.line 188
invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
.line 189
sget-object v1, Lcom/cmcm/safewallet/data/coinprovider/i;->TAG:Ljava/lang/String;
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, " readAllWallet fail "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/lang/InterruptedException;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v1, v0}, Lcom/cmcm/safewallet/a/e;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 194
:goto_5d
const/4 v0, 0x0
:goto_5e
return-object v0
.line 1473
:cond_5f
:try_start_5f
invoke-virtual {v4}, Ljava/util/concurrent/CountDownLatch;->await()V
.line 1474
new-instance v0, Ljava/lang/StringBuilder;
const-string v4, "freshDefaultWalletModeAsync: "
invoke-direct {v0, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
sub-long/2addr v4, v6
invoke-virtual {v0, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
.line 1475
invoke-interface {v3}, Ljava/util/concurrent/ExecutorService;->shutdown()V
.line 181
invoke-direct {p0, v2}, Lcom/cmcm/safewallet/data/coinprovider/i;->i(Ljava/util/Map;)V
.line 183
:cond_77
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
.line 184
invoke-interface {v0, v1}, Ljava/util/Map;->putAll(Ljava/util/Map;)V
.line 185
invoke-interface {v0, v2}, Ljava/util/Map;->putAll(Ljava/util/Map;)V
:try_end_82
.catch Ljava/lang/InterruptedException; {:try_start_5f .. :try_end_82} :catch_41
.catch Ljava/lang/Exception; {:try_start_5f .. :try_end_82} :catch_83
goto :goto_5e
.line 190
:catch_83
move-exception v0
.line 191
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
.line 192
sget-object v1, Lcom/cmcm/safewallet/data/coinprovider/i;->TAG:Ljava/lang/String;
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, " readAllWallet fail "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v1, v0}, Lcom/cmcm/safewallet/a/e;->d(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_5d
.end method
.method public final c(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;)Z
.registers 3
.prologue
.line 80
invoke-direct {p0, p1}, Lcom/cmcm/safewallet/data/coinprovider/i;->d(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;)Lcom/cmcm/safewallet/data/c/f;
move-result-object v0
invoke-interface {v0, p1}, Lcom/cmcm/safewallet/data/c/f;->c(Lcom/cmcm/safewallet/data/models/property/BaseWalletModel;)Z
move-result v0
return v0
.end method
.method public final fH()Ljava/util/List;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List",
"<",
"Lcom/cmcm/safewallet/data/models/property/DefaultWalletModel;",
">;"
}
.end annotation
.prologue
.line 638
iget-object v0, p0, Lcom/cmcm/safewallet/data/coinprovider/i;->Op:Lcom/cmcm/safewallet/data/coinprovider/b;
invoke-virtual {v0}, Lcom/cmcm/safewallet/data/coinprovider/b;->fH()Ljava/util/List;
move-result-object v0
return-object v0
.end method