CloudWalletManager.smali
.class public final Lcom/cmcm/safewallet/data/ctrl/CloudWalletManager;
.super Ljava/lang/Object;
.source "CloudWalletManager.java"
# direct methods
.method private constructor <init>()V
.registers 1
.prologue
.line 49
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method synthetic constructor <init>(B)V
.registers 2
.prologue
.line 45
invoke-direct {p0}, Lcom/cmcm/safewallet/data/ctrl/CloudWalletManager;-><init>()V
return-void
.end method
.method public static L(Ljava/lang/String;Ljava/lang/String;)Z
.registers 12
.prologue
const/4 v3, 0x0
.line 509
invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_9
move v0, v3
.line 548
:goto_8
return v0
.line 512
:cond_9
const/4 v1, 0x0
.line 514
:try_start_a
invoke-static {}, Lcom/cmcm/safewallet/entry/WalletApp;->lO()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Lcom/cmcm/safewallet/data/keystore/r;->U(Landroid/content/Context;)Lcom/cmcm/safewallet/data/keystore/r;
invoke-static {p0}, Lcom/cmcm/safewallet/data/keystore/r;->bu(Ljava/lang/String;)Lcom/cmcm/safewallet/data/keystore/q;
move-result-object v0
check-cast v0, Lcom/cmcm/safewallet/data/keystore/HDThresholdQAKeystore;
:try_end_17
.catch Lcom/cmcm/safewallet/data/keystore/KeystoreException; {:try_start_a .. :try_end_17} :catch_a0
.line 516
:try_start_17
new-instance v4, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;
invoke-direct {v4}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;-><init>()V
.line 518
invoke-static {v0, p1}, Lcom/cmcm/safewallet/utils/b;->a(Lcom/cmcm/safewallet/data/keystore/ai;Ljava/lang/String;)Landroid/util/Pair;
move-result-object v2
.line 519
invoke-virtual {v0}, Lcom/cmcm/safewallet/data/keystore/HDThresholdQAKeystore;->kg()Lcom/cmcm/safewallet/data/keystore/ak;
move-result-object v1
.line 11474
iget-object v5, v1, Lcom/cmcm/safewallet/data/keystore/ak;->XI:Ljava/util/ArrayList;
.line 520
new-instance v6, Ljava/util/ArrayList;
invoke-direct {v6}, Ljava/util/ArrayList;-><init>()V
.line 521
iget-object v1, v2, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast v1, Ljava/lang/String;
.line 522
iget-object v2, v2, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v2, Ljava/lang/String;
.line 524
invoke-virtual {v4, v2}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;->setSwuid(Ljava/lang/String;)Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;
.line 525
sget-object v2, Lorg/bitcoinj/core/Utils;->HEX:Lcom/google/common/io/BaseEncoding;
invoke-virtual {v2, v1}, Lcom/google/common/io/BaseEncoding;->m(Ljava/lang/CharSequence;)[B
move-result-object v1
.line 12031
invoke-static {v1}, Lorg/bitcoinj/core/ECKey;->fromPrivate([B)Lorg/bitcoinj/core/ECKey;
move-result-object v2
.line 526
invoke-interface {v5}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v5
:goto_44
invoke-interface {v5}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_8a
invoke-interface {v5}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/cmcm/safewallet/data/keystore/k;
.line 527
new-instance v7, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;
invoke-direct {v7}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;-><init>()V
.line 12185
iget-object v8, v1, Lcom/cmcm/safewallet/data/keystore/k;->name:Ljava/lang/String;
.line 528
invoke-virtual {v7, v8}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;->setName(Ljava/lang/String;)Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;
.line 12217
iget-object v1, v1, Lcom/cmcm/safewallet/data/keystore/k;->WC:Ljava/lang/String;
.line 529
invoke-virtual {v7, v1}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;->setPath(Ljava/lang/String;)Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;
.line 531
invoke-virtual {v7}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;->getPath()Ljava/lang/String;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/String;->getBytes()[B
move-result-object v1
invoke-static {v1}, Lorg/bitcoinj/core/Base58;->encode([B)Ljava/lang/String;
move-result-object v1
.line 532
invoke-virtual {v7, v1}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;->setPath(Ljava/lang/String;)Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;
.line 534
invoke-static {v1, v2}, Lcom/cmcm/safewallet/utils/am;->a(Ljava/lang/String;Lorg/bitcoinj/core/ECKey;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v7, v1}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;->setSign(Ljava/lang/String;)Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;
.line 535
invoke-interface {v6, v7}, Ljava/util/List;->add(Ljava/lang/Object;)Z
:try_end_78
.catch Lcom/cmcm/safewallet/data/keystore/KeystoreException; {:try_start_17 .. :try_end_78} :catch_79
goto :goto_44
.line 543
:catch_79
move-exception v1
move-object v9, v1
move-object v1, v0
move-object v0, v9
:goto_7d
invoke-virtual {v0}, Lcom/cmcm/safewallet/data/keystore/KeystoreException;->printStackTrace()V
.line 545
if-nez v1, :cond_9d
.line 546
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/hdwallet/exception/SyncCloudDataFailException;
const-string v1, " Not Exist Wallet Name "
invoke-direct {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/hdwallet/exception/SyncCloudDataFailException;-><init>(Ljava/lang/String;)V
throw v0
.line 538
:cond_8a
:try_start_8a
invoke-virtual {v4, v6}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;->setPaths(Ljava/util/List;)Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;
.line 539
invoke-static {}, Lcom/cmcm/safewallet/data/cloudwalletinfo/a;->fF()Lcom/cmcm/safewallet/data/cloudwalletinfo/a;
move-result-object v1
invoke-virtual {v1, v4}, Lcom/cmcm/safewallet/data/cloudwalletinfo/a;->a(Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;)Z
move-result v1
.line 540
const-wide/16 v4, 0xbb8
invoke-static {v4, v5}, Landroid/os/SystemClock;->sleep(J)V
:try_end_9a
.catch Lcom/cmcm/safewallet/data/keystore/KeystoreException; {:try_start_8a .. :try_end_9a} :catch_79
move v0, v1
.line 541
goto/16 :goto_8
:cond_9d
move v0, v3
.line 548
goto/16 :goto_8
.line 543
:catch_a0
move-exception v0
goto :goto_7d
.end method
.method private static a(Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfoWrapper;Lcom/cmcm/safewallet/data/keystore/HDThresholdQAKeystore;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;)I
.registers 15
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfoWrapper;",
"Lcom/cmcm/safewallet/data/keystore/HDThresholdQAKeystore;",
"Ljava/util/List",
"<",
"Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;",
">;",
"Ljava/util/List",
"<",
"Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;",
">;",
"Ljava/util/List",
"<",
"Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;",
">;",
"Ljava/util/List",
"<",
"Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;",
">;)I"
}
.end annotation
.prologue
const/4 v1, 0x0
.line 335
.line 337
invoke-virtual {p0}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfoWrapper;->getData()Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;
move-result-object v0
if-nez v0, :cond_b
.line 338
invoke-virtual {p0}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfoWrapper;->toString()Ljava/lang/String;
.line 405
:goto_a
return v1
.line 341
:cond_b
invoke-virtual {p1}, Lcom/cmcm/safewallet/data/keystore/HDThresholdQAKeystore;->kg()Lcom/cmcm/safewallet/data/keystore/ak;
move-result-object v0
.line 3474
iget-object v3, v0, Lcom/cmcm/safewallet/data/keystore/ak;->XI:Ljava/util/ArrayList;
.line 345
invoke-virtual {p0}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfoWrapper;->getData()Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;
move-result-object v2
.line 346
new-instance v4, Landroid/support/v4/f/a;
invoke-direct {v4}, Landroid/support/v4/f/a;-><init>()V
.line 347
new-instance v5, Landroid/support/v4/f/a;
invoke-direct {v5}, Landroid/support/v4/f/a;-><init>()V
.line 349
invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v6
:goto_23
invoke-interface {v6}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_4b
invoke-interface {v6}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/cmcm/safewallet/data/keystore/k;
.line 4217
iget-object v7, v0, Lcom/cmcm/safewallet/data/keystore/k;->WC:Ljava/lang/String;
.line 350
invoke-virtual {v7}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v7
invoke-interface {v4, v7, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 351
new-instance v7, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;
invoke-direct {v7}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;-><init>()V
.line 5185
iget-object v8, v0, Lcom/cmcm/safewallet/data/keystore/k;->name:Ljava/lang/String;
.line 352
invoke-virtual {v7, v8}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;->setName(Ljava/lang/String;)Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;
.line 5217
iget-object v0, v0, Lcom/cmcm/safewallet/data/keystore/k;->WC:Ljava/lang/String;
.line 353
invoke-virtual {v7, v0}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;->setPath(Ljava/lang/String;)Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;
.line 354
invoke-interface {p5, v7}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_23
.line 357
:cond_4b
invoke-virtual {v2}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;->getPaths()Ljava/util/List;
move-result-object v6
.line 358
invoke-virtual {v2}, Ljava/lang/Object;->toString()Ljava/lang/String;
.line 359
if-eqz v6, :cond_9f
.line 360
new-instance v0, Ljava/lang/StringBuilder;
const-string v2, " pathTokenList.size() >> "
invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-interface {v6}, Ljava/util/List;->size()I
move-result v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
.line 362
invoke-interface {v6}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v7
move v2, v1
:goto_67
invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_a0
invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;
.line 363
new-instance v1, Ljava/lang/StringBuilder;
const-string v8, " path >> "
invoke-direct {v1, v8}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v8
invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 364
invoke-virtual {v0}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;->getPath()Ljava/lang/String;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v1
invoke-interface {v4, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/cmcm/safewallet/data/keystore/k;
.line 365
if-nez v1, :cond_98
.line 367
invoke-interface {p2, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 369
or-int/lit8 v0, v2, 0x1
move v2, v0
goto :goto_67
.line 374
:cond_98
invoke-interface {p4, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 376
or-int/lit8 v0, v2, 0x4
move v2, v0
.line 378
goto :goto_67
:cond_9f
move v2, v1
.line 381
:cond_a0
invoke-interface {v4}, Ljava/util/Map;->clear()V
.line 384
if-eqz v6, :cond_bd
.line 385
invoke-interface {v6}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a9
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_bd
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;
.line 386
invoke-virtual {v0}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;->getPath()Ljava/lang/String;
move-result-object v4
invoke-interface {v5, v4, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_a9
.line 390
:cond_bd
if-eqz v3, :cond_ef
.line 392
invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v3
:goto_c3
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_ef
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/cmcm/safewallet/data/keystore/k;
.line 6217
iget-object v1, v0, Lcom/cmcm/safewallet/data/keystore/k;->WC:Ljava/lang/String;
.line 393
invoke-interface {v5, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;
.line 394
if-nez v1, :cond_f2
.line 396
new-instance v1, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;
invoke-direct {v1}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;-><init>()V
.line 7185
iget-object v4, v0, Lcom/cmcm/safewallet/data/keystore/k;->name:Ljava/lang/String;
.line 397
invoke-virtual {v1, v4}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;->setName(Ljava/lang/String;)Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;
.line 7217
iget-object v0, v0, Lcom/cmcm/safewallet/data/keystore/k;->WC:Ljava/lang/String;
.line 398
invoke-virtual {v1, v0}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;->setPath(Ljava/lang/String;)Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;
.line 399
invoke-interface {p3, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 401
or-int/lit8 v0, v2, 0x2
:goto_ed
move v2, v0
.line 403
goto :goto_c3
:cond_ef
move v1, v2
.line 405
goto/16 :goto_a
:cond_f2
move v0, v2
goto :goto_ed
.end method
.method public static a(Ljava/lang/String;Ljava/lang/String;Lcom/cmcm/safewallet/data/insurance/WalletType;)Z
.registers 8
.prologue
const/4 v2, 0x0
.line 555
invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_9
move v0, v2
.line 580
:goto_8
return v0
.line 560
:cond_9
:try_start_9
invoke-static {}, Lcom/cmcm/safewallet/entry/WalletApp;->lO()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Lcom/cmcm/safewallet/data/keystore/r;->U(Landroid/content/Context;)Lcom/cmcm/safewallet/data/keystore/r;
invoke-static {p0}, Lcom/cmcm/safewallet/data/keystore/r;->bu(Ljava/lang/String;)Lcom/cmcm/safewallet/data/keystore/q;
move-result-object v0
check-cast v0, Lcom/cmcm/safewallet/data/keystore/ai;
.line 561
new-instance v3, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;
invoke-direct {v3}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;-><init>()V
.line 562
invoke-virtual {v0}, Lcom/cmcm/safewallet/data/keystore/ai;->kf()Ljava/lang/String;
move-result-object v1
invoke-virtual {v3, v1}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;->setSwuid(Ljava/lang/String;)Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;
.line 563
invoke-static {v0, p1}, Lcom/cmcm/safewallet/utils/b;->a(Lcom/cmcm/safewallet/data/keystore/ai;Ljava/lang/String;)Landroid/util/Pair;
move-result-object v1
.line 564
if-nez v1, :cond_2a
move v0, v2
.line 565
goto :goto_8
.line 567
:cond_2a
iget-object v0, v1, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast v0, Ljava/lang/String;
.line 568
iget-object v1, v1, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v1, Ljava/lang/String;
.line 569
invoke-virtual {v3, v1}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;->setSwuid(Ljava/lang/String;)Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;
.line 570
sget-object v3, Lorg/bitcoinj/core/Utils;->HEX:Lcom/google/common/io/BaseEncoding;
invoke-virtual {v3, v0}, Lcom/google/common/io/BaseEncoding;->m(Ljava/lang/CharSequence;)[B
move-result-object v0
.line 13031
invoke-static {v0}, Lorg/bitcoinj/core/ECKey;->fromPrivate([B)Lorg/bitcoinj/core/ECKey;
move-result-object v0
.line 572
sget-object v3, Lorg/bitcoinj/core/Utils;->HEX:Lcom/google/common/io/BaseEncoding;
invoke-static {}, Lcom/cmcm/safewallet/data/keystore/al;->randomSalt()[B
move-result-object v4
invoke-virtual {v3, v4}, Lcom/google/common/io/BaseEncoding;->encode([B)Ljava/lang/String;
move-result-object v3
.line 573
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v4, v0}, Lcom/cmcm/safewallet/utils/am;->a(Ljava/lang/String;Lorg/bitcoinj/core/ECKey;)Ljava/lang/String;
move-result-object v0
.line 574
new-instance v4, Lcom/cmcm/safewallet/data/cloudwalletinfo/UpdateWalletTypeReq;
invoke-direct {v4, v1, v3, v0, p2}, Lcom/cmcm/safewallet/data/cloudwalletinfo/UpdateWalletTypeReq;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/cmcm/safewallet/data/insurance/WalletType;)V
.line 575
invoke-static {}, Lcom/cmcm/safewallet/data/cloudwalletinfo/a;->fF()Lcom/cmcm/safewallet/data/cloudwalletinfo/a;
move-result-object v0
invoke-virtual {v0, v4}, Lcom/cmcm/safewallet/data/cloudwalletinfo/a;->a(Lcom/cmcm/safewallet/data/cloudwalletinfo/UpdateWalletTypeReq;)Z
:try_end_6a
.catch Lcom/cmcm/safewallet/data/keystore/KeystoreException; {:try_start_9 .. :try_end_6a} :catch_6c
move-result v0
goto :goto_8
.line 578
:catch_6c
move-exception v0
invoke-virtual {v0}, Lcom/cmcm/safewallet/data/keystore/KeystoreException;->printStackTrace()V
move v0, v2
.line 580
goto :goto_8
.end method
.method public static a(Ljava/util/List;Ljava/lang/String;)Z
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List",
"<",
"Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;",
">;",
"Ljava/lang/String;",
")Z"
}
.end annotation
.prologue
const/4 v2, 0x0
.line 412
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_9
move v0, v2
.line 433
:goto_8
return v0
.line 415
:cond_9
const/4 v1, 0x0
.line 417
:try_start_a
invoke-static {}, Lcom/cmcm/safewallet/entry/WalletApp;->lO()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Lcom/cmcm/safewallet/data/keystore/r;->U(Landroid/content/Context;)Lcom/cmcm/safewallet/data/keystore/r;
invoke-static {p1}, Lcom/cmcm/safewallet/data/keystore/r;->bu(Ljava/lang/String;)Lcom/cmcm/safewallet/data/keystore/q;
move-result-object v0
check-cast v0, Lcom/cmcm/safewallet/data/keystore/HDThresholdQAKeystore;
:try_end_17
.catch Lcom/cmcm/safewallet/data/keystore/KeystoreException; {:try_start_a .. :try_end_17} :catch_60
.line 419
:try_start_17
new-instance v3, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;
invoke-direct {v3}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;-><init>()V
.line 8147
iget-object v1, v0, Lcom/cmcm/safewallet/data/keystore/HDThresholdQAKeystore;->WU:Ljava/lang/String;
.line 420
invoke-virtual {v3, v1}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;->setSwuid(Ljava/lang/String;)Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;
.line 421
invoke-interface {p0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v4
:goto_25
invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_52
invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;
.line 422
invoke-virtual {v1}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;->getPath()Ljava/lang/String;
move-result-object v5
invoke-virtual {v5}, Ljava/lang/String;->getBytes()[B
move-result-object v5
invoke-static {v5}, Lorg/bitcoinj/core/Base58;->encode([B)Ljava/lang/String;
move-result-object v5
.line 423
invoke-virtual {v1, v5}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;->setPath(Ljava/lang/String;)Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;
:try_end_40
.catch Lcom/cmcm/safewallet/data/keystore/KeystoreException; {:try_start_17 .. :try_end_40} :catch_41
goto :goto_25
.line 428
:catch_41
move-exception v1
move-object v6, v1
move-object v1, v0
move-object v0, v6
:goto_45
invoke-virtual {v0}, Lcom/cmcm/safewallet/data/keystore/KeystoreException;->printStackTrace()V
.line 430
if-nez v1, :cond_5e
.line 431
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/hdwallet/exception/SyncCloudDataFailException;
const-string v1, " Not Exist Wallet Name "
invoke-direct {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/hdwallet/exception/SyncCloudDataFailException;-><init>(Ljava/lang/String;)V
throw v0
.line 425
:cond_52
:try_start_52
invoke-virtual {v3, p0}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;->setPaths(Ljava/util/List;)Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;
.line 426
invoke-static {}, Lcom/cmcm/safewallet/data/cloudwalletinfo/a;->fF()Lcom/cmcm/safewallet/data/cloudwalletinfo/a;
move-result-object v1
invoke-virtual {v1, v3}, Lcom/cmcm/safewallet/data/cloudwalletinfo/a;->c(Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;)Z
:try_end_5c
.catch Lcom/cmcm/safewallet/data/keystore/KeystoreException; {:try_start_52 .. :try_end_5c} :catch_41
move-result v0
goto :goto_8
:cond_5e
move v0, v2
.line 433
goto :goto_8
.line 428
:catch_60
move-exception v0
goto :goto_45
.end method
.method public static a(Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)Z
.registers 10
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List",
"<",
"Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;",
">;",
"Ljava/lang/String;",
"Ljava/lang/String;",
")Z"
}
.end annotation
.prologue
const/4 v2, 0x0
.line 440
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_9
move v0, v2
.line 468
:goto_8
return v0
.line 445
:cond_9
:try_start_9
invoke-static {}, Lcom/cmcm/safewallet/entry/WalletApp;->lO()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Lcom/cmcm/safewallet/data/keystore/r;->U(Landroid/content/Context;)Lcom/cmcm/safewallet/data/keystore/r;
invoke-static {p1}, Lcom/cmcm/safewallet/data/keystore/r;->bu(Ljava/lang/String;)Lcom/cmcm/safewallet/data/keystore/q;
move-result-object v0
check-cast v0, Lcom/cmcm/safewallet/data/keystore/HDThresholdQAKeystore;
.line 446
new-instance v3, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;
invoke-direct {v3}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;-><init>()V
.line 9147
iget-object v1, v0, Lcom/cmcm/safewallet/data/keystore/HDThresholdQAKeystore;->WU:Ljava/lang/String;
.line 447
invoke-virtual {v3, v1}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;->setSwuid(Ljava/lang/String;)Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;
.line 448
invoke-static {v0, p2}, Lcom/cmcm/safewallet/utils/b;->a(Lcom/cmcm/safewallet/data/keystore/ai;Ljava/lang/String;)Landroid/util/Pair;
move-result-object v1
.line 449
iget-object v0, v1, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast v0, Ljava/lang/String;
.line 450
iget-object v1, v1, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v1, Ljava/lang/String;
.line 451
invoke-virtual {v3, v1}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;->setSwuid(Ljava/lang/String;)Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;
.line 452
sget-object v1, Lorg/bitcoinj/core/Utils;->HEX:Lcom/google/common/io/BaseEncoding;
invoke-virtual {v1, v0}, Lcom/google/common/io/BaseEncoding;->m(Ljava/lang/CharSequence;)[B
move-result-object v0
.line 10031
invoke-static {v0}, Lorg/bitcoinj/core/ECKey;->fromPrivate([B)Lorg/bitcoinj/core/ECKey;
move-result-object v1
.line 453
invoke-interface {p0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v4
:goto_3d
invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_7b
invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;
.line 454
invoke-virtual {v0}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;->getPath()Ljava/lang/String;
move-result-object v5
invoke-virtual {v5}, Ljava/lang/String;->getBytes()[B
move-result-object v5
invoke-static {v5}, Lorg/bitcoinj/core/Base58;->encode([B)Ljava/lang/String;
move-result-object v5
.line 455
invoke-virtual {v0, v5}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;->setPath(Ljava/lang/String;)Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;
.line 456
invoke-static {v5, v1}, Lcom/cmcm/safewallet/utils/am;->a(Ljava/lang/String;Lorg/bitcoinj/core/ECKey;)Ljava/lang/String;
move-result-object v5
invoke-virtual {v0, v5}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;->setSign(Ljava/lang/String;)Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;
.line 457
sget-object v5, Lorg/bitcoinj/core/Utils;->HEX:Lcom/google/common/io/BaseEncoding;
invoke-static {}, Lcom/cmcm/safewallet/data/keystore/al;->randomSalt()[B
move-result-object v6
invoke-virtual {v5, v6}, Lcom/google/common/io/BaseEncoding;->encode([B)Ljava/lang/String;
move-result-object v5
.line 458
invoke-static {v5, v1}, Lcom/cmcm/safewallet/utils/am;->a(Ljava/lang/String;Lorg/bitcoinj/core/ECKey;)Ljava/lang/String;
move-result-object v6
.line 459
invoke-virtual {v0, v5}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;->setRandomSalt(Ljava/lang/String;)Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;
move-result-object v0
invoke-virtual {v0, v6}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;->setSignedSalt(Ljava/lang/String;)Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;
:try_end_74
.catch Lcom/cmcm/safewallet/data/keystore/KeystoreException; {:try_start_9 .. :try_end_74} :catch_75
goto :goto_3d
.line 466
:catch_75
move-exception v0
invoke-virtual {v0}, Lcom/cmcm/safewallet/data/keystore/KeystoreException;->printStackTrace()V
move v0, v2
.line 468
goto :goto_8
.line 461
:cond_7b
:try_start_7b
invoke-virtual {v3, p0}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;->setPaths(Ljava/util/List;)Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;
.line 462
invoke-static {}, Lcom/cmcm/safewallet/data/cloudwalletinfo/a;->fF()Lcom/cmcm/safewallet/data/cloudwalletinfo/a;
move-result-object v0
invoke-virtual {v0, v3}, Lcom/cmcm/safewallet/data/cloudwalletinfo/a;->b(Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;)Z
move-result v0
.line 463
const-wide/16 v4, 0xbb8
invoke-static {v4, v5}, Landroid/os/SystemClock;->sleep(J)V
:try_end_8b
.catch Lcom/cmcm/safewallet/data/keystore/KeystoreException; {:try_start_7b .. :try_end_8b} :catch_75
goto/16 :goto_8
.end method
.method public static aY(Ljava/lang/String;)Lcom/cmcm/safewallet/data/ctrl/CloudWalletManager$CheckResult;
.registers 10
.prologue
const/4 v7, 0x1
.line 216
invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_d
.line 217
new-instance v1, Lcom/cmcm/safewallet/data/ctrl/CloudWalletManager$CheckResult;
invoke-direct {v1}, Lcom/cmcm/safewallet/data/ctrl/CloudWalletManager$CheckResult;-><init>()V
.line 240
:goto_c
return-object v1
.line 219
:cond_d
const/4 v1, 0x0
.line 221
:try_start_e
invoke-static {}, Lcom/cmcm/safewallet/entry/WalletApp;->lO()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Lcom/cmcm/safewallet/data/keystore/r;->U(Landroid/content/Context;)Lcom/cmcm/safewallet/data/keystore/r;
invoke-static {p0}, Lcom/cmcm/safewallet/data/keystore/r;->bu(Ljava/lang/String;)Lcom/cmcm/safewallet/data/keystore/q;
move-result-object v0
check-cast v0, Lcom/cmcm/safewallet/data/keystore/HDThresholdQAKeystore;
:try_end_1b
.catch Lcom/cmcm/safewallet/data/keystore/KeystoreException; {:try_start_e .. :try_end_1b} :catch_26
move-object v1, v0
.line 225
:goto_1c
if-nez v1, :cond_2b
.line 226
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/hdwallet/exception/SyncCloudDataFailException;
const-string v1, " Not Exist Wallet Name "
invoke-direct {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/hdwallet/exception/SyncCloudDataFailException;-><init>(Ljava/lang/String;)V
throw v0
.line 223
:catch_26
move-exception v0
invoke-virtual {v0}, Lcom/cmcm/safewallet/data/keystore/KeystoreException;->printStackTrace()V
goto :goto_1c
.line 1147
:cond_2b
iget-object v2, v1, Lcom/cmcm/safewallet/data/keystore/HDThresholdQAKeystore;->WU:Ljava/lang/String;
.line 231
invoke-static {}, Lcom/cmcm/safewallet/data/cloudwalletinfo/a;->fF()Lcom/cmcm/safewallet/data/cloudwalletinfo/a;
move-result-object v0
invoke-virtual {v0, v2}, Lcom/cmcm/safewallet/data/cloudwalletinfo/a;->ad(Ljava/lang/String;)Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfoWrapper;
move-result-object v0
.line 1265
if-nez v0, :cond_3d
.line 1267
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 1271
:cond_3d
invoke-virtual {v0}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfoWrapper;->getData()Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;
move-result-object v3
if-nez v3, :cond_4c
move v2, v7
.line 232
:cond_44
:goto_44
if-nez v2, :cond_f7
.line 233
new-instance v1, Lcom/cmcm/safewallet/data/ctrl/CloudWalletManager$CheckResult;
invoke-direct {v1}, Lcom/cmcm/safewallet/data/ctrl/CloudWalletManager$CheckResult;-><init>()V
goto :goto_c
.line 1275
:cond_4c
invoke-virtual {v0}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfoWrapper;->getData()Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;
move-result-object v3
.line 1276
invoke-virtual {v3}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;->getSwuid()Ljava/lang/String;
move-result-object v4
.line 1278
invoke-static {v4}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v5
if-eqz v5, :cond_62
.line 1279
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/hdwallet/exception/SyncCloudDataFailException;
const-string v1, " Block Chain Id Not Exist "
invoke-direct {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/hdwallet/exception/SyncCloudDataFailException;-><init>(Ljava/lang/String;)V
throw v0
.line 1282
:cond_62
invoke-virtual {v2, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v4
if-nez v4, :cond_6e
.line 1283
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/hdwallet/exception/InvalidCloudDataException;
invoke-direct {v0}, Lcom/cmcm/safewallet/data/coinprovider/hdwallet/exception/InvalidCloudDataException;-><init>()V
throw v0
.line 1285
:cond_6e
sget-object v4, Lcom/cmcm/safewallet/data/keystore/aj;->XF:Ljava/lang/String;
invoke-virtual {v4}, Ljava/lang/String;->length()I
move-result v4
.line 1286
sget-object v5, Lcom/cmcm/safewallet/data/keystore/aj;->XF:Ljava/lang/String;
invoke-virtual {v2, v5}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v5
.line 1288
if-nez v5, :cond_84
.line 1289
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/hdwallet/exception/SyncCloudDataFailException;
const-string v1, " Block Chain Id Invalid Format "
invoke-direct {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/hdwallet/exception/SyncCloudDataFailException;-><init>(Ljava/lang/String;)V
throw v0
.line 1291
:cond_84
invoke-virtual {v2, v4}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v2
.line 1293
invoke-static {v2}, Lorg/bitcoinj/core/Base58;->decode(Ljava/lang/String;)[B
move-result-object v2
.line 1294
if-nez v2, :cond_96
.line 1295
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/hdwallet/exception/SyncCloudDataFailException;
const-string v1, " Public Key Build Fail "
invoke-direct {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/hdwallet/exception/SyncCloudDataFailException;-><init>(Ljava/lang/String;)V
throw v0
.line 2021
:cond_96
invoke-static {v2}, Lorg/bitcoinj/core/ECKey;->fromPublicOnly([B)Lorg/bitcoinj/core/ECKey;
move-result-object v4
.line 1298
invoke-virtual {v3}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;->getPaths()Ljava/util/List;
move-result-object v2
.line 1299
if-eqz v2, :cond_14a
.line 1301
invoke-interface {v2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v5
move v2, v7
:goto_a5
invoke-interface {v5}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_44
invoke-interface {v5}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;
.line 1302
invoke-virtual {v2}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;->getPath()Ljava/lang/String;
move-result-object v6
.line 1303
invoke-virtual {v2}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;->getSign()Ljava/lang/String;
move-result-object v3
.line 1304
invoke-static {v6}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v8
if-nez v8, :cond_c5
invoke-static {v3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v8
if-eqz v8, :cond_cb
.line 1305
:cond_c5
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/hdwallet/exception/InvalidCloudDataException;
invoke-direct {v0}, Lcom/cmcm/safewallet/data/coinprovider/hdwallet/exception/InvalidCloudDataException;-><init>()V
throw v0
.line 2042
:cond_cb
sget-object v8, Lorg/bitcoinj/core/Utils;->HEX:Lcom/google/common/io/BaseEncoding;
invoke-virtual {v8, v3}, Lcom/google/common/io/BaseEncoding;->m(Ljava/lang/CharSequence;)[B
move-result-object v3
invoke-static {v3}, Lorg/bitcoinj/core/ECKey$ECDSASignature;->decodeFromDER([B)Lorg/bitcoinj/core/ECKey$ECDSASignature;
move-result-object v3
.line 2043
invoke-virtual {v6}, Ljava/lang/String;->getBytes()[B
move-result-object v8
invoke-static {v8}, Lorg/bitcoinj/core/Sha256Hash;->of([B)Lorg/bitcoinj/core/Sha256Hash;
move-result-object v8
invoke-virtual {v4, v8, v3}, Lorg/bitcoinj/core/ECKey;->verify(Lorg/bitcoinj/core/Sha256Hash;Lorg/bitcoinj/core/ECKey$ECDSASignature;)Z
move-result v3
.line 1309
if-nez v3, :cond_e9
.line 1310
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/hdwallet/exception/InvalidCloudDataException;
invoke-direct {v0}, Lcom/cmcm/safewallet/data/coinprovider/hdwallet/exception/InvalidCloudDataException;-><init>()V
throw v0
.line 1312
:cond_e9
new-instance v8, Ljava/lang/String;
invoke-static {v6}, Lorg/bitcoinj/core/Base58;->decode(Ljava/lang/String;)[B
move-result-object v6
invoke-direct {v8, v6}, Ljava/lang/String;-><init>([B)V
invoke-virtual {v2, v8}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;->setPath(Ljava/lang/String;)Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;
move v2, v3
.line 1324
goto :goto_a5
.line 235
:cond_f7
new-instance v2, Ljava/util/ArrayList;
invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
new-instance v3, Ljava/util/ArrayList;
invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
new-instance v4, Ljava/util/ArrayList;
invoke-direct {v4}, Ljava/util/ArrayList;-><init>()V
new-instance v5, Ljava/util/ArrayList;
invoke-direct {v5}, Ljava/util/ArrayList;-><init>()V
.line 236
invoke-static/range {v0 .. v5}, Lcom/cmcm/safewallet/data/ctrl/CloudWalletManager;->a(Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfoWrapper;Lcom/cmcm/safewallet/data/keystore/HDThresholdQAKeystore;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;)I
move-result v6
.line 2247
if-nez v0, :cond_117
.line 2249
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 2251
:cond_117
invoke-virtual {v0}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfoWrapper;->getData()Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;
move-result-object v0
.line 2252
if-eqz v0, :cond_148
.line 2257
invoke-virtual {v0}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;->getWalletType()Lcom/cmcm/safewallet/data/insurance/WalletType;
move-result-object v0
.line 2258
sget-object v1, Lcom/cmcm/safewallet/data/insurance/WalletType;->HARDWARE:Lcom/cmcm/safewallet/data/insurance/WalletType;
if-eq v0, v1, :cond_129
sget-object v1, Lcom/cmcm/safewallet/data/insurance/WalletType;->IOSHARDWARE:Lcom/cmcm/safewallet/data/insurance/WalletType;
if-ne v0, v1, :cond_148
.line 238
:cond_129
:goto_129
new-instance v1, Lcom/cmcm/safewallet/data/ctrl/CloudWalletManager$CheckResult;
invoke-direct/range {v1 .. v7}, Lcom/cmcm/safewallet/data/ctrl/CloudWalletManager$CheckResult;-><init>(Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;IZ)V
.line 239
const-string v0, "WalletInfo"
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, " checkNewData : "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1}, Lcom/cmcm/safewallet/data/ctrl/CloudWalletManager$CheckResult;->toString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
.line 3052
invoke-static {v0, v2}, Lcom/cmcm/safewallet/a/e;->d(Ljava/lang/String;Ljava/lang/String;)V
goto/16 :goto_c
.line 2258
:cond_148
const/4 v7, 0x0
goto :goto_129
:cond_14a
move v2, v7
goto/16 :goto_44
.end method
.method public static b(Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)Z
.registers 11
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List",
"<",
"Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;",
">;",
"Ljava/lang/String;",
"Ljava/lang/String;",
")Z"
}
.end annotation
.prologue
const/4 v3, 0x0
.line 475
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_9
move v0, v3
.line 502
:goto_8
return v0
.line 478
:cond_9
const/4 v1, 0x0
.line 480
:try_start_a
invoke-static {}, Lcom/cmcm/safewallet/entry/WalletApp;->lO()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Lcom/cmcm/safewallet/data/keystore/r;->U(Landroid/content/Context;)Lcom/cmcm/safewallet/data/keystore/r;
invoke-static {p1}, Lcom/cmcm/safewallet/data/keystore/r;->bu(Ljava/lang/String;)Lcom/cmcm/safewallet/data/keystore/q;
move-result-object v0
check-cast v0, Lcom/cmcm/safewallet/data/keystore/HDThresholdQAKeystore;
:try_end_17
.catch Lcom/cmcm/safewallet/data/keystore/KeystoreException; {:try_start_a .. :try_end_17} :catch_81
.line 481
:try_start_17
new-instance v4, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;
invoke-direct {v4}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;-><init>()V
.line 482
invoke-static {v0, p2}, Lcom/cmcm/safewallet/utils/b;->a(Lcom/cmcm/safewallet/data/keystore/ai;Ljava/lang/String;)Landroid/util/Pair;
move-result-object v2
.line 483
iget-object v1, v2, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast v1, Ljava/lang/String;
.line 484
iget-object v2, v2, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v2, Ljava/lang/String;
.line 485
invoke-virtual {v4, v2}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;->setSwuid(Ljava/lang/String;)Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;
.line 486
sget-object v2, Lorg/bitcoinj/core/Utils;->HEX:Lcom/google/common/io/BaseEncoding;
invoke-virtual {v2, v1}, Lcom/google/common/io/BaseEncoding;->m(Ljava/lang/CharSequence;)[B
move-result-object v1
.line 11031
invoke-static {v1}, Lorg/bitcoinj/core/ECKey;->fromPrivate([B)Lorg/bitcoinj/core/ECKey;
move-result-object v2
.line 487
invoke-interface {p0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v5
:goto_39
invoke-interface {v5}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_6d
invoke-interface {v5}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;
.line 488
invoke-virtual {v1}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;->getPath()Ljava/lang/String;
move-result-object v6
invoke-virtual {v6}, Ljava/lang/String;->getBytes()[B
move-result-object v6
invoke-static {v6}, Lorg/bitcoinj/core/Base58;->encode([B)Ljava/lang/String;
move-result-object v6
.line 489
invoke-virtual {v1, v6}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;->setPath(Ljava/lang/String;)Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;
.line 490
invoke-static {v6, v2}, Lcom/cmcm/safewallet/utils/am;->a(Ljava/lang/String;Lorg/bitcoinj/core/ECKey;)Ljava/lang/String;
move-result-object v6
invoke-virtual {v1, v6}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;->setSign(Ljava/lang/String;)Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo$PathToken;
:try_end_5b
.catch Lcom/cmcm/safewallet/data/keystore/KeystoreException; {:try_start_17 .. :try_end_5b} :catch_5c
goto :goto_39
.line 497
:catch_5c
move-exception v1
move-object v7, v1
move-object v1, v0
move-object v0, v7
:goto_60
invoke-virtual {v0}, Lcom/cmcm/safewallet/data/keystore/KeystoreException;->printStackTrace()V
.line 499
if-nez v1, :cond_7f
.line 500
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/hdwallet/exception/SyncCloudDataFailException;
const-string v1, " Not Exist Wallet Name "
invoke-direct {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/hdwallet/exception/SyncCloudDataFailException;-><init>(Ljava/lang/String;)V
throw v0
.line 492
:cond_6d
:try_start_6d
invoke-virtual {v4, p0}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;->setPaths(Ljava/util/List;)Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;
.line 493
invoke-static {}, Lcom/cmcm/safewallet/data/cloudwalletinfo/a;->fF()Lcom/cmcm/safewallet/data/cloudwalletinfo/a;
move-result-object v1
invoke-virtual {v1, v4}, Lcom/cmcm/safewallet/data/cloudwalletinfo/a;->a(Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;)Z
move-result v1
.line 494
const-wide/16 v4, 0xbb8
invoke-static {v4, v5}, Landroid/os/SystemClock;->sleep(J)V
:try_end_7d
.catch Lcom/cmcm/safewallet/data/keystore/KeystoreException; {:try_start_6d .. :try_end_7d} :catch_5c
move v0, v1
.line 495
goto :goto_8
:cond_7f
move v0, v3
.line 502
goto :goto_8
.line 497
:catch_81
move-exception v0
goto :goto_60
.end method
.method public static iV()Z
.registers 3
.prologue
.line 590
invoke-static {}, Lcom/cmcm/safewallet/utils/b;->uL()Ljava/lang/String;
move-result-object v0
.line 591
if-nez v0, :cond_e
.line 592
new-instance v0, Lcom/cmcm/safewallet/data/exception/SWException;
const-string v1, "not exist blockchainid"
invoke-direct {v0, v1}, Lcom/cmcm/safewallet/data/exception/SWException;-><init>(Ljava/lang/String;)V
throw v0
.line 595
:cond_e
invoke-static {}, Lcom/cmcm/safewallet/data/cloudwalletinfo/a;->fF()Lcom/cmcm/safewallet/data/cloudwalletinfo/a;
move-result-object v1
invoke-virtual {v1, v0}, Lcom/cmcm/safewallet/data/cloudwalletinfo/a;->ad(Ljava/lang/String;)Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfoWrapper;
move-result-object v0
.line 596
if-nez v0, :cond_1e
.line 597
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 599
:cond_1e
invoke-virtual {v0}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfoWrapper;->getData()Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;
move-result-object v0
.line 600
if-eqz v0, :cond_36
invoke-virtual {v0}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;->getWalletType()Lcom/cmcm/safewallet/data/insurance/WalletType;
move-result-object v1
sget-object v2, Lcom/cmcm/safewallet/data/insurance/WalletType;->HARDWARE:Lcom/cmcm/safewallet/data/insurance/WalletType;
if-eq v1, v2, :cond_34
.line 601
invoke-virtual {v0}, Lcom/cmcm/safewallet/data/cloudwalletinfo/CloudWalletInfo;->getWalletType()Lcom/cmcm/safewallet/data/insurance/WalletType;
move-result-object v0
sget-object v1, Lcom/cmcm/safewallet/data/insurance/WalletType;->IOSHARDWARE:Lcom/cmcm/safewallet/data/insurance/WalletType;
if-ne v0, v1, :cond_36
.line 602
:cond_34
const/4 v0, 0x1
.line 604
:goto_35
return v0
:cond_36
const/4 v0, 0x0
goto :goto_35
.end method