--- /home/hans/code/fdroid/data/tmp/ru.valle.btc_250.apk +++ /home/hans/code/fdroid/data/tmp/sigcp_ru.valle.btc_250.apk ├── zipinfo {} │ @@ -1,35 +1,35 @@ │ -Zip file size: 4060900 bytes, number of entries: 33 │ +Zip file size: 4060544 bytes, number of entries: 33 │ -rw---- 2.0 fat 2458 bl defN 15-Dec-21 15:44 META-INF/MANIFEST.MF │ -rw---- 2.0 fat 2579 bl defN 15-Dec-21 15:44 META-INF/A55E509E.SF │ -rw---- 2.0 fat 1326 bl defN 15-Dec-21 15:44 META-INF/A55E509E.RSA │ -rw---- 2.0 fat 41 bl defN 15-Dec-21 14:54 META-INF/buildserverid │ -rw---- 2.0 fat 41 bl defN 15-Dec-21 14:54 META-INF/fdroidserverid │ --rw---- 2.0 fat 3500 bX defN 15-Dec-21 14:54 AndroidManifest.xml │ --rw---- 2.0 fat 2468 bl defN 15-Dec-21 14:54 assets/LICENSE │ --rw---- 1.0 fat 484 b- stor 15-Dec-21 14:52 res/drawable-hdpi-v4/ic_action_settings.png │ --rw---- 1.0 fat 976 b- stor 15-Dec-21 14:52 res/drawable-hdpi-v4/qr.png │ --rw---- 1.0 fat 348 b- stor 15-Dec-21 14:52 res/drawable-mdpi-v4/ic_action_settings.png │ --rw---- 1.0 fat 613 b- stor 15-Dec-21 14:52 res/drawable-xhdpi-v4/ic_action_settings.png │ --rw---- 1.0 fat 1018 b- stor 15-Dec-21 14:52 res/drawable-xhdpi-v4/qr.png │ --rw---- 1.0 fat 897 b- stor 15-Dec-21 14:52 res/drawable-xxhdpi-v4/ic_action_settings.png │ --rw---- 1.0 fat 1096 b- stor 15-Dec-21 14:52 res/drawable-xxhdpi-v4/qr.png │ --rw---- 2.0 fat 1776 bl defN 15-Dec-21 14:54 res/layout/address_qr.xml │ --rw---- 2.0 fat 9616 bl defN 15-Dec-21 14:54 res/layout/main.xml │ --rw---- 2.0 fat 1988 bl defN 15-Dec-21 14:54 res/layout/private_key_qr.xml │ --rw---- 2.0 fat 540 bl defN 15-Dec-21 14:54 res/menu-v11/main.xml │ --rw---- 2.0 fat 484 bl defN 15-Dec-21 14:54 res/menu/main.xml │ --rw---- 1.0 fat 3172 b- stor 15-Dec-21 14:52 res/mipmap-xhdpi-v4/ic_launcher.png │ --rw---- 1.0 fat 4517 b- stor 15-Dec-21 14:52 res/mipmap-xxhdpi-v4/ic_launcher.png │ --rw---- 1.0 fat 5750 b- stor 15-Dec-21 14:52 res/mipmap-xxxhdpi-v4/ic_launcher.png │ --rw---- 2.0 fat 984 bl defN 15-Dec-21 14:54 res/xml/preferences.xml │ --rw---- 1.0 fat 27788 b- stor 15-Dec-21 14:52 resources.arsc │ --rw---- 2.0 fat 3206624 bl defN 15-Dec-21 14:54 classes.dex │ --rw---- 2.0 fat 95524 bl defN 15-Dec-21 14:54 lib/armeabi-v7a/libzbarjni.so │ --rw---- 2.0 fat 885972 bl defN 15-Dec-21 14:54 lib/armeabi-v7a/libiconv.so │ --rw---- 2.0 fat 99612 bl defN 15-Dec-21 14:54 lib/armeabi/libzbarjni.so │ --rw---- 2.0 fat 890060 bl defN 15-Dec-21 14:54 lib/armeabi/libiconv.so │ --rw---- 2.0 fat 181800 bl defN 15-Dec-21 14:54 lib/arm64-v8a/libzbarjni.so │ --rw---- 2.0 fat 939480 bl defN 15-Dec-21 14:54 lib/arm64-v8a/libiconv.so │ --rw---- 2.0 fat 165080 bl defN 15-Dec-21 14:54 lib/x86/libzbarjni.so │ --rw---- 2.0 fat 930924 bl defN 15-Dec-21 14:54 lib/x86/libiconv.so │ -33 files, 7469536 bytes uncompressed, 4056271 bytes compressed: 45.7% │ +-rw---- 2.0 fat 3500 bX defN 16-Sep-07 09:01 AndroidManifest.xml │ +-rw---- 2.0 fat 2468 bl defN 16-Sep-07 09:01 assets/LICENSE │ +-rw---- 1.0 fat 484 b- stor 16-Sep-07 09:00 res/drawable-hdpi-v4/ic_action_settings.png │ +-rw---- 1.0 fat 976 b- stor 16-Sep-07 09:00 res/drawable-hdpi-v4/qr.png │ +-rw---- 1.0 fat 348 b- stor 16-Sep-07 09:00 res/drawable-mdpi-v4/ic_action_settings.png │ +-rw---- 1.0 fat 613 b- stor 16-Sep-07 09:00 res/drawable-xhdpi-v4/ic_action_settings.png │ +-rw---- 1.0 fat 1018 b- stor 16-Sep-07 09:00 res/drawable-xhdpi-v4/qr.png │ +-rw---- 1.0 fat 897 b- stor 16-Sep-07 09:00 res/drawable-xxhdpi-v4/ic_action_settings.png │ +-rw---- 1.0 fat 1096 b- stor 16-Sep-07 09:00 res/drawable-xxhdpi-v4/qr.png │ +-rw---- 2.0 fat 1776 bl defN 16-Sep-07 09:01 res/layout/address_qr.xml │ +-rw---- 2.0 fat 9616 bl defN 16-Sep-07 09:01 res/layout/main.xml │ +-rw---- 2.0 fat 1988 bl defN 16-Sep-07 09:01 res/layout/private_key_qr.xml │ +-rw---- 2.0 fat 540 bl defN 16-Sep-07 09:01 res/menu-v11/main.xml │ +-rw---- 2.0 fat 484 bl defN 16-Sep-07 09:01 res/menu/main.xml │ +-rw---- 1.0 fat 3172 b- stor 16-Sep-07 09:00 res/mipmap-xhdpi-v4/ic_launcher.png │ +-rw---- 1.0 fat 4517 b- stor 16-Sep-07 09:00 res/mipmap-xxhdpi-v4/ic_launcher.png │ +-rw---- 1.0 fat 5750 b- stor 16-Sep-07 09:00 res/mipmap-xxxhdpi-v4/ic_launcher.png │ +-rw---- 2.0 fat 984 bl defN 16-Sep-07 09:01 res/xml/preferences.xml │ +-rw---- 1.0 fat 27788 b- stor 16-Sep-07 09:00 resources.arsc │ +-rw---- 2.0 fat 3205836 bl defN 16-Sep-07 09:01 classes.dex │ +-rw---- 2.0 fat 939480 bl defN 16-Sep-07 09:01 lib/arm64-v8a/libiconv.so │ +-rw---- 2.0 fat 181800 bl defN 16-Sep-07 09:01 lib/arm64-v8a/libzbarjni.so │ +-rw---- 2.0 fat 95524 bl defN 16-Sep-07 09:01 lib/armeabi-v7a/libzbarjni.so │ +-rw---- 2.0 fat 885972 bl defN 16-Sep-07 09:01 lib/armeabi-v7a/libiconv.so │ +-rw---- 2.0 fat 930924 bl defN 16-Sep-07 09:01 lib/x86/libiconv.so │ +-rw---- 2.0 fat 165080 bl defN 16-Sep-07 09:01 lib/x86/libzbarjni.so │ +-rw---- 2.0 fat 99612 bl defN 16-Sep-07 09:01 lib/armeabi/libzbarjni.so │ +-rw---- 2.0 fat 890060 bl defN 16-Sep-07 09:01 lib/armeabi/libiconv.so │ +33 files, 7468748 bytes uncompressed, 4056020 bytes compressed: 45.7% ├── AndroidManifest.xml (decoded) │ @@ -1,9 +1,9 @@ │ │ - ├── smali/android/support/v4/app/BundleCompatDonut.smali │ @@ -96,17 +96,17 @@ │ │ invoke-virtual {v1, p0, v3}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; │ │ move-result-object v1 │ │ check-cast v1, Landroid/os/IBinder; │ :try_end_1 │ - .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_1 .. :try_end_1} :catch_2 │ - .catch Ljava/lang/IllegalAccessException; {:try_start_1 .. :try_end_1} :catch_3 │ - .catch Ljava/lang/IllegalArgumentException; {:try_start_1 .. :try_end_1} :catch_1 │ + .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_1 .. :try_end_1} :catch_3 │ + .catch Ljava/lang/IllegalAccessException; {:try_start_1 .. :try_end_1} :catch_1 │ + .catch Ljava/lang/IllegalArgumentException; {:try_start_1 .. :try_end_1} :catch_2 │ │ .line 58 │ :goto_1 │ return-object v1 │ │ .line 43 │ :catch_0 │ @@ -233,17 +233,17 @@ │ │ const/4 v3, 0x1 │ │ aput-object p2, v2, v3 │ │ invoke-virtual {v1, p0, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; │ :try_end_1 │ - .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_1 .. :try_end_1} :catch_2 │ - .catch Ljava/lang/IllegalAccessException; {:try_start_1 .. :try_end_1} :catch_3 │ - .catch Ljava/lang/IllegalArgumentException; {:try_start_1 .. :try_end_1} :catch_1 │ + .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_1 .. :try_end_1} :catch_3 │ + .catch Ljava/lang/IllegalAccessException; {:try_start_1 .. :try_end_1} :catch_1 │ + .catch Ljava/lang/IllegalArgumentException; {:try_start_1 .. :try_end_1} :catch_2 │ │ .line 82 │ :cond_1 │ :goto_1 │ return-void │ │ .line 67 ├── smali/com/d_project/qrcode/QR8BitByte.smali │ @@ -56,82 +56,71 @@ │ │ invoke-direct {v1, v2}, Ljava/lang/Error;->(Ljava/lang/String;)V │ │ throw v1 │ .end method │ │ .method public write(Lcom/d_project/qrcode/BitBuffer;)V │ - .locals 8 │ + .locals 6 │ .param p1, "buffer" # Lcom/d_project/qrcode/BitBuffer; │ │ .prologue │ .line 19 │ :try_start_0 │ invoke-virtual {p0}, Lcom/d_project/qrcode/QR8BitByte;->getData()Ljava/lang/String; │ │ - move-result-object v6 │ + move-result-object v3 │ │ - const-string v7, "SJIS" │ + const-string v4, "SJIS" │ │ - invoke-virtual {v6, v7}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B │ + invoke-virtual {v3, v4}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B │ │ - move-result-object v2 │ + move-result-object v1 │ │ .line 21 │ - .local v2, "data":[B │ - move-object v1, v2 │ + .local v1, "data":[B │ + array-length v4, v1 │ │ - .local v1, "arr$":[B │ - array-length v5, v1 │ + const/4 v3, 0x0 │ │ - .local v5, "len$":I │ - const/4 v4, 0x0 │ - │ - .local v4, "i$":I │ :goto_0 │ - if-ge v4, v5, :cond_0 │ + if-ge v3, v4, :cond_0 │ │ - aget-byte v0, v1, v4 │ + aget-byte v0, v1, v3 │ │ .line 22 │ .local v0, "aData":B │ - const/16 v6, 0x8 │ + const/16 v5, 0x8 │ │ - invoke-virtual {p1, v0, v6}, Lcom/d_project/qrcode/BitBuffer;->put(II)V │ + invoke-virtual {p1, v0, v5}, Lcom/d_project/qrcode/BitBuffer;->put(II)V │ :try_end_0 │ .catch Ljava/io/UnsupportedEncodingException; {:try_start_0 .. :try_end_0} :catch_0 │ │ .line 21 │ - add-int/lit8 v4, v4, 0x1 │ + add-int/lit8 v3, v3, 0x1 │ │ goto :goto_0 │ │ .line 25 │ .end local v0 # "aData":B │ - .end local v1 # "arr$":[B │ - .end local v2 # "data":[B │ - .end local v4 # "i$":I │ - .end local v5 # "len$":I │ + .end local v1 # "data":[B │ :catch_0 │ - move-exception v3 │ + move-exception v2 │ │ .line 26 │ - .local v3, "e":Ljava/io/UnsupportedEncodingException; │ - new-instance v6, Ljava/lang/Error; │ + .local v2, "e":Ljava/io/UnsupportedEncodingException; │ + new-instance v3, Ljava/lang/Error; │ │ - invoke-virtual {v3}, Ljava/io/UnsupportedEncodingException;->getMessage()Ljava/lang/String; │ + invoke-virtual {v2}, Ljava/io/UnsupportedEncodingException;->getMessage()Ljava/lang/String; │ │ - move-result-object v7 │ + move-result-object v4 │ │ - invoke-direct {v6, v7}, Ljava/lang/Error;->(Ljava/lang/String;)V │ + invoke-direct {v3, v4}, Ljava/lang/Error;->(Ljava/lang/String;)V │ │ - throw v6 │ + throw v3 │ │ .line 28 │ - .end local v3 # "e":Ljava/io/UnsupportedEncodingException; │ - .restart local v1 # "arr$":[B │ - .restart local v2 # "data":[B │ - .restart local v4 # "i$":I │ - .restart local v5 # "len$":I │ + .end local v2 # "e":Ljava/io/UnsupportedEncodingException; │ + .restart local v1 # "data":[B │ :cond_0 │ return-void │ .end method ├── smali/com/d_project/qrcode/QRCode.smali │ @@ -70,691 +70,683 @@ │ invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z │ │ .line 68 │ return-void │ .end method │ │ .method private static createBytes(Lcom/d_project/qrcode/BitBuffer;[Lcom/d_project/qrcode/RSBlock;)[B │ - .locals 27 │ + .locals 24 │ .param p0, "buffer" # Lcom/d_project/qrcode/BitBuffer; │ .param p1, "rsBlocks" # [Lcom/d_project/qrcode/RSBlock; │ │ .prologue │ .line 347 │ - const/16 v18, 0x0 │ + const/4 v15, 0x0 │ │ .line 349 │ - .local v18, "offset":I │ - const/4 v14, 0x0 │ + .local v15, "offset":I │ + const/4 v11, 0x0 │ │ .line 350 │ - .local v14, "maxDcCount":I │ - const/4 v15, 0x0 │ + .local v11, "maxDcCount":I │ + const/4 v12, 0x0 │ │ .line 352 │ - .local v15, "maxEcCount":I │ + .local v12, "maxEcCount":I │ move-object/from16 v0, p1 │ │ array-length v0, v0 │ │ - move/from16 v24, v0 │ + move/from16 v21, v0 │ │ - move/from16 v0, v24 │ + move/from16 v0, v21 │ │ - new-array v6, v0, [[I │ + new-array v5, v0, [[I │ │ .line 353 │ - .local v6, "dcdata":[[I │ + .local v5, "dcdata":[[I │ move-object/from16 v0, p1 │ │ array-length v0, v0 │ │ - move/from16 v24, v0 │ + move/from16 v21, v0 │ │ - move/from16 v0, v24 │ + move/from16 v0, v21 │ │ - new-array v8, v0, [[I │ + new-array v7, v0, [[I │ │ .line 355 │ - .local v8, "ecdata":[[I │ - const/16 v19, 0x0 │ + .local v7, "ecdata":[[I │ + const/16 v16, 0x0 │ │ - .local v19, "r":I │ + .local v16, "r":I │ :goto_0 │ move-object/from16 v0, p1 │ │ array-length v0, v0 │ │ - move/from16 v24, v0 │ + move/from16 v21, v0 │ │ - move/from16 v0, v19 │ + move/from16 v0, v16 │ │ - move/from16 v1, v24 │ + move/from16 v1, v21 │ │ if-ge v0, v1, :cond_3 │ │ .line 357 │ - aget-object v24, p1, v19 │ + aget-object v21, p1, v16 │ │ - invoke-virtual/range {v24 .. v24}, Lcom/d_project/qrcode/RSBlock;->getDataCount()I │ + invoke-virtual/range {v21 .. v21}, Lcom/d_project/qrcode/RSBlock;->getDataCount()I │ │ - move-result v5 │ + move-result v4 │ │ .line 358 │ - .local v5, "dcCount":I │ - aget-object v24, p1, v19 │ + .local v4, "dcCount":I │ + aget-object v21, p1, v16 │ │ - invoke-virtual/range {v24 .. v24}, Lcom/d_project/qrcode/RSBlock;->getTotalCount()I │ + invoke-virtual/range {v21 .. v21}, Lcom/d_project/qrcode/RSBlock;->getTotalCount()I │ │ - move-result v24 │ + move-result v21 │ │ - sub-int v7, v24, v5 │ + sub-int v6, v21, v4 │ │ .line 360 │ - .local v7, "ecCount":I │ - invoke-static {v14, v5}, Ljava/lang/Math;->max(II)I │ + .local v6, "ecCount":I │ + invoke-static {v11, v4}, Ljava/lang/Math;->max(II)I │ │ - move-result v14 │ + move-result v11 │ │ .line 361 │ - invoke-static {v15, v7}, Ljava/lang/Math;->max(II)I │ + invoke-static {v12, v6}, Ljava/lang/Math;->max(II)I │ │ - move-result v15 │ + move-result v12 │ │ .line 363 │ - new-array v0, v5, [I │ + new-array v0, v4, [I │ │ - move-object/from16 v24, v0 │ + move-object/from16 v21, v0 │ │ - aput-object v24, v6, v19 │ + aput-object v21, v5, v16 │ │ .line 364 │ - const/4 v9, 0x0 │ + const/4 v8, 0x0 │ │ - .local v9, "i":I │ + .local v8, "i":I │ :goto_1 │ - aget-object v24, v6, v19 │ + aget-object v21, v5, v16 │ │ - move-object/from16 v0, v24 │ + move-object/from16 v0, v21 │ │ array-length v0, v0 │ │ - move/from16 v24, v0 │ + move/from16 v21, v0 │ │ - move/from16 v0, v24 │ + move/from16 v0, v21 │ │ - if-ge v9, v0, :cond_0 │ + if-ge v8, v0, :cond_0 │ │ .line 365 │ - aget-object v24, v6, v19 │ + aget-object v21, v5, v16 │ │ invoke-virtual/range {p0 .. p0}, Lcom/d_project/qrcode/BitBuffer;->getBuffer()[B │ │ - move-result-object v25 │ + move-result-object v22 │ │ - add-int v26, v9, v18 │ + add-int v23, v8, v15 │ │ - aget-byte v25, v25, v26 │ + aget-byte v22, v22, v23 │ │ - move/from16 v0, v25 │ + move/from16 v0, v22 │ │ and-int/lit16 v0, v0, 0xff │ │ - move/from16 v25, v0 │ + move/from16 v22, v0 │ │ - aput v25, v24, v9 │ + aput v22, v21, v8 │ │ .line 364 │ - add-int/lit8 v9, v9, 0x1 │ + add-int/lit8 v8, v8, 0x1 │ │ goto :goto_1 │ │ .line 367 │ :cond_0 │ - add-int v18, v18, v5 │ + add-int/2addr v15, v4 │ │ .line 369 │ - invoke-static {v7}, Lcom/d_project/qrcode/QRUtil;->getErrorCorrectPolynomial(I)Lcom/d_project/qrcode/Polynomial; │ + invoke-static {v6}, Lcom/d_project/qrcode/QRUtil;->getErrorCorrectPolynomial(I)Lcom/d_project/qrcode/Polynomial; │ │ - move-result-object v22 │ + move-result-object v19 │ │ .line 370 │ - .local v22, "rsPoly":Lcom/d_project/qrcode/Polynomial; │ - new-instance v20, Lcom/d_project/qrcode/Polynomial; │ + .local v19, "rsPoly":Lcom/d_project/qrcode/Polynomial; │ + new-instance v17, Lcom/d_project/qrcode/Polynomial; │ │ - aget-object v24, v6, v19 │ + aget-object v21, v5, v16 │ │ - invoke-virtual/range {v22 .. v22}, Lcom/d_project/qrcode/Polynomial;->getLength()I │ + invoke-virtual/range {v19 .. v19}, Lcom/d_project/qrcode/Polynomial;->getLength()I │ │ - move-result v25 │ + move-result v22 │ │ - add-int/lit8 v25, v25, -0x1 │ + add-int/lit8 v22, v22, -0x1 │ │ - move-object/from16 v0, v20 │ + move-object/from16 v0, v17 │ │ - move-object/from16 v1, v24 │ + move-object/from16 v1, v21 │ │ - move/from16 v2, v25 │ + move/from16 v2, v22 │ │ invoke-direct {v0, v1, v2}, Lcom/d_project/qrcode/Polynomial;->([II)V │ │ .line 372 │ - .local v20, "rawPoly":Lcom/d_project/qrcode/Polynomial; │ - move-object/from16 v0, v20 │ + .local v17, "rawPoly":Lcom/d_project/qrcode/Polynomial; │ + move-object/from16 v0, v17 │ │ - move-object/from16 v1, v22 │ + move-object/from16 v1, v19 │ │ invoke-virtual {v0, v1}, Lcom/d_project/qrcode/Polynomial;->mod(Lcom/d_project/qrcode/Polynomial;)Lcom/d_project/qrcode/Polynomial; │ │ - move-result-object v17 │ + move-result-object v14 │ │ .line 373 │ - .local v17, "modPoly":Lcom/d_project/qrcode/Polynomial; │ - invoke-virtual/range {v22 .. v22}, Lcom/d_project/qrcode/Polynomial;->getLength()I │ + .local v14, "modPoly":Lcom/d_project/qrcode/Polynomial; │ + invoke-virtual/range {v19 .. v19}, Lcom/d_project/qrcode/Polynomial;->getLength()I │ │ - move-result v24 │ + move-result v21 │ │ - add-int/lit8 v24, v24, -0x1 │ + add-int/lit8 v21, v21, -0x1 │ │ - move/from16 v0, v24 │ + move/from16 v0, v21 │ │ new-array v0, v0, [I │ │ - move-object/from16 v24, v0 │ + move-object/from16 v21, v0 │ │ - aput-object v24, v8, v19 │ + aput-object v21, v7, v16 │ │ .line 374 │ - const/4 v9, 0x0 │ + const/4 v8, 0x0 │ │ :goto_2 │ - aget-object v24, v8, v19 │ + aget-object v21, v7, v16 │ │ - move-object/from16 v0, v24 │ + move-object/from16 v0, v21 │ │ array-length v0, v0 │ │ - move/from16 v24, v0 │ + move/from16 v21, v0 │ │ - move/from16 v0, v24 │ + move/from16 v0, v21 │ │ - if-ge v9, v0, :cond_2 │ + if-ge v8, v0, :cond_2 │ │ .line 375 │ - invoke-virtual/range {v17 .. v17}, Lcom/d_project/qrcode/Polynomial;->getLength()I │ + invoke-virtual {v14}, Lcom/d_project/qrcode/Polynomial;->getLength()I │ │ - move-result v24 │ + move-result v21 │ │ - add-int v24, v24, v9 │ + add-int v21, v21, v8 │ │ - aget-object v25, v8, v19 │ + aget-object v22, v7, v16 │ │ - move-object/from16 v0, v25 │ + move-object/from16 v0, v22 │ │ array-length v0, v0 │ │ - move/from16 v25, v0 │ + move/from16 v22, v0 │ │ - sub-int v16, v24, v25 │ + sub-int v13, v21, v22 │ │ .line 376 │ - .local v16, "modIndex":I │ - aget-object v25, v8, v19 │ - │ - if-ltz v16, :cond_1 │ - │ - move-object/from16 v0, v17 │ + .local v13, "modIndex":I │ + aget-object v22, v7, v16 │ │ - move/from16 v1, v16 │ + if-ltz v13, :cond_1 │ │ - invoke-virtual {v0, v1}, Lcom/d_project/qrcode/Polynomial;->get(I)I │ + invoke-virtual {v14, v13}, Lcom/d_project/qrcode/Polynomial;->get(I)I │ │ - move-result v24 │ + move-result v21 │ │ :goto_3 │ - aput v24, v25, v9 │ + aput v21, v22, v8 │ │ .line 374 │ - add-int/lit8 v9, v9, 0x1 │ + add-int/lit8 v8, v8, 0x1 │ │ goto :goto_2 │ │ .line 376 │ :cond_1 │ - const/16 v24, 0x0 │ + const/16 v21, 0x0 │ │ goto :goto_3 │ │ .line 355 │ - .end local v16 # "modIndex":I │ + .end local v13 # "modIndex":I │ :cond_2 │ - add-int/lit8 v19, v19, 0x1 │ + add-int/lit8 v16, v16, 0x1 │ │ goto/16 :goto_0 │ │ .line 381 │ - .end local v5 # "dcCount":I │ - .end local v7 # "ecCount":I │ - .end local v9 # "i":I │ - .end local v17 # "modPoly":Lcom/d_project/qrcode/Polynomial; │ - .end local v20 # "rawPoly":Lcom/d_project/qrcode/Polynomial; │ - .end local v22 # "rsPoly":Lcom/d_project/qrcode/Polynomial; │ + .end local v4 # "dcCount":I │ + .end local v6 # "ecCount":I │ + .end local v8 # "i":I │ + .end local v14 # "modPoly":Lcom/d_project/qrcode/Polynomial; │ + .end local v17 # "rawPoly":Lcom/d_project/qrcode/Polynomial; │ + .end local v19 # "rsPoly":Lcom/d_project/qrcode/Polynomial; │ :cond_3 │ - const/16 v23, 0x0 │ + const/16 v20, 0x0 │ │ .line 382 │ - .local v23, "totalCodeCount":I │ - move-object/from16 v3, p1 │ + .local v20, "totalCodeCount":I │ + move-object/from16 v0, p1 │ + │ + array-length v0, v0 │ │ - .local v3, "arr$":[Lcom/d_project/qrcode/RSBlock; │ - array-length v13, v3 │ + move/from16 v22, v0 │ │ - .local v13, "len$":I │ - const/4 v10, 0x0 │ + const/16 v21, 0x0 │ │ - .local v10, "i$":I │ :goto_4 │ - if-ge v10, v13, :cond_4 │ + move/from16 v0, v21 │ + │ + move/from16 v1, v22 │ │ - aget-object v21, v3, v10 │ + if-ge v0, v1, :cond_4 │ + │ + aget-object v18, p1, v21 │ │ .line 383 │ - .local v21, "rsBlock":Lcom/d_project/qrcode/RSBlock; │ - invoke-virtual/range {v21 .. v21}, Lcom/d_project/qrcode/RSBlock;->getTotalCount()I │ + .local v18, "rsBlock":Lcom/d_project/qrcode/RSBlock; │ + invoke-virtual/range {v18 .. v18}, Lcom/d_project/qrcode/RSBlock;->getTotalCount()I │ │ - move-result v24 │ + move-result v23 │ │ - add-int v23, v23, v24 │ + add-int v20, v20, v23 │ │ .line 382 │ - add-int/lit8 v10, v10, 0x1 │ + add-int/lit8 v21, v21, 0x1 │ │ goto :goto_4 │ │ .line 386 │ - .end local v21 # "rsBlock":Lcom/d_project/qrcode/RSBlock; │ + .end local v18 # "rsBlock":Lcom/d_project/qrcode/RSBlock; │ :cond_4 │ - move/from16 v0, v23 │ + move/from16 v0, v20 │ │ - new-array v4, v0, [B │ + new-array v3, v0, [B │ │ .line 388 │ - .local v4, "data":[B │ - const/4 v11, 0x0 │ + .local v3, "data":[B │ + const/4 v9, 0x0 │ │ .line 390 │ - .local v11, "index":I │ - const/4 v9, 0x0 │ + .local v9, "index":I │ + const/4 v8, 0x0 │ │ - .restart local v9 # "i":I │ + .restart local v8 # "i":I │ :goto_5 │ - if-ge v9, v14, :cond_7 │ + if-ge v8, v11, :cond_7 │ │ .line 391 │ - const/16 v19, 0x0 │ + const/16 v16, 0x0 │ │ :goto_6 │ move-object/from16 v0, p1 │ │ array-length v0, v0 │ │ - move/from16 v24, v0 │ + move/from16 v21, v0 │ │ - move/from16 v0, v19 │ + move/from16 v0, v16 │ │ - move/from16 v1, v24 │ + move/from16 v1, v21 │ │ if-ge v0, v1, :cond_6 │ │ .line 392 │ - aget-object v24, v6, v19 │ + aget-object v21, v5, v16 │ │ - move-object/from16 v0, v24 │ + move-object/from16 v0, v21 │ │ array-length v0, v0 │ │ - move/from16 v24, v0 │ + move/from16 v21, v0 │ │ - move/from16 v0, v24 │ + move/from16 v0, v21 │ │ - if-ge v9, v0, :cond_5 │ + if-ge v8, v0, :cond_5 │ │ .line 393 │ - add-int/lit8 v12, v11, 0x1 │ + add-int/lit8 v10, v9, 0x1 │ │ - .end local v11 # "index":I │ - .local v12, "index":I │ - aget-object v24, v6, v19 │ + .end local v9 # "index":I │ + .local v10, "index":I │ + aget-object v21, v5, v16 │ │ - aget v24, v24, v9 │ + aget v21, v21, v8 │ │ - move/from16 v0, v24 │ + move/from16 v0, v21 │ │ int-to-byte v0, v0 │ │ - move/from16 v24, v0 │ + move/from16 v21, v0 │ │ - aput-byte v24, v4, v11 │ + aput-byte v21, v3, v9 │ │ - move v11, v12 │ + move v9, v10 │ │ .line 391 │ - .end local v12 # "index":I │ - .restart local v11 # "index":I │ + .end local v10 # "index":I │ + .restart local v9 # "index":I │ :cond_5 │ - add-int/lit8 v19, v19, 0x1 │ + add-int/lit8 v16, v16, 0x1 │ │ goto :goto_6 │ │ .line 390 │ :cond_6 │ - add-int/lit8 v9, v9, 0x1 │ + add-int/lit8 v8, v8, 0x1 │ │ goto :goto_5 │ │ .line 398 │ :cond_7 │ - const/4 v9, 0x0 │ + const/4 v8, 0x0 │ │ :goto_7 │ - if-ge v9, v15, :cond_a │ + if-ge v8, v12, :cond_a │ │ .line 399 │ - const/16 v19, 0x0 │ + const/16 v16, 0x0 │ │ :goto_8 │ move-object/from16 v0, p1 │ │ array-length v0, v0 │ │ - move/from16 v24, v0 │ + move/from16 v21, v0 │ │ - move/from16 v0, v19 │ + move/from16 v0, v16 │ │ - move/from16 v1, v24 │ + move/from16 v1, v21 │ │ if-ge v0, v1, :cond_9 │ │ .line 400 │ - aget-object v24, v8, v19 │ + aget-object v21, v7, v16 │ │ - move-object/from16 v0, v24 │ + move-object/from16 v0, v21 │ │ array-length v0, v0 │ │ - move/from16 v24, v0 │ + move/from16 v21, v0 │ │ - move/from16 v0, v24 │ + move/from16 v0, v21 │ │ - if-ge v9, v0, :cond_8 │ + if-ge v8, v0, :cond_8 │ │ .line 401 │ - add-int/lit8 v12, v11, 0x1 │ + add-int/lit8 v10, v9, 0x1 │ │ - .end local v11 # "index":I │ - .restart local v12 # "index":I │ - aget-object v24, v8, v19 │ + .end local v9 # "index":I │ + .restart local v10 # "index":I │ + aget-object v21, v7, v16 │ │ - aget v24, v24, v9 │ + aget v21, v21, v8 │ │ - move/from16 v0, v24 │ + move/from16 v0, v21 │ │ int-to-byte v0, v0 │ │ - move/from16 v24, v0 │ + move/from16 v21, v0 │ │ - aput-byte v24, v4, v11 │ + aput-byte v21, v3, v9 │ │ - move v11, v12 │ + move v9, v10 │ │ .line 399 │ - .end local v12 # "index":I │ - .restart local v11 # "index":I │ + .end local v10 # "index":I │ + .restart local v9 # "index":I │ :cond_8 │ - add-int/lit8 v19, v19, 0x1 │ + add-int/lit8 v16, v16, 0x1 │ │ goto :goto_8 │ │ .line 398 │ :cond_9 │ - add-int/lit8 v9, v9, 0x1 │ + add-int/lit8 v8, v8, 0x1 │ │ goto :goto_7 │ │ .line 406 │ :cond_a │ - return-object v4 │ + return-object v3 │ .end method │ │ .method public static createData(II[Lcom/d_project/qrcode/QRData;)[B │ - .locals 13 │ + .locals 12 │ .param p0, "typeNumber" # I │ .param p1, "errorCorrectLevel" # I │ .param p2, "dataArray" # [Lcom/d_project/qrcode/QRData; │ │ .prologue │ - const/16 v12, 0x8 │ + const/16 v11, 0x8 │ │ - const/4 v11, 0x4 │ + const/4 v10, 0x4 │ │ - const/4 v10, 0x0 │ + const/4 v6, 0x0 │ │ .line 296 │ invoke-static {p0, p1}, Lcom/d_project/qrcode/RSBlock;->getRSBlocks(II)[Lcom/d_project/qrcode/RSBlock; │ │ - move-result-object v6 │ + move-result-object v3 │ │ .line 298 │ - .local v6, "rsBlocks":[Lcom/d_project/qrcode/RSBlock; │ - new-instance v1, Lcom/d_project/qrcode/BitBuffer; │ + .local v3, "rsBlocks":[Lcom/d_project/qrcode/RSBlock; │ + new-instance v0, Lcom/d_project/qrcode/BitBuffer; │ │ - invoke-direct {v1}, Lcom/d_project/qrcode/BitBuffer;->()V │ + invoke-direct {v0}, Lcom/d_project/qrcode/BitBuffer;->()V │ │ .line 300 │ - .local v1, "buffer":Lcom/d_project/qrcode/BitBuffer; │ - move-object v0, p2 │ + .local v0, "buffer":Lcom/d_project/qrcode/BitBuffer; │ + array-length v7, p2 │ │ - .local v0, "arr$":[Lcom/d_project/qrcode/QRData; │ - array-length v4, v0 │ - │ - .local v4, "len$":I │ - const/4 v3, 0x0 │ + move v5, v6 │ │ - .local v3, "i$":I │ :goto_0 │ - if-ge v3, v4, :cond_0 │ + if-ge v5, v7, :cond_0 │ │ - aget-object v2, v0, v3 │ + aget-object v1, p2, v5 │ │ .line 301 │ - .local v2, "data":Lcom/d_project/qrcode/QRData; │ - invoke-virtual {v2}, Lcom/d_project/qrcode/QRData;->getMode()I │ + .local v1, "data":Lcom/d_project/qrcode/QRData; │ + invoke-virtual {v1}, Lcom/d_project/qrcode/QRData;->getMode()I │ │ move-result v8 │ │ - invoke-virtual {v1, v8, v11}, Lcom/d_project/qrcode/BitBuffer;->put(II)V │ + invoke-virtual {v0, v8, v10}, Lcom/d_project/qrcode/BitBuffer;->put(II)V │ │ .line 302 │ - invoke-virtual {v2}, Lcom/d_project/qrcode/QRData;->getLength()I │ + invoke-virtual {v1}, Lcom/d_project/qrcode/QRData;->getLength()I │ │ move-result v8 │ │ - invoke-virtual {v2, p0}, Lcom/d_project/qrcode/QRData;->getLengthInBits(I)I │ + invoke-virtual {v1, p0}, Lcom/d_project/qrcode/QRData;->getLengthInBits(I)I │ │ move-result v9 │ │ - invoke-virtual {v1, v8, v9}, Lcom/d_project/qrcode/BitBuffer;->put(II)V │ + invoke-virtual {v0, v8, v9}, Lcom/d_project/qrcode/BitBuffer;->put(II)V │ │ .line 303 │ - invoke-virtual {v2, v1}, Lcom/d_project/qrcode/QRData;->write(Lcom/d_project/qrcode/BitBuffer;)V │ + invoke-virtual {v1, v0}, Lcom/d_project/qrcode/QRData;->write(Lcom/d_project/qrcode/BitBuffer;)V │ │ .line 300 │ - add-int/lit8 v3, v3, 0x1 │ + add-int/lit8 v5, v5, 0x1 │ │ goto :goto_0 │ │ .line 306 │ - .end local v2 # "data":Lcom/d_project/qrcode/QRData; │ + .end local v1 # "data":Lcom/d_project/qrcode/QRData; │ :cond_0 │ - const/4 v7, 0x0 │ + const/4 v4, 0x0 │ │ .line 307 │ - .local v7, "totalDataCount":I │ - move-object v0, v6 │ + .local v4, "totalDataCount":I │ + array-length v7, v3 │ │ - .local v0, "arr$":[Lcom/d_project/qrcode/RSBlock; │ - array-length v4, v0 │ - │ - const/4 v3, 0x0 │ + move v5, v6 │ │ :goto_1 │ - if-ge v3, v4, :cond_1 │ + if-ge v5, v7, :cond_1 │ │ - aget-object v5, v0, v3 │ + aget-object v2, v3, v5 │ │ .line 308 │ - .local v5, "rsBlock":Lcom/d_project/qrcode/RSBlock; │ - invoke-virtual {v5}, Lcom/d_project/qrcode/RSBlock;->getDataCount()I │ + .local v2, "rsBlock":Lcom/d_project/qrcode/RSBlock; │ + invoke-virtual {v2}, Lcom/d_project/qrcode/RSBlock;->getDataCount()I │ │ move-result v8 │ │ - add-int/2addr v7, v8 │ + add-int/2addr v4, v8 │ │ .line 307 │ - add-int/lit8 v3, v3, 0x1 │ + add-int/lit8 v5, v5, 0x1 │ │ goto :goto_1 │ │ .line 311 │ - .end local v5 # "rsBlock":Lcom/d_project/qrcode/RSBlock; │ + .end local v2 # "rsBlock":Lcom/d_project/qrcode/RSBlock; │ :cond_1 │ - invoke-virtual {v1}, Lcom/d_project/qrcode/BitBuffer;->getLengthInBits()I │ + invoke-virtual {v0}, Lcom/d_project/qrcode/BitBuffer;->getLengthInBits()I │ │ - move-result v8 │ + move-result v5 │ │ - mul-int/lit8 v9, v7, 0x8 │ + mul-int/lit8 v7, v4, 0x8 │ │ - if-le v8, v9, :cond_2 │ + if-le v5, v7, :cond_2 │ │ .line 312 │ - new-instance v8, Ljava/lang/IllegalArgumentException; │ + new-instance v5, Ljava/lang/IllegalArgumentException; │ │ - new-instance v9, Ljava/lang/StringBuilder; │ + new-instance v6, Ljava/lang/StringBuilder; │ │ - invoke-direct {v9}, Ljava/lang/StringBuilder;->()V │ + invoke-direct {v6}, Ljava/lang/StringBuilder;->()V │ │ - const-string v10, "code length overflow. (" │ + const-string v7, "code length overflow. (" │ │ - invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v9 │ + move-result-object v6 │ │ - invoke-virtual {v1}, Lcom/d_project/qrcode/BitBuffer;->getLengthInBits()I │ + .line 313 │ + invoke-virtual {v0}, Lcom/d_project/qrcode/BitBuffer;->getLengthInBits()I │ │ - move-result v10 │ + move-result v7 │ │ - invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; │ + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; │ │ - move-result-object v9 │ + move-result-object v6 │ │ - const-string v10, ">" │ + const-string v7, ">" │ │ - invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v9 │ + move-result-object v6 │ │ - mul-int/lit8 v10, v7, 0x8 │ + mul-int/lit8 v7, v4, 0x8 │ │ - invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; │ + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; │ │ - move-result-object v9 │ + move-result-object v6 │ │ - const-string v10, "). typeNumber should be increased." │ + const-string v7, "). typeNumber should be increased." │ │ - invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v9 │ + move-result-object v6 │ │ - invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v9 │ + move-result-object v6 │ │ - invoke-direct {v8, v9}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V │ + invoke-direct {v5, v6}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V │ │ - throw v8 │ + throw v5 │ │ .line 319 │ :cond_2 │ - invoke-virtual {v1}, Lcom/d_project/qrcode/BitBuffer;->getLengthInBits()I │ + invoke-virtual {v0}, Lcom/d_project/qrcode/BitBuffer;->getLengthInBits()I │ │ - move-result v8 │ + move-result v5 │ │ - add-int/lit8 v8, v8, 0x4 │ + add-int/lit8 v5, v5, 0x4 │ │ - mul-int/lit8 v9, v7, 0x8 │ + mul-int/lit8 v7, v4, 0x8 │ │ - if-gt v8, v9, :cond_3 │ + if-gt v5, v7, :cond_3 │ │ .line 320 │ - invoke-virtual {v1, v10, v11}, Lcom/d_project/qrcode/BitBuffer;->put(II)V │ + invoke-virtual {v0, v6, v10}, Lcom/d_project/qrcode/BitBuffer;->put(II)V │ │ .line 324 │ :cond_3 │ :goto_2 │ - invoke-virtual {v1}, Lcom/d_project/qrcode/BitBuffer;->getLengthInBits()I │ + invoke-virtual {v0}, Lcom/d_project/qrcode/BitBuffer;->getLengthInBits()I │ │ - move-result v8 │ + move-result v5 │ │ - rem-int/lit8 v8, v8, 0x8 │ + rem-int/lit8 v5, v5, 0x8 │ │ - if-eqz v8, :cond_5 │ + if-eqz v5, :cond_5 │ │ .line 325 │ - invoke-virtual {v1, v10}, Lcom/d_project/qrcode/BitBuffer;->put(Z)V │ + invoke-virtual {v0, v6}, Lcom/d_project/qrcode/BitBuffer;->put(Z)V │ │ goto :goto_2 │ │ .line 339 │ :cond_4 │ - const/16 v8, 0x11 │ + const/16 v5, 0x11 │ │ - invoke-virtual {v1, v8, v12}, Lcom/d_project/qrcode/BitBuffer;->put(II)V │ + invoke-virtual {v0, v5, v11}, Lcom/d_project/qrcode/BitBuffer;->put(II)V │ │ .line 331 │ :cond_5 │ - invoke-virtual {v1}, Lcom/d_project/qrcode/BitBuffer;->getLengthInBits()I │ + invoke-virtual {v0}, Lcom/d_project/qrcode/BitBuffer;->getLengthInBits()I │ │ - move-result v8 │ + move-result v5 │ │ - mul-int/lit8 v9, v7, 0x8 │ + mul-int/lit8 v6, v4, 0x8 │ │ - if-lt v8, v9, :cond_6 │ + if-lt v5, v6, :cond_6 │ │ .line 342 │ :goto_3 │ - invoke-static {v1, v6}, Lcom/d_project/qrcode/QRCode;->createBytes(Lcom/d_project/qrcode/BitBuffer;[Lcom/d_project/qrcode/RSBlock;)[B │ + invoke-static {v0, v3}, Lcom/d_project/qrcode/QRCode;->createBytes(Lcom/d_project/qrcode/BitBuffer;[Lcom/d_project/qrcode/RSBlock;)[B │ │ - move-result-object v8 │ + move-result-object v5 │ │ - return-object v8 │ + return-object v5 │ │ .line 334 │ :cond_6 │ - const/16 v8, 0xec │ + const/16 v5, 0xec │ │ - invoke-virtual {v1, v8, v12}, Lcom/d_project/qrcode/BitBuffer;->put(II)V │ + invoke-virtual {v0, v5, v11}, Lcom/d_project/qrcode/BitBuffer;->put(II)V │ │ .line 336 │ - invoke-virtual {v1}, Lcom/d_project/qrcode/BitBuffer;->getLengthInBits()I │ + invoke-virtual {v0}, Lcom/d_project/qrcode/BitBuffer;->getLengthInBits()I │ │ - move-result v8 │ + move-result v5 │ │ - mul-int/lit8 v9, v7, 0x8 │ + mul-int/lit8 v6, v4, 0x8 │ │ - if-lt v8, v9, :cond_4 │ + if-lt v5, v6, :cond_4 │ │ goto :goto_3 │ .end method │ │ .method private getBestMaskPattern()I │ .locals 5 │ │ @@ -1186,171 +1178,146 @@ │ .line 187 │ .end local v2 # "c":I │ :cond_8 │ return-void │ .end method │ │ .method private setupPositionAdjustPattern()V │ - .locals 14 │ + .locals 15 │ │ .prologue │ - .line 191 │ - iget v11, p0, Lcom/d_project/qrcode/QRCode;->typeNumber:I │ + const/4 v14, -0x2 │ │ - invoke-static {v11}, Lcom/d_project/qrcode/QRUtil;->getPatternPosition(I)[I │ + const/4 v6, 0x0 │ │ - move-result-object v8 │ + const/4 v13, 0x2 │ │ - .line 193 │ - .local v8, "pos":[I │ - move-object v0, v8 │ + .line 191 │ + iget v5, p0, Lcom/d_project/qrcode/QRCode;->typeNumber:I │ │ - .local v0, "arr$":[I │ - array-length v6, v0 │ + invoke-static {v5}, Lcom/d_project/qrcode/QRUtil;->getPatternPosition(I)[I │ │ - .local v6, "len$":I │ - const/4 v4, 0x0 │ + move-result-object v2 │ + │ + .line 193 │ + .local v2, "pos":[I │ + array-length v9, v2 │ │ - .local v4, "i$":I │ - move v5, v4 │ + move v8, v6 │ │ - .end local v0 # "arr$":[I │ - .end local v4 # "i$":I │ - .end local v6 # "len$":I │ - .local v5, "i$":I │ :goto_0 │ - if-ge v5, v6, :cond_6 │ + if-ge v8, v9, :cond_6 │ │ - aget v10, v0, v5 │ + aget v4, v2, v8 │ │ .line 195 │ - .local v10, "row":I │ - move-object v1, v8 │ + .local v4, "row":I │ + array-length v10, v2 │ │ - .local v1, "arr$":[I │ - array-length v7, v1 │ + move v7, v6 │ │ - .local v7, "len$":I │ - const/4 v4, 0x0 │ - │ - .end local v5 # "i$":I │ - .restart local v4 # "i$":I │ :goto_1 │ - if-ge v4, v7, :cond_5 │ + if-ge v7, v10, :cond_5 │ │ - aget v3, v1, v4 │ + aget v1, v2, v7 │ │ .line 196 │ - .local v3, "col":I │ - iget-object v11, p0, Lcom/d_project/qrcode/QRCode;->modules:[[Ljava/lang/Boolean; │ + .local v1, "col":I │ + iget-object v5, p0, Lcom/d_project/qrcode/QRCode;->modules:[[Ljava/lang/Boolean; │ │ - aget-object v11, v11, v10 │ + aget-object v5, v5, v4 │ │ - aget-object v11, v11, v3 │ + aget-object v5, v5, v1 │ │ - if-eqz v11, :cond_1 │ + if-eqz v5, :cond_1 │ │ .line 195 │ :cond_0 │ - add-int/lit8 v4, v4, 0x1 │ + add-int/lit8 v5, v7, 0x1 │ + │ + move v7, v5 │ │ goto :goto_1 │ │ .line 200 │ :cond_1 │ - const/4 v9, -0x2 │ + const/4 v3, -0x2 │ │ - .local v9, "r":I │ + .local v3, "r":I │ :goto_2 │ - const/4 v11, 0x2 │ - │ - if-gt v9, v11, :cond_0 │ + if-gt v3, v13, :cond_0 │ │ .line 201 │ - const/4 v2, -0x2 │ + const/4 v0, -0x2 │ │ - .local v2, "c":I │ + .local v0, "c":I │ :goto_3 │ - const/4 v11, 0x2 │ - │ - if-gt v2, v11, :cond_4 │ + if-gt v0, v13, :cond_4 │ │ .line 202 │ - iget-object v11, p0, Lcom/d_project/qrcode/QRCode;->modules:[[Ljava/lang/Boolean; │ - │ - add-int v12, v10, v9 │ - │ - aget-object v12, v11, v12 │ + iget-object v5, p0, Lcom/d_project/qrcode/QRCode;->modules:[[Ljava/lang/Boolean; │ │ - add-int v13, v3, v2 │ + add-int v11, v4, v3 │ │ - const/4 v11, -0x2 │ + aget-object v11, v5, v11 │ │ - if-eq v9, v11, :cond_2 │ + add-int v12, v1, v0 │ │ - const/4 v11, 0x2 │ + if-eq v3, v14, :cond_2 │ │ - if-eq v9, v11, :cond_2 │ + if-eq v3, v13, :cond_2 │ │ - const/4 v11, -0x2 │ + if-eq v0, v14, :cond_2 │ │ - if-eq v2, v11, :cond_2 │ + if-eq v0, v13, :cond_2 │ │ - const/4 v11, 0x2 │ + if-nez v3, :cond_3 │ │ - if-eq v2, v11, :cond_2 │ - │ - if-nez v9, :cond_3 │ - │ - if-nez v2, :cond_3 │ + if-nez v0, :cond_3 │ │ :cond_2 │ - const/4 v11, 0x1 │ + const/4 v5, 0x1 │ │ :goto_4 │ - invoke-static {v11}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; │ + invoke-static {v5}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; │ │ - move-result-object v11 │ + move-result-object v5 │ │ - aput-object v11, v12, v13 │ + aput-object v5, v11, v12 │ │ .line 201 │ - add-int/lit8 v2, v2, 0x1 │ + add-int/lit8 v0, v0, 0x1 │ │ goto :goto_3 │ │ - .line 202 │ :cond_3 │ - const/4 v11, 0x0 │ + move v5, v6 │ │ + .line 202 │ goto :goto_4 │ │ .line 200 │ :cond_4 │ - add-int/lit8 v9, v9, 0x1 │ + add-int/lit8 v3, v3, 0x1 │ │ goto :goto_2 │ │ .line 193 │ - .end local v2 # "c":I │ - .end local v3 # "col":I │ - .end local v9 # "r":I │ + .end local v0 # "c":I │ + .end local v1 # "col":I │ + .end local v3 # "r":I │ :cond_5 │ - add-int/lit8 v4, v5, 0x1 │ + add-int/lit8 v5, v8, 0x1 │ │ - move v5, v4 │ + move v8, v5 │ │ - .end local v4 # "i$":I │ - .restart local v5 # "i$":I │ goto :goto_0 │ │ .line 208 │ - .end local v1 # "arr$":[I │ - .end local v7 # "len$":I │ - .end local v10 # "row":I │ + .end local v4 # "row":I │ :cond_6 │ return-void │ .end method │ │ .method private setupPositionProbePattern(II)V │ .locals 10 │ .param p1, "row" # I ├── smali/com/d_project/qrcode/QRUtil.smali │ @@ -1799,54 +1799,60 @@ │ │ move-result v11 │ │ if-eqz v11, :cond_11 │ │ add-int/lit8 v11, v1, 0x1 │ │ + .line 216 │ invoke-virtual {p0, v9, v11}, Lcom/d_project/qrcode/QRCode;->isDark(II)Z │ │ move-result v11 │ │ if-nez v11, :cond_11 │ │ add-int/lit8 v11, v1, 0x2 │ │ + .line 217 │ invoke-virtual {p0, v9, v11}, Lcom/d_project/qrcode/QRCode;->isDark(II)Z │ │ move-result v11 │ │ if-eqz v11, :cond_11 │ │ add-int/lit8 v11, v1, 0x3 │ │ + .line 218 │ invoke-virtual {p0, v9, v11}, Lcom/d_project/qrcode/QRCode;->isDark(II)Z │ │ move-result v11 │ │ if-eqz v11, :cond_11 │ │ add-int/lit8 v11, v1, 0x4 │ │ + .line 219 │ invoke-virtual {p0, v9, v11}, Lcom/d_project/qrcode/QRCode;->isDark(II)Z │ │ move-result v11 │ │ if-eqz v11, :cond_11 │ │ add-int/lit8 v11, v1, 0x5 │ │ + .line 220 │ invoke-virtual {p0, v9, v11}, Lcom/d_project/qrcode/QRCode;->isDark(II)Z │ │ move-result v11 │ │ if-nez v11, :cond_11 │ │ add-int/lit8 v11, v1, 0x6 │ │ + .line 221 │ invoke-virtual {p0, v9, v11}, Lcom/d_project/qrcode/QRCode;->isDark(II)Z │ │ move-result v11 │ │ if-eqz v11, :cond_11 │ │ .line 222 │ @@ -1886,54 +1892,60 @@ │ │ move-result v11 │ │ if-eqz v11, :cond_14 │ │ add-int/lit8 v11, v9, 0x1 │ │ + .line 230 │ invoke-virtual {p0, v11, v1}, Lcom/d_project/qrcode/QRCode;->isDark(II)Z │ │ move-result v11 │ │ if-nez v11, :cond_14 │ │ add-int/lit8 v11, v9, 0x2 │ │ + .line 231 │ invoke-virtual {p0, v11, v1}, Lcom/d_project/qrcode/QRCode;->isDark(II)Z │ │ move-result v11 │ │ if-eqz v11, :cond_14 │ │ add-int/lit8 v11, v9, 0x3 │ │ + .line 232 │ invoke-virtual {p0, v11, v1}, Lcom/d_project/qrcode/QRCode;->isDark(II)Z │ │ move-result v11 │ │ if-eqz v11, :cond_14 │ │ add-int/lit8 v11, v9, 0x4 │ │ + .line 233 │ invoke-virtual {p0, v11, v1}, Lcom/d_project/qrcode/QRCode;->isDark(II)Z │ │ move-result v11 │ │ if-eqz v11, :cond_14 │ │ add-int/lit8 v11, v9, 0x5 │ │ + .line 234 │ invoke-virtual {p0, v11, v1}, Lcom/d_project/qrcode/QRCode;->isDark(II)Z │ │ move-result v11 │ │ if-nez v11, :cond_14 │ │ add-int/lit8 v11, v9, 0x6 │ │ + .line 235 │ invoke-virtual {p0, v11, v1}, Lcom/d_project/qrcode/QRCode;->isDark(II)Z │ │ move-result v11 │ │ if-eqz v11, :cond_14 │ │ .line 236 ├── smali/org/spongycastle/crypto/generators/SCrypt.smali │ @@ -185,44 +185,39 @@ │ │ .line 157 │ :cond_0 │ return-void │ .end method │ │ .method private static clearAll([[I)V │ - .locals 4 │ + .locals 3 │ .param p0, "arrays" # [[I │ │ .prologue │ .line 160 │ - move-object v0, p0 │ - │ - .local v0, "arr$":[[I │ - array-length v3, v0 │ + array-length v2, p0 │ │ - .local v3, "len$":I │ - const/4 v2, 0x0 │ + const/4 v1, 0x0 │ │ - .local v2, "i$":I │ :goto_0 │ - if-ge v2, v3, :cond_0 │ + if-ge v1, v2, :cond_0 │ │ - aget-object v1, v0, v2 │ + aget-object v0, p0, v1 │ │ .line 161 │ - .local v1, "array":[I │ - invoke-static {v1}, Lorg/spongycastle/crypto/generators/SCrypt;->clear([I)V │ + .local v0, "array":[I │ + invoke-static {v0}, Lorg/spongycastle/crypto/generators/SCrypt;->clear([I)V │ │ .line 160 │ - add-int/lit8 v2, v2, 0x1 │ + add-int/lit8 v1, v1, 0x1 │ │ goto :goto_0 │ │ .line 163 │ - .end local v1 # "array":[I │ + .end local v0 # "array":[I │ :cond_0 │ return-void │ .end method │ │ .method public static generate([B[BIIII)[B │ .locals 3 │ .param p0, "P" # [B │ @@ -414,14 +409,15 @@ │ │ .line 82 │ invoke-static {v8}, Lorg/spongycastle/crypto/generators/SCrypt;->clear([B)V │ │ .line 83 │ invoke-static {v1}, Lorg/spongycastle/crypto/generators/SCrypt;->clear([I)V │ │ + .line 80 │ return-object v11 │ │ .line 82 │ .end local v2 # "BCount":I │ .end local v3 # "BLen":I │ .end local v4 # "BOff":I │ .end local v6 # "MFLenWords":I ├── smali/ru/valle/btc/BTCUtils.smali │ @@ -397,15 +397,14 @@ │ .method public constructor ()V │ .locals 0 │ │ .prologue │ .line 59 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ - .line 692 │ return-void │ .end method │ │ .method public static bip38Decrypt(Ljava/lang/String;Ljava/lang/String;)Lru/valle/btc/KeyPair; │ .locals 34 │ .param p0, "encryptedPrivateKey" # Ljava/lang/String; │ .param p1, "password" # Ljava/lang/String; │ @@ -3209,82 +3208,81 @@ │ .line 712 │ const-wide/16 v18, 0x0 │ │ .line 713 │ .local v18, "valueOfUnspentOutputs":J │ invoke-interface/range {p0 .. p0}, Ljava/util/List;->iterator()Ljava/util/Iterator; │ │ - move-result-object v11 │ + move-result-object v3 │ │ - .local v11, "i$":Ljava/util/Iterator; │ :goto_0 │ - invoke-interface {v11}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z │ │ - move-result v3 │ + move-result v4 │ │ - if-eqz v3, :cond_0 │ + if-eqz v4, :cond_0 │ │ - invoke-interface {v11}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ - move-result-object v14 │ + move-result-object v11 │ │ - check-cast v14, Lru/valle/btc/UnspentOutputInfo; │ + check-cast v11, Lru/valle/btc/UnspentOutputInfo; │ │ .line 714 │ - .local v14, "outputInfo":Lru/valle/btc/UnspentOutputInfo; │ - invoke-virtual {v10, v14}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z │ + .local v11, "outputInfo":Lru/valle/btc/UnspentOutputInfo; │ + invoke-virtual {v10, v11}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z │ │ .line 715 │ - iget-wide v4, v14, Lru/valle/btc/UnspentOutputInfo;->value:J │ + iget-wide v4, v11, Lru/valle/btc/UnspentOutputInfo;->value:J │ │ add-long v18, v18, v4 │ │ .line 716 │ goto :goto_0 │ │ .line 717 │ - .end local v14 # "outputInfo":Lru/valle/btc/UnspentOutputInfo; │ + .end local v11 # "outputInfo":Lru/valle/btc/UnspentOutputInfo; │ :cond_0 │ const/4 v3, 0x1 │ │ move-object/from16 v0, p0 │ │ move/from16 v1, p5 │ │ invoke-static {v0, v3, v1}, Lru/valle/btc/BTCUtils;->getMaximumTxSize(Ljava/util/Collection;IZ)I │ │ - move-result v15 │ + move-result v14 │ │ .line 718 │ - .local v15, "txLen":I │ + .local v14, "txLen":I │ const-wide/16 v4, 0x2710 │ │ - div-int/lit16 v3, v15, 0x3e8 │ + div-int/lit16 v3, v14, 0x3e8 │ │ add-int/lit8 v3, v3, 0x1 │ │ int-to-long v8, v3 │ │ mul-long/2addr v4, v8 │ │ sub-long v4, v18, v4 │ │ move-object/from16 v0, p0 │ │ - invoke-static {v15, v0, v4, v5}, Lru/valle/btc/BTCUtils;->calcMinimumFee(ILjava/util/Collection;J)J │ + invoke-static {v14, v0, v4, v5}, Lru/valle/btc/BTCUtils;->calcMinimumFee(ILjava/util/Collection;J)J │ │ move-result-wide v12 │ │ .line 719 │ sub-long v4, v18, v12 │ │ sub-long p1, v4, p3 │ │ .line 742 │ - .end local v15 # "txLen":I │ + .end local v14 # "txLen":I │ :cond_1 │ :goto_1 │ sub-long v4, v18, v12 │ │ cmp-long v3, p1, v4 │ │ if-lez v3, :cond_8 │ @@ -3303,45 +3301,43 @@ │ move-result-object v8 │ │ invoke-direct {v3, v4, v5, v8}, Lru/valle/btc/BitcoinException;->(ILjava/lang/String;Ljava/lang/Object;)V │ │ throw v3 │ │ .line 721 │ - .end local v11 # "i$":Ljava/util/Iterator; │ .end local v18 # "valueOfUnspentOutputs":J │ :cond_2 │ const-wide/16 v18, 0x0 │ │ .line 722 │ .restart local v18 # "valueOfUnspentOutputs":J │ invoke-interface/range {p0 .. p0}, Ljava/util/List;->iterator()Ljava/util/Iterator; │ │ - move-result-object v11 │ + move-result-object v8 │ │ - .restart local v11 # "i$":Ljava/util/Iterator; │ :cond_3 │ - invoke-interface {v11}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v8}, Ljava/util/Iterator;->hasNext()Z │ │ move-result v3 │ │ if-eqz v3, :cond_1 │ │ - invoke-interface {v11}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v8}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ - move-result-object v14 │ + move-result-object v11 │ │ - check-cast v14, Lru/valle/btc/UnspentOutputInfo; │ + check-cast v11, Lru/valle/btc/UnspentOutputInfo; │ │ .line 723 │ - .restart local v14 # "outputInfo":Lru/valle/btc/UnspentOutputInfo; │ - invoke-virtual {v10, v14}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z │ + .restart local v11 # "outputInfo":Lru/valle/btc/UnspentOutputInfo; │ + invoke-virtual {v10, v11}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z │ │ .line 724 │ - iget-wide v4, v14, Lru/valle/btc/UnspentOutputInfo;->value:J │ + iget-wide v4, v11, Lru/valle/btc/UnspentOutputInfo;->value:J │ │ add-long v18, v18, v4 │ │ .line 725 │ const-wide/16 v16, 0x2710 │ │ .line 726 │ @@ -3376,18 +3372,18 @@ │ :goto_3 │ move-object/from16 v0, p0 │ │ move/from16 v1, p5 │ │ invoke-static {v0, v3, v1}, Lru/valle/btc/BTCUtils;->getMaximumTxSize(Ljava/util/Collection;IZ)I │ │ - move-result v15 │ + move-result v14 │ │ .line 730 │ - .restart local v15 # "txLen":I │ + .restart local v14 # "txLen":I │ const-wide/16 v4, 0x0 │ │ cmp-long v3, v6, v4 │ │ if-lez v3, :cond_6 │ │ move-wide/from16 v0, p1 │ @@ -3395,25 +3391,25 @@ │ invoke-static {v0, v1, v6, v7}, Ljava/lang/Math;->min(JJ)J │ │ move-result-wide v4 │ │ :goto_4 │ move-object/from16 v0, p0 │ │ - invoke-static {v15, v0, v4, v5}, Lru/valle/btc/BTCUtils;->calcMinimumFee(ILjava/util/Collection;J)J │ + invoke-static {v14, v0, v4, v5}, Lru/valle/btc/BTCUtils;->calcMinimumFee(ILjava/util/Collection;J)J │ │ move-result-wide v16 │ │ .line 731 │ cmp-long v3, v16, v12 │ │ if-nez v3, :cond_7 │ │ .line 735 │ - .end local v15 # "txLen":I │ + .end local v14 # "txLen":I │ :cond_4 │ move-wide/from16 v12, v16 │ │ .line 736 │ add-long v4, p1, v12 │ │ add-long v4, v4, p3 │ @@ -3426,31 +3422,31 @@ │ │ .line 729 │ :cond_5 │ const/4 v3, 0x1 │ │ goto :goto_3 │ │ - .restart local v15 # "txLen":I │ + .restart local v14 # "txLen":I │ :cond_6 │ move-wide/from16 v4, p1 │ │ .line 730 │ goto :goto_4 │ │ .line 726 │ :cond_7 │ add-int/lit8 v2, v2, 0x1 │ │ goto :goto_2 │ │ .line 745 │ .end local v2 # "i":I │ - .end local v14 # "outputInfo":Lru/valle/btc/UnspentOutputInfo; │ - .end local v15 # "txLen":I │ + .end local v11 # "outputInfo":Lru/valle/btc/UnspentOutputInfo; │ + .end local v14 # "txLen":I │ .end local v16 # "updatedFee":J │ :cond_8 │ invoke-virtual {v10}, Ljava/util/ArrayList;->isEmpty()Z │ │ move-result v3 │ │ if-eqz v3, :cond_9 │ @@ -3709,14 +3705,15 @@ │ │ const/4 v3, 0x0 │ │ new-instance v4, Lru/valle/btc/Transaction$Output; │ │ iget-wide v6, v13, Lru/valle/btc/BTCUtils$FeeChangeAndSelectedOutputs;->amountForRecipient:J │ │ + .line 652 │ invoke-static/range {p1 .. p1}, Lru/valle/btc/Transaction$Script;->buildOutput(Ljava/lang/String;)Lru/valle/btc/Transaction$Script; │ │ move-result-object v5 │ │ invoke-direct {v4, v6, v7, v5}, Lru/valle/btc/Transaction$Output;->(JLru/valle/btc/Transaction$Script;)V │ │ aput-object v4, v12, v3 │ @@ -3862,28 +3859,30 @@ │ │ const/4 v3, 0x0 │ │ new-instance v4, Lru/valle/btc/Transaction$Output; │ │ iget-wide v6, v13, Lru/valle/btc/BTCUtils$FeeChangeAndSelectedOutputs;->amountForRecipient:J │ │ + .line 662 │ invoke-static/range {p1 .. p1}, Lru/valle/btc/Transaction$Script;->buildOutput(Ljava/lang/String;)Lru/valle/btc/Transaction$Script; │ │ move-result-object v5 │ │ invoke-direct {v4, v6, v7, v5}, Lru/valle/btc/Transaction$Output;->(JLru/valle/btc/Transaction$Script;)V │ │ aput-object v4, v12, v3 │ │ const/4 v3, 0x1 │ │ new-instance v4, Lru/valle/btc/Transaction$Output; │ │ iget-wide v6, v13, Lru/valle/btc/BTCUtils$FeeChangeAndSelectedOutputs;->change:J │ │ + .line 663 │ invoke-static/range {p2 .. p2}, Lru/valle/btc/Transaction$Script;->buildOutput(Ljava/lang/String;)Lru/valle/btc/Transaction$Script; │ │ move-result-object v5 │ │ invoke-direct {v4, v6, v7, v5}, Lru/valle/btc/Transaction$Output;->(JLru/valle/btc/Transaction$Script;)V │ │ aput-object v4, v12, v3 │ @@ -6250,94 +6249,92 @@ │ ">;J)Z" │ } │ .end annotation │ │ .prologue │ .line 131 │ .local p1, "unspentOutputInfos":Ljava/util/Collection;, "Ljava/util/Collection;" │ - const/16 v4, 0x2710 │ + const/16 v1, 0x2710 │ │ - if-ge p0, v4, :cond_2 │ + if-ge p0, v1, :cond_2 │ │ const-wide/32 v4, 0x989680 │ │ - cmp-long v4, p2, v4 │ + cmp-long v1, p2, v4 │ │ - if-lez v4, :cond_2 │ + if-lez v1, :cond_2 │ │ .line 132 │ const-wide/16 v2, 0x0 │ │ .line 133 │ .local v2, "priority":J │ invoke-interface {p1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; │ │ - move-result-object v0 │ + move-result-object v1 │ │ - .local v0, "i$":Ljava/util/Iterator; │ :cond_0 │ :goto_0 │ - invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z │ │ move-result v4 │ │ if-eqz v4, :cond_1 │ │ - invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ - move-result-object v1 │ + move-result-object v0 │ │ - check-cast v1, Lru/valle/btc/UnspentOutputInfo; │ + check-cast v0, Lru/valle/btc/UnspentOutputInfo; │ │ .line 134 │ - .local v1, "output":Lru/valle/btc/UnspentOutputInfo; │ - iget-wide v4, v1, Lru/valle/btc/UnspentOutputInfo;->confirmations:J │ + .local v0, "output":Lru/valle/btc/UnspentOutputInfo; │ + iget-wide v4, v0, Lru/valle/btc/UnspentOutputInfo;->confirmations:J │ │ const-wide/16 v6, 0x0 │ │ cmp-long v4, v4, v6 │ │ if-lez v4, :cond_0 │ │ .line 135 │ - iget-wide v4, v1, Lru/valle/btc/UnspentOutputInfo;->confirmations:J │ + iget-wide v4, v0, Lru/valle/btc/UnspentOutputInfo;->confirmations:J │ │ - iget-wide v6, v1, Lru/valle/btc/UnspentOutputInfo;->value:J │ + iget-wide v6, v0, Lru/valle/btc/UnspentOutputInfo;->value:J │ │ mul-long/2addr v4, v6 │ │ add-long/2addr v2, v4 │ │ goto :goto_0 │ │ .line 138 │ - .end local v1 # "output":Lru/valle/btc/UnspentOutputInfo; │ + .end local v0 # "output":Lru/valle/btc/UnspentOutputInfo; │ :cond_1 │ int-to-long v4, p0 │ │ div-long/2addr v2, v4 │ │ .line 139 │ const-wide/32 v4, 0x36ee800 │ │ - cmp-long v4, v2, v4 │ + cmp-long v1, v2, v4 │ │ - if-lez v4, :cond_2 │ + if-lez v1, :cond_2 │ │ .line 140 │ - const/4 v4, 0x1 │ + const/4 v1, 0x1 │ │ .line 143 │ - .end local v0 # "i$":Ljava/util/Iterator; │ .end local v2 # "priority":J │ :goto_1 │ - return v4 │ + return v1 │ │ :cond_2 │ - const/4 v4, 0x0 │ + const/4 v1, 0x0 │ │ goto :goto_1 │ .end method │ │ .method public static parseValue(Ljava/lang/String;)J │ .locals 4 │ .param p0, "valueStr" # Ljava/lang/String; ├── smali/ru/valle/btc/ClipboardHelper$1.smali │ @@ -22,14 +22,15 @@ │ │ .field final synthetic val$runnable:Ljava/lang/Runnable; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/ClipboardHelper;Ljava/lang/Runnable;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/ClipboardHelper; │ │ .prologue │ .line 77 │ iput-object p1, p0, Lru/valle/btc/ClipboardHelper$1;->this$0:Lru/valle/btc/ClipboardHelper; │ │ iput-object p2, p0, Lru/valle/btc/ClipboardHelper$1;->val$runnable:Ljava/lang/Runnable; ├── smali/ru/valle/btc/MainActivity$10.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lru/valle/btc/MainActivity; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/MainActivity; │ │ .prologue │ .line 369 │ iput-object p1, p0, Lru/valle/btc/MainActivity$10;->this$0:Lru/valle/btc/MainActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/ru/valle/btc/MainActivity$11.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lru/valle/btc/MainActivity; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/MainActivity; │ │ .prologue │ .line 385 │ iput-object p1, p0, Lru/valle/btc/MainActivity$11;->this$0:Lru/valle/btc/MainActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/ru/valle/btc/MainActivity$12.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lru/valle/btc/MainActivity; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/MainActivity; │ │ .prologue │ .line 401 │ iput-object p1, p0, Lru/valle/btc/MainActivity$12;->this$0:Lru/valle/btc/MainActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/ru/valle/btc/MainActivity$13.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lru/valle/btc/MainActivity; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/MainActivity; │ │ .prologue │ .line 407 │ iput-object p1, p0, Lru/valle/btc/MainActivity$13;->this$0:Lru/valle/btc/MainActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/ru/valle/btc/MainActivity$14.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lru/valle/btc/MainActivity; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/MainActivity; │ │ .prologue │ .line 413 │ iput-object p1, p0, Lru/valle/btc/MainActivity$14;->this$0:Lru/valle/btc/MainActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ @@ -108,38 +109,41 @@ │ iget-object v2, v2, Lru/valle/btc/BTCUtils$PrivateKeyInfo;->privateKeyDecoded:Ljava/math/BigInteger; │ │ if-eqz v2, :cond_1 │ │ .line 424 │ iget-object v2, p0, Lru/valle/btc/MainActivity$14;->this$0:Lru/valle/btc/MainActivity; │ │ + .line 425 │ # getter for: Lru/valle/btc/MainActivity;->currentKeyPair:Lru/valle/btc/KeyPair; │ invoke-static {v2}, Lru/valle/btc/MainActivity;->access$1500(Lru/valle/btc/MainActivity;)Lru/valle/btc/KeyPair; │ │ move-result-object v2 │ │ iget-object v2, v2, Lru/valle/btc/KeyPair;->privateKey:Lru/valle/btc/BTCUtils$PrivateKeyInfo; │ │ iget-boolean v2, v2, Lru/valle/btc/BTCUtils$PrivateKeyInfo;->isPublicKeyCompressed:Z │ │ iget-object v3, p0, Lru/valle/btc/MainActivity$14;->this$0:Lru/valle/btc/MainActivity; │ │ + .line 426 │ # getter for: Lru/valle/btc/MainActivity;->currentKeyPair:Lru/valle/btc/KeyPair; │ invoke-static {v3}, Lru/valle/btc/MainActivity;->access$1500(Lru/valle/btc/MainActivity;)Lru/valle/btc/KeyPair; │ │ move-result-object v3 │ │ iget-object v3, v3, Lru/valle/btc/KeyPair;->privateKey:Lru/valle/btc/BTCUtils$PrivateKeyInfo; │ │ iget-object v3, v3, Lru/valle/btc/BTCUtils$PrivateKeyInfo;->privateKeyDecoded:Ljava/math/BigInteger; │ │ invoke-static {v3}, Lru/valle/btc/BTCUtils;->getPrivateKeyBytes(Ljava/math/BigInteger;)[B │ │ move-result-object v3 │ │ + .line 424 │ invoke-static {v2, v3}, Lru/valle/btc/BTCUtils;->encodeWifKey(Z[B)Ljava/lang/String; │ │ move-result-object v2 │ │ aput-object v2, v1, v5 │ │ .line 428 ├── smali/ru/valle/btc/MainActivity$15.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lru/valle/btc/MainActivity; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/MainActivity; │ │ .prologue │ .line 431 │ iput-object p1, p0, Lru/valle/btc/MainActivity$15;->this$0:Lru/valle/btc/MainActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/ru/valle/btc/MainActivity$16.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lru/valle/btc/MainActivity; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/MainActivity; │ │ .prologue │ .line 437 │ iput-object p1, p0, Lru/valle/btc/MainActivity$16;->this$0:Lru/valle/btc/MainActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/ru/valle/btc/MainActivity$17.smali │ @@ -40,14 +40,15 @@ │ │ .field final synthetic val$unspentOutputsInfoStr:Ljava/lang/String; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity;Lru/valle/btc/KeyPair;Ljava/lang/String;Landroid/widget/TextView;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/MainActivity; │ │ .prologue │ .line 486 │ iput-object p1, p0, Lru/valle/btc/MainActivity$17;->this$0:Lru/valle/btc/MainActivity; │ │ iput-object p2, p0, Lru/valle/btc/MainActivity$17;->val$keyPair:Lru/valle/btc/KeyPair; │ │ @@ -568,210 +569,209 @@ │ │ invoke-virtual {p0, p1}, Lru/valle/btc/MainActivity$17;->onPostExecute(Ljava/util/ArrayList;)V │ │ return-void │ .end method │ │ .method protected onPostExecute(Ljava/util/ArrayList;)V │ - .locals 10 │ + .locals 9 │ .annotation system Ldalvik/annotation/Signature; │ value = { │ "(", │ "Ljava/util/ArrayList", │ "<", │ "Lru/valle/btc/UnspentOutputInfo;", │ ">;)V" │ } │ .end annotation │ │ .prologue │ .local p1, "unspentOutputInfos":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ - const/4 v7, 0x1 │ + const/4 v6, 0x1 │ │ - const/4 v9, 0x0 │ + const/4 v8, 0x0 │ │ .line 554 │ - iget-object v4, p0, Lru/valle/btc/MainActivity$17;->this$0:Lru/valle/btc/MainActivity; │ + iget-object v3, p0, Lru/valle/btc/MainActivity$17;->this$0:Lru/valle/btc/MainActivity; │ │ # setter for: Lru/valle/btc/MainActivity;->verifiedUnspentOutputsForTx:Ljava/util/ArrayList; │ - invoke-static {v4, p1}, Lru/valle/btc/MainActivity;->access$2902(Lru/valle/btc/MainActivity;Ljava/util/ArrayList;)Ljava/util/ArrayList; │ + invoke-static {v3, p1}, Lru/valle/btc/MainActivity;->access$2902(Lru/valle/btc/MainActivity;Ljava/util/ArrayList;)Ljava/util/ArrayList; │ │ .line 555 │ - iget-object v4, p0, Lru/valle/btc/MainActivity$17;->this$0:Lru/valle/btc/MainActivity; │ + iget-object v3, p0, Lru/valle/btc/MainActivity$17;->this$0:Lru/valle/btc/MainActivity; │ │ - iget-boolean v5, p0, Lru/valle/btc/MainActivity$17;->jsonInput:Z │ + iget-boolean v4, p0, Lru/valle/btc/MainActivity$17;->jsonInput:Z │ │ # setter for: Lru/valle/btc/MainActivity;->verifiedUnspentOutputsComesFromJson:Z │ - invoke-static {v4, v5}, Lru/valle/btc/MainActivity;->access$3002(Lru/valle/btc/MainActivity;Z)Z │ + invoke-static {v3, v4}, Lru/valle/btc/MainActivity;->access$3002(Lru/valle/btc/MainActivity;Z)Z │ │ .line 556 │ if-nez p1, :cond_1 │ │ .line 557 │ - iget-boolean v4, p0, Lru/valle/btc/MainActivity$17;->jsonInput:Z │ + iget-boolean v3, p0, Lru/valle/btc/MainActivity$17;->jsonInput:Z │ │ - if-eqz v4, :cond_0 │ + if-eqz v3, :cond_0 │ │ - iget-object v4, p0, Lru/valle/btc/MainActivity$17;->jsonParseError:Ljava/lang/String; │ + iget-object v3, p0, Lru/valle/btc/MainActivity$17;->jsonParseError:Ljava/lang/String; │ │ - invoke-static {v4}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z │ + invoke-static {v3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z │ │ - move-result v4 │ + move-result v3 │ │ - if-nez v4, :cond_0 │ + if-nez v3, :cond_0 │ │ .line 558 │ - iget-object v4, p0, Lru/valle/btc/MainActivity$17;->val$rawTxToSpendErr:Landroid/widget/TextView; │ + iget-object v3, p0, Lru/valle/btc/MainActivity$17;->val$rawTxToSpendErr:Landroid/widget/TextView; │ │ - iget-object v5, p0, Lru/valle/btc/MainActivity$17;->this$0:Lru/valle/btc/MainActivity; │ + iget-object v4, p0, Lru/valle/btc/MainActivity$17;->this$0:Lru/valle/btc/MainActivity; │ │ - const v6, 0x7f080010 │ + const v5, 0x7f080010 │ │ - new-array v7, v7, [Ljava/lang/Object; │ + new-array v6, v6, [Ljava/lang/Object; │ │ - iget-object v8, p0, Lru/valle/btc/MainActivity$17;->jsonParseError:Ljava/lang/String; │ + iget-object v7, p0, Lru/valle/btc/MainActivity$17;->jsonParseError:Ljava/lang/String; │ │ - aput-object v8, v7, v9 │ + aput-object v7, v6, v8 │ │ - invoke-virtual {v5, v6, v7}, Lru/valle/btc/MainActivity;->getString(I[Ljava/lang/Object;)Ljava/lang/String; │ + invoke-virtual {v4, v5, v6}, Lru/valle/btc/MainActivity;->getString(I[Ljava/lang/Object;)Ljava/lang/String; │ │ - move-result-object v5 │ + move-result-object v4 │ │ - invoke-virtual {v4, v5}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V │ + invoke-virtual {v3, v4}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V │ │ .line 576 │ :goto_0 │ return-void │ │ .line 560 │ :cond_0 │ - iget-object v4, p0, Lru/valle/btc/MainActivity$17;->val$rawTxToSpendErr:Landroid/widget/TextView; │ + iget-object v3, p0, Lru/valle/btc/MainActivity$17;->val$rawTxToSpendErr:Landroid/widget/TextView; │ │ - const v5, 0x7f080011 │ + const v4, 0x7f080011 │ │ - invoke-virtual {v4, v5}, Landroid/widget/TextView;->setText(I)V │ + invoke-virtual {v3, v4}, Landroid/widget/TextView;->setText(I)V │ │ goto :goto_0 │ │ .line 562 │ :cond_1 │ invoke-virtual {p1}, Ljava/util/ArrayList;->isEmpty()Z │ │ - move-result v4 │ + move-result v3 │ │ - if-eqz v4, :cond_2 │ + if-eqz v3, :cond_2 │ │ .line 563 │ - iget-object v4, p0, Lru/valle/btc/MainActivity$17;->val$rawTxToSpendErr:Landroid/widget/TextView; │ + iget-object v3, p0, Lru/valle/btc/MainActivity$17;->val$rawTxToSpendErr:Landroid/widget/TextView; │ │ - iget-object v5, p0, Lru/valle/btc/MainActivity$17;->this$0:Lru/valle/btc/MainActivity; │ + iget-object v4, p0, Lru/valle/btc/MainActivity$17;->this$0:Lru/valle/btc/MainActivity; │ │ - const v6, 0x7f08000d │ + const v5, 0x7f08000d │ │ - new-array v7, v7, [Ljava/lang/Object; │ + new-array v6, v6, [Ljava/lang/Object; │ │ - iget-object v8, p0, Lru/valle/btc/MainActivity$17;->val$keyPair:Lru/valle/btc/KeyPair; │ + iget-object v7, p0, Lru/valle/btc/MainActivity$17;->val$keyPair:Lru/valle/btc/KeyPair; │ │ - iget-object v8, v8, Lru/valle/btc/KeyPair;->address:Ljava/lang/String; │ + iget-object v7, v7, Lru/valle/btc/KeyPair;->address:Ljava/lang/String; │ │ - aput-object v8, v7, v9 │ + aput-object v7, v6, v8 │ │ - invoke-virtual {v5, v6, v7}, Lru/valle/btc/MainActivity;->getString(I[Ljava/lang/Object;)Ljava/lang/String; │ + invoke-virtual {v4, v5, v6}, Lru/valle/btc/MainActivity;->getString(I[Ljava/lang/Object;)Ljava/lang/String; │ │ - move-result-object v5 │ + move-result-object v4 │ │ - invoke-virtual {v4, v5}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V │ + invoke-virtual {v3, v4}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V │ │ goto :goto_0 │ │ .line 565 │ :cond_2 │ - iget-object v4, p0, Lru/valle/btc/MainActivity$17;->val$rawTxToSpendErr:Landroid/widget/TextView; │ + iget-object v3, p0, Lru/valle/btc/MainActivity$17;->val$rawTxToSpendErr:Landroid/widget/TextView; │ │ - const-string v5, "" │ + const-string v4, "" │ │ - invoke-virtual {v4, v5}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V │ + invoke-virtual {v3, v4}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V │ │ .line 566 │ const-wide/16 v0, 0x0 │ │ .line 567 │ .local v0, "availableAmount":J │ invoke-virtual {p1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; │ │ - move-result-object v2 │ + move-result-object v3 │ │ - .local v2, "i$":Ljava/util/Iterator; │ :goto_1 │ - invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z │ │ move-result v4 │ │ if-eqz v4, :cond_3 │ │ - invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ - move-result-object v3 │ + move-result-object v2 │ │ - check-cast v3, Lru/valle/btc/UnspentOutputInfo; │ + check-cast v2, Lru/valle/btc/UnspentOutputInfo; │ │ .line 568 │ - .local v3, "unspentOutputInfo":Lru/valle/btc/UnspentOutputInfo; │ - iget-wide v4, v3, Lru/valle/btc/UnspentOutputInfo;->value:J │ + .local v2, "unspentOutputInfo":Lru/valle/btc/UnspentOutputInfo; │ + iget-wide v4, v2, Lru/valle/btc/UnspentOutputInfo;->value:J │ │ add-long/2addr v0, v4 │ │ .line 569 │ goto :goto_1 │ │ .line 570 │ - .end local v3 # "unspentOutputInfo":Lru/valle/btc/UnspentOutputInfo; │ + .end local v2 # "unspentOutputInfo":Lru/valle/btc/UnspentOutputInfo; │ :cond_3 │ - iget-object v4, p0, Lru/valle/btc/MainActivity$17;->this$0:Lru/valle/btc/MainActivity; │ + iget-object v3, p0, Lru/valle/btc/MainActivity$17;->this$0:Lru/valle/btc/MainActivity; │ │ # getter for: Lru/valle/btc/MainActivity;->amountEdit:Landroid/widget/EditText; │ - invoke-static {v4}, Lru/valle/btc/MainActivity;->access$2100(Lru/valle/btc/MainActivity;)Landroid/widget/EditText; │ + invoke-static {v3}, Lru/valle/btc/MainActivity;->access$2100(Lru/valle/btc/MainActivity;)Landroid/widget/EditText; │ │ - move-result-object v4 │ + move-result-object v3 │ │ invoke-static {v0, v1}, Lru/valle/btc/BTCUtils;->formatValue(J)Ljava/lang/String; │ │ - move-result-object v5 │ + move-result-object v4 │ │ - invoke-virtual {v4, v5}, Landroid/widget/EditText;->setHint(Ljava/lang/CharSequence;)V │ + invoke-virtual {v3, v4}, Landroid/widget/EditText;->setHint(Ljava/lang/CharSequence;)V │ │ .line 571 │ - iget-object v4, p0, Lru/valle/btc/MainActivity$17;->this$0:Lru/valle/btc/MainActivity; │ + iget-object v3, p0, Lru/valle/btc/MainActivity$17;->this$0:Lru/valle/btc/MainActivity; │ │ # getter for: Lru/valle/btc/MainActivity;->amountEdit:Landroid/widget/EditText; │ - invoke-static {v4}, Lru/valle/btc/MainActivity;->access$2100(Lru/valle/btc/MainActivity;)Landroid/widget/EditText; │ + invoke-static {v3}, Lru/valle/btc/MainActivity;->access$2100(Lru/valle/btc/MainActivity;)Landroid/widget/EditText; │ │ - move-result-object v4 │ + move-result-object v3 │ │ # invokes: Lru/valle/btc/MainActivity;->getString(Landroid/widget/TextView;)Ljava/lang/String; │ - invoke-static {v4}, Lru/valle/btc/MainActivity;->access$2200(Landroid/widget/TextView;)Ljava/lang/String; │ + invoke-static {v3}, Lru/valle/btc/MainActivity;->access$2200(Landroid/widget/TextView;)Ljava/lang/String; │ │ - move-result-object v4 │ + move-result-object v3 │ │ - invoke-static {v4}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z │ + invoke-static {v3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z │ │ - move-result v4 │ + move-result v3 │ │ - if-eqz v4, :cond_4 │ + if-eqz v3, :cond_4 │ │ .line 572 │ - iget-object v4, p0, Lru/valle/btc/MainActivity$17;->this$0:Lru/valle/btc/MainActivity; │ + iget-object v3, p0, Lru/valle/btc/MainActivity$17;->this$0:Lru/valle/btc/MainActivity; │ │ - const-wide/16 v6, -0x1 │ + const-wide/16 v4, -0x1 │ │ # setter for: Lru/valle/btc/MainActivity;->verifiedAmountToSendForTx:J │ - invoke-static {v4, v6, v7}, Lru/valle/btc/MainActivity;->access$3102(Lru/valle/btc/MainActivity;J)J │ + invoke-static {v3, v4, v5}, Lru/valle/btc/MainActivity;->access$3102(Lru/valle/btc/MainActivity;J)J │ │ .line 574 │ :cond_4 │ - iget-object v4, p0, Lru/valle/btc/MainActivity$17;->this$0:Lru/valle/btc/MainActivity; │ + iget-object v3, p0, Lru/valle/btc/MainActivity$17;->this$0:Lru/valle/btc/MainActivity; │ │ # invokes: Lru/valle/btc/MainActivity;->tryToGenerateSpendingTransaction()V │ - invoke-static {v4}, Lru/valle/btc/MainActivity;->access$3200(Lru/valle/btc/MainActivity;)V │ + invoke-static {v3}, Lru/valle/btc/MainActivity;->access$3200(Lru/valle/btc/MainActivity;)V │ │ goto :goto_0 │ .end method ├── smali/ru/valle/btc/MainActivity$18$1.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$1:Lru/valle/btc/MainActivity$18; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity$18;)V │ .locals 0 │ + .param p1, "this$1" # Lru/valle/btc/MainActivity$18; │ │ .prologue │ .line 637 │ iput-object p1, p0, Lru/valle/btc/MainActivity$18$1;->this$1:Lru/valle/btc/MainActivity$18; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/ru/valle/btc/MainActivity$18.smali │ @@ -38,14 +38,15 @@ │ │ .field final synthetic val$password:Ljava/lang/String; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity;ZLru/valle/btc/KeyPair;Ljava/lang/String;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/MainActivity; │ │ .prologue │ .line 627 │ iput-object p1, p0, Lru/valle/btc/MainActivity$18;->this$0:Lru/valle/btc/MainActivity; │ │ iput-boolean p2, p0, Lru/valle/btc/MainActivity$18;->val$decrypting:Z │ │ @@ -352,14 +353,15 @@ │ │ instance-of v1, p1, Ljava/lang/Integer; │ │ if-eqz v1, :cond_3 │ │ check-cast p1, Ljava/lang/Integer; │ │ + .line 685 │ .end local p1 # "result":Ljava/lang/Object; │ invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I │ │ move-result v1 │ │ :goto_1 │ invoke-virtual {v3, v1}, Lru/valle/btc/MainActivity;->getString(I)Ljava/lang/String; │ @@ -368,22 +370,25 @@ │ │ invoke-virtual {v2, v1}, Landroid/app/AlertDialog$Builder;->setMessage(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; │ │ move-result-object v1 │ │ const v2, 0x104000a │ │ + .line 686 │ invoke-virtual {v1, v2, v4}, Landroid/app/AlertDialog$Builder;->setPositiveButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; │ │ move-result-object v1 │ │ + .line 687 │ invoke-virtual {v1}, Landroid/app/AlertDialog$Builder;->show()Landroid/app/AlertDialog; │ │ goto :goto_0 │ │ + .line 685 │ .restart local p1 # "result":Ljava/lang/Object; │ :cond_3 │ const v1, 0x7f080012 │ │ goto :goto_1 │ │ .line 689 │ @@ -431,18 +436,20 @@ │ │ if-eqz v0, :cond_0 │ │ iget-object v0, p0, Lru/valle/btc/MainActivity$18;->this$0:Lru/valle/btc/MainActivity; │ │ const v3, 0x7f080006 │ │ + .line 635 │ invoke-virtual {v0, v3}, Lru/valle/btc/MainActivity;->getString(I)Ljava/lang/String; │ │ move-result-object v0 │ │ + .line 634 │ :goto_0 │ invoke-static {v1, v2, v0, v4}, Landroid/app/ProgressDialog;->show(Landroid/content/Context;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Z)Landroid/app/ProgressDialog; │ │ move-result-object v0 │ │ iput-object v0, p0, Lru/valle/btc/MainActivity$18;->dialog:Landroid/app/ProgressDialog; │ │ @@ -473,15 +480,15 @@ │ move-result v0 │ │ iput v0, p0, Lru/valle/btc/MainActivity$18;->sendLayoutVisibility:I │ │ .line 645 │ return-void │ │ - .line 634 │ + .line 635 │ :cond_0 │ iget-object v0, p0, Lru/valle/btc/MainActivity$18;->this$0:Lru/valle/btc/MainActivity; │ │ const v3, 0x7f080009 │ │ invoke-virtual {v0, v3}, Lru/valle/btc/MainActivity;->getString(I)Ljava/lang/String; ├── smali/ru/valle/btc/MainActivity$19$1.smali │ @@ -17,14 +17,15 @@ │ # instance fields │ .field final synthetic this$1:Lru/valle/btc/MainActivity$19; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity$19;)V │ .locals 0 │ + .param p1, "this$1" # Lru/valle/btc/MainActivity$19; │ │ .prologue │ .line 726 │ iput-object p1, p0, Lru/valle/btc/MainActivity$19$1;->this$1:Lru/valle/btc/MainActivity$19; │ │ invoke-direct {p0}, Landroid/text/style/ClickableSpan;->()V ├── smali/ru/valle/btc/MainActivity$19$2.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$1:Lru/valle/btc/MainActivity$19; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity$19;)V │ .locals 0 │ + .param p1, "this$1" # Lru/valle/btc/MainActivity$19; │ │ .prologue │ .line 759 │ iput-object p1, p0, Lru/valle/btc/MainActivity$19$2;->this$1:Lru/valle/btc/MainActivity$19; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/ru/valle/btc/MainActivity$19.smali │ @@ -34,14 +34,15 @@ │ │ .field final synthetic val$uriStr:Ljava/lang/String; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity;Ljava/lang/String;ILjava/lang/String;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/MainActivity; │ │ .prologue │ .line 709 │ iput-object p1, p0, Lru/valle/btc/MainActivity$19;->this$0:Lru/valle/btc/MainActivity; │ │ iput-object p2, p0, Lru/valle/btc/MainActivity$19;->val$uriStr:Ljava/lang/String; ├── smali/ru/valle/btc/MainActivity$1.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lru/valle/btc/MainActivity; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/MainActivity; │ │ .prologue │ .line 180 │ iput-object p1, p0, Lru/valle/btc/MainActivity$1;->this$0:Lru/valle/btc/MainActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/ru/valle/btc/MainActivity$20$1.smali │ @@ -30,14 +30,15 @@ │ │ .field final synthetic val$toggle3:Landroid/widget/ToggleButton; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity$20;Landroid/widget/ToggleButton;Landroid/widget/ToggleButton;Landroid/widget/ImageView;[Landroid/graphics/Bitmap;Landroid/widget/TextView;)V │ .locals 0 │ + .param p1, "this$1" # Lru/valle/btc/MainActivity$20; │ │ .prologue │ .line 810 │ iput-object p1, p0, Lru/valle/btc/MainActivity$20$1;->this$1:Lru/valle/btc/MainActivity$20; │ │ iput-object p2, p0, Lru/valle/btc/MainActivity$20$1;->val$toggle2:Landroid/widget/ToggleButton; ├── smali/ru/valle/btc/MainActivity$20$2.smali │ @@ -30,14 +30,15 @@ │ │ .field final synthetic val$toggle3:Landroid/widget/ToggleButton; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity$20;Landroid/widget/ToggleButton;Landroid/widget/ToggleButton;Landroid/widget/ImageView;[Landroid/graphics/Bitmap;Landroid/widget/TextView;)V │ .locals 0 │ + .param p1, "this$1" # Lru/valle/btc/MainActivity$20; │ │ .prologue │ .line 829 │ iput-object p1, p0, Lru/valle/btc/MainActivity$20$2;->this$1:Lru/valle/btc/MainActivity$20; │ │ iput-object p2, p0, Lru/valle/btc/MainActivity$20$2;->val$toggle1:Landroid/widget/ToggleButton; ├── smali/ru/valle/btc/MainActivity$20$3.smali │ @@ -30,14 +30,15 @@ │ │ .field final synthetic val$toggle2:Landroid/widget/ToggleButton; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity$20;Landroid/widget/ToggleButton;Landroid/widget/ToggleButton;Landroid/widget/ImageView;[Landroid/graphics/Bitmap;Landroid/widget/TextView;)V │ .locals 0 │ + .param p1, "this$1" # Lru/valle/btc/MainActivity$20; │ │ .prologue │ .line 848 │ iput-object p1, p0, Lru/valle/btc/MainActivity$20$3;->this$1:Lru/valle/btc/MainActivity$20; │ │ iput-object p2, p0, Lru/valle/btc/MainActivity$20$3;->val$toggle1:Landroid/widget/ToggleButton; ├── smali/ru/valle/btc/MainActivity$20$4.smali │ @@ -24,14 +24,15 @@ │ │ .field final synthetic val$toggle2:Landroid/widget/ToggleButton; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity$20;Landroid/widget/ToggleButton;Landroid/widget/ToggleButton;)V │ .locals 0 │ + .param p1, "this$1" # Lru/valle/btc/MainActivity$20; │ │ .prologue │ .line 873 │ iput-object p1, p0, Lru/valle/btc/MainActivity$20$4;->this$1:Lru/valle/btc/MainActivity$20; │ │ iput-object p2, p0, Lru/valle/btc/MainActivity$20$4;->val$toggle1:Landroid/widget/ToggleButton; ├── smali/ru/valle/btc/MainActivity$20$5.smali │ @@ -24,14 +24,15 @@ │ │ .field final synthetic val$toggle2:Landroid/widget/ToggleButton; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity$20;Landroid/widget/ToggleButton;Landroid/widget/ToggleButton;)V │ .locals 0 │ + .param p1, "this$1" # Lru/valle/btc/MainActivity$20; │ │ .prologue │ .line 893 │ iput-object p1, p0, Lru/valle/btc/MainActivity$20$5;->this$1:Lru/valle/btc/MainActivity$20; │ │ iput-object p2, p0, Lru/valle/btc/MainActivity$20$5;->val$toggle1:Landroid/widget/ToggleButton; ├── smali/ru/valle/btc/MainActivity$20.smali │ @@ -39,14 +39,15 @@ │ │ .field final synthetic val$screenSize:I │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity;[Ljava/lang/String;I[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/MainActivity; │ │ .prologue │ .line 780 │ iput-object p1, p0, Lru/valle/btc/MainActivity$20;->this$0:Lru/valle/btc/MainActivity; │ │ iput-object p2, p0, Lru/valle/btc/MainActivity$20;->val$data:[Ljava/lang/String; ├── smali/ru/valle/btc/MainActivity$21$1.smali │ @@ -22,14 +22,15 @@ │ │ .field final synthetic val$confirmations:I │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity$21;I)V │ .locals 0 │ + .param p1, "this$1" # Lru/valle/btc/MainActivity$21; │ │ .prologue │ .line 1233 │ iput-object p1, p0, Lru/valle/btc/MainActivity$21$1;->this$1:Lru/valle/btc/MainActivity$21; │ │ iput p2, p0, Lru/valle/btc/MainActivity$21$1;->val$confirmations:I ├── smali/ru/valle/btc/MainActivity$21.smali │ @@ -40,14 +40,15 @@ │ │ .field final synthetic val$unspentOutputs:Ljava/util/ArrayList; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity;Ljava/util/ArrayList;JLjava/lang/String;Lru/valle/btc/KeyPair;ZI)V │ .locals 1 │ + .param p1, "this$0" # Lru/valle/btc/MainActivity; │ │ .prologue │ .line 1056 │ iput-object p1, p0, Lru/valle/btc/MainActivity$21;->this$0:Lru/valle/btc/MainActivity; │ │ iput-object p2, p0, Lru/valle/btc/MainActivity$21;->val$unspentOutputs:Ljava/util/ArrayList; │ │ @@ -63,168 +64,149 @@ │ │ invoke-direct {p0}, Landroid/os/AsyncTask;->()V │ │ return-void │ .end method │ │ .method private showNotEligibleForNoFeeBecauseOfBasicConstrains(Landroid/widget/TextView;Lru/valle/btc/Transaction;)Z │ - .locals 16 │ + .locals 10 │ .param p1, "maxAgeView" # Landroid/widget/TextView; │ .param p2, "tx" # Lru/valle/btc/Transaction; │ │ .prologue │ .line 1264 │ - const-wide v6, 0x7fffffffffffffffL │ + const-wide v0, 0x7fffffffffffffffL │ │ .line 1265 │ - .local v6, "minOutput":J │ - move-object/from16 v0, p2 │ + .local v0, "minOutput":J │ + iget-object v5, p2, Lru/valle/btc/Transaction;->outputs:[Lru/valle/btc/Transaction$Output; │ │ - iget-object v2, v0, Lru/valle/btc/Transaction;->outputs:[Lru/valle/btc/Transaction$Output; │ + array-length v6, v5 │ │ - .local v2, "arr$":[Lru/valle/btc/Transaction$Output; │ - array-length v4, v2 │ + const/4 v4, 0x0 │ │ - .local v4, "len$":I │ - const/4 v3, 0x0 │ - │ - .local v3, "i$":I │ :goto_0 │ - if-ge v3, v4, :cond_0 │ + if-ge v4, v6, :cond_0 │ │ - aget-object v5, v2, v3 │ + aget-object v2, v5, v4 │ │ .line 1266 │ - .local v5, "output":Lru/valle/btc/Transaction$Output; │ - iget-wide v10, v5, Lru/valle/btc/Transaction$Output;->value:J │ + .local v2, "output":Lru/valle/btc/Transaction$Output; │ + iget-wide v8, v2, Lru/valle/btc/Transaction$Output;->value:J │ │ - invoke-static {v10, v11, v6, v7}, Ljava/lang/Math;->min(JJ)J │ + invoke-static {v8, v9, v0, v1}, Ljava/lang/Math;->min(JJ)J │ │ - move-result-wide v6 │ + move-result-wide v0 │ │ .line 1265 │ - add-int/lit8 v3, v3, 0x1 │ + add-int/lit8 v4, v4, 0x1 │ │ goto :goto_0 │ │ .line 1268 │ - .end local v5 # "output":Lru/valle/btc/Transaction$Output; │ + .end local v2 # "output":Lru/valle/btc/Transaction$Output; │ :cond_0 │ - invoke-virtual/range {p2 .. p2}, Lru/valle/btc/Transaction;->getBytes()[B │ + invoke-virtual {p2}, Lru/valle/btc/Transaction;->getBytes()[B │ │ - move-result-object v9 │ + move-result-object v4 │ │ - array-length v8, v9 │ + array-length v3, v4 │ │ .line 1269 │ - .local v8, "txLen":I │ - const/16 v9, 0x2710 │ + .local v3, "txLen":I │ + const/16 v4, 0x2710 │ │ - if-lt v8, v9, :cond_1 │ + if-lt v3, v4, :cond_1 │ │ .line 1270 │ - move-object/from16 v0, p0 │ - │ - iget-object v9, v0, Lru/valle/btc/MainActivity$21;->this$0:Lru/valle/btc/MainActivity; │ - │ - invoke-virtual {v9}, Lru/valle/btc/MainActivity;->getResources()Landroid/content/res/Resources; │ + iget-object v4, p0, Lru/valle/btc/MainActivity$21;->this$0:Lru/valle/btc/MainActivity; │ │ - move-result-object v9 │ + invoke-virtual {v4}, Lru/valle/btc/MainActivity;->getResources()Landroid/content/res/Resources; │ │ - const v10, 0x7f070003 │ + move-result-object v4 │ │ - invoke-virtual {v9, v10, v8}, Landroid/content/res/Resources;->getQuantityText(II)Ljava/lang/CharSequence; │ + const v5, 0x7f070003 │ │ - move-result-object v9 │ + invoke-virtual {v4, v5, v3}, Landroid/content/res/Resources;->getQuantityText(II)Ljava/lang/CharSequence; │ │ - move-object/from16 v0, p1 │ + move-result-object v4 │ │ - invoke-virtual {v0, v9}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V │ + invoke-virtual {p1, v4}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V │ │ .line 1271 │ - const/4 v9, 0x0 │ - │ - move-object/from16 v0, p1 │ + const/4 v4, 0x0 │ │ - invoke-virtual {v0, v9}, Landroid/widget/TextView;->setVisibility(I)V │ + invoke-virtual {p1, v4}, Landroid/widget/TextView;->setVisibility(I)V │ │ .line 1272 │ - const/4 v9, 0x1 │ + const/4 v4, 0x1 │ │ .line 1279 │ :goto_1 │ - return v9 │ + return v4 │ │ .line 1273 │ :cond_1 │ - const-wide/32 v10, 0x989680 │ + const-wide/32 v4, 0x989680 │ │ - cmp-long v9, v6, v10 │ + cmp-long v4, v0, v4 │ │ - if-gez v9, :cond_2 │ + if-gez v4, :cond_2 │ │ .line 1274 │ - move-object/from16 v0, p0 │ - │ - iget-object v9, v0, Lru/valle/btc/MainActivity$21;->this$0:Lru/valle/btc/MainActivity; │ - │ - const v10, 0x7f08003d │ + iget-object v4, p0, Lru/valle/btc/MainActivity$21;->this$0:Lru/valle/btc/MainActivity; │ │ - const/4 v11, 0x2 │ + const v5, 0x7f08003d │ │ - new-array v11, v11, [Ljava/lang/Object; │ + const/4 v6, 0x2 │ │ - const/4 v12, 0x0 │ + new-array v6, v6, [Ljava/lang/Object; │ │ - invoke-static {v6, v7}, Lru/valle/btc/BTCUtils;->formatValue(J)Ljava/lang/String; │ + const/4 v7, 0x0 │ │ - move-result-object v13 │ + invoke-static {v0, v1}, Lru/valle/btc/BTCUtils;->formatValue(J)Ljava/lang/String; │ │ - aput-object v13, v11, v12 │ + move-result-object v8 │ │ - const/4 v12, 0x1 │ + aput-object v8, v6, v7 │ │ - const-wide/32 v14, 0x989680 │ + const/4 v7, 0x1 │ │ - invoke-static {v14, v15}, Lru/valle/btc/BTCUtils;->formatValue(J)Ljava/lang/String; │ + const-wide/32 v8, 0x989680 │ │ - move-result-object v13 │ + invoke-static {v8, v9}, Lru/valle/btc/BTCUtils;->formatValue(J)Ljava/lang/String; │ │ - aput-object v13, v11, v12 │ + move-result-object v8 │ │ - invoke-virtual {v9, v10, v11}, Lru/valle/btc/MainActivity;->getString(I[Ljava/lang/Object;)Ljava/lang/String; │ + aput-object v8, v6, v7 │ │ - move-result-object v9 │ + invoke-virtual {v4, v5, v6}, Lru/valle/btc/MainActivity;->getString(I[Ljava/lang/Object;)Ljava/lang/String; │ │ - move-object/from16 v0, p1 │ + move-result-object v4 │ │ - invoke-virtual {v0, v9}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V │ + invoke-virtual {p1, v4}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V │ │ .line 1275 │ - const/4 v9, 0x0 │ + const/4 v4, 0x0 │ │ - move-object/from16 v0, p1 │ - │ - invoke-virtual {v0, v9}, Landroid/widget/TextView;->setVisibility(I)V │ + invoke-virtual {p1, v4}, Landroid/widget/TextView;->setVisibility(I)V │ │ .line 1276 │ - const/4 v9, 0x1 │ + const/4 v4, 0x1 │ │ goto :goto_1 │ │ .line 1278 │ :cond_2 │ - const/16 v9, 0x8 │ + const/16 v4, 0x8 │ │ - move-object/from16 v0, p1 │ - │ - invoke-virtual {v0, v9}, Landroid/widget/TextView;->setVisibility(I)V │ + invoke-virtual {p1, v4}, Landroid/widget/TextView;->setVisibility(I)V │ │ .line 1279 │ - const/4 v9, 0x0 │ + const/4 v4, 0x0 │ │ goto :goto_1 │ .end method │ │ │ # virtual methods │ .method protected bridge synthetic doInBackground([Ljava/lang/Object;)Ljava/lang/Object; │ @@ -238,666 +220,642 @@ │ │ move-result-object v0 │ │ return-object v0 │ .end method │ │ .method protected varargs doInBackground([Ljava/lang/Void;)Lru/valle/btc/MainActivity$GenerateTransactionResult; │ - .locals 34 │ + .locals 30 │ .param p1, "voids" # [Ljava/lang/Void; │ │ .prologue │ .line 1062 │ - const-wide/16 v14, 0x0 │ + const-wide/16 v12, 0x0 │ │ .line 1063 │ - .local v14, "availableAmount":J │ + .local v12, "availableAmount":J │ :try_start_0 │ move-object/from16 v0, p0 │ │ - iget-object v5, v0, Lru/valle/btc/MainActivity$21;->val$unspentOutputs:Ljava/util/ArrayList; │ + iget-object v3, v0, Lru/valle/btc/MainActivity$21;->val$unspentOutputs:Ljava/util/ArrayList; │ │ - invoke-virtual {v5}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; │ + invoke-virtual {v3}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; │ │ - move-result-object v20 │ + move-result-object v3 │ │ - .local v20, "i$":Ljava/util/Iterator; │ :goto_0 │ - invoke-interface/range {v20 .. v20}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z │ │ - move-result v5 │ + move-result v4 │ │ - if-eqz v5, :cond_0 │ + if-eqz v4, :cond_0 │ │ - invoke-interface/range {v20 .. v20}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ - move-result-object v33 │ + move-result-object v27 │ │ - check-cast v33, Lru/valle/btc/UnspentOutputInfo; │ + check-cast v27, Lru/valle/btc/UnspentOutputInfo; │ │ .line 1064 │ - .local v33, "unspentOutputInfo":Lru/valle/btc/UnspentOutputInfo; │ - move-object/from16 v0, v33 │ + .local v27, "unspentOutputInfo":Lru/valle/btc/UnspentOutputInfo; │ + move-object/from16 v0, v27 │ │ - iget-wide v6, v0, Lru/valle/btc/UnspentOutputInfo;->value:J │ + iget-wide v4, v0, Lru/valle/btc/UnspentOutputInfo;->value:J │ │ - add-long/2addr v14, v6 │ + add-long/2addr v12, v4 │ │ .line 1065 │ goto :goto_0 │ │ .line 1067 │ - .end local v33 # "unspentOutputInfo":Lru/valle/btc/UnspentOutputInfo; │ + .end local v27 # "unspentOutputInfo":Lru/valle/btc/UnspentOutputInfo; │ :cond_0 │ move-object/from16 v0, p0 │ │ - iget-wide v6, v0, Lru/valle/btc/MainActivity$21;->val$requestedAmountToSend:J │ + iget-wide v4, v0, Lru/valle/btc/MainActivity$21;->val$requestedAmountToSend:J │ │ - cmp-long v5, v14, v6 │ + cmp-long v3, v12, v4 │ │ - if-eqz v5, :cond_1 │ + if-eqz v3, :cond_1 │ │ move-object/from16 v0, p0 │ │ - iget-wide v6, v0, Lru/valle/btc/MainActivity$21;->val$requestedAmountToSend:J │ + iget-wide v4, v0, Lru/valle/btc/MainActivity$21;->val$requestedAmountToSend:J │ │ - const-wide/16 v12, -0x1 │ + const-wide/16 v10, -0x1 │ │ - cmp-long v5, v6, v12 │ + cmp-long v3, v4, v10 │ │ - if-nez v5, :cond_4 │ + if-nez v3, :cond_4 │ │ .line 1069 │ :cond_1 │ - const-wide/16 v8, -0x1 │ + const-wide/16 v6, -0x1 │ │ .line 1074 │ - .local v8, "amount":J │ + .local v6, "amount":J │ :goto_1 │ move-object/from16 v0, p0 │ │ - iget-object v5, v0, Lru/valle/btc/MainActivity$21;->this$0:Lru/valle/btc/MainActivity; │ + iget-object v3, v0, Lru/valle/btc/MainActivity$21;->this$0:Lru/valle/btc/MainActivity; │ │ - invoke-static {v5}, Landroid/preference/PreferenceManager;->getDefaultSharedPreferences(Landroid/content/Context;)Landroid/content/SharedPreferences; │ + invoke-static {v3}, Landroid/preference/PreferenceManager;->getDefaultSharedPreferences(Landroid/content/Context;)Landroid/content/SharedPreferences; │ :try_end_0 │ .catch Lru/valle/btc/BitcoinException; {:try_start_0 .. :try_end_0} :catch_1 │ .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_2 │ │ - move-result-object v29 │ + move-result-object v23 │ │ .line 1076 │ - .local v29, "preferences":Landroid/content/SharedPreferences; │ + .local v23, "preferences":Landroid/content/SharedPreferences; │ :try_start_1 │ - const-string v5, "extra_fee" │ + const-string v3, "extra_fee" │ │ - sget-wide v6, Lru/valle/btc/FeePreference;->PREF_EXTRA_FEE_DEFAULT:J │ + sget-wide v4, Lru/valle/btc/FeePreference;->PREF_EXTRA_FEE_DEFAULT:J │ │ - move-object/from16 v0, v29 │ + move-object/from16 v0, v23 │ │ - invoke-interface {v0, v5, v6, v7}, Landroid/content/SharedPreferences;->getLong(Ljava/lang/String;J)J │ + invoke-interface {v0, v3, v4, v5}, Landroid/content/SharedPreferences;->getLong(Ljava/lang/String;J)J │ :try_end_1 │ .catch Ljava/lang/ClassCastException; {:try_start_1 .. :try_end_1} :catch_0 │ .catch Lru/valle/btc/BitcoinException; {:try_start_1 .. :try_end_1} :catch_1 │ .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_2 │ │ - move-result-wide v10 │ + move-result-wide v8 │ │ .line 1081 │ - .local v10, "extraFee":J │ + .local v8, "extraFee":J │ :goto_2 │ :try_start_2 │ move-object/from16 v0, p0 │ │ - iget-object v5, v0, Lru/valle/btc/MainActivity$21;->val$unspentOutputs:Ljava/util/ArrayList; │ + iget-object v3, v0, Lru/valle/btc/MainActivity$21;->val$unspentOutputs:Ljava/util/ArrayList; │ │ move-object/from16 v0, p0 │ │ - iget-object v6, v0, Lru/valle/btc/MainActivity$21;->val$outputAddress:Ljava/lang/String; │ + iget-object v4, v0, Lru/valle/btc/MainActivity$21;->val$outputAddress:Ljava/lang/String; │ │ move-object/from16 v0, p0 │ │ - iget-object v7, v0, Lru/valle/btc/MainActivity$21;->val$keyPair:Lru/valle/btc/KeyPair; │ + iget-object v5, v0, Lru/valle/btc/MainActivity$21;->val$keyPair:Lru/valle/btc/KeyPair; │ │ - iget-object v7, v7, Lru/valle/btc/KeyPair;->address:Ljava/lang/String; │ + iget-object v5, v5, Lru/valle/btc/KeyPair;->address:Ljava/lang/String; │ │ move-object/from16 v0, p0 │ │ - iget-object v12, v0, Lru/valle/btc/MainActivity$21;->val$keyPair:Lru/valle/btc/KeyPair; │ + iget-object v10, v0, Lru/valle/btc/MainActivity$21;->val$keyPair:Lru/valle/btc/KeyPair; │ │ - iget-object v12, v12, Lru/valle/btc/KeyPair;->publicKey:[B │ + iget-object v10, v10, Lru/valle/btc/KeyPair;->publicKey:[B │ │ move-object/from16 v0, p0 │ │ - iget-object v13, v0, Lru/valle/btc/MainActivity$21;->val$keyPair:Lru/valle/btc/KeyPair; │ + iget-object v11, v0, Lru/valle/btc/MainActivity$21;->val$keyPair:Lru/valle/btc/KeyPair; │ │ - iget-object v13, v13, Lru/valle/btc/KeyPair;->privateKey:Lru/valle/btc/BTCUtils$PrivateKeyInfo; │ + iget-object v11, v11, Lru/valle/btc/KeyPair;->privateKey:Lru/valle/btc/BTCUtils$PrivateKeyInfo; │ │ - invoke-static/range {v5 .. v13}, Lru/valle/btc/BTCUtils;->createTransaction(Ljava/util/List;Ljava/lang/String;Ljava/lang/String;JJ[BLru/valle/btc/BTCUtils$PrivateKeyInfo;)Lru/valle/btc/Transaction; │ + invoke-static/range {v3 .. v11}, Lru/valle/btc/BTCUtils;->createTransaction(Ljava/util/List;Ljava/lang/String;Ljava/lang/String;JJ[BLru/valle/btc/BTCUtils$PrivateKeyInfo;)Lru/valle/btc/Transaction; │ │ - move-result-object v31 │ + move-result-object v25 │ │ .line 1085 │ - .local v31, "spendTx":Lru/valle/btc/Transaction; │ - move-object/from16 v0, v31 │ + .local v25, "spendTx":Lru/valle/btc/Transaction; │ + move-object/from16 v0, v25 │ │ - iget-object v5, v0, Lru/valle/btc/Transaction;->inputs:[Lru/valle/btc/Transaction$Input; │ + iget-object v3, v0, Lru/valle/btc/Transaction;->inputs:[Lru/valle/btc/Transaction$Input; │ │ - array-length v5, v5 │ + array-length v3, v3 │ │ - new-array v0, v5, [Lru/valle/btc/Transaction$Script; │ + new-array v0, v3, [Lru/valle/btc/Transaction$Script; │ │ - move-object/from16 v30, v0 │ + move-object/from16 v24, v0 │ │ .line 1086 │ - .local v30, "relatedScripts":[Lru/valle/btc/Transaction$Script; │ - const/16 v17, 0x0 │ + .local v24, "relatedScripts":[Lru/valle/btc/Transaction$Script; │ + const/16 v16, 0x0 │ │ - .local v17, "i":I │ + .local v16, "i":I │ :goto_3 │ - move-object/from16 v0, v31 │ + move-object/from16 v0, v25 │ │ - iget-object v5, v0, Lru/valle/btc/Transaction;->inputs:[Lru/valle/btc/Transaction$Input; │ + iget-object v3, v0, Lru/valle/btc/Transaction;->inputs:[Lru/valle/btc/Transaction$Input; │ │ - array-length v5, v5 │ + array-length v3, v3 │ │ - move/from16 v0, v17 │ + move/from16 v0, v16 │ │ - if-ge v0, v5, :cond_5 │ + if-ge v0, v3, :cond_5 │ │ .line 1087 │ - move-object/from16 v0, v31 │ + move-object/from16 v0, v25 │ │ - iget-object v5, v0, Lru/valle/btc/Transaction;->inputs:[Lru/valle/btc/Transaction$Input; │ + iget-object v3, v0, Lru/valle/btc/Transaction;->inputs:[Lru/valle/btc/Transaction$Input; │ │ - aget-object v24, v5, v17 │ + aget-object v17, v3, v16 │ │ .line 1088 │ - .local v24, "input":Lru/valle/btc/Transaction$Input; │ + .local v17, "input":Lru/valle/btc/Transaction$Input; │ move-object/from16 v0, p0 │ │ - iget-object v5, v0, Lru/valle/btc/MainActivity$21;->val$unspentOutputs:Ljava/util/ArrayList; │ + iget-object v3, v0, Lru/valle/btc/MainActivity$21;->val$unspentOutputs:Ljava/util/ArrayList; │ │ - invoke-virtual {v5}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; │ + invoke-virtual {v3}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; │ │ - move-result-object v20 │ + move-result-object v3 │ │ :cond_2 │ - invoke-interface/range {v20 .. v20}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z │ │ - move-result v5 │ + move-result v4 │ │ - if-eqz v5, :cond_3 │ + if-eqz v4, :cond_3 │ │ - invoke-interface/range {v20 .. v20}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ - move-result-object v32 │ + move-result-object v26 │ │ - check-cast v32, Lru/valle/btc/UnspentOutputInfo; │ + check-cast v26, Lru/valle/btc/UnspentOutputInfo; │ │ .line 1089 │ - .local v32, "unspentOutput":Lru/valle/btc/UnspentOutputInfo; │ - move-object/from16 v0, v32 │ + .local v26, "unspentOutput":Lru/valle/btc/UnspentOutputInfo; │ + move-object/from16 v0, v26 │ │ - iget-object v5, v0, Lru/valle/btc/UnspentOutputInfo;->txHash:[B │ + iget-object v4, v0, Lru/valle/btc/UnspentOutputInfo;->txHash:[B │ │ - move-object/from16 v0, v24 │ + move-object/from16 v0, v17 │ │ - iget-object v6, v0, Lru/valle/btc/Transaction$Input;->outPoint:Lru/valle/btc/Transaction$OutPoint; │ + iget-object v5, v0, Lru/valle/btc/Transaction$Input;->outPoint:Lru/valle/btc/Transaction$OutPoint; │ │ - iget-object v6, v6, Lru/valle/btc/Transaction$OutPoint;->hash:[B │ + iget-object v5, v5, Lru/valle/btc/Transaction$OutPoint;->hash:[B │ │ - invoke-static {v5, v6}, Ljava/util/Arrays;->equals([B[B)Z │ + invoke-static {v4, v5}, Ljava/util/Arrays;->equals([B[B)Z │ │ - move-result v5 │ + move-result v4 │ │ - if-eqz v5, :cond_2 │ + if-eqz v4, :cond_2 │ │ - move-object/from16 v0, v32 │ + move-object/from16 v0, v26 │ │ - iget v5, v0, Lru/valle/btc/UnspentOutputInfo;->outputIndex:I │ + iget v4, v0, Lru/valle/btc/UnspentOutputInfo;->outputIndex:I │ │ - move-object/from16 v0, v24 │ + move-object/from16 v0, v17 │ │ - iget-object v6, v0, Lru/valle/btc/Transaction$Input;->outPoint:Lru/valle/btc/Transaction$OutPoint; │ + iget-object v5, v0, Lru/valle/btc/Transaction$Input;->outPoint:Lru/valle/btc/Transaction$OutPoint; │ │ - iget v6, v6, Lru/valle/btc/Transaction$OutPoint;->index:I │ + iget v5, v5, Lru/valle/btc/Transaction$OutPoint;->index:I │ │ - if-ne v5, v6, :cond_2 │ + if-ne v4, v5, :cond_2 │ │ .line 1090 │ - move-object/from16 v0, v32 │ + move-object/from16 v0, v26 │ │ - iget-object v5, v0, Lru/valle/btc/UnspentOutputInfo;->script:Lru/valle/btc/Transaction$Script; │ + iget-object v3, v0, Lru/valle/btc/UnspentOutputInfo;->script:Lru/valle/btc/Transaction$Script; │ │ - aput-object v5, v30, v17 │ + aput-object v3, v24, v16 │ │ .line 1086 │ - .end local v32 # "unspentOutput":Lru/valle/btc/UnspentOutputInfo; │ + .end local v26 # "unspentOutput":Lru/valle/btc/UnspentOutputInfo; │ :cond_3 │ - add-int/lit8 v17, v17, 0x1 │ + add-int/lit8 v16, v16, 0x1 │ │ goto :goto_3 │ │ .line 1071 │ - .end local v8 # "amount":J │ - .end local v10 # "extraFee":J │ - .end local v17 # "i":I │ - .end local v24 # "input":Lru/valle/btc/Transaction$Input; │ - .end local v29 # "preferences":Landroid/content/SharedPreferences; │ - .end local v30 # "relatedScripts":[Lru/valle/btc/Transaction$Script; │ - .end local v31 # "spendTx":Lru/valle/btc/Transaction; │ + .end local v6 # "amount":J │ + .end local v8 # "extraFee":J │ + .end local v16 # "i":I │ + .end local v17 # "input":Lru/valle/btc/Transaction$Input; │ + .end local v23 # "preferences":Landroid/content/SharedPreferences; │ + .end local v24 # "relatedScripts":[Lru/valle/btc/Transaction$Script; │ + .end local v25 # "spendTx":Lru/valle/btc/Transaction; │ :cond_4 │ move-object/from16 v0, p0 │ │ - iget-wide v8, v0, Lru/valle/btc/MainActivity$21;->val$requestedAmountToSend:J │ + iget-wide v6, v0, Lru/valle/btc/MainActivity$21;->val$requestedAmountToSend:J │ │ - .restart local v8 # "amount":J │ + .restart local v6 # "amount":J │ goto/16 :goto_1 │ │ .line 1077 │ - .restart local v29 # "preferences":Landroid/content/SharedPreferences; │ + .restart local v23 # "preferences":Landroid/content/SharedPreferences; │ :catch_0 │ - move-exception v16 │ + move-exception v2 │ │ .line 1078 │ - .local v16, "e":Ljava/lang/ClassCastException; │ - invoke-interface/range {v29 .. v29}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor; │ + .local v2, "e":Ljava/lang/ClassCastException; │ + invoke-interface/range {v23 .. v23}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor; │ │ - move-result-object v5 │ + move-result-object v3 │ │ - const-string v6, "extra_fee" │ + const-string v4, "extra_fee" │ │ - invoke-interface {v5, v6}, Landroid/content/SharedPreferences$Editor;->remove(Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; │ + invoke-interface {v3, v4}, Landroid/content/SharedPreferences$Editor;->remove(Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; │ │ - move-result-object v5 │ + move-result-object v3 │ │ - const-string v6, "extra_fee" │ + const-string v4, "extra_fee" │ │ - sget-wide v12, Lru/valle/btc/FeePreference;->PREF_EXTRA_FEE_DEFAULT:J │ + sget-wide v10, Lru/valle/btc/FeePreference;->PREF_EXTRA_FEE_DEFAULT:J │ │ - invoke-interface {v5, v6, v12, v13}, Landroid/content/SharedPreferences$Editor;->putLong(Ljava/lang/String;J)Landroid/content/SharedPreferences$Editor; │ + invoke-interface {v3, v4, v10, v11}, Landroid/content/SharedPreferences$Editor;->putLong(Ljava/lang/String;J)Landroid/content/SharedPreferences$Editor; │ │ - move-result-object v5 │ + move-result-object v3 │ │ - invoke-interface {v5}, Landroid/content/SharedPreferences$Editor;->commit()Z │ + invoke-interface {v3}, Landroid/content/SharedPreferences$Editor;->commit()Z │ │ .line 1079 │ - sget-wide v10, Lru/valle/btc/FeePreference;->PREF_EXTRA_FEE_DEFAULT:J │ + sget-wide v8, Lru/valle/btc/FeePreference;->PREF_EXTRA_FEE_DEFAULT:J │ │ - .restart local v10 # "extraFee":J │ + .restart local v8 # "extraFee":J │ goto/16 :goto_2 │ │ .line 1095 │ - .end local v16 # "e":Ljava/lang/ClassCastException; │ - .restart local v17 # "i":I │ - .restart local v30 # "relatedScripts":[Lru/valle/btc/Transaction$Script; │ - .restart local v31 # "spendTx":Lru/valle/btc/Transaction; │ + .end local v2 # "e":Ljava/lang/ClassCastException; │ + .restart local v16 # "i":I │ + .restart local v24 # "relatedScripts":[Lru/valle/btc/Transaction$Script; │ + .restart local v25 # "spendTx":Lru/valle/btc/Transaction; │ :cond_5 │ - invoke-static/range {v30 .. v31}, Lru/valle/btc/BTCUtils;->verify([Lru/valle/btc/Transaction$Script;Lru/valle/btc/Transaction;)V │ + invoke-static/range {v24 .. v25}, Lru/valle/btc/BTCUtils;->verify([Lru/valle/btc/Transaction$Script;Lru/valle/btc/Transaction;)V │ :try_end_2 │ .catch Lru/valle/btc/BitcoinException; {:try_start_2 .. :try_end_2} :catch_1 │ .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_2} :catch_2 │ │ .line 1116 │ - const-wide/16 v22, 0x0 │ + const-wide/16 v18, 0x0 │ │ .line 1117 │ - .local v22, "inValue":J │ - move-object/from16 v0, v31 │ + .local v18, "inValue":J │ + move-object/from16 v0, v25 │ │ iget-object v4, v0, Lru/valle/btc/Transaction;->inputs:[Lru/valle/btc/Transaction$Input; │ │ - .local v4, "arr$":[Lru/valle/btc/Transaction$Input; │ - array-length v0, v4 │ + array-length v5, v4 │ │ - move/from16 v25, v0 │ - │ - .local v25, "len$":I │ - const/16 v20, 0x0 │ - │ - .local v20, "i$":I │ - move/from16 v21, v20 │ + const/4 v3, 0x0 │ │ - .end local v20 # "i$":I │ - .local v21, "i$":I │ :goto_4 │ - move/from16 v0, v21 │ - │ - move/from16 v1, v25 │ - │ - if-ge v0, v1, :cond_8 │ + if-ge v3, v5, :cond_8 │ │ - aget-object v24, v4, v21 │ + aget-object v17, v4, v3 │ │ .line 1118 │ - .restart local v24 # "input":Lru/valle/btc/Transaction$Input; │ + .restart local v17 # "input":Lru/valle/btc/Transaction$Input; │ move-object/from16 v0, p0 │ │ - iget-object v5, v0, Lru/valle/btc/MainActivity$21;->val$unspentOutputs:Ljava/util/ArrayList; │ + iget-object v10, v0, Lru/valle/btc/MainActivity$21;->val$unspentOutputs:Ljava/util/ArrayList; │ │ - invoke-virtual {v5}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; │ + invoke-virtual {v10}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; │ │ - move-result-object v20 │ + move-result-object v10 │ │ - .end local v21 # "i$":I │ - .local v20, "i$":Ljava/util/Iterator; │ :cond_6 │ :goto_5 │ - invoke-interface/range {v20 .. v20}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v10}, Ljava/util/Iterator;->hasNext()Z │ │ - move-result v5 │ + move-result v11 │ │ - if-eqz v5, :cond_7 │ + if-eqz v11, :cond_7 │ │ - invoke-interface/range {v20 .. v20}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v10}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ - move-result-object v32 │ + move-result-object v26 │ │ - check-cast v32, Lru/valle/btc/UnspentOutputInfo; │ + check-cast v26, Lru/valle/btc/UnspentOutputInfo; │ │ .line 1119 │ - .restart local v32 # "unspentOutput":Lru/valle/btc/UnspentOutputInfo; │ - move-object/from16 v0, v32 │ + .restart local v26 # "unspentOutput":Lru/valle/btc/UnspentOutputInfo; │ + move-object/from16 v0, v26 │ + │ + iget-object v11, v0, Lru/valle/btc/UnspentOutputInfo;->txHash:[B │ │ - iget-object v5, v0, Lru/valle/btc/UnspentOutputInfo;->txHash:[B │ + move-object/from16 v0, v17 │ │ - move-object/from16 v0, v24 │ + iget-object v0, v0, Lru/valle/btc/Transaction$Input;->outPoint:Lru/valle/btc/Transaction$OutPoint; │ │ - iget-object v6, v0, Lru/valle/btc/Transaction$Input;->outPoint:Lru/valle/btc/Transaction$OutPoint; │ + move-object/from16 v28, v0 │ │ - iget-object v6, v6, Lru/valle/btc/Transaction$OutPoint;->hash:[B │ + move-object/from16 v0, v28 │ + │ + iget-object v0, v0, Lru/valle/btc/Transaction$OutPoint;->hash:[B │ + │ + move-object/from16 v28, v0 │ + │ + move-object/from16 v0, v28 │ + │ + invoke-static {v11, v0}, Ljava/util/Arrays;->equals([B[B)Z │ │ - invoke-static {v5, v6}, Ljava/util/Arrays;->equals([B[B)Z │ + move-result v11 │ │ - move-result v5 │ + if-eqz v11, :cond_6 │ │ - if-eqz v5, :cond_6 │ + move-object/from16 v0, v26 │ │ - move-object/from16 v0, v32 │ + iget v11, v0, Lru/valle/btc/UnspentOutputInfo;->outputIndex:I │ │ - iget v5, v0, Lru/valle/btc/UnspentOutputInfo;->outputIndex:I │ + move-object/from16 v0, v17 │ │ - move-object/from16 v0, v24 │ + iget-object v0, v0, Lru/valle/btc/Transaction$Input;->outPoint:Lru/valle/btc/Transaction$OutPoint; │ │ - iget-object v6, v0, Lru/valle/btc/Transaction$Input;->outPoint:Lru/valle/btc/Transaction$OutPoint; │ + move-object/from16 v28, v0 │ │ - iget v6, v6, Lru/valle/btc/Transaction$OutPoint;->index:I │ + move-object/from16 v0, v28 │ + │ + iget v0, v0, Lru/valle/btc/Transaction$OutPoint;->index:I │ + │ + move/from16 v28, v0 │ │ - if-ne v5, v6, :cond_6 │ + move/from16 v0, v28 │ + │ + if-ne v11, v0, :cond_6 │ │ .line 1120 │ - move-object/from16 v0, v32 │ + move-object/from16 v0, v26 │ + │ + iget-wide v0, v0, Lru/valle/btc/UnspentOutputInfo;->value:J │ │ - iget-wide v6, v0, Lru/valle/btc/UnspentOutputInfo;->value:J │ + move-wide/from16 v28, v0 │ │ - add-long v22, v22, v6 │ + add-long v18, v18, v28 │ │ goto :goto_5 │ │ .line 1096 │ - .end local v4 # "arr$":[Lru/valle/btc/Transaction$Input; │ - .end local v8 # "amount":J │ - .end local v10 # "extraFee":J │ - .end local v17 # "i":I │ - .end local v20 # "i$":Ljava/util/Iterator; │ - .end local v22 # "inValue":J │ - .end local v24 # "input":Lru/valle/btc/Transaction$Input; │ - .end local v25 # "len$":I │ - .end local v29 # "preferences":Landroid/content/SharedPreferences; │ - .end local v30 # "relatedScripts":[Lru/valle/btc/Transaction$Script; │ - .end local v31 # "spendTx":Lru/valle/btc/Transaction; │ - .end local v32 # "unspentOutput":Lru/valle/btc/UnspentOutputInfo; │ + .end local v6 # "amount":J │ + .end local v8 # "extraFee":J │ + .end local v16 # "i":I │ + .end local v17 # "input":Lru/valle/btc/Transaction$Input; │ + .end local v18 # "inValue":J │ + .end local v23 # "preferences":Landroid/content/SharedPreferences; │ + .end local v24 # "relatedScripts":[Lru/valle/btc/Transaction$Script; │ + .end local v25 # "spendTx":Lru/valle/btc/Transaction; │ + .end local v26 # "unspentOutput":Lru/valle/btc/UnspentOutputInfo; │ :catch_1 │ - move-exception v16 │ + move-exception v2 │ │ .line 1097 │ - .local v16, "e":Lru/valle/btc/BitcoinException; │ - move-object/from16 v0, v16 │ + .local v2, "e":Lru/valle/btc/BitcoinException; │ + iget v3, v2, Lru/valle/btc/BitcoinException;->errorCode:I │ │ - iget v5, v0, Lru/valle/btc/BitcoinException;->errorCode:I │ - │ - sparse-switch v5, :sswitch_data_0 │ + sparse-switch v3, :sswitch_data_0 │ │ .line 1110 │ - new-instance v5, Lru/valle/btc/MainActivity$GenerateTransactionResult; │ + new-instance v3, Lru/valle/btc/MainActivity$GenerateTransactionResult; │ │ - new-instance v6, Ljava/lang/StringBuilder; │ + new-instance v4, Ljava/lang/StringBuilder; │ │ - invoke-direct {v6}, Ljava/lang/StringBuilder;->()V │ + invoke-direct {v4}, Ljava/lang/StringBuilder;->()V │ │ move-object/from16 v0, p0 │ │ - iget-object v7, v0, Lru/valle/btc/MainActivity$21;->this$0:Lru/valle/btc/MainActivity; │ + iget-object v5, v0, Lru/valle/btc/MainActivity$21;->this$0:Lru/valle/btc/MainActivity; │ │ - const v12, 0x7f08000c │ + const v10, 0x7f08000c │ │ - invoke-virtual {v7, v12}, Lru/valle/btc/MainActivity;->getString(I)Ljava/lang/String; │ + invoke-virtual {v5, v10}, Lru/valle/btc/MainActivity;->getString(I)Ljava/lang/String; │ │ - move-result-object v7 │ + move-result-object v5 │ │ - invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v6 │ + move-result-object v4 │ │ - const-string v7, ": " │ + const-string v5, ": " │ │ - invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v6 │ + move-result-object v4 │ │ - invoke-virtual/range {v16 .. v16}, Lru/valle/btc/BitcoinException;->getMessage()Ljava/lang/String; │ + invoke-virtual {v2}, Lru/valle/btc/BitcoinException;->getMessage()Ljava/lang/String; │ │ - move-result-object v7 │ + move-result-object v5 │ │ - invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v6 │ + move-result-object v4 │ │ - invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v6 │ + move-result-object v4 │ │ - const/4 v7, 0x0 │ + const/4 v5, 0x0 │ │ - invoke-direct {v5, v6, v7}, Lru/valle/btc/MainActivity$GenerateTransactionResult;->(Ljava/lang/String;I)V │ + invoke-direct {v3, v4, v5}, Lru/valle/btc/MainActivity$GenerateTransactionResult;->(Ljava/lang/String;I)V │ │ .line 1129 │ - .end local v16 # "e":Lru/valle/btc/BitcoinException; │ + .end local v2 # "e":Lru/valle/btc/BitcoinException; │ :goto_6 │ - return-object v5 │ + return-object v3 │ │ .line 1099 │ - .restart local v16 # "e":Lru/valle/btc/BitcoinException; │ + .restart local v2 # "e":Lru/valle/btc/BitcoinException; │ :sswitch_0 │ - new-instance v5, Lru/valle/btc/MainActivity$GenerateTransactionResult; │ + new-instance v3, Lru/valle/btc/MainActivity$GenerateTransactionResult; │ │ move-object/from16 v0, p0 │ │ - iget-object v6, v0, Lru/valle/btc/MainActivity$21;->this$0:Lru/valle/btc/MainActivity; │ + iget-object v4, v0, Lru/valle/btc/MainActivity$21;->this$0:Lru/valle/btc/MainActivity; │ │ - const v7, 0x7f08000e │ + const v5, 0x7f08000e │ │ - invoke-virtual {v6, v7}, Lru/valle/btc/MainActivity;->getString(I)Ljava/lang/String; │ + invoke-virtual {v4, v5}, Lru/valle/btc/MainActivity;->getString(I)Ljava/lang/String; │ │ - move-result-object v6 │ + move-result-object v4 │ │ - const/4 v7, 0x4 │ + const/4 v5, 0x4 │ │ - invoke-direct {v5, v6, v7}, Lru/valle/btc/MainActivity$GenerateTransactionResult;->(Ljava/lang/String;I)V │ + invoke-direct {v3, v4, v5}, Lru/valle/btc/MainActivity$GenerateTransactionResult;->(Ljava/lang/String;I)V │ │ goto :goto_6 │ │ .line 1101 │ :sswitch_1 │ - new-instance v5, Lru/valle/btc/MainActivity$GenerateTransactionResult; │ + new-instance v3, Lru/valle/btc/MainActivity$GenerateTransactionResult; │ │ move-object/from16 v0, p0 │ │ - iget-object v6, v0, Lru/valle/btc/MainActivity$21;->this$0:Lru/valle/btc/MainActivity; │ + iget-object v4, v0, Lru/valle/btc/MainActivity$21;->this$0:Lru/valle/btc/MainActivity; │ │ - const v7, 0x7f080014 │ + const v5, 0x7f080014 │ │ - invoke-virtual {v6, v7}, Lru/valle/btc/MainActivity;->getString(I)Ljava/lang/String; │ + invoke-virtual {v4, v5}, Lru/valle/btc/MainActivity;->getString(I)Ljava/lang/String; │ │ - move-result-object v6 │ + move-result-object v4 │ │ - const/4 v7, 0x1 │ + const/4 v5, 0x1 │ │ - invoke-direct {v5, v6, v7}, Lru/valle/btc/MainActivity$GenerateTransactionResult;->(Ljava/lang/String;I)V │ + invoke-direct {v3, v4, v5}, Lru/valle/btc/MainActivity$GenerateTransactionResult;->(Ljava/lang/String;I)V │ │ goto :goto_6 │ │ .line 1103 │ :sswitch_2 │ - new-instance v5, Lru/valle/btc/MainActivity$GenerateTransactionResult; │ + new-instance v3, Lru/valle/btc/MainActivity$GenerateTransactionResult; │ │ move-object/from16 v0, p0 │ │ - iget-object v6, v0, Lru/valle/btc/MainActivity$21;->this$0:Lru/valle/btc/MainActivity; │ + iget-object v4, v0, Lru/valle/btc/MainActivity$21;->this$0:Lru/valle/btc/MainActivity; │ │ - const v7, 0x7f080023 │ + const v5, 0x7f080023 │ │ - invoke-virtual {v6, v7}, Lru/valle/btc/MainActivity;->getString(I)Ljava/lang/String; │ + invoke-virtual {v4, v5}, Lru/valle/btc/MainActivity;->getString(I)Ljava/lang/String; │ │ - move-result-object v6 │ + move-result-object v4 │ │ - const/4 v7, 0x2 │ + const/4 v5, 0x2 │ │ - invoke-direct {v5, v6, v7}, Lru/valle/btc/MainActivity$GenerateTransactionResult;->(Ljava/lang/String;I)V │ + invoke-direct {v3, v4, v5}, Lru/valle/btc/MainActivity$GenerateTransactionResult;->(Ljava/lang/String;I)V │ │ goto :goto_6 │ │ .line 1112 │ - .end local v16 # "e":Lru/valle/btc/BitcoinException; │ + .end local v2 # "e":Lru/valle/btc/BitcoinException; │ :catch_2 │ - move-exception v16 │ + move-exception v2 │ │ .line 1113 │ - .local v16, "e":Ljava/lang/Exception; │ - new-instance v5, Lru/valle/btc/MainActivity$GenerateTransactionResult; │ + .local v2, "e":Ljava/lang/Exception; │ + new-instance v3, Lru/valle/btc/MainActivity$GenerateTransactionResult; │ │ - new-instance v6, Ljava/lang/StringBuilder; │ + new-instance v4, Ljava/lang/StringBuilder; │ │ - invoke-direct {v6}, Ljava/lang/StringBuilder;->()V │ + invoke-direct {v4}, Ljava/lang/StringBuilder;->()V │ │ move-object/from16 v0, p0 │ │ - iget-object v7, v0, Lru/valle/btc/MainActivity$21;->this$0:Lru/valle/btc/MainActivity; │ - │ - const v12, 0x7f08000c │ + iget-object v5, v0, Lru/valle/btc/MainActivity$21;->this$0:Lru/valle/btc/MainActivity; │ │ - invoke-virtual {v7, v12}, Lru/valle/btc/MainActivity;->getString(I)Ljava/lang/String; │ + const v10, 0x7f08000c │ │ - move-result-object v7 │ + invoke-virtual {v5, v10}, Lru/valle/btc/MainActivity;->getString(I)Ljava/lang/String; │ │ - invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + move-result-object v5 │ │ - move-result-object v6 │ + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - const-string v7, ": " │ + move-result-object v4 │ │ - invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + const-string v5, ": " │ │ - move-result-object v6 │ + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-object/from16 v0, v16 │ + move-result-object v4 │ │ - invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; │ + invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; │ │ - move-result-object v6 │ + move-result-object v4 │ │ - invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v6 │ + move-result-object v4 │ │ - const/4 v7, 0x0 │ + const/4 v5, 0x0 │ │ - invoke-direct {v5, v6, v7}, Lru/valle/btc/MainActivity$GenerateTransactionResult;->(Ljava/lang/String;I)V │ + invoke-direct {v3, v4, v5}, Lru/valle/btc/MainActivity$GenerateTransactionResult;->(Ljava/lang/String;I)V │ │ goto :goto_6 │ │ .line 1117 │ - .end local v16 # "e":Ljava/lang/Exception; │ - .restart local v4 # "arr$":[Lru/valle/btc/Transaction$Input; │ - .restart local v8 # "amount":J │ - .restart local v10 # "extraFee":J │ - .restart local v17 # "i":I │ - .restart local v20 # "i$":Ljava/util/Iterator; │ - .restart local v22 # "inValue":J │ - .restart local v24 # "input":Lru/valle/btc/Transaction$Input; │ - .restart local v25 # "len$":I │ - .restart local v29 # "preferences":Landroid/content/SharedPreferences; │ - .restart local v30 # "relatedScripts":[Lru/valle/btc/Transaction$Script; │ - .restart local v31 # "spendTx":Lru/valle/btc/Transaction; │ + .end local v2 # "e":Ljava/lang/Exception; │ + .restart local v6 # "amount":J │ + .restart local v8 # "extraFee":J │ + .restart local v16 # "i":I │ + .restart local v17 # "input":Lru/valle/btc/Transaction$Input; │ + .restart local v18 # "inValue":J │ + .restart local v23 # "preferences":Landroid/content/SharedPreferences; │ + .restart local v24 # "relatedScripts":[Lru/valle/btc/Transaction$Script; │ + .restart local v25 # "spendTx":Lru/valle/btc/Transaction; │ :cond_7 │ - add-int/lit8 v20, v21, 0x1 │ - │ - .local v20, "i$":I │ - move/from16 v21, v20 │ + add-int/lit8 v3, v3, 0x1 │ │ - .end local v20 # "i$":I │ - .restart local v21 # "i$":I │ goto/16 :goto_4 │ │ .line 1124 │ - .end local v24 # "input":Lru/valle/btc/Transaction$Input; │ + .end local v17 # "input":Lru/valle/btc/Transaction$Input; │ :cond_8 │ - const-wide/16 v26, 0x0 │ + const-wide/16 v20, 0x0 │ │ .line 1125 │ - .local v26, "outValue":J │ - move-object/from16 v0, v31 │ + .local v20, "outValue":J │ + move-object/from16 v0, v25 │ │ iget-object v4, v0, Lru/valle/btc/Transaction;->outputs:[Lru/valle/btc/Transaction$Output; │ │ - .local v4, "arr$":[Lru/valle/btc/Transaction$Output; │ - array-length v0, v4 │ + array-length v5, v4 │ │ - move/from16 v25, v0 │ - │ - const/16 v20, 0x0 │ + const/4 v3, 0x0 │ │ - .end local v21 # "i$":I │ - .restart local v20 # "i$":I │ :goto_7 │ - move/from16 v0, v20 │ - │ - move/from16 v1, v25 │ + if-ge v3, v5, :cond_9 │ │ - if-ge v0, v1, :cond_9 │ - │ - aget-object v28, v4, v20 │ + aget-object v22, v4, v3 │ │ .line 1126 │ - .local v28, "output":Lru/valle/btc/Transaction$Output; │ - move-object/from16 v0, v28 │ + .local v22, "output":Lru/valle/btc/Transaction$Output; │ + move-object/from16 v0, v22 │ │ - iget-wide v6, v0, Lru/valle/btc/Transaction$Output;->value:J │ + iget-wide v10, v0, Lru/valle/btc/Transaction$Output;->value:J │ │ - add-long v26, v26, v6 │ + add-long v20, v20, v10 │ │ .line 1125 │ - add-int/lit8 v20, v20, 0x1 │ + add-int/lit8 v3, v3, 0x1 │ │ goto :goto_7 │ │ .line 1128 │ - .end local v28 # "output":Lru/valle/btc/Transaction$Output; │ + .end local v22 # "output":Lru/valle/btc/Transaction$Output; │ :cond_9 │ - sub-long v18, v22, v26 │ + sub-long v14, v18, v20 │ │ .line 1129 │ - .local v18, "fee":J │ - new-instance v5, Lru/valle/btc/MainActivity$GenerateTransactionResult; │ + .local v14, "fee":J │ + new-instance v3, Lru/valle/btc/MainActivity$GenerateTransactionResult; │ │ - move-object/from16 v0, v31 │ - │ - move-wide/from16 v1, v18 │ + move-object/from16 v0, v25 │ │ - invoke-direct {v5, v0, v1, v2}, Lru/valle/btc/MainActivity$GenerateTransactionResult;->(Lru/valle/btc/Transaction;J)V │ + invoke-direct {v3, v0, v14, v15}, Lru/valle/btc/MainActivity$GenerateTransactionResult;->(Lru/valle/btc/Transaction;J)V │ │ goto/16 :goto_6 │ │ .line 1097 │ :sswitch_data_0 │ .sparse-switch │ 0x1 -> :sswitch_0 │ @@ -2436,26 +2394,29 @@ │ │ move-object/from16 v0, p1 │ │ iget-object v0, v0, Lru/valle/btc/MainActivity$GenerateTransactionResult;->errorMessage:Ljava/lang/String; │ │ move-object/from16 v22, v0 │ │ + .line 1254 │ invoke-virtual/range {v21 .. v22}, Landroid/app/AlertDialog$Builder;->setMessage(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; │ │ move-result-object v21 │ │ const v22, 0x104000a │ │ const/16 v23, 0x0 │ │ + .line 1255 │ invoke-virtual/range {v21 .. v23}, Landroid/app/AlertDialog$Builder;->setPositiveButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; │ │ move-result-object v21 │ │ + .line 1256 │ invoke-virtual/range {v21 .. v21}, Landroid/app/AlertDialog$Builder;->show()Landroid/app/AlertDialog; │ │ goto/16 :goto_1 │ │ .line 1259 │ :cond_14 │ const-string v22, "" ├── smali/ru/valle/btc/MainActivity$22.smali │ @@ -28,14 +28,15 @@ │ # instance fields │ .field final synthetic this$0:Lru/valle/btc/MainActivity; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/MainActivity; │ │ .prologue │ .line 1398 │ iput-object p1, p0, Lru/valle/btc/MainActivity$22;->this$0:Lru/valle/btc/MainActivity; │ │ invoke-direct {p0}, Landroid/os/AsyncTask;->()V ├── smali/ru/valle/btc/MainActivity$23$1.smali │ @@ -28,14 +28,15 @@ │ # instance fields │ .field final synthetic this$1:Lru/valle/btc/MainActivity$23; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity$23;)V │ .locals 0 │ + .param p1, "this$1" # Lru/valle/btc/MainActivity$23; │ │ .prologue │ .line 1444 │ iput-object p1, p0, Lru/valle/btc/MainActivity$23$1;->this$1:Lru/valle/btc/MainActivity$23; │ │ invoke-direct {p0}, Landroid/os/AsyncTask;->()V ├── smali/ru/valle/btc/MainActivity$23.smali │ @@ -19,14 +19,15 @@ │ │ .field final synthetic val$keyPair:Lru/valle/btc/KeyPair; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity;Lru/valle/btc/KeyPair;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/MainActivity; │ │ .prologue │ .line 1440 │ iput-object p1, p0, Lru/valle/btc/MainActivity$23;->this$0:Lru/valle/btc/MainActivity; │ │ iput-object p2, p0, Lru/valle/btc/MainActivity$23;->val$keyPair:Lru/valle/btc/KeyPair; ├── smali/ru/valle/btc/MainActivity$24.smali │ @@ -19,14 +19,15 @@ │ │ .field final synthetic val$address:Ljava/lang/String; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity;Ljava/lang/String;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/MainActivity; │ │ .prologue │ .line 1486 │ iput-object p1, p0, Lru/valle/btc/MainActivity$24;->this$0:Lru/valle/btc/MainActivity; │ │ iput-object p2, p0, Lru/valle/btc/MainActivity$24;->val$address:Ljava/lang/String; │ │ @@ -122,24 +123,27 @@ │ .line 1497 │ new-instance v3, Landroid/app/AlertDialog$Builder; │ │ iget-object v4, p0, Lru/valle/btc/MainActivity$24;->this$0:Lru/valle/btc/MainActivity; │ │ invoke-direct {v3, v4}, Landroid/app/AlertDialog$Builder;->(Landroid/content/Context;)V │ │ + .line 1498 │ invoke-virtual {v3, v1}, Landroid/app/AlertDialog$Builder;->setView(Landroid/view/View;)Landroid/app/AlertDialog$Builder; │ │ move-result-object v3 │ │ const v4, 0x104000a │ │ const/4 v5, 0x0 │ │ + .line 1499 │ invoke-virtual {v3, v4, v5}, Landroid/app/AlertDialog$Builder;->setPositiveButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; │ │ move-result-object v3 │ │ + .line 1500 │ invoke-virtual {v3}, Landroid/app/AlertDialog$Builder;->show()Landroid/app/AlertDialog; │ │ .line 1501 │ return-void │ .end method ├── smali/ru/valle/btc/MainActivity$2.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lru/valle/btc/MainActivity; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/MainActivity; │ │ .prologue │ .line 234 │ iput-object p1, p0, Lru/valle/btc/MainActivity$2;->this$0:Lru/valle/btc/MainActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/ru/valle/btc/MainActivity$3.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lru/valle/btc/MainActivity; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/MainActivity; │ │ .prologue │ .line 259 │ iput-object p1, p0, Lru/valle/btc/MainActivity$3;->this$0:Lru/valle/btc/MainActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/ru/valle/btc/MainActivity$4$1.smali │ @@ -30,14 +30,15 @@ │ │ .field final synthetic val$privateKeyToDecode:Ljava/lang/String; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity$4;Ljava/lang/String;)V │ .locals 0 │ + .param p1, "this$1" # Lru/valle/btc/MainActivity$4; │ │ .prologue │ .line 280 │ iput-object p1, p0, Lru/valle/btc/MainActivity$4$1;->this$1:Lru/valle/btc/MainActivity$4; │ │ iput-object p2, p0, Lru/valle/btc/MainActivity$4$1;->val$privateKeyToDecode:Ljava/lang/String; ├── smali/ru/valle/btc/MainActivity$4.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lru/valle/btc/MainActivity; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/MainActivity; │ │ .prologue │ .line 265 │ iput-object p1, p0, Lru/valle/btc/MainActivity$4;->this$0:Lru/valle/btc/MainActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/ru/valle/btc/MainActivity$5.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lru/valle/btc/MainActivity; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/MainActivity; │ │ .prologue │ .line 314 │ iput-object p1, p0, Lru/valle/btc/MainActivity$5;->this$0:Lru/valle/btc/MainActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/ru/valle/btc/MainActivity$6.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lru/valle/btc/MainActivity; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/MainActivity; │ │ .prologue │ .line 330 │ iput-object p1, p0, Lru/valle/btc/MainActivity$6;->this$0:Lru/valle/btc/MainActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/ru/valle/btc/MainActivity$7.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lru/valle/btc/MainActivity; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/MainActivity; │ │ .prologue │ .line 340 │ iput-object p1, p0, Lru/valle/btc/MainActivity$7;->this$0:Lru/valle/btc/MainActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/ru/valle/btc/MainActivity$8.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lru/valle/btc/MainActivity; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/MainActivity; │ │ .prologue │ .line 346 │ iput-object p1, p0, Lru/valle/btc/MainActivity$8;->this$0:Lru/valle/btc/MainActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/ru/valle/btc/MainActivity$9.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lru/valle/btc/MainActivity; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/MainActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/MainActivity; │ │ .prologue │ .line 352 │ iput-object p1, p0, Lru/valle/btc/MainActivity$9;->this$0:Lru/valle/btc/MainActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/ru/valle/btc/MainActivity.smali │ @@ -193,15 +193,14 @@ │ invoke-direct {p0}, Landroid/app/Activity;->()V │ │ .line 130 │ const/4 v0, -0x1 │ │ iput v0, p0, Lru/valle/btc/MainActivity;->verifiedConfirmationsCount:I │ │ - .line 1010 │ return-void │ .end method │ │ .method static synthetic access$000(Lru/valle/btc/MainActivity;)Ljava/lang/String; │ .locals 1 │ .param p0, "x0" # Lru/valle/btc/MainActivity; │ │ @@ -1009,14 +1008,15 @@ │ .line 627 │ new-instance v5, Lru/valle/btc/MainActivity$18; │ │ invoke-direct {v5, p0, v0, v1, v3}, Lru/valle/btc/MainActivity$18;->(Lru/valle/btc/MainActivity;ZLru/valle/btc/KeyPair;Ljava/lang/String;)V │ │ new-array v4, v4, [Ljava/lang/Void; │ │ + .line 701 │ invoke-virtual {v5, v4}, Lru/valle/btc/MainActivity$18;->execute([Ljava/lang/Object;)Landroid/os/AsyncTask; │ │ move-result-object v4 │ │ iput-object v4, p0, Lru/valle/btc/MainActivity;->bip38Task:Landroid/os/AsyncTask; │ │ .line 703 │ @@ -1088,14 +1088,15 @@ │ .line 1398 │ new-instance v0, Lru/valle/btc/MainActivity$22; │ │ invoke-direct {v0, p0}, Lru/valle/btc/MainActivity$22;->(Lru/valle/btc/MainActivity;)V │ │ new-array v1, v2, [Ljava/lang/Void; │ │ + .line 1417 │ invoke-virtual {v0, v1}, Lru/valle/btc/MainActivity$22;->execute([Ljava/lang/Object;)Landroid/os/AsyncTask; │ │ move-result-object v0 │ │ iput-object v0, p0, Lru/valle/btc/MainActivity;->addressGenerateTask:Landroid/os/AsyncTask; │ │ .line 1419 │ @@ -2071,14 +2072,15 @@ │ │ invoke-direct {v3, p0, v2, v1, p1}, Lru/valle/btc/MainActivity$19;->(Lru/valle/btc/MainActivity;Ljava/lang/String;ILjava/lang/String;)V │ │ const/4 v4, 0x0 │ │ new-array v4, v4, [Ljava/lang/Void; │ │ + .line 774 │ invoke-virtual {v3, v4}, Lru/valle/btc/MainActivity$19;->execute([Ljava/lang/Object;)Landroid/os/AsyncTask; │ │ .line 775 │ return-void │ .end method │ │ .method private showQRCodePopupForPrivateKey(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V │ @@ -2124,14 +2126,15 @@ │ │ invoke-direct/range {v0 .. v6}, Lru/valle/btc/MainActivity$20;->(Lru/valle/btc/MainActivity;[Ljava/lang/String;I[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V │ │ const/4 v1, 0x0 │ │ new-array v1, v1, [Ljava/lang/Void; │ │ + .line 916 │ invoke-virtual {v0, v1}, Lru/valle/btc/MainActivity$20;->execute([Ljava/lang/Object;)Landroid/os/AsyncTask; │ │ .line 917 │ return-void │ .end method │ │ .method private showSpendPanelForKeyPair(Lru/valle/btc/KeyPair;)V │ @@ -2385,15 +2388,15 @@ │ move v9, v10 │ │ .line 1514 │ goto :goto_1 │ .end method │ │ .method private static splitQuery(Ljava/lang/String;)Ljava/util/Map; │ - .locals 11 │ + .locals 10 │ .param p0, "query" # Ljava/lang/String; │ .annotation system Ldalvik/annotation/Signature; │ value = { │ "(", │ "Ljava/lang/String;", │ ")", │ "Ljava/util/Map", │ @@ -2401,103 +2404,96 @@ │ "Ljava/lang/String;", │ "Ljava/lang/String;", │ ">;" │ } │ .end annotation │ │ .prologue │ + const/4 v5, 0x0 │ + │ .line 1376 │ - new-instance v7, Ljava/util/LinkedHashMap; │ + new-instance v4, Ljava/util/LinkedHashMap; │ │ - invoke-direct {v7}, Ljava/util/LinkedHashMap;->()V │ + invoke-direct {v4}, Ljava/util/LinkedHashMap;->()V │ │ .line 1377 │ - .local v7, "query_pairs":Ljava/util/Map;, "Ljava/util/Map;" │ - const-string v8, "&" │ + .local v4, "query_pairs":Ljava/util/Map;, "Ljava/util/Map;" │ + const-string v6, "&" │ │ - invoke-virtual {p0, v8}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; │ + invoke-virtual {p0, v6}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; │ │ - move-result-object v6 │ + move-result-object v3 │ │ .line 1379 │ - .local v6, "pairs":[Ljava/lang/String; │ - move-object v0, v6 │ - │ - .local v0, "arr$":[Ljava/lang/String; │ + .local v3, "pairs":[Ljava/lang/String; │ :try_start_0 │ - array-length v4, v0 │ + array-length v6, v3 │ │ - .local v4, "len$":I │ - const/4 v2, 0x0 │ - │ - .local v2, "i$":I │ :goto_0 │ - if-ge v2, v4, :cond_0 │ + if-ge v5, v6, :cond_0 │ │ - aget-object v5, v0, v2 │ + aget-object v2, v3, v5 │ │ .line 1380 │ - .local v5, "pair":Ljava/lang/String; │ - const-string v8, "=" │ + .local v2, "pair":Ljava/lang/String; │ + const-string v7, "=" │ │ - invoke-virtual {v5, v8}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I │ + invoke-virtual {v2, v7}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I │ │ - move-result v3 │ + move-result v1 │ │ .line 1381 │ - .local v3, "idx":I │ - const/4 v8, 0x0 │ + .local v1, "idx":I │ + const/4 v7, 0x0 │ │ - invoke-virtual {v5, v8, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String; │ + invoke-virtual {v2, v7, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String; │ │ - move-result-object v8 │ + move-result-object v7 │ │ - const-string v9, "UTF-8" │ + const-string v8, "UTF-8" │ │ - invoke-static {v8, v9}, Ljava/net/URLDecoder;->decode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ + invoke-static {v7, v8}, Ljava/net/URLDecoder;->decode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ - move-result-object v8 │ + move-result-object v7 │ │ - add-int/lit8 v9, v3, 0x1 │ + add-int/lit8 v8, v1, 0x1 │ │ - invoke-virtual {v5, v9}, Ljava/lang/String;->substring(I)Ljava/lang/String; │ + invoke-virtual {v2, v8}, Ljava/lang/String;->substring(I)Ljava/lang/String; │ │ - move-result-object v9 │ + move-result-object v8 │ │ - const-string v10, "UTF-8" │ + const-string v9, "UTF-8" │ │ - invoke-static {v9, v10}, Ljava/net/URLDecoder;->decode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ + invoke-static {v8, v9}, Ljava/net/URLDecoder;->decode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ - move-result-object v9 │ + move-result-object v8 │ │ - invoke-interface {v7, v8, v9}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; │ + invoke-interface {v4, v7, v8}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; │ :try_end_0 │ .catch Ljava/io/UnsupportedEncodingException; {:try_start_0 .. :try_end_0} :catch_0 │ │ .line 1379 │ - add-int/lit8 v2, v2, 0x1 │ + add-int/lit8 v5, v5, 0x1 │ │ goto :goto_0 │ │ .line 1383 │ - .end local v2 # "i$":I │ - .end local v3 # "idx":I │ - .end local v4 # "len$":I │ - .end local v5 # "pair":Ljava/lang/String; │ + .end local v1 # "idx":I │ + .end local v2 # "pair":Ljava/lang/String; │ :catch_0 │ - move-exception v1 │ + move-exception v0 │ │ .line 1384 │ - .local v1, "e":Ljava/io/UnsupportedEncodingException; │ - invoke-virtual {v1}, Ljava/io/UnsupportedEncodingException;->printStackTrace()V │ + .local v0, "e":Ljava/io/UnsupportedEncodingException; │ + invoke-virtual {v0}, Ljava/io/UnsupportedEncodingException;->printStackTrace()V │ │ .line 1386 │ - .end local v1 # "e":Ljava/io/UnsupportedEncodingException; │ + .end local v0 # "e":Ljava/io/UnsupportedEncodingException; │ :cond_0 │ - return-object v7 │ + return-object v4 │ .end method │ │ .method private tryToGenerateSpendingTransaction()V │ .locals 10 │ │ .prologue │ const/16 v2, 0x8 │ @@ -2601,14 +2597,15 @@ │ │ invoke-direct/range {v1 .. v9}, Lru/valle/btc/MainActivity$21;->(Lru/valle/btc/MainActivity;Ljava/util/ArrayList;JLjava/lang/String;Lru/valle/btc/KeyPair;ZI)V │ │ const/4 v0, 0x0 │ │ new-array v0, v0, [Ljava/lang/Void; │ │ + .line 1281 │ invoke-virtual {v1, v0}, Lru/valle/btc/MainActivity$21;->execute([Ljava/lang/Object;)Landroid/os/AsyncTask; │ │ move-result-object v0 │ │ iput-object v0, p0, Lru/valle/btc/MainActivity;->generateTransactionTask:Landroid/os/AsyncTask; │ │ .line 1283 ├── smali/ru/valle/btc/PreferencesActivity$SettingsFragment$1.smali │ @@ -22,14 +22,15 @@ │ │ .field final synthetic val$key:Ljava/lang/String; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/PreferencesActivity$SettingsFragment;Ljava/lang/String;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/PreferencesActivity$SettingsFragment; │ │ .prologue │ .line 89 │ iput-object p1, p0, Lru/valle/btc/PreferencesActivity$SettingsFragment$1;->this$0:Lru/valle/btc/PreferencesActivity$SettingsFragment; │ │ iput-object p2, p0, Lru/valle/btc/PreferencesActivity$SettingsFragment$1;->val$key:Ljava/lang/String; ├── smali/ru/valle/btc/PreferencesActivity.smali │ @@ -31,15 +31,14 @@ │ .method public constructor ()V │ .locals 0 │ │ .prologue │ .line 24 │ invoke-direct {p0}, Landroid/app/Activity;->()V │ │ - .line 56 │ return-void │ .end method │ │ │ # virtual methods │ .method public onCreate(Landroid/os/Bundle;)V │ .locals 4 │ @@ -60,18 +59,20 @@ │ │ const v2, 0x1020002 │ │ new-instance v3, Lru/valle/btc/PreferencesActivity$SettingsFragment; │ │ invoke-direct {v3}, Lru/valle/btc/PreferencesActivity$SettingsFragment;->()V │ │ + .line 35 │ invoke-virtual {v1, v2, v3}, Landroid/app/FragmentTransaction;->replace(ILandroid/app/Fragment;)Landroid/app/FragmentTransaction; │ │ move-result-object v1 │ │ + .line 36 │ invoke-virtual {v1}, Landroid/app/FragmentTransaction;->commit()I │ │ .line 37 │ sget v1, Landroid/os/Build$VERSION;->SDK_INT:I │ │ const/16 v2, 0x10 ├── smali/ru/valle/btc/PreferencesActivityForOlderDevices$1.smali │ @@ -22,14 +22,15 @@ │ │ .field final synthetic val$key:Ljava/lang/String; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/PreferencesActivityForOlderDevices;Ljava/lang/String;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/PreferencesActivityForOlderDevices; │ │ .prologue │ .line 42 │ iput-object p1, p0, Lru/valle/btc/PreferencesActivityForOlderDevices$1;->this$0:Lru/valle/btc/PreferencesActivityForOlderDevices; │ │ iput-object p2, p0, Lru/valle/btc/PreferencesActivityForOlderDevices$1;->val$key:Ljava/lang/String; ├── smali/ru/valle/btc/R.smali │ @@ -26,10 +26,9 @@ │ .method public constructor ()V │ .locals 0 │ │ .prologue │ .line 10 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ - .line 161 │ return-void │ .end method ├── smali/ru/valle/btc/Renderer$1.smali │ @@ -53,79 +53,79 @@ │ │ return-void │ .end method │ │ │ # virtual methods │ .method protected varargs doInBackground([Ljava/lang/Void;)Landroid/graphics/Bitmap; │ - .locals 29 │ + .locals 28 │ .param p1, "params" # [Ljava/lang/Void; │ │ .prologue │ .line 45 │ - new-instance v25, Landroid/text/TextPaint; │ + new-instance v24, Landroid/text/TextPaint; │ │ - invoke-direct/range {v25 .. v25}, Landroid/text/TextPaint;->()V │ + invoke-direct/range {v24 .. v24}, Landroid/text/TextPaint;->()V │ │ .line 46 │ - .local v25, "textPaint":Landroid/text/TextPaint; │ + .local v24, "textPaint":Landroid/text/TextPaint; │ const/4 v3, 0x1 │ │ - move-object/from16 v0, v25 │ + move-object/from16 v0, v24 │ │ invoke-virtual {v0, v3}, Landroid/text/TextPaint;->setAntiAlias(Z)V │ │ .line 47 │ const/high16 v3, -0x1000000 │ │ - move-object/from16 v0, v25 │ + move-object/from16 v0, v24 │ │ invoke-virtual {v0, v3}, Landroid/text/TextPaint;->setColor(I)V │ │ .line 48 │ const/16 v10, 0x64 │ │ .line 49 │ .local v10, "bitmapMargin":I │ - const/16 v24, 0x1c │ + const/16 v23, 0x1c │ │ .line 50 │ - .local v24, "textHeight":I │ - const/16 v23, 0x3c │ + .local v23, "textHeight":I │ + const/16 v22, 0x3c │ │ .line 51 │ - .local v23, "spaceBetweenQrCodes":I │ + .local v22, "spaceBetweenQrCodes":I │ const/high16 v3, 0x41e00000 # 28.0f │ │ - move-object/from16 v0, v25 │ + move-object/from16 v0, v24 │ │ invoke-virtual {v0, v3}, Landroid/text/TextPaint;->setTextSize(F)V │ │ .line 52 │ sget-object v3, Landroid/graphics/Paint$Align;->CENTER:Landroid/graphics/Paint$Align; │ │ - move-object/from16 v0, v25 │ + move-object/from16 v0, v24 │ │ invoke-virtual {v0, v3}, Landroid/text/TextPaint;->setTextAlign(Landroid/graphics/Paint$Align;)V │ │ .line 53 │ - invoke-virtual/range {v25 .. v25}, Landroid/text/TextPaint;->descent()F │ + invoke-virtual/range {v24 .. v24}, Landroid/text/TextPaint;->descent()F │ │ move-result v3 │ │ const/high16 v4, 0x40000000 # 2.0f │ │ mul-float/2addr v3, v4 │ │ float-to-int v0, v3 │ │ - move/from16 v21, v0 │ + move/from16 v20, v0 │ │ .line 54 │ - .local v21, "qrCodePadding":I │ + .local v20, "qrCodePadding":I │ new-instance v12, Landroid/graphics/Rect; │ │ invoke-direct {v12}, Landroid/graphics/Rect;->()V │ │ .line 55 │ .local v12, "bounds":Landroid/graphics/Rect; │ move-object/from16 v0, p0 │ @@ -138,195 +138,196 @@ │ │ iget-object v5, v0, Lru/valle/btc/Renderer$1;->val$privateKey:Ljava/lang/String; │ │ invoke-virtual {v5}, Ljava/lang/String;->length()I │ │ move-result v5 │ │ - move-object/from16 v0, v25 │ + move-object/from16 v0, v24 │ │ invoke-virtual {v0, v3, v4, v5, v12}, Landroid/text/TextPaint;->getTextBounds(Ljava/lang/String;IILandroid/graphics/Rect;)V │ │ .line 56 │ move-object/from16 v0, p0 │ │ iget-object v3, v0, Lru/valle/btc/Renderer$1;->val$privateKey:Ljava/lang/String; │ │ - move-object/from16 v0, v25 │ + move-object/from16 v0, v24 │ │ # invokes: Lru/valle/btc/Renderer;->getTextWidth(Ljava/lang/String;Landroid/graphics/Paint;)I │ invoke-static {v3, v0}, Lru/valle/btc/Renderer;->access$000(Ljava/lang/String;Landroid/graphics/Paint;)I │ │ - move-result v26 │ + move-result v25 │ │ .line 57 │ - .local v26, "textWidth":I │ + .local v25, "textWidth":I │ move-object/from16 v0, p0 │ │ iget-object v3, v0, Lru/valle/btc/Renderer$1;->val$label:Ljava/lang/String; │ │ const/4 v4, 0x0 │ │ - move/from16 v0, v26 │ + move/from16 v0, v25 │ │ - move-object/from16 v1, v25 │ + move-object/from16 v1, v24 │ │ # invokes: Lru/valle/btc/Renderer;->wrap(Ljava/lang/String;IZLandroid/graphics/Paint;)Ljava/util/ArrayList; │ invoke-static {v3, v0, v4, v1}, Lru/valle/btc/Renderer;->access$100(Ljava/lang/String;IZLandroid/graphics/Paint;)Ljava/util/ArrayList; │ │ - move-result-object v18 │ + move-result-object v17 │ │ .line 58 │ - .local v18, "labelLinesRelaxed":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ - invoke-virtual/range {v18 .. v18}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; │ + .local v17, "labelLinesRelaxed":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ + invoke-virtual/range {v17 .. v17}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; │ │ - move-result-object v16 │ + move-result-object v3 │ │ - .local v16, "i$":Ljava/util/Iterator; │ :goto_0 │ - invoke-interface/range {v16 .. v16}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z │ │ - move-result v3 │ + move-result v4 │ │ - if-eqz v3, :cond_0 │ + if-eqz v4, :cond_0 │ │ - invoke-interface/range {v16 .. v16}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ - move-result-object v27 │ + move-result-object v26 │ │ - check-cast v27, Ljava/lang/String; │ + check-cast v26, Ljava/lang/String; │ │ .line 59 │ - .local v27, "titleLine":Ljava/lang/String; │ - move-object/from16 v0, v27 │ + .local v26, "titleLine":Ljava/lang/String; │ + move-object/from16 v0, v26 │ │ - move-object/from16 v1, v25 │ + move-object/from16 v1, v24 │ │ # invokes: Lru/valle/btc/Renderer;->getTextWidth(Ljava/lang/String;Landroid/graphics/Paint;)I │ invoke-static {v0, v1}, Lru/valle/btc/Renderer;->access$000(Ljava/lang/String;Landroid/graphics/Paint;)I │ │ - move-result v3 │ + move-result v4 │ │ - move/from16 v0, v26 │ + move/from16 v0, v25 │ │ - invoke-static {v0, v3}, Ljava/lang/Math;->max(II)I │ + invoke-static {v0, v4}, Ljava/lang/Math;->max(II)I │ │ - move-result v26 │ + move-result v25 │ │ .line 60 │ goto :goto_0 │ │ .line 61 │ - .end local v27 # "titleLine":Ljava/lang/String; │ + .end local v26 # "titleLine":Ljava/lang/String; │ :cond_0 │ move-object/from16 v0, p0 │ │ iget-object v3, v0, Lru/valle/btc/Renderer$1;->val$addressUri:Ljava/lang/String; │ │ - move-object/from16 v0, v25 │ + move-object/from16 v0, v24 │ │ # invokes: Lru/valle/btc/Renderer;->getTextWidth(Ljava/lang/String;Landroid/graphics/Paint;)I │ invoke-static {v3, v0}, Lru/valle/btc/Renderer;->access$000(Ljava/lang/String;Landroid/graphics/Paint;)I │ │ move-result v3 │ │ - move/from16 v0, v26 │ + move/from16 v0, v25 │ │ invoke-static {v0, v3}, Ljava/lang/Math;->max(II)I │ │ - move-result v26 │ + move-result v25 │ │ .line 62 │ move-object/from16 v0, p0 │ │ iget-object v3, v0, Lru/valle/btc/Renderer$1;->val$privateKey:Ljava/lang/String; │ │ const/4 v4, 0x0 │ │ invoke-static {v3, v4}, Lcom/d_project/qrcode/QRCode;->getMinimumQRCode(Ljava/lang/String;I)Lcom/d_project/qrcode/QRCode; │ │ - move-result-object v19 │ + move-result-object v18 │ │ .line 63 │ - .local v19, "privateKeyQrCode":Lcom/d_project/qrcode/QRCode; │ - move-object/from16 v0, v19 │ + .local v18, "privateKeyQrCode":Lcom/d_project/qrcode/QRCode; │ + move-object/from16 v0, v18 │ │ - move/from16 v1, v26 │ + move/from16 v1, v25 │ │ invoke-virtual {v0, v1}, Lcom/d_project/qrcode/QRCode;->createImage(I)Landroid/graphics/Bitmap; │ │ - move-result-object v20 │ + move-result-object v19 │ │ .line 64 │ - .local v20, "privateKeyQrCodeBitmap":Landroid/graphics/Bitmap; │ + .local v19, "privateKeyQrCodeBitmap":Landroid/graphics/Bitmap; │ move-object/from16 v0, p0 │ │ iget-object v3, v0, Lru/valle/btc/Renderer$1;->val$addressUri:Ljava/lang/String; │ │ const/4 v4, 0x0 │ │ invoke-static {v3, v4}, Lcom/d_project/qrcode/QRCode;->getMinimumQRCode(Ljava/lang/String;I)Lcom/d_project/qrcode/QRCode; │ │ move-result-object v8 │ │ .line 65 │ .local v8, "addressQrCode":Lcom/d_project/qrcode/QRCode; │ - move/from16 v0, v26 │ + move/from16 v0, v25 │ │ invoke-virtual {v8, v0}, Lcom/d_project/qrcode/QRCode;->createImage(I)Landroid/graphics/Bitmap; │ │ move-result-object v9 │ │ .line 66 │ .local v9, "addressQrCodeBitmap":Landroid/graphics/Bitmap; │ move-object/from16 v0, p0 │ │ iget-object v3, v0, Lru/valle/btc/Renderer$1;->val$label:Ljava/lang/String; │ │ const/4 v4, 0x1 │ │ - move/from16 v0, v26 │ + move/from16 v0, v25 │ │ - move-object/from16 v1, v25 │ + move-object/from16 v1, v24 │ │ # invokes: Lru/valle/btc/Renderer;->wrap(Ljava/lang/String;IZLandroid/graphics/Paint;)Ljava/util/ArrayList; │ invoke-static {v3, v0, v4, v1}, Lru/valle/btc/Renderer;->access$100(Ljava/lang/String;IZLandroid/graphics/Paint;)Ljava/util/ArrayList; │ │ - move-result-object v17 │ + move-result-object v16 │ │ .line 67 │ - .local v17, "labelLines":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ - mul-int/lit8 v3, v26, 0x2 │ + .local v16, "labelLines":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ + mul-int/lit8 v3, v25, 0x2 │ │ add-int/lit16 v3, v3, 0xc8 │ │ add-int/lit8 v3, v3, 0x3c │ │ - invoke-virtual/range {v20 .. v20}, Landroid/graphics/Bitmap;->getHeight()I │ + .line 68 │ + invoke-virtual/range {v19 .. v19}, Landroid/graphics/Bitmap;->getHeight()I │ │ move-result v4 │ │ - invoke-virtual/range {v17 .. v17}, Ljava/util/ArrayList;->size()I │ + invoke-virtual/range {v16 .. v16}, Ljava/util/ArrayList;->size()I │ │ move-result v5 │ │ add-int/lit8 v5, v5, 0x1 │ │ mul-int/lit8 v5, v5, 0x1c │ │ add-int/2addr v4, v5 │ │ - mul-int/lit8 v5, v21, 0x2 │ + mul-int/lit8 v5, v20, 0x2 │ │ add-int/2addr v4, v5 │ │ add-int/lit16 v4, v4, 0xc8 │ │ sget-object v5, Landroid/graphics/Bitmap$Config;->RGB_565:Landroid/graphics/Bitmap$Config; │ │ + .line 67 │ invoke-static {v3, v4, v5}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap; │ │ move-result-object v11 │ │ .line 69 │ .local v11, "bmp":Landroid/graphics/Bitmap; │ new-instance v2, Landroid/graphics/Canvas; │ @@ -377,208 +378,208 @@ │ move-result v6 │ │ int-to-float v6, v6 │ │ invoke-virtual/range {v2 .. v7}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V │ │ .line 76 │ - div-int/lit8 v3, v26, 0x2 │ + div-int/lit8 v3, v25, 0x2 │ │ add-int/lit8 v13, v3, 0x64 │ │ .line 77 │ .local v13, "centerXForAddress":I │ - add-int/lit8 v3, v26, 0x64 │ + add-int/lit8 v3, v25, 0x64 │ │ add-int/lit8 v3, v3, 0x3c │ │ - div-int/lit8 v4, v26, 0x2 │ + div-int/lit8 v4, v25, 0x2 │ │ add-int v14, v3, v4 │ │ .line 78 │ .local v14, "centerXForPrivateKey":I │ const/high16 v3, 0x42c80000 # 100.0f │ │ - invoke-virtual/range {v25 .. v25}, Landroid/text/TextPaint;->ascent()F │ + invoke-virtual/range {v24 .. v24}, Landroid/text/TextPaint;->ascent()F │ │ move-result v4 │ │ sub-float/2addr v3, v4 │ │ float-to-int v0, v3 │ │ - move/from16 v28, v0 │ + move/from16 v27, v0 │ │ .line 79 │ - .local v28, "y":I │ + .local v27, "y":I │ const/4 v15, 0x0 │ │ .local v15, "i":I │ :goto_1 │ - invoke-virtual/range {v17 .. v17}, Ljava/util/ArrayList;->size()I │ + invoke-virtual/range {v16 .. v16}, Ljava/util/ArrayList;->size()I │ │ move-result v3 │ │ if-ge v15, v3, :cond_1 │ │ .line 80 │ - move-object/from16 v0, v17 │ + move-object/from16 v0, v16 │ │ invoke-virtual {v0, v15}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; │ │ move-result-object v3 │ │ check-cast v3, Ljava/lang/String; │ │ int-to-float v4, v14 │ │ mul-int/lit8 v5, v15, 0x1c │ │ - add-int v5, v5, v28 │ + add-int v5, v5, v27 │ │ int-to-float v5, v5 │ │ - move-object/from16 v0, v25 │ + move-object/from16 v0, v24 │ │ invoke-virtual {v2, v3, v4, v5, v0}, Landroid/graphics/Canvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V │ │ .line 79 │ add-int/lit8 v15, v15, 0x1 │ │ goto :goto_1 │ │ .line 82 │ :cond_1 │ - invoke-virtual/range {v17 .. v17}, Ljava/util/ArrayList;->size()I │ + invoke-virtual/range {v16 .. v16}, Ljava/util/ArrayList;->size()I │ │ move-result v3 │ │ mul-int/lit8 v3, v3, 0x1c │ │ add-int/lit8 v3, v3, 0x64 │ │ - add-int v28, v3, v21 │ + add-int v27, v3, v20 │ │ .line 83 │ - new-instance v22, Landroid/graphics/Paint; │ + new-instance v21, Landroid/graphics/Paint; │ │ - invoke-direct/range {v22 .. v22}, Landroid/graphics/Paint;->()V │ + invoke-direct/range {v21 .. v21}, Landroid/graphics/Paint;->()V │ │ .line 84 │ - .local v22, "qrCodePaint":Landroid/graphics/Paint; │ + .local v21, "qrCodePaint":Landroid/graphics/Paint; │ const/4 v3, 0x0 │ │ - move-object/from16 v0, v22 │ + move-object/from16 v0, v21 │ │ invoke-virtual {v0, v3}, Landroid/graphics/Paint;->setAntiAlias(Z)V │ │ .line 85 │ const/4 v3, 0x0 │ │ - move-object/from16 v0, v22 │ + move-object/from16 v0, v21 │ │ invoke-virtual {v0, v3}, Landroid/graphics/Paint;->setDither(Z)V │ │ .line 86 │ invoke-virtual {v9}, Landroid/graphics/Bitmap;->getWidth()I │ │ move-result v3 │ │ div-int/lit8 v3, v3, 0x2 │ │ sub-int v3, v13, v3 │ │ int-to-float v3, v3 │ │ - move/from16 v0, v28 │ + move/from16 v0, v27 │ │ int-to-float v4, v0 │ │ - move-object/from16 v0, v22 │ + move-object/from16 v0, v21 │ │ invoke-virtual {v2, v9, v3, v4, v0}, Landroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V │ │ .line 87 │ - invoke-virtual/range {v20 .. v20}, Landroid/graphics/Bitmap;->getWidth()I │ + invoke-virtual/range {v19 .. v19}, Landroid/graphics/Bitmap;->getWidth()I │ │ move-result v3 │ │ div-int/lit8 v3, v3, 0x2 │ │ sub-int v3, v14, v3 │ │ int-to-float v3, v3 │ │ - move/from16 v0, v28 │ + move/from16 v0, v27 │ │ int-to-float v4, v0 │ │ - move-object/from16 v0, v20 │ + move-object/from16 v0, v19 │ │ - move-object/from16 v1, v22 │ + move-object/from16 v1, v21 │ │ invoke-virtual {v2, v0, v3, v4, v1}, Landroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V │ │ .line 88 │ - move/from16 v0, v28 │ + move/from16 v0, v27 │ │ int-to-float v3, v0 │ │ - move/from16 v0, v21 │ + move/from16 v0, v20 │ │ int-to-float v4, v0 │ │ - invoke-virtual/range {v25 .. v25}, Landroid/text/TextPaint;->ascent()F │ + invoke-virtual/range {v24 .. v24}, Landroid/text/TextPaint;->ascent()F │ │ move-result v5 │ │ sub-float/2addr v4, v5 │ │ add-float/2addr v3, v4 │ │ float-to-int v0, v3 │ │ - move/from16 v28, v0 │ + move/from16 v27, v0 │ │ .line 89 │ move-object/from16 v0, p0 │ │ iget-object v3, v0, Lru/valle/btc/Renderer$1;->val$addressUri:Ljava/lang/String; │ │ int-to-float v4, v13 │ │ invoke-virtual {v9}, Landroid/graphics/Bitmap;->getHeight()I │ │ move-result v5 │ │ - add-int v5, v5, v28 │ + add-int v5, v5, v27 │ │ int-to-float v5, v5 │ │ - move-object/from16 v0, v25 │ + move-object/from16 v0, v24 │ │ invoke-virtual {v2, v3, v4, v5, v0}, Landroid/graphics/Canvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V │ │ .line 90 │ move-object/from16 v0, p0 │ │ iget-object v3, v0, Lru/valle/btc/Renderer$1;->val$privateKey:Ljava/lang/String; │ │ int-to-float v4, v14 │ │ - invoke-virtual/range {v20 .. v20}, Landroid/graphics/Bitmap;->getHeight()I │ + invoke-virtual/range {v19 .. v19}, Landroid/graphics/Bitmap;->getHeight()I │ │ move-result v5 │ │ - add-int v5, v5, v28 │ + add-int v5, v5, v27 │ │ int-to-float v5, v5 │ │ - move-object/from16 v0, v25 │ + move-object/from16 v0, v24 │ │ invoke-virtual {v2, v3, v4, v5, v0}, Landroid/graphics/Canvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V │ │ .line 91 │ return-object v11 │ .end method ├── smali/ru/valle/btc/Renderer$2.smali │ @@ -131,26 +131,28 @@ │ │ .line 131 │ .local v8, "addressQrCodeBitmap":Landroid/graphics/Bitmap; │ move/from16 v0, v16 │ │ add-int/lit16 v2, v0, 0xc8 │ │ + .line 132 │ invoke-virtual {v8}, Landroid/graphics/Bitmap;->getHeight()I │ │ move-result v3 │ │ mul-int/lit8 v4, v12, 0x2 │ │ add-int/2addr v3, v4 │ │ add-int/lit16 v3, v3, 0xc8 │ │ sget-object v4, Landroid/graphics/Bitmap$Config;->RGB_565:Landroid/graphics/Bitmap$Config; │ │ + .line 131 │ invoke-static {v2, v3, v4}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap; │ │ move-result-object v10 │ │ .line 133 │ .local v10, "bmp":Landroid/graphics/Bitmap; │ new-instance v1, Landroid/graphics/Canvas; ├── smali/ru/valle/btc/Renderer.smali │ @@ -86,14 +86,15 @@ │ │ invoke-direct {v0, p1, p0}, Lru/valle/btc/Renderer$2;->(Ljava/lang/String;Landroid/app/Activity;)V │ │ const/4 v1, 0x0 │ │ new-array v1, v1, [Ljava/lang/Void; │ │ + .line 168 │ invoke-virtual {v0, v1}, Lru/valle/btc/Renderer$2;->execute([Ljava/lang/Object;)Landroid/os/AsyncTask; │ │ .line 170 │ return-void │ .end method │ │ .method static printWallet(Landroid/app/Activity;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V │ @@ -109,14 +110,15 @@ │ │ invoke-direct {v0, p3, p1, p2, p0}, Lru/valle/btc/Renderer$1;->(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/Activity;)V │ │ const/4 v1, 0x0 │ │ new-array v1, v1, [Ljava/lang/Void; │ │ + .line 111 │ invoke-virtual {v0, v1}, Lru/valle/btc/Renderer$1;->execute([Ljava/lang/Object;)Landroid/os/AsyncTask; │ │ .line 112 │ return-void │ .end method │ │ .method private static wrap(Ljava/lang/String;IZLandroid/graphics/Paint;)Ljava/util/ArrayList; ├── smali/ru/valle/btc/ScanActivity$1.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lru/valle/btc/ScanActivity; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/ScanActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/ScanActivity; │ │ .prologue │ .line 92 │ iput-object p1, p0, Lru/valle/btc/ScanActivity$1;->this$0:Lru/valle/btc/ScanActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/ru/valle/btc/ScanActivity$3.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lru/valle/btc/ScanActivity; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/ScanActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/ScanActivity; │ │ .prologue │ .line 157 │ iput-object p1, p0, Lru/valle/btc/ScanActivity$3;->this$0:Lru/valle/btc/ScanActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/ru/valle/btc/ScanActivity$2.smali │ @@ -20,172 +20,172 @@ │ # instance fields │ .field final synthetic this$0:Lru/valle/btc/ScanActivity; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/ScanActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/ScanActivity; │ │ .prologue │ .line 101 │ iput-object p1, p0, Lru/valle/btc/ScanActivity$2;->this$0:Lru/valle/btc/ScanActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ return-void │ .end method │ │ │ # virtual methods │ .method public onPreviewFrame([BLandroid/hardware/Camera;)V │ - .locals 13 │ + .locals 12 │ .param p1, "data" # [B │ .param p2, "camera" # Landroid/hardware/Camera; │ │ .prologue │ .line 104 │ invoke-virtual {p2}, Landroid/hardware/Camera;->getParameters()Landroid/hardware/Camera$Parameters; │ │ - move-result-object v9 │ + move-result-object v8 │ │ - invoke-virtual {v9}, Landroid/hardware/Camera$Parameters;->getPreviewSize()Landroid/hardware/Camera$Size; │ + invoke-virtual {v8}, Landroid/hardware/Camera$Parameters;->getPreviewSize()Landroid/hardware/Camera$Size; │ │ - move-result-object v5 │ + move-result-object v4 │ │ .line 105 │ - .local v5, "size":Landroid/hardware/Camera$Size; │ - if-eqz v5, :cond_2 │ + .local v4, "size":Landroid/hardware/Camera$Size; │ + if-eqz v4, :cond_2 │ │ - iget-object v9, p0, Lru/valle/btc/ScanActivity$2;->this$0:Lru/valle/btc/ScanActivity; │ + iget-object v8, p0, Lru/valle/btc/ScanActivity$2;->this$0:Lru/valle/btc/ScanActivity; │ │ # getter for: Lru/valle/btc/ScanActivity;->scanner:Lnet/sourceforge/zbar/ImageScanner; │ - invoke-static {v9}, Lru/valle/btc/ScanActivity;->access$000(Lru/valle/btc/ScanActivity;)Lnet/sourceforge/zbar/ImageScanner; │ + invoke-static {v8}, Lru/valle/btc/ScanActivity;->access$000(Lru/valle/btc/ScanActivity;)Lnet/sourceforge/zbar/ImageScanner; │ │ - move-result-object v9 │ + move-result-object v8 │ │ - if-eqz v9, :cond_2 │ + if-eqz v8, :cond_2 │ │ .line 106 │ new-instance v0, Lnet/sourceforge/zbar/Image; │ │ - iget v9, v5, Landroid/hardware/Camera$Size;->width:I │ + iget v8, v4, Landroid/hardware/Camera$Size;->width:I │ │ - iget v10, v5, Landroid/hardware/Camera$Size;->height:I │ + iget v9, v4, Landroid/hardware/Camera$Size;->height:I │ │ - const-string v11, "Y800" │ + const-string v10, "Y800" │ │ - invoke-direct {v0, v9, v10, v11}, Lnet/sourceforge/zbar/Image;->(IILjava/lang/String;)V │ + invoke-direct {v0, v8, v9, v10}, Lnet/sourceforge/zbar/Image;->(IILjava/lang/String;)V │ │ .line 107 │ .local v0, "barcode":Lnet/sourceforge/zbar/Image; │ invoke-virtual {v0, p1}, Lnet/sourceforge/zbar/Image;->setData([B)V │ │ .line 108 │ - iget-object v9, p0, Lru/valle/btc/ScanActivity$2;->this$0:Lru/valle/btc/ScanActivity; │ + iget-object v8, p0, Lru/valle/btc/ScanActivity$2;->this$0:Lru/valle/btc/ScanActivity; │ │ # getter for: Lru/valle/btc/ScanActivity;->scanner:Lnet/sourceforge/zbar/ImageScanner; │ - invoke-static {v9}, Lru/valle/btc/ScanActivity;->access$000(Lru/valle/btc/ScanActivity;)Lnet/sourceforge/zbar/ImageScanner; │ + invoke-static {v8}, Lru/valle/btc/ScanActivity;->access$000(Lru/valle/btc/ScanActivity;)Lnet/sourceforge/zbar/ImageScanner; │ │ - move-result-object v9 │ + move-result-object v8 │ │ - invoke-virtual {v9, v0}, Lnet/sourceforge/zbar/ImageScanner;->scanImage(Lnet/sourceforge/zbar/Image;)I │ + invoke-virtual {v8, v0}, Lnet/sourceforge/zbar/ImageScanner;->scanImage(Lnet/sourceforge/zbar/Image;)I │ │ - move-result v3 │ + move-result v2 │ │ .line 109 │ - .local v3, "result":I │ - if-eqz v3, :cond_2 │ + .local v2, "result":I │ + if-eqz v2, :cond_2 │ │ .line 110 │ - iget-object v9, p0, Lru/valle/btc/ScanActivity$2;->this$0:Lru/valle/btc/ScanActivity; │ + iget-object v8, p0, Lru/valle/btc/ScanActivity$2;->this$0:Lru/valle/btc/ScanActivity; │ │ # getter for: Lru/valle/btc/ScanActivity;->scanner:Lnet/sourceforge/zbar/ImageScanner; │ - invoke-static {v9}, Lru/valle/btc/ScanActivity;->access$000(Lru/valle/btc/ScanActivity;)Lnet/sourceforge/zbar/ImageScanner; │ + invoke-static {v8}, Lru/valle/btc/ScanActivity;->access$000(Lru/valle/btc/ScanActivity;)Lnet/sourceforge/zbar/ImageScanner; │ │ - move-result-object v9 │ + move-result-object v8 │ │ - invoke-virtual {v9}, Lnet/sourceforge/zbar/ImageScanner;->getResults()Lnet/sourceforge/zbar/SymbolSet; │ + invoke-virtual {v8}, Lnet/sourceforge/zbar/ImageScanner;->getResults()Lnet/sourceforge/zbar/SymbolSet; │ │ - move-result-object v7 │ + move-result-object v6 │ │ .line 111 │ - .local v7, "syms":Lnet/sourceforge/zbar/SymbolSet; │ - invoke-virtual {v7}, Lnet/sourceforge/zbar/SymbolSet;->iterator()Ljava/util/Iterator; │ + .local v6, "syms":Lnet/sourceforge/zbar/SymbolSet; │ + invoke-virtual {v6}, Lnet/sourceforge/zbar/SymbolSet;->iterator()Ljava/util/Iterator; │ │ - move-result-object v2 │ + move-result-object v8 │ │ - .local v2, "i$":Ljava/util/Iterator; │ :cond_0 │ - invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v8}, Ljava/util/Iterator;->hasNext()Z │ │ move-result v9 │ │ if-eqz v9, :cond_2 │ │ - invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v8}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ - move-result-object v6 │ + move-result-object v5 │ │ - check-cast v6, Lnet/sourceforge/zbar/Symbol; │ + check-cast v5, Lnet/sourceforge/zbar/Symbol; │ │ .line 112 │ - .local v6, "sym":Lnet/sourceforge/zbar/Symbol; │ - invoke-virtual {v6}, Lnet/sourceforge/zbar/Symbol;->getData()Ljava/lang/String; │ + .local v5, "sym":Lnet/sourceforge/zbar/Symbol; │ + invoke-virtual {v5}, Lnet/sourceforge/zbar/Symbol;->getData()Ljava/lang/String; │ │ - move-result-object v4 │ + move-result-object v3 │ │ .line 113 │ - .local v4, "scannedData":Ljava/lang/String; │ - invoke-static {v4}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z │ + .local v3, "scannedData":Ljava/lang/String; │ + invoke-static {v3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z │ │ move-result v9 │ │ if-nez v9, :cond_3 │ │ const-string v9, "bitcoin:" │ │ - invoke-virtual {v4, v9}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z │ + invoke-virtual {v3, v9}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z │ │ move-result v9 │ │ if-eqz v9, :cond_3 │ │ - const/4 v8, 0x1 │ + const/4 v7, 0x1 │ │ .line 114 │ - .local v8, "validInput":Z │ + .local v7, "validInput":Z │ :goto_0 │ - if-nez v8, :cond_1 │ + if-nez v7, :cond_1 │ │ .line 115 │ - invoke-static {v4}, Lru/valle/btc/BTCUtils;->decodeBase58(Ljava/lang/String;)[B │ + invoke-static {v3}, Lru/valle/btc/BTCUtils;->decodeBase58(Ljava/lang/String;)[B │ │ move-result-object v1 │ │ .line 116 │ .local v1, "decodedEntity":[B │ if-eqz v1, :cond_4 │ │ invoke-static {v1}, Lru/valle/btc/BTCUtils;->verifyChecksum([B)Z │ │ move-result v9 │ │ if-eqz v9, :cond_4 │ │ - const/4 v8, 0x1 │ + const/4 v7, 0x1 │ │ .line 117 │ :goto_1 │ - if-nez v8, :cond_1 │ + if-nez v7, :cond_1 │ │ if-eqz v1, :cond_1 │ │ const-string v9, "S" │ │ - invoke-virtual {v4, v9}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z │ + invoke-virtual {v3, v9}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z │ │ move-result v9 │ │ if-eqz v9, :cond_1 │ │ .line 119 │ :try_start_0 │ @@ -195,15 +195,15 @@ │ │ move-result-object v9 │ │ new-instance v10, Ljava/lang/StringBuilder; │ │ invoke-direct {v10}, Ljava/lang/StringBuilder;->()V │ │ - invoke-virtual {v10, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v10, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ │ const/16 v11, 0x3f │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; │ │ @@ -227,92 +227,90 @@ │ │ aget-byte v9, v9, v10 │ :try_end_0 │ .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 │ │ if-nez v9, :cond_5 │ │ - const/4 v8, 0x1 │ + const/4 v7, 0x1 │ │ .line 124 │ .end local v1 # "decodedEntity":[B │ :cond_1 │ :goto_2 │ - if-eqz v8, :cond_0 │ + if-eqz v7, :cond_0 │ │ .line 125 │ - const/4 v9, 0x0 │ + const/4 v8, 0x0 │ │ - invoke-virtual {p2, v9}, Landroid/hardware/Camera;->setPreviewCallback(Landroid/hardware/Camera$PreviewCallback;)V │ + invoke-virtual {p2, v8}, Landroid/hardware/Camera;->setPreviewCallback(Landroid/hardware/Camera$PreviewCallback;)V │ │ .line 126 │ invoke-virtual {p2}, Landroid/hardware/Camera;->stopPreview()V │ │ .line 127 │ - iget-object v9, p0, Lru/valle/btc/ScanActivity$2;->this$0:Lru/valle/btc/ScanActivity; │ + iget-object v8, p0, Lru/valle/btc/ScanActivity$2;->this$0:Lru/valle/btc/ScanActivity; │ │ # invokes: Lru/valle/btc/ScanActivity;->releaseCamera()V │ - invoke-static {v9}, Lru/valle/btc/ScanActivity;->access$100(Lru/valle/btc/ScanActivity;)V │ + invoke-static {v8}, Lru/valle/btc/ScanActivity;->access$100(Lru/valle/btc/ScanActivity;)V │ │ .line 128 │ - iget-object v9, p0, Lru/valle/btc/ScanActivity$2;->this$0:Lru/valle/btc/ScanActivity; │ + iget-object v8, p0, Lru/valle/btc/ScanActivity$2;->this$0:Lru/valle/btc/ScanActivity; │ │ - const/4 v10, -0x1 │ + const/4 v9, -0x1 │ │ - new-instance v11, Landroid/content/Intent; │ + new-instance v10, Landroid/content/Intent; │ │ - invoke-direct {v11}, Landroid/content/Intent;->()V │ + invoke-direct {v10}, Landroid/content/Intent;->()V │ │ - const-string v12, "data" │ + const-string v11, "data" │ │ - invoke-virtual {v11, v12, v4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; │ + invoke-virtual {v10, v11, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; │ │ - move-result-object v11 │ + move-result-object v10 │ │ - invoke-virtual {v9, v10, v11}, Lru/valle/btc/ScanActivity;->setResult(ILandroid/content/Intent;)V │ + invoke-virtual {v8, v9, v10}, Lru/valle/btc/ScanActivity;->setResult(ILandroid/content/Intent;)V │ │ .line 129 │ - iget-object v9, p0, Lru/valle/btc/ScanActivity$2;->this$0:Lru/valle/btc/ScanActivity; │ + iget-object v8, p0, Lru/valle/btc/ScanActivity$2;->this$0:Lru/valle/btc/ScanActivity; │ │ - invoke-virtual {v9}, Lru/valle/btc/ScanActivity;->finish()V │ + invoke-virtual {v8}, Lru/valle/btc/ScanActivity;->finish()V │ │ .line 135 │ .end local v0 # "barcode":Lnet/sourceforge/zbar/Image; │ - .end local v2 # "i$":Ljava/util/Iterator; │ - .end local v3 # "result":I │ - .end local v4 # "scannedData":Ljava/lang/String; │ - .end local v6 # "sym":Lnet/sourceforge/zbar/Symbol; │ - .end local v7 # "syms":Lnet/sourceforge/zbar/SymbolSet; │ - .end local v8 # "validInput":Z │ + .end local v2 # "result":I │ + .end local v3 # "scannedData":Ljava/lang/String; │ + .end local v5 # "sym":Lnet/sourceforge/zbar/Symbol; │ + .end local v6 # "syms":Lnet/sourceforge/zbar/SymbolSet; │ + .end local v7 # "validInput":Z │ :cond_2 │ return-void │ │ .line 113 │ .restart local v0 # "barcode":Lnet/sourceforge/zbar/Image; │ - .restart local v2 # "i$":Ljava/util/Iterator; │ - .restart local v3 # "result":I │ - .restart local v4 # "scannedData":Ljava/lang/String; │ - .restart local v6 # "sym":Lnet/sourceforge/zbar/Symbol; │ - .restart local v7 # "syms":Lnet/sourceforge/zbar/SymbolSet; │ + .restart local v2 # "result":I │ + .restart local v3 # "scannedData":Ljava/lang/String; │ + .restart local v5 # "sym":Lnet/sourceforge/zbar/Symbol; │ + .restart local v6 # "syms":Lnet/sourceforge/zbar/SymbolSet; │ :cond_3 │ - const/4 v8, 0x0 │ + const/4 v7, 0x0 │ │ goto :goto_0 │ │ .line 116 │ .restart local v1 # "decodedEntity":[B │ - .restart local v8 # "validInput":Z │ + .restart local v7 # "validInput":Z │ :cond_4 │ - const/4 v8, 0x0 │ + const/4 v7, 0x0 │ │ goto :goto_1 │ │ .line 119 │ :cond_5 │ - const/4 v8, 0x0 │ + const/4 v7, 0x0 │ │ goto :goto_2 │ │ .line 120 │ :catch_0 │ move-exception v9 ├── smali/ru/valle/btc/ScanActivity.smali │ @@ -440,15 +440,17 @@ │ │ const v1, 0x7f080022 │ │ new-instance v2, Lru/valle/btc/ScanActivity$1; │ │ invoke-direct {v2, p0}, Lru/valle/btc/ScanActivity$1;->(Lru/valle/btc/ScanActivity;)V │ │ + .line 92 │ invoke-virtual {v0, v1, v2}, Landroid/app/AlertDialog$Builder;->setPositiveButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; │ │ move-result-object v0 │ │ + .line 97 │ invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;->show()Landroid/app/AlertDialog; │ │ goto :goto_0 │ .end method ├── smali/ru/valle/btc/ScanActivity$4.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lru/valle/btc/ScanActivity; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/ScanActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/ScanActivity; │ │ .prologue │ .line 163 │ iput-object p1, p0, Lru/valle/btc/ScanActivity$4;->this$0:Lru/valle/btc/ScanActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/ru/valle/btc/SecureRandom$1.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lru/valle/btc/SecureRandom; │ │ │ # direct methods │ .method constructor (Lru/valle/btc/SecureRandom;)V │ .locals 0 │ + .param p1, "this$0" # Lru/valle/btc/SecureRandom; │ │ .prologue │ .line 95 │ iput-object p1, p0, Lru/valle/btc/SecureRandom$1;->this$0:Lru/valle/btc/SecureRandom; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/ru/valle/btc/Transaction.smali │ @@ -519,282 +519,269 @@ │ │ │ # virtual methods │ .method public getBytes()[B │ .locals 12 │ │ .prologue │ - const/4 v8, 0x0 │ + const/4 v5, 0x0 │ │ .line 88 │ - new-instance v1, Lru/valle/btc/BitcoinOutputStream; │ + new-instance v0, Lru/valle/btc/BitcoinOutputStream; │ │ - invoke-direct {v1}, Lru/valle/btc/BitcoinOutputStream;->()V │ + invoke-direct {v0}, Lru/valle/btc/BitcoinOutputStream;->()V │ │ .line 90 │ - .local v1, "baos":Lru/valle/btc/BitcoinOutputStream; │ - const/4 v9, 0x1 │ + .local v0, "baos":Lru/valle/btc/BitcoinOutputStream; │ + const/4 v6, 0x1 │ │ :try_start_0 │ - invoke-virtual {v1, v9}, Lru/valle/btc/BitcoinOutputStream;->writeInt32(I)V │ + invoke-virtual {v0, v6}, Lru/valle/btc/BitcoinOutputStream;->writeInt32(I)V │ │ .line 91 │ - iget-object v9, p0, Lru/valle/btc/Transaction;->inputs:[Lru/valle/btc/Transaction$Input; │ + iget-object v6, p0, Lru/valle/btc/Transaction;->inputs:[Lru/valle/btc/Transaction$Input; │ │ - array-length v9, v9 │ + array-length v6, v6 │ │ - int-to-long v10, v9 │ + int-to-long v6, v6 │ │ - invoke-virtual {v1, v10, v11}, Lru/valle/btc/BitcoinOutputStream;->writeVarInt(J)V │ + invoke-virtual {v0, v6, v7}, Lru/valle/btc/BitcoinOutputStream;->writeVarInt(J)V │ │ .line 92 │ - iget-object v0, p0, Lru/valle/btc/Transaction;->inputs:[Lru/valle/btc/Transaction$Input; │ + iget-object v7, p0, Lru/valle/btc/Transaction;->inputs:[Lru/valle/btc/Transaction$Input; │ │ - .local v0, "arr$":[Lru/valle/btc/Transaction$Input; │ - array-length v5, v0 │ + array-length v8, v7 │ │ - .local v5, "len$":I │ - const/4 v3, 0x0 │ + move v6, v5 │ │ - .local v3, "i$":I │ :goto_0 │ - if-ge v3, v5, :cond_2 │ + if-ge v6, v8, :cond_2 │ │ - aget-object v4, v0, v3 │ + aget-object v2, v7, v6 │ │ .line 93 │ - .local v4, "input":Lru/valle/btc/Transaction$Input; │ - iget-object v9, v4, Lru/valle/btc/Transaction$Input;->outPoint:Lru/valle/btc/Transaction$OutPoint; │ + .local v2, "input":Lru/valle/btc/Transaction$Input; │ + iget-object v9, v2, Lru/valle/btc/Transaction$Input;->outPoint:Lru/valle/btc/Transaction$OutPoint; │ │ iget-object v9, v9, Lru/valle/btc/Transaction$OutPoint;->hash:[B │ │ invoke-static {v9}, Lru/valle/btc/BTCUtils;->reverse([B)[B │ │ move-result-object v9 │ │ - invoke-virtual {v1, v9}, Lru/valle/btc/BitcoinOutputStream;->write([B)V │ + invoke-virtual {v0, v9}, Lru/valle/btc/BitcoinOutputStream;->write([B)V │ │ .line 94 │ - iget-object v9, v4, Lru/valle/btc/Transaction$Input;->outPoint:Lru/valle/btc/Transaction$OutPoint; │ + iget-object v9, v2, Lru/valle/btc/Transaction$Input;->outPoint:Lru/valle/btc/Transaction$OutPoint; │ │ iget v9, v9, Lru/valle/btc/Transaction$OutPoint;->index:I │ │ - invoke-virtual {v1, v9}, Lru/valle/btc/BitcoinOutputStream;->writeInt32(I)V │ + invoke-virtual {v0, v9}, Lru/valle/btc/BitcoinOutputStream;->writeInt32(I)V │ │ .line 95 │ - iget-object v9, v4, Lru/valle/btc/Transaction$Input;->script:Lru/valle/btc/Transaction$Script; │ + iget-object v9, v2, Lru/valle/btc/Transaction$Input;->script:Lru/valle/btc/Transaction$Script; │ │ if-nez v9, :cond_1 │ │ - move v7, v8 │ + move v4, v5 │ │ .line 96 │ - .local v7, "scriptLen":I │ + .local v4, "scriptLen":I │ :goto_1 │ - int-to-long v10, v7 │ + int-to-long v10, v4 │ │ - invoke-virtual {v1, v10, v11}, Lru/valle/btc/BitcoinOutputStream;->writeVarInt(J)V │ + invoke-virtual {v0, v10, v11}, Lru/valle/btc/BitcoinOutputStream;->writeVarInt(J)V │ │ .line 97 │ - if-lez v7, :cond_0 │ + if-lez v4, :cond_0 │ │ .line 98 │ - iget-object v9, v4, Lru/valle/btc/Transaction$Input;->script:Lru/valle/btc/Transaction$Script; │ + iget-object v9, v2, Lru/valle/btc/Transaction$Input;->script:Lru/valle/btc/Transaction$Script; │ │ iget-object v9, v9, Lru/valle/btc/Transaction$Script;->bytes:[B │ │ - invoke-virtual {v1, v9}, Lru/valle/btc/BitcoinOutputStream;->write([B)V │ + invoke-virtual {v0, v9}, Lru/valle/btc/BitcoinOutputStream;->write([B)V │ │ .line 100 │ :cond_0 │ - iget v9, v4, Lru/valle/btc/Transaction$Input;->sequence:I │ + iget v9, v2, Lru/valle/btc/Transaction$Input;->sequence:I │ │ - invoke-virtual {v1, v9}, Lru/valle/btc/BitcoinOutputStream;->writeInt32(I)V │ + invoke-virtual {v0, v9}, Lru/valle/btc/BitcoinOutputStream;->writeInt32(I)V │ │ .line 92 │ - add-int/lit8 v3, v3, 0x1 │ + add-int/lit8 v6, v6, 0x1 │ │ goto :goto_0 │ │ .line 95 │ - .end local v7 # "scriptLen":I │ + .end local v4 # "scriptLen":I │ :cond_1 │ - iget-object v9, v4, Lru/valle/btc/Transaction$Input;->script:Lru/valle/btc/Transaction$Script; │ + iget-object v9, v2, Lru/valle/btc/Transaction$Input;->script:Lru/valle/btc/Transaction$Script; │ │ iget-object v9, v9, Lru/valle/btc/Transaction$Script;->bytes:[B │ │ - array-length v7, v9 │ + array-length v4, v9 │ │ goto :goto_1 │ │ .line 102 │ - .end local v4 # "input":Lru/valle/btc/Transaction$Input; │ + .end local v2 # "input":Lru/valle/btc/Transaction$Input; │ :cond_2 │ - iget-object v9, p0, Lru/valle/btc/Transaction;->outputs:[Lru/valle/btc/Transaction$Output; │ + iget-object v6, p0, Lru/valle/btc/Transaction;->outputs:[Lru/valle/btc/Transaction$Output; │ │ - array-length v9, v9 │ + array-length v6, v6 │ │ - int-to-long v10, v9 │ + int-to-long v6, v6 │ │ - invoke-virtual {v1, v10, v11}, Lru/valle/btc/BitcoinOutputStream;->writeVarInt(J)V │ + invoke-virtual {v0, v6, v7}, Lru/valle/btc/BitcoinOutputStream;->writeVarInt(J)V │ │ .line 103 │ - iget-object v0, p0, Lru/valle/btc/Transaction;->outputs:[Lru/valle/btc/Transaction$Output; │ + iget-object v7, p0, Lru/valle/btc/Transaction;->outputs:[Lru/valle/btc/Transaction$Output; │ │ - .local v0, "arr$":[Lru/valle/btc/Transaction$Output; │ - array-length v5, v0 │ + array-length v8, v7 │ │ - const/4 v3, 0x0 │ + move v6, v5 │ │ :goto_2 │ - if-ge v3, v5, :cond_5 │ + if-ge v6, v8, :cond_5 │ │ - aget-object v6, v0, v3 │ + aget-object v3, v7, v6 │ │ .line 104 │ - .local v6, "output":Lru/valle/btc/Transaction$Output; │ - iget-wide v10, v6, Lru/valle/btc/Transaction$Output;->value:J │ + .local v3, "output":Lru/valle/btc/Transaction$Output; │ + iget-wide v10, v3, Lru/valle/btc/Transaction$Output;->value:J │ │ - invoke-virtual {v1, v10, v11}, Lru/valle/btc/BitcoinOutputStream;->writeInt64(J)V │ + invoke-virtual {v0, v10, v11}, Lru/valle/btc/BitcoinOutputStream;->writeInt64(J)V │ │ .line 105 │ - iget-object v9, v6, Lru/valle/btc/Transaction$Output;->script:Lru/valle/btc/Transaction$Script; │ + iget-object v9, v3, Lru/valle/btc/Transaction$Output;->script:Lru/valle/btc/Transaction$Script; │ │ if-nez v9, :cond_4 │ │ - move v7, v8 │ + move v4, v5 │ │ .line 106 │ - .restart local v7 # "scriptLen":I │ + .restart local v4 # "scriptLen":I │ :goto_3 │ - int-to-long v10, v7 │ + int-to-long v10, v4 │ │ - invoke-virtual {v1, v10, v11}, Lru/valle/btc/BitcoinOutputStream;->writeVarInt(J)V │ + invoke-virtual {v0, v10, v11}, Lru/valle/btc/BitcoinOutputStream;->writeVarInt(J)V │ │ .line 107 │ - if-lez v7, :cond_3 │ + if-lez v4, :cond_3 │ │ .line 108 │ - iget-object v9, v6, Lru/valle/btc/Transaction$Output;->script:Lru/valle/btc/Transaction$Script; │ + iget-object v9, v3, Lru/valle/btc/Transaction$Output;->script:Lru/valle/btc/Transaction$Script; │ │ iget-object v9, v9, Lru/valle/btc/Transaction$Script;->bytes:[B │ │ - invoke-virtual {v1, v9}, Lru/valle/btc/BitcoinOutputStream;->write([B)V │ + invoke-virtual {v0, v9}, Lru/valle/btc/BitcoinOutputStream;->write([B)V │ │ .line 103 │ :cond_3 │ - add-int/lit8 v3, v3, 0x1 │ + add-int/lit8 v6, v6, 0x1 │ │ goto :goto_2 │ │ .line 105 │ - .end local v7 # "scriptLen":I │ + .end local v4 # "scriptLen":I │ :cond_4 │ - iget-object v9, v6, Lru/valle/btc/Transaction$Output;->script:Lru/valle/btc/Transaction$Script; │ + iget-object v9, v3, Lru/valle/btc/Transaction$Output;->script:Lru/valle/btc/Transaction$Script; │ │ iget-object v9, v9, Lru/valle/btc/Transaction$Script;->bytes:[B │ │ - array-length v7, v9 │ + array-length v4, v9 │ │ goto :goto_3 │ │ .line 111 │ - .end local v6 # "output":Lru/valle/btc/Transaction$Output; │ + .end local v3 # "output":Lru/valle/btc/Transaction$Output; │ :cond_5 │ - iget v8, p0, Lru/valle/btc/Transaction;->lockTime:I │ + iget v5, p0, Lru/valle/btc/Transaction;->lockTime:I │ │ - invoke-virtual {v1, v8}, Lru/valle/btc/BitcoinOutputStream;->writeInt32(I)V │ + invoke-virtual {v0, v5}, Lru/valle/btc/BitcoinOutputStream;->writeInt32(I)V │ :try_end_0 │ .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_1 │ .catchall {:try_start_0 .. :try_end_0} :catchall_0 │ │ .line 116 │ :try_start_1 │ - invoke-virtual {v1}, Lru/valle/btc/BitcoinOutputStream;->close()V │ + invoke-virtual {v0}, Lru/valle/btc/BitcoinOutputStream;->close()V │ :try_end_1 │ .catch Ljava/io/IOException; {:try_start_1 .. :try_end_1} :catch_0 │ │ .line 121 │ - .end local v0 # "arr$":[Lru/valle/btc/Transaction$Output; │ - .end local v3 # "i$":I │ - .end local v5 # "len$":I │ :goto_4 │ - invoke-virtual {v1}, Lru/valle/btc/BitcoinOutputStream;->toByteArray()[B │ + invoke-virtual {v0}, Lru/valle/btc/BitcoinOutputStream;->toByteArray()[B │ │ - move-result-object v8 │ + move-result-object v5 │ │ - return-object v8 │ + return-object v5 │ │ .line 117 │ - .restart local v0 # "arr$":[Lru/valle/btc/Transaction$Output; │ - .restart local v3 # "i$":I │ - .restart local v5 # "len$":I │ :catch_0 │ - move-exception v2 │ + move-exception v1 │ │ .line 118 │ - .local v2, "e":Ljava/io/IOException; │ - invoke-virtual {v2}, Ljava/io/IOException;->printStackTrace()V │ + .local v1, "e":Ljava/io/IOException; │ + invoke-virtual {v1}, Ljava/io/IOException;->printStackTrace()V │ │ goto :goto_4 │ │ .line 112 │ - .end local v0 # "arr$":[Lru/valle/btc/Transaction$Output; │ - .end local v2 # "e":Ljava/io/IOException; │ - .end local v3 # "i$":I │ - .end local v5 # "len$":I │ + .end local v1 # "e":Ljava/io/IOException; │ :catch_1 │ - move-exception v2 │ + move-exception v1 │ │ .line 113 │ - .restart local v2 # "e":Ljava/io/IOException; │ + .restart local v1 # "e":Ljava/io/IOException; │ :try_start_2 │ - invoke-virtual {v2}, Ljava/io/IOException;->printStackTrace()V │ + invoke-virtual {v1}, Ljava/io/IOException;->printStackTrace()V │ :try_end_2 │ .catchall {:try_start_2 .. :try_end_2} :catchall_0 │ │ .line 116 │ :try_start_3 │ - invoke-virtual {v1}, Lru/valle/btc/BitcoinOutputStream;->close()V │ + invoke-virtual {v0}, Lru/valle/btc/BitcoinOutputStream;->close()V │ :try_end_3 │ .catch Ljava/io/IOException; {:try_start_3 .. :try_end_3} :catch_2 │ │ goto :goto_4 │ │ .line 117 │ :catch_2 │ - move-exception v2 │ + move-exception v1 │ │ .line 118 │ - invoke-virtual {v2}, Ljava/io/IOException;->printStackTrace()V │ + invoke-virtual {v1}, Ljava/io/IOException;->printStackTrace()V │ │ goto :goto_4 │ │ .line 115 │ - .end local v2 # "e":Ljava/io/IOException; │ + .end local v1 # "e":Ljava/io/IOException; │ :catchall_0 │ - move-exception v8 │ + move-exception v5 │ │ .line 116 │ :try_start_4 │ - invoke-virtual {v1}, Lru/valle/btc/BitcoinOutputStream;->close()V │ + invoke-virtual {v0}, Lru/valle/btc/BitcoinOutputStream;->close()V │ :try_end_4 │ .catch Ljava/io/IOException; {:try_start_4 .. :try_end_4} :catch_3 │ │ .line 119 │ :goto_5 │ - throw v8 │ + throw v5 │ │ .line 117 │ :catch_3 │ - move-exception v2 │ + move-exception v1 │ │ .line 118 │ - .restart local v2 # "e":Ljava/io/IOException; │ - invoke-virtual {v2}, Ljava/io/IOException;->printStackTrace()V │ + .restart local v1 # "e":Ljava/io/IOException; │ + invoke-virtual {v1}, Ljava/io/IOException;->printStackTrace()V │ │ goto :goto_5 │ .end method │ │ .method public toString()Ljava/lang/String; │ .locals 2 │ │ @@ -808,14 +795,15 @@ │ │ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v0 │ │ iget-object v1, p0, Lru/valle/btc/Transaction;->inputs:[Lru/valle/btc/Transaction$Input; │ │ + .line 128 │ invoke-direct {p0, v1}, Lru/valle/btc/Transaction;->printAsJsonArray([Ljava/lang/Object;)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 │ @@ -824,14 +812,15 @@ │ │ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v0 │ │ iget-object v1, p0, Lru/valle/btc/Transaction;->outputs:[Lru/valle/btc/Transaction$Output; │ │ + .line 129 │ invoke-direct {p0, v1}, Lru/valle/btc/Transaction;->printAsJsonArray([Ljava/lang/Object;)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 │ @@ -854,9 +843,10 @@ │ │ move-result-object v0 │ │ invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ move-result-object v0 │ │ + .line 127 │ return-object v0 │ .end method