--- /home/fdroid/fdroiddata/tmp/org.purple.smoke_20220410.apk +++ /home/fdroid/fdroiddata/tmp/sigcp_org.purple.smoke_20220410.apk ├── /usr/lib/android-sdk/build-tools/debian/apksigner verify --verbose --print-certs {} │┄ error from `/usr/lib/android-sdk/build-tools/debian/apksigner verify --verbose --print-certs {}` (b): │┄ DOES NOT VERIFY │┄ ERROR: APK Signature Scheme v3 signer #1: APK integrity check failed. CHUNKED_SHA256 digest mismatch. Expected: <7ad942ec67c73801a1e3414a197342648223f0e3982258659ec74488114d7141>, actual: <5e07c5fb7e9847ae24eb757cbcb009c215de95812698bb9b4ceb0210b303754d> │┄ ERROR: APK Signature Scheme v3 signer #1: APK integrity check failed. VERITY_CHUNKED_SHA256 digest mismatch. Expected: , actual: │ @@ -1,18 +0,0 @@ │ -Verifies │ -Verified using v1 scheme (JAR signing): true │ -Verified using v2 scheme (APK Signature Scheme v2): true │ -Verified using v3 scheme (APK Signature Scheme v3): true │ -Verified using v4 scheme (APK Signature Scheme v4): false │ -Verified for SourceStamp: false │ -Number of signers: 1 │ -Signer #1 certificate DN: CN=FDroid, OU=FDroid, O=fdroid.org, L=ORG, ST=ORG, C=UK │ -Signer #1 certificate SHA-256 digest: 8483a38ba820f47d73f633f4de54e8ba066a4e6d5c9a15405ede9aadaa9a5534 │ -Signer #1 certificate SHA-1 digest: 991d94a834638cb87ebb6eb557afedf1ebc36aa7 │ -Signer #1 certificate MD5 digest: 4cadd2405c712e2ce2b7fb21ce80ff66 │ -Signer #1 key algorithm: RSA │ -Signer #1 key size (bits): 2048 │ -Signer #1 public key SHA-256 digest: 7470dc9105a581fde2391b240e14522c9a0f23cfc8004afb7b3fd3292a60fc63 │ -Signer #1 public key SHA-1 digest: 4ddb1e5b2440d1ab76115bed11bffd0697316db9 │ -Signer #1 public key MD5 digest: f85321e9b453da9ee5b29f0149214bcf │ -WARNING: META-INF/com/android/build/gradle/app-metadata.properties not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/services/java.security.Provider not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. ├── zipinfo {} │ @@ -1,10 +1,10 @@ │ Zip file size: 3642340 bytes, number of entries: 501 │ -rw-rw-rw- 0.0 unx 55 b- defN 81-Jan-01 01:01 META-INF/com/android/build/gradle/app-metadata.properties │ --rw-rw-rw- 0.0 unx 6350780 b- defN 81-Jan-01 01:01 classes.dex │ +-rw-rw-rw- 0.0 unx 6350776 b- defN 81-Jan-01 01:01 classes.dex │ -rw---- 2.4 fat 112 b- defN 81-Jan-01 01:01 META-INF/services/java.security.Provider │ -rw---- 2.4 fat 42868 b- defN 81-Jan-01 01:01 org/bouncycastle/x509/CertPathReviewerMessages.properties │ -rw---- 2.4 fat 49608 b- defN 81-Jan-01 01:01 org/bouncycastle/x509/CertPathReviewerMessages_de.properties │ -rw---- 0.0 fat 4088 b- defN 81-Jan-01 01:01 AndroidManifest.xml │ -rw---- 0.0 fat 421 b- stor 81-Jan-01 01:01 res/-A.png │ -rw---- 0.0 fat 1396 b- defN 81-Jan-01 01:01 res/-Y.xml │ -rw---- 0.0 fat 520 b- defN 81-Jan-01 01:01 res/-c.xml │ @@ -496,8 +496,8 @@ │ -rw---- 0.0 fat 318 b- stor 81-Jan-01 01:01 res/zN.png │ -rw---- 0.0 fat 887 b- stor 81-Jan-01 01:01 res/zQ.png │ -rw---- 0.0 fat 840 b- defN 81-Jan-01 01:01 res/zq.xml │ -rw---- 0.0 fat 275904 b- stor 81-Jan-01 01:01 resources.arsc │ -rw---- 2.0 fat 42553 b- defN 81-Jan-01 01:01 META-INF/7E5011C4.SF │ -rw---- 2.0 fat 1342 b- defN 81-Jan-01 01:01 META-INF/7E5011C4.RSA │ -rw---- 2.0 fat 42426 b- defN 81-Jan-01 01:01 META-INF/MANIFEST.MF │ -501 files, 7636012 bytes uncompressed, 3584439 bytes compressed: 53.1% │ +501 files, 7636008 bytes uncompressed, 3584586 bytes compressed: 53.1% ├── classes.dex │ ├── dexdump -a -d -f -h {} │ │┄ Ignoring differences in offsets to keep diff size reasonable. │ │ @@ -1,13 +1,13 @@ │ │ DEX version '035' │ │ DEX file header: │ │ magic : 'dex\n035\0' │ │ -checksum : 0d98ce91 │ │ -signature : 2973...a440 │ │ -file_size : 6350780 │ │ +checksum : 438e05e7 │ │ +signature : 7a3e...b73b │ │ +file_size : 6350776 │ │ header_size : 112 │ │ link_size : 0 │ │ link_off : 0 (0x000000) │ │ string_ids_size : 42978 │ │ string_ids_off : 112 (0x000070) │ │ type_ids_size : 7052 │ │ type_ids_off : 172024 (0x029ff8) │ │ @@ -15,15 +15,15 @@ │ │ proto_ids_off : 200232 (0x030e28) │ │ field_ids_size : 24172 │ │ field_ids_off : 299340 (0x04914c) │ │ method_ids_size : 47817 │ │ method_ids_off : 492716 (0x0784ac) │ │ class_defs_size : 5940 │ │ class_defs_off : 875252 (0x0d5af4) │ │ -data_size : 5285448 │ │ +data_size : 5285444 │ │ data_off : 1065332 (0x104174) │ │ │ │ Class #0 header: │ │ class_idx : 267 │ │ access_flags : 9729 (0x2601) │ │ superclass_idx : 2790 │ │ source_file_idx : 3430 │ │ @@ -657127,15 +657127,15 @@ │ │ 3ed6b4: 6e20 f95c 3200 |002e: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ 3ed6ba: 1a03 a503 |0031: const-string v3, "(Release)" // string@03a5 │ │ 3ed6be: 6e20 f95c 3200 |0033: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ 3ed6c4: 1a03 0b00 |0036: const-string v3, " │ │ Build Date " // string@000b │ │ 3ed6c8: 6e20 f95c 3200 |0038: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ 3ed6ce: 2203 b20b |003b: new-instance v3, Ljava/util/Date; // type@0bb2 │ │ -3ed6d2: 1804 dada 2a19 8001 0000 |003d: const-wide v4, #double 8.15055e-312 // #00000180192adada │ │ +3ed6d2: 1804 1763 669b 8201 0000 |003d: const-wide v4, #double 8.20378e-312 // #000001829b666317 │ │ 3ed6dc: 7030 f15f 4305 |0042: invoke-direct {v3, v4, v5}, Ljava/util/Date;.:(J)V // method@5ff1 │ │ 3ed6e2: 6e20 945f 3100 |0045: invoke-virtual {v1, v3}, Ljava/text/SimpleDateFormat;.format:(Ljava/util/Date;)Ljava/lang/String; // method@5f94 │ │ 3ed6e8: 0c01 |0048: move-result-object v1 │ │ 3ed6ea: 6e20 f95c 1200 |0049: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ 3ed6f0: 1a01 d500 |004c: const-string v1, " UTC │ │ Android " // string@00d5 │ │ 3ed6f4: 6e20 f95c 1200 |004e: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ @@ -658916,15 +658916,15 @@ │ │ type : 'Ljava/lang/String;' │ │ access : 0x0019 (PUBLIC STATIC FINAL) │ │ value : "org.purple.smoke" │ │ #1 : (in Lorg/purple/smoke/BuildConfig;) │ │ name : 'BUILD_TIME' │ │ type : 'J' │ │ access : 0x0019 (PUBLIC STATIC FINAL) │ │ - value : 1649689680602 │ │ + value : 1660464554775 │ │ #2 : (in Lorg/purple/smoke/BuildConfig;) │ │ name : 'BUILD_TYPE' │ │ type : 'Ljava/lang/String;' │ │ access : 0x0019 (PUBLIC STATIC FINAL) │ │ value : "release" │ │ #3 : (in Lorg/purple/smoke/BuildConfig;) │ │ name : 'DEBUG' │ │ @@ -723173,52 +723173,51 @@ │ │ │ │ Virtual methods - │ │ #0 : (in Lorg/purple/smoke/Settings$38;) │ │ name : 'run' │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ - registers : 5 │ │ + registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ - insns size : 45 16-bit code units │ │ + insns size : 43 16-bit code units │ │ 412330: |[412330] org.purple.smoke.Settings$38.run:()V │ │ -412340: 5440 d55c |0000: iget-object v0, v4, Lorg/purple/smoke/Settings$38;.this$0:Lorg/purple/smoke/Settings; // field@5cd5 │ │ +412340: 5430 d55c |0000: iget-object v0, v3, Lorg/purple/smoke/Settings$38;.this$0:Lorg/purple/smoke/Settings; // field@5cd5 │ │ 412344: 7110 d3b8 0000 |0002: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ 41234a: 0c00 |0005: move-result-object v0 │ │ 41234c: 7100 d2b8 0000 |0006: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ 412352: 0c01 |0009: move-result-object v1 │ │ 412354: 6e20 09b6 1000 |000a: invoke-virtual {v0, v1}, Lorg/purple/smoke/Database;.readNeighbors:(Lorg/purple/smoke/Cryptography;)Ljava/util/ArrayList; // method@b609 │ │ 41235a: 0c00 |000d: move-result-object v0 │ │ -41235c: 5441 d55c |000e: iget-object v1, v4, Lorg/purple/smoke/Settings$38;.this$0:Lorg/purple/smoke/Settings; // field@5cd5 │ │ +41235c: 5431 d55c |000e: iget-object v1, v3, Lorg/purple/smoke/Settings$38;.this$0:Lorg/purple/smoke/Settings; // field@5cd5 │ │ 412360: 2202 7a1a |0010: new-instance v2, Lorg/purple/smoke/Settings$PopulateNeighbors; // type@1a7a │ │ -412364: 5443 d55c |0012: iget-object v3, v4, Lorg/purple/smoke/Settings$38;.this$0:Lorg/purple/smoke/Settings; // field@5cd5 │ │ -412368: 7030 bab8 3200 |0014: invoke-direct {v2, v3, v0}, Lorg/purple/smoke/Settings$PopulateNeighbors;.:(Lorg/purple/smoke/Settings;Ljava/util/ArrayList;)V // method@b8ba │ │ -41236e: 6e20 fdb8 2100 |0017: invoke-virtual {v1, v2}, Lorg/purple/smoke/Settings;.runOnUiThread:(Ljava/lang/Runnable;)V // method@b8fd │ │ -412374: 5440 d55c |001a: iget-object v0, v4, Lorg/purple/smoke/Settings$38;.this$0:Lorg/purple/smoke/Settings; // field@5cd5 │ │ -412378: 7110 d3b8 0000 |001c: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -41237e: 0c00 |001f: move-result-object v0 │ │ -412380: 6e10 d5b5 0000 |0020: invoke-virtual {v0}, Lorg/purple/smoke/Database;.cleanDanglingOutboundQueued:()V // method@b5d5 │ │ -412386: 5440 d55c |0023: iget-object v0, v4, Lorg/purple/smoke/Settings$38;.this$0:Lorg/purple/smoke/Settings; // field@5cd5 │ │ -41238a: 7110 d3b8 0000 |0025: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -412390: 0c00 |0028: move-result-object v0 │ │ -412392: 6e10 d6b5 0000 |0029: invoke-virtual {v0}, Lorg/purple/smoke/Database;.cleanDanglingParticipants:()V // method@b5d6 │ │ -412398: 0e00 |002c: return-void │ │ +412364: 7030 bab8 1200 |0012: invoke-direct {v2, v1, v0}, Lorg/purple/smoke/Settings$PopulateNeighbors;.:(Lorg/purple/smoke/Settings;Ljava/util/ArrayList;)V // method@b8ba │ │ +41236a: 6e20 fdb8 2100 |0015: invoke-virtual {v1, v2}, Lorg/purple/smoke/Settings;.runOnUiThread:(Ljava/lang/Runnable;)V // method@b8fd │ │ +412370: 5430 d55c |0018: iget-object v0, v3, Lorg/purple/smoke/Settings$38;.this$0:Lorg/purple/smoke/Settings; // field@5cd5 │ │ +412374: 7110 d3b8 0000 |001a: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +41237a: 0c00 |001d: move-result-object v0 │ │ +41237c: 6e10 d5b5 0000 |001e: invoke-virtual {v0}, Lorg/purple/smoke/Database;.cleanDanglingOutboundQueued:()V // method@b5d5 │ │ +412382: 5430 d55c |0021: iget-object v0, v3, Lorg/purple/smoke/Settings$38;.this$0:Lorg/purple/smoke/Settings; // field@5cd5 │ │ +412386: 7110 d3b8 0000 |0023: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +41238c: 0c00 |0026: move-result-object v0 │ │ +41238e: 6e10 d6b5 0000 |0027: invoke-virtual {v0}, Lorg/purple/smoke/Database;.cleanDanglingParticipants:()V // method@b5d6 │ │ +412394: 0e00 |002a: return-void │ │ catches : 1 │ │ - 0x0000 - 0x002c │ │ - Ljava/lang/Exception; -> 0x002c │ │ + 0x0000 - 0x002a │ │ + Ljava/lang/Exception; -> 0x002a │ │ positions : │ │ 0x0000 line=3193 │ │ 0x0002 line=3194 │ │ 0x000e line=3196 │ │ - 0x0017 line=3197 │ │ - 0x001a line=3198 │ │ - 0x0023 line=3199 │ │ + 0x0015 line=3197 │ │ + 0x0018 line=3198 │ │ + 0x0021 line=3199 │ │ locals : │ │ - 0x0000 - 0x002d reg=4 this Lorg/purple/smoke/Settings$38; │ │ + 0x0000 - 0x002b reg=3 this Lorg/purple/smoke/Settings$38; │ │ │ │ source_file_idx : 18985 (Settings.java) │ │ │ │ Class #2648 header: │ │ class_idx : 6758 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 2790 │ │ @@ -723251,18 +723250,18 @@ │ │ type : '(Lorg/purple/smoke/Settings;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -4123ac: |[4123ac] org.purple.smoke.Settings$39.:(Lorg/purple/smoke/Settings;)V │ │ -4123bc: 5b01 d65c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$39;.this$0:Lorg/purple/smoke/Settings; // field@5cd6 │ │ -4123c0: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -4123c6: 0e00 |0005: return-void │ │ +4123a8: |[4123a8] org.purple.smoke.Settings$39.:(Lorg/purple/smoke/Settings;)V │ │ +4123b8: 5b01 d65c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$39;.this$0:Lorg/purple/smoke/Settings; // field@5cd6 │ │ +4123bc: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +4123c2: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=3493 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/Settings$39; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/Settings; │ │ │ │ @@ -723272,42 +723271,42 @@ │ │ type : '(Landroid/widget/RadioGroup;I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 3 │ │ outs : 2 │ │ insns size : 59 16-bit code units │ │ -4123c8: |[4123c8] org.purple.smoke.Settings$39.onCheckedChanged:(Landroid/widget/RadioGroup;I)V │ │ -4123d8: 5434 d65c |0000: iget-object v4, v3, Lorg/purple/smoke/Settings$39;.this$0:Lorg/purple/smoke/Settings; // field@5cd6 │ │ -4123dc: 1400 ad00 087f |0002: const v0, #float 1.80779e+38 // #7f0800ad │ │ -4123e2: 6e20 dcb8 0400 |0005: invoke-virtual {v4, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4123e8: 0c04 |0008: move-result-object v4 │ │ -4123ea: 1f04 970a |0009: check-cast v4, Landroid/widget/TextView; // type@0a97 │ │ -4123ee: 1401 ac00 087f |000b: const v1, #float 1.80778e+38 // #7f0800ac │ │ -4123f4: 1402 a900 087f |000e: const v2, #float 1.80778e+38 // #7f0800a9 │ │ -4123fa: 3325 1a00 |0011: if-ne v5, v2, 002b // +001a │ │ -4123fe: 1205 |0013: const/4 v5, #int 0 // #0 │ │ -412400: 6e20 335b 5400 |0014: invoke-virtual {v4, v5}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ -412406: 1a05 0000 |0017: const-string v5, "" // string@0000 │ │ -41240a: 6e20 495b 5400 |0019: invoke-virtual {v4, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -412410: 5434 d65c |001c: iget-object v4, v3, Lorg/purple/smoke/Settings$39;.this$0:Lorg/purple/smoke/Settings; // field@5cd6 │ │ -412414: 6e20 dcb8 1400 |001e: invoke-virtual {v4, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41241a: 0c04 |0021: move-result-object v4 │ │ -41241c: 1f04 970a |0022: check-cast v4, Landroid/widget/TextView; // type@0a97 │ │ -412420: 1405 d200 087f |0024: const v5, #float 1.80779e+38 // #7f0800d2 │ │ -412426: 6e20 3e5b 5400 |0027: invoke-virtual {v4, v5}, Landroid/widget/TextView;.setNextFocusDownId:(I)V // method@5b3e │ │ -41242c: 2810 |002a: goto 003a // +0010 │ │ -41242e: 1215 |002b: const/4 v5, #int 1 // #1 │ │ -412430: 6e20 335b 5400 |002c: invoke-virtual {v4, v5}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ -412436: 5434 d65c |002f: iget-object v4, v3, Lorg/purple/smoke/Settings$39;.this$0:Lorg/purple/smoke/Settings; // field@5cd6 │ │ -41243a: 6e20 dcb8 1400 |0031: invoke-virtual {v4, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -412440: 0c04 |0034: move-result-object v4 │ │ -412442: 1f04 970a |0035: check-cast v4, Landroid/widget/TextView; // type@0a97 │ │ -412446: 6e20 3e5b 0400 |0037: invoke-virtual {v4, v0}, Landroid/widget/TextView;.setNextFocusDownId:(I)V // method@5b3e │ │ -41244c: 0e00 |003a: return-void │ │ +4123c4: |[4123c4] org.purple.smoke.Settings$39.onCheckedChanged:(Landroid/widget/RadioGroup;I)V │ │ +4123d4: 5434 d65c |0000: iget-object v4, v3, Lorg/purple/smoke/Settings$39;.this$0:Lorg/purple/smoke/Settings; // field@5cd6 │ │ +4123d8: 1400 ad00 087f |0002: const v0, #float 1.80779e+38 // #7f0800ad │ │ +4123de: 6e20 dcb8 0400 |0005: invoke-virtual {v4, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4123e4: 0c04 |0008: move-result-object v4 │ │ +4123e6: 1f04 970a |0009: check-cast v4, Landroid/widget/TextView; // type@0a97 │ │ +4123ea: 1401 ac00 087f |000b: const v1, #float 1.80778e+38 // #7f0800ac │ │ +4123f0: 1402 a900 087f |000e: const v2, #float 1.80778e+38 // #7f0800a9 │ │ +4123f6: 3325 1a00 |0011: if-ne v5, v2, 002b // +001a │ │ +4123fa: 1205 |0013: const/4 v5, #int 0 // #0 │ │ +4123fc: 6e20 335b 5400 |0014: invoke-virtual {v4, v5}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ +412402: 1a05 0000 |0017: const-string v5, "" // string@0000 │ │ +412406: 6e20 495b 5400 |0019: invoke-virtual {v4, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41240c: 5434 d65c |001c: iget-object v4, v3, Lorg/purple/smoke/Settings$39;.this$0:Lorg/purple/smoke/Settings; // field@5cd6 │ │ +412410: 6e20 dcb8 1400 |001e: invoke-virtual {v4, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +412416: 0c04 |0021: move-result-object v4 │ │ +412418: 1f04 970a |0022: check-cast v4, Landroid/widget/TextView; // type@0a97 │ │ +41241c: 1405 d200 087f |0024: const v5, #float 1.80779e+38 // #7f0800d2 │ │ +412422: 6e20 3e5b 5400 |0027: invoke-virtual {v4, v5}, Landroid/widget/TextView;.setNextFocusDownId:(I)V // method@5b3e │ │ +412428: 2810 |002a: goto 003a // +0010 │ │ +41242a: 1215 |002b: const/4 v5, #int 1 // #1 │ │ +41242c: 6e20 335b 5400 |002c: invoke-virtual {v4, v5}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ +412432: 5434 d65c |002f: iget-object v4, v3, Lorg/purple/smoke/Settings$39;.this$0:Lorg/purple/smoke/Settings; // field@5cd6 │ │ +412436: 6e20 dcb8 1400 |0031: invoke-virtual {v4, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +41243c: 0c04 |0034: move-result-object v4 │ │ +41243e: 1f04 970a |0035: check-cast v4, Landroid/widget/TextView; // type@0a97 │ │ +412442: 6e20 3e5b 0400 |0037: invoke-virtual {v4, v0}, Landroid/widget/TextView;.setNextFocusDownId:(I)V // method@5b3e │ │ +412448: 0e00 |003a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=3497 │ │ 0x0005 line=3498 │ │ 0x0014 line=3502 │ │ 0x0019 line=3503 │ │ 0x001c line=3504 │ │ @@ -723359,19 +723358,19 @@ │ │ type : '(Lorg/purple/smoke/Settings;I)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -412bd8: |[412bd8] org.purple.smoke.Settings$3.:(Lorg/purple/smoke/Settings;I)V │ │ -412be8: 5b01 d75c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$3;.this$0:Lorg/purple/smoke/Settings; // field@5cd7 │ │ -412bec: 5902 d85c |0002: iput v2, v0, Lorg/purple/smoke/Settings$3;.val$oid:I // field@5cd8 │ │ -412bf0: 7010 8f5c 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -412bf6: 0e00 |0007: return-void │ │ +412bd4: |[412bd4] org.purple.smoke.Settings$3.:(Lorg/purple/smoke/Settings;I)V │ │ +412be4: 5b01 d75c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$3;.this$0:Lorg/purple/smoke/Settings; // field@5cd7 │ │ +412be8: 5902 d85c |0002: iput v2, v0, Lorg/purple/smoke/Settings$3;.val$oid:I // field@5cd8 │ │ +412bec: 7010 8f5c 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +412bf2: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=500 │ │ locals : │ │ 0x0000 - 0x0008 reg=0 this Lorg/purple/smoke/Settings$3; │ │ 0x0000 - 0x0008 reg=1 (null) Lorg/purple/smoke/Settings; │ │ 0x0000 - 0x0008 reg=2 (null) I │ │ @@ -723382,52 +723381,52 @@ │ │ type : '(Landroid/content/DialogInterface;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 78 16-bit code units │ │ -412bf8: |[412bf8] org.purple.smoke.Settings$3.onCancel:(Landroid/content/DialogInterface;)V │ │ -412c08: 7100 66b9 0000 |0000: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -412c0e: 0c03 |0003: move-result-object v3 │ │ -412c10: 1a00 6c62 |0004: const-string v0, "dialog_accepted" // string@626c │ │ -412c14: 6e20 67b9 0300 |0006: invoke-virtual {v3, v0}, Lorg/purple/smoke/State;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@b967 │ │ -412c1a: 0c03 |0009: move-result-object v3 │ │ -412c1c: 1a00 00a3 |000a: const-string v0, "true" // string@a300 │ │ -412c20: 6e20 b85c 0300 |000c: invoke-virtual {v3, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -412c26: 0a03 |000f: move-result v3 │ │ -412c28: 3803 3d00 |0010: if-eqz v3, 004d // +003d │ │ -412c2c: 5423 d75c |0012: iget-object v3, v2, Lorg/purple/smoke/Settings$3;.this$0:Lorg/purple/smoke/Settings; // field@5cd7 │ │ -412c30: 7110 d3b8 0300 |0014: invoke-static {v3}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -412c36: 0c03 |0017: move-result-object v3 │ │ -412c38: 5220 d85c |0018: iget v0, v2, Lorg/purple/smoke/Settings$3;.val$oid:I // field@5cd8 │ │ -412c3c: 7110 d55c 0000 |001a: invoke-static {v0}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ -412c42: 0c00 |001d: move-result-object v0 │ │ -412c44: 1a01 df89 |001e: const-string v1, "neighbors" // string@89df │ │ -412c48: 6e30 e0b5 0301 |0020: invoke-virtual {v3, v0, v1}, Lorg/purple/smoke/Database;.deleteEntry:(Ljava/lang/String;Ljava/lang/String;)Z // method@b5e0 │ │ -412c4e: 0a03 |0023: move-result v3 │ │ -412c50: 3803 2900 |0024: if-eqz v3, 004d // +0029 │ │ -412c54: 2203 f40a |0026: new-instance v3, Ljava/lang/Thread; // type@0af4 │ │ -412c58: 2200 5c1a |0028: new-instance v0, Lorg/purple/smoke/Settings$3$1SingleShot; // type@1a5c │ │ -412c5c: 7020 72b8 2000 |002a: invoke-direct {v0, v2}, Lorg/purple/smoke/Settings$3$1SingleShot;.:(Lorg/purple/smoke/Settings$3;)V // method@b872 │ │ -412c62: 7020 0e5d 0300 |002d: invoke-direct {v3, v0}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@5d0e │ │ -412c68: 6e10 195d 0300 |0030: invoke-virtual {v3}, Ljava/lang/Thread;.start:()V // method@5d19 │ │ -412c6e: 5423 d75c |0033: iget-object v3, v2, Lorg/purple/smoke/Settings$3;.this$0:Lorg/purple/smoke/Settings; // field@5cd7 │ │ -412c72: 1400 a700 087f |0035: const v0, #float 1.80778e+38 // #7f0800a7 │ │ -412c78: 6e20 dcb8 0300 |0038: invoke-virtual {v3, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -412c7e: 0c03 |003b: move-result-object v3 │ │ -412c80: 1f03 930a |003c: check-cast v3, Landroid/widget/TableLayout; // type@0a93 │ │ -412c84: 5420 d75c |003e: iget-object v0, v2, Lorg/purple/smoke/Settings$3;.this$0:Lorg/purple/smoke/Settings; // field@5cd7 │ │ -412c88: 5221 d85c |0040: iget v1, v2, Lorg/purple/smoke/Settings$3;.val$oid:I // field@5cd8 │ │ -412c8c: 6e20 dcb8 1000 |0042: invoke-virtual {v0, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -412c92: 0c00 |0045: move-result-object v0 │ │ -412c94: 1f00 950a |0046: check-cast v0, Landroid/widget/TableRow; // type@0a95 │ │ -412c98: 3800 0500 |0048: if-eqz v0, 004d // +0005 │ │ -412c9c: 6e20 f75a 0300 |004a: invoke-virtual {v3, v0}, Landroid/widget/TableLayout;.removeView:(Landroid/view/View;)V // method@5af7 │ │ -412ca2: 0e00 |004d: return-void │ │ +412bf4: |[412bf4] org.purple.smoke.Settings$3.onCancel:(Landroid/content/DialogInterface;)V │ │ +412c04: 7100 66b9 0000 |0000: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +412c0a: 0c03 |0003: move-result-object v3 │ │ +412c0c: 1a00 6c62 |0004: const-string v0, "dialog_accepted" // string@626c │ │ +412c10: 6e20 67b9 0300 |0006: invoke-virtual {v3, v0}, Lorg/purple/smoke/State;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@b967 │ │ +412c16: 0c03 |0009: move-result-object v3 │ │ +412c18: 1a00 00a3 |000a: const-string v0, "true" // string@a300 │ │ +412c1c: 6e20 b85c 0300 |000c: invoke-virtual {v3, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +412c22: 0a03 |000f: move-result v3 │ │ +412c24: 3803 3d00 |0010: if-eqz v3, 004d // +003d │ │ +412c28: 5423 d75c |0012: iget-object v3, v2, Lorg/purple/smoke/Settings$3;.this$0:Lorg/purple/smoke/Settings; // field@5cd7 │ │ +412c2c: 7110 d3b8 0300 |0014: invoke-static {v3}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +412c32: 0c03 |0017: move-result-object v3 │ │ +412c34: 5220 d85c |0018: iget v0, v2, Lorg/purple/smoke/Settings$3;.val$oid:I // field@5cd8 │ │ +412c38: 7110 d55c 0000 |001a: invoke-static {v0}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ +412c3e: 0c00 |001d: move-result-object v0 │ │ +412c40: 1a01 df89 |001e: const-string v1, "neighbors" // string@89df │ │ +412c44: 6e30 e0b5 0301 |0020: invoke-virtual {v3, v0, v1}, Lorg/purple/smoke/Database;.deleteEntry:(Ljava/lang/String;Ljava/lang/String;)Z // method@b5e0 │ │ +412c4a: 0a03 |0023: move-result v3 │ │ +412c4c: 3803 2900 |0024: if-eqz v3, 004d // +0029 │ │ +412c50: 2203 f40a |0026: new-instance v3, Ljava/lang/Thread; // type@0af4 │ │ +412c54: 2200 5c1a |0028: new-instance v0, Lorg/purple/smoke/Settings$3$1SingleShot; // type@1a5c │ │ +412c58: 7020 72b8 2000 |002a: invoke-direct {v0, v2}, Lorg/purple/smoke/Settings$3$1SingleShot;.:(Lorg/purple/smoke/Settings$3;)V // method@b872 │ │ +412c5e: 7020 0e5d 0300 |002d: invoke-direct {v3, v0}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@5d0e │ │ +412c64: 6e10 195d 0300 |0030: invoke-virtual {v3}, Ljava/lang/Thread;.start:()V // method@5d19 │ │ +412c6a: 5423 d75c |0033: iget-object v3, v2, Lorg/purple/smoke/Settings$3;.this$0:Lorg/purple/smoke/Settings; // field@5cd7 │ │ +412c6e: 1400 a700 087f |0035: const v0, #float 1.80778e+38 // #7f0800a7 │ │ +412c74: 6e20 dcb8 0300 |0038: invoke-virtual {v3, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +412c7a: 0c03 |003b: move-result-object v3 │ │ +412c7c: 1f03 930a |003c: check-cast v3, Landroid/widget/TableLayout; // type@0a93 │ │ +412c80: 5420 d75c |003e: iget-object v0, v2, Lorg/purple/smoke/Settings$3;.this$0:Lorg/purple/smoke/Settings; // field@5cd7 │ │ +412c84: 5221 d85c |0040: iget v1, v2, Lorg/purple/smoke/Settings$3;.val$oid:I // field@5cd8 │ │ +412c88: 6e20 dcb8 1000 |0042: invoke-virtual {v0, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +412c8e: 0c00 |0045: move-result-object v0 │ │ +412c90: 1f00 950a |0046: check-cast v0, Landroid/widget/TableRow; // type@0a95 │ │ +412c94: 3800 0500 |0048: if-eqz v0, 004d // +0005 │ │ +412c98: 6e20 f75a 0300 |004a: invoke-virtual {v3, v0}, Landroid/widget/TableLayout;.removeView:(Landroid/view/View;)V // method@5af7 │ │ +412c9e: 0e00 |004d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=503 │ │ 0x000c line=504 │ │ 0x0012 line=505 │ │ 0x001a line=506 │ │ 0x0026 line=528 │ │ @@ -723474,18 +723473,18 @@ │ │ type : '(Lorg/purple/smoke/Settings$3SingleShot;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -412450: |[412450] org.purple.smoke.Settings$3SingleShot$1.:(Lorg/purple/smoke/Settings$3SingleShot;)V │ │ -412460: 5b01 d95c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ -412464: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41246a: 0e00 |0005: return-void │ │ +41244c: |[41244c] org.purple.smoke.Settings$3SingleShot$1.:(Lorg/purple/smoke/Settings$3SingleShot;)V │ │ +41245c: 5b01 d95c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ +412460: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +412466: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1575 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/Settings$3SingleShot$1; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/Settings$3SingleShot; │ │ │ │ @@ -723495,130 +723494,130 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 14 │ │ ins : 1 │ │ outs : 12 │ │ insns size : 251 16-bit code units │ │ -41246c: |[41246c] org.purple.smoke.Settings$3SingleShot$1.run:()V │ │ -41247c: 54d0 d95c |0000: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ -412480: 5400 e15c |0002: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.val$bar:Landroid/widget/ProgressBar; // field@5ce1 │ │ -412484: 1241 |0004: const/4 v1, #int 4 // #4 │ │ -412486: 6e20 5f5a 1000 |0005: invoke-virtual {v0, v1}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ -41248c: 54d0 d95c |0008: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ -412490: 5400 e05c |000a: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ -412494: 6e10 e4b8 0000 |000c: invoke-virtual {v0}, Lorg/purple/smoke/Settings;.getWindow:()Landroid/view/Window; // method@b8e4 │ │ -41249a: 0c00 |000f: move-result-object v0 │ │ -41249c: 1302 1000 |0010: const/16 v2, #int 16 // #10 │ │ -4124a0: 6e20 8557 2000 |0012: invoke-virtual {v0, v2}, Landroid/view/Window;.clearFlags:(I)V // method@5785 │ │ -4124a6: 54d0 d95c |0015: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ -4124aa: 5400 e05c |0017: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ -4124ae: 1402 9200 087f |0019: const v2, #float 1.80778e+38 // #7f080092 │ │ -4124b4: 6e20 dcb8 2000 |001c: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4124ba: 0c00 |001f: move-result-object v0 │ │ -4124bc: 1212 |0020: const/4 v2, #int 1 // #1 │ │ -4124be: 7120 ddb7 2000 |0021: invoke-static {v0, v2}, Lorg/purple/smoke/Miscellaneous;.enableChildren:(Landroid/view/View;Z)V // method@b7dd │ │ -4124c4: 54d0 d95c |0024: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ -4124c8: 5400 e05c |0026: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ -4124cc: 7110 d4b8 0000 |0028: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$500:(Lorg/purple/smoke/Settings;)V // method@b8d4 │ │ -4124d2: 54d0 d95c |002b: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ -4124d6: 7110 90b8 0000 |002d: invoke-static {v0}, Lorg/purple/smoke/Settings$3SingleShot;.access$900:(Lorg/purple/smoke/Settings$3SingleShot;)Ljava/lang/String; // method@b890 │ │ -4124dc: 0c00 |0030: move-result-object v0 │ │ -4124de: 6e10 c35c 0000 |0031: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -4124e4: 0a00 |0034: move-result v0 │ │ -4124e6: 3900 2700 |0035: if-nez v0, 005c // +0027 │ │ -4124ea: 54d0 d95c |0037: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ -4124ee: 5400 e05c |0039: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ -4124f2: 2201 f10a |003b: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ -4124f6: 7010 ee5c 0100 |003d: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -4124fc: 1a02 550d |0040: const-string v2, "An error (" // string@0d55 │ │ -412500: 6e20 f95c 2100 |0042: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -412506: 54d2 d95c |0045: iget-object v2, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ -41250a: 7110 90b8 0200 |0047: invoke-static {v2}, Lorg/purple/smoke/Settings$3SingleShot;.access$900:(Lorg/purple/smoke/Settings$3SingleShot;)Ljava/lang/String; // method@b890 │ │ -412510: 0c02 |004a: move-result-object v2 │ │ -412512: 6e20 f95c 2100 |004b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -412518: 1a02 f803 |004e: const-string v2, ") occurred while generating the confidential data." // string@03f8 │ │ -41251c: 6e20 f95c 2100 |0050: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -412522: 6e10 035d 0100 |0053: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -412528: 0c01 |0056: move-result-object v1 │ │ -41252a: 7120 ecb7 1000 |0057: invoke-static {v0, v1}, Lorg/purple/smoke/Miscellaneous;.showErrorDialog:(Landroid/content/Context;Ljava/lang/String;)V // method@b7ec │ │ -412530: 2900 a000 |005a: goto/16 00fa // +00a0 │ │ -412534: 7100 02b7 0000 |005c: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ -41253a: 0c00 |005f: move-result-object v0 │ │ -41253c: 6e20 15b7 2000 |0060: invoke-virtual {v0, v2}, Lorg/purple/smoke/Kernel;.setWakeLock:(Z)V // method@b715 │ │ -412542: 54d0 d95c |0063: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ -412546: 5400 e05c |0065: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ -41254a: 7120 c2b8 2000 |0067: invoke-static {v0, v2}, Lorg/purple/smoke/Settings;.access$1000:(Lorg/purple/smoke/Settings;Z)V // method@b8c2 │ │ -412550: 54d0 d95c |006a: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ -412554: 5400 e05c |006c: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ -412558: 7110 c3b8 0000 |006e: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$1100:(Lorg/purple/smoke/Settings;)V // method@b8c3 │ │ -41255e: 7100 66b9 0000 |0071: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -412564: 0c00 |0074: move-result-object v0 │ │ -412566: 6e20 79b9 2000 |0075: invoke-virtual {v0, v2}, Lorg/purple/smoke/State;.setAuthenticated:(Z)V // method@b979 │ │ -41256c: 54d0 d95c |0078: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ -412570: 5400 e25c |007a: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.val$spinner3:Landroid/widget/Spinner; // field@5ce2 │ │ -412574: 6e20 cc5a 1000 |007c: invoke-virtual {v0, v1}, Landroid/widget/Spinner;.setSelection:(I)V // method@5acc │ │ -41257a: 54d0 d95c |007f: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ -41257e: 5400 e35c |0081: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.val$spinner4:Landroid/widget/Spinner; // field@5ce3 │ │ -412582: 6e20 cc5a 2000 |0083: invoke-virtual {v0, v2}, Landroid/widget/Spinner;.setSelection:(I)V // method@5acc │ │ -412588: 54d0 d95c |0086: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ -41258c: 5400 e45c |0088: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.val$textView1:Landroid/widget/TextView; // field@5ce4 │ │ -412590: 6e10 265b 0000 |008a: invoke-virtual {v0}, Landroid/widget/TextView;.requestFocus:()Z // method@5b26 │ │ -412596: 54d0 d95c |008d: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ -41259a: 5400 e45c |008f: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.val$textView1:Landroid/widget/TextView; // field@5ce4 │ │ -41259e: 1a01 0000 |0091: const-string v1, "" // string@0000 │ │ -4125a2: 6e20 495b 1000 |0093: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -4125a8: 54d0 d95c |0096: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ -4125ac: 5400 e55c |0098: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.val$textView2:Landroid/widget/TextView; // field@5ce5 │ │ -4125b0: 6e20 495b 1000 |009a: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -4125b6: 54d0 d95c |009d: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ -4125ba: 5400 e05c |009f: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ -4125be: 7110 d3b8 0000 |00a1: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -4125c4: 0c01 |00a4: move-result-object v1 │ │ -4125c6: 7100 d2b8 0000 |00a5: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -4125cc: 0c02 |00a8: move-result-object v2 │ │ -4125ce: 1a03 c066 |00a9: const-string v3, "false" // string@66c0 │ │ -4125d2: 1a04 c066 |00ab: const-string v4, "false" // string@66c0 │ │ -4125d6: 1a05 0000 |00ad: const-string v5, "" // string@0000 │ │ -4125da: 1a06 0000 |00af: const-string v6, "" // string@0000 │ │ -4125de: 1a07 351c |00b1: const-string v7, "HTTP" // string@1c35 │ │ -4125e2: 1a08 a206 |00b3: const-string v8, "127.0.0.1" // string@06a2 │ │ -4125e6: 1a09 d507 |00b5: const-string v9, "4710" // string@07d5 │ │ -4125ea: 1a0a 0000 |00b7: const-string v10, "" // string@0000 │ │ -4125ee: 1a0b e04b |00b9: const-string v11, "TCP" // string@4be0 │ │ -4125f2: 1a0c 681d |00bb: const-string v12, "IPv4" // string@1d68 │ │ -4125f6: 740c 2bb6 0100 |00bd: invoke-virtual/range {v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12}, Lorg/purple/smoke/Database;.writeNeighbor:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z // method@b62b │ │ -4125fc: 54d0 d95c |00c0: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ -412600: 5400 e05c |00c2: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ -412604: 7110 c4b8 0000 |00c4: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$1200:(Lorg/purple/smoke/Settings;)V // method@b8c4 │ │ -41260a: 54d0 d95c |00c7: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ -41260e: 5400 e05c |00c9: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ -412612: 7110 c5b8 0000 |00cb: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$1300:(Lorg/purple/smoke/Settings;)V // method@b8c5 │ │ -412618: 54d0 d95c |00ce: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ -41261c: 5400 e05c |00d0: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ -412620: 7110 ccb8 0000 |00d2: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$200:(Lorg/purple/smoke/Settings;)V // method@b8cc │ │ -412626: 54d0 d95c |00d5: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ -41262a: 5400 e05c |00d7: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ -41262e: 7110 c6b8 0000 |00d9: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$1400:(Lorg/purple/smoke/Settings;)V // method@b8c6 │ │ -412634: 54d0 d95c |00dc: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ -412638: 5400 e05c |00de: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ -41263c: 7110 d3b8 0000 |00e0: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -412642: 0c00 |00e3: move-result-object v0 │ │ -412644: 1201 |00e4: const/4 v1, #int 0 // #0 │ │ -412646: 1a02 255a |00e5: const-string v2, "automatic_neighbors_refresh" // string@5a25 │ │ -41264a: 6e30 0eb6 1002 |00e7: invoke-virtual {v0, v1, v2}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ -412650: 0c00 |00ea: move-result-object v0 │ │ -412652: 1a01 00a3 |00eb: const-string v1, "true" // string@a300 │ │ -412656: 6e20 b85c 1000 |00ed: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41265c: 0a00 |00f0: move-result v0 │ │ -41265e: 3800 0900 |00f1: if-eqz v0, 00fa // +0009 │ │ -412662: 54d0 d95c |00f3: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ -412666: 5400 e05c |00f5: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ -41266a: 7110 c7b8 0000 |00f7: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$1500:(Lorg/purple/smoke/Settings;)V // method@b8c7 │ │ -412670: 0e00 |00fa: return-void │ │ +412468: |[412468] org.purple.smoke.Settings$3SingleShot$1.run:()V │ │ +412478: 54d0 d95c |0000: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ +41247c: 5400 e15c |0002: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.val$bar:Landroid/widget/ProgressBar; // field@5ce1 │ │ +412480: 1241 |0004: const/4 v1, #int 4 // #4 │ │ +412482: 6e20 5f5a 1000 |0005: invoke-virtual {v0, v1}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ +412488: 54d0 d95c |0008: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ +41248c: 5400 e05c |000a: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ +412490: 6e10 e4b8 0000 |000c: invoke-virtual {v0}, Lorg/purple/smoke/Settings;.getWindow:()Landroid/view/Window; // method@b8e4 │ │ +412496: 0c00 |000f: move-result-object v0 │ │ +412498: 1302 1000 |0010: const/16 v2, #int 16 // #10 │ │ +41249c: 6e20 8557 2000 |0012: invoke-virtual {v0, v2}, Landroid/view/Window;.clearFlags:(I)V // method@5785 │ │ +4124a2: 54d0 d95c |0015: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ +4124a6: 5400 e05c |0017: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ +4124aa: 1402 9200 087f |0019: const v2, #float 1.80778e+38 // #7f080092 │ │ +4124b0: 6e20 dcb8 2000 |001c: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4124b6: 0c00 |001f: move-result-object v0 │ │ +4124b8: 1212 |0020: const/4 v2, #int 1 // #1 │ │ +4124ba: 7120 ddb7 2000 |0021: invoke-static {v0, v2}, Lorg/purple/smoke/Miscellaneous;.enableChildren:(Landroid/view/View;Z)V // method@b7dd │ │ +4124c0: 54d0 d95c |0024: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ +4124c4: 5400 e05c |0026: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ +4124c8: 7110 d4b8 0000 |0028: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$500:(Lorg/purple/smoke/Settings;)V // method@b8d4 │ │ +4124ce: 54d0 d95c |002b: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ +4124d2: 7110 90b8 0000 |002d: invoke-static {v0}, Lorg/purple/smoke/Settings$3SingleShot;.access$900:(Lorg/purple/smoke/Settings$3SingleShot;)Ljava/lang/String; // method@b890 │ │ +4124d8: 0c00 |0030: move-result-object v0 │ │ +4124da: 6e10 c35c 0000 |0031: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +4124e0: 0a00 |0034: move-result v0 │ │ +4124e2: 3900 2700 |0035: if-nez v0, 005c // +0027 │ │ +4124e6: 54d0 d95c |0037: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ +4124ea: 5400 e05c |0039: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ +4124ee: 2201 f10a |003b: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ +4124f2: 7010 ee5c 0100 |003d: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +4124f8: 1a02 550d |0040: const-string v2, "An error (" // string@0d55 │ │ +4124fc: 6e20 f95c 2100 |0042: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +412502: 54d2 d95c |0045: iget-object v2, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ +412506: 7110 90b8 0200 |0047: invoke-static {v2}, Lorg/purple/smoke/Settings$3SingleShot;.access$900:(Lorg/purple/smoke/Settings$3SingleShot;)Ljava/lang/String; // method@b890 │ │ +41250c: 0c02 |004a: move-result-object v2 │ │ +41250e: 6e20 f95c 2100 |004b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +412514: 1a02 f803 |004e: const-string v2, ") occurred while generating the confidential data." // string@03f8 │ │ +412518: 6e20 f95c 2100 |0050: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41251e: 6e10 035d 0100 |0053: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +412524: 0c01 |0056: move-result-object v1 │ │ +412526: 7120 ecb7 1000 |0057: invoke-static {v0, v1}, Lorg/purple/smoke/Miscellaneous;.showErrorDialog:(Landroid/content/Context;Ljava/lang/String;)V // method@b7ec │ │ +41252c: 2900 a000 |005a: goto/16 00fa // +00a0 │ │ +412530: 7100 02b7 0000 |005c: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ +412536: 0c00 |005f: move-result-object v0 │ │ +412538: 6e20 15b7 2000 |0060: invoke-virtual {v0, v2}, Lorg/purple/smoke/Kernel;.setWakeLock:(Z)V // method@b715 │ │ +41253e: 54d0 d95c |0063: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ +412542: 5400 e05c |0065: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ +412546: 7120 c2b8 2000 |0067: invoke-static {v0, v2}, Lorg/purple/smoke/Settings;.access$1000:(Lorg/purple/smoke/Settings;Z)V // method@b8c2 │ │ +41254c: 54d0 d95c |006a: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ +412550: 5400 e05c |006c: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ +412554: 7110 c3b8 0000 |006e: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$1100:(Lorg/purple/smoke/Settings;)V // method@b8c3 │ │ +41255a: 7100 66b9 0000 |0071: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +412560: 0c00 |0074: move-result-object v0 │ │ +412562: 6e20 79b9 2000 |0075: invoke-virtual {v0, v2}, Lorg/purple/smoke/State;.setAuthenticated:(Z)V // method@b979 │ │ +412568: 54d0 d95c |0078: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ +41256c: 5400 e25c |007a: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.val$spinner3:Landroid/widget/Spinner; // field@5ce2 │ │ +412570: 6e20 cc5a 1000 |007c: invoke-virtual {v0, v1}, Landroid/widget/Spinner;.setSelection:(I)V // method@5acc │ │ +412576: 54d0 d95c |007f: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ +41257a: 5400 e35c |0081: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.val$spinner4:Landroid/widget/Spinner; // field@5ce3 │ │ +41257e: 6e20 cc5a 2000 |0083: invoke-virtual {v0, v2}, Landroid/widget/Spinner;.setSelection:(I)V // method@5acc │ │ +412584: 54d0 d95c |0086: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ +412588: 5400 e45c |0088: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.val$textView1:Landroid/widget/TextView; // field@5ce4 │ │ +41258c: 6e10 265b 0000 |008a: invoke-virtual {v0}, Landroid/widget/TextView;.requestFocus:()Z // method@5b26 │ │ +412592: 54d0 d95c |008d: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ +412596: 5400 e45c |008f: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.val$textView1:Landroid/widget/TextView; // field@5ce4 │ │ +41259a: 1a01 0000 |0091: const-string v1, "" // string@0000 │ │ +41259e: 6e20 495b 1000 |0093: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +4125a4: 54d0 d95c |0096: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ +4125a8: 5400 e55c |0098: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.val$textView2:Landroid/widget/TextView; // field@5ce5 │ │ +4125ac: 6e20 495b 1000 |009a: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +4125b2: 54d0 d95c |009d: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ +4125b6: 5400 e05c |009f: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ +4125ba: 7110 d3b8 0000 |00a1: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +4125c0: 0c01 |00a4: move-result-object v1 │ │ +4125c2: 7100 d2b8 0000 |00a5: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +4125c8: 0c02 |00a8: move-result-object v2 │ │ +4125ca: 1a03 c066 |00a9: const-string v3, "false" // string@66c0 │ │ +4125ce: 1a04 c066 |00ab: const-string v4, "false" // string@66c0 │ │ +4125d2: 1a05 0000 |00ad: const-string v5, "" // string@0000 │ │ +4125d6: 1a06 0000 |00af: const-string v6, "" // string@0000 │ │ +4125da: 1a07 351c |00b1: const-string v7, "HTTP" // string@1c35 │ │ +4125de: 1a08 a206 |00b3: const-string v8, "127.0.0.1" // string@06a2 │ │ +4125e2: 1a09 d507 |00b5: const-string v9, "4710" // string@07d5 │ │ +4125e6: 1a0a 0000 |00b7: const-string v10, "" // string@0000 │ │ +4125ea: 1a0b e04b |00b9: const-string v11, "TCP" // string@4be0 │ │ +4125ee: 1a0c 681d |00bb: const-string v12, "IPv4" // string@1d68 │ │ +4125f2: 740c 2bb6 0100 |00bd: invoke-virtual/range {v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12}, Lorg/purple/smoke/Database;.writeNeighbor:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z // method@b62b │ │ +4125f8: 54d0 d95c |00c0: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ +4125fc: 5400 e05c |00c2: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ +412600: 7110 c4b8 0000 |00c4: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$1200:(Lorg/purple/smoke/Settings;)V // method@b8c4 │ │ +412606: 54d0 d95c |00c7: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ +41260a: 5400 e05c |00c9: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ +41260e: 7110 c5b8 0000 |00cb: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$1300:(Lorg/purple/smoke/Settings;)V // method@b8c5 │ │ +412614: 54d0 d95c |00ce: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ +412618: 5400 e05c |00d0: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ +41261c: 7110 ccb8 0000 |00d2: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$200:(Lorg/purple/smoke/Settings;)V // method@b8cc │ │ +412622: 54d0 d95c |00d5: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ +412626: 5400 e05c |00d7: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ +41262a: 7110 c6b8 0000 |00d9: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$1400:(Lorg/purple/smoke/Settings;)V // method@b8c6 │ │ +412630: 54d0 d95c |00dc: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ +412634: 5400 e05c |00de: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ +412638: 7110 d3b8 0000 |00e0: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +41263e: 0c00 |00e3: move-result-object v0 │ │ +412640: 1201 |00e4: const/4 v1, #int 0 // #0 │ │ +412642: 1a02 255a |00e5: const-string v2, "automatic_neighbors_refresh" // string@5a25 │ │ +412646: 6e30 0eb6 1002 |00e7: invoke-virtual {v0, v1, v2}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ +41264c: 0c00 |00ea: move-result-object v0 │ │ +41264e: 1a01 00a3 |00eb: const-string v1, "true" // string@a300 │ │ +412652: 6e20 b85c 1000 |00ed: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +412658: 0a00 |00f0: move-result v0 │ │ +41265a: 3800 0900 |00f1: if-eqz v0, 00fa // +0009 │ │ +41265e: 54d0 d95c |00f3: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot$1;.this$1:Lorg/purple/smoke/Settings$3SingleShot; // field@5cd9 │ │ +412662: 5400 e05c |00f5: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ +412666: 7110 c7b8 0000 |00f7: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$1500:(Lorg/purple/smoke/Settings;)V // method@b8c7 │ │ +41266c: 0e00 |00fa: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1579 │ │ 0x0008 line=1580 │ │ 0x0012 line=1581 │ │ 0x0015 line=1583 │ │ 0x001c line=1584 │ │ @@ -723730,43 +723729,43 @@ │ │ type : '(Lorg/purple/smoke/Settings;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IILandroid/widget/ProgressBar;Landroid/widget/Spinner;Landroid/widget/Spinner;Landroid/widget/TextView;Landroid/widget/TextView;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 12 │ │ ins : 12 │ │ outs : 2 │ │ insns size : 55 16-bit code units │ │ -41268c: |[41268c] org.purple.smoke.Settings$3SingleShot.:(Lorg/purple/smoke/Settings;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IILandroid/widget/ProgressBar;Landroid/widget/Spinner;Landroid/widget/Spinner;Landroid/widget/TextView;Landroid/widget/TextView;)V │ │ -41269c: 5b01 e05c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ -4126a0: 5b07 e15c |0002: iput-object v7, v0, Lorg/purple/smoke/Settings$3SingleShot;.val$bar:Landroid/widget/ProgressBar; // field@5ce1 │ │ -4126a4: 5b08 e25c |0004: iput-object v8, v0, Lorg/purple/smoke/Settings$3SingleShot;.val$spinner3:Landroid/widget/Spinner; // field@5ce2 │ │ -4126a8: 5b09 e35c |0006: iput-object v9, v0, Lorg/purple/smoke/Settings$3SingleShot;.val$spinner4:Landroid/widget/Spinner; // field@5ce3 │ │ -4126ac: 5b0a e45c |0008: iput-object v10, v0, Lorg/purple/smoke/Settings$3SingleShot;.val$textView1:Landroid/widget/TextView; // field@5ce4 │ │ -4126b0: 5b0b e55c |000a: iput-object v11, v0, Lorg/purple/smoke/Settings$3SingleShot;.val$textView2:Landroid/widget/TextView; // field@5ce5 │ │ -4126b4: 7010 8f5c 0000 |000c: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -4126ba: 1a01 0000 |000f: const-string v1, "" // string@0000 │ │ -4126be: 5b01 da5c |0011: iput-object v1, v0, Lorg/purple/smoke/Settings$3SingleShot;.m_encryptionAlgorithm:Ljava/lang/String; // field@5cda │ │ -4126c2: 5b01 db5c |0013: iput-object v1, v0, Lorg/purple/smoke/Settings$3SingleShot;.m_error:Ljava/lang/String; // field@5cdb │ │ -4126c6: 5b01 de5c |0015: iput-object v1, v0, Lorg/purple/smoke/Settings$3SingleShot;.m_password:Ljava/lang/String; // field@5cde │ │ -4126ca: 5b01 df5c |0017: iput-object v1, v0, Lorg/purple/smoke/Settings$3SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cdf │ │ -4126ce: 1301 e803 |0019: const/16 v1, #int 1000 // #3e8 │ │ -4126d2: 5901 dc5c |001b: iput v1, v0, Lorg/purple/smoke/Settings$3SingleShot;.m_iterationCount:I // field@5cdc │ │ -4126d6: 1211 |001d: const/4 v1, #int 1 // #1 │ │ -4126d8: 5901 dd5c |001e: iput v1, v0, Lorg/purple/smoke/Settings$3SingleShot;.m_keyDerivationFunction:I // field@5cdd │ │ -4126dc: 5b02 da5c |0020: iput-object v2, v0, Lorg/purple/smoke/Settings$3SingleShot;.m_encryptionAlgorithm:Ljava/lang/String; // field@5cda │ │ -4126e0: 5905 dc5c |0022: iput v5, v0, Lorg/purple/smoke/Settings$3SingleShot;.m_iterationCount:I // field@5cdc │ │ -4126e4: 5906 dd5c |0024: iput v6, v0, Lorg/purple/smoke/Settings$3SingleShot;.m_keyDerivationFunction:I // field@5cdd │ │ -4126e8: 5b03 de5c |0026: iput-object v3, v0, Lorg/purple/smoke/Settings$3SingleShot;.m_password:Ljava/lang/String; // field@5cde │ │ -4126ec: 5b04 df5c |0028: iput-object v4, v0, Lorg/purple/smoke/Settings$3SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cdf │ │ -4126f0: 1a01 e617 |002a: const-string v1, "ECDSA" // string@17e6 │ │ -4126f4: 6e20 b85c 1400 |002c: invoke-virtual {v4, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -4126fa: 0a01 |002f: move-result v1 │ │ -4126fc: 3801 0600 |0030: if-eqz v1, 0036 // +0006 │ │ -412700: 1a01 b417 |0032: const-string v1, "EC" // string@17b4 │ │ -412704: 5b01 df5c |0034: iput-object v1, v0, Lorg/purple/smoke/Settings$3SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cdf │ │ -412708: 0e00 |0036: return-void │ │ +412688: |[412688] org.purple.smoke.Settings$3SingleShot.:(Lorg/purple/smoke/Settings;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IILandroid/widget/ProgressBar;Landroid/widget/Spinner;Landroid/widget/Spinner;Landroid/widget/TextView;Landroid/widget/TextView;)V │ │ +412698: 5b01 e05c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ +41269c: 5b07 e15c |0002: iput-object v7, v0, Lorg/purple/smoke/Settings$3SingleShot;.val$bar:Landroid/widget/ProgressBar; // field@5ce1 │ │ +4126a0: 5b08 e25c |0004: iput-object v8, v0, Lorg/purple/smoke/Settings$3SingleShot;.val$spinner3:Landroid/widget/Spinner; // field@5ce2 │ │ +4126a4: 5b09 e35c |0006: iput-object v9, v0, Lorg/purple/smoke/Settings$3SingleShot;.val$spinner4:Landroid/widget/Spinner; // field@5ce3 │ │ +4126a8: 5b0a e45c |0008: iput-object v10, v0, Lorg/purple/smoke/Settings$3SingleShot;.val$textView1:Landroid/widget/TextView; // field@5ce4 │ │ +4126ac: 5b0b e55c |000a: iput-object v11, v0, Lorg/purple/smoke/Settings$3SingleShot;.val$textView2:Landroid/widget/TextView; // field@5ce5 │ │ +4126b0: 7010 8f5c 0000 |000c: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +4126b6: 1a01 0000 |000f: const-string v1, "" // string@0000 │ │ +4126ba: 5b01 da5c |0011: iput-object v1, v0, Lorg/purple/smoke/Settings$3SingleShot;.m_encryptionAlgorithm:Ljava/lang/String; // field@5cda │ │ +4126be: 5b01 db5c |0013: iput-object v1, v0, Lorg/purple/smoke/Settings$3SingleShot;.m_error:Ljava/lang/String; // field@5cdb │ │ +4126c2: 5b01 de5c |0015: iput-object v1, v0, Lorg/purple/smoke/Settings$3SingleShot;.m_password:Ljava/lang/String; // field@5cde │ │ +4126c6: 5b01 df5c |0017: iput-object v1, v0, Lorg/purple/smoke/Settings$3SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cdf │ │ +4126ca: 1301 e803 |0019: const/16 v1, #int 1000 // #3e8 │ │ +4126ce: 5901 dc5c |001b: iput v1, v0, Lorg/purple/smoke/Settings$3SingleShot;.m_iterationCount:I // field@5cdc │ │ +4126d2: 1211 |001d: const/4 v1, #int 1 // #1 │ │ +4126d4: 5901 dd5c |001e: iput v1, v0, Lorg/purple/smoke/Settings$3SingleShot;.m_keyDerivationFunction:I // field@5cdd │ │ +4126d8: 5b02 da5c |0020: iput-object v2, v0, Lorg/purple/smoke/Settings$3SingleShot;.m_encryptionAlgorithm:Ljava/lang/String; // field@5cda │ │ +4126dc: 5905 dc5c |0022: iput v5, v0, Lorg/purple/smoke/Settings$3SingleShot;.m_iterationCount:I // field@5cdc │ │ +4126e0: 5906 dd5c |0024: iput v6, v0, Lorg/purple/smoke/Settings$3SingleShot;.m_keyDerivationFunction:I // field@5cdd │ │ +4126e4: 5b03 de5c |0026: iput-object v3, v0, Lorg/purple/smoke/Settings$3SingleShot;.m_password:Ljava/lang/String; // field@5cde │ │ +4126e8: 5b04 df5c |0028: iput-object v4, v0, Lorg/purple/smoke/Settings$3SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cdf │ │ +4126ec: 1a01 e617 |002a: const-string v1, "ECDSA" // string@17e6 │ │ +4126f0: 6e20 b85c 1400 |002c: invoke-virtual {v4, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +4126f6: 0a01 |002f: move-result v1 │ │ +4126f8: 3801 0600 |0030: if-eqz v1, 0036 // +0006 │ │ +4126fc: 1a01 b417 |0032: const-string v1, "EC" // string@17b4 │ │ +412700: 5b01 df5c |0034: iput-object v1, v0, Lorg/purple/smoke/Settings$3SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cdf │ │ +412704: 0e00 |0036: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1364 │ │ 0x0011 line=1352 │ │ 0x0013 line=1353 │ │ 0x0015 line=1354 │ │ 0x0017 line=1355 │ │ @@ -723798,17 +723797,17 @@ │ │ type : '(Lorg/purple/smoke/Settings$3SingleShot;)Ljava/lang/String;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -412674: |[412674] org.purple.smoke.Settings$3SingleShot.access$900:(Lorg/purple/smoke/Settings$3SingleShot;)Ljava/lang/String; │ │ -412684: 5400 db5c |0000: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.m_error:Ljava/lang/String; // field@5cdb │ │ -412688: 1100 |0002: return-object v0 │ │ +412670: |[412670] org.purple.smoke.Settings$3SingleShot.access$900:(Lorg/purple/smoke/Settings$3SingleShot;)Ljava/lang/String; │ │ +412680: 5400 db5c |0000: iget-object v0, v0, Lorg/purple/smoke/Settings$3SingleShot;.m_error:Ljava/lang/String; // field@5cdb │ │ +412684: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1350 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/Settings$3SingleShot; │ │ │ │ Virtual methods - │ │ @@ -723817,310 +723816,310 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 14 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 598 16-bit code units │ │ -41270c: |[41270c] org.purple.smoke.Settings$3SingleShot.run:()V │ │ -41271c: 1a00 9545 |0000: const-string v0, "Rainbow" // string@4595 │ │ -412720: 1a01 6945 |0002: const-string v1, "RSA" // string@4569 │ │ -412724: 1a02 b417 |0004: const-string v2, "EC" // string@17b4 │ │ -412728: 1303 2000 |0006: const/16 v3, #int 32 // #20 │ │ -41272c: 7110 a4b5 0300 |0008: invoke-static {v3}, Lorg/purple/smoke/Cryptography;.randomBytes:(I)[B // method@b5a4 │ │ -412732: 0c03 |000b: move-result-object v3 │ │ -412734: 1304 4000 |000c: const/16 v4, #int 64 // #40 │ │ -412738: 7110 a4b5 0400 |000e: invoke-static {v4}, Lorg/purple/smoke/Cryptography;.randomBytes:(I)[B // method@b5a4 │ │ -41273e: 0c04 |0011: move-result-object v4 │ │ -412740: 54d5 e05c |0012: iget-object v5, v13, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ -412744: 7110 d3b8 0500 |0014: invoke-static {v5}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -41274a: 0c05 |0017: move-result-object v5 │ │ -41274c: 6e10 15b6 0500 |0018: invoke-virtual {v5}, Lorg/purple/smoke/Database;.reset:()V // method@b615 │ │ -412752: 54d5 da5c |001b: iget-object v5, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_encryptionAlgorithm:Ljava/lang/String; // field@5cda │ │ -412756: 1a06 9c06 |001d: const-string v6, "12, 68" // string@069c │ │ -41275a: 6e20 b65c 6500 |001f: invoke-virtual {v5, v6}, Ljava/lang/String;.contains:(Ljava/lang/CharSequence;)Z // method@5cb6 │ │ -412760: 0a05 |0022: move-result v5 │ │ -412762: 1226 |0023: const/4 v6, #int 2 // #2 │ │ -412764: 1217 |0024: const/4 v7, #int 1 // #1 │ │ -412766: 1208 |0025: const/4 v8, #int 0 // #0 │ │ -412768: 3805 0400 |0026: if-eqz v5, 002a // +0004 │ │ -41276c: 1215 |0028: const/4 v5, #int 1 // #1 │ │ -41276e: 280e |0029: goto 0037 // +000e │ │ -412770: 54d5 da5c |002a: iget-object v5, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_encryptionAlgorithm:Ljava/lang/String; // field@5cda │ │ -412774: 1a09 a606 |002c: const-string v9, "13, 118" // string@06a6 │ │ -412778: 6e20 b65c 9500 |002e: invoke-virtual {v5, v9}, Ljava/lang/String;.contains:(Ljava/lang/CharSequence;)Z // method@5cb6 │ │ -41277e: 0a05 |0031: move-result v5 │ │ -412780: 3805 0400 |0032: if-eqz v5, 0036 // +0004 │ │ -412784: 1225 |0034: const/4 v5, #int 2 // #2 │ │ -412786: 2802 |0035: goto 0037 // +0002 │ │ -412788: 1205 |0036: const/4 v5, #int 0 // #0 │ │ -41278a: 54d9 da5c |0037: iget-object v9, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_encryptionAlgorithm:Ljava/lang/String; // field@5cda │ │ -41278e: 620a d051 |0039: sget-object v10, Lorg/purple/smoke/Cryptography;.PKI_ENCRYPTION_KEY_SIZES:[I // field@51d0 │ │ -412792: 440a 0a08 |003b: aget v10, v10, v8 │ │ -412796: 7130 86b5 a905 |003d: invoke-static {v9, v10, v5}, Lorg/purple/smoke/Cryptography;.generatePrivatePublicKeyPair:(Ljava/lang/String;II)Ljava/security/KeyPair; // method@b586 │ │ -41279c: 0c05 |0040: move-result-object v5 │ │ -41279e: 3805 dd01 |0041: if-eqz v5, 021e // +01dd │ │ -4127a2: 54d9 df5c |0043: iget-object v9, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cdf │ │ -4127a6: 6e20 b85c 2900 |0045: invoke-virtual {v9, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -4127ac: 0a09 |0048: move-result v9 │ │ -4127ae: 123a |0049: const/4 v10, #int 3 // #3 │ │ -4127b0: 3809 0b00 |004a: if-eqz v9, 0055 // +000b │ │ -4127b4: 6200 d451 |004c: sget-object v0, Lorg/purple/smoke/Cryptography;.PKI_SIGNATURE_KEY_SIZES:[I // field@51d4 │ │ -4127b8: 4400 0008 |004e: aget v0, v0, v8 │ │ -4127bc: 7130 86b5 0208 |0050: invoke-static {v2, v0, v8}, Lorg/purple/smoke/Cryptography;.generatePrivatePublicKeyPair:(Ljava/lang/String;II)Ljava/security/KeyPair; // method@b586 │ │ -4127c2: 0c00 |0053: move-result-object v0 │ │ -4127c4: 282d |0054: goto 0081 // +002d │ │ -4127c6: 54d2 df5c |0055: iget-object v2, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cdf │ │ -4127ca: 6e20 b85c 1200 |0057: invoke-virtual {v2, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -4127d0: 0a02 |005a: move-result v2 │ │ -4127d2: 3802 0b00 |005b: if-eqz v2, 0066 // +000b │ │ -4127d6: 6200 d451 |005d: sget-object v0, Lorg/purple/smoke/Cryptography;.PKI_SIGNATURE_KEY_SIZES:[I // field@51d4 │ │ -4127da: 4400 0007 |005f: aget v0, v0, v7 │ │ -4127de: 7130 86b5 0108 |0061: invoke-static {v1, v0, v8}, Lorg/purple/smoke/Cryptography;.generatePrivatePublicKeyPair:(Ljava/lang/String;II)Ljava/security/KeyPair; // method@b586 │ │ -4127e4: 0c00 |0064: move-result-object v0 │ │ -4127e6: 281c |0065: goto 0081 // +001c │ │ -4127e8: 54d1 df5c |0066: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cdf │ │ -4127ec: 6e20 b85c 0100 |0068: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -4127f2: 0a01 |006b: move-result v1 │ │ -4127f4: 3801 0b00 |006c: if-eqz v1, 0077 // +000b │ │ -4127f8: 6201 d451 |006e: sget-object v1, Lorg/purple/smoke/Cryptography;.PKI_SIGNATURE_KEY_SIZES:[I // field@51d4 │ │ -4127fc: 4401 0106 |0070: aget v1, v1, v6 │ │ -412800: 7130 86b5 1008 |0072: invoke-static {v0, v1, v8}, Lorg/purple/smoke/Cryptography;.generatePrivatePublicKeyPair:(Ljava/lang/String;II)Ljava/security/KeyPair; // method@b586 │ │ -412806: 0c00 |0075: move-result-object v0 │ │ -412808: 280b |0076: goto 0081 // +000b │ │ -41280a: 54d0 df5c |0077: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cdf │ │ -41280e: 6201 d451 |0079: sget-object v1, Lorg/purple/smoke/Cryptography;.PKI_SIGNATURE_KEY_SIZES:[I // field@51d4 │ │ -412812: 4401 010a |007b: aget v1, v1, v10 │ │ -412816: 7130 86b5 1008 |007d: invoke-static {v0, v1, v8}, Lorg/purple/smoke/Cryptography;.generatePrivatePublicKeyPair:(Ljava/lang/String;II)Ljava/security/KeyPair; // method@b586 │ │ -41281c: 0c00 |0080: move-result-object v0 │ │ -41281e: 3800 8a01 |0081: if-eqz v0, 020b // +018a │ │ -412822: 54d1 de5c |0083: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_password:Ljava/lang/String; // field@5cde │ │ -412826: 6e10 ce5c 0100 |0085: invoke-virtual {v1}, Ljava/lang/String;.toCharArray:()[C // method@5cce │ │ -41282c: 0c01 |0088: move-result-object v1 │ │ -41282e: 52d2 dc5c |0089: iget v2, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_iterationCount:I // field@5cdc │ │ -412832: 52d9 dd5c |008b: iget v9, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_keyDerivationFunction:I // field@5cdd │ │ -412836: 7140 82b5 1392 |008d: invoke-static {v3, v1, v2, v9}, Lorg/purple/smoke/Cryptography;.generateEncryptionKey:([B[CII)Ljavax/crypto/SecretKey; // method@b582 │ │ -41283c: 0c01 |0090: move-result-object v1 │ │ -41283e: 3803 6701 |0091: if-eqz v3, 01f8 // +0167 │ │ -412842: 54d2 de5c |0093: iget-object v2, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_password:Ljava/lang/String; // field@5cde │ │ -412846: 6e10 ce5c 0200 |0095: invoke-virtual {v2}, Ljava/lang/String;.toCharArray:()[C // method@5cce │ │ -41284c: 0c02 |0098: move-result-object v2 │ │ -41284e: 52d9 dc5c |0099: iget v9, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_iterationCount:I // field@5cdc │ │ -412852: 52db dd5c |009b: iget v11, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_keyDerivationFunction:I // field@5cdd │ │ -412856: 7140 85b5 24b9 |009d: invoke-static {v4, v2, v9, v11}, Lorg/purple/smoke/Cryptography;.generateMacKey:([B[CII)Ljavax/crypto/SecretKey; // method@b585 │ │ -41285c: 0c02 |00a0: move-result-object v2 │ │ -41285e: 3802 4401 |00a1: if-eqz v2, 01e5 // +0144 │ │ -412862: 7100 d2b8 0000 |00a3: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -412868: 0c09 |00a6: move-result-object v9 │ │ -41286a: 54db da5c |00a7: iget-object v11, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_encryptionAlgorithm:Ljava/lang/String; // field@5cda │ │ -41286e: 6e20 a7b5 b900 |00a9: invoke-virtual {v9, v11}, Lorg/purple/smoke/Cryptography;.setChatEncryptionPublicKeyAlgorithm:(Ljava/lang/String;)V // method@b5a7 │ │ -412874: 7100 d2b8 0000 |00ac: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -41287a: 0c09 |00af: move-result-object v9 │ │ -41287c: 6e20 a9b5 5900 |00b0: invoke-virtual {v9, v5}, Lorg/purple/smoke/Cryptography;.setChatEncryptionPublicKeyPair:(Ljava/security/KeyPair;)V // method@b5a9 │ │ -412882: 7100 d2b8 0000 |00b3: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -412888: 0c09 |00b6: move-result-object v9 │ │ -41288a: 6e20 abb5 0900 |00b7: invoke-virtual {v9, v0}, Lorg/purple/smoke/Cryptography;.setChatSignaturePublicKeyPair:(Ljava/security/KeyPair;)V // method@b5ab │ │ -412890: 7100 d2b8 0000 |00ba: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -412896: 0c09 |00bd: move-result-object v9 │ │ -412898: 6e20 acb5 1900 |00be: invoke-virtual {v9, v1}, Lorg/purple/smoke/Cryptography;.setEncryptionKey:(Ljavax/crypto/SecretKey;)V // method@b5ac │ │ -41289e: 7100 d2b8 0000 |00c1: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -4128a4: 0c01 |00c4: move-result-object v1 │ │ -4128a6: 6e20 adb5 2100 |00c5: invoke-virtual {v1, v2}, Lorg/purple/smoke/Cryptography;.setMacKey:(Ljavax/crypto/SecretKey;)V // method@b5ad │ │ -4128ac: 54d1 e05c |00c8: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ -4128b0: 7110 d3b8 0100 |00ca: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -4128b6: 0c01 |00cd: move-result-object v1 │ │ -4128b8: 1a02 ea64 |00ce: const-string v2, "encryptionSalt" // string@64ea │ │ -4128bc: 7120 c454 8300 |00d0: invoke-static {v3, v8}, Landroid/util/Base64;.encodeToString:([BI)Ljava/lang/String; // method@54c4 │ │ -4128c2: 0c09 |00d3: move-result-object v9 │ │ -4128c4: 120b |00d4: const/4 v11, #int 0 // #0 │ │ -4128c6: 6e40 30b6 b192 |00d5: invoke-virtual {v1, v11, v2, v9}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -4128cc: 54d1 e05c |00d8: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ -4128d0: 7110 d3b8 0100 |00da: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -4128d6: 0c01 |00dd: move-result-object v1 │ │ -4128d8: 1a02 637a |00de: const-string v2, "iterationCount" // string@7a63 │ │ -4128dc: 52d9 dc5c |00e0: iget v9, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_iterationCount:I // field@5cdc │ │ -4128e0: 7110 d55c 0900 |00e2: invoke-static {v9}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ -4128e6: 0c09 |00e5: move-result-object v9 │ │ -4128e8: 6e40 30b6 b192 |00e6: invoke-virtual {v1, v11, v2, v9}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -4128ee: 54d1 e05c |00e9: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ -4128f2: 7110 d3b8 0100 |00eb: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -4128f8: 0c01 |00ee: move-result-object v1 │ │ -4128fa: 1a02 d77a |00ef: const-string v2, "keyDerivationFunction" // string@7ad7 │ │ -4128fe: 52d9 dd5c |00f1: iget v9, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_keyDerivationFunction:I // field@5cdd │ │ -412902: 7110 d55c 0900 |00f3: invoke-static {v9}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ -412908: 0c09 |00f6: move-result-object v9 │ │ -41290a: 6e40 30b6 b192 |00f7: invoke-virtual {v1, v11, v2, v9}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -412910: 54d1 e05c |00fa: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ -412914: 7110 d3b8 0100 |00fc: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -41291a: 0c01 |00ff: move-result-object v1 │ │ -41291c: 1a02 d087 |0100: const-string v2, "macSalt" // string@87d0 │ │ -412920: 7120 c454 8400 |0102: invoke-static {v4, v8}, Landroid/util/Base64;.encodeToString:([BI)Ljava/lang/String; // method@54c4 │ │ -412926: 0c09 |0105: move-result-object v9 │ │ -412928: 6e40 30b6 b192 |0106: invoke-virtual {v1, v11, v2, v9}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -41292e: 54d1 e05c |0109: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ -412932: 7110 d3b8 0100 |010b: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -412938: 0c01 |010e: move-result-object v1 │ │ -41293a: 7100 d2b8 0000 |010f: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -412940: 0c02 |0112: move-result-object v2 │ │ -412942: 1a09 9491 |0113: const-string v9, "pki_chat_encryption_algorithm" // string@9194 │ │ -412946: 54dc da5c |0115: iget-object v12, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_encryptionAlgorithm:Ljava/lang/String; // field@5cda │ │ -41294a: 6e40 30b6 21c9 |0117: invoke-virtual {v1, v2, v9, v12}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -412950: 54d1 e05c |011a: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ -412954: 7110 d3b8 0100 |011c: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -41295a: 0c01 |011f: move-result-object v1 │ │ -41295c: 7100 d2b8 0000 |0120: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -412962: 0c02 |0123: move-result-object v2 │ │ -412964: 1a09 9591 |0124: const-string v9, "pki_chat_encryption_private_key" // string@9195 │ │ -412968: 6e10 fb5d 0500 |0126: invoke-virtual {v5}, Ljava/security/KeyPair;.getPrivate:()Ljava/security/PrivateKey; // method@5dfb │ │ -41296e: 0c0c |0129: move-result-object v12 │ │ -412970: 7210 345e 0c00 |012a: invoke-interface {v12}, Ljava/security/PrivateKey;.getEncoded:()[B // method@5e34 │ │ -412976: 0c0c |012d: move-result-object v12 │ │ -412978: 7120 c454 8c00 |012e: invoke-static {v12, v8}, Landroid/util/Base64;.encodeToString:([BI)Ljava/lang/String; // method@54c4 │ │ -41297e: 0c0c |0131: move-result-object v12 │ │ -412980: 6e40 30b6 21c9 |0132: invoke-virtual {v1, v2, v9, v12}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -412986: 54d1 e05c |0135: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ -41298a: 7110 d3b8 0100 |0137: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -412990: 0c01 |013a: move-result-object v1 │ │ -412992: 7100 d2b8 0000 |013b: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -412998: 0c02 |013e: move-result-object v2 │ │ -41299a: 1a09 9691 |013f: const-string v9, "pki_chat_encryption_public_key" // string@9196 │ │ -41299e: 6e10 fc5d 0500 |0141: invoke-virtual {v5}, Ljava/security/KeyPair;.getPublic:()Ljava/security/PublicKey; // method@5dfc │ │ -4129a4: 0c05 |0144: move-result-object v5 │ │ -4129a6: 7210 3b5e 0500 |0145: invoke-interface {v5}, Ljava/security/PublicKey;.getEncoded:()[B // method@5e3b │ │ -4129ac: 0c05 |0148: move-result-object v5 │ │ -4129ae: 7120 c454 8500 |0149: invoke-static {v5, v8}, Landroid/util/Base64;.encodeToString:([BI)Ljava/lang/String; // method@54c4 │ │ -4129b4: 0c05 |014c: move-result-object v5 │ │ -4129b6: 6e40 30b6 2159 |014d: invoke-virtual {v1, v2, v9, v5}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -4129bc: 54d1 e05c |0150: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ -4129c0: 7110 d3b8 0100 |0152: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -4129c6: 0c01 |0155: move-result-object v1 │ │ -4129c8: 7100 d2b8 0000 |0156: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -4129ce: 0c02 |0159: move-result-object v2 │ │ -4129d0: 1a05 9791 |015a: const-string v5, "pki_chat_signature_algorithm" // string@9197 │ │ -4129d4: 54d9 df5c |015c: iget-object v9, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cdf │ │ -4129d8: 6e40 30b6 2195 |015e: invoke-virtual {v1, v2, v5, v9}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -4129de: 54d1 e05c |0161: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ -4129e2: 7110 d3b8 0100 |0163: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -4129e8: 0c01 |0166: move-result-object v1 │ │ -4129ea: 7100 d2b8 0000 |0167: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -4129f0: 0c02 |016a: move-result-object v2 │ │ -4129f2: 1a05 9891 |016b: const-string v5, "pki_chat_signature_private_key" // string@9198 │ │ -4129f6: 6e10 fb5d 0000 |016d: invoke-virtual {v0}, Ljava/security/KeyPair;.getPrivate:()Ljava/security/PrivateKey; // method@5dfb │ │ -4129fc: 0c09 |0170: move-result-object v9 │ │ -4129fe: 7210 345e 0900 |0171: invoke-interface {v9}, Ljava/security/PrivateKey;.getEncoded:()[B // method@5e34 │ │ -412a04: 0c09 |0174: move-result-object v9 │ │ -412a06: 7120 c454 8900 |0175: invoke-static {v9, v8}, Landroid/util/Base64;.encodeToString:([BI)Ljava/lang/String; // method@54c4 │ │ -412a0c: 0c09 |0178: move-result-object v9 │ │ -412a0e: 6e40 30b6 2195 |0179: invoke-virtual {v1, v2, v5, v9}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -412a14: 54d1 e05c |017c: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ -412a18: 7110 d3b8 0100 |017e: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -412a1e: 0c01 |0181: move-result-object v1 │ │ -412a20: 7100 d2b8 0000 |0182: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -412a26: 0c02 |0185: move-result-object v2 │ │ -412a28: 1a05 9991 |0186: const-string v5, "pki_chat_signature_public_key" // string@9199 │ │ -412a2c: 6e10 fc5d 0000 |0188: invoke-virtual {v0}, Ljava/security/KeyPair;.getPublic:()Ljava/security/PublicKey; // method@5dfc │ │ -412a32: 0c00 |018b: move-result-object v0 │ │ -412a34: 7210 3b5e 0000 |018c: invoke-interface {v0}, Ljava/security/PublicKey;.getEncoded:()[B // method@5e3b │ │ -412a3a: 0c00 |018f: move-result-object v0 │ │ -412a3c: 7120 c454 8000 |0190: invoke-static {v0, v8}, Landroid/util/Base64;.encodeToString:([BI)Ljava/lang/String; // method@54c4 │ │ -412a42: 0c00 |0193: move-result-object v0 │ │ -412a44: 6e40 30b6 2105 |0194: invoke-virtual {v1, v2, v5, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -412a4a: 7100 d2b8 0000 |0197: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -412a50: 0c00 |019a: move-result-object v0 │ │ -412a52: 6e20 9cb5 b000 |019b: invoke-virtual {v0, v11}, Lorg/purple/smoke/Cryptography;.prepareSipHashIds:(Ljava/lang/String;)Z // method@b59c │ │ -412a58: 0a00 |019e: move-result v0 │ │ -412a5a: 7100 d2b8 0000 |019f: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -412a60: 0c01 |01a2: move-result-object v1 │ │ -412a62: 6e10 9db5 0100 |01a3: invoke-virtual {v1}, Lorg/purple/smoke/Cryptography;.prepareSipHashKeys:()Z // method@b59d │ │ -412a68: 0a01 |01a6: move-result v1 │ │ -412a6a: 23a2 811b |01a7: new-array v2, v10, [[B // type@1b81 │ │ -412a6e: 54d5 de5c |01a9: iget-object v5, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_password:Ljava/lang/String; // field@5cde │ │ -412a72: 6e10 bc5c 0500 |01ab: invoke-virtual {v5}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -412a78: 0c05 |01ae: move-result-object v5 │ │ -412a7a: 4d05 0208 |01af: aput-object v5, v2, v8 │ │ -412a7e: 4d03 0207 |01b1: aput-object v3, v2, v7 │ │ -412a82: 4d04 0206 |01b3: aput-object v4, v2, v6 │ │ -412a86: 7110 b2b5 0200 |01b5: invoke-static {v2}, Lorg/purple/smoke/Cryptography;.sha512:([[B)[B // method@b5b2 │ │ -412a8c: 0c02 |01b8: move-result-object v2 │ │ -412a8e: 3800 1700 |01b9: if-eqz v0, 01d0 // +0017 │ │ -412a92: 3801 1500 |01bb: if-eqz v1, 01d0 // +0015 │ │ -412a96: 3802 1300 |01bd: if-eqz v2, 01d0 // +0013 │ │ -412a9a: 54d0 e05c |01bf: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ -412a9e: 7110 d3b8 0000 |01c1: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -412aa4: 0c00 |01c4: move-result-object v0 │ │ -412aa6: 1a01 6297 |01c5: const-string v1, "saltedPassword" // string@9762 │ │ -412aaa: 7120 c454 8200 |01c7: invoke-static {v2, v8}, Landroid/util/Base64;.encodeToString:([BI)Ljava/lang/String; // method@54c4 │ │ -412ab0: 0c02 |01ca: move-result-object v2 │ │ -412ab2: 6e40 30b6 b021 |01cb: invoke-virtual {v0, v11, v1, v2}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -412ab8: 2900 7900 |01ce: goto/16 0247 // +0079 │ │ -412abc: 3900 0700 |01d0: if-nez v0, 01d7 // +0007 │ │ -412ac0: 1a00 7992 |01d2: const-string v0, "prepareSipHashIds() failure" // string@9279 │ │ -412ac4: 5bd0 db5c |01d4: iput-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_error:Ljava/lang/String; // field@5cdb │ │ -412ac8: 2807 |01d6: goto 01dd // +0007 │ │ -412aca: 3901 0600 |01d7: if-nez v1, 01dd // +0006 │ │ -412ace: 1a00 7c92 |01d9: const-string v0, "prepareSipHashKeys() failure" // string@927c │ │ -412ad2: 5bd0 db5c |01db: iput-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_error:Ljava/lang/String; // field@5cdb │ │ -412ad6: 7100 d2b8 0000 |01dd: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -412adc: 0c00 |01e0: move-result-object v0 │ │ -412ade: 6e10 a5b5 0000 |01e1: invoke-virtual {v0}, Lorg/purple/smoke/Cryptography;.reset:()V // method@b5a5 │ │ -412ae4: 2863 |01e4: goto 0247 // +0063 │ │ -412ae6: 1a00 aa68 |01e5: const-string v0, "generateMacKey() failure" // string@68aa │ │ -412aea: 5bd0 db5c |01e7: iput-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_error:Ljava/lang/String; // field@5cdb │ │ -412aee: 7100 d2b8 0000 |01e9: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -412af4: 0c00 |01ec: move-result-object v0 │ │ -412af6: 6e10 a5b5 0000 |01ed: invoke-virtual {v0}, Lorg/purple/smoke/Cryptography;.reset:()V // method@b5a5 │ │ -412afc: 2200 d40a |01f0: new-instance v0, Ljava/lang/Exception; // type@0ad4 │ │ -412b00: 54d1 db5c |01f2: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_error:Ljava/lang/String; // field@5cdb │ │ -412b04: 7020 325c 1000 |01f4: invoke-direct {v0, v1}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@5c32 │ │ -412b0a: 2700 |01f7: throw v0 │ │ -412b0c: 1a00 9568 |01f8: const-string v0, "generateEncryptionKey() failure" // string@6895 │ │ -412b10: 5bd0 db5c |01fa: iput-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_error:Ljava/lang/String; // field@5cdb │ │ -412b14: 7100 d2b8 0000 |01fc: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -412b1a: 0c00 |01ff: move-result-object v0 │ │ -412b1c: 6e10 a5b5 0000 |0200: invoke-virtual {v0}, Lorg/purple/smoke/Cryptography;.reset:()V // method@b5a5 │ │ -412b22: 2200 d40a |0203: new-instance v0, Ljava/lang/Exception; // type@0ad4 │ │ -412b26: 54d1 db5c |0205: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_error:Ljava/lang/String; // field@5cdb │ │ -412b2a: 7020 325c 1000 |0207: invoke-direct {v0, v1}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@5c32 │ │ -412b30: 2700 |020a: throw v0 │ │ -412b32: 1a00 3f9f |020b: const-string v0, "signature-key generatePrivatePublicKeyPair() failure" // string@9f3f │ │ -412b36: 5bd0 db5c |020d: iput-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_error:Ljava/lang/String; // field@5cdb │ │ -412b3a: 7100 d2b8 0000 |020f: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -412b40: 0c00 |0212: move-result-object v0 │ │ -412b42: 6e10 a5b5 0000 |0213: invoke-virtual {v0}, Lorg/purple/smoke/Cryptography;.reset:()V // method@b5a5 │ │ -412b48: 2200 d40a |0216: new-instance v0, Ljava/lang/Exception; // type@0ad4 │ │ -412b4c: 54d1 db5c |0218: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_error:Ljava/lang/String; // field@5cdb │ │ -412b50: 7020 325c 1000 |021a: invoke-direct {v0, v1}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@5c32 │ │ -412b56: 2700 |021d: throw v0 │ │ -412b58: 1a00 e464 |021e: const-string v0, "encryption-key generatePrivatePublicKeyPair() failure" // string@64e4 │ │ -412b5c: 5bd0 db5c |0220: iput-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_error:Ljava/lang/String; // field@5cdb │ │ -412b60: 7100 d2b8 0000 |0222: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -412b66: 0c00 |0225: move-result-object v0 │ │ -412b68: 6e10 a5b5 0000 |0226: invoke-virtual {v0}, Lorg/purple/smoke/Cryptography;.reset:()V // method@b5a5 │ │ -412b6e: 2200 d40a |0229: new-instance v0, Ljava/lang/Exception; // type@0ad4 │ │ -412b72: 54d1 db5c |022b: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_error:Ljava/lang/String; // field@5cdb │ │ -412b76: 7020 325c 1000 |022d: invoke-direct {v0, v1}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@5c32 │ │ -412b7c: 2700 |0230: throw v0 │ │ -412b7e: 0d00 |0231: move-exception v0 │ │ -412b80: 6e10 375c 0000 |0232: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@5c37 │ │ -412b86: 0c00 |0235: move-result-object v0 │ │ -412b88: 6e10 cf5c 0000 |0236: invoke-virtual {v0}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@5ccf │ │ -412b8e: 0c00 |0239: move-result-object v0 │ │ -412b90: 6e10 d35c 0000 |023a: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ -412b96: 0c00 |023d: move-result-object v0 │ │ -412b98: 5bd0 db5c |023e: iput-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_error:Ljava/lang/String; // field@5cdb │ │ -412b9c: 7100 d2b8 0000 |0240: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -412ba2: 0c00 |0243: move-result-object v0 │ │ -412ba4: 6e10 a5b5 0000 |0244: invoke-virtual {v0}, Lorg/purple/smoke/Cryptography;.reset:()V // method@b5a5 │ │ -412baa: 54d0 e05c |0247: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ -412bae: 2201 681a |0249: new-instance v1, Lorg/purple/smoke/Settings$3SingleShot$1; // type@1a68 │ │ -412bb2: 7020 8db8 d100 |024b: invoke-direct {v1, v13}, Lorg/purple/smoke/Settings$3SingleShot$1;.:(Lorg/purple/smoke/Settings$3SingleShot;)V // method@b88d │ │ -412bb8: 6e20 fdb8 1000 |024e: invoke-virtual {v0, v1}, Lorg/purple/smoke/Settings;.runOnUiThread:(Ljava/lang/Runnable;)V // method@b8fd │ │ -412bbe: 1a00 0000 |0251: const-string v0, "" // string@0000 │ │ -412bc2: 5bd0 de5c |0253: iput-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_password:Ljava/lang/String; // field@5cde │ │ -412bc6: 0e00 |0255: return-void │ │ +412708: |[412708] org.purple.smoke.Settings$3SingleShot.run:()V │ │ +412718: 1a00 9545 |0000: const-string v0, "Rainbow" // string@4595 │ │ +41271c: 1a01 6945 |0002: const-string v1, "RSA" // string@4569 │ │ +412720: 1a02 b417 |0004: const-string v2, "EC" // string@17b4 │ │ +412724: 1303 2000 |0006: const/16 v3, #int 32 // #20 │ │ +412728: 7110 a4b5 0300 |0008: invoke-static {v3}, Lorg/purple/smoke/Cryptography;.randomBytes:(I)[B // method@b5a4 │ │ +41272e: 0c03 |000b: move-result-object v3 │ │ +412730: 1304 4000 |000c: const/16 v4, #int 64 // #40 │ │ +412734: 7110 a4b5 0400 |000e: invoke-static {v4}, Lorg/purple/smoke/Cryptography;.randomBytes:(I)[B // method@b5a4 │ │ +41273a: 0c04 |0011: move-result-object v4 │ │ +41273c: 54d5 e05c |0012: iget-object v5, v13, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ +412740: 7110 d3b8 0500 |0014: invoke-static {v5}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +412746: 0c05 |0017: move-result-object v5 │ │ +412748: 6e10 15b6 0500 |0018: invoke-virtual {v5}, Lorg/purple/smoke/Database;.reset:()V // method@b615 │ │ +41274e: 54d5 da5c |001b: iget-object v5, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_encryptionAlgorithm:Ljava/lang/String; // field@5cda │ │ +412752: 1a06 9c06 |001d: const-string v6, "12, 68" // string@069c │ │ +412756: 6e20 b65c 6500 |001f: invoke-virtual {v5, v6}, Ljava/lang/String;.contains:(Ljava/lang/CharSequence;)Z // method@5cb6 │ │ +41275c: 0a05 |0022: move-result v5 │ │ +41275e: 1226 |0023: const/4 v6, #int 2 // #2 │ │ +412760: 1217 |0024: const/4 v7, #int 1 // #1 │ │ +412762: 1208 |0025: const/4 v8, #int 0 // #0 │ │ +412764: 3805 0400 |0026: if-eqz v5, 002a // +0004 │ │ +412768: 1215 |0028: const/4 v5, #int 1 // #1 │ │ +41276a: 280e |0029: goto 0037 // +000e │ │ +41276c: 54d5 da5c |002a: iget-object v5, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_encryptionAlgorithm:Ljava/lang/String; // field@5cda │ │ +412770: 1a09 a606 |002c: const-string v9, "13, 118" // string@06a6 │ │ +412774: 6e20 b65c 9500 |002e: invoke-virtual {v5, v9}, Ljava/lang/String;.contains:(Ljava/lang/CharSequence;)Z // method@5cb6 │ │ +41277a: 0a05 |0031: move-result v5 │ │ +41277c: 3805 0400 |0032: if-eqz v5, 0036 // +0004 │ │ +412780: 1225 |0034: const/4 v5, #int 2 // #2 │ │ +412782: 2802 |0035: goto 0037 // +0002 │ │ +412784: 1205 |0036: const/4 v5, #int 0 // #0 │ │ +412786: 54d9 da5c |0037: iget-object v9, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_encryptionAlgorithm:Ljava/lang/String; // field@5cda │ │ +41278a: 620a d051 |0039: sget-object v10, Lorg/purple/smoke/Cryptography;.PKI_ENCRYPTION_KEY_SIZES:[I // field@51d0 │ │ +41278e: 440a 0a08 |003b: aget v10, v10, v8 │ │ +412792: 7130 86b5 a905 |003d: invoke-static {v9, v10, v5}, Lorg/purple/smoke/Cryptography;.generatePrivatePublicKeyPair:(Ljava/lang/String;II)Ljava/security/KeyPair; // method@b586 │ │ +412798: 0c05 |0040: move-result-object v5 │ │ +41279a: 3805 dd01 |0041: if-eqz v5, 021e // +01dd │ │ +41279e: 54d9 df5c |0043: iget-object v9, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cdf │ │ +4127a2: 6e20 b85c 2900 |0045: invoke-virtual {v9, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +4127a8: 0a09 |0048: move-result v9 │ │ +4127aa: 123a |0049: const/4 v10, #int 3 // #3 │ │ +4127ac: 3809 0b00 |004a: if-eqz v9, 0055 // +000b │ │ +4127b0: 6200 d451 |004c: sget-object v0, Lorg/purple/smoke/Cryptography;.PKI_SIGNATURE_KEY_SIZES:[I // field@51d4 │ │ +4127b4: 4400 0008 |004e: aget v0, v0, v8 │ │ +4127b8: 7130 86b5 0208 |0050: invoke-static {v2, v0, v8}, Lorg/purple/smoke/Cryptography;.generatePrivatePublicKeyPair:(Ljava/lang/String;II)Ljava/security/KeyPair; // method@b586 │ │ +4127be: 0c00 |0053: move-result-object v0 │ │ +4127c0: 282d |0054: goto 0081 // +002d │ │ +4127c2: 54d2 df5c |0055: iget-object v2, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cdf │ │ +4127c6: 6e20 b85c 1200 |0057: invoke-virtual {v2, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +4127cc: 0a02 |005a: move-result v2 │ │ +4127ce: 3802 0b00 |005b: if-eqz v2, 0066 // +000b │ │ +4127d2: 6200 d451 |005d: sget-object v0, Lorg/purple/smoke/Cryptography;.PKI_SIGNATURE_KEY_SIZES:[I // field@51d4 │ │ +4127d6: 4400 0007 |005f: aget v0, v0, v7 │ │ +4127da: 7130 86b5 0108 |0061: invoke-static {v1, v0, v8}, Lorg/purple/smoke/Cryptography;.generatePrivatePublicKeyPair:(Ljava/lang/String;II)Ljava/security/KeyPair; // method@b586 │ │ +4127e0: 0c00 |0064: move-result-object v0 │ │ +4127e2: 281c |0065: goto 0081 // +001c │ │ +4127e4: 54d1 df5c |0066: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cdf │ │ +4127e8: 6e20 b85c 0100 |0068: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +4127ee: 0a01 |006b: move-result v1 │ │ +4127f0: 3801 0b00 |006c: if-eqz v1, 0077 // +000b │ │ +4127f4: 6201 d451 |006e: sget-object v1, Lorg/purple/smoke/Cryptography;.PKI_SIGNATURE_KEY_SIZES:[I // field@51d4 │ │ +4127f8: 4401 0106 |0070: aget v1, v1, v6 │ │ +4127fc: 7130 86b5 1008 |0072: invoke-static {v0, v1, v8}, Lorg/purple/smoke/Cryptography;.generatePrivatePublicKeyPair:(Ljava/lang/String;II)Ljava/security/KeyPair; // method@b586 │ │ +412802: 0c00 |0075: move-result-object v0 │ │ +412804: 280b |0076: goto 0081 // +000b │ │ +412806: 54d0 df5c |0077: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cdf │ │ +41280a: 6201 d451 |0079: sget-object v1, Lorg/purple/smoke/Cryptography;.PKI_SIGNATURE_KEY_SIZES:[I // field@51d4 │ │ +41280e: 4401 010a |007b: aget v1, v1, v10 │ │ +412812: 7130 86b5 1008 |007d: invoke-static {v0, v1, v8}, Lorg/purple/smoke/Cryptography;.generatePrivatePublicKeyPair:(Ljava/lang/String;II)Ljava/security/KeyPair; // method@b586 │ │ +412818: 0c00 |0080: move-result-object v0 │ │ +41281a: 3800 8a01 |0081: if-eqz v0, 020b // +018a │ │ +41281e: 54d1 de5c |0083: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_password:Ljava/lang/String; // field@5cde │ │ +412822: 6e10 ce5c 0100 |0085: invoke-virtual {v1}, Ljava/lang/String;.toCharArray:()[C // method@5cce │ │ +412828: 0c01 |0088: move-result-object v1 │ │ +41282a: 52d2 dc5c |0089: iget v2, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_iterationCount:I // field@5cdc │ │ +41282e: 52d9 dd5c |008b: iget v9, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_keyDerivationFunction:I // field@5cdd │ │ +412832: 7140 82b5 1392 |008d: invoke-static {v3, v1, v2, v9}, Lorg/purple/smoke/Cryptography;.generateEncryptionKey:([B[CII)Ljavax/crypto/SecretKey; // method@b582 │ │ +412838: 0c01 |0090: move-result-object v1 │ │ +41283a: 3803 6701 |0091: if-eqz v3, 01f8 // +0167 │ │ +41283e: 54d2 de5c |0093: iget-object v2, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_password:Ljava/lang/String; // field@5cde │ │ +412842: 6e10 ce5c 0200 |0095: invoke-virtual {v2}, Ljava/lang/String;.toCharArray:()[C // method@5cce │ │ +412848: 0c02 |0098: move-result-object v2 │ │ +41284a: 52d9 dc5c |0099: iget v9, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_iterationCount:I // field@5cdc │ │ +41284e: 52db dd5c |009b: iget v11, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_keyDerivationFunction:I // field@5cdd │ │ +412852: 7140 85b5 24b9 |009d: invoke-static {v4, v2, v9, v11}, Lorg/purple/smoke/Cryptography;.generateMacKey:([B[CII)Ljavax/crypto/SecretKey; // method@b585 │ │ +412858: 0c02 |00a0: move-result-object v2 │ │ +41285a: 3802 4401 |00a1: if-eqz v2, 01e5 // +0144 │ │ +41285e: 7100 d2b8 0000 |00a3: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +412864: 0c09 |00a6: move-result-object v9 │ │ +412866: 54db da5c |00a7: iget-object v11, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_encryptionAlgorithm:Ljava/lang/String; // field@5cda │ │ +41286a: 6e20 a7b5 b900 |00a9: invoke-virtual {v9, v11}, Lorg/purple/smoke/Cryptography;.setChatEncryptionPublicKeyAlgorithm:(Ljava/lang/String;)V // method@b5a7 │ │ +412870: 7100 d2b8 0000 |00ac: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +412876: 0c09 |00af: move-result-object v9 │ │ +412878: 6e20 a9b5 5900 |00b0: invoke-virtual {v9, v5}, Lorg/purple/smoke/Cryptography;.setChatEncryptionPublicKeyPair:(Ljava/security/KeyPair;)V // method@b5a9 │ │ +41287e: 7100 d2b8 0000 |00b3: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +412884: 0c09 |00b6: move-result-object v9 │ │ +412886: 6e20 abb5 0900 |00b7: invoke-virtual {v9, v0}, Lorg/purple/smoke/Cryptography;.setChatSignaturePublicKeyPair:(Ljava/security/KeyPair;)V // method@b5ab │ │ +41288c: 7100 d2b8 0000 |00ba: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +412892: 0c09 |00bd: move-result-object v9 │ │ +412894: 6e20 acb5 1900 |00be: invoke-virtual {v9, v1}, Lorg/purple/smoke/Cryptography;.setEncryptionKey:(Ljavax/crypto/SecretKey;)V // method@b5ac │ │ +41289a: 7100 d2b8 0000 |00c1: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +4128a0: 0c01 |00c4: move-result-object v1 │ │ +4128a2: 6e20 adb5 2100 |00c5: invoke-virtual {v1, v2}, Lorg/purple/smoke/Cryptography;.setMacKey:(Ljavax/crypto/SecretKey;)V // method@b5ad │ │ +4128a8: 54d1 e05c |00c8: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ +4128ac: 7110 d3b8 0100 |00ca: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +4128b2: 0c01 |00cd: move-result-object v1 │ │ +4128b4: 1a02 ea64 |00ce: const-string v2, "encryptionSalt" // string@64ea │ │ +4128b8: 7120 c454 8300 |00d0: invoke-static {v3, v8}, Landroid/util/Base64;.encodeToString:([BI)Ljava/lang/String; // method@54c4 │ │ +4128be: 0c09 |00d3: move-result-object v9 │ │ +4128c0: 120b |00d4: const/4 v11, #int 0 // #0 │ │ +4128c2: 6e40 30b6 b192 |00d5: invoke-virtual {v1, v11, v2, v9}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +4128c8: 54d1 e05c |00d8: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ +4128cc: 7110 d3b8 0100 |00da: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +4128d2: 0c01 |00dd: move-result-object v1 │ │ +4128d4: 1a02 637a |00de: const-string v2, "iterationCount" // string@7a63 │ │ +4128d8: 52d9 dc5c |00e0: iget v9, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_iterationCount:I // field@5cdc │ │ +4128dc: 7110 d55c 0900 |00e2: invoke-static {v9}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ +4128e2: 0c09 |00e5: move-result-object v9 │ │ +4128e4: 6e40 30b6 b192 |00e6: invoke-virtual {v1, v11, v2, v9}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +4128ea: 54d1 e05c |00e9: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ +4128ee: 7110 d3b8 0100 |00eb: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +4128f4: 0c01 |00ee: move-result-object v1 │ │ +4128f6: 1a02 d77a |00ef: const-string v2, "keyDerivationFunction" // string@7ad7 │ │ +4128fa: 52d9 dd5c |00f1: iget v9, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_keyDerivationFunction:I // field@5cdd │ │ +4128fe: 7110 d55c 0900 |00f3: invoke-static {v9}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ +412904: 0c09 |00f6: move-result-object v9 │ │ +412906: 6e40 30b6 b192 |00f7: invoke-virtual {v1, v11, v2, v9}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +41290c: 54d1 e05c |00fa: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ +412910: 7110 d3b8 0100 |00fc: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +412916: 0c01 |00ff: move-result-object v1 │ │ +412918: 1a02 d087 |0100: const-string v2, "macSalt" // string@87d0 │ │ +41291c: 7120 c454 8400 |0102: invoke-static {v4, v8}, Landroid/util/Base64;.encodeToString:([BI)Ljava/lang/String; // method@54c4 │ │ +412922: 0c09 |0105: move-result-object v9 │ │ +412924: 6e40 30b6 b192 |0106: invoke-virtual {v1, v11, v2, v9}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +41292a: 54d1 e05c |0109: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ +41292e: 7110 d3b8 0100 |010b: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +412934: 0c01 |010e: move-result-object v1 │ │ +412936: 7100 d2b8 0000 |010f: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +41293c: 0c02 |0112: move-result-object v2 │ │ +41293e: 1a09 9491 |0113: const-string v9, "pki_chat_encryption_algorithm" // string@9194 │ │ +412942: 54dc da5c |0115: iget-object v12, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_encryptionAlgorithm:Ljava/lang/String; // field@5cda │ │ +412946: 6e40 30b6 21c9 |0117: invoke-virtual {v1, v2, v9, v12}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +41294c: 54d1 e05c |011a: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ +412950: 7110 d3b8 0100 |011c: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +412956: 0c01 |011f: move-result-object v1 │ │ +412958: 7100 d2b8 0000 |0120: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +41295e: 0c02 |0123: move-result-object v2 │ │ +412960: 1a09 9591 |0124: const-string v9, "pki_chat_encryption_private_key" // string@9195 │ │ +412964: 6e10 fb5d 0500 |0126: invoke-virtual {v5}, Ljava/security/KeyPair;.getPrivate:()Ljava/security/PrivateKey; // method@5dfb │ │ +41296a: 0c0c |0129: move-result-object v12 │ │ +41296c: 7210 345e 0c00 |012a: invoke-interface {v12}, Ljava/security/PrivateKey;.getEncoded:()[B // method@5e34 │ │ +412972: 0c0c |012d: move-result-object v12 │ │ +412974: 7120 c454 8c00 |012e: invoke-static {v12, v8}, Landroid/util/Base64;.encodeToString:([BI)Ljava/lang/String; // method@54c4 │ │ +41297a: 0c0c |0131: move-result-object v12 │ │ +41297c: 6e40 30b6 21c9 |0132: invoke-virtual {v1, v2, v9, v12}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +412982: 54d1 e05c |0135: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ +412986: 7110 d3b8 0100 |0137: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +41298c: 0c01 |013a: move-result-object v1 │ │ +41298e: 7100 d2b8 0000 |013b: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +412994: 0c02 |013e: move-result-object v2 │ │ +412996: 1a09 9691 |013f: const-string v9, "pki_chat_encryption_public_key" // string@9196 │ │ +41299a: 6e10 fc5d 0500 |0141: invoke-virtual {v5}, Ljava/security/KeyPair;.getPublic:()Ljava/security/PublicKey; // method@5dfc │ │ +4129a0: 0c05 |0144: move-result-object v5 │ │ +4129a2: 7210 3b5e 0500 |0145: invoke-interface {v5}, Ljava/security/PublicKey;.getEncoded:()[B // method@5e3b │ │ +4129a8: 0c05 |0148: move-result-object v5 │ │ +4129aa: 7120 c454 8500 |0149: invoke-static {v5, v8}, Landroid/util/Base64;.encodeToString:([BI)Ljava/lang/String; // method@54c4 │ │ +4129b0: 0c05 |014c: move-result-object v5 │ │ +4129b2: 6e40 30b6 2159 |014d: invoke-virtual {v1, v2, v9, v5}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +4129b8: 54d1 e05c |0150: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ +4129bc: 7110 d3b8 0100 |0152: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +4129c2: 0c01 |0155: move-result-object v1 │ │ +4129c4: 7100 d2b8 0000 |0156: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +4129ca: 0c02 |0159: move-result-object v2 │ │ +4129cc: 1a05 9791 |015a: const-string v5, "pki_chat_signature_algorithm" // string@9197 │ │ +4129d0: 54d9 df5c |015c: iget-object v9, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cdf │ │ +4129d4: 6e40 30b6 2195 |015e: invoke-virtual {v1, v2, v5, v9}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +4129da: 54d1 e05c |0161: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ +4129de: 7110 d3b8 0100 |0163: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +4129e4: 0c01 |0166: move-result-object v1 │ │ +4129e6: 7100 d2b8 0000 |0167: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +4129ec: 0c02 |016a: move-result-object v2 │ │ +4129ee: 1a05 9891 |016b: const-string v5, "pki_chat_signature_private_key" // string@9198 │ │ +4129f2: 6e10 fb5d 0000 |016d: invoke-virtual {v0}, Ljava/security/KeyPair;.getPrivate:()Ljava/security/PrivateKey; // method@5dfb │ │ +4129f8: 0c09 |0170: move-result-object v9 │ │ +4129fa: 7210 345e 0900 |0171: invoke-interface {v9}, Ljava/security/PrivateKey;.getEncoded:()[B // method@5e34 │ │ +412a00: 0c09 |0174: move-result-object v9 │ │ +412a02: 7120 c454 8900 |0175: invoke-static {v9, v8}, Landroid/util/Base64;.encodeToString:([BI)Ljava/lang/String; // method@54c4 │ │ +412a08: 0c09 |0178: move-result-object v9 │ │ +412a0a: 6e40 30b6 2195 |0179: invoke-virtual {v1, v2, v5, v9}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +412a10: 54d1 e05c |017c: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ +412a14: 7110 d3b8 0100 |017e: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +412a1a: 0c01 |0181: move-result-object v1 │ │ +412a1c: 7100 d2b8 0000 |0182: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +412a22: 0c02 |0185: move-result-object v2 │ │ +412a24: 1a05 9991 |0186: const-string v5, "pki_chat_signature_public_key" // string@9199 │ │ +412a28: 6e10 fc5d 0000 |0188: invoke-virtual {v0}, Ljava/security/KeyPair;.getPublic:()Ljava/security/PublicKey; // method@5dfc │ │ +412a2e: 0c00 |018b: move-result-object v0 │ │ +412a30: 7210 3b5e 0000 |018c: invoke-interface {v0}, Ljava/security/PublicKey;.getEncoded:()[B // method@5e3b │ │ +412a36: 0c00 |018f: move-result-object v0 │ │ +412a38: 7120 c454 8000 |0190: invoke-static {v0, v8}, Landroid/util/Base64;.encodeToString:([BI)Ljava/lang/String; // method@54c4 │ │ +412a3e: 0c00 |0193: move-result-object v0 │ │ +412a40: 6e40 30b6 2105 |0194: invoke-virtual {v1, v2, v5, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +412a46: 7100 d2b8 0000 |0197: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +412a4c: 0c00 |019a: move-result-object v0 │ │ +412a4e: 6e20 9cb5 b000 |019b: invoke-virtual {v0, v11}, Lorg/purple/smoke/Cryptography;.prepareSipHashIds:(Ljava/lang/String;)Z // method@b59c │ │ +412a54: 0a00 |019e: move-result v0 │ │ +412a56: 7100 d2b8 0000 |019f: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +412a5c: 0c01 |01a2: move-result-object v1 │ │ +412a5e: 6e10 9db5 0100 |01a3: invoke-virtual {v1}, Lorg/purple/smoke/Cryptography;.prepareSipHashKeys:()Z // method@b59d │ │ +412a64: 0a01 |01a6: move-result v1 │ │ +412a66: 23a2 811b |01a7: new-array v2, v10, [[B // type@1b81 │ │ +412a6a: 54d5 de5c |01a9: iget-object v5, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_password:Ljava/lang/String; // field@5cde │ │ +412a6e: 6e10 bc5c 0500 |01ab: invoke-virtual {v5}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +412a74: 0c05 |01ae: move-result-object v5 │ │ +412a76: 4d05 0208 |01af: aput-object v5, v2, v8 │ │ +412a7a: 4d03 0207 |01b1: aput-object v3, v2, v7 │ │ +412a7e: 4d04 0206 |01b3: aput-object v4, v2, v6 │ │ +412a82: 7110 b2b5 0200 |01b5: invoke-static {v2}, Lorg/purple/smoke/Cryptography;.sha512:([[B)[B // method@b5b2 │ │ +412a88: 0c02 |01b8: move-result-object v2 │ │ +412a8a: 3800 1700 |01b9: if-eqz v0, 01d0 // +0017 │ │ +412a8e: 3801 1500 |01bb: if-eqz v1, 01d0 // +0015 │ │ +412a92: 3802 1300 |01bd: if-eqz v2, 01d0 // +0013 │ │ +412a96: 54d0 e05c |01bf: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ +412a9a: 7110 d3b8 0000 |01c1: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +412aa0: 0c00 |01c4: move-result-object v0 │ │ +412aa2: 1a01 6297 |01c5: const-string v1, "saltedPassword" // string@9762 │ │ +412aa6: 7120 c454 8200 |01c7: invoke-static {v2, v8}, Landroid/util/Base64;.encodeToString:([BI)Ljava/lang/String; // method@54c4 │ │ +412aac: 0c02 |01ca: move-result-object v2 │ │ +412aae: 6e40 30b6 b021 |01cb: invoke-virtual {v0, v11, v1, v2}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +412ab4: 2900 7900 |01ce: goto/16 0247 // +0079 │ │ +412ab8: 3900 0700 |01d0: if-nez v0, 01d7 // +0007 │ │ +412abc: 1a00 7992 |01d2: const-string v0, "prepareSipHashIds() failure" // string@9279 │ │ +412ac0: 5bd0 db5c |01d4: iput-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_error:Ljava/lang/String; // field@5cdb │ │ +412ac4: 2807 |01d6: goto 01dd // +0007 │ │ +412ac6: 3901 0600 |01d7: if-nez v1, 01dd // +0006 │ │ +412aca: 1a00 7c92 |01d9: const-string v0, "prepareSipHashKeys() failure" // string@927c │ │ +412ace: 5bd0 db5c |01db: iput-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_error:Ljava/lang/String; // field@5cdb │ │ +412ad2: 7100 d2b8 0000 |01dd: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +412ad8: 0c00 |01e0: move-result-object v0 │ │ +412ada: 6e10 a5b5 0000 |01e1: invoke-virtual {v0}, Lorg/purple/smoke/Cryptography;.reset:()V // method@b5a5 │ │ +412ae0: 2863 |01e4: goto 0247 // +0063 │ │ +412ae2: 1a00 aa68 |01e5: const-string v0, "generateMacKey() failure" // string@68aa │ │ +412ae6: 5bd0 db5c |01e7: iput-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_error:Ljava/lang/String; // field@5cdb │ │ +412aea: 7100 d2b8 0000 |01e9: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +412af0: 0c00 |01ec: move-result-object v0 │ │ +412af2: 6e10 a5b5 0000 |01ed: invoke-virtual {v0}, Lorg/purple/smoke/Cryptography;.reset:()V // method@b5a5 │ │ +412af8: 2200 d40a |01f0: new-instance v0, Ljava/lang/Exception; // type@0ad4 │ │ +412afc: 54d1 db5c |01f2: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_error:Ljava/lang/String; // field@5cdb │ │ +412b00: 7020 325c 1000 |01f4: invoke-direct {v0, v1}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@5c32 │ │ +412b06: 2700 |01f7: throw v0 │ │ +412b08: 1a00 9568 |01f8: const-string v0, "generateEncryptionKey() failure" // string@6895 │ │ +412b0c: 5bd0 db5c |01fa: iput-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_error:Ljava/lang/String; // field@5cdb │ │ +412b10: 7100 d2b8 0000 |01fc: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +412b16: 0c00 |01ff: move-result-object v0 │ │ +412b18: 6e10 a5b5 0000 |0200: invoke-virtual {v0}, Lorg/purple/smoke/Cryptography;.reset:()V // method@b5a5 │ │ +412b1e: 2200 d40a |0203: new-instance v0, Ljava/lang/Exception; // type@0ad4 │ │ +412b22: 54d1 db5c |0205: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_error:Ljava/lang/String; // field@5cdb │ │ +412b26: 7020 325c 1000 |0207: invoke-direct {v0, v1}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@5c32 │ │ +412b2c: 2700 |020a: throw v0 │ │ +412b2e: 1a00 3f9f |020b: const-string v0, "signature-key generatePrivatePublicKeyPair() failure" // string@9f3f │ │ +412b32: 5bd0 db5c |020d: iput-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_error:Ljava/lang/String; // field@5cdb │ │ +412b36: 7100 d2b8 0000 |020f: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +412b3c: 0c00 |0212: move-result-object v0 │ │ +412b3e: 6e10 a5b5 0000 |0213: invoke-virtual {v0}, Lorg/purple/smoke/Cryptography;.reset:()V // method@b5a5 │ │ +412b44: 2200 d40a |0216: new-instance v0, Ljava/lang/Exception; // type@0ad4 │ │ +412b48: 54d1 db5c |0218: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_error:Ljava/lang/String; // field@5cdb │ │ +412b4c: 7020 325c 1000 |021a: invoke-direct {v0, v1}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@5c32 │ │ +412b52: 2700 |021d: throw v0 │ │ +412b54: 1a00 e464 |021e: const-string v0, "encryption-key generatePrivatePublicKeyPair() failure" // string@64e4 │ │ +412b58: 5bd0 db5c |0220: iput-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_error:Ljava/lang/String; // field@5cdb │ │ +412b5c: 7100 d2b8 0000 |0222: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +412b62: 0c00 |0225: move-result-object v0 │ │ +412b64: 6e10 a5b5 0000 |0226: invoke-virtual {v0}, Lorg/purple/smoke/Cryptography;.reset:()V // method@b5a5 │ │ +412b6a: 2200 d40a |0229: new-instance v0, Ljava/lang/Exception; // type@0ad4 │ │ +412b6e: 54d1 db5c |022b: iget-object v1, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_error:Ljava/lang/String; // field@5cdb │ │ +412b72: 7020 325c 1000 |022d: invoke-direct {v0, v1}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@5c32 │ │ +412b78: 2700 |0230: throw v0 │ │ +412b7a: 0d00 |0231: move-exception v0 │ │ +412b7c: 6e10 375c 0000 |0232: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@5c37 │ │ +412b82: 0c00 |0235: move-result-object v0 │ │ +412b84: 6e10 cf5c 0000 |0236: invoke-virtual {v0}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@5ccf │ │ +412b8a: 0c00 |0239: move-result-object v0 │ │ +412b8c: 6e10 d35c 0000 |023a: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ +412b92: 0c00 |023d: move-result-object v0 │ │ +412b94: 5bd0 db5c |023e: iput-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_error:Ljava/lang/String; // field@5cdb │ │ +412b98: 7100 d2b8 0000 |0240: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +412b9e: 0c00 |0243: move-result-object v0 │ │ +412ba0: 6e10 a5b5 0000 |0244: invoke-virtual {v0}, Lorg/purple/smoke/Cryptography;.reset:()V // method@b5a5 │ │ +412ba6: 54d0 e05c |0247: iget-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5ce0 │ │ +412baa: 2201 681a |0249: new-instance v1, Lorg/purple/smoke/Settings$3SingleShot$1; // type@1a68 │ │ +412bae: 7020 8db8 d100 |024b: invoke-direct {v1, v13}, Lorg/purple/smoke/Settings$3SingleShot$1;.:(Lorg/purple/smoke/Settings$3SingleShot;)V // method@b88d │ │ +412bb4: 6e20 fdb8 1000 |024e: invoke-virtual {v0, v1}, Lorg/purple/smoke/Settings;.runOnUiThread:(Ljava/lang/Runnable;)V // method@b8fd │ │ +412bba: 1a00 0000 |0251: const-string v0, "" // string@0000 │ │ +412bbe: 5bd0 de5c |0253: iput-object v0, v13, Lorg/purple/smoke/Settings$3SingleShot;.m_password:Ljava/lang/String; // field@5cde │ │ +412bc2: 0e00 |0255: return-void │ │ catches : 1 │ │ 0x001b - 0x0231 │ │ Ljava/lang/Exception; -> 0x0231 │ │ positions : │ │ 0x0008 line=1386 │ │ 0x000e line=1388 │ │ 0x0012 line=1389 │ │ @@ -724266,20 +724265,20 @@ │ │ type : '(Lorg/purple/smoke/Settings;II)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -412ca4: |[412ca4] org.purple.smoke.Settings$40.:(Lorg/purple/smoke/Settings;II)V │ │ -412cb4: 5b01 e65c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$40;.this$0:Lorg/purple/smoke/Settings; // field@5ce6 │ │ -412cb8: 5902 e75c |0002: iput v2, v0, Lorg/purple/smoke/Settings$40;.val$groupId:I // field@5ce7 │ │ -412cbc: 5903 e85c |0004: iput v3, v0, Lorg/purple/smoke/Settings$40;.val$itemId:I // field@5ce8 │ │ -412cc0: 7010 8f5c 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -412cc6: 0e00 |0009: return-void │ │ +412ca0: |[412ca0] org.purple.smoke.Settings$40.:(Lorg/purple/smoke/Settings;II)V │ │ +412cb0: 5b01 e65c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$40;.this$0:Lorg/purple/smoke/Settings; // field@5ce6 │ │ +412cb4: 5902 e75c |0002: iput v2, v0, Lorg/purple/smoke/Settings$40;.val$groupId:I // field@5ce7 │ │ +412cb8: 5903 e85c |0004: iput v3, v0, Lorg/purple/smoke/Settings$40;.val$itemId:I // field@5ce8 │ │ +412cbc: 7010 8f5c 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +412cc2: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=3760 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Lorg/purple/smoke/Settings$40; │ │ 0x0000 - 0x000a reg=1 (null) Lorg/purple/smoke/Settings; │ │ 0x0000 - 0x000a reg=2 (null) I │ │ @@ -724291,131 +724290,131 @@ │ │ type : '(Landroid/content/DialogInterface;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 238 16-bit code units │ │ -412cc8: |[412cc8] org.purple.smoke.Settings$40.onCancel:(Landroid/content/DialogInterface;)V │ │ -412cd8: 5245 e75c |0000: iget v5, v4, Lorg/purple/smoke/Settings$40;.val$groupId:I // field@5ce7 │ │ -412cdc: 1a00 00a3 |0002: const-string v0, "true" // string@a300 │ │ -412ce0: 1a01 6c62 |0004: const-string v1, "dialog_accepted" // string@626c │ │ -412ce4: 3805 8400 |0006: if-eqz v5, 008a // +0084 │ │ -412ce8: 1212 |0008: const/4 v2, #int 1 // #1 │ │ -412cea: 3225 5b00 |0009: if-eq v5, v2, 0064 // +005b │ │ -412cee: 1222 |000b: const/4 v2, #int 2 // #2 │ │ -412cf0: 3225 3100 |000c: if-eq v5, v2, 003d // +0031 │ │ -412cf4: 1230 |000e: const/4 v0, #int 3 // #3 │ │ -412cf6: 3205 0400 |000f: if-eq v5, v0, 0013 // +0004 │ │ -412cfa: 2900 dc00 |0011: goto/16 00ed // +00dc │ │ -412cfe: 7100 66b9 0000 |0013: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -412d04: 0c05 |0016: move-result-object v5 │ │ -412d06: 1a00 3c9e |0017: const-string v0, "settings_participant_name_input" // string@9e3c │ │ -412d0a: 6e20 67b9 0500 |0019: invoke-virtual {v5, v0}, Lorg/purple/smoke/State;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@b967 │ │ -412d10: 0c05 |001c: move-result-object v5 │ │ -412d12: 5441 e65c |001d: iget-object v1, v4, Lorg/purple/smoke/Settings$40;.this$0:Lorg/purple/smoke/Settings; // field@5ce6 │ │ -412d16: 7110 d3b8 0100 |001f: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -412d1c: 0c01 |0022: move-result-object v1 │ │ -412d1e: 7100 d2b8 0000 |0023: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -412d24: 0c02 |0026: move-result-object v2 │ │ -412d26: 5243 e85c |0027: iget v3, v4, Lorg/purple/smoke/Settings$40;.val$itemId:I // field@5ce8 │ │ -412d2a: 6e40 2eb6 2135 |0029: invoke-virtual {v1, v2, v5, v3}, Lorg/purple/smoke/Database;.writeParticipantName:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;I)Z // method@b62e │ │ -412d30: 0a05 |002c: move-result v5 │ │ -412d32: 3805 0700 |002d: if-eqz v5, 0034 // +0007 │ │ -412d36: 5445 e65c |002f: iget-object v5, v4, Lorg/purple/smoke/Settings$40;.this$0:Lorg/purple/smoke/Settings; // field@5ce6 │ │ -412d3a: 7110 ccb8 0500 |0031: invoke-static {v5}, Lorg/purple/smoke/Settings;.access$200:(Lorg/purple/smoke/Settings;)V // method@b8cc │ │ -412d40: 7100 66b9 0000 |0034: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -412d46: 0c05 |0037: move-result-object v5 │ │ -412d48: 6e20 74b9 0500 |0038: invoke-virtual {v5, v0}, Lorg/purple/smoke/State;.removeKey:(Ljava/lang/String;)V // method@b974 │ │ -412d4e: 2900 b200 |003b: goto/16 00ed // +00b2 │ │ -412d52: 7100 66b9 0000 |003d: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -412d58: 0c05 |0040: move-result-object v5 │ │ -412d5a: 6e20 67b9 1500 |0041: invoke-virtual {v5, v1}, Lorg/purple/smoke/State;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@b967 │ │ -412d60: 0c05 |0044: move-result-object v5 │ │ -412d62: 6e20 b85c 0500 |0045: invoke-virtual {v5, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -412d68: 0a05 |0048: move-result v5 │ │ -412d6a: 3805 a400 |0049: if-eqz v5, 00ed // +00a4 │ │ -412d6e: 5445 e65c |004b: iget-object v5, v4, Lorg/purple/smoke/Settings$40;.this$0:Lorg/purple/smoke/Settings; // field@5ce6 │ │ -412d72: 7110 d3b8 0500 |004d: invoke-static {v5}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -412d78: 0c05 |0050: move-result-object v5 │ │ -412d7a: 5240 e85c |0051: iget v0, v4, Lorg/purple/smoke/Settings$40;.val$itemId:I // field@5ce8 │ │ -412d7e: 7110 d55c 0000 |0053: invoke-static {v0}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ -412d84: 0c00 |0056: move-result-object v0 │ │ -412d86: 6e20 e5b5 0500 |0057: invoke-virtual {v5, v0}, Lorg/purple/smoke/Database;.deletePublicKeys:(Ljava/lang/String;)Z // method@b5e5 │ │ -412d8c: 0a05 |005a: move-result v5 │ │ -412d8e: 3805 9200 |005b: if-eqz v5, 00ed // +0092 │ │ -412d92: 5445 e65c |005d: iget-object v5, v4, Lorg/purple/smoke/Settings$40;.this$0:Lorg/purple/smoke/Settings; // field@5ce6 │ │ -412d96: 7110 ccb8 0500 |005f: invoke-static {v5}, Lorg/purple/smoke/Settings;.access$200:(Lorg/purple/smoke/Settings;)V // method@b8cc │ │ -412d9c: 2900 8b00 |0062: goto/16 00ed // +008b │ │ -412da0: 7100 66b9 0000 |0064: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -412da6: 0c05 |0067: move-result-object v5 │ │ -412da8: 6e20 67b9 1500 |0068: invoke-virtual {v5, v1}, Lorg/purple/smoke/State;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@b967 │ │ -412dae: 0c05 |006b: move-result-object v5 │ │ -412db0: 6e20 b85c 0500 |006c: invoke-virtual {v5, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -412db6: 0a05 |006f: move-result v5 │ │ -412db8: 3805 7d00 |0070: if-eqz v5, 00ed // +007d │ │ -412dbc: 5445 e65c |0072: iget-object v5, v4, Lorg/purple/smoke/Settings$40;.this$0:Lorg/purple/smoke/Settings; // field@5ce6 │ │ -412dc0: 7110 d3b8 0500 |0074: invoke-static {v5}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -412dc6: 0c05 |0077: move-result-object v5 │ │ -412dc8: 5240 e85c |0078: iget v0, v4, Lorg/purple/smoke/Settings$40;.val$itemId:I // field@5ce8 │ │ -412dcc: 7110 d55c 0000 |007a: invoke-static {v0}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ -412dd2: 0c00 |007d: move-result-object v0 │ │ -412dd4: 6e20 e1b5 0500 |007e: invoke-virtual {v5, v0}, Lorg/purple/smoke/Database;.deleteFiascoKeys:(Ljava/lang/String;)Z // method@b5e1 │ │ -412dda: 0a05 |0081: move-result v5 │ │ -412ddc: 3805 6b00 |0082: if-eqz v5, 00ed // +006b │ │ -412de0: 5445 e65c |0084: iget-object v5, v4, Lorg/purple/smoke/Settings$40;.this$0:Lorg/purple/smoke/Settings; // field@5ce6 │ │ -412de4: 7110 ccb8 0500 |0086: invoke-static {v5}, Lorg/purple/smoke/Settings;.access$200:(Lorg/purple/smoke/Settings;)V // method@b8cc │ │ -412dea: 2864 |0089: goto 00ed // +0064 │ │ -412dec: 7100 66b9 0000 |008a: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -412df2: 0c05 |008d: move-result-object v5 │ │ -412df4: 6e20 67b9 1500 |008e: invoke-virtual {v5, v1}, Lorg/purple/smoke/State;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@b967 │ │ -412dfa: 0c05 |0091: move-result-object v5 │ │ -412dfc: 6e20 b85c 0500 |0092: invoke-virtual {v5, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -412e02: 0a05 |0095: move-result v5 │ │ -412e04: 3805 5700 |0096: if-eqz v5, 00ed // +0057 │ │ -412e08: 5445 e65c |0098: iget-object v5, v4, Lorg/purple/smoke/Settings$40;.this$0:Lorg/purple/smoke/Settings; // field@5ce6 │ │ -412e0c: 7110 d3b8 0500 |009a: invoke-static {v5}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -412e12: 0c05 |009d: move-result-object v5 │ │ -412e14: 5240 e85c |009e: iget v0, v4, Lorg/purple/smoke/Settings$40;.val$itemId:I // field@5ce8 │ │ -412e18: 7110 d55c 0000 |00a0: invoke-static {v0}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ -412e1e: 0c00 |00a3: move-result-object v0 │ │ -412e20: 1a01 6a9f |00a4: const-string v1, "siphash_ids" // string@9f6a │ │ -412e24: 6e30 e0b5 0501 |00a6: invoke-virtual {v5, v0, v1}, Lorg/purple/smoke/Database;.deleteEntry:(Ljava/lang/String;Ljava/lang/String;)Z // method@b5e0 │ │ -412e2a: 0a05 |00a9: move-result v5 │ │ -412e2c: 3805 4300 |00aa: if-eqz v5, 00ed // +0043 │ │ -412e30: 7100 66b9 0000 |00ac: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -412e36: 0c05 |00af: move-result-object v5 │ │ -412e38: 5240 e85c |00b0: iget v0, v4, Lorg/purple/smoke/Settings$40;.val$itemId:I // field@5ce8 │ │ -412e3c: 6e20 72b9 0500 |00b2: invoke-virtual {v5, v0}, Lorg/purple/smoke/State;.removeChatCheckBoxOid:(I)V // method@b972 │ │ -412e42: 7100 66b9 0000 |00b5: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -412e48: 0c05 |00b8: move-result-object v5 │ │ -412e4a: 1a00 9b88 |00b9: const-string v0, "member_chat_oid" // string@889b │ │ -412e4e: 1a01 0000 |00bb: const-string v1, "" // string@0000 │ │ -412e52: 6e30 81b9 0501 |00bd: invoke-virtual {v5, v0, v1}, Lorg/purple/smoke/State;.setString:(Ljava/lang/String;Ljava/lang/String;)V // method@b981 │ │ -412e58: 7100 66b9 0000 |00c0: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -412e5e: 0c05 |00c3: move-result-object v5 │ │ -412e60: 1a02 9d88 |00c4: const-string v2, "member_chat_siphash_id" // string@889d │ │ -412e64: 6e30 81b9 2501 |00c6: invoke-virtual {v5, v2, v1}, Lorg/purple/smoke/State;.setString:(Ljava/lang/String;Ljava/lang/String;)V // method@b981 │ │ -412e6a: 5445 e65c |00c9: iget-object v5, v4, Lorg/purple/smoke/Settings$40;.this$0:Lorg/purple/smoke/Settings; // field@5ce6 │ │ -412e6e: 6e10 e5b8 0500 |00cb: invoke-virtual {v5}, Lorg/purple/smoke/Settings;.invalidateOptionsMenu:()V // method@b8e5 │ │ -412e74: 5445 e65c |00ce: iget-object v5, v4, Lorg/purple/smoke/Settings$40;.this$0:Lorg/purple/smoke/Settings; // field@5ce6 │ │ -412e78: 7110 d3b8 0500 |00d0: invoke-static {v5}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -412e7e: 0c05 |00d3: move-result-object v5 │ │ -412e80: 7100 d2b8 0000 |00d4: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -412e86: 0c03 |00d7: move-result-object v3 │ │ -412e88: 6e40 30b6 3510 |00d8: invoke-virtual {v5, v3, v0, v1}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -412e8e: 5445 e65c |00db: iget-object v5, v4, Lorg/purple/smoke/Settings$40;.this$0:Lorg/purple/smoke/Settings; // field@5ce6 │ │ -412e92: 7110 d3b8 0500 |00dd: invoke-static {v5}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -412e98: 0c05 |00e0: move-result-object v5 │ │ -412e9a: 7100 d2b8 0000 |00e1: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -412ea0: 0c00 |00e4: move-result-object v0 │ │ -412ea2: 6e40 30b6 0512 |00e5: invoke-virtual {v5, v0, v2, v1}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -412ea8: 5445 e65c |00e8: iget-object v5, v4, Lorg/purple/smoke/Settings$40;.this$0:Lorg/purple/smoke/Settings; // field@5ce6 │ │ -412eac: 7110 ccb8 0500 |00ea: invoke-static {v5}, Lorg/purple/smoke/Settings;.access$200:(Lorg/purple/smoke/Settings;)V // method@b8cc │ │ -412eb2: 0e00 |00ed: return-void │ │ +412cc4: |[412cc4] org.purple.smoke.Settings$40.onCancel:(Landroid/content/DialogInterface;)V │ │ +412cd4: 5245 e75c |0000: iget v5, v4, Lorg/purple/smoke/Settings$40;.val$groupId:I // field@5ce7 │ │ +412cd8: 1a00 00a3 |0002: const-string v0, "true" // string@a300 │ │ +412cdc: 1a01 6c62 |0004: const-string v1, "dialog_accepted" // string@626c │ │ +412ce0: 3805 8400 |0006: if-eqz v5, 008a // +0084 │ │ +412ce4: 1212 |0008: const/4 v2, #int 1 // #1 │ │ +412ce6: 3225 5b00 |0009: if-eq v5, v2, 0064 // +005b │ │ +412cea: 1222 |000b: const/4 v2, #int 2 // #2 │ │ +412cec: 3225 3100 |000c: if-eq v5, v2, 003d // +0031 │ │ +412cf0: 1230 |000e: const/4 v0, #int 3 // #3 │ │ +412cf2: 3205 0400 |000f: if-eq v5, v0, 0013 // +0004 │ │ +412cf6: 2900 dc00 |0011: goto/16 00ed // +00dc │ │ +412cfa: 7100 66b9 0000 |0013: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +412d00: 0c05 |0016: move-result-object v5 │ │ +412d02: 1a00 3c9e |0017: const-string v0, "settings_participant_name_input" // string@9e3c │ │ +412d06: 6e20 67b9 0500 |0019: invoke-virtual {v5, v0}, Lorg/purple/smoke/State;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@b967 │ │ +412d0c: 0c05 |001c: move-result-object v5 │ │ +412d0e: 5441 e65c |001d: iget-object v1, v4, Lorg/purple/smoke/Settings$40;.this$0:Lorg/purple/smoke/Settings; // field@5ce6 │ │ +412d12: 7110 d3b8 0100 |001f: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +412d18: 0c01 |0022: move-result-object v1 │ │ +412d1a: 7100 d2b8 0000 |0023: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +412d20: 0c02 |0026: move-result-object v2 │ │ +412d22: 5243 e85c |0027: iget v3, v4, Lorg/purple/smoke/Settings$40;.val$itemId:I // field@5ce8 │ │ +412d26: 6e40 2eb6 2135 |0029: invoke-virtual {v1, v2, v5, v3}, Lorg/purple/smoke/Database;.writeParticipantName:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;I)Z // method@b62e │ │ +412d2c: 0a05 |002c: move-result v5 │ │ +412d2e: 3805 0700 |002d: if-eqz v5, 0034 // +0007 │ │ +412d32: 5445 e65c |002f: iget-object v5, v4, Lorg/purple/smoke/Settings$40;.this$0:Lorg/purple/smoke/Settings; // field@5ce6 │ │ +412d36: 7110 ccb8 0500 |0031: invoke-static {v5}, Lorg/purple/smoke/Settings;.access$200:(Lorg/purple/smoke/Settings;)V // method@b8cc │ │ +412d3c: 7100 66b9 0000 |0034: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +412d42: 0c05 |0037: move-result-object v5 │ │ +412d44: 6e20 74b9 0500 |0038: invoke-virtual {v5, v0}, Lorg/purple/smoke/State;.removeKey:(Ljava/lang/String;)V // method@b974 │ │ +412d4a: 2900 b200 |003b: goto/16 00ed // +00b2 │ │ +412d4e: 7100 66b9 0000 |003d: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +412d54: 0c05 |0040: move-result-object v5 │ │ +412d56: 6e20 67b9 1500 |0041: invoke-virtual {v5, v1}, Lorg/purple/smoke/State;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@b967 │ │ +412d5c: 0c05 |0044: move-result-object v5 │ │ +412d5e: 6e20 b85c 0500 |0045: invoke-virtual {v5, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +412d64: 0a05 |0048: move-result v5 │ │ +412d66: 3805 a400 |0049: if-eqz v5, 00ed // +00a4 │ │ +412d6a: 5445 e65c |004b: iget-object v5, v4, Lorg/purple/smoke/Settings$40;.this$0:Lorg/purple/smoke/Settings; // field@5ce6 │ │ +412d6e: 7110 d3b8 0500 |004d: invoke-static {v5}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +412d74: 0c05 |0050: move-result-object v5 │ │ +412d76: 5240 e85c |0051: iget v0, v4, Lorg/purple/smoke/Settings$40;.val$itemId:I // field@5ce8 │ │ +412d7a: 7110 d55c 0000 |0053: invoke-static {v0}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ +412d80: 0c00 |0056: move-result-object v0 │ │ +412d82: 6e20 e5b5 0500 |0057: invoke-virtual {v5, v0}, Lorg/purple/smoke/Database;.deletePublicKeys:(Ljava/lang/String;)Z // method@b5e5 │ │ +412d88: 0a05 |005a: move-result v5 │ │ +412d8a: 3805 9200 |005b: if-eqz v5, 00ed // +0092 │ │ +412d8e: 5445 e65c |005d: iget-object v5, v4, Lorg/purple/smoke/Settings$40;.this$0:Lorg/purple/smoke/Settings; // field@5ce6 │ │ +412d92: 7110 ccb8 0500 |005f: invoke-static {v5}, Lorg/purple/smoke/Settings;.access$200:(Lorg/purple/smoke/Settings;)V // method@b8cc │ │ +412d98: 2900 8b00 |0062: goto/16 00ed // +008b │ │ +412d9c: 7100 66b9 0000 |0064: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +412da2: 0c05 |0067: move-result-object v5 │ │ +412da4: 6e20 67b9 1500 |0068: invoke-virtual {v5, v1}, Lorg/purple/smoke/State;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@b967 │ │ +412daa: 0c05 |006b: move-result-object v5 │ │ +412dac: 6e20 b85c 0500 |006c: invoke-virtual {v5, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +412db2: 0a05 |006f: move-result v5 │ │ +412db4: 3805 7d00 |0070: if-eqz v5, 00ed // +007d │ │ +412db8: 5445 e65c |0072: iget-object v5, v4, Lorg/purple/smoke/Settings$40;.this$0:Lorg/purple/smoke/Settings; // field@5ce6 │ │ +412dbc: 7110 d3b8 0500 |0074: invoke-static {v5}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +412dc2: 0c05 |0077: move-result-object v5 │ │ +412dc4: 5240 e85c |0078: iget v0, v4, Lorg/purple/smoke/Settings$40;.val$itemId:I // field@5ce8 │ │ +412dc8: 7110 d55c 0000 |007a: invoke-static {v0}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ +412dce: 0c00 |007d: move-result-object v0 │ │ +412dd0: 6e20 e1b5 0500 |007e: invoke-virtual {v5, v0}, Lorg/purple/smoke/Database;.deleteFiascoKeys:(Ljava/lang/String;)Z // method@b5e1 │ │ +412dd6: 0a05 |0081: move-result v5 │ │ +412dd8: 3805 6b00 |0082: if-eqz v5, 00ed // +006b │ │ +412ddc: 5445 e65c |0084: iget-object v5, v4, Lorg/purple/smoke/Settings$40;.this$0:Lorg/purple/smoke/Settings; // field@5ce6 │ │ +412de0: 7110 ccb8 0500 |0086: invoke-static {v5}, Lorg/purple/smoke/Settings;.access$200:(Lorg/purple/smoke/Settings;)V // method@b8cc │ │ +412de6: 2864 |0089: goto 00ed // +0064 │ │ +412de8: 7100 66b9 0000 |008a: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +412dee: 0c05 |008d: move-result-object v5 │ │ +412df0: 6e20 67b9 1500 |008e: invoke-virtual {v5, v1}, Lorg/purple/smoke/State;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@b967 │ │ +412df6: 0c05 |0091: move-result-object v5 │ │ +412df8: 6e20 b85c 0500 |0092: invoke-virtual {v5, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +412dfe: 0a05 |0095: move-result v5 │ │ +412e00: 3805 5700 |0096: if-eqz v5, 00ed // +0057 │ │ +412e04: 5445 e65c |0098: iget-object v5, v4, Lorg/purple/smoke/Settings$40;.this$0:Lorg/purple/smoke/Settings; // field@5ce6 │ │ +412e08: 7110 d3b8 0500 |009a: invoke-static {v5}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +412e0e: 0c05 |009d: move-result-object v5 │ │ +412e10: 5240 e85c |009e: iget v0, v4, Lorg/purple/smoke/Settings$40;.val$itemId:I // field@5ce8 │ │ +412e14: 7110 d55c 0000 |00a0: invoke-static {v0}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ +412e1a: 0c00 |00a3: move-result-object v0 │ │ +412e1c: 1a01 6a9f |00a4: const-string v1, "siphash_ids" // string@9f6a │ │ +412e20: 6e30 e0b5 0501 |00a6: invoke-virtual {v5, v0, v1}, Lorg/purple/smoke/Database;.deleteEntry:(Ljava/lang/String;Ljava/lang/String;)Z // method@b5e0 │ │ +412e26: 0a05 |00a9: move-result v5 │ │ +412e28: 3805 4300 |00aa: if-eqz v5, 00ed // +0043 │ │ +412e2c: 7100 66b9 0000 |00ac: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +412e32: 0c05 |00af: move-result-object v5 │ │ +412e34: 5240 e85c |00b0: iget v0, v4, Lorg/purple/smoke/Settings$40;.val$itemId:I // field@5ce8 │ │ +412e38: 6e20 72b9 0500 |00b2: invoke-virtual {v5, v0}, Lorg/purple/smoke/State;.removeChatCheckBoxOid:(I)V // method@b972 │ │ +412e3e: 7100 66b9 0000 |00b5: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +412e44: 0c05 |00b8: move-result-object v5 │ │ +412e46: 1a00 9b88 |00b9: const-string v0, "member_chat_oid" // string@889b │ │ +412e4a: 1a01 0000 |00bb: const-string v1, "" // string@0000 │ │ +412e4e: 6e30 81b9 0501 |00bd: invoke-virtual {v5, v0, v1}, Lorg/purple/smoke/State;.setString:(Ljava/lang/String;Ljava/lang/String;)V // method@b981 │ │ +412e54: 7100 66b9 0000 |00c0: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +412e5a: 0c05 |00c3: move-result-object v5 │ │ +412e5c: 1a02 9d88 |00c4: const-string v2, "member_chat_siphash_id" // string@889d │ │ +412e60: 6e30 81b9 2501 |00c6: invoke-virtual {v5, v2, v1}, Lorg/purple/smoke/State;.setString:(Ljava/lang/String;Ljava/lang/String;)V // method@b981 │ │ +412e66: 5445 e65c |00c9: iget-object v5, v4, Lorg/purple/smoke/Settings$40;.this$0:Lorg/purple/smoke/Settings; // field@5ce6 │ │ +412e6a: 6e10 e5b8 0500 |00cb: invoke-virtual {v5}, Lorg/purple/smoke/Settings;.invalidateOptionsMenu:()V // method@b8e5 │ │ +412e70: 5445 e65c |00ce: iget-object v5, v4, Lorg/purple/smoke/Settings$40;.this$0:Lorg/purple/smoke/Settings; // field@5ce6 │ │ +412e74: 7110 d3b8 0500 |00d0: invoke-static {v5}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +412e7a: 0c05 |00d3: move-result-object v5 │ │ +412e7c: 7100 d2b8 0000 |00d4: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +412e82: 0c03 |00d7: move-result-object v3 │ │ +412e84: 6e40 30b6 3510 |00d8: invoke-virtual {v5, v3, v0, v1}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +412e8a: 5445 e65c |00db: iget-object v5, v4, Lorg/purple/smoke/Settings$40;.this$0:Lorg/purple/smoke/Settings; // field@5ce6 │ │ +412e8e: 7110 d3b8 0500 |00dd: invoke-static {v5}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +412e94: 0c05 |00e0: move-result-object v5 │ │ +412e96: 7100 d2b8 0000 |00e1: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +412e9c: 0c00 |00e4: move-result-object v0 │ │ +412e9e: 6e40 30b6 0512 |00e5: invoke-virtual {v5, v0, v2, v1}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +412ea4: 5445 e65c |00e8: iget-object v5, v4, Lorg/purple/smoke/Settings$40;.this$0:Lorg/purple/smoke/Settings; // field@5ce6 │ │ +412ea8: 7110 ccb8 0500 |00ea: invoke-static {v5}, Lorg/purple/smoke/Settings;.access$200:(Lorg/purple/smoke/Settings;)V // method@b8cc │ │ +412eae: 0e00 |00ed: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=3765 │ │ 0x0013 line=3814 │ │ 0x0019 line=3815 │ │ 0x001d line=3817 │ │ 0x0023 line=3818 │ │ @@ -724495,19 +724494,19 @@ │ │ type : '(Lorg/purple/smoke/Settings;Ljava/lang/String;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -4133a4: |[4133a4] org.purple.smoke.Settings$4.:(Lorg/purple/smoke/Settings;Ljava/lang/String;)V │ │ -4133b4: 5b01 e95c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$4;.this$0:Lorg/purple/smoke/Settings; // field@5ce9 │ │ -4133b8: 5b02 ea5c |0002: iput-object v2, v0, Lorg/purple/smoke/Settings$4;.val$ipAndPort:Ljava/lang/String; // field@5cea │ │ -4133bc: 7010 8f5c 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -4133c2: 0e00 |0007: return-void │ │ +4133a0: |[4133a0] org.purple.smoke.Settings$4.:(Lorg/purple/smoke/Settings;Ljava/lang/String;)V │ │ +4133b0: 5b01 e95c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$4;.this$0:Lorg/purple/smoke/Settings; // field@5ce9 │ │ +4133b4: 5b02 ea5c |0002: iput-object v2, v0, Lorg/purple/smoke/Settings$4;.val$ipAndPort:Ljava/lang/String; // field@5cea │ │ +4133b8: 7010 8f5c 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +4133be: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=963 │ │ locals : │ │ 0x0000 - 0x0008 reg=0 this Lorg/purple/smoke/Settings$4; │ │ 0x0000 - 0x0008 reg=1 (null) Lorg/purple/smoke/Settings; │ │ 0x0000 - 0x0008 reg=2 (null) Ljava/lang/String; │ │ @@ -724518,89 +724517,89 @@ │ │ type : '(Landroid/widget/AdapterView;Landroid/view/View;IJ)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 6 │ │ outs : 4 │ │ insns size : 143 16-bit code units │ │ -4133c4: |[4133c4] org.purple.smoke.Settings$4.onItemSelected:(Landroid/widget/AdapterView;Landroid/view/View;IJ)V │ │ -4133d4: 1213 |0000: const/4 v3, #int 1 // #1 │ │ -4133d6: 3234 7200 |0001: if-eq v4, v3, 0073 // +0072 │ │ -4133da: 1223 |0003: const/4 v3, #int 2 // #2 │ │ -4133dc: 3234 6300 |0004: if-eq v4, v3, 0067 // +0063 │ │ -4133e0: 1233 |0006: const/4 v3, #int 3 // #3 │ │ -4133e2: 1a05 b162 |0007: const-string v5, "disconnect" // string@62b1 │ │ -4133e6: 3234 4800 |0009: if-eq v4, v3, 0051 // +0048 │ │ -4133ea: 1243 |000b: const/4 v3, #int 4 // #4 │ │ -4133ec: 3234 3300 |000c: if-eq v4, v3, 003f // +0033 │ │ -4133f0: 1253 |000e: const/4 v3, #int 5 // #5 │ │ -4133f2: 3234 0400 |000f: if-eq v4, v3, 0013 // +0004 │ │ -4133f6: 2900 7900 |0011: goto/16 008a // +0079 │ │ -4133fa: 5413 e95c |0013: iget-object v3, v1, Lorg/purple/smoke/Settings$4;.this$0:Lorg/purple/smoke/Settings; // field@5ce9 │ │ -4133fe: 7110 d3b8 0300 |0015: invoke-static {v3}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -413404: 0c03 |0018: move-result-object v3 │ │ -413406: 7100 d2b8 0000 |0019: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -41340c: 0c04 |001c: move-result-object v4 │ │ -41340e: 6e10 c758 0200 |001d: invoke-virtual {v2}, Landroid/widget/AdapterView;.getId:()I // method@58c7 │ │ -413414: 0a06 |0020: move-result v6 │ │ -413416: 7110 d55c 0600 |0021: invoke-static {v6}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ -41341c: 0c06 |0024: move-result-object v6 │ │ -41341e: 1200 |0025: const/4 v0, #int 0 // #0 │ │ -413420: 6e40 f3b5 4306 |0026: invoke-virtual {v3, v4, v6, v0}, Lorg/purple/smoke/Database;.neighborRecordCertificate:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;[B)V // method@b5f3 │ │ -413426: 5413 e95c |0029: iget-object v3, v1, Lorg/purple/smoke/Settings$4;.this$0:Lorg/purple/smoke/Settings; // field@5ce9 │ │ -41342a: 7110 d3b8 0300 |002b: invoke-static {v3}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -413430: 0c03 |002e: move-result-object v3 │ │ -413432: 7100 d2b8 0000 |002f: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -413438: 0c04 |0032: move-result-object v4 │ │ -41343a: 6e10 c758 0200 |0033: invoke-virtual {v2}, Landroid/widget/AdapterView;.getId:()I // method@58c7 │ │ -413440: 0a06 |0036: move-result v6 │ │ -413442: 7110 d55c 0600 |0037: invoke-static {v6}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ -413448: 0c06 |003a: move-result-object v6 │ │ -41344a: 6e40 f2b5 4365 |003b: invoke-virtual {v3, v4, v5, v6}, Lorg/purple/smoke/Database;.neighborControlStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b5f2 │ │ -413450: 284c |003e: goto 008a // +004c │ │ -413452: 5413 e95c |003f: iget-object v3, v1, Lorg/purple/smoke/Settings$4;.this$0:Lorg/purple/smoke/Settings; // field@5ce9 │ │ -413456: 7110 d3b8 0300 |0041: invoke-static {v3}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -41345c: 0c03 |0044: move-result-object v3 │ │ -41345e: 6e10 c758 0200 |0045: invoke-virtual {v2}, Landroid/widget/AdapterView;.getId:()I // method@58c7 │ │ -413464: 0a04 |0048: move-result v4 │ │ -413466: 7110 d55c 0400 |0049: invoke-static {v4}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ -41346c: 0c04 |004c: move-result-object v4 │ │ -41346e: 6e20 03b6 4300 |004d: invoke-virtual {v3, v4}, Lorg/purple/smoke/Database;.purgeNeighborQueue:(Ljava/lang/String;)V // method@b603 │ │ -413474: 283a |0050: goto 008a // +003a │ │ -413476: 5413 e95c |0051: iget-object v3, v1, Lorg/purple/smoke/Settings$4;.this$0:Lorg/purple/smoke/Settings; // field@5ce9 │ │ -41347a: 7110 d3b8 0300 |0053: invoke-static {v3}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -413480: 0c03 |0056: move-result-object v3 │ │ -413482: 7100 d2b8 0000 |0057: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -413488: 0c04 |005a: move-result-object v4 │ │ -41348a: 6e10 c758 0200 |005b: invoke-virtual {v2}, Landroid/widget/AdapterView;.getId:()I // method@58c7 │ │ -413490: 0a06 |005e: move-result v6 │ │ -413492: 7110 d55c 0600 |005f: invoke-static {v6}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ -413498: 0c06 |0062: move-result-object v6 │ │ -41349a: 6e40 f2b5 4365 |0063: invoke-virtual {v3, v4, v5, v6}, Lorg/purple/smoke/Database;.neighborControlStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b5f2 │ │ -4134a0: 2824 |0066: goto 008a // +0024 │ │ -4134a2: 5413 e95c |0067: iget-object v3, v1, Lorg/purple/smoke/Settings$4;.this$0:Lorg/purple/smoke/Settings; // field@5ce9 │ │ -4134a6: 5414 ea5c |0069: iget-object v4, v1, Lorg/purple/smoke/Settings$4;.val$ipAndPort:Ljava/lang/String; // field@5cea │ │ -4134aa: 6e10 c758 0200 |006b: invoke-virtual {v2}, Landroid/widget/AdapterView;.getId:()I // method@58c7 │ │ -4134b0: 0a05 |006e: move-result v5 │ │ -4134b2: 7130 d5b8 4305 |006f: invoke-static {v3, v4, v5}, Lorg/purple/smoke/Settings;.access$800:(Lorg/purple/smoke/Settings;Ljava/lang/String;I)V // method@b8d5 │ │ -4134b8: 2818 |0072: goto 008a // +0018 │ │ -4134ba: 5413 e95c |0073: iget-object v3, v1, Lorg/purple/smoke/Settings$4;.this$0:Lorg/purple/smoke/Settings; // field@5ce9 │ │ -4134be: 7110 d3b8 0300 |0075: invoke-static {v3}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -4134c4: 0c03 |0078: move-result-object v3 │ │ -4134c6: 7100 d2b8 0000 |0079: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -4134cc: 0c04 |007c: move-result-object v4 │ │ -4134ce: 6e10 c758 0200 |007d: invoke-virtual {v2}, Landroid/widget/AdapterView;.getId:()I // method@58c7 │ │ -4134d4: 0a05 |0080: move-result v5 │ │ -4134d6: 7110 d55c 0500 |0081: invoke-static {v5}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ -4134dc: 0c05 |0084: move-result-object v5 │ │ -4134de: 1a06 075f |0085: const-string v6, "connect" // string@5f07 │ │ -4134e2: 6e40 f2b5 4356 |0087: invoke-virtual {v3, v4, v6, v5}, Lorg/purple/smoke/Database;.neighborControlStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b5f2 │ │ -4134e8: 1203 |008a: const/4 v3, #int 0 // #0 │ │ -4134ea: 6e20 c858 3200 |008b: invoke-virtual {v2, v3}, Landroid/widget/AdapterView;.setSelection:(I)V // method@58c8 │ │ -4134f0: 0e00 |008e: return-void │ │ +4133c0: |[4133c0] org.purple.smoke.Settings$4.onItemSelected:(Landroid/widget/AdapterView;Landroid/view/View;IJ)V │ │ +4133d0: 1213 |0000: const/4 v3, #int 1 // #1 │ │ +4133d2: 3234 7200 |0001: if-eq v4, v3, 0073 // +0072 │ │ +4133d6: 1223 |0003: const/4 v3, #int 2 // #2 │ │ +4133d8: 3234 6300 |0004: if-eq v4, v3, 0067 // +0063 │ │ +4133dc: 1233 |0006: const/4 v3, #int 3 // #3 │ │ +4133de: 1a05 b162 |0007: const-string v5, "disconnect" // string@62b1 │ │ +4133e2: 3234 4800 |0009: if-eq v4, v3, 0051 // +0048 │ │ +4133e6: 1243 |000b: const/4 v3, #int 4 // #4 │ │ +4133e8: 3234 3300 |000c: if-eq v4, v3, 003f // +0033 │ │ +4133ec: 1253 |000e: const/4 v3, #int 5 // #5 │ │ +4133ee: 3234 0400 |000f: if-eq v4, v3, 0013 // +0004 │ │ +4133f2: 2900 7900 |0011: goto/16 008a // +0079 │ │ +4133f6: 5413 e95c |0013: iget-object v3, v1, Lorg/purple/smoke/Settings$4;.this$0:Lorg/purple/smoke/Settings; // field@5ce9 │ │ +4133fa: 7110 d3b8 0300 |0015: invoke-static {v3}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +413400: 0c03 |0018: move-result-object v3 │ │ +413402: 7100 d2b8 0000 |0019: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +413408: 0c04 |001c: move-result-object v4 │ │ +41340a: 6e10 c758 0200 |001d: invoke-virtual {v2}, Landroid/widget/AdapterView;.getId:()I // method@58c7 │ │ +413410: 0a06 |0020: move-result v6 │ │ +413412: 7110 d55c 0600 |0021: invoke-static {v6}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ +413418: 0c06 |0024: move-result-object v6 │ │ +41341a: 1200 |0025: const/4 v0, #int 0 // #0 │ │ +41341c: 6e40 f3b5 4306 |0026: invoke-virtual {v3, v4, v6, v0}, Lorg/purple/smoke/Database;.neighborRecordCertificate:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;[B)V // method@b5f3 │ │ +413422: 5413 e95c |0029: iget-object v3, v1, Lorg/purple/smoke/Settings$4;.this$0:Lorg/purple/smoke/Settings; // field@5ce9 │ │ +413426: 7110 d3b8 0300 |002b: invoke-static {v3}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +41342c: 0c03 |002e: move-result-object v3 │ │ +41342e: 7100 d2b8 0000 |002f: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +413434: 0c04 |0032: move-result-object v4 │ │ +413436: 6e10 c758 0200 |0033: invoke-virtual {v2}, Landroid/widget/AdapterView;.getId:()I // method@58c7 │ │ +41343c: 0a06 |0036: move-result v6 │ │ +41343e: 7110 d55c 0600 |0037: invoke-static {v6}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ +413444: 0c06 |003a: move-result-object v6 │ │ +413446: 6e40 f2b5 4365 |003b: invoke-virtual {v3, v4, v5, v6}, Lorg/purple/smoke/Database;.neighborControlStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b5f2 │ │ +41344c: 284c |003e: goto 008a // +004c │ │ +41344e: 5413 e95c |003f: iget-object v3, v1, Lorg/purple/smoke/Settings$4;.this$0:Lorg/purple/smoke/Settings; // field@5ce9 │ │ +413452: 7110 d3b8 0300 |0041: invoke-static {v3}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +413458: 0c03 |0044: move-result-object v3 │ │ +41345a: 6e10 c758 0200 |0045: invoke-virtual {v2}, Landroid/widget/AdapterView;.getId:()I // method@58c7 │ │ +413460: 0a04 |0048: move-result v4 │ │ +413462: 7110 d55c 0400 |0049: invoke-static {v4}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ +413468: 0c04 |004c: move-result-object v4 │ │ +41346a: 6e20 03b6 4300 |004d: invoke-virtual {v3, v4}, Lorg/purple/smoke/Database;.purgeNeighborQueue:(Ljava/lang/String;)V // method@b603 │ │ +413470: 283a |0050: goto 008a // +003a │ │ +413472: 5413 e95c |0051: iget-object v3, v1, Lorg/purple/smoke/Settings$4;.this$0:Lorg/purple/smoke/Settings; // field@5ce9 │ │ +413476: 7110 d3b8 0300 |0053: invoke-static {v3}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +41347c: 0c03 |0056: move-result-object v3 │ │ +41347e: 7100 d2b8 0000 |0057: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +413484: 0c04 |005a: move-result-object v4 │ │ +413486: 6e10 c758 0200 |005b: invoke-virtual {v2}, Landroid/widget/AdapterView;.getId:()I // method@58c7 │ │ +41348c: 0a06 |005e: move-result v6 │ │ +41348e: 7110 d55c 0600 |005f: invoke-static {v6}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ +413494: 0c06 |0062: move-result-object v6 │ │ +413496: 6e40 f2b5 4365 |0063: invoke-virtual {v3, v4, v5, v6}, Lorg/purple/smoke/Database;.neighborControlStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b5f2 │ │ +41349c: 2824 |0066: goto 008a // +0024 │ │ +41349e: 5413 e95c |0067: iget-object v3, v1, Lorg/purple/smoke/Settings$4;.this$0:Lorg/purple/smoke/Settings; // field@5ce9 │ │ +4134a2: 5414 ea5c |0069: iget-object v4, v1, Lorg/purple/smoke/Settings$4;.val$ipAndPort:Ljava/lang/String; // field@5cea │ │ +4134a6: 6e10 c758 0200 |006b: invoke-virtual {v2}, Landroid/widget/AdapterView;.getId:()I // method@58c7 │ │ +4134ac: 0a05 |006e: move-result v5 │ │ +4134ae: 7130 d5b8 4305 |006f: invoke-static {v3, v4, v5}, Lorg/purple/smoke/Settings;.access$800:(Lorg/purple/smoke/Settings;Ljava/lang/String;I)V // method@b8d5 │ │ +4134b4: 2818 |0072: goto 008a // +0018 │ │ +4134b6: 5413 e95c |0073: iget-object v3, v1, Lorg/purple/smoke/Settings$4;.this$0:Lorg/purple/smoke/Settings; // field@5ce9 │ │ +4134ba: 7110 d3b8 0300 |0075: invoke-static {v3}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +4134c0: 0c03 |0078: move-result-object v3 │ │ +4134c2: 7100 d2b8 0000 |0079: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +4134c8: 0c04 |007c: move-result-object v4 │ │ +4134ca: 6e10 c758 0200 |007d: invoke-virtual {v2}, Landroid/widget/AdapterView;.getId:()I // method@58c7 │ │ +4134d0: 0a05 |0080: move-result v5 │ │ +4134d2: 7110 d55c 0500 |0081: invoke-static {v5}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ +4134d8: 0c05 |0084: move-result-object v5 │ │ +4134da: 1a06 075f |0085: const-string v6, "connect" // string@5f07 │ │ +4134de: 6e40 f2b5 4356 |0087: invoke-virtual {v3, v4, v6, v5}, Lorg/purple/smoke/Database;.neighborControlStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b5f2 │ │ +4134e4: 1203 |008a: const/4 v3, #int 0 // #0 │ │ +4134e6: 6e20 c858 3200 |008b: invoke-virtual {v2, v3}, Landroid/widget/AdapterView;.setSelection:(I)V // method@58c8 │ │ +4134ec: 0e00 |008e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0013 line=992 │ │ 0x0019 line=993 │ │ 0x001d line=994 │ │ 0x0026 line=993 │ │ 0x0029 line=996 │ │ @@ -724631,16 +724630,16 @@ │ │ type : '(Landroid/widget/AdapterView;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -4134f4: |[4134f4] org.purple.smoke.Settings$4.onNothingSelected:(Landroid/widget/AdapterView;)V │ │ -413504: 0e00 |0000: return-void │ │ +4134f0: |[4134f0] org.purple.smoke.Settings$4.onNothingSelected:(Landroid/widget/AdapterView;)V │ │ +413500: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ source_file_idx : 18985 (Settings.java) │ │ │ │ Class #2654 header: │ │ @@ -724676,18 +724675,18 @@ │ │ type : '(Lorg/purple/smoke/Settings$4SingleShot;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -412eb4: |[412eb4] org.purple.smoke.Settings$4SingleShot$1.:(Lorg/purple/smoke/Settings$4SingleShot;)V │ │ -412ec4: 5b01 eb5c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$4SingleShot$1;.this$1:Lorg/purple/smoke/Settings$4SingleShot; // field@5ceb │ │ -412ec8: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -412ece: 0e00 |0005: return-void │ │ +412eb0: |[412eb0] org.purple.smoke.Settings$4SingleShot$1.:(Lorg/purple/smoke/Settings$4SingleShot;)V │ │ +412ec0: 5b01 eb5c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$4SingleShot$1;.this$1:Lorg/purple/smoke/Settings$4SingleShot; // field@5ceb │ │ +412ec4: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +412eca: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=2706 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/Settings$4SingleShot$1; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/Settings$4SingleShot; │ │ │ │ @@ -724697,76 +724696,76 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 134 16-bit code units │ │ -412ed0: |[412ed0] org.purple.smoke.Settings$4SingleShot$1.run:()V │ │ -412ee0: 5430 eb5c |0000: iget-object v0, v3, Lorg/purple/smoke/Settings$4SingleShot$1;.this$1:Lorg/purple/smoke/Settings$4SingleShot; // field@5ceb │ │ -412ee4: 5400 f05c |0002: iget-object v0, v0, Lorg/purple/smoke/Settings$4SingleShot;.val$bar:Landroid/widget/ProgressBar; // field@5cf0 │ │ -412ee8: 1241 |0004: const/4 v1, #int 4 // #4 │ │ -412eea: 6e20 5f5a 1000 |0005: invoke-virtual {v0, v1}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ -412ef0: 5430 eb5c |0008: iget-object v0, v3, Lorg/purple/smoke/Settings$4SingleShot$1;.this$1:Lorg/purple/smoke/Settings$4SingleShot; // field@5ceb │ │ -412ef4: 5400 ef5c |000a: iget-object v0, v0, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ -412ef8: 6e10 e4b8 0000 |000c: invoke-virtual {v0}, Lorg/purple/smoke/Settings;.getWindow:()Landroid/view/Window; // method@b8e4 │ │ -412efe: 0c00 |000f: move-result-object v0 │ │ -412f00: 1302 1000 |0010: const/16 v2, #int 16 // #10 │ │ -412f04: 6e20 8557 2000 |0012: invoke-virtual {v0, v2}, Landroid/view/Window;.clearFlags:(I)V // method@5785 │ │ -412f0a: 5430 eb5c |0015: iget-object v0, v3, Lorg/purple/smoke/Settings$4SingleShot$1;.this$1:Lorg/purple/smoke/Settings$4SingleShot; // field@5ceb │ │ -412f0e: 5400 ef5c |0017: iget-object v0, v0, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ -412f12: 1402 9200 087f |0019: const v2, #float 1.80778e+38 // #7f080092 │ │ -412f18: 6e20 dcb8 2000 |001c: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -412f1e: 0c00 |001f: move-result-object v0 │ │ -412f20: 1212 |0020: const/4 v2, #int 1 // #1 │ │ -412f22: 7120 ddb7 2000 |0021: invoke-static {v0, v2}, Lorg/purple/smoke/Miscellaneous;.enableChildren:(Landroid/view/View;Z)V // method@b7dd │ │ -412f28: 5430 eb5c |0024: iget-object v0, v3, Lorg/purple/smoke/Settings$4SingleShot$1;.this$1:Lorg/purple/smoke/Settings$4SingleShot; // field@5ceb │ │ -412f2c: 5400 ef5c |0026: iget-object v0, v0, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ -412f30: 7110 d4b8 0000 |0028: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$500:(Lorg/purple/smoke/Settings;)V // method@b8d4 │ │ -412f36: 5430 eb5c |002b: iget-object v0, v3, Lorg/purple/smoke/Settings$4SingleShot$1;.this$1:Lorg/purple/smoke/Settings$4SingleShot; // field@5ceb │ │ -412f3a: 7110 9ab8 0000 |002d: invoke-static {v0}, Lorg/purple/smoke/Settings$4SingleShot;.access$2500:(Lorg/purple/smoke/Settings$4SingleShot;)Ljava/lang/String; // method@b89a │ │ -412f40: 0c00 |0030: move-result-object v0 │ │ -412f42: 6e10 c35c 0000 |0031: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -412f48: 0a00 |0034: move-result v0 │ │ -412f4a: 3900 2600 |0035: if-nez v0, 005b // +0026 │ │ -412f4e: 5430 eb5c |0037: iget-object v0, v3, Lorg/purple/smoke/Settings$4SingleShot$1;.this$1:Lorg/purple/smoke/Settings$4SingleShot; // field@5ceb │ │ -412f52: 5400 ef5c |0039: iget-object v0, v0, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ -412f56: 2201 f10a |003b: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ -412f5a: 7010 ee5c 0100 |003d: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -412f60: 1a02 550d |0040: const-string v2, "An error (" // string@0d55 │ │ -412f64: 6e20 f95c 2100 |0042: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -412f6a: 5432 eb5c |0045: iget-object v2, v3, Lorg/purple/smoke/Settings$4SingleShot$1;.this$1:Lorg/purple/smoke/Settings$4SingleShot; // field@5ceb │ │ -412f6e: 7110 9ab8 0200 |0047: invoke-static {v2}, Lorg/purple/smoke/Settings$4SingleShot;.access$2500:(Lorg/purple/smoke/Settings$4SingleShot;)Ljava/lang/String; // method@b89a │ │ -412f74: 0c02 |004a: move-result-object v2 │ │ -412f76: 6e20 f95c 2100 |004b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -412f7c: 1a02 f703 |004e: const-string v2, ") occurred while generating the PKI data." // string@03f7 │ │ -412f80: 6e20 f95c 2100 |0050: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -412f86: 6e10 035d 0100 |0053: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -412f8c: 0c01 |0056: move-result-object v1 │ │ -412f8e: 7120 ecb7 1000 |0057: invoke-static {v0, v1}, Lorg/purple/smoke/Miscellaneous;.showErrorDialog:(Landroid/content/Context;Ljava/lang/String;)V // method@b7ec │ │ -412f94: 282b |005a: goto 0085 // +002b │ │ -412f96: 5430 eb5c |005b: iget-object v0, v3, Lorg/purple/smoke/Settings$4SingleShot$1;.this$1:Lorg/purple/smoke/Settings$4SingleShot; // field@5ceb │ │ -412f9a: 5400 ef5c |005d: iget-object v0, v0, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ -412f9e: 7120 c2b8 2000 |005f: invoke-static {v0, v2}, Lorg/purple/smoke/Settings;.access$1000:(Lorg/purple/smoke/Settings;Z)V // method@b8c2 │ │ -412fa4: 5430 eb5c |0062: iget-object v0, v3, Lorg/purple/smoke/Settings$4SingleShot$1;.this$1:Lorg/purple/smoke/Settings$4SingleShot; // field@5ceb │ │ -412fa8: 5400 ef5c |0064: iget-object v0, v0, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ -412fac: 7110 c3b8 0000 |0066: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$1100:(Lorg/purple/smoke/Settings;)V // method@b8c3 │ │ -412fb2: 5430 eb5c |0069: iget-object v0, v3, Lorg/purple/smoke/Settings$4SingleShot$1;.this$1:Lorg/purple/smoke/Settings$4SingleShot; // field@5ceb │ │ -412fb6: 5400 f15c |006b: iget-object v0, v0, Lorg/purple/smoke/Settings$4SingleShot;.val$spinner1:Landroid/widget/Spinner; // field@5cf1 │ │ -412fba: 6e20 cc5a 1000 |006d: invoke-virtual {v0, v1}, Landroid/widget/Spinner;.setSelection:(I)V // method@5acc │ │ -412fc0: 5430 eb5c |0070: iget-object v0, v3, Lorg/purple/smoke/Settings$4SingleShot$1;.this$1:Lorg/purple/smoke/Settings$4SingleShot; // field@5ceb │ │ -412fc4: 5400 f25c |0072: iget-object v0, v0, Lorg/purple/smoke/Settings$4SingleShot;.val$spinner2:Landroid/widget/Spinner; // field@5cf2 │ │ -412fc8: 6e20 cc5a 2000 |0074: invoke-virtual {v0, v2}, Landroid/widget/Spinner;.setSelection:(I)V // method@5acc │ │ -412fce: 5430 eb5c |0077: iget-object v0, v3, Lorg/purple/smoke/Settings$4SingleShot$1;.this$1:Lorg/purple/smoke/Settings$4SingleShot; // field@5ceb │ │ -412fd2: 5400 ef5c |0079: iget-object v0, v0, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ -412fd6: 7110 c4b8 0000 |007b: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$1200:(Lorg/purple/smoke/Settings;)V // method@b8c4 │ │ -412fdc: 5430 eb5c |007e: iget-object v0, v3, Lorg/purple/smoke/Settings$4SingleShot$1;.this$1:Lorg/purple/smoke/Settings$4SingleShot; // field@5ceb │ │ -412fe0: 5400 ef5c |0080: iget-object v0, v0, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ -412fe4: 7110 c5b8 0000 |0082: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$1300:(Lorg/purple/smoke/Settings;)V // method@b8c5 │ │ -412fea: 0e00 |0085: return-void │ │ +412ecc: |[412ecc] org.purple.smoke.Settings$4SingleShot$1.run:()V │ │ +412edc: 5430 eb5c |0000: iget-object v0, v3, Lorg/purple/smoke/Settings$4SingleShot$1;.this$1:Lorg/purple/smoke/Settings$4SingleShot; // field@5ceb │ │ +412ee0: 5400 f05c |0002: iget-object v0, v0, Lorg/purple/smoke/Settings$4SingleShot;.val$bar:Landroid/widget/ProgressBar; // field@5cf0 │ │ +412ee4: 1241 |0004: const/4 v1, #int 4 // #4 │ │ +412ee6: 6e20 5f5a 1000 |0005: invoke-virtual {v0, v1}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ +412eec: 5430 eb5c |0008: iget-object v0, v3, Lorg/purple/smoke/Settings$4SingleShot$1;.this$1:Lorg/purple/smoke/Settings$4SingleShot; // field@5ceb │ │ +412ef0: 5400 ef5c |000a: iget-object v0, v0, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ +412ef4: 6e10 e4b8 0000 |000c: invoke-virtual {v0}, Lorg/purple/smoke/Settings;.getWindow:()Landroid/view/Window; // method@b8e4 │ │ +412efa: 0c00 |000f: move-result-object v0 │ │ +412efc: 1302 1000 |0010: const/16 v2, #int 16 // #10 │ │ +412f00: 6e20 8557 2000 |0012: invoke-virtual {v0, v2}, Landroid/view/Window;.clearFlags:(I)V // method@5785 │ │ +412f06: 5430 eb5c |0015: iget-object v0, v3, Lorg/purple/smoke/Settings$4SingleShot$1;.this$1:Lorg/purple/smoke/Settings$4SingleShot; // field@5ceb │ │ +412f0a: 5400 ef5c |0017: iget-object v0, v0, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ +412f0e: 1402 9200 087f |0019: const v2, #float 1.80778e+38 // #7f080092 │ │ +412f14: 6e20 dcb8 2000 |001c: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +412f1a: 0c00 |001f: move-result-object v0 │ │ +412f1c: 1212 |0020: const/4 v2, #int 1 // #1 │ │ +412f1e: 7120 ddb7 2000 |0021: invoke-static {v0, v2}, Lorg/purple/smoke/Miscellaneous;.enableChildren:(Landroid/view/View;Z)V // method@b7dd │ │ +412f24: 5430 eb5c |0024: iget-object v0, v3, Lorg/purple/smoke/Settings$4SingleShot$1;.this$1:Lorg/purple/smoke/Settings$4SingleShot; // field@5ceb │ │ +412f28: 5400 ef5c |0026: iget-object v0, v0, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ +412f2c: 7110 d4b8 0000 |0028: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$500:(Lorg/purple/smoke/Settings;)V // method@b8d4 │ │ +412f32: 5430 eb5c |002b: iget-object v0, v3, Lorg/purple/smoke/Settings$4SingleShot$1;.this$1:Lorg/purple/smoke/Settings$4SingleShot; // field@5ceb │ │ +412f36: 7110 9ab8 0000 |002d: invoke-static {v0}, Lorg/purple/smoke/Settings$4SingleShot;.access$2500:(Lorg/purple/smoke/Settings$4SingleShot;)Ljava/lang/String; // method@b89a │ │ +412f3c: 0c00 |0030: move-result-object v0 │ │ +412f3e: 6e10 c35c 0000 |0031: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +412f44: 0a00 |0034: move-result v0 │ │ +412f46: 3900 2600 |0035: if-nez v0, 005b // +0026 │ │ +412f4a: 5430 eb5c |0037: iget-object v0, v3, Lorg/purple/smoke/Settings$4SingleShot$1;.this$1:Lorg/purple/smoke/Settings$4SingleShot; // field@5ceb │ │ +412f4e: 5400 ef5c |0039: iget-object v0, v0, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ +412f52: 2201 f10a |003b: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ +412f56: 7010 ee5c 0100 |003d: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +412f5c: 1a02 550d |0040: const-string v2, "An error (" // string@0d55 │ │ +412f60: 6e20 f95c 2100 |0042: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +412f66: 5432 eb5c |0045: iget-object v2, v3, Lorg/purple/smoke/Settings$4SingleShot$1;.this$1:Lorg/purple/smoke/Settings$4SingleShot; // field@5ceb │ │ +412f6a: 7110 9ab8 0200 |0047: invoke-static {v2}, Lorg/purple/smoke/Settings$4SingleShot;.access$2500:(Lorg/purple/smoke/Settings$4SingleShot;)Ljava/lang/String; // method@b89a │ │ +412f70: 0c02 |004a: move-result-object v2 │ │ +412f72: 6e20 f95c 2100 |004b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +412f78: 1a02 f703 |004e: const-string v2, ") occurred while generating the PKI data." // string@03f7 │ │ +412f7c: 6e20 f95c 2100 |0050: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +412f82: 6e10 035d 0100 |0053: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +412f88: 0c01 |0056: move-result-object v1 │ │ +412f8a: 7120 ecb7 1000 |0057: invoke-static {v0, v1}, Lorg/purple/smoke/Miscellaneous;.showErrorDialog:(Landroid/content/Context;Ljava/lang/String;)V // method@b7ec │ │ +412f90: 282b |005a: goto 0085 // +002b │ │ +412f92: 5430 eb5c |005b: iget-object v0, v3, Lorg/purple/smoke/Settings$4SingleShot$1;.this$1:Lorg/purple/smoke/Settings$4SingleShot; // field@5ceb │ │ +412f96: 5400 ef5c |005d: iget-object v0, v0, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ +412f9a: 7120 c2b8 2000 |005f: invoke-static {v0, v2}, Lorg/purple/smoke/Settings;.access$1000:(Lorg/purple/smoke/Settings;Z)V // method@b8c2 │ │ +412fa0: 5430 eb5c |0062: iget-object v0, v3, Lorg/purple/smoke/Settings$4SingleShot$1;.this$1:Lorg/purple/smoke/Settings$4SingleShot; // field@5ceb │ │ +412fa4: 5400 ef5c |0064: iget-object v0, v0, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ +412fa8: 7110 c3b8 0000 |0066: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$1100:(Lorg/purple/smoke/Settings;)V // method@b8c3 │ │ +412fae: 5430 eb5c |0069: iget-object v0, v3, Lorg/purple/smoke/Settings$4SingleShot$1;.this$1:Lorg/purple/smoke/Settings$4SingleShot; // field@5ceb │ │ +412fb2: 5400 f15c |006b: iget-object v0, v0, Lorg/purple/smoke/Settings$4SingleShot;.val$spinner1:Landroid/widget/Spinner; // field@5cf1 │ │ +412fb6: 6e20 cc5a 1000 |006d: invoke-virtual {v0, v1}, Landroid/widget/Spinner;.setSelection:(I)V // method@5acc │ │ +412fbc: 5430 eb5c |0070: iget-object v0, v3, Lorg/purple/smoke/Settings$4SingleShot$1;.this$1:Lorg/purple/smoke/Settings$4SingleShot; // field@5ceb │ │ +412fc0: 5400 f25c |0072: iget-object v0, v0, Lorg/purple/smoke/Settings$4SingleShot;.val$spinner2:Landroid/widget/Spinner; // field@5cf2 │ │ +412fc4: 6e20 cc5a 2000 |0074: invoke-virtual {v0, v2}, Landroid/widget/Spinner;.setSelection:(I)V // method@5acc │ │ +412fca: 5430 eb5c |0077: iget-object v0, v3, Lorg/purple/smoke/Settings$4SingleShot$1;.this$1:Lorg/purple/smoke/Settings$4SingleShot; // field@5ceb │ │ +412fce: 5400 ef5c |0079: iget-object v0, v0, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ +412fd2: 7110 c4b8 0000 |007b: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$1200:(Lorg/purple/smoke/Settings;)V // method@b8c4 │ │ +412fd8: 5430 eb5c |007e: iget-object v0, v3, Lorg/purple/smoke/Settings$4SingleShot$1;.this$1:Lorg/purple/smoke/Settings$4SingleShot; // field@5ceb │ │ +412fdc: 5400 ef5c |0080: iget-object v0, v0, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ +412fe0: 7110 c5b8 0000 |0082: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$1300:(Lorg/purple/smoke/Settings;)V // method@b8c5 │ │ +412fe6: 0e00 |0085: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=2710 │ │ 0x0008 line=2711 │ │ 0x0012 line=2712 │ │ 0x0015 line=2714 │ │ 0x001c line=2715 │ │ @@ -724845,33 +724844,33 @@ │ │ type : '(Lorg/purple/smoke/Settings;Ljava/lang/String;Ljava/lang/String;Landroid/widget/ProgressBar;Landroid/widget/Spinner;Landroid/widget/Spinner;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 7 │ │ ins : 7 │ │ outs : 2 │ │ insns size : 36 16-bit code units │ │ -413004: |[413004] org.purple.smoke.Settings$4SingleShot.:(Lorg/purple/smoke/Settings;Ljava/lang/String;Ljava/lang/String;Landroid/widget/ProgressBar;Landroid/widget/Spinner;Landroid/widget/Spinner;)V │ │ -413014: 5b01 ef5c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ -413018: 5b04 f05c |0002: iput-object v4, v0, Lorg/purple/smoke/Settings$4SingleShot;.val$bar:Landroid/widget/ProgressBar; // field@5cf0 │ │ -41301c: 5b05 f15c |0004: iput-object v5, v0, Lorg/purple/smoke/Settings$4SingleShot;.val$spinner1:Landroid/widget/Spinner; // field@5cf1 │ │ -413020: 5b06 f25c |0006: iput-object v6, v0, Lorg/purple/smoke/Settings$4SingleShot;.val$spinner2:Landroid/widget/Spinner; // field@5cf2 │ │ -413024: 7010 8f5c 0000 |0008: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41302a: 1a01 0000 |000b: const-string v1, "" // string@0000 │ │ -41302e: 5b01 ec5c |000d: iput-object v1, v0, Lorg/purple/smoke/Settings$4SingleShot;.m_encryptionAlgorithm:Ljava/lang/String; // field@5cec │ │ -413032: 5b01 ed5c |000f: iput-object v1, v0, Lorg/purple/smoke/Settings$4SingleShot;.m_error:Ljava/lang/String; // field@5ced │ │ -413036: 5b01 ee5c |0011: iput-object v1, v0, Lorg/purple/smoke/Settings$4SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cee │ │ -41303a: 5b02 ec5c |0013: iput-object v2, v0, Lorg/purple/smoke/Settings$4SingleShot;.m_encryptionAlgorithm:Ljava/lang/String; // field@5cec │ │ -41303e: 5b03 ee5c |0015: iput-object v3, v0, Lorg/purple/smoke/Settings$4SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cee │ │ -413042: 1a01 e617 |0017: const-string v1, "ECDSA" // string@17e6 │ │ -413046: 6e20 b85c 1300 |0019: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41304c: 0a01 |001c: move-result v1 │ │ -41304e: 3801 0600 |001d: if-eqz v1, 0023 // +0006 │ │ -413052: 1a01 b417 |001f: const-string v1, "EC" // string@17b4 │ │ -413056: 5b01 ee5c |0021: iput-object v1, v0, Lorg/purple/smoke/Settings$4SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cee │ │ -41305a: 0e00 |0023: return-void │ │ +413000: |[413000] org.purple.smoke.Settings$4SingleShot.:(Lorg/purple/smoke/Settings;Ljava/lang/String;Ljava/lang/String;Landroid/widget/ProgressBar;Landroid/widget/Spinner;Landroid/widget/Spinner;)V │ │ +413010: 5b01 ef5c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ +413014: 5b04 f05c |0002: iput-object v4, v0, Lorg/purple/smoke/Settings$4SingleShot;.val$bar:Landroid/widget/ProgressBar; // field@5cf0 │ │ +413018: 5b05 f15c |0004: iput-object v5, v0, Lorg/purple/smoke/Settings$4SingleShot;.val$spinner1:Landroid/widget/Spinner; // field@5cf1 │ │ +41301c: 5b06 f25c |0006: iput-object v6, v0, Lorg/purple/smoke/Settings$4SingleShot;.val$spinner2:Landroid/widget/Spinner; // field@5cf2 │ │ +413020: 7010 8f5c 0000 |0008: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +413026: 1a01 0000 |000b: const-string v1, "" // string@0000 │ │ +41302a: 5b01 ec5c |000d: iput-object v1, v0, Lorg/purple/smoke/Settings$4SingleShot;.m_encryptionAlgorithm:Ljava/lang/String; // field@5cec │ │ +41302e: 5b01 ed5c |000f: iput-object v1, v0, Lorg/purple/smoke/Settings$4SingleShot;.m_error:Ljava/lang/String; // field@5ced │ │ +413032: 5b01 ee5c |0011: iput-object v1, v0, Lorg/purple/smoke/Settings$4SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cee │ │ +413036: 5b02 ec5c |0013: iput-object v2, v0, Lorg/purple/smoke/Settings$4SingleShot;.m_encryptionAlgorithm:Ljava/lang/String; // field@5cec │ │ +41303a: 5b03 ee5c |0015: iput-object v3, v0, Lorg/purple/smoke/Settings$4SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cee │ │ +41303e: 1a01 e617 |0017: const-string v1, "ECDSA" // string@17e6 │ │ +413042: 6e20 b85c 1300 |0019: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +413048: 0a01 |001c: move-result v1 │ │ +41304a: 3801 0600 |001d: if-eqz v1, 0023 // +0006 │ │ +41304e: 1a01 b417 |001f: const-string v1, "EC" // string@17b4 │ │ +413052: 5b01 ee5c |0021: iput-object v1, v0, Lorg/purple/smoke/Settings$4SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cee │ │ +413056: 0e00 |0023: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=2565 │ │ 0x000d line=2560 │ │ 0x000f line=2561 │ │ 0x0011 line=2562 │ │ 0x0013 line=2566 │ │ @@ -724892,17 +724891,17 @@ │ │ type : '(Lorg/purple/smoke/Settings$4SingleShot;)Ljava/lang/String;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -412fec: |[412fec] org.purple.smoke.Settings$4SingleShot.access$2500:(Lorg/purple/smoke/Settings$4SingleShot;)Ljava/lang/String; │ │ -412ffc: 5400 ed5c |0000: iget-object v0, v0, Lorg/purple/smoke/Settings$4SingleShot;.m_error:Ljava/lang/String; // field@5ced │ │ -413000: 1100 |0002: return-object v0 │ │ +412fe8: |[412fe8] org.purple.smoke.Settings$4SingleShot.access$2500:(Lorg/purple/smoke/Settings$4SingleShot;)Ljava/lang/String; │ │ +412ff8: 5400 ed5c |0000: iget-object v0, v0, Lorg/purple/smoke/Settings$4SingleShot;.m_error:Ljava/lang/String; // field@5ced │ │ +412ffc: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=2558 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/Settings$4SingleShot; │ │ │ │ Virtual methods - │ │ @@ -724911,217 +724910,217 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 10 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 403 16-bit code units │ │ -41305c: |[41305c] org.purple.smoke.Settings$4SingleShot.run:()V │ │ -41306c: 1a00 9545 |0000: const-string v0, "Rainbow" // string@4595 │ │ -413070: 1a01 6945 |0002: const-string v1, "RSA" // string@4569 │ │ -413074: 1a02 b417 |0004: const-string v2, "EC" // string@17b4 │ │ -413078: 5493 ec5c |0006: iget-object v3, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_encryptionAlgorithm:Ljava/lang/String; // field@5cec │ │ -41307c: 1a04 9c06 |0008: const-string v4, "12, 68" // string@069c │ │ -413080: 6e20 b65c 4300 |000a: invoke-virtual {v3, v4}, Ljava/lang/String;.contains:(Ljava/lang/CharSequence;)Z // method@5cb6 │ │ -413086: 0a03 |000d: move-result v3 │ │ -413088: 1224 |000e: const/4 v4, #int 2 // #2 │ │ -41308a: 1215 |000f: const/4 v5, #int 1 // #1 │ │ -41308c: 1206 |0010: const/4 v6, #int 0 // #0 │ │ -41308e: 3803 0400 |0011: if-eqz v3, 0015 // +0004 │ │ -413092: 1213 |0013: const/4 v3, #int 1 // #1 │ │ -413094: 280e |0014: goto 0022 // +000e │ │ -413096: 5493 ec5c |0015: iget-object v3, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_encryptionAlgorithm:Ljava/lang/String; // field@5cec │ │ -41309a: 1a07 a606 |0017: const-string v7, "13, 118" // string@06a6 │ │ -41309e: 6e20 b65c 7300 |0019: invoke-virtual {v3, v7}, Ljava/lang/String;.contains:(Ljava/lang/CharSequence;)Z // method@5cb6 │ │ -4130a4: 0a03 |001c: move-result v3 │ │ -4130a6: 3803 0400 |001d: if-eqz v3, 0021 // +0004 │ │ -4130aa: 1223 |001f: const/4 v3, #int 2 // #2 │ │ -4130ac: 2802 |0020: goto 0022 // +0002 │ │ -4130ae: 1203 |0021: const/4 v3, #int 0 // #0 │ │ -4130b0: 5497 ec5c |0022: iget-object v7, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_encryptionAlgorithm:Ljava/lang/String; // field@5cec │ │ -4130b4: 6208 d051 |0024: sget-object v8, Lorg/purple/smoke/Cryptography;.PKI_ENCRYPTION_KEY_SIZES:[I // field@51d0 │ │ -4130b8: 4408 0806 |0026: aget v8, v8, v6 │ │ -4130bc: 7130 86b5 8703 |0028: invoke-static {v7, v8, v3}, Lorg/purple/smoke/Cryptography;.generatePrivatePublicKeyPair:(Ljava/lang/String;II)Ljava/security/KeyPair; // method@b586 │ │ -4130c2: 0c03 |002b: move-result-object v3 │ │ -4130c4: 3803 3301 |002c: if-eqz v3, 015f // +0133 │ │ -4130c8: 5497 ee5c |002e: iget-object v7, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cee │ │ -4130cc: 6e20 b85c 2700 |0030: invoke-virtual {v7, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -4130d2: 0a07 |0033: move-result v7 │ │ -4130d4: 3807 0b00 |0034: if-eqz v7, 003f // +000b │ │ -4130d8: 6200 d451 |0036: sget-object v0, Lorg/purple/smoke/Cryptography;.PKI_SIGNATURE_KEY_SIZES:[I // field@51d4 │ │ -4130dc: 4400 0006 |0038: aget v0, v0, v6 │ │ -4130e0: 7130 86b5 0206 |003a: invoke-static {v2, v0, v6}, Lorg/purple/smoke/Cryptography;.generatePrivatePublicKeyPair:(Ljava/lang/String;II)Ljava/security/KeyPair; // method@b586 │ │ -4130e6: 0c00 |003d: move-result-object v0 │ │ -4130e8: 282e |003e: goto 006c // +002e │ │ -4130ea: 5492 ee5c |003f: iget-object v2, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cee │ │ -4130ee: 6e20 b85c 1200 |0041: invoke-virtual {v2, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -4130f4: 0a02 |0044: move-result v2 │ │ -4130f6: 3802 0b00 |0045: if-eqz v2, 0050 // +000b │ │ -4130fa: 6200 d451 |0047: sget-object v0, Lorg/purple/smoke/Cryptography;.PKI_SIGNATURE_KEY_SIZES:[I // field@51d4 │ │ -4130fe: 4400 0005 |0049: aget v0, v0, v5 │ │ -413102: 7130 86b5 0106 |004b: invoke-static {v1, v0, v6}, Lorg/purple/smoke/Cryptography;.generatePrivatePublicKeyPair:(Ljava/lang/String;II)Ljava/security/KeyPair; // method@b586 │ │ -413108: 0c00 |004e: move-result-object v0 │ │ -41310a: 281d |004f: goto 006c // +001d │ │ -41310c: 5491 ee5c |0050: iget-object v1, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cee │ │ -413110: 6e20 b85c 0100 |0052: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -413116: 0a01 |0055: move-result v1 │ │ -413118: 3801 0b00 |0056: if-eqz v1, 0061 // +000b │ │ -41311c: 6201 d451 |0058: sget-object v1, Lorg/purple/smoke/Cryptography;.PKI_SIGNATURE_KEY_SIZES:[I // field@51d4 │ │ -413120: 4401 0104 |005a: aget v1, v1, v4 │ │ -413124: 7130 86b5 1006 |005c: invoke-static {v0, v1, v6}, Lorg/purple/smoke/Cryptography;.generatePrivatePublicKeyPair:(Ljava/lang/String;II)Ljava/security/KeyPair; // method@b586 │ │ -41312a: 0c00 |005f: move-result-object v0 │ │ -41312c: 280c |0060: goto 006c // +000c │ │ -41312e: 5490 ee5c |0061: iget-object v0, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cee │ │ -413132: 6201 d451 |0063: sget-object v1, Lorg/purple/smoke/Cryptography;.PKI_SIGNATURE_KEY_SIZES:[I // field@51d4 │ │ -413136: 1232 |0065: const/4 v2, #int 3 // #3 │ │ -413138: 4401 0102 |0066: aget v1, v1, v2 │ │ -41313c: 7130 86b5 1006 |0068: invoke-static {v0, v1, v6}, Lorg/purple/smoke/Cryptography;.generatePrivatePublicKeyPair:(Ljava/lang/String;II)Ljava/security/KeyPair; // method@b586 │ │ -413142: 0c00 |006b: move-result-object v0 │ │ -413144: 3800 e000 |006c: if-eqz v0, 014c // +00e0 │ │ -413148: 7100 d2b8 0000 |006e: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -41314e: 0c01 |0071: move-result-object v1 │ │ -413150: 6e20 a9b5 3100 |0072: invoke-virtual {v1, v3}, Lorg/purple/smoke/Cryptography;.setChatEncryptionPublicKeyPair:(Ljava/security/KeyPair;)V // method@b5a9 │ │ -413156: 7100 d2b8 0000 |0075: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -41315c: 0c01 |0078: move-result-object v1 │ │ -41315e: 5492 ec5c |0079: iget-object v2, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_encryptionAlgorithm:Ljava/lang/String; // field@5cec │ │ -413162: 6e20 a7b5 2100 |007b: invoke-virtual {v1, v2}, Lorg/purple/smoke/Cryptography;.setChatEncryptionPublicKeyAlgorithm:(Ljava/lang/String;)V // method@b5a7 │ │ -413168: 7100 d2b8 0000 |007e: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -41316e: 0c01 |0081: move-result-object v1 │ │ -413170: 6e20 abb5 0100 |0082: invoke-virtual {v1, v0}, Lorg/purple/smoke/Cryptography;.setChatSignaturePublicKeyPair:(Ljava/security/KeyPair;)V // method@b5ab │ │ -413176: 5491 ef5c |0085: iget-object v1, v9, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ -41317a: 7110 d3b8 0100 |0087: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -413180: 0c01 |008a: move-result-object v1 │ │ -413182: 7100 d2b8 0000 |008b: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -413188: 0c02 |008e: move-result-object v2 │ │ -41318a: 1a04 9491 |008f: const-string v4, "pki_chat_encryption_algorithm" // string@9194 │ │ -41318e: 5495 ec5c |0091: iget-object v5, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_encryptionAlgorithm:Ljava/lang/String; // field@5cec │ │ -413192: 6e40 30b6 2154 |0093: invoke-virtual {v1, v2, v4, v5}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -413198: 5491 ef5c |0096: iget-object v1, v9, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ -41319c: 7110 d3b8 0100 |0098: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -4131a2: 0c01 |009b: move-result-object v1 │ │ -4131a4: 7100 d2b8 0000 |009c: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -4131aa: 0c02 |009f: move-result-object v2 │ │ -4131ac: 1a04 9591 |00a0: const-string v4, "pki_chat_encryption_private_key" // string@9195 │ │ -4131b0: 6e10 fb5d 0300 |00a2: invoke-virtual {v3}, Ljava/security/KeyPair;.getPrivate:()Ljava/security/PrivateKey; // method@5dfb │ │ -4131b6: 0c05 |00a5: move-result-object v5 │ │ -4131b8: 7210 345e 0500 |00a6: invoke-interface {v5}, Ljava/security/PrivateKey;.getEncoded:()[B // method@5e34 │ │ -4131be: 0c05 |00a9: move-result-object v5 │ │ -4131c0: 7120 c454 6500 |00aa: invoke-static {v5, v6}, Landroid/util/Base64;.encodeToString:([BI)Ljava/lang/String; // method@54c4 │ │ -4131c6: 0c05 |00ad: move-result-object v5 │ │ -4131c8: 6e40 30b6 2154 |00ae: invoke-virtual {v1, v2, v4, v5}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -4131ce: 5491 ef5c |00b1: iget-object v1, v9, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ -4131d2: 7110 d3b8 0100 |00b3: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -4131d8: 0c01 |00b6: move-result-object v1 │ │ -4131da: 7100 d2b8 0000 |00b7: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -4131e0: 0c02 |00ba: move-result-object v2 │ │ -4131e2: 1a04 9691 |00bb: const-string v4, "pki_chat_encryption_public_key" // string@9196 │ │ -4131e6: 6e10 fc5d 0300 |00bd: invoke-virtual {v3}, Ljava/security/KeyPair;.getPublic:()Ljava/security/PublicKey; // method@5dfc │ │ -4131ec: 0c03 |00c0: move-result-object v3 │ │ -4131ee: 7210 3b5e 0300 |00c1: invoke-interface {v3}, Ljava/security/PublicKey;.getEncoded:()[B // method@5e3b │ │ -4131f4: 0c03 |00c4: move-result-object v3 │ │ -4131f6: 7120 c454 6300 |00c5: invoke-static {v3, v6}, Landroid/util/Base64;.encodeToString:([BI)Ljava/lang/String; // method@54c4 │ │ -4131fc: 0c03 |00c8: move-result-object v3 │ │ -4131fe: 6e40 30b6 2134 |00c9: invoke-virtual {v1, v2, v4, v3}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -413204: 5491 ef5c |00cc: iget-object v1, v9, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ -413208: 7110 d3b8 0100 |00ce: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -41320e: 0c01 |00d1: move-result-object v1 │ │ -413210: 7100 d2b8 0000 |00d2: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -413216: 0c02 |00d5: move-result-object v2 │ │ -413218: 1a03 9791 |00d6: const-string v3, "pki_chat_signature_algorithm" // string@9197 │ │ -41321c: 5494 ee5c |00d8: iget-object v4, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cee │ │ -413220: 6e40 30b6 2143 |00da: invoke-virtual {v1, v2, v3, v4}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -413226: 5491 ef5c |00dd: iget-object v1, v9, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ -41322a: 7110 d3b8 0100 |00df: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -413230: 0c01 |00e2: move-result-object v1 │ │ -413232: 7100 d2b8 0000 |00e3: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -413238: 0c02 |00e6: move-result-object v2 │ │ -41323a: 1a03 9891 |00e7: const-string v3, "pki_chat_signature_private_key" // string@9198 │ │ -41323e: 6e10 fb5d 0000 |00e9: invoke-virtual {v0}, Ljava/security/KeyPair;.getPrivate:()Ljava/security/PrivateKey; // method@5dfb │ │ -413244: 0c04 |00ec: move-result-object v4 │ │ -413246: 7210 345e 0400 |00ed: invoke-interface {v4}, Ljava/security/PrivateKey;.getEncoded:()[B // method@5e34 │ │ -41324c: 0c04 |00f0: move-result-object v4 │ │ -41324e: 7120 c454 6400 |00f1: invoke-static {v4, v6}, Landroid/util/Base64;.encodeToString:([BI)Ljava/lang/String; // method@54c4 │ │ -413254: 0c04 |00f4: move-result-object v4 │ │ -413256: 6e40 30b6 2143 |00f5: invoke-virtual {v1, v2, v3, v4}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -41325c: 5491 ef5c |00f8: iget-object v1, v9, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ -413260: 7110 d3b8 0100 |00fa: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -413266: 0c01 |00fd: move-result-object v1 │ │ -413268: 7100 d2b8 0000 |00fe: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -41326e: 0c02 |0101: move-result-object v2 │ │ -413270: 1a03 9991 |0102: const-string v3, "pki_chat_signature_public_key" // string@9199 │ │ -413274: 6e10 fc5d 0000 |0104: invoke-virtual {v0}, Ljava/security/KeyPair;.getPublic:()Ljava/security/PublicKey; // method@5dfc │ │ -41327a: 0c00 |0107: move-result-object v0 │ │ -41327c: 7210 3b5e 0000 |0108: invoke-interface {v0}, Ljava/security/PublicKey;.getEncoded:()[B // method@5e3b │ │ -413282: 0c00 |010b: move-result-object v0 │ │ -413284: 7120 c454 6000 |010c: invoke-static {v0, v6}, Landroid/util/Base64;.encodeToString:([BI)Ljava/lang/String; // method@54c4 │ │ -41328a: 0c00 |010f: move-result-object v0 │ │ -41328c: 6e40 30b6 2103 |0110: invoke-virtual {v1, v2, v3, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -413292: 7100 d2b8 0000 |0113: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -413298: 0c00 |0116: move-result-object v0 │ │ -41329a: 5491 ef5c |0117: iget-object v1, v9, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ -41329e: 7110 d3b8 0100 |0119: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -4132a4: 0c01 |011c: move-result-object v1 │ │ -4132a6: 7100 d2b8 0000 |011d: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -4132ac: 0c02 |0120: move-result-object v2 │ │ -4132ae: 1a03 0958 |0121: const-string v3, "alias" // string@5809 │ │ -4132b2: 6e30 0eb6 2103 |0123: invoke-virtual {v1, v2, v3}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ -4132b8: 0c01 |0126: move-result-object v1 │ │ -4132ba: 6e20 9cb5 1000 |0127: invoke-virtual {v0, v1}, Lorg/purple/smoke/Cryptography;.prepareSipHashIds:(Ljava/lang/String;)Z // method@b59c │ │ -4132c0: 0a00 |012a: move-result v0 │ │ -4132c2: 7100 d2b8 0000 |012b: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -4132c8: 0c01 |012e: move-result-object v1 │ │ -4132ca: 6e10 9db5 0100 |012f: invoke-virtual {v1}, Lorg/purple/smoke/Cryptography;.prepareSipHashKeys:()Z // method@b59d │ │ -4132d0: 0a01 |0132: move-result v1 │ │ -4132d2: 3800 0400 |0133: if-eqz v0, 0137 // +0004 │ │ -4132d6: 3901 5300 |0135: if-nez v1, 0188 // +0053 │ │ -4132da: 3900 0700 |0137: if-nez v0, 013e // +0007 │ │ -4132de: 1a00 7992 |0139: const-string v0, "prepareSipHashIds() failure" // string@9279 │ │ -4132e2: 5b90 ed5c |013b: iput-object v0, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_error:Ljava/lang/String; // field@5ced │ │ -4132e6: 2807 |013d: goto 0144 // +0007 │ │ -4132e8: 3901 0600 |013e: if-nez v1, 0144 // +0006 │ │ -4132ec: 1a00 7c92 |0140: const-string v0, "prepareSipHashKeys() failure" // string@927c │ │ -4132f0: 5b90 ed5c |0142: iput-object v0, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_error:Ljava/lang/String; // field@5ced │ │ -4132f4: 7100 d2b8 0000 |0144: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -4132fa: 0c00 |0147: move-result-object v0 │ │ -4132fc: 6e10 a6b5 0000 |0148: invoke-virtual {v0}, Lorg/purple/smoke/Cryptography;.resetPKI:()V // method@b5a6 │ │ -413302: 283d |014b: goto 0188 // +003d │ │ -413304: 1a00 3f9f |014c: const-string v0, "signature-key generatePrivatePublicKeyPair() failure" // string@9f3f │ │ -413308: 5b90 ed5c |014e: iput-object v0, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_error:Ljava/lang/String; // field@5ced │ │ -41330c: 7100 d2b8 0000 |0150: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -413312: 0c00 |0153: move-result-object v0 │ │ -413314: 6e10 a6b5 0000 |0154: invoke-virtual {v0}, Lorg/purple/smoke/Cryptography;.resetPKI:()V // method@b5a6 │ │ -41331a: 2200 d40a |0157: new-instance v0, Ljava/lang/Exception; // type@0ad4 │ │ -41331e: 5491 ed5c |0159: iget-object v1, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_error:Ljava/lang/String; // field@5ced │ │ -413322: 7020 325c 1000 |015b: invoke-direct {v0, v1}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@5c32 │ │ -413328: 2700 |015e: throw v0 │ │ -41332a: 1a00 e464 |015f: const-string v0, "encryption-key generatePrivatePublicKeyPair() failure" // string@64e4 │ │ -41332e: 5b90 ed5c |0161: iput-object v0, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_error:Ljava/lang/String; // field@5ced │ │ -413332: 7100 d2b8 0000 |0163: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -413338: 0c00 |0166: move-result-object v0 │ │ -41333a: 6e10 a6b5 0000 |0167: invoke-virtual {v0}, Lorg/purple/smoke/Cryptography;.resetPKI:()V // method@b5a6 │ │ -413340: 2200 d40a |016a: new-instance v0, Ljava/lang/Exception; // type@0ad4 │ │ -413344: 5491 ed5c |016c: iget-object v1, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_error:Ljava/lang/String; // field@5ced │ │ -413348: 7020 325c 1000 |016e: invoke-direct {v0, v1}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@5c32 │ │ -41334e: 2700 |0171: throw v0 │ │ -413350: 0d00 |0172: move-exception v0 │ │ -413352: 6e10 375c 0000 |0173: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@5c37 │ │ -413358: 0c00 |0176: move-result-object v0 │ │ -41335a: 6e10 cf5c 0000 |0177: invoke-virtual {v0}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@5ccf │ │ -413360: 0c00 |017a: move-result-object v0 │ │ -413362: 6e10 d35c 0000 |017b: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ -413368: 0c00 |017e: move-result-object v0 │ │ -41336a: 5b90 ed5c |017f: iput-object v0, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_error:Ljava/lang/String; // field@5ced │ │ -41336e: 7100 d2b8 0000 |0181: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -413374: 0c00 |0184: move-result-object v0 │ │ -413376: 6e10 a6b5 0000 |0185: invoke-virtual {v0}, Lorg/purple/smoke/Cryptography;.resetPKI:()V // method@b5a6 │ │ -41337c: 5490 ef5c |0188: iget-object v0, v9, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ -413380: 2201 6c1a |018a: new-instance v1, Lorg/purple/smoke/Settings$4SingleShot$1; // type@1a6c │ │ -413384: 7020 97b8 9100 |018c: invoke-direct {v1, v9}, Lorg/purple/smoke/Settings$4SingleShot$1;.:(Lorg/purple/smoke/Settings$4SingleShot;)V // method@b897 │ │ -41338a: 6e20 fdb8 1000 |018f: invoke-virtual {v0, v1}, Lorg/purple/smoke/Settings;.runOnUiThread:(Ljava/lang/Runnable;)V // method@b8fd │ │ -413390: 0e00 |0192: return-void │ │ +413058: |[413058] org.purple.smoke.Settings$4SingleShot.run:()V │ │ +413068: 1a00 9545 |0000: const-string v0, "Rainbow" // string@4595 │ │ +41306c: 1a01 6945 |0002: const-string v1, "RSA" // string@4569 │ │ +413070: 1a02 b417 |0004: const-string v2, "EC" // string@17b4 │ │ +413074: 5493 ec5c |0006: iget-object v3, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_encryptionAlgorithm:Ljava/lang/String; // field@5cec │ │ +413078: 1a04 9c06 |0008: const-string v4, "12, 68" // string@069c │ │ +41307c: 6e20 b65c 4300 |000a: invoke-virtual {v3, v4}, Ljava/lang/String;.contains:(Ljava/lang/CharSequence;)Z // method@5cb6 │ │ +413082: 0a03 |000d: move-result v3 │ │ +413084: 1224 |000e: const/4 v4, #int 2 // #2 │ │ +413086: 1215 |000f: const/4 v5, #int 1 // #1 │ │ +413088: 1206 |0010: const/4 v6, #int 0 // #0 │ │ +41308a: 3803 0400 |0011: if-eqz v3, 0015 // +0004 │ │ +41308e: 1213 |0013: const/4 v3, #int 1 // #1 │ │ +413090: 280e |0014: goto 0022 // +000e │ │ +413092: 5493 ec5c |0015: iget-object v3, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_encryptionAlgorithm:Ljava/lang/String; // field@5cec │ │ +413096: 1a07 a606 |0017: const-string v7, "13, 118" // string@06a6 │ │ +41309a: 6e20 b65c 7300 |0019: invoke-virtual {v3, v7}, Ljava/lang/String;.contains:(Ljava/lang/CharSequence;)Z // method@5cb6 │ │ +4130a0: 0a03 |001c: move-result v3 │ │ +4130a2: 3803 0400 |001d: if-eqz v3, 0021 // +0004 │ │ +4130a6: 1223 |001f: const/4 v3, #int 2 // #2 │ │ +4130a8: 2802 |0020: goto 0022 // +0002 │ │ +4130aa: 1203 |0021: const/4 v3, #int 0 // #0 │ │ +4130ac: 5497 ec5c |0022: iget-object v7, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_encryptionAlgorithm:Ljava/lang/String; // field@5cec │ │ +4130b0: 6208 d051 |0024: sget-object v8, Lorg/purple/smoke/Cryptography;.PKI_ENCRYPTION_KEY_SIZES:[I // field@51d0 │ │ +4130b4: 4408 0806 |0026: aget v8, v8, v6 │ │ +4130b8: 7130 86b5 8703 |0028: invoke-static {v7, v8, v3}, Lorg/purple/smoke/Cryptography;.generatePrivatePublicKeyPair:(Ljava/lang/String;II)Ljava/security/KeyPair; // method@b586 │ │ +4130be: 0c03 |002b: move-result-object v3 │ │ +4130c0: 3803 3301 |002c: if-eqz v3, 015f // +0133 │ │ +4130c4: 5497 ee5c |002e: iget-object v7, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cee │ │ +4130c8: 6e20 b85c 2700 |0030: invoke-virtual {v7, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +4130ce: 0a07 |0033: move-result v7 │ │ +4130d0: 3807 0b00 |0034: if-eqz v7, 003f // +000b │ │ +4130d4: 6200 d451 |0036: sget-object v0, Lorg/purple/smoke/Cryptography;.PKI_SIGNATURE_KEY_SIZES:[I // field@51d4 │ │ +4130d8: 4400 0006 |0038: aget v0, v0, v6 │ │ +4130dc: 7130 86b5 0206 |003a: invoke-static {v2, v0, v6}, Lorg/purple/smoke/Cryptography;.generatePrivatePublicKeyPair:(Ljava/lang/String;II)Ljava/security/KeyPair; // method@b586 │ │ +4130e2: 0c00 |003d: move-result-object v0 │ │ +4130e4: 282e |003e: goto 006c // +002e │ │ +4130e6: 5492 ee5c |003f: iget-object v2, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cee │ │ +4130ea: 6e20 b85c 1200 |0041: invoke-virtual {v2, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +4130f0: 0a02 |0044: move-result v2 │ │ +4130f2: 3802 0b00 |0045: if-eqz v2, 0050 // +000b │ │ +4130f6: 6200 d451 |0047: sget-object v0, Lorg/purple/smoke/Cryptography;.PKI_SIGNATURE_KEY_SIZES:[I // field@51d4 │ │ +4130fa: 4400 0005 |0049: aget v0, v0, v5 │ │ +4130fe: 7130 86b5 0106 |004b: invoke-static {v1, v0, v6}, Lorg/purple/smoke/Cryptography;.generatePrivatePublicKeyPair:(Ljava/lang/String;II)Ljava/security/KeyPair; // method@b586 │ │ +413104: 0c00 |004e: move-result-object v0 │ │ +413106: 281d |004f: goto 006c // +001d │ │ +413108: 5491 ee5c |0050: iget-object v1, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cee │ │ +41310c: 6e20 b85c 0100 |0052: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +413112: 0a01 |0055: move-result v1 │ │ +413114: 3801 0b00 |0056: if-eqz v1, 0061 // +000b │ │ +413118: 6201 d451 |0058: sget-object v1, Lorg/purple/smoke/Cryptography;.PKI_SIGNATURE_KEY_SIZES:[I // field@51d4 │ │ +41311c: 4401 0104 |005a: aget v1, v1, v4 │ │ +413120: 7130 86b5 1006 |005c: invoke-static {v0, v1, v6}, Lorg/purple/smoke/Cryptography;.generatePrivatePublicKeyPair:(Ljava/lang/String;II)Ljava/security/KeyPair; // method@b586 │ │ +413126: 0c00 |005f: move-result-object v0 │ │ +413128: 280c |0060: goto 006c // +000c │ │ +41312a: 5490 ee5c |0061: iget-object v0, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cee │ │ +41312e: 6201 d451 |0063: sget-object v1, Lorg/purple/smoke/Cryptography;.PKI_SIGNATURE_KEY_SIZES:[I // field@51d4 │ │ +413132: 1232 |0065: const/4 v2, #int 3 // #3 │ │ +413134: 4401 0102 |0066: aget v1, v1, v2 │ │ +413138: 7130 86b5 1006 |0068: invoke-static {v0, v1, v6}, Lorg/purple/smoke/Cryptography;.generatePrivatePublicKeyPair:(Ljava/lang/String;II)Ljava/security/KeyPair; // method@b586 │ │ +41313e: 0c00 |006b: move-result-object v0 │ │ +413140: 3800 e000 |006c: if-eqz v0, 014c // +00e0 │ │ +413144: 7100 d2b8 0000 |006e: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +41314a: 0c01 |0071: move-result-object v1 │ │ +41314c: 6e20 a9b5 3100 |0072: invoke-virtual {v1, v3}, Lorg/purple/smoke/Cryptography;.setChatEncryptionPublicKeyPair:(Ljava/security/KeyPair;)V // method@b5a9 │ │ +413152: 7100 d2b8 0000 |0075: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +413158: 0c01 |0078: move-result-object v1 │ │ +41315a: 5492 ec5c |0079: iget-object v2, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_encryptionAlgorithm:Ljava/lang/String; // field@5cec │ │ +41315e: 6e20 a7b5 2100 |007b: invoke-virtual {v1, v2}, Lorg/purple/smoke/Cryptography;.setChatEncryptionPublicKeyAlgorithm:(Ljava/lang/String;)V // method@b5a7 │ │ +413164: 7100 d2b8 0000 |007e: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +41316a: 0c01 |0081: move-result-object v1 │ │ +41316c: 6e20 abb5 0100 |0082: invoke-virtual {v1, v0}, Lorg/purple/smoke/Cryptography;.setChatSignaturePublicKeyPair:(Ljava/security/KeyPair;)V // method@b5ab │ │ +413172: 5491 ef5c |0085: iget-object v1, v9, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ +413176: 7110 d3b8 0100 |0087: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +41317c: 0c01 |008a: move-result-object v1 │ │ +41317e: 7100 d2b8 0000 |008b: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +413184: 0c02 |008e: move-result-object v2 │ │ +413186: 1a04 9491 |008f: const-string v4, "pki_chat_encryption_algorithm" // string@9194 │ │ +41318a: 5495 ec5c |0091: iget-object v5, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_encryptionAlgorithm:Ljava/lang/String; // field@5cec │ │ +41318e: 6e40 30b6 2154 |0093: invoke-virtual {v1, v2, v4, v5}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +413194: 5491 ef5c |0096: iget-object v1, v9, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ +413198: 7110 d3b8 0100 |0098: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +41319e: 0c01 |009b: move-result-object v1 │ │ +4131a0: 7100 d2b8 0000 |009c: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +4131a6: 0c02 |009f: move-result-object v2 │ │ +4131a8: 1a04 9591 |00a0: const-string v4, "pki_chat_encryption_private_key" // string@9195 │ │ +4131ac: 6e10 fb5d 0300 |00a2: invoke-virtual {v3}, Ljava/security/KeyPair;.getPrivate:()Ljava/security/PrivateKey; // method@5dfb │ │ +4131b2: 0c05 |00a5: move-result-object v5 │ │ +4131b4: 7210 345e 0500 |00a6: invoke-interface {v5}, Ljava/security/PrivateKey;.getEncoded:()[B // method@5e34 │ │ +4131ba: 0c05 |00a9: move-result-object v5 │ │ +4131bc: 7120 c454 6500 |00aa: invoke-static {v5, v6}, Landroid/util/Base64;.encodeToString:([BI)Ljava/lang/String; // method@54c4 │ │ +4131c2: 0c05 |00ad: move-result-object v5 │ │ +4131c4: 6e40 30b6 2154 |00ae: invoke-virtual {v1, v2, v4, v5}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +4131ca: 5491 ef5c |00b1: iget-object v1, v9, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ +4131ce: 7110 d3b8 0100 |00b3: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +4131d4: 0c01 |00b6: move-result-object v1 │ │ +4131d6: 7100 d2b8 0000 |00b7: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +4131dc: 0c02 |00ba: move-result-object v2 │ │ +4131de: 1a04 9691 |00bb: const-string v4, "pki_chat_encryption_public_key" // string@9196 │ │ +4131e2: 6e10 fc5d 0300 |00bd: invoke-virtual {v3}, Ljava/security/KeyPair;.getPublic:()Ljava/security/PublicKey; // method@5dfc │ │ +4131e8: 0c03 |00c0: move-result-object v3 │ │ +4131ea: 7210 3b5e 0300 |00c1: invoke-interface {v3}, Ljava/security/PublicKey;.getEncoded:()[B // method@5e3b │ │ +4131f0: 0c03 |00c4: move-result-object v3 │ │ +4131f2: 7120 c454 6300 |00c5: invoke-static {v3, v6}, Landroid/util/Base64;.encodeToString:([BI)Ljava/lang/String; // method@54c4 │ │ +4131f8: 0c03 |00c8: move-result-object v3 │ │ +4131fa: 6e40 30b6 2134 |00c9: invoke-virtual {v1, v2, v4, v3}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +413200: 5491 ef5c |00cc: iget-object v1, v9, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ +413204: 7110 d3b8 0100 |00ce: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +41320a: 0c01 |00d1: move-result-object v1 │ │ +41320c: 7100 d2b8 0000 |00d2: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +413212: 0c02 |00d5: move-result-object v2 │ │ +413214: 1a03 9791 |00d6: const-string v3, "pki_chat_signature_algorithm" // string@9197 │ │ +413218: 5494 ee5c |00d8: iget-object v4, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_signatureAlgorithm:Ljava/lang/String; // field@5cee │ │ +41321c: 6e40 30b6 2143 |00da: invoke-virtual {v1, v2, v3, v4}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +413222: 5491 ef5c |00dd: iget-object v1, v9, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ +413226: 7110 d3b8 0100 |00df: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +41322c: 0c01 |00e2: move-result-object v1 │ │ +41322e: 7100 d2b8 0000 |00e3: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +413234: 0c02 |00e6: move-result-object v2 │ │ +413236: 1a03 9891 |00e7: const-string v3, "pki_chat_signature_private_key" // string@9198 │ │ +41323a: 6e10 fb5d 0000 |00e9: invoke-virtual {v0}, Ljava/security/KeyPair;.getPrivate:()Ljava/security/PrivateKey; // method@5dfb │ │ +413240: 0c04 |00ec: move-result-object v4 │ │ +413242: 7210 345e 0400 |00ed: invoke-interface {v4}, Ljava/security/PrivateKey;.getEncoded:()[B // method@5e34 │ │ +413248: 0c04 |00f0: move-result-object v4 │ │ +41324a: 7120 c454 6400 |00f1: invoke-static {v4, v6}, Landroid/util/Base64;.encodeToString:([BI)Ljava/lang/String; // method@54c4 │ │ +413250: 0c04 |00f4: move-result-object v4 │ │ +413252: 6e40 30b6 2143 |00f5: invoke-virtual {v1, v2, v3, v4}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +413258: 5491 ef5c |00f8: iget-object v1, v9, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ +41325c: 7110 d3b8 0100 |00fa: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +413262: 0c01 |00fd: move-result-object v1 │ │ +413264: 7100 d2b8 0000 |00fe: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +41326a: 0c02 |0101: move-result-object v2 │ │ +41326c: 1a03 9991 |0102: const-string v3, "pki_chat_signature_public_key" // string@9199 │ │ +413270: 6e10 fc5d 0000 |0104: invoke-virtual {v0}, Ljava/security/KeyPair;.getPublic:()Ljava/security/PublicKey; // method@5dfc │ │ +413276: 0c00 |0107: move-result-object v0 │ │ +413278: 7210 3b5e 0000 |0108: invoke-interface {v0}, Ljava/security/PublicKey;.getEncoded:()[B // method@5e3b │ │ +41327e: 0c00 |010b: move-result-object v0 │ │ +413280: 7120 c454 6000 |010c: invoke-static {v0, v6}, Landroid/util/Base64;.encodeToString:([BI)Ljava/lang/String; // method@54c4 │ │ +413286: 0c00 |010f: move-result-object v0 │ │ +413288: 6e40 30b6 2103 |0110: invoke-virtual {v1, v2, v3, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +41328e: 7100 d2b8 0000 |0113: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +413294: 0c00 |0116: move-result-object v0 │ │ +413296: 5491 ef5c |0117: iget-object v1, v9, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ +41329a: 7110 d3b8 0100 |0119: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +4132a0: 0c01 |011c: move-result-object v1 │ │ +4132a2: 7100 d2b8 0000 |011d: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +4132a8: 0c02 |0120: move-result-object v2 │ │ +4132aa: 1a03 0958 |0121: const-string v3, "alias" // string@5809 │ │ +4132ae: 6e30 0eb6 2103 |0123: invoke-virtual {v1, v2, v3}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ +4132b4: 0c01 |0126: move-result-object v1 │ │ +4132b6: 6e20 9cb5 1000 |0127: invoke-virtual {v0, v1}, Lorg/purple/smoke/Cryptography;.prepareSipHashIds:(Ljava/lang/String;)Z // method@b59c │ │ +4132bc: 0a00 |012a: move-result v0 │ │ +4132be: 7100 d2b8 0000 |012b: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +4132c4: 0c01 |012e: move-result-object v1 │ │ +4132c6: 6e10 9db5 0100 |012f: invoke-virtual {v1}, Lorg/purple/smoke/Cryptography;.prepareSipHashKeys:()Z // method@b59d │ │ +4132cc: 0a01 |0132: move-result v1 │ │ +4132ce: 3800 0400 |0133: if-eqz v0, 0137 // +0004 │ │ +4132d2: 3901 5300 |0135: if-nez v1, 0188 // +0053 │ │ +4132d6: 3900 0700 |0137: if-nez v0, 013e // +0007 │ │ +4132da: 1a00 7992 |0139: const-string v0, "prepareSipHashIds() failure" // string@9279 │ │ +4132de: 5b90 ed5c |013b: iput-object v0, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_error:Ljava/lang/String; // field@5ced │ │ +4132e2: 2807 |013d: goto 0144 // +0007 │ │ +4132e4: 3901 0600 |013e: if-nez v1, 0144 // +0006 │ │ +4132e8: 1a00 7c92 |0140: const-string v0, "prepareSipHashKeys() failure" // string@927c │ │ +4132ec: 5b90 ed5c |0142: iput-object v0, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_error:Ljava/lang/String; // field@5ced │ │ +4132f0: 7100 d2b8 0000 |0144: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +4132f6: 0c00 |0147: move-result-object v0 │ │ +4132f8: 6e10 a6b5 0000 |0148: invoke-virtual {v0}, Lorg/purple/smoke/Cryptography;.resetPKI:()V // method@b5a6 │ │ +4132fe: 283d |014b: goto 0188 // +003d │ │ +413300: 1a00 3f9f |014c: const-string v0, "signature-key generatePrivatePublicKeyPair() failure" // string@9f3f │ │ +413304: 5b90 ed5c |014e: iput-object v0, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_error:Ljava/lang/String; // field@5ced │ │ +413308: 7100 d2b8 0000 |0150: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +41330e: 0c00 |0153: move-result-object v0 │ │ +413310: 6e10 a6b5 0000 |0154: invoke-virtual {v0}, Lorg/purple/smoke/Cryptography;.resetPKI:()V // method@b5a6 │ │ +413316: 2200 d40a |0157: new-instance v0, Ljava/lang/Exception; // type@0ad4 │ │ +41331a: 5491 ed5c |0159: iget-object v1, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_error:Ljava/lang/String; // field@5ced │ │ +41331e: 7020 325c 1000 |015b: invoke-direct {v0, v1}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@5c32 │ │ +413324: 2700 |015e: throw v0 │ │ +413326: 1a00 e464 |015f: const-string v0, "encryption-key generatePrivatePublicKeyPair() failure" // string@64e4 │ │ +41332a: 5b90 ed5c |0161: iput-object v0, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_error:Ljava/lang/String; // field@5ced │ │ +41332e: 7100 d2b8 0000 |0163: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +413334: 0c00 |0166: move-result-object v0 │ │ +413336: 6e10 a6b5 0000 |0167: invoke-virtual {v0}, Lorg/purple/smoke/Cryptography;.resetPKI:()V // method@b5a6 │ │ +41333c: 2200 d40a |016a: new-instance v0, Ljava/lang/Exception; // type@0ad4 │ │ +413340: 5491 ed5c |016c: iget-object v1, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_error:Ljava/lang/String; // field@5ced │ │ +413344: 7020 325c 1000 |016e: invoke-direct {v0, v1}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@5c32 │ │ +41334a: 2700 |0171: throw v0 │ │ +41334c: 0d00 |0172: move-exception v0 │ │ +41334e: 6e10 375c 0000 |0173: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@5c37 │ │ +413354: 0c00 |0176: move-result-object v0 │ │ +413356: 6e10 cf5c 0000 |0177: invoke-virtual {v0}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@5ccf │ │ +41335c: 0c00 |017a: move-result-object v0 │ │ +41335e: 6e10 d35c 0000 |017b: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ +413364: 0c00 |017e: move-result-object v0 │ │ +413366: 5b90 ed5c |017f: iput-object v0, v9, Lorg/purple/smoke/Settings$4SingleShot;.m_error:Ljava/lang/String; // field@5ced │ │ +41336a: 7100 d2b8 0000 |0181: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +413370: 0c00 |0184: move-result-object v0 │ │ +413372: 6e10 a6b5 0000 |0185: invoke-virtual {v0}, Lorg/purple/smoke/Cryptography;.resetPKI:()V // method@b5a6 │ │ +413378: 5490 ef5c |0188: iget-object v0, v9, Lorg/purple/smoke/Settings$4SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cef │ │ +41337c: 2201 6c1a |018a: new-instance v1, Lorg/purple/smoke/Settings$4SingleShot$1; // type@1a6c │ │ +413380: 7020 97b8 9100 |018c: invoke-direct {v1, v9}, Lorg/purple/smoke/Settings$4SingleShot$1;.:(Lorg/purple/smoke/Settings$4SingleShot;)V // method@b897 │ │ +413386: 6e20 fdb8 1000 |018f: invoke-virtual {v0, v1}, Lorg/purple/smoke/Settings;.runOnUiThread:(Ljava/lang/Runnable;)V // method@b8fd │ │ +41338c: 0e00 |0192: return-void │ │ catches : 1 │ │ 0x0006 - 0x0172 │ │ Ljava/lang/Exception; -> 0x0172 │ │ positions : │ │ 0x0006 line=2583 │ │ 0x0015 line=2585 │ │ 0x0022 line=2588 │ │ @@ -725224,18 +725223,18 @@ │ │ type : '(Lorg/purple/smoke/Settings;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -4136d4: |[4136d4] org.purple.smoke.Settings$5.:(Lorg/purple/smoke/Settings;)V │ │ -4136e4: 5b01 f35c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$5;.this$0:Lorg/purple/smoke/Settings; // field@5cf3 │ │ -4136e8: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -4136ee: 0e00 |0005: return-void │ │ +4136d0: |[4136d0] org.purple.smoke.Settings$5.:(Lorg/purple/smoke/Settings;)V │ │ +4136e0: 5b01 f35c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$5;.this$0:Lorg/purple/smoke/Settings; // field@5cf3 │ │ +4136e4: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +4136ea: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1659 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/Settings$5; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/Settings; │ │ │ │ @@ -725245,23 +725244,23 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 15 16-bit code units │ │ -4136f0: |[4136f0] org.purple.smoke.Settings$5.onClick:(Landroid/view/View;)V │ │ -413700: 5401 f35c |0000: iget-object v1, v0, Lorg/purple/smoke/Settings$5;.this$0:Lorg/purple/smoke/Settings; // field@5cf3 │ │ -413704: 6e10 e6b8 0100 |0002: invoke-virtual {v1}, Lorg/purple/smoke/Settings;.isFinishing:()Z // method@b8e6 │ │ -41370a: 0a01 |0005: move-result v1 │ │ -41370c: 3801 0300 |0006: if-eqz v1, 0009 // +0003 │ │ -413710: 0e00 |0008: return-void │ │ -413712: 5401 f35c |0009: iget-object v1, v0, Lorg/purple/smoke/Settings$5;.this$0:Lorg/purple/smoke/Settings; // field@5cf3 │ │ -413716: 7110 c8b8 0100 |000b: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$1600:(Lorg/purple/smoke/Settings;)V // method@b8c8 │ │ -41371c: 0e00 |000e: return-void │ │ +4136ec: |[4136ec] org.purple.smoke.Settings$5.onClick:(Landroid/view/View;)V │ │ +4136fc: 5401 f35c |0000: iget-object v1, v0, Lorg/purple/smoke/Settings$5;.this$0:Lorg/purple/smoke/Settings; // field@5cf3 │ │ +413700: 6e10 e6b8 0100 |0002: invoke-virtual {v1}, Lorg/purple/smoke/Settings;.isFinishing:()Z // method@b8e6 │ │ +413706: 0a01 |0005: move-result v1 │ │ +413708: 3801 0300 |0006: if-eqz v1, 0009 // +0003 │ │ +41370c: 0e00 |0008: return-void │ │ +41370e: 5401 f35c |0009: iget-object v1, v0, Lorg/purple/smoke/Settings$5;.this$0:Lorg/purple/smoke/Settings; // field@5cf3 │ │ +413712: 7110 c8b8 0100 |000b: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$1600:(Lorg/purple/smoke/Settings;)V // method@b8c8 │ │ +413718: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1662 │ │ 0x0009 line=1665 │ │ locals : │ │ 0x0000 - 0x000f reg=0 this Lorg/purple/smoke/Settings$5; │ │ 0x0000 - 0x000f reg=1 (null) Landroid/view/View; │ │ @@ -725301,18 +725300,18 @@ │ │ type : '(Lorg/purple/smoke/Settings$5SingleShot;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -413508: |[413508] org.purple.smoke.Settings$5SingleShot$1.:(Lorg/purple/smoke/Settings$5SingleShot;)V │ │ -413518: 5b01 f45c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$5SingleShot$1;.this$1:Lorg/purple/smoke/Settings$5SingleShot; // field@5cf4 │ │ -41351c: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -413522: 0e00 |0005: return-void │ │ +413504: |[413504] org.purple.smoke.Settings$5SingleShot$1.:(Lorg/purple/smoke/Settings$5SingleShot;)V │ │ +413514: 5b01 f45c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$5SingleShot$1;.this$1:Lorg/purple/smoke/Settings$5SingleShot; // field@5cf4 │ │ +413518: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41351e: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=2798 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/Settings$5SingleShot$1; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/Settings$5SingleShot; │ │ │ │ @@ -725322,57 +725321,57 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 91 16-bit code units │ │ -413524: |[413524] org.purple.smoke.Settings$5SingleShot$1.run:()V │ │ -413534: 5430 f45c |0000: iget-object v0, v3, Lorg/purple/smoke/Settings$5SingleShot$1;.this$1:Lorg/purple/smoke/Settings$5SingleShot; // field@5cf4 │ │ -413538: 5400 f75c |0002: iget-object v0, v0, Lorg/purple/smoke/Settings$5SingleShot;.val$bar:Landroid/widget/ProgressBar; // field@5cf7 │ │ -41353c: 1241 |0004: const/4 v1, #int 4 // #4 │ │ -41353e: 6e20 5f5a 1000 |0005: invoke-virtual {v0, v1}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ -413544: 5430 f45c |0008: iget-object v0, v3, Lorg/purple/smoke/Settings$5SingleShot$1;.this$1:Lorg/purple/smoke/Settings$5SingleShot; // field@5cf4 │ │ -413548: 5400 f65c |000a: iget-object v0, v0, Lorg/purple/smoke/Settings$5SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cf6 │ │ -41354c: 6e10 e4b8 0000 |000c: invoke-virtual {v0}, Lorg/purple/smoke/Settings;.getWindow:()Landroid/view/Window; // method@b8e4 │ │ -413552: 0c00 |000f: move-result-object v0 │ │ -413554: 1301 1000 |0010: const/16 v1, #int 16 // #10 │ │ -413558: 6e20 8557 1000 |0012: invoke-virtual {v0, v1}, Landroid/view/Window;.clearFlags:(I)V // method@5785 │ │ -41355e: 5430 f45c |0015: iget-object v0, v3, Lorg/purple/smoke/Settings$5SingleShot$1;.this$1:Lorg/purple/smoke/Settings$5SingleShot; // field@5cf4 │ │ -413562: 5400 f65c |0017: iget-object v0, v0, Lorg/purple/smoke/Settings$5SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cf6 │ │ -413566: 1401 9200 087f |0019: const v1, #float 1.80778e+38 // #7f080092 │ │ -41356c: 6e20 dcb8 1000 |001c: invoke-virtual {v0, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -413572: 0c00 |001f: move-result-object v0 │ │ -413574: 1211 |0020: const/4 v1, #int 1 // #1 │ │ -413576: 7120 ddb7 1000 |0021: invoke-static {v0, v1}, Lorg/purple/smoke/Miscellaneous;.enableChildren:(Landroid/view/View;Z)V // method@b7dd │ │ -41357c: 5430 f45c |0024: iget-object v0, v3, Lorg/purple/smoke/Settings$5SingleShot$1;.this$1:Lorg/purple/smoke/Settings$5SingleShot; // field@5cf4 │ │ -413580: 5400 f65c |0026: iget-object v0, v0, Lorg/purple/smoke/Settings$5SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cf6 │ │ -413584: 7110 d4b8 0000 |0028: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$500:(Lorg/purple/smoke/Settings;)V // method@b8d4 │ │ -41358a: 5430 f45c |002b: iget-object v0, v3, Lorg/purple/smoke/Settings$5SingleShot$1;.this$1:Lorg/purple/smoke/Settings$5SingleShot; // field@5cf4 │ │ -41358e: 7110 a1b8 0000 |002d: invoke-static {v0}, Lorg/purple/smoke/Settings$5SingleShot;.access$2600:(Lorg/purple/smoke/Settings$5SingleShot;)Ljava/lang/String; // method@b8a1 │ │ -413594: 0c00 |0030: move-result-object v0 │ │ -413596: 6e10 c35c 0000 |0031: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -41359c: 0a00 |0034: move-result v0 │ │ -41359e: 3900 2500 |0035: if-nez v0, 005a // +0025 │ │ -4135a2: 5430 f45c |0037: iget-object v0, v3, Lorg/purple/smoke/Settings$5SingleShot$1;.this$1:Lorg/purple/smoke/Settings$5SingleShot; // field@5cf4 │ │ -4135a6: 5400 f65c |0039: iget-object v0, v0, Lorg/purple/smoke/Settings$5SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cf6 │ │ -4135aa: 2201 f10a |003b: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ -4135ae: 7010 ee5c 0100 |003d: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -4135b4: 1a02 550d |0040: const-string v2, "An error (" // string@0d55 │ │ -4135b8: 6e20 f95c 2100 |0042: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4135be: 5432 f45c |0045: iget-object v2, v3, Lorg/purple/smoke/Settings$5SingleShot$1;.this$1:Lorg/purple/smoke/Settings$5SingleShot; // field@5cf4 │ │ -4135c2: 7110 a1b8 0200 |0047: invoke-static {v2}, Lorg/purple/smoke/Settings$5SingleShot;.access$2600:(Lorg/purple/smoke/Settings$5SingleShot;)Ljava/lang/String; // method@b8a1 │ │ -4135c8: 0c02 |004a: move-result-object v2 │ │ -4135ca: 6e20 f95c 2100 |004b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4135d0: 1a02 f903 |004e: const-string v2, ") occurred while preparing a request of public key material." // string@03f9 │ │ -4135d4: 6e20 f95c 2100 |0050: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4135da: 6e10 035d 0100 |0053: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -4135e0: 0c01 |0056: move-result-object v1 │ │ -4135e2: 7120 ecb7 1000 |0057: invoke-static {v0, v1}, Lorg/purple/smoke/Miscellaneous;.showErrorDialog:(Landroid/content/Context;Ljava/lang/String;)V // method@b7ec │ │ -4135e8: 0e00 |005a: return-void │ │ +413520: |[413520] org.purple.smoke.Settings$5SingleShot$1.run:()V │ │ +413530: 5430 f45c |0000: iget-object v0, v3, Lorg/purple/smoke/Settings$5SingleShot$1;.this$1:Lorg/purple/smoke/Settings$5SingleShot; // field@5cf4 │ │ +413534: 5400 f75c |0002: iget-object v0, v0, Lorg/purple/smoke/Settings$5SingleShot;.val$bar:Landroid/widget/ProgressBar; // field@5cf7 │ │ +413538: 1241 |0004: const/4 v1, #int 4 // #4 │ │ +41353a: 6e20 5f5a 1000 |0005: invoke-virtual {v0, v1}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ +413540: 5430 f45c |0008: iget-object v0, v3, Lorg/purple/smoke/Settings$5SingleShot$1;.this$1:Lorg/purple/smoke/Settings$5SingleShot; // field@5cf4 │ │ +413544: 5400 f65c |000a: iget-object v0, v0, Lorg/purple/smoke/Settings$5SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cf6 │ │ +413548: 6e10 e4b8 0000 |000c: invoke-virtual {v0}, Lorg/purple/smoke/Settings;.getWindow:()Landroid/view/Window; // method@b8e4 │ │ +41354e: 0c00 |000f: move-result-object v0 │ │ +413550: 1301 1000 |0010: const/16 v1, #int 16 // #10 │ │ +413554: 6e20 8557 1000 |0012: invoke-virtual {v0, v1}, Landroid/view/Window;.clearFlags:(I)V // method@5785 │ │ +41355a: 5430 f45c |0015: iget-object v0, v3, Lorg/purple/smoke/Settings$5SingleShot$1;.this$1:Lorg/purple/smoke/Settings$5SingleShot; // field@5cf4 │ │ +41355e: 5400 f65c |0017: iget-object v0, v0, Lorg/purple/smoke/Settings$5SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cf6 │ │ +413562: 1401 9200 087f |0019: const v1, #float 1.80778e+38 // #7f080092 │ │ +413568: 6e20 dcb8 1000 |001c: invoke-virtual {v0, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +41356e: 0c00 |001f: move-result-object v0 │ │ +413570: 1211 |0020: const/4 v1, #int 1 // #1 │ │ +413572: 7120 ddb7 1000 |0021: invoke-static {v0, v1}, Lorg/purple/smoke/Miscellaneous;.enableChildren:(Landroid/view/View;Z)V // method@b7dd │ │ +413578: 5430 f45c |0024: iget-object v0, v3, Lorg/purple/smoke/Settings$5SingleShot$1;.this$1:Lorg/purple/smoke/Settings$5SingleShot; // field@5cf4 │ │ +41357c: 5400 f65c |0026: iget-object v0, v0, Lorg/purple/smoke/Settings$5SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cf6 │ │ +413580: 7110 d4b8 0000 |0028: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$500:(Lorg/purple/smoke/Settings;)V // method@b8d4 │ │ +413586: 5430 f45c |002b: iget-object v0, v3, Lorg/purple/smoke/Settings$5SingleShot$1;.this$1:Lorg/purple/smoke/Settings$5SingleShot; // field@5cf4 │ │ +41358a: 7110 a1b8 0000 |002d: invoke-static {v0}, Lorg/purple/smoke/Settings$5SingleShot;.access$2600:(Lorg/purple/smoke/Settings$5SingleShot;)Ljava/lang/String; // method@b8a1 │ │ +413590: 0c00 |0030: move-result-object v0 │ │ +413592: 6e10 c35c 0000 |0031: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +413598: 0a00 |0034: move-result v0 │ │ +41359a: 3900 2500 |0035: if-nez v0, 005a // +0025 │ │ +41359e: 5430 f45c |0037: iget-object v0, v3, Lorg/purple/smoke/Settings$5SingleShot$1;.this$1:Lorg/purple/smoke/Settings$5SingleShot; // field@5cf4 │ │ +4135a2: 5400 f65c |0039: iget-object v0, v0, Lorg/purple/smoke/Settings$5SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cf6 │ │ +4135a6: 2201 f10a |003b: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ +4135aa: 7010 ee5c 0100 |003d: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +4135b0: 1a02 550d |0040: const-string v2, "An error (" // string@0d55 │ │ +4135b4: 6e20 f95c 2100 |0042: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4135ba: 5432 f45c |0045: iget-object v2, v3, Lorg/purple/smoke/Settings$5SingleShot$1;.this$1:Lorg/purple/smoke/Settings$5SingleShot; // field@5cf4 │ │ +4135be: 7110 a1b8 0200 |0047: invoke-static {v2}, Lorg/purple/smoke/Settings$5SingleShot;.access$2600:(Lorg/purple/smoke/Settings$5SingleShot;)Ljava/lang/String; // method@b8a1 │ │ +4135c4: 0c02 |004a: move-result-object v2 │ │ +4135c6: 6e20 f95c 2100 |004b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4135cc: 1a02 f903 |004e: const-string v2, ") occurred while preparing a request of public key material." // string@03f9 │ │ +4135d0: 6e20 f95c 2100 |0050: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4135d6: 6e10 035d 0100 |0053: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +4135dc: 0c01 |0056: move-result-object v1 │ │ +4135de: 7120 ecb7 1000 |0057: invoke-static {v0, v1}, Lorg/purple/smoke/Miscellaneous;.showErrorDialog:(Landroid/content/Context;Ljava/lang/String;)V // method@b7ec │ │ +4135e4: 0e00 |005a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=2802 │ │ 0x0008 line=2803 │ │ 0x0012 line=2804 │ │ 0x0015 line=2806 │ │ 0x001c line=2807 │ │ @@ -725433,22 +725432,22 @@ │ │ type : '(Lorg/purple/smoke/Settings;Ljava/lang/String;Landroid/widget/ProgressBar;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 1 │ │ insns size : 14 16-bit code units │ │ -413604: |[413604] org.purple.smoke.Settings$5SingleShot.:(Lorg/purple/smoke/Settings;Ljava/lang/String;Landroid/widget/ProgressBar;)V │ │ -413614: 5b01 f65c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$5SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cf6 │ │ -413618: 5b02 f85c |0002: iput-object v2, v0, Lorg/purple/smoke/Settings$5SingleShot;.val$oid:Ljava/lang/String; // field@5cf8 │ │ -41361c: 5b03 f75c |0004: iput-object v3, v0, Lorg/purple/smoke/Settings$5SingleShot;.val$bar:Landroid/widget/ProgressBar; // field@5cf7 │ │ -413620: 7010 8f5c 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -413626: 1a01 0000 |0009: const-string v1, "" // string@0000 │ │ -41362a: 5b01 f55c |000b: iput-object v1, v0, Lorg/purple/smoke/Settings$5SingleShot;.m_error:Ljava/lang/String; // field@5cf5 │ │ -41362e: 0e00 |000d: return-void │ │ +413600: |[413600] org.purple.smoke.Settings$5SingleShot.:(Lorg/purple/smoke/Settings;Ljava/lang/String;Landroid/widget/ProgressBar;)V │ │ +413610: 5b01 f65c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$5SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cf6 │ │ +413614: 5b02 f85c |0002: iput-object v2, v0, Lorg/purple/smoke/Settings$5SingleShot;.val$oid:Ljava/lang/String; // field@5cf8 │ │ +413618: 5b03 f75c |0004: iput-object v3, v0, Lorg/purple/smoke/Settings$5SingleShot;.val$bar:Landroid/widget/ProgressBar; // field@5cf7 │ │ +41361c: 7010 8f5c 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +413622: 1a01 0000 |0009: const-string v1, "" // string@0000 │ │ +413626: 5b01 f55c |000b: iput-object v1, v0, Lorg/purple/smoke/Settings$5SingleShot;.m_error:Ljava/lang/String; // field@5cf5 │ │ +41362a: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=2770 │ │ 0x000b line=2767 │ │ locals : │ │ 0x0000 - 0x000e reg=0 this Lorg/purple/smoke/Settings$5SingleShot; │ │ 0x0000 - 0x000e reg=1 (null) Lorg/purple/smoke/Settings; │ │ @@ -725460,17 +725459,17 @@ │ │ type : '(Lorg/purple/smoke/Settings$5SingleShot;)Ljava/lang/String;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -4135ec: |[4135ec] org.purple.smoke.Settings$5SingleShot.access$2600:(Lorg/purple/smoke/Settings$5SingleShot;)Ljava/lang/String; │ │ -4135fc: 5400 f55c |0000: iget-object v0, v0, Lorg/purple/smoke/Settings$5SingleShot;.m_error:Ljava/lang/String; // field@5cf5 │ │ -413600: 1100 |0002: return-object v0 │ │ +4135e8: |[4135e8] org.purple.smoke.Settings$5SingleShot.access$2600:(Lorg/purple/smoke/Settings$5SingleShot;)Ljava/lang/String; │ │ +4135f8: 5400 f55c |0000: iget-object v0, v0, Lorg/purple/smoke/Settings$5SingleShot;.m_error:Ljava/lang/String; // field@5cf5 │ │ +4135fc: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=2765 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/Settings$5SingleShot; │ │ │ │ Virtual methods - │ │ @@ -725479,53 +725478,53 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 74 16-bit code units │ │ -413630: |[413630] org.purple.smoke.Settings$5SingleShot.run:()V │ │ -413640: 5440 f65c |0000: iget-object v0, v4, Lorg/purple/smoke/Settings$5SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cf6 │ │ -413644: 7110 d3b8 0000 |0002: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -41364a: 0c00 |0005: move-result-object v0 │ │ -41364c: 7100 d2b8 0000 |0006: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -413652: 0c01 |0009: move-result-object v1 │ │ -413654: 5442 f85c |000a: iget-object v2, v4, Lorg/purple/smoke/Settings$5SingleShot;.val$oid:Ljava/lang/String; // field@5cf8 │ │ -413658: 6e30 10b6 1002 |000c: invoke-virtual {v0, v1, v2}, Lorg/purple/smoke/Database;.readSipHashIdString:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b610 │ │ -41365e: 0c00 |000f: move-result-object v0 │ │ -413660: 6e10 c35c 0000 |0010: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -413666: 0a01 |0013: move-result v1 │ │ -413668: 3801 0700 |0014: if-eqz v1, 001b // +0007 │ │ -41366c: 1a00 1b94 |0016: const-string v0, "readSipHashIdString() failure" // string@941b │ │ -413670: 5b40 f55c |0018: iput-object v0, v4, Lorg/purple/smoke/Settings$5SingleShot;.m_error:Ljava/lang/String; // field@5cf5 │ │ -413674: 2825 |001a: goto 003f // +0025 │ │ -413676: 7100 d2b8 0000 |001b: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -41367c: 0c01 |001e: move-result-object v1 │ │ -41367e: 7120 b6b7 0100 |001f: invoke-static {v1, v0}, Lorg/purple/smoke/Messages;.pkpRequestMessage:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)[B // method@b7b6 │ │ -413684: 0c00 |0022: move-result-object v0 │ │ -413686: 3900 0700 |0023: if-nez v0, 002a // +0007 │ │ -41368a: 1a00 a091 |0025: const-string v0, "pkpRequestMessage() failure" // string@91a0 │ │ -41368e: 5b40 f55c |0027: iput-object v0, v4, Lorg/purple/smoke/Settings$5SingleShot;.m_error:Ljava/lang/String; // field@5cf5 │ │ -413692: 2816 |0029: goto 003f // +0016 │ │ -413694: 7100 02b7 0000 |002a: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ -41369a: 0c01 |002d: move-result-object v1 │ │ -41369c: 7110 a8b7 0000 |002e: invoke-static {v0}, Lorg/purple/smoke/Messages;.bytesToMessageString:([B)Ljava/lang/String; // method@b7a8 │ │ -4136a2: 0c00 |0031: move-result-object v0 │ │ -4136a4: 1202 |0032: const/4 v2, #int 0 // #0 │ │ -4136a6: 1303 0900 |0033: const/16 v3, #int 9 // #9 │ │ -4136aa: 6e40 fdb6 0132 |0035: invoke-virtual {v1, v0, v2, v3}, Lorg/purple/smoke/Kernel;.enqueueMessage:(Ljava/lang/String;[BI)Z // method@b6fd │ │ -4136b0: 0a00 |0038: move-result v0 │ │ -4136b2: 3900 0600 |0039: if-nez v0, 003f // +0006 │ │ -4136b6: 1a00 6465 |003b: const-string v0, "enqueueMessage() failure" // string@6564 │ │ -4136ba: 5b40 f55c |003d: iput-object v0, v4, Lorg/purple/smoke/Settings$5SingleShot;.m_error:Ljava/lang/String; // field@5cf5 │ │ -4136be: 5440 f65c |003f: iget-object v0, v4, Lorg/purple/smoke/Settings$5SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cf6 │ │ -4136c2: 2201 6f1a |0041: new-instance v1, Lorg/purple/smoke/Settings$5SingleShot$1; // type@1a6f │ │ -4136c6: 7020 9eb8 4100 |0043: invoke-direct {v1, v4}, Lorg/purple/smoke/Settings$5SingleShot$1;.:(Lorg/purple/smoke/Settings$5SingleShot;)V // method@b89e │ │ -4136cc: 6e20 fdb8 1000 |0046: invoke-virtual {v0, v1}, Lorg/purple/smoke/Settings;.runOnUiThread:(Ljava/lang/Runnable;)V // method@b8fd │ │ -4136d2: 0e00 |0049: return-void │ │ +41362c: |[41362c] org.purple.smoke.Settings$5SingleShot.run:()V │ │ +41363c: 5440 f65c |0000: iget-object v0, v4, Lorg/purple/smoke/Settings$5SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cf6 │ │ +413640: 7110 d3b8 0000 |0002: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +413646: 0c00 |0005: move-result-object v0 │ │ +413648: 7100 d2b8 0000 |0006: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +41364e: 0c01 |0009: move-result-object v1 │ │ +413650: 5442 f85c |000a: iget-object v2, v4, Lorg/purple/smoke/Settings$5SingleShot;.val$oid:Ljava/lang/String; // field@5cf8 │ │ +413654: 6e30 10b6 1002 |000c: invoke-virtual {v0, v1, v2}, Lorg/purple/smoke/Database;.readSipHashIdString:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b610 │ │ +41365a: 0c00 |000f: move-result-object v0 │ │ +41365c: 6e10 c35c 0000 |0010: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +413662: 0a01 |0013: move-result v1 │ │ +413664: 3801 0700 |0014: if-eqz v1, 001b // +0007 │ │ +413668: 1a00 1b94 |0016: const-string v0, "readSipHashIdString() failure" // string@941b │ │ +41366c: 5b40 f55c |0018: iput-object v0, v4, Lorg/purple/smoke/Settings$5SingleShot;.m_error:Ljava/lang/String; // field@5cf5 │ │ +413670: 2825 |001a: goto 003f // +0025 │ │ +413672: 7100 d2b8 0000 |001b: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +413678: 0c01 |001e: move-result-object v1 │ │ +41367a: 7120 b6b7 0100 |001f: invoke-static {v1, v0}, Lorg/purple/smoke/Messages;.pkpRequestMessage:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)[B // method@b7b6 │ │ +413680: 0c00 |0022: move-result-object v0 │ │ +413682: 3900 0700 |0023: if-nez v0, 002a // +0007 │ │ +413686: 1a00 a091 |0025: const-string v0, "pkpRequestMessage() failure" // string@91a0 │ │ +41368a: 5b40 f55c |0027: iput-object v0, v4, Lorg/purple/smoke/Settings$5SingleShot;.m_error:Ljava/lang/String; // field@5cf5 │ │ +41368e: 2816 |0029: goto 003f // +0016 │ │ +413690: 7100 02b7 0000 |002a: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ +413696: 0c01 |002d: move-result-object v1 │ │ +413698: 7110 a8b7 0000 |002e: invoke-static {v0}, Lorg/purple/smoke/Messages;.bytesToMessageString:([B)Ljava/lang/String; // method@b7a8 │ │ +41369e: 0c00 |0031: move-result-object v0 │ │ +4136a0: 1202 |0032: const/4 v2, #int 0 // #0 │ │ +4136a2: 1303 0900 |0033: const/16 v3, #int 9 // #9 │ │ +4136a6: 6e40 fdb6 0132 |0035: invoke-virtual {v1, v0, v2, v3}, Lorg/purple/smoke/Kernel;.enqueueMessage:(Ljava/lang/String;[BI)Z // method@b6fd │ │ +4136ac: 0a00 |0038: move-result v0 │ │ +4136ae: 3900 0600 |0039: if-nez v0, 003f // +0006 │ │ +4136b2: 1a00 6465 |003b: const-string v0, "enqueueMessage() failure" // string@6564 │ │ +4136b6: 5b40 f55c |003d: iput-object v0, v4, Lorg/purple/smoke/Settings$5SingleShot;.m_error:Ljava/lang/String; // field@5cf5 │ │ +4136ba: 5440 f65c |003f: iget-object v0, v4, Lorg/purple/smoke/Settings$5SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cf6 │ │ +4136be: 2201 6f1a |0041: new-instance v1, Lorg/purple/smoke/Settings$5SingleShot$1; // type@1a6f │ │ +4136c2: 7020 9eb8 4100 |0043: invoke-direct {v1, v4}, Lorg/purple/smoke/Settings$5SingleShot$1;.:(Lorg/purple/smoke/Settings$5SingleShot;)V // method@b89e │ │ +4136c8: 6e20 fdb8 1000 |0046: invoke-virtual {v0, v1}, Lorg/purple/smoke/Settings;.runOnUiThread:(Ljava/lang/Runnable;)V // method@b8fd │ │ +4136ce: 0e00 |0049: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=2776 │ │ 0x0006 line=2777 │ │ 0x0010 line=2779 │ │ 0x0018 line=2780 │ │ 0x001b line=2784 │ │ @@ -725573,18 +725572,18 @@ │ │ type : '(Lorg/purple/smoke/Settings;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -4138f4: |[4138f4] org.purple.smoke.Settings$6.:(Lorg/purple/smoke/Settings;)V │ │ -413904: 5b01 f95c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$6;.this$0:Lorg/purple/smoke/Settings; // field@5cf9 │ │ -413908: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41390e: 0e00 |0005: return-void │ │ +4138f0: |[4138f0] org.purple.smoke.Settings$6.:(Lorg/purple/smoke/Settings;)V │ │ +413900: 5b01 f95c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$6;.this$0:Lorg/purple/smoke/Settings; // field@5cf9 │ │ +413904: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41390a: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1671 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/Settings$6; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/Settings; │ │ │ │ @@ -725594,23 +725593,23 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 15 16-bit code units │ │ -413910: |[413910] org.purple.smoke.Settings$6.onClick:(Landroid/view/View;)V │ │ -413920: 5401 f95c |0000: iget-object v1, v0, Lorg/purple/smoke/Settings$6;.this$0:Lorg/purple/smoke/Settings; // field@5cf9 │ │ -413924: 6e10 e6b8 0100 |0002: invoke-virtual {v1}, Lorg/purple/smoke/Settings;.isFinishing:()Z // method@b8e6 │ │ -41392a: 0a01 |0005: move-result v1 │ │ -41392c: 3801 0300 |0006: if-eqz v1, 0009 // +0003 │ │ -413930: 0e00 |0008: return-void │ │ -413932: 5401 f95c |0009: iget-object v1, v0, Lorg/purple/smoke/Settings$6;.this$0:Lorg/purple/smoke/Settings; // field@5cf9 │ │ -413936: 7110 c9b8 0100 |000b: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$1700:(Lorg/purple/smoke/Settings;)V // method@b8c9 │ │ -41393c: 0e00 |000e: return-void │ │ +41390c: |[41390c] org.purple.smoke.Settings$6.onClick:(Landroid/view/View;)V │ │ +41391c: 5401 f95c |0000: iget-object v1, v0, Lorg/purple/smoke/Settings$6;.this$0:Lorg/purple/smoke/Settings; // field@5cf9 │ │ +413920: 6e10 e6b8 0100 |0002: invoke-virtual {v1}, Lorg/purple/smoke/Settings;.isFinishing:()Z // method@b8e6 │ │ +413926: 0a01 |0005: move-result v1 │ │ +413928: 3801 0300 |0006: if-eqz v1, 0009 // +0003 │ │ +41392c: 0e00 |0008: return-void │ │ +41392e: 5401 f95c |0009: iget-object v1, v0, Lorg/purple/smoke/Settings$6;.this$0:Lorg/purple/smoke/Settings; // field@5cf9 │ │ +413932: 7110 c9b8 0100 |000b: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$1700:(Lorg/purple/smoke/Settings;)V // method@b8c9 │ │ +413938: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1674 │ │ 0x0009 line=1677 │ │ locals : │ │ 0x0000 - 0x000f reg=0 this Lorg/purple/smoke/Settings$6; │ │ 0x0000 - 0x000f reg=1 (null) Landroid/view/View; │ │ @@ -725650,18 +725649,18 @@ │ │ type : '(Lorg/purple/smoke/Settings$6SingleShot;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -413720: |[413720] org.purple.smoke.Settings$6SingleShot$1.:(Lorg/purple/smoke/Settings$6SingleShot;)V │ │ -413730: 5b01 fa5c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$6SingleShot$1;.this$1:Lorg/purple/smoke/Settings$6SingleShot; // field@5cfa │ │ -413734: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41373a: 0e00 |0005: return-void │ │ +41371c: |[41371c] org.purple.smoke.Settings$6SingleShot$1.:(Lorg/purple/smoke/Settings$6SingleShot;)V │ │ +41372c: 5b01 fa5c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$6SingleShot$1;.this$1:Lorg/purple/smoke/Settings$6SingleShot; // field@5cfa │ │ +413730: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +413736: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=2877 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/Settings$6SingleShot$1; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/Settings$6SingleShot; │ │ │ │ @@ -725671,57 +725670,57 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 91 16-bit code units │ │ -41373c: |[41373c] org.purple.smoke.Settings$6SingleShot$1.run:()V │ │ -41374c: 5430 fa5c |0000: iget-object v0, v3, Lorg/purple/smoke/Settings$6SingleShot$1;.this$1:Lorg/purple/smoke/Settings$6SingleShot; // field@5cfa │ │ -413750: 5400 fd5c |0002: iget-object v0, v0, Lorg/purple/smoke/Settings$6SingleShot;.val$bar:Landroid/widget/ProgressBar; // field@5cfd │ │ -413754: 1241 |0004: const/4 v1, #int 4 // #4 │ │ -413756: 6e20 5f5a 1000 |0005: invoke-virtual {v0, v1}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ -41375c: 5430 fa5c |0008: iget-object v0, v3, Lorg/purple/smoke/Settings$6SingleShot$1;.this$1:Lorg/purple/smoke/Settings$6SingleShot; // field@5cfa │ │ -413760: 5400 fc5c |000a: iget-object v0, v0, Lorg/purple/smoke/Settings$6SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cfc │ │ -413764: 6e10 e4b8 0000 |000c: invoke-virtual {v0}, Lorg/purple/smoke/Settings;.getWindow:()Landroid/view/Window; // method@b8e4 │ │ -41376a: 0c00 |000f: move-result-object v0 │ │ -41376c: 1301 1000 |0010: const/16 v1, #int 16 // #10 │ │ -413770: 6e20 8557 1000 |0012: invoke-virtual {v0, v1}, Landroid/view/Window;.clearFlags:(I)V // method@5785 │ │ -413776: 5430 fa5c |0015: iget-object v0, v3, Lorg/purple/smoke/Settings$6SingleShot$1;.this$1:Lorg/purple/smoke/Settings$6SingleShot; // field@5cfa │ │ -41377a: 5400 fc5c |0017: iget-object v0, v0, Lorg/purple/smoke/Settings$6SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cfc │ │ -41377e: 1401 9200 087f |0019: const v1, #float 1.80778e+38 // #7f080092 │ │ -413784: 6e20 dcb8 1000 |001c: invoke-virtual {v0, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41378a: 0c00 |001f: move-result-object v0 │ │ -41378c: 1211 |0020: const/4 v1, #int 1 // #1 │ │ -41378e: 7120 ddb7 1000 |0021: invoke-static {v0, v1}, Lorg/purple/smoke/Miscellaneous;.enableChildren:(Landroid/view/View;Z)V // method@b7dd │ │ -413794: 5430 fa5c |0024: iget-object v0, v3, Lorg/purple/smoke/Settings$6SingleShot$1;.this$1:Lorg/purple/smoke/Settings$6SingleShot; // field@5cfa │ │ -413798: 5400 fc5c |0026: iget-object v0, v0, Lorg/purple/smoke/Settings$6SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cfc │ │ -41379c: 7110 d4b8 0000 |0028: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$500:(Lorg/purple/smoke/Settings;)V // method@b8d4 │ │ -4137a2: 5430 fa5c |002b: iget-object v0, v3, Lorg/purple/smoke/Settings$6SingleShot$1;.this$1:Lorg/purple/smoke/Settings$6SingleShot; // field@5cfa │ │ -4137a6: 7110 a8b8 0000 |002d: invoke-static {v0}, Lorg/purple/smoke/Settings$6SingleShot;.access$2700:(Lorg/purple/smoke/Settings$6SingleShot;)Ljava/lang/String; // method@b8a8 │ │ -4137ac: 0c00 |0030: move-result-object v0 │ │ -4137ae: 6e10 c35c 0000 |0031: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -4137b4: 0a00 |0034: move-result v0 │ │ -4137b6: 3900 2500 |0035: if-nez v0, 005a // +0025 │ │ -4137ba: 5430 fa5c |0037: iget-object v0, v3, Lorg/purple/smoke/Settings$6SingleShot$1;.this$1:Lorg/purple/smoke/Settings$6SingleShot; // field@5cfa │ │ -4137be: 5400 fc5c |0039: iget-object v0, v0, Lorg/purple/smoke/Settings$6SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cfc │ │ -4137c2: 2201 f10a |003b: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ -4137c6: 7010 ee5c 0100 |003d: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -4137cc: 1a02 550d |0040: const-string v2, "An error (" // string@0d55 │ │ -4137d0: 6e20 f95c 2100 |0042: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4137d6: 5432 fa5c |0045: iget-object v2, v3, Lorg/purple/smoke/Settings$6SingleShot$1;.this$1:Lorg/purple/smoke/Settings$6SingleShot; // field@5cfa │ │ -4137da: 7110 a8b8 0200 |0047: invoke-static {v2}, Lorg/purple/smoke/Settings$6SingleShot;.access$2700:(Lorg/purple/smoke/Settings$6SingleShot;)Ljava/lang/String; // method@b8a8 │ │ -4137e0: 0c02 |004a: move-result-object v2 │ │ -4137e2: 6e20 f95c 2100 |004b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4137e8: 1a02 fa03 |004e: const-string v2, ") occurred while preparing to transfer public key material." // string@03fa │ │ -4137ec: 6e20 f95c 2100 |0050: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4137f2: 6e10 035d 0100 |0053: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -4137f8: 0c01 |0056: move-result-object v1 │ │ -4137fa: 7120 ecb7 1000 |0057: invoke-static {v0, v1}, Lorg/purple/smoke/Miscellaneous;.showErrorDialog:(Landroid/content/Context;Ljava/lang/String;)V // method@b7ec │ │ -413800: 0e00 |005a: return-void │ │ +413738: |[413738] org.purple.smoke.Settings$6SingleShot$1.run:()V │ │ +413748: 5430 fa5c |0000: iget-object v0, v3, Lorg/purple/smoke/Settings$6SingleShot$1;.this$1:Lorg/purple/smoke/Settings$6SingleShot; // field@5cfa │ │ +41374c: 5400 fd5c |0002: iget-object v0, v0, Lorg/purple/smoke/Settings$6SingleShot;.val$bar:Landroid/widget/ProgressBar; // field@5cfd │ │ +413750: 1241 |0004: const/4 v1, #int 4 // #4 │ │ +413752: 6e20 5f5a 1000 |0005: invoke-virtual {v0, v1}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ +413758: 5430 fa5c |0008: iget-object v0, v3, Lorg/purple/smoke/Settings$6SingleShot$1;.this$1:Lorg/purple/smoke/Settings$6SingleShot; // field@5cfa │ │ +41375c: 5400 fc5c |000a: iget-object v0, v0, Lorg/purple/smoke/Settings$6SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cfc │ │ +413760: 6e10 e4b8 0000 |000c: invoke-virtual {v0}, Lorg/purple/smoke/Settings;.getWindow:()Landroid/view/Window; // method@b8e4 │ │ +413766: 0c00 |000f: move-result-object v0 │ │ +413768: 1301 1000 |0010: const/16 v1, #int 16 // #10 │ │ +41376c: 6e20 8557 1000 |0012: invoke-virtual {v0, v1}, Landroid/view/Window;.clearFlags:(I)V // method@5785 │ │ +413772: 5430 fa5c |0015: iget-object v0, v3, Lorg/purple/smoke/Settings$6SingleShot$1;.this$1:Lorg/purple/smoke/Settings$6SingleShot; // field@5cfa │ │ +413776: 5400 fc5c |0017: iget-object v0, v0, Lorg/purple/smoke/Settings$6SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cfc │ │ +41377a: 1401 9200 087f |0019: const v1, #float 1.80778e+38 // #7f080092 │ │ +413780: 6e20 dcb8 1000 |001c: invoke-virtual {v0, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +413786: 0c00 |001f: move-result-object v0 │ │ +413788: 1211 |0020: const/4 v1, #int 1 // #1 │ │ +41378a: 7120 ddb7 1000 |0021: invoke-static {v0, v1}, Lorg/purple/smoke/Miscellaneous;.enableChildren:(Landroid/view/View;Z)V // method@b7dd │ │ +413790: 5430 fa5c |0024: iget-object v0, v3, Lorg/purple/smoke/Settings$6SingleShot$1;.this$1:Lorg/purple/smoke/Settings$6SingleShot; // field@5cfa │ │ +413794: 5400 fc5c |0026: iget-object v0, v0, Lorg/purple/smoke/Settings$6SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cfc │ │ +413798: 7110 d4b8 0000 |0028: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$500:(Lorg/purple/smoke/Settings;)V // method@b8d4 │ │ +41379e: 5430 fa5c |002b: iget-object v0, v3, Lorg/purple/smoke/Settings$6SingleShot$1;.this$1:Lorg/purple/smoke/Settings$6SingleShot; // field@5cfa │ │ +4137a2: 7110 a8b8 0000 |002d: invoke-static {v0}, Lorg/purple/smoke/Settings$6SingleShot;.access$2700:(Lorg/purple/smoke/Settings$6SingleShot;)Ljava/lang/String; // method@b8a8 │ │ +4137a8: 0c00 |0030: move-result-object v0 │ │ +4137aa: 6e10 c35c 0000 |0031: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +4137b0: 0a00 |0034: move-result v0 │ │ +4137b2: 3900 2500 |0035: if-nez v0, 005a // +0025 │ │ +4137b6: 5430 fa5c |0037: iget-object v0, v3, Lorg/purple/smoke/Settings$6SingleShot$1;.this$1:Lorg/purple/smoke/Settings$6SingleShot; // field@5cfa │ │ +4137ba: 5400 fc5c |0039: iget-object v0, v0, Lorg/purple/smoke/Settings$6SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cfc │ │ +4137be: 2201 f10a |003b: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ +4137c2: 7010 ee5c 0100 |003d: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +4137c8: 1a02 550d |0040: const-string v2, "An error (" // string@0d55 │ │ +4137cc: 6e20 f95c 2100 |0042: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4137d2: 5432 fa5c |0045: iget-object v2, v3, Lorg/purple/smoke/Settings$6SingleShot$1;.this$1:Lorg/purple/smoke/Settings$6SingleShot; // field@5cfa │ │ +4137d6: 7110 a8b8 0200 |0047: invoke-static {v2}, Lorg/purple/smoke/Settings$6SingleShot;.access$2700:(Lorg/purple/smoke/Settings$6SingleShot;)Ljava/lang/String; // method@b8a8 │ │ +4137dc: 0c02 |004a: move-result-object v2 │ │ +4137de: 6e20 f95c 2100 |004b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4137e4: 1a02 fa03 |004e: const-string v2, ") occurred while preparing to transfer public key material." // string@03fa │ │ +4137e8: 6e20 f95c 2100 |0050: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4137ee: 6e10 035d 0100 |0053: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +4137f4: 0c01 |0056: move-result-object v1 │ │ +4137f6: 7120 ecb7 1000 |0057: invoke-static {v0, v1}, Lorg/purple/smoke/Miscellaneous;.showErrorDialog:(Landroid/content/Context;Ljava/lang/String;)V // method@b7ec │ │ +4137fc: 0e00 |005a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=2881 │ │ 0x0008 line=2882 │ │ 0x0012 line=2883 │ │ 0x0015 line=2885 │ │ 0x001c line=2886 │ │ @@ -725782,22 +725781,22 @@ │ │ type : '(Lorg/purple/smoke/Settings;Ljava/lang/String;Landroid/widget/ProgressBar;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 1 │ │ insns size : 14 16-bit code units │ │ -41381c: |[41381c] org.purple.smoke.Settings$6SingleShot.:(Lorg/purple/smoke/Settings;Ljava/lang/String;Landroid/widget/ProgressBar;)V │ │ -41382c: 5b01 fc5c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$6SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cfc │ │ -413830: 5b02 fe5c |0002: iput-object v2, v0, Lorg/purple/smoke/Settings$6SingleShot;.val$oid:Ljava/lang/String; // field@5cfe │ │ -413834: 5b03 fd5c |0004: iput-object v3, v0, Lorg/purple/smoke/Settings$6SingleShot;.val$bar:Landroid/widget/ProgressBar; // field@5cfd │ │ -413838: 7010 8f5c 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41383e: 1a01 0000 |0009: const-string v1, "" // string@0000 │ │ -413842: 5b01 fb5c |000b: iput-object v1, v0, Lorg/purple/smoke/Settings$6SingleShot;.m_error:Ljava/lang/String; // field@5cfb │ │ -413846: 0e00 |000d: return-void │ │ +413818: |[413818] org.purple.smoke.Settings$6SingleShot.:(Lorg/purple/smoke/Settings;Ljava/lang/String;Landroid/widget/ProgressBar;)V │ │ +413828: 5b01 fc5c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$6SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cfc │ │ +41382c: 5b02 fe5c |0002: iput-object v2, v0, Lorg/purple/smoke/Settings$6SingleShot;.val$oid:Ljava/lang/String; // field@5cfe │ │ +413830: 5b03 fd5c |0004: iput-object v3, v0, Lorg/purple/smoke/Settings$6SingleShot;.val$bar:Landroid/widget/ProgressBar; // field@5cfd │ │ +413834: 7010 8f5c 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41383a: 1a01 0000 |0009: const-string v1, "" // string@0000 │ │ +41383e: 5b01 fb5c |000b: iput-object v1, v0, Lorg/purple/smoke/Settings$6SingleShot;.m_error:Ljava/lang/String; // field@5cfb │ │ +413842: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=2844 │ │ 0x000b line=2841 │ │ locals : │ │ 0x0000 - 0x000e reg=0 this Lorg/purple/smoke/Settings$6SingleShot; │ │ 0x0000 - 0x000e reg=1 (null) Lorg/purple/smoke/Settings; │ │ @@ -725809,17 +725808,17 @@ │ │ type : '(Lorg/purple/smoke/Settings$6SingleShot;)Ljava/lang/String;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -413804: |[413804] org.purple.smoke.Settings$6SingleShot.access$2700:(Lorg/purple/smoke/Settings$6SingleShot;)Ljava/lang/String; │ │ -413814: 5400 fb5c |0000: iget-object v0, v0, Lorg/purple/smoke/Settings$6SingleShot;.m_error:Ljava/lang/String; // field@5cfb │ │ -413818: 1100 |0002: return-object v0 │ │ +413800: |[413800] org.purple.smoke.Settings$6SingleShot.access$2700:(Lorg/purple/smoke/Settings$6SingleShot;)Ljava/lang/String; │ │ +413810: 5400 fb5c |0000: iget-object v0, v0, Lorg/purple/smoke/Settings$6SingleShot;.m_error:Ljava/lang/String; // field@5cfb │ │ +413814: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=2839 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/Settings$6SingleShot; │ │ │ │ Virtual methods - │ │ @@ -725828,55 +725827,55 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 8 │ │ ins : 1 │ │ outs : 6 │ │ insns size : 78 16-bit code units │ │ -413848: |[413848] org.purple.smoke.Settings$6SingleShot.run:()V │ │ -413858: 5470 fc5c |0000: iget-object v0, v7, Lorg/purple/smoke/Settings$6SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cfc │ │ -41385c: 7110 d3b8 0000 |0002: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -413862: 0c00 |0005: move-result-object v0 │ │ -413864: 7100 d2b8 0000 |0006: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -41386a: 0c01 |0009: move-result-object v1 │ │ -41386c: 5472 fe5c |000a: iget-object v2, v7, Lorg/purple/smoke/Settings$6SingleShot;.val$oid:Ljava/lang/String; // field@5cfe │ │ -413870: 6e30 0fb6 1002 |000c: invoke-virtual {v0, v1, v2}, Lorg/purple/smoke/Database;.readSipHashId:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Lorg/purple/smoke/SipHashIdElement; // method@b60f │ │ -413876: 0c00 |000f: move-result-object v0 │ │ -413878: 3900 0700 |0010: if-nez v0, 0017 // +0007 │ │ -41387c: 1a00 1994 |0012: const-string v0, "readSipHashId() failure" // string@9419 │ │ -413880: 5b70 fb5c |0014: iput-object v0, v7, Lorg/purple/smoke/Settings$6SingleShot;.m_error:Ljava/lang/String; // field@5cfb │ │ -413884: 282d |0016: goto 0043 // +002d │ │ -413886: 5401 2f5d |0017: iget-object v1, v0, Lorg/purple/smoke/SipHashIdElement;.m_encryptionAlgorithm:Ljava/lang/String; // field@5d2f │ │ -41388a: 5402 375d |0019: iget-object v2, v0, Lorg/purple/smoke/SipHashIdElement;.m_sipHashId:Ljava/lang/String; // field@5d37 │ │ -41388e: 5403 305d |001b: iget-object v3, v0, Lorg/purple/smoke/SipHashIdElement;.m_encryptionPublicKey:[B // field@5d30 │ │ -413892: 5404 365d |001d: iget-object v4, v0, Lorg/purple/smoke/SipHashIdElement;.m_signaturePublicKey:[B // field@5d36 │ │ -413896: 5405 385d |001f: iget-object v5, v0, Lorg/purple/smoke/SipHashIdElement;.m_stream:[B // field@5d38 │ │ -41389a: 6206 1953 |0021: sget-object v6, Lorg/purple/smoke/Messages;.CHAT_KEY_TYPE:[B // field@5319 │ │ -41389e: 7706 aeb7 0100 |0023: invoke-static/range {v1, v2, v3, v4, v5, v6}, Lorg/purple/smoke/Messages;.epksMessage:(Ljava/lang/String;Ljava/lang/String;[B[B[B[B)[B // method@b7ae │ │ -4138a4: 0c00 |0026: move-result-object v0 │ │ -4138a6: 3900 0700 |0027: if-nez v0, 002e // +0007 │ │ -4138aa: 1a00 b965 |0029: const-string v0, "epksMessage() failure" // string@65b9 │ │ -4138ae: 5b70 fb5c |002b: iput-object v0, v7, Lorg/purple/smoke/Settings$6SingleShot;.m_error:Ljava/lang/String; // field@5cfb │ │ -4138b2: 2816 |002d: goto 0043 // +0016 │ │ -4138b4: 7100 02b7 0000 |002e: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ -4138ba: 0c01 |0031: move-result-object v1 │ │ -4138bc: 7110 a8b7 0000 |0032: invoke-static {v0}, Lorg/purple/smoke/Messages;.bytesToMessageString:([B)Ljava/lang/String; // method@b7a8 │ │ -4138c2: 0c00 |0035: move-result-object v0 │ │ -4138c4: 1202 |0036: const/4 v2, #int 0 // #0 │ │ -4138c6: 1303 0900 |0037: const/16 v3, #int 9 // #9 │ │ -4138ca: 6e40 fdb6 0132 |0039: invoke-virtual {v1, v0, v2, v3}, Lorg/purple/smoke/Kernel;.enqueueMessage:(Ljava/lang/String;[BI)Z // method@b6fd │ │ -4138d0: 0a00 |003c: move-result v0 │ │ -4138d2: 3900 0600 |003d: if-nez v0, 0043 // +0006 │ │ -4138d6: 1a00 6465 |003f: const-string v0, "enqueueMessage() failure" // string@6564 │ │ -4138da: 5b70 fb5c |0041: iput-object v0, v7, Lorg/purple/smoke/Settings$6SingleShot;.m_error:Ljava/lang/String; // field@5cfb │ │ -4138de: 5470 fc5c |0043: iget-object v0, v7, Lorg/purple/smoke/Settings$6SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cfc │ │ -4138e2: 2201 721a |0045: new-instance v1, Lorg/purple/smoke/Settings$6SingleShot$1; // type@1a72 │ │ -4138e6: 7020 a5b8 7100 |0047: invoke-direct {v1, v7}, Lorg/purple/smoke/Settings$6SingleShot$1;.:(Lorg/purple/smoke/Settings$6SingleShot;)V // method@b8a5 │ │ -4138ec: 6e20 fdb8 1000 |004a: invoke-virtual {v0, v1}, Lorg/purple/smoke/Settings;.runOnUiThread:(Ljava/lang/Runnable;)V // method@b8fd │ │ -4138f2: 0e00 |004d: return-void │ │ +413844: |[413844] org.purple.smoke.Settings$6SingleShot.run:()V │ │ +413854: 5470 fc5c |0000: iget-object v0, v7, Lorg/purple/smoke/Settings$6SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cfc │ │ +413858: 7110 d3b8 0000 |0002: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +41385e: 0c00 |0005: move-result-object v0 │ │ +413860: 7100 d2b8 0000 |0006: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +413866: 0c01 |0009: move-result-object v1 │ │ +413868: 5472 fe5c |000a: iget-object v2, v7, Lorg/purple/smoke/Settings$6SingleShot;.val$oid:Ljava/lang/String; // field@5cfe │ │ +41386c: 6e30 0fb6 1002 |000c: invoke-virtual {v0, v1, v2}, Lorg/purple/smoke/Database;.readSipHashId:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Lorg/purple/smoke/SipHashIdElement; // method@b60f │ │ +413872: 0c00 |000f: move-result-object v0 │ │ +413874: 3900 0700 |0010: if-nez v0, 0017 // +0007 │ │ +413878: 1a00 1994 |0012: const-string v0, "readSipHashId() failure" // string@9419 │ │ +41387c: 5b70 fb5c |0014: iput-object v0, v7, Lorg/purple/smoke/Settings$6SingleShot;.m_error:Ljava/lang/String; // field@5cfb │ │ +413880: 282d |0016: goto 0043 // +002d │ │ +413882: 5401 2f5d |0017: iget-object v1, v0, Lorg/purple/smoke/SipHashIdElement;.m_encryptionAlgorithm:Ljava/lang/String; // field@5d2f │ │ +413886: 5402 375d |0019: iget-object v2, v0, Lorg/purple/smoke/SipHashIdElement;.m_sipHashId:Ljava/lang/String; // field@5d37 │ │ +41388a: 5403 305d |001b: iget-object v3, v0, Lorg/purple/smoke/SipHashIdElement;.m_encryptionPublicKey:[B // field@5d30 │ │ +41388e: 5404 365d |001d: iget-object v4, v0, Lorg/purple/smoke/SipHashIdElement;.m_signaturePublicKey:[B // field@5d36 │ │ +413892: 5405 385d |001f: iget-object v5, v0, Lorg/purple/smoke/SipHashIdElement;.m_stream:[B // field@5d38 │ │ +413896: 6206 1953 |0021: sget-object v6, Lorg/purple/smoke/Messages;.CHAT_KEY_TYPE:[B // field@5319 │ │ +41389a: 7706 aeb7 0100 |0023: invoke-static/range {v1, v2, v3, v4, v5, v6}, Lorg/purple/smoke/Messages;.epksMessage:(Ljava/lang/String;Ljava/lang/String;[B[B[B[B)[B // method@b7ae │ │ +4138a0: 0c00 |0026: move-result-object v0 │ │ +4138a2: 3900 0700 |0027: if-nez v0, 002e // +0007 │ │ +4138a6: 1a00 b965 |0029: const-string v0, "epksMessage() failure" // string@65b9 │ │ +4138aa: 5b70 fb5c |002b: iput-object v0, v7, Lorg/purple/smoke/Settings$6SingleShot;.m_error:Ljava/lang/String; // field@5cfb │ │ +4138ae: 2816 |002d: goto 0043 // +0016 │ │ +4138b0: 7100 02b7 0000 |002e: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ +4138b6: 0c01 |0031: move-result-object v1 │ │ +4138b8: 7110 a8b7 0000 |0032: invoke-static {v0}, Lorg/purple/smoke/Messages;.bytesToMessageString:([B)Ljava/lang/String; // method@b7a8 │ │ +4138be: 0c00 |0035: move-result-object v0 │ │ +4138c0: 1202 |0036: const/4 v2, #int 0 // #0 │ │ +4138c2: 1303 0900 |0037: const/16 v3, #int 9 // #9 │ │ +4138c6: 6e40 fdb6 0132 |0039: invoke-virtual {v1, v0, v2, v3}, Lorg/purple/smoke/Kernel;.enqueueMessage:(Ljava/lang/String;[BI)Z // method@b6fd │ │ +4138cc: 0a00 |003c: move-result v0 │ │ +4138ce: 3900 0600 |003d: if-nez v0, 0043 // +0006 │ │ +4138d2: 1a00 6465 |003f: const-string v0, "enqueueMessage() failure" // string@6564 │ │ +4138d6: 5b70 fb5c |0041: iput-object v0, v7, Lorg/purple/smoke/Settings$6SingleShot;.m_error:Ljava/lang/String; // field@5cfb │ │ +4138da: 5470 fc5c |0043: iget-object v0, v7, Lorg/purple/smoke/Settings$6SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5cfc │ │ +4138de: 2201 721a |0045: new-instance v1, Lorg/purple/smoke/Settings$6SingleShot$1; // type@1a72 │ │ +4138e2: 7020 a5b8 7100 |0047: invoke-direct {v1, v7}, Lorg/purple/smoke/Settings$6SingleShot$1;.:(Lorg/purple/smoke/Settings$6SingleShot;)V // method@b8a5 │ │ +4138e8: 6e20 fdb8 1000 |004a: invoke-virtual {v0, v1}, Lorg/purple/smoke/Settings;.runOnUiThread:(Ljava/lang/Runnable;)V // method@b8fd │ │ +4138ee: 0e00 |004d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=2850 │ │ 0x0002 line=2851 │ │ 0x0014 line=2854 │ │ 0x0017 line=2857 │ │ 0x0023 line=2858 │ │ @@ -725924,18 +725923,18 @@ │ │ type : '(Lorg/purple/smoke/Settings;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -413f48: |[413f48] org.purple.smoke.Settings$7.:(Lorg/purple/smoke/Settings;)V │ │ -413f58: 5b01 ff5c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$7;.this$0:Lorg/purple/smoke/Settings; // field@5cff │ │ -413f5c: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -413f62: 0e00 |0005: return-void │ │ +413f44: |[413f44] org.purple.smoke.Settings$7.:(Lorg/purple/smoke/Settings;)V │ │ +413f54: 5b01 ff5c |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$7;.this$0:Lorg/purple/smoke/Settings; // field@5cff │ │ +413f58: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +413f5e: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1683 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/Settings$7; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/Settings; │ │ │ │ @@ -725945,26 +725944,26 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 21 16-bit code units │ │ -413f64: |[413f64] org.purple.smoke.Settings$7.onClick:(Landroid/view/View;)V │ │ -413f74: 5412 ff5c |0000: iget-object v2, v1, Lorg/purple/smoke/Settings$7;.this$0:Lorg/purple/smoke/Settings; // field@5cff │ │ -413f78: 6e10 e6b8 0200 |0002: invoke-virtual {v2}, Lorg/purple/smoke/Settings;.isFinishing:()Z // method@b8e6 │ │ -413f7e: 0a02 |0005: move-result v2 │ │ -413f80: 3802 0300 |0006: if-eqz v2, 0009 // +0003 │ │ -413f84: 0e00 |0008: return-void │ │ -413f86: 5412 ff5c |0009: iget-object v2, v1, Lorg/purple/smoke/Settings$7;.this$0:Lorg/purple/smoke/Settings; // field@5cff │ │ -413f8a: 7110 d3b8 0200 |000b: invoke-static {v2}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -413f90: 0c02 |000e: move-result-object v2 │ │ -413f92: 1a00 3c7c |000f: const-string v0, "log" // string@7c3c │ │ -413f96: 6e20 dab5 0200 |0011: invoke-virtual {v2, v0}, Lorg/purple/smoke/Database;.clearTable:(Ljava/lang/String;)V // method@b5da │ │ -413f9c: 0e00 |0014: return-void │ │ +413f60: |[413f60] org.purple.smoke.Settings$7.onClick:(Landroid/view/View;)V │ │ +413f70: 5412 ff5c |0000: iget-object v2, v1, Lorg/purple/smoke/Settings$7;.this$0:Lorg/purple/smoke/Settings; // field@5cff │ │ +413f74: 6e10 e6b8 0200 |0002: invoke-virtual {v2}, Lorg/purple/smoke/Settings;.isFinishing:()Z // method@b8e6 │ │ +413f7a: 0a02 |0005: move-result v2 │ │ +413f7c: 3802 0300 |0006: if-eqz v2, 0009 // +0003 │ │ +413f80: 0e00 |0008: return-void │ │ +413f82: 5412 ff5c |0009: iget-object v2, v1, Lorg/purple/smoke/Settings$7;.this$0:Lorg/purple/smoke/Settings; // field@5cff │ │ +413f86: 7110 d3b8 0200 |000b: invoke-static {v2}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +413f8c: 0c02 |000e: move-result-object v2 │ │ +413f8e: 1a00 3c7c |000f: const-string v0, "log" // string@7c3c │ │ +413f92: 6e20 dab5 0200 |0011: invoke-virtual {v2, v0}, Lorg/purple/smoke/Database;.clearTable:(Ljava/lang/String;)V // method@b5da │ │ +413f98: 0e00 |0014: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1686 │ │ 0x0009 line=1689 │ │ locals : │ │ 0x0000 - 0x0015 reg=1 this Lorg/purple/smoke/Settings$7; │ │ 0x0000 - 0x0015 reg=2 (null) Landroid/view/View; │ │ @@ -726004,18 +726003,18 @@ │ │ type : '(Lorg/purple/smoke/Settings$7SingleShot;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -413940: |[413940] org.purple.smoke.Settings$7SingleShot$1.:(Lorg/purple/smoke/Settings$7SingleShot;)V │ │ -413950: 5b01 005d |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ -413954: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41395a: 0e00 |0005: return-void │ │ +41393c: |[41393c] org.purple.smoke.Settings$7SingleShot$1.:(Lorg/purple/smoke/Settings$7SingleShot;)V │ │ +41394c: 5b01 005d |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ +413950: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +413956: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=3003 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/Settings$7SingleShot$1; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/Settings$7SingleShot; │ │ │ │ @@ -726025,251 +726024,251 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 17 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 502 16-bit code units │ │ -41395c: |[41395c] org.purple.smoke.Settings$7SingleShot$1.run:()V │ │ -41396c: 0800 1000 |0000: move-object/from16 v0, v16 │ │ -413970: 5401 005d |0002: iget-object v1, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ -413974: 5411 085d |0004: iget-object v1, v1, Lorg/purple/smoke/Settings$7SingleShot;.val$bar:Landroid/widget/ProgressBar; // field@5d08 │ │ -413978: 1242 |0006: const/4 v2, #int 4 // #4 │ │ -41397a: 6e20 5f5a 2100 |0007: invoke-virtual {v1, v2}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ -413980: 5401 005d |000a: iget-object v1, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ -413984: 5411 075d |000c: iget-object v1, v1, Lorg/purple/smoke/Settings$7SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5d07 │ │ -413988: 6e10 e4b8 0100 |000e: invoke-virtual {v1}, Lorg/purple/smoke/Settings;.getWindow:()Landroid/view/Window; // method@b8e4 │ │ -41398e: 0c01 |0011: move-result-object v1 │ │ -413990: 1302 1000 |0012: const/16 v2, #int 16 // #10 │ │ -413994: 6e20 8557 2100 |0014: invoke-virtual {v1, v2}, Landroid/view/Window;.clearFlags:(I)V // method@5785 │ │ -41399a: 5401 005d |0017: iget-object v1, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ -41399e: 5411 075d |0019: iget-object v1, v1, Lorg/purple/smoke/Settings$7SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5d07 │ │ -4139a2: 1402 9200 087f |001b: const v2, #float 1.80778e+38 // #7f080092 │ │ -4139a8: 6e20 dcb8 2100 |001e: invoke-virtual {v1, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4139ae: 0c01 |0021: move-result-object v1 │ │ -4139b0: 1212 |0022: const/4 v2, #int 1 // #1 │ │ -4139b2: 7120 ddb7 2100 |0023: invoke-static {v1, v2}, Lorg/purple/smoke/Miscellaneous;.enableChildren:(Landroid/view/View;Z)V // method@b7dd │ │ -4139b8: 5401 005d |0026: iget-object v1, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ -4139bc: 5411 075d |0028: iget-object v1, v1, Lorg/purple/smoke/Settings$7SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5d07 │ │ -4139c0: 7110 d4b8 0100 |002a: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$500:(Lorg/purple/smoke/Settings;)V // method@b8d4 │ │ -4139c6: 2201 7b0a |002d: new-instance v1, Landroid/widget/PopupWindow; // type@0a7b │ │ -4139ca: 5403 005d |002f: iget-object v3, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ -4139ce: 5433 075d |0031: iget-object v3, v3, Lorg/purple/smoke/Settings$7SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5d07 │ │ -4139d2: 7020 325a 3100 |0033: invoke-direct {v1, v3}, Landroid/widget/PopupWindow;.:(Landroid/content/Context;)V // method@5a32 │ │ -4139d8: 2203 f10a |0036: new-instance v3, Ljava/lang/StringBuilder; // type@0af1 │ │ -4139dc: 7010 ee5c 0300 |0038: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -4139e2: 2204 970a |003b: new-instance v4, Landroid/widget/TextView; // type@0a97 │ │ -4139e6: 5405 005d |003d: iget-object v5, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ -4139ea: 5455 075d |003f: iget-object v5, v5, Lorg/purple/smoke/Settings$7SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5d07 │ │ -4139ee: 7020 ff5a 5400 |0041: invoke-direct {v4, v5}, Landroid/widget/TextView;.:(Landroid/content/Context;)V // method@5aff │ │ -4139f4: 5405 005d |0044: iget-object v5, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ -4139f8: 5455 075d |0046: iget-object v5, v5, Lorg/purple/smoke/Settings$7SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5d07 │ │ -4139fc: 6e10 e2b8 0500 |0048: invoke-virtual {v5}, Lorg/purple/smoke/Settings;.getResources:()Landroid/content/res/Resources; // method@b8e2 │ │ -413a02: 0c05 |004b: move-result-object v5 │ │ -413a04: 6e10 0e02 0500 |004c: invoke-virtual {v5}, Landroid/content/res/Resources;.getDisplayMetrics:()Landroid/util/DisplayMetrics; // method@020e │ │ -413a0a: 0c05 |004f: move-result-object v5 │ │ -413a0c: 5255 992c |0050: iget v5, v5, Landroid/util/DisplayMetrics;.density:F // field@2c99 │ │ -413a10: 5406 005d |0052: iget-object v6, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ -413a14: 7110 afb8 0600 |0054: invoke-static {v6}, Lorg/purple/smoke/Settings$7SingleShot;.access$2800:(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String; // method@b8af │ │ -413a1a: 0c06 |0057: move-result-object v6 │ │ -413a1c: 6e10 c35c 0600 |0058: invoke-virtual {v6}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -413a22: 0a06 |005b: move-result v6 │ │ -413a24: 1a07 9800 |005c: const-string v7, " (" // string@0098 │ │ -413a28: 3906 1f01 |005e: if-nez v6, 017d // +011f │ │ -413a2c: 5406 005d |0060: iget-object v6, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ -413a30: 7110 b0b8 0600 |0062: invoke-static {v6}, Lorg/purple/smoke/Settings$7SingleShot;.access$2900:(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String; // method@b8b0 │ │ -413a36: 0c06 |0065: move-result-object v6 │ │ -413a38: 6e10 c35c 0600 |0066: invoke-virtual {v6}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -413a3e: 0a06 |0069: move-result v6 │ │ -413a40: 3806 0400 |006a: if-eqz v6, 006e // +0004 │ │ -413a44: 2900 1101 |006c: goto/16 017d // +0111 │ │ -413a48: 5406 005d |006e: iget-object v6, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ -413a4c: 7110 b2b8 0600 |0070: invoke-static {v6}, Lorg/purple/smoke/Settings$7SingleShot;.access$3100:(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String; // method@b8b2 │ │ -413a52: 0c06 |0073: move-result-object v6 │ │ -413a54: 6e20 f95c 6300 |0074: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -413a5a: 6e20 f95c 7300 |0077: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -413a60: 5406 005d |007a: iget-object v6, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ -413a64: 7110 b1b8 0600 |007c: invoke-static {v6}, Lorg/purple/smoke/Settings$7SingleShot;.access$3000:(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String; // method@b8b1 │ │ -413a6a: 0c06 |007f: move-result-object v6 │ │ -413a6c: 6e20 f95c 6300 |0080: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -413a72: 1a06 e503 |0083: const-string v6, ") │ │ +413958: |[413958] org.purple.smoke.Settings$7SingleShot$1.run:()V │ │ +413968: 0800 1000 |0000: move-object/from16 v0, v16 │ │ +41396c: 5401 005d |0002: iget-object v1, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ +413970: 5411 085d |0004: iget-object v1, v1, Lorg/purple/smoke/Settings$7SingleShot;.val$bar:Landroid/widget/ProgressBar; // field@5d08 │ │ +413974: 1242 |0006: const/4 v2, #int 4 // #4 │ │ +413976: 6e20 5f5a 2100 |0007: invoke-virtual {v1, v2}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ +41397c: 5401 005d |000a: iget-object v1, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ +413980: 5411 075d |000c: iget-object v1, v1, Lorg/purple/smoke/Settings$7SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5d07 │ │ +413984: 6e10 e4b8 0100 |000e: invoke-virtual {v1}, Lorg/purple/smoke/Settings;.getWindow:()Landroid/view/Window; // method@b8e4 │ │ +41398a: 0c01 |0011: move-result-object v1 │ │ +41398c: 1302 1000 |0012: const/16 v2, #int 16 // #10 │ │ +413990: 6e20 8557 2100 |0014: invoke-virtual {v1, v2}, Landroid/view/Window;.clearFlags:(I)V // method@5785 │ │ +413996: 5401 005d |0017: iget-object v1, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ +41399a: 5411 075d |0019: iget-object v1, v1, Lorg/purple/smoke/Settings$7SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5d07 │ │ +41399e: 1402 9200 087f |001b: const v2, #float 1.80778e+38 // #7f080092 │ │ +4139a4: 6e20 dcb8 2100 |001e: invoke-virtual {v1, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4139aa: 0c01 |0021: move-result-object v1 │ │ +4139ac: 1212 |0022: const/4 v2, #int 1 // #1 │ │ +4139ae: 7120 ddb7 2100 |0023: invoke-static {v1, v2}, Lorg/purple/smoke/Miscellaneous;.enableChildren:(Landroid/view/View;Z)V // method@b7dd │ │ +4139b4: 5401 005d |0026: iget-object v1, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ +4139b8: 5411 075d |0028: iget-object v1, v1, Lorg/purple/smoke/Settings$7SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5d07 │ │ +4139bc: 7110 d4b8 0100 |002a: invoke-static {v1}, Lorg/purple/smoke/Settings;.access$500:(Lorg/purple/smoke/Settings;)V // method@b8d4 │ │ +4139c2: 2201 7b0a |002d: new-instance v1, Landroid/widget/PopupWindow; // type@0a7b │ │ +4139c6: 5403 005d |002f: iget-object v3, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ +4139ca: 5433 075d |0031: iget-object v3, v3, Lorg/purple/smoke/Settings$7SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5d07 │ │ +4139ce: 7020 325a 3100 |0033: invoke-direct {v1, v3}, Landroid/widget/PopupWindow;.:(Landroid/content/Context;)V // method@5a32 │ │ +4139d4: 2203 f10a |0036: new-instance v3, Ljava/lang/StringBuilder; // type@0af1 │ │ +4139d8: 7010 ee5c 0300 |0038: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +4139de: 2204 970a |003b: new-instance v4, Landroid/widget/TextView; // type@0a97 │ │ +4139e2: 5405 005d |003d: iget-object v5, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ +4139e6: 5455 075d |003f: iget-object v5, v5, Lorg/purple/smoke/Settings$7SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5d07 │ │ +4139ea: 7020 ff5a 5400 |0041: invoke-direct {v4, v5}, Landroid/widget/TextView;.:(Landroid/content/Context;)V // method@5aff │ │ +4139f0: 5405 005d |0044: iget-object v5, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ +4139f4: 5455 075d |0046: iget-object v5, v5, Lorg/purple/smoke/Settings$7SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5d07 │ │ +4139f8: 6e10 e2b8 0500 |0048: invoke-virtual {v5}, Lorg/purple/smoke/Settings;.getResources:()Landroid/content/res/Resources; // method@b8e2 │ │ +4139fe: 0c05 |004b: move-result-object v5 │ │ +413a00: 6e10 0e02 0500 |004c: invoke-virtual {v5}, Landroid/content/res/Resources;.getDisplayMetrics:()Landroid/util/DisplayMetrics; // method@020e │ │ +413a06: 0c05 |004f: move-result-object v5 │ │ +413a08: 5255 992c |0050: iget v5, v5, Landroid/util/DisplayMetrics;.density:F // field@2c99 │ │ +413a0c: 5406 005d |0052: iget-object v6, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ +413a10: 7110 afb8 0600 |0054: invoke-static {v6}, Lorg/purple/smoke/Settings$7SingleShot;.access$2800:(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String; // method@b8af │ │ +413a16: 0c06 |0057: move-result-object v6 │ │ +413a18: 6e10 c35c 0600 |0058: invoke-virtual {v6}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +413a1e: 0a06 |005b: move-result v6 │ │ +413a20: 1a07 9800 |005c: const-string v7, " (" // string@0098 │ │ +413a24: 3906 1f01 |005e: if-nez v6, 017d // +011f │ │ +413a28: 5406 005d |0060: iget-object v6, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ +413a2c: 7110 b0b8 0600 |0062: invoke-static {v6}, Lorg/purple/smoke/Settings$7SingleShot;.access$2900:(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String; // method@b8b0 │ │ +413a32: 0c06 |0065: move-result-object v6 │ │ +413a34: 6e10 c35c 0600 |0066: invoke-virtual {v6}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +413a3a: 0a06 |0069: move-result v6 │ │ +413a3c: 3806 0400 |006a: if-eqz v6, 006e // +0004 │ │ +413a40: 2900 1101 |006c: goto/16 017d // +0111 │ │ +413a44: 5406 005d |006e: iget-object v6, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ +413a48: 7110 b2b8 0600 |0070: invoke-static {v6}, Lorg/purple/smoke/Settings$7SingleShot;.access$3100:(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String; // method@b8b2 │ │ +413a4e: 0c06 |0073: move-result-object v6 │ │ +413a50: 6e20 f95c 6300 |0074: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +413a56: 6e20 f95c 7300 |0077: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +413a5c: 5406 005d |007a: iget-object v6, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ +413a60: 7110 b1b8 0600 |007c: invoke-static {v6}, Lorg/purple/smoke/Settings$7SingleShot;.access$3000:(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String; // method@b8b1 │ │ +413a66: 0c06 |007f: move-result-object v6 │ │ +413a68: 6e20 f95c 6300 |0080: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +413a6e: 1a06 e503 |0083: const-string v6, ") │ │ " // string@03e5 │ │ -413a76: 6e20 f95c 6300 |0085: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -413a7c: 1a07 0e00 |0088: const-string v7, " │ │ +413a72: 6e20 f95c 6300 |0085: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +413a78: 1a07 0e00 |0088: const-string v7, " │ │ Encryption Key (" // string@000e │ │ -413a80: 6e20 f95c 7300 |008a: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -413a86: 6e10 035d 0300 |008d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -413a8c: 0c07 |0090: move-result-object v7 │ │ -413a8e: 6e20 035b 7400 |0091: invoke-virtual {v4, v7}, Landroid/widget/TextView;.append:(Ljava/lang/CharSequence;)V // method@5b03 │ │ -413a94: 2207 ba09 |0094: new-instance v7, Landroid/text/SpannableStringBuilder; // type@09ba │ │ -413a98: 5408 005d |0096: iget-object v8, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ -413a9c: 7110 b3b8 0800 |0098: invoke-static {v8}, Lorg/purple/smoke/Settings$7SingleShot;.access$3200:(Lorg/purple/smoke/Settings$7SingleShot;)[Ljava/lang/String; // method@b8b3 │ │ -413aa2: 0c08 |009b: move-result-object v8 │ │ -413aa4: 1209 |009c: const/4 v9, #int 0 // #0 │ │ -413aa6: 4608 0809 |009d: aget-object v8, v8, v9 │ │ -413aaa: 1a0a 00a3 |009f: const-string v10, "true" // string@a300 │ │ -413aae: 6e20 b85c a800 |00a1: invoke-virtual {v8, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -413ab4: 0a08 |00a4: move-result v8 │ │ -413ab6: 1a0b 5b4a |00a5: const-string v11, "Signature Verified" // string@4a5b │ │ -413aba: 1a0c 5a4a |00a7: const-string v12, "Signature Not Verified" // string@4a5a │ │ -413abe: 3808 0400 |00a9: if-eqz v8, 00ad // +0004 │ │ -413ac2: 07b8 |00ab: move-object v8, v11 │ │ -413ac4: 2802 |00ac: goto 00ae // +0002 │ │ -413ac6: 07c8 |00ad: move-object v8, v12 │ │ -413ac8: 7020 4a54 8700 |00ae: invoke-direct {v7, v8}, Landroid/text/SpannableStringBuilder;.:(Ljava/lang/CharSequence;)V // method@544a │ │ -413ace: 5408 005d |00b1: iget-object v8, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ -413ad2: 7110 b3b8 0800 |00b3: invoke-static {v8}, Lorg/purple/smoke/Settings$7SingleShot;.access$3200:(Lorg/purple/smoke/Settings$7SingleShot;)[Ljava/lang/String; // method@b8b3 │ │ -413ad8: 0c08 |00b6: move-result-object v8 │ │ -413ada: 4608 0809 |00b7: aget-object v8, v8, v9 │ │ -413ade: 6e20 b85c a800 |00b9: invoke-virtual {v8, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -413ae4: 0a08 |00bc: move-result v8 │ │ -413ae6: 130d 3200 |00bd: const/16 v13, #int 50 // #32 │ │ -413aea: 130e 7d00 |00bf: const/16 v14, #int 125 // #7d │ │ -413aee: 130f 2e00 |00c1: const/16 v15, #int 46 // #2e │ │ -413af2: 3808 1500 |00c3: if-eqz v8, 00d8 // +0015 │ │ -413af6: 2208 c609 |00c5: new-instance v8, Landroid/text/style/ForegroundColorSpan; // type@09c6 │ │ -413afa: 7130 c902 ef0d |00c7: invoke-static {v15, v14, v13}, Landroid/graphics/Color;.rgb:(III)I // method@02c9 │ │ -413b00: 0a02 |00ca: move-result v2 │ │ -413b02: 7020 6c54 2800 |00cb: invoke-direct {v8, v2}, Landroid/text/style/ForegroundColorSpan;.:(I)V // method@546c │ │ -413b08: 6e10 4f54 0700 |00ce: invoke-virtual {v7}, Landroid/text/SpannableStringBuilder;.length:()I // method@544f │ │ -413b0e: 0a02 |00d1: move-result v2 │ │ -413b10: 130d 2100 |00d2: const/16 v13, #int 33 // #21 │ │ -413b14: 6e5d 5054 8729 |00d4: invoke-virtual {v7, v8, v9, v2, v13}, Landroid/text/SpannableStringBuilder;.setSpan:(Ljava/lang/Object;III)V // method@5450 │ │ -413b1a: 2817 |00d7: goto 00ee // +0017 │ │ -413b1c: 130d 2100 |00d8: const/16 v13, #int 33 // #21 │ │ -413b20: 2202 c609 |00da: new-instance v2, Landroid/text/style/ForegroundColorSpan; // type@09c6 │ │ -413b24: 1308 c600 |00dc: const/16 v8, #int 198 // #c6 │ │ -413b28: 130e 2800 |00de: const/16 v14, #int 40 // #28 │ │ -413b2c: 7130 c902 e80e |00e0: invoke-static {v8, v14, v14}, Landroid/graphics/Color;.rgb:(III)I // method@02c9 │ │ -413b32: 0a0f |00e3: move-result v15 │ │ -413b34: 7020 6c54 f200 |00e4: invoke-direct {v2, v15}, Landroid/text/style/ForegroundColorSpan;.:(I)V // method@546c │ │ -413b3a: 6e10 4f54 0700 |00e7: invoke-virtual {v7}, Landroid/text/SpannableStringBuilder;.length:()I // method@544f │ │ -413b40: 0a08 |00ea: move-result v8 │ │ -413b42: 6e5d 5054 2789 |00eb: invoke-virtual {v7, v2, v9, v8, v13}, Landroid/text/SpannableStringBuilder;.setSpan:(Ljava/lang/Object;III)V // method@5450 │ │ -413b48: 6e20 035b 7400 |00ee: invoke-virtual {v4, v7}, Landroid/widget/TextView;.append:(Ljava/lang/CharSequence;)V // method@5b03 │ │ -413b4e: 6e10 ff5c 0300 |00f1: invoke-virtual {v3}, Ljava/lang/StringBuilder;.length:()I // method@5cff │ │ -413b54: 0a02 |00f4: move-result v2 │ │ -413b56: 6e30 fd5c 9302 |00f5: invoke-virtual {v3, v9, v2}, Ljava/lang/StringBuilder;.delete:(II)Ljava/lang/StringBuilder; // method@5cfd │ │ -413b5c: 6e20 f95c 6300 |00f8: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -413b62: 5402 005d |00fb: iget-object v2, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ -413b66: 7110 afb8 0200 |00fd: invoke-static {v2}, Lorg/purple/smoke/Settings$7SingleShot;.access$2800:(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String; // method@b8af │ │ -413b6c: 0c02 |0100: move-result-object v2 │ │ -413b6e: 6e20 f95c 2300 |0101: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -413b74: 1a02 1400 |0104: const-string v2, " │ │ +413a7c: 6e20 f95c 7300 |008a: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +413a82: 6e10 035d 0300 |008d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +413a88: 0c07 |0090: move-result-object v7 │ │ +413a8a: 6e20 035b 7400 |0091: invoke-virtual {v4, v7}, Landroid/widget/TextView;.append:(Ljava/lang/CharSequence;)V // method@5b03 │ │ +413a90: 2207 ba09 |0094: new-instance v7, Landroid/text/SpannableStringBuilder; // type@09ba │ │ +413a94: 5408 005d |0096: iget-object v8, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ +413a98: 7110 b3b8 0800 |0098: invoke-static {v8}, Lorg/purple/smoke/Settings$7SingleShot;.access$3200:(Lorg/purple/smoke/Settings$7SingleShot;)[Ljava/lang/String; // method@b8b3 │ │ +413a9e: 0c08 |009b: move-result-object v8 │ │ +413aa0: 1209 |009c: const/4 v9, #int 0 // #0 │ │ +413aa2: 4608 0809 |009d: aget-object v8, v8, v9 │ │ +413aa6: 1a0a 00a3 |009f: const-string v10, "true" // string@a300 │ │ +413aaa: 6e20 b85c a800 |00a1: invoke-virtual {v8, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +413ab0: 0a08 |00a4: move-result v8 │ │ +413ab2: 1a0b 5b4a |00a5: const-string v11, "Signature Verified" // string@4a5b │ │ +413ab6: 1a0c 5a4a |00a7: const-string v12, "Signature Not Verified" // string@4a5a │ │ +413aba: 3808 0400 |00a9: if-eqz v8, 00ad // +0004 │ │ +413abe: 07b8 |00ab: move-object v8, v11 │ │ +413ac0: 2802 |00ac: goto 00ae // +0002 │ │ +413ac2: 07c8 |00ad: move-object v8, v12 │ │ +413ac4: 7020 4a54 8700 |00ae: invoke-direct {v7, v8}, Landroid/text/SpannableStringBuilder;.:(Ljava/lang/CharSequence;)V // method@544a │ │ +413aca: 5408 005d |00b1: iget-object v8, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ +413ace: 7110 b3b8 0800 |00b3: invoke-static {v8}, Lorg/purple/smoke/Settings$7SingleShot;.access$3200:(Lorg/purple/smoke/Settings$7SingleShot;)[Ljava/lang/String; // method@b8b3 │ │ +413ad4: 0c08 |00b6: move-result-object v8 │ │ +413ad6: 4608 0809 |00b7: aget-object v8, v8, v9 │ │ +413ada: 6e20 b85c a800 |00b9: invoke-virtual {v8, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +413ae0: 0a08 |00bc: move-result v8 │ │ +413ae2: 130d 3200 |00bd: const/16 v13, #int 50 // #32 │ │ +413ae6: 130e 7d00 |00bf: const/16 v14, #int 125 // #7d │ │ +413aea: 130f 2e00 |00c1: const/16 v15, #int 46 // #2e │ │ +413aee: 3808 1500 |00c3: if-eqz v8, 00d8 // +0015 │ │ +413af2: 2208 c609 |00c5: new-instance v8, Landroid/text/style/ForegroundColorSpan; // type@09c6 │ │ +413af6: 7130 c902 ef0d |00c7: invoke-static {v15, v14, v13}, Landroid/graphics/Color;.rgb:(III)I // method@02c9 │ │ +413afc: 0a02 |00ca: move-result v2 │ │ +413afe: 7020 6c54 2800 |00cb: invoke-direct {v8, v2}, Landroid/text/style/ForegroundColorSpan;.:(I)V // method@546c │ │ +413b04: 6e10 4f54 0700 |00ce: invoke-virtual {v7}, Landroid/text/SpannableStringBuilder;.length:()I // method@544f │ │ +413b0a: 0a02 |00d1: move-result v2 │ │ +413b0c: 130d 2100 |00d2: const/16 v13, #int 33 // #21 │ │ +413b10: 6e5d 5054 8729 |00d4: invoke-virtual {v7, v8, v9, v2, v13}, Landroid/text/SpannableStringBuilder;.setSpan:(Ljava/lang/Object;III)V // method@5450 │ │ +413b16: 2817 |00d7: goto 00ee // +0017 │ │ +413b18: 130d 2100 |00d8: const/16 v13, #int 33 // #21 │ │ +413b1c: 2202 c609 |00da: new-instance v2, Landroid/text/style/ForegroundColorSpan; // type@09c6 │ │ +413b20: 1308 c600 |00dc: const/16 v8, #int 198 // #c6 │ │ +413b24: 130e 2800 |00de: const/16 v14, #int 40 // #28 │ │ +413b28: 7130 c902 e80e |00e0: invoke-static {v8, v14, v14}, Landroid/graphics/Color;.rgb:(III)I // method@02c9 │ │ +413b2e: 0a0f |00e3: move-result v15 │ │ +413b30: 7020 6c54 f200 |00e4: invoke-direct {v2, v15}, Landroid/text/style/ForegroundColorSpan;.:(I)V // method@546c │ │ +413b36: 6e10 4f54 0700 |00e7: invoke-virtual {v7}, Landroid/text/SpannableStringBuilder;.length:()I // method@544f │ │ +413b3c: 0a08 |00ea: move-result v8 │ │ +413b3e: 6e5d 5054 2789 |00eb: invoke-virtual {v7, v2, v9, v8, v13}, Landroid/text/SpannableStringBuilder;.setSpan:(Ljava/lang/Object;III)V // method@5450 │ │ +413b44: 6e20 035b 7400 |00ee: invoke-virtual {v4, v7}, Landroid/widget/TextView;.append:(Ljava/lang/CharSequence;)V // method@5b03 │ │ +413b4a: 6e10 ff5c 0300 |00f1: invoke-virtual {v3}, Ljava/lang/StringBuilder;.length:()I // method@5cff │ │ +413b50: 0a02 |00f4: move-result v2 │ │ +413b52: 6e30 fd5c 9302 |00f5: invoke-virtual {v3, v9, v2}, Ljava/lang/StringBuilder;.delete:(II)Ljava/lang/StringBuilder; // method@5cfd │ │ +413b58: 6e20 f95c 6300 |00f8: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +413b5e: 5402 005d |00fb: iget-object v2, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ +413b62: 7110 afb8 0200 |00fd: invoke-static {v2}, Lorg/purple/smoke/Settings$7SingleShot;.access$2800:(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String; // method@b8af │ │ +413b68: 0c02 |0100: move-result-object v2 │ │ +413b6a: 6e20 f95c 2300 |0101: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +413b70: 1a02 1400 |0104: const-string v2, " │ │ Signature Key (" // string@0014 │ │ -413b78: 6e20 f95c 2300 |0106: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -413b7e: 6e20 035b 3400 |0109: invoke-virtual {v4, v3}, Landroid/widget/TextView;.append:(Ljava/lang/CharSequence;)V // method@5b03 │ │ -413b84: 2202 ba09 |010c: new-instance v2, Landroid/text/SpannableStringBuilder; // type@09ba │ │ -413b88: 5407 005d |010e: iget-object v7, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ -413b8c: 7110 b3b8 0700 |0110: invoke-static {v7}, Lorg/purple/smoke/Settings$7SingleShot;.access$3200:(Lorg/purple/smoke/Settings$7SingleShot;)[Ljava/lang/String; // method@b8b3 │ │ -413b92: 0c07 |0113: move-result-object v7 │ │ -413b94: 1218 |0114: const/4 v8, #int 1 // #1 │ │ -413b96: 4607 0708 |0115: aget-object v7, v7, v8 │ │ -413b9a: 6e20 b85c a700 |0117: invoke-virtual {v7, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -413ba0: 0a07 |011a: move-result v7 │ │ -413ba2: 3807 0300 |011b: if-eqz v7, 011e // +0003 │ │ -413ba6: 2802 |011d: goto 011f // +0002 │ │ -413ba8: 07cb |011e: move-object v11, v12 │ │ -413baa: 7020 4a54 b200 |011f: invoke-direct {v2, v11}, Landroid/text/SpannableStringBuilder;.:(Ljava/lang/CharSequence;)V // method@544a │ │ -413bb0: 5407 005d |0122: iget-object v7, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ -413bb4: 7110 b3b8 0700 |0124: invoke-static {v7}, Lorg/purple/smoke/Settings$7SingleShot;.access$3200:(Lorg/purple/smoke/Settings$7SingleShot;)[Ljava/lang/String; // method@b8b3 │ │ -413bba: 0c07 |0127: move-result-object v7 │ │ -413bbc: 4607 0708 |0128: aget-object v7, v7, v8 │ │ -413bc0: 6e20 b85c a700 |012a: invoke-virtual {v7, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -413bc6: 0a07 |012d: move-result v7 │ │ -413bc8: 3807 1b00 |012e: if-eqz v7, 0149 // +001b │ │ -413bcc: 2207 c609 |0130: new-instance v7, Landroid/text/style/ForegroundColorSpan; // type@09c6 │ │ -413bd0: 1308 3200 |0132: const/16 v8, #int 50 // #32 │ │ -413bd4: 130a 7d00 |0134: const/16 v10, #int 125 // #7d │ │ -413bd8: 130b 2e00 |0136: const/16 v11, #int 46 // #2e │ │ -413bdc: 7130 c902 ab08 |0138: invoke-static {v11, v10, v8}, Landroid/graphics/Color;.rgb:(III)I // method@02c9 │ │ -413be2: 0a08 |013b: move-result v8 │ │ -413be4: 7020 6c54 8700 |013c: invoke-direct {v7, v8}, Landroid/text/style/ForegroundColorSpan;.:(I)V // method@546c │ │ -413bea: 6e10 4f54 0200 |013f: invoke-virtual {v2}, Landroid/text/SpannableStringBuilder;.length:()I // method@544f │ │ -413bf0: 0a08 |0142: move-result v8 │ │ -413bf2: 130a 2100 |0143: const/16 v10, #int 33 // #21 │ │ -413bf6: 6e5a 5054 7289 |0145: invoke-virtual {v2, v7, v9, v8, v10}, Landroid/text/SpannableStringBuilder;.setSpan:(Ljava/lang/Object;III)V // method@5450 │ │ -413bfc: 2817 |0148: goto 015f // +0017 │ │ -413bfe: 130a 2100 |0149: const/16 v10, #int 33 // #21 │ │ -413c02: 2207 c609 |014b: new-instance v7, Landroid/text/style/ForegroundColorSpan; // type@09c6 │ │ -413c06: 1308 c600 |014d: const/16 v8, #int 198 // #c6 │ │ -413c0a: 130b 2800 |014f: const/16 v11, #int 40 // #28 │ │ -413c0e: 7130 c902 b80b |0151: invoke-static {v8, v11, v11}, Landroid/graphics/Color;.rgb:(III)I // method@02c9 │ │ -413c14: 0a08 |0154: move-result v8 │ │ -413c16: 7020 6c54 8700 |0155: invoke-direct {v7, v8}, Landroid/text/style/ForegroundColorSpan;.:(I)V // method@546c │ │ -413c1c: 6e10 4f54 0200 |0158: invoke-virtual {v2}, Landroid/text/SpannableStringBuilder;.length:()I // method@544f │ │ -413c22: 0a08 |015b: move-result v8 │ │ -413c24: 6e5a 5054 7289 |015c: invoke-virtual {v2, v7, v9, v8, v10}, Landroid/text/SpannableStringBuilder;.setSpan:(Ljava/lang/Object;III)V // method@5450 │ │ -413c2a: 6e20 035b 2400 |015f: invoke-virtual {v4, v2}, Landroid/widget/TextView;.append:(Ljava/lang/CharSequence;)V // method@5b03 │ │ -413c30: 6e10 ff5c 0300 |0162: invoke-virtual {v3}, Ljava/lang/StringBuilder;.length:()I // method@5cff │ │ -413c36: 0a02 |0165: move-result v2 │ │ -413c38: 6e30 fd5c 9302 |0166: invoke-virtual {v3, v9, v2}, Ljava/lang/StringBuilder;.delete:(II)Ljava/lang/StringBuilder; // method@5cfd │ │ -413c3e: 6e20 f95c 6300 |0169: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -413c44: 5402 005d |016c: iget-object v2, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ -413c48: 7110 b0b8 0200 |016e: invoke-static {v2}, Lorg/purple/smoke/Settings$7SingleShot;.access$2900:(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String; // method@b8b0 │ │ -413c4e: 0c02 |0171: move-result-object v2 │ │ -413c50: 6e20 f95c 2300 |0172: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -413c56: 6e10 035d 0300 |0175: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -413c5c: 0c02 |0178: move-result-object v2 │ │ -413c5e: 6e20 035b 2400 |0179: invoke-virtual {v4, v2}, Landroid/widget/TextView;.append:(Ljava/lang/CharSequence;)V // method@5b03 │ │ -413c64: 283e |017c: goto 01ba // +003e │ │ -413c66: 5402 005d |017d: iget-object v2, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ -413c6a: 7110 b1b8 0200 |017f: invoke-static {v2}, Lorg/purple/smoke/Settings$7SingleShot;.access$3000:(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String; // method@b8b1 │ │ -413c70: 0c02 |0182: move-result-object v2 │ │ -413c72: 6e10 c35c 0200 |0183: invoke-virtual {v2}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -413c78: 0a02 |0186: move-result v2 │ │ -413c7a: 3802 0d00 |0187: if-eqz v2, 0194 // +000d │ │ -413c7e: 1a02 1e4f |0189: const-string v2, "Unable to gather details " // string@4f1e │ │ -413c82: 6e20 f95c 2300 |018b: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -413c88: 1a02 d667 |018e: const-string v2, "for the selected participant." // string@67d6 │ │ -413c8c: 6e20 f95c 2300 |0190: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -413c92: 2820 |0193: goto 01b3 // +0020 │ │ -413c94: 1a02 1f4f |0194: const-string v2, "Unable to gather details for " // string@4f1f │ │ -413c98: 6e20 f95c 2300 |0196: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -413c9e: 5402 005d |0199: iget-object v2, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ -413ca2: 7110 b2b8 0200 |019b: invoke-static {v2}, Lorg/purple/smoke/Settings$7SingleShot;.access$3100:(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String; // method@b8b2 │ │ -413ca8: 0c02 |019e: move-result-object v2 │ │ -413caa: 6e20 f95c 2300 |019f: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -413cb0: 6e20 f95c 7300 |01a2: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -413cb6: 5402 005d |01a5: iget-object v2, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ -413cba: 7110 b1b8 0200 |01a7: invoke-static {v2}, Lorg/purple/smoke/Settings$7SingleShot;.access$3000:(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String; // method@b8b1 │ │ -413cc0: 0c02 |01aa: move-result-object v2 │ │ -413cc2: 6e20 f95c 2300 |01ab: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -413cc8: 1a02 0404 |01ae: const-string v2, ")." // string@0404 │ │ -413ccc: 6e20 f95c 2300 |01b0: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -413cd2: 6e10 035d 0300 |01b3: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -413cd8: 0c02 |01b6: move-result-object v2 │ │ -413cda: 6e20 495b 2400 |01b7: invoke-virtual {v4, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -413ce0: 1302 ff00 |01ba: const/16 v2, #int 255 // #ff │ │ -413ce4: 7130 c902 2202 |01bc: invoke-static {v2, v2, v2}, Landroid/graphics/Color;.rgb:(III)I // method@02c9 │ │ -413cea: 0a02 |01bf: move-result v2 │ │ -413cec: 6e20 275b 2400 |01c0: invoke-virtual {v4, v2}, Landroid/widget/TextView;.setBackgroundColor:(I)V // method@5b27 │ │ -413cf2: 1502 2041 |01c3: const/high16 v2, #int 1092616192 // #4120 │ │ -413cf6: a805 0502 |01c5: mul-float v5, v5, v2 │ │ -413cfa: 8752 |01c7: float-to-int v2, v5 │ │ -413cfc: 6e52 415b 2422 |01c8: invoke-virtual {v4, v2, v2, v2, v2}, Landroid/widget/TextView;.setPaddingRelative:(IIII)V // method@5b41 │ │ -413d02: 1502 8041 |01cb: const/high16 v2, #int 1098907648 // #4180 │ │ -413d06: 6e20 4f5b 2400 |01cd: invoke-virtual {v4, v2}, Landroid/widget/TextView;.setTextSize:(F)V // method@5b4f │ │ -413d0c: 6e20 445a 4100 |01d0: invoke-virtual {v1, v4}, Landroid/widget/PopupWindow;.setContentView:(Landroid/view/View;)V // method@5a44 │ │ -413d12: 1212 |01d3: const/4 v2, #int 1 // #1 │ │ -413d14: 6e20 4b5a 2100 |01d4: invoke-virtual {v1, v2}, Landroid/widget/PopupWindow;.setOutsideTouchable:(Z)V // method@5a4b │ │ -413d1a: 6002 6d00 |01d7: sget v2, Landroid/os/Build$VERSION;.SDK_INT:I // field@006d │ │ -413d1e: 1303 1700 |01d9: const/16 v3, #int 23 // #17 │ │ -413d22: 3532 0c00 |01db: if-ge v2, v3, 01e7 // +000c │ │ -413d26: 1302 c201 |01dd: const/16 v2, #int 450 // #1c2 │ │ -413d2a: 6e20 485a 2100 |01df: invoke-virtual {v1, v2}, Landroid/widget/PopupWindow;.setHeight:(I)V // method@5a48 │ │ -413d30: 1302 bc02 |01e2: const/16 v2, #int 700 // #2bc │ │ -413d34: 6e20 4f5a 2100 |01e4: invoke-virtual {v1, v2}, Landroid/widget/PopupWindow;.setWidth:(I)V // method@5a4f │ │ -413d3a: 5402 005d |01e7: iget-object v2, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ -413d3e: 5422 075d |01e9: iget-object v2, v2, Lorg/purple/smoke/Settings$7SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5d07 │ │ -413d42: 1403 bf00 087f |01eb: const v3, #float 1.80779e+38 // #7f0800bf │ │ -413d48: 6e20 dcb8 3200 |01ee: invoke-virtual {v2, v3}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -413d4e: 0c02 |01f1: move-result-object v2 │ │ -413d50: 6e20 515a 2100 |01f2: invoke-virtual {v1, v2}, Landroid/widget/PopupWindow;.showAsDropDown:(Landroid/view/View;)V // method@5a51 │ │ -413d56: 0e00 |01f5: return-void │ │ +413b74: 6e20 f95c 2300 |0106: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +413b7a: 6e20 035b 3400 |0109: invoke-virtual {v4, v3}, Landroid/widget/TextView;.append:(Ljava/lang/CharSequence;)V // method@5b03 │ │ +413b80: 2202 ba09 |010c: new-instance v2, Landroid/text/SpannableStringBuilder; // type@09ba │ │ +413b84: 5407 005d |010e: iget-object v7, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ +413b88: 7110 b3b8 0700 |0110: invoke-static {v7}, Lorg/purple/smoke/Settings$7SingleShot;.access$3200:(Lorg/purple/smoke/Settings$7SingleShot;)[Ljava/lang/String; // method@b8b3 │ │ +413b8e: 0c07 |0113: move-result-object v7 │ │ +413b90: 1218 |0114: const/4 v8, #int 1 // #1 │ │ +413b92: 4607 0708 |0115: aget-object v7, v7, v8 │ │ +413b96: 6e20 b85c a700 |0117: invoke-virtual {v7, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +413b9c: 0a07 |011a: move-result v7 │ │ +413b9e: 3807 0300 |011b: if-eqz v7, 011e // +0003 │ │ +413ba2: 2802 |011d: goto 011f // +0002 │ │ +413ba4: 07cb |011e: move-object v11, v12 │ │ +413ba6: 7020 4a54 b200 |011f: invoke-direct {v2, v11}, Landroid/text/SpannableStringBuilder;.:(Ljava/lang/CharSequence;)V // method@544a │ │ +413bac: 5407 005d |0122: iget-object v7, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ +413bb0: 7110 b3b8 0700 |0124: invoke-static {v7}, Lorg/purple/smoke/Settings$7SingleShot;.access$3200:(Lorg/purple/smoke/Settings$7SingleShot;)[Ljava/lang/String; // method@b8b3 │ │ +413bb6: 0c07 |0127: move-result-object v7 │ │ +413bb8: 4607 0708 |0128: aget-object v7, v7, v8 │ │ +413bbc: 6e20 b85c a700 |012a: invoke-virtual {v7, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +413bc2: 0a07 |012d: move-result v7 │ │ +413bc4: 3807 1b00 |012e: if-eqz v7, 0149 // +001b │ │ +413bc8: 2207 c609 |0130: new-instance v7, Landroid/text/style/ForegroundColorSpan; // type@09c6 │ │ +413bcc: 1308 3200 |0132: const/16 v8, #int 50 // #32 │ │ +413bd0: 130a 7d00 |0134: const/16 v10, #int 125 // #7d │ │ +413bd4: 130b 2e00 |0136: const/16 v11, #int 46 // #2e │ │ +413bd8: 7130 c902 ab08 |0138: invoke-static {v11, v10, v8}, Landroid/graphics/Color;.rgb:(III)I // method@02c9 │ │ +413bde: 0a08 |013b: move-result v8 │ │ +413be0: 7020 6c54 8700 |013c: invoke-direct {v7, v8}, Landroid/text/style/ForegroundColorSpan;.:(I)V // method@546c │ │ +413be6: 6e10 4f54 0200 |013f: invoke-virtual {v2}, Landroid/text/SpannableStringBuilder;.length:()I // method@544f │ │ +413bec: 0a08 |0142: move-result v8 │ │ +413bee: 130a 2100 |0143: const/16 v10, #int 33 // #21 │ │ +413bf2: 6e5a 5054 7289 |0145: invoke-virtual {v2, v7, v9, v8, v10}, Landroid/text/SpannableStringBuilder;.setSpan:(Ljava/lang/Object;III)V // method@5450 │ │ +413bf8: 2817 |0148: goto 015f // +0017 │ │ +413bfa: 130a 2100 |0149: const/16 v10, #int 33 // #21 │ │ +413bfe: 2207 c609 |014b: new-instance v7, Landroid/text/style/ForegroundColorSpan; // type@09c6 │ │ +413c02: 1308 c600 |014d: const/16 v8, #int 198 // #c6 │ │ +413c06: 130b 2800 |014f: const/16 v11, #int 40 // #28 │ │ +413c0a: 7130 c902 b80b |0151: invoke-static {v8, v11, v11}, Landroid/graphics/Color;.rgb:(III)I // method@02c9 │ │ +413c10: 0a08 |0154: move-result v8 │ │ +413c12: 7020 6c54 8700 |0155: invoke-direct {v7, v8}, Landroid/text/style/ForegroundColorSpan;.:(I)V // method@546c │ │ +413c18: 6e10 4f54 0200 |0158: invoke-virtual {v2}, Landroid/text/SpannableStringBuilder;.length:()I // method@544f │ │ +413c1e: 0a08 |015b: move-result v8 │ │ +413c20: 6e5a 5054 7289 |015c: invoke-virtual {v2, v7, v9, v8, v10}, Landroid/text/SpannableStringBuilder;.setSpan:(Ljava/lang/Object;III)V // method@5450 │ │ +413c26: 6e20 035b 2400 |015f: invoke-virtual {v4, v2}, Landroid/widget/TextView;.append:(Ljava/lang/CharSequence;)V // method@5b03 │ │ +413c2c: 6e10 ff5c 0300 |0162: invoke-virtual {v3}, Ljava/lang/StringBuilder;.length:()I // method@5cff │ │ +413c32: 0a02 |0165: move-result v2 │ │ +413c34: 6e30 fd5c 9302 |0166: invoke-virtual {v3, v9, v2}, Ljava/lang/StringBuilder;.delete:(II)Ljava/lang/StringBuilder; // method@5cfd │ │ +413c3a: 6e20 f95c 6300 |0169: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +413c40: 5402 005d |016c: iget-object v2, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ +413c44: 7110 b0b8 0200 |016e: invoke-static {v2}, Lorg/purple/smoke/Settings$7SingleShot;.access$2900:(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String; // method@b8b0 │ │ +413c4a: 0c02 |0171: move-result-object v2 │ │ +413c4c: 6e20 f95c 2300 |0172: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +413c52: 6e10 035d 0300 |0175: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +413c58: 0c02 |0178: move-result-object v2 │ │ +413c5a: 6e20 035b 2400 |0179: invoke-virtual {v4, v2}, Landroid/widget/TextView;.append:(Ljava/lang/CharSequence;)V // method@5b03 │ │ +413c60: 283e |017c: goto 01ba // +003e │ │ +413c62: 5402 005d |017d: iget-object v2, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ +413c66: 7110 b1b8 0200 |017f: invoke-static {v2}, Lorg/purple/smoke/Settings$7SingleShot;.access$3000:(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String; // method@b8b1 │ │ +413c6c: 0c02 |0182: move-result-object v2 │ │ +413c6e: 6e10 c35c 0200 |0183: invoke-virtual {v2}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +413c74: 0a02 |0186: move-result v2 │ │ +413c76: 3802 0d00 |0187: if-eqz v2, 0194 // +000d │ │ +413c7a: 1a02 1e4f |0189: const-string v2, "Unable to gather details " // string@4f1e │ │ +413c7e: 6e20 f95c 2300 |018b: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +413c84: 1a02 d667 |018e: const-string v2, "for the selected participant." // string@67d6 │ │ +413c88: 6e20 f95c 2300 |0190: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +413c8e: 2820 |0193: goto 01b3 // +0020 │ │ +413c90: 1a02 1f4f |0194: const-string v2, "Unable to gather details for " // string@4f1f │ │ +413c94: 6e20 f95c 2300 |0196: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +413c9a: 5402 005d |0199: iget-object v2, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ +413c9e: 7110 b2b8 0200 |019b: invoke-static {v2}, Lorg/purple/smoke/Settings$7SingleShot;.access$3100:(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String; // method@b8b2 │ │ +413ca4: 0c02 |019e: move-result-object v2 │ │ +413ca6: 6e20 f95c 2300 |019f: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +413cac: 6e20 f95c 7300 |01a2: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +413cb2: 5402 005d |01a5: iget-object v2, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ +413cb6: 7110 b1b8 0200 |01a7: invoke-static {v2}, Lorg/purple/smoke/Settings$7SingleShot;.access$3000:(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String; // method@b8b1 │ │ +413cbc: 0c02 |01aa: move-result-object v2 │ │ +413cbe: 6e20 f95c 2300 |01ab: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +413cc4: 1a02 0404 |01ae: const-string v2, ")." // string@0404 │ │ +413cc8: 6e20 f95c 2300 |01b0: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +413cce: 6e10 035d 0300 |01b3: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +413cd4: 0c02 |01b6: move-result-object v2 │ │ +413cd6: 6e20 495b 2400 |01b7: invoke-virtual {v4, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +413cdc: 1302 ff00 |01ba: const/16 v2, #int 255 // #ff │ │ +413ce0: 7130 c902 2202 |01bc: invoke-static {v2, v2, v2}, Landroid/graphics/Color;.rgb:(III)I // method@02c9 │ │ +413ce6: 0a02 |01bf: move-result v2 │ │ +413ce8: 6e20 275b 2400 |01c0: invoke-virtual {v4, v2}, Landroid/widget/TextView;.setBackgroundColor:(I)V // method@5b27 │ │ +413cee: 1502 2041 |01c3: const/high16 v2, #int 1092616192 // #4120 │ │ +413cf2: a805 0502 |01c5: mul-float v5, v5, v2 │ │ +413cf6: 8752 |01c7: float-to-int v2, v5 │ │ +413cf8: 6e52 415b 2422 |01c8: invoke-virtual {v4, v2, v2, v2, v2}, Landroid/widget/TextView;.setPaddingRelative:(IIII)V // method@5b41 │ │ +413cfe: 1502 8041 |01cb: const/high16 v2, #int 1098907648 // #4180 │ │ +413d02: 6e20 4f5b 2400 |01cd: invoke-virtual {v4, v2}, Landroid/widget/TextView;.setTextSize:(F)V // method@5b4f │ │ +413d08: 6e20 445a 4100 |01d0: invoke-virtual {v1, v4}, Landroid/widget/PopupWindow;.setContentView:(Landroid/view/View;)V // method@5a44 │ │ +413d0e: 1212 |01d3: const/4 v2, #int 1 // #1 │ │ +413d10: 6e20 4b5a 2100 |01d4: invoke-virtual {v1, v2}, Landroid/widget/PopupWindow;.setOutsideTouchable:(Z)V // method@5a4b │ │ +413d16: 6002 6d00 |01d7: sget v2, Landroid/os/Build$VERSION;.SDK_INT:I // field@006d │ │ +413d1a: 1303 1700 |01d9: const/16 v3, #int 23 // #17 │ │ +413d1e: 3532 0c00 |01db: if-ge v2, v3, 01e7 // +000c │ │ +413d22: 1302 c201 |01dd: const/16 v2, #int 450 // #1c2 │ │ +413d26: 6e20 485a 2100 |01df: invoke-virtual {v1, v2}, Landroid/widget/PopupWindow;.setHeight:(I)V // method@5a48 │ │ +413d2c: 1302 bc02 |01e2: const/16 v2, #int 700 // #2bc │ │ +413d30: 6e20 4f5a 2100 |01e4: invoke-virtual {v1, v2}, Landroid/widget/PopupWindow;.setWidth:(I)V // method@5a4f │ │ +413d36: 5402 005d |01e7: iget-object v2, v0, Lorg/purple/smoke/Settings$7SingleShot$1;.this$1:Lorg/purple/smoke/Settings$7SingleShot; // field@5d00 │ │ +413d3a: 5422 075d |01e9: iget-object v2, v2, Lorg/purple/smoke/Settings$7SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5d07 │ │ +413d3e: 1403 bf00 087f |01eb: const v3, #float 1.80779e+38 // #7f0800bf │ │ +413d44: 6e20 dcb8 3200 |01ee: invoke-virtual {v2, v3}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +413d4a: 0c02 |01f1: move-result-object v2 │ │ +413d4c: 6e20 515a 2100 |01f2: invoke-virtual {v1, v2}, Landroid/widget/PopupWindow;.showAsDropDown:(Landroid/view/View;)V // method@5a51 │ │ +413d52: 0e00 |01f5: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=3007 │ │ 0x000a line=3008 │ │ 0x0014 line=3009 │ │ 0x0017 line=3010 │ │ 0x001e line=3011 │ │ @@ -726408,28 +726407,28 @@ │ │ type : '(Lorg/purple/smoke/Settings;Ljava/lang/String;Landroid/widget/ProgressBar;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 1 │ │ insns size : 25 16-bit code units │ │ -413dd0: |[413dd0] org.purple.smoke.Settings$7SingleShot.:(Lorg/purple/smoke/Settings;Ljava/lang/String;Landroid/widget/ProgressBar;)V │ │ -413de0: 5b01 075d |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$7SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5d07 │ │ -413de4: 5b03 085d |0002: iput-object v3, v0, Lorg/purple/smoke/Settings$7SingleShot;.val$bar:Landroid/widget/ProgressBar; // field@5d08 │ │ -413de8: 7010 8f5c 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -413dee: 1a01 0000 |0007: const-string v1, "" // string@0000 │ │ -413df2: 5b01 015d |0009: iput-object v1, v0, Lorg/purple/smoke/Settings$7SingleShot;.m_name:Ljava/lang/String; // field@5d01 │ │ -413df6: 5b01 025d |000b: iput-object v1, v0, Lorg/purple/smoke/Settings$7SingleShot;.m_oid:Ljava/lang/String; // field@5d02 │ │ -413dfa: 5b01 035d |000d: iput-object v1, v0, Lorg/purple/smoke/Settings$7SingleShot;.m_sipHashId:Ljava/lang/String; // field@5d03 │ │ -413dfe: 5b01 045d |000f: iput-object v1, v0, Lorg/purple/smoke/Settings$7SingleShot;.m_string1:Ljava/lang/String; // field@5d04 │ │ -413e02: 5b01 055d |0011: iput-object v1, v0, Lorg/purple/smoke/Settings$7SingleShot;.m_string2:Ljava/lang/String; // field@5d05 │ │ -413e06: 1201 |0013: const/4 v1, #int 0 // #0 │ │ -413e08: 5b01 065d |0014: iput-object v1, v0, Lorg/purple/smoke/Settings$7SingleShot;.m_strings:[Ljava/lang/String; // field@5d06 │ │ -413e0c: 5b02 025d |0016: iput-object v2, v0, Lorg/purple/smoke/Settings$7SingleShot;.m_oid:Ljava/lang/String; // field@5d02 │ │ -413e10: 0e00 |0018: return-void │ │ +413dcc: |[413dcc] org.purple.smoke.Settings$7SingleShot.:(Lorg/purple/smoke/Settings;Ljava/lang/String;Landroid/widget/ProgressBar;)V │ │ +413ddc: 5b01 075d |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$7SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5d07 │ │ +413de0: 5b03 085d |0002: iput-object v3, v0, Lorg/purple/smoke/Settings$7SingleShot;.val$bar:Landroid/widget/ProgressBar; // field@5d08 │ │ +413de4: 7010 8f5c 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +413dea: 1a01 0000 |0007: const-string v1, "" // string@0000 │ │ +413dee: 5b01 015d |0009: iput-object v1, v0, Lorg/purple/smoke/Settings$7SingleShot;.m_name:Ljava/lang/String; // field@5d01 │ │ +413df2: 5b01 025d |000b: iput-object v1, v0, Lorg/purple/smoke/Settings$7SingleShot;.m_oid:Ljava/lang/String; // field@5d02 │ │ +413df6: 5b01 035d |000d: iput-object v1, v0, Lorg/purple/smoke/Settings$7SingleShot;.m_sipHashId:Ljava/lang/String; // field@5d03 │ │ +413dfa: 5b01 045d |000f: iput-object v1, v0, Lorg/purple/smoke/Settings$7SingleShot;.m_string1:Ljava/lang/String; // field@5d04 │ │ +413dfe: 5b01 055d |0011: iput-object v1, v0, Lorg/purple/smoke/Settings$7SingleShot;.m_string2:Ljava/lang/String; // field@5d05 │ │ +413e02: 1201 |0013: const/4 v1, #int 0 // #0 │ │ +413e04: 5b01 065d |0014: iput-object v1, v0, Lorg/purple/smoke/Settings$7SingleShot;.m_strings:[Ljava/lang/String; // field@5d06 │ │ +413e08: 5b02 025d |0016: iput-object v2, v0, Lorg/purple/smoke/Settings$7SingleShot;.m_oid:Ljava/lang/String; // field@5d02 │ │ +413e0c: 0e00 |0018: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=2958 │ │ 0x0009 line=2950 │ │ 0x000b line=2951 │ │ 0x000d line=2952 │ │ 0x000f line=2953 │ │ @@ -726447,17 +726446,17 @@ │ │ type : '(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -413d58: |[413d58] org.purple.smoke.Settings$7SingleShot.access$2800:(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String; │ │ -413d68: 5400 045d |0000: iget-object v0, v0, Lorg/purple/smoke/Settings$7SingleShot;.m_string1:Ljava/lang/String; // field@5d04 │ │ -413d6c: 1100 |0002: return-object v0 │ │ +413d54: |[413d54] org.purple.smoke.Settings$7SingleShot.access$2800:(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String; │ │ +413d64: 5400 045d |0000: iget-object v0, v0, Lorg/purple/smoke/Settings$7SingleShot;.m_string1:Ljava/lang/String; // field@5d04 │ │ +413d68: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=2948 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/Settings$7SingleShot; │ │ │ │ #2 : (in Lorg/purple/smoke/Settings$7SingleShot;) │ │ @@ -726465,17 +726464,17 @@ │ │ type : '(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -413d70: |[413d70] org.purple.smoke.Settings$7SingleShot.access$2900:(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String; │ │ -413d80: 5400 055d |0000: iget-object v0, v0, Lorg/purple/smoke/Settings$7SingleShot;.m_string2:Ljava/lang/String; // field@5d05 │ │ -413d84: 1100 |0002: return-object v0 │ │ +413d6c: |[413d6c] org.purple.smoke.Settings$7SingleShot.access$2900:(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String; │ │ +413d7c: 5400 055d |0000: iget-object v0, v0, Lorg/purple/smoke/Settings$7SingleShot;.m_string2:Ljava/lang/String; // field@5d05 │ │ +413d80: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=2948 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/Settings$7SingleShot; │ │ │ │ #3 : (in Lorg/purple/smoke/Settings$7SingleShot;) │ │ @@ -726483,17 +726482,17 @@ │ │ type : '(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -413d88: |[413d88] org.purple.smoke.Settings$7SingleShot.access$3000:(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String; │ │ -413d98: 5400 035d |0000: iget-object v0, v0, Lorg/purple/smoke/Settings$7SingleShot;.m_sipHashId:Ljava/lang/String; // field@5d03 │ │ -413d9c: 1100 |0002: return-object v0 │ │ +413d84: |[413d84] org.purple.smoke.Settings$7SingleShot.access$3000:(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String; │ │ +413d94: 5400 035d |0000: iget-object v0, v0, Lorg/purple/smoke/Settings$7SingleShot;.m_sipHashId:Ljava/lang/String; // field@5d03 │ │ +413d98: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=2948 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/Settings$7SingleShot; │ │ │ │ #4 : (in Lorg/purple/smoke/Settings$7SingleShot;) │ │ @@ -726501,17 +726500,17 @@ │ │ type : '(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -413da0: |[413da0] org.purple.smoke.Settings$7SingleShot.access$3100:(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String; │ │ -413db0: 5400 015d |0000: iget-object v0, v0, Lorg/purple/smoke/Settings$7SingleShot;.m_name:Ljava/lang/String; // field@5d01 │ │ -413db4: 1100 |0002: return-object v0 │ │ +413d9c: |[413d9c] org.purple.smoke.Settings$7SingleShot.access$3100:(Lorg/purple/smoke/Settings$7SingleShot;)Ljava/lang/String; │ │ +413dac: 5400 015d |0000: iget-object v0, v0, Lorg/purple/smoke/Settings$7SingleShot;.m_name:Ljava/lang/String; // field@5d01 │ │ +413db0: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=2948 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/Settings$7SingleShot; │ │ │ │ #5 : (in Lorg/purple/smoke/Settings$7SingleShot;) │ │ @@ -726519,17 +726518,17 @@ │ │ type : '(Lorg/purple/smoke/Settings$7SingleShot;)[Ljava/lang/String;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -413db8: |[413db8] org.purple.smoke.Settings$7SingleShot.access$3200:(Lorg/purple/smoke/Settings$7SingleShot;)[Ljava/lang/String; │ │ -413dc8: 5400 065d |0000: iget-object v0, v0, Lorg/purple/smoke/Settings$7SingleShot;.m_strings:[Ljava/lang/String; // field@5d06 │ │ -413dcc: 1100 |0002: return-object v0 │ │ +413db4: |[413db4] org.purple.smoke.Settings$7SingleShot.access$3200:(Lorg/purple/smoke/Settings$7SingleShot;)[Ljava/lang/String; │ │ +413dc4: 5400 065d |0000: iget-object v0, v0, Lorg/purple/smoke/Settings$7SingleShot;.m_strings:[Ljava/lang/String; // field@5d06 │ │ +413dc8: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=2948 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/Settings$7SingleShot; │ │ │ │ Virtual methods - │ │ @@ -726538,91 +726537,91 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 146 16-bit code units │ │ -413e14: |[413e14] org.purple.smoke.Settings$7SingleShot.run:()V │ │ -413e24: 5450 075d |0000: iget-object v0, v5, Lorg/purple/smoke/Settings$7SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5d07 │ │ -413e28: 7110 d3b8 0000 |0002: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -413e2e: 0c00 |0005: move-result-object v0 │ │ -413e30: 7100 d2b8 0000 |0006: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -413e36: 0c01 |0009: move-result-object v1 │ │ -413e38: 5452 025d |000a: iget-object v2, v5, Lorg/purple/smoke/Settings$7SingleShot;.m_oid:Ljava/lang/String; // field@5d02 │ │ -413e3c: 6e30 0fb6 1002 |000c: invoke-virtual {v0, v1, v2}, Lorg/purple/smoke/Database;.readSipHashId:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Lorg/purple/smoke/SipHashIdElement; // method@b60f │ │ -413e42: 0c00 |000f: move-result-object v0 │ │ -413e44: 1a01 0000 |0010: const-string v1, "" // string@0000 │ │ -413e48: 3900 0400 |0012: if-nez v0, 0016 // +0004 │ │ -413e4c: 0712 |0014: move-object v2, v1 │ │ -413e4e: 2803 |0015: goto 0018 // +0003 │ │ -413e50: 5402 375d |0016: iget-object v2, v0, Lorg/purple/smoke/SipHashIdElement;.m_sipHashId:Ljava/lang/String; // field@5d37 │ │ -413e54: 5b52 035d |0018: iput-object v2, v5, Lorg/purple/smoke/Settings$7SingleShot;.m_sipHashId:Ljava/lang/String; // field@5d03 │ │ -413e58: 3900 0400 |001a: if-nez v0, 001e // +0004 │ │ -413e5c: 0712 |001c: move-object v2, v1 │ │ -413e5e: 2803 |001d: goto 0020 // +0003 │ │ -413e60: 5402 2f5d |001e: iget-object v2, v0, Lorg/purple/smoke/SipHashIdElement;.m_encryptionAlgorithm:Ljava/lang/String; // field@5d2f │ │ -413e64: 3900 0400 |0020: if-nez v0, 0024 // +0004 │ │ -413e68: 0710 |0022: move-object v0, v1 │ │ -413e6a: 2803 |0023: goto 0026 // +0003 │ │ -413e6c: 5400 345d |0024: iget-object v0, v0, Lorg/purple/smoke/SipHashIdElement;.m_name:Ljava/lang/String; // field@5d34 │ │ -413e70: 5b50 015d |0026: iput-object v0, v5, Lorg/purple/smoke/Settings$7SingleShot;.m_name:Ljava/lang/String; // field@5d01 │ │ -413e74: 5450 075d |0028: iget-object v0, v5, Lorg/purple/smoke/Settings$7SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5d07 │ │ -413e78: 7110 d3b8 0000 |002a: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -413e7e: 0c00 |002d: move-result-object v0 │ │ -413e80: 7100 d2b8 0000 |002e: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -413e86: 0c03 |0031: move-result-object v3 │ │ -413e88: 5454 035d |0032: iget-object v4, v5, Lorg/purple/smoke/Settings$7SingleShot;.m_sipHashId:Ljava/lang/String; // field@5d03 │ │ -413e8c: 6e30 ffb5 3004 |0034: invoke-virtual {v0, v3, v4}, Lorg/purple/smoke/Database;.publicEncryptionKeyForSipHashId:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/security/PublicKey; // method@b5ff │ │ -413e92: 0c00 |0037: move-result-object v0 │ │ -413e94: 1203 |0038: const/4 v3, #int 0 // #0 │ │ -413e96: 7130 80b5 0302 |0039: invoke-static {v3, v0, v2}, Lorg/purple/smoke/Cryptography;.fancyKeyInformationOutput:(Ljava/security/PrivateKey;Ljava/security/PublicKey;Ljava/lang/String;)Ljava/lang/String; // method@b580 │ │ -413e9c: 0c00 |003c: move-result-object v0 │ │ -413e9e: 6e10 d35c 0000 |003d: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ -413ea4: 0c00 |0040: move-result-object v0 │ │ -413ea6: 5b50 045d |0041: iput-object v0, v5, Lorg/purple/smoke/Settings$7SingleShot;.m_string1:Ljava/lang/String; // field@5d04 │ │ -413eaa: 5450 075d |0043: iget-object v0, v5, Lorg/purple/smoke/Settings$7SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5d07 │ │ -413eae: 7110 d3b8 0000 |0045: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -413eb4: 0c00 |0048: move-result-object v0 │ │ -413eb6: 7100 d2b8 0000 |0049: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -413ebc: 0c02 |004c: move-result-object v2 │ │ -413ebe: 5454 035d |004d: iget-object v4, v5, Lorg/purple/smoke/Settings$7SingleShot;.m_sipHashId:Ljava/lang/String; // field@5d03 │ │ -413ec2: 6e30 01b6 2004 |004f: invoke-virtual {v0, v2, v4}, Lorg/purple/smoke/Database;.publicSignatureKeyForSipHashId:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/security/PublicKey; // method@b601 │ │ -413ec8: 0c00 |0052: move-result-object v0 │ │ -413eca: 7130 80b5 0301 |0053: invoke-static {v3, v0, v1}, Lorg/purple/smoke/Cryptography;.fancyKeyInformationOutput:(Ljava/security/PrivateKey;Ljava/security/PublicKey;Ljava/lang/String;)Ljava/lang/String; // method@b580 │ │ -413ed0: 0c00 |0056: move-result-object v0 │ │ -413ed2: 6e10 d35c 0000 |0057: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ -413ed8: 0c00 |005a: move-result-object v0 │ │ -413eda: 5b50 055d |005b: iput-object v0, v5, Lorg/purple/smoke/Settings$7SingleShot;.m_string2:Ljava/lang/String; // field@5d05 │ │ -413ede: 5450 075d |005d: iget-object v0, v5, Lorg/purple/smoke/Settings$7SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5d07 │ │ -413ee2: 7110 d3b8 0000 |005f: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ -413ee8: 0c00 |0062: move-result-object v0 │ │ -413eea: 7100 d2b8 0000 |0063: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ -413ef0: 0c01 |0066: move-result-object v1 │ │ -413ef2: 5452 035d |0067: iget-object v2, v5, Lorg/purple/smoke/Settings$7SingleShot;.m_sipHashId:Ljava/lang/String; // field@5d03 │ │ -413ef6: 6e30 edb5 1002 |0069: invoke-virtual {v0, v1, v2}, Lorg/purple/smoke/Database;.keysSigned:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)[Ljava/lang/String; // method@b5ed │ │ -413efc: 0c00 |006c: move-result-object v0 │ │ -413efe: 5b50 065d |006d: iput-object v0, v5, Lorg/purple/smoke/Settings$7SingleShot;.m_strings:[Ljava/lang/String; // field@5d06 │ │ -413f02: 5450 015d |006f: iget-object v0, v5, Lorg/purple/smoke/Settings$7SingleShot;.m_name:Ljava/lang/String; // field@5d01 │ │ -413f06: 6e10 c35c 0000 |0071: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -413f0c: 0a00 |0074: move-result v0 │ │ -413f0e: 3800 0600 |0075: if-eqz v0, 007b // +0006 │ │ -413f12: 5450 035d |0077: iget-object v0, v5, Lorg/purple/smoke/Settings$7SingleShot;.m_sipHashId:Ljava/lang/String; // field@5d03 │ │ -413f16: 5b50 015d |0079: iput-object v0, v5, Lorg/purple/smoke/Settings$7SingleShot;.m_name:Ljava/lang/String; // field@5d01 │ │ -413f1a: 5450 065d |007b: iget-object v0, v5, Lorg/purple/smoke/Settings$7SingleShot;.m_strings:[Ljava/lang/String; // field@5d06 │ │ -413f1e: 3900 0a00 |007d: if-nez v0, 0087 // +000a │ │ -413f22: 1a00 c066 |007f: const-string v0, "false" // string@66c0 │ │ -413f26: 2420 1a1b 0000 |0081: filled-new-array {v0, v0}, [Ljava/lang/String; // type@1b1a │ │ -413f2c: 0c00 |0084: move-result-object v0 │ │ -413f2e: 5b50 065d |0085: iput-object v0, v5, Lorg/purple/smoke/Settings$7SingleShot;.m_strings:[Ljava/lang/String; // field@5d06 │ │ -413f32: 5450 075d |0087: iget-object v0, v5, Lorg/purple/smoke/Settings$7SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5d07 │ │ -413f36: 2201 751a |0089: new-instance v1, Lorg/purple/smoke/Settings$7SingleShot$1; // type@1a75 │ │ -413f3a: 7020 acb8 5100 |008b: invoke-direct {v1, v5}, Lorg/purple/smoke/Settings$7SingleShot$1;.:(Lorg/purple/smoke/Settings$7SingleShot;)V // method@b8ac │ │ -413f40: 6e20 fdb8 1000 |008e: invoke-virtual {v0, v1}, Lorg/purple/smoke/Settings;.runOnUiThread:(Ljava/lang/Runnable;)V // method@b8fd │ │ -413f46: 0e00 |0091: return-void │ │ +413e10: |[413e10] org.purple.smoke.Settings$7SingleShot.run:()V │ │ +413e20: 5450 075d |0000: iget-object v0, v5, Lorg/purple/smoke/Settings$7SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5d07 │ │ +413e24: 7110 d3b8 0000 |0002: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +413e2a: 0c00 |0005: move-result-object v0 │ │ +413e2c: 7100 d2b8 0000 |0006: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +413e32: 0c01 |0009: move-result-object v1 │ │ +413e34: 5452 025d |000a: iget-object v2, v5, Lorg/purple/smoke/Settings$7SingleShot;.m_oid:Ljava/lang/String; // field@5d02 │ │ +413e38: 6e30 0fb6 1002 |000c: invoke-virtual {v0, v1, v2}, Lorg/purple/smoke/Database;.readSipHashId:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Lorg/purple/smoke/SipHashIdElement; // method@b60f │ │ +413e3e: 0c00 |000f: move-result-object v0 │ │ +413e40: 1a01 0000 |0010: const-string v1, "" // string@0000 │ │ +413e44: 3900 0400 |0012: if-nez v0, 0016 // +0004 │ │ +413e48: 0712 |0014: move-object v2, v1 │ │ +413e4a: 2803 |0015: goto 0018 // +0003 │ │ +413e4c: 5402 375d |0016: iget-object v2, v0, Lorg/purple/smoke/SipHashIdElement;.m_sipHashId:Ljava/lang/String; // field@5d37 │ │ +413e50: 5b52 035d |0018: iput-object v2, v5, Lorg/purple/smoke/Settings$7SingleShot;.m_sipHashId:Ljava/lang/String; // field@5d03 │ │ +413e54: 3900 0400 |001a: if-nez v0, 001e // +0004 │ │ +413e58: 0712 |001c: move-object v2, v1 │ │ +413e5a: 2803 |001d: goto 0020 // +0003 │ │ +413e5c: 5402 2f5d |001e: iget-object v2, v0, Lorg/purple/smoke/SipHashIdElement;.m_encryptionAlgorithm:Ljava/lang/String; // field@5d2f │ │ +413e60: 3900 0400 |0020: if-nez v0, 0024 // +0004 │ │ +413e64: 0710 |0022: move-object v0, v1 │ │ +413e66: 2803 |0023: goto 0026 // +0003 │ │ +413e68: 5400 345d |0024: iget-object v0, v0, Lorg/purple/smoke/SipHashIdElement;.m_name:Ljava/lang/String; // field@5d34 │ │ +413e6c: 5b50 015d |0026: iput-object v0, v5, Lorg/purple/smoke/Settings$7SingleShot;.m_name:Ljava/lang/String; // field@5d01 │ │ +413e70: 5450 075d |0028: iget-object v0, v5, Lorg/purple/smoke/Settings$7SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5d07 │ │ +413e74: 7110 d3b8 0000 |002a: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +413e7a: 0c00 |002d: move-result-object v0 │ │ +413e7c: 7100 d2b8 0000 |002e: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +413e82: 0c03 |0031: move-result-object v3 │ │ +413e84: 5454 035d |0032: iget-object v4, v5, Lorg/purple/smoke/Settings$7SingleShot;.m_sipHashId:Ljava/lang/String; // field@5d03 │ │ +413e88: 6e30 ffb5 3004 |0034: invoke-virtual {v0, v3, v4}, Lorg/purple/smoke/Database;.publicEncryptionKeyForSipHashId:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/security/PublicKey; // method@b5ff │ │ +413e8e: 0c00 |0037: move-result-object v0 │ │ +413e90: 1203 |0038: const/4 v3, #int 0 // #0 │ │ +413e92: 7130 80b5 0302 |0039: invoke-static {v3, v0, v2}, Lorg/purple/smoke/Cryptography;.fancyKeyInformationOutput:(Ljava/security/PrivateKey;Ljava/security/PublicKey;Ljava/lang/String;)Ljava/lang/String; // method@b580 │ │ +413e98: 0c00 |003c: move-result-object v0 │ │ +413e9a: 6e10 d35c 0000 |003d: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ +413ea0: 0c00 |0040: move-result-object v0 │ │ +413ea2: 5b50 045d |0041: iput-object v0, v5, Lorg/purple/smoke/Settings$7SingleShot;.m_string1:Ljava/lang/String; // field@5d04 │ │ +413ea6: 5450 075d |0043: iget-object v0, v5, Lorg/purple/smoke/Settings$7SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5d07 │ │ +413eaa: 7110 d3b8 0000 |0045: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +413eb0: 0c00 |0048: move-result-object v0 │ │ +413eb2: 7100 d2b8 0000 |0049: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +413eb8: 0c02 |004c: move-result-object v2 │ │ +413eba: 5454 035d |004d: iget-object v4, v5, Lorg/purple/smoke/Settings$7SingleShot;.m_sipHashId:Ljava/lang/String; // field@5d03 │ │ +413ebe: 6e30 01b6 2004 |004f: invoke-virtual {v0, v2, v4}, Lorg/purple/smoke/Database;.publicSignatureKeyForSipHashId:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/security/PublicKey; // method@b601 │ │ +413ec4: 0c00 |0052: move-result-object v0 │ │ +413ec6: 7130 80b5 0301 |0053: invoke-static {v3, v0, v1}, Lorg/purple/smoke/Cryptography;.fancyKeyInformationOutput:(Ljava/security/PrivateKey;Ljava/security/PublicKey;Ljava/lang/String;)Ljava/lang/String; // method@b580 │ │ +413ecc: 0c00 |0056: move-result-object v0 │ │ +413ece: 6e10 d35c 0000 |0057: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ +413ed4: 0c00 |005a: move-result-object v0 │ │ +413ed6: 5b50 055d |005b: iput-object v0, v5, Lorg/purple/smoke/Settings$7SingleShot;.m_string2:Ljava/lang/String; // field@5d05 │ │ +413eda: 5450 075d |005d: iget-object v0, v5, Lorg/purple/smoke/Settings$7SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5d07 │ │ +413ede: 7110 d3b8 0000 |005f: invoke-static {v0}, Lorg/purple/smoke/Settings;.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; // method@b8d3 │ │ +413ee4: 0c00 |0062: move-result-object v0 │ │ +413ee6: 7100 d2b8 0000 |0063: invoke-static {}, Lorg/purple/smoke/Settings;.access$300:()Lorg/purple/smoke/Cryptography; // method@b8d2 │ │ +413eec: 0c01 |0066: move-result-object v1 │ │ +413eee: 5452 035d |0067: iget-object v2, v5, Lorg/purple/smoke/Settings$7SingleShot;.m_sipHashId:Ljava/lang/String; // field@5d03 │ │ +413ef2: 6e30 edb5 1002 |0069: invoke-virtual {v0, v1, v2}, Lorg/purple/smoke/Database;.keysSigned:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)[Ljava/lang/String; // method@b5ed │ │ +413ef8: 0c00 |006c: move-result-object v0 │ │ +413efa: 5b50 065d |006d: iput-object v0, v5, Lorg/purple/smoke/Settings$7SingleShot;.m_strings:[Ljava/lang/String; // field@5d06 │ │ +413efe: 5450 015d |006f: iget-object v0, v5, Lorg/purple/smoke/Settings$7SingleShot;.m_name:Ljava/lang/String; // field@5d01 │ │ +413f02: 6e10 c35c 0000 |0071: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +413f08: 0a00 |0074: move-result v0 │ │ +413f0a: 3800 0600 |0075: if-eqz v0, 007b // +0006 │ │ +413f0e: 5450 035d |0077: iget-object v0, v5, Lorg/purple/smoke/Settings$7SingleShot;.m_sipHashId:Ljava/lang/String; // field@5d03 │ │ +413f12: 5b50 015d |0079: iput-object v0, v5, Lorg/purple/smoke/Settings$7SingleShot;.m_name:Ljava/lang/String; // field@5d01 │ │ +413f16: 5450 065d |007b: iget-object v0, v5, Lorg/purple/smoke/Settings$7SingleShot;.m_strings:[Ljava/lang/String; // field@5d06 │ │ +413f1a: 3900 0a00 |007d: if-nez v0, 0087 // +000a │ │ +413f1e: 1a00 c066 |007f: const-string v0, "false" // string@66c0 │ │ +413f22: 2420 1a1b 0000 |0081: filled-new-array {v0, v0}, [Ljava/lang/String; // type@1b1a │ │ +413f28: 0c00 |0084: move-result-object v0 │ │ +413f2a: 5b50 065d |0085: iput-object v0, v5, Lorg/purple/smoke/Settings$7SingleShot;.m_strings:[Ljava/lang/String; // field@5d06 │ │ +413f2e: 5450 075d |0087: iget-object v0, v5, Lorg/purple/smoke/Settings$7SingleShot;.this$0:Lorg/purple/smoke/Settings; // field@5d07 │ │ +413f32: 2201 751a |0089: new-instance v1, Lorg/purple/smoke/Settings$7SingleShot$1; // type@1a75 │ │ +413f36: 7020 acb8 5100 |008b: invoke-direct {v1, v5}, Lorg/purple/smoke/Settings$7SingleShot$1;.:(Lorg/purple/smoke/Settings$7SingleShot;)V // method@b8ac │ │ +413f3c: 6e20 fdb8 1000 |008e: invoke-virtual {v0, v1}, Lorg/purple/smoke/Settings;.runOnUiThread:(Ljava/lang/Runnable;)V // method@b8fd │ │ +413f42: 0e00 |0091: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=2969 │ │ 0x0006 line=2970 │ │ 0x0016 line=2973 │ │ 0x001e line=2977 │ │ 0x0024 line=2980 │ │ @@ -726681,18 +726680,18 @@ │ │ type : '(Lorg/purple/smoke/Settings;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -413fa0: |[413fa0] org.purple.smoke.Settings$8.:(Lorg/purple/smoke/Settings;)V │ │ -413fb0: 5b01 095d |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$8;.this$0:Lorg/purple/smoke/Settings; // field@5d09 │ │ -413fb4: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -413fba: 0e00 |0005: return-void │ │ +413f9c: |[413f9c] org.purple.smoke.Settings$8.:(Lorg/purple/smoke/Settings;)V │ │ +413fac: 5b01 095d |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$8;.this$0:Lorg/purple/smoke/Settings; // field@5d09 │ │ +413fb0: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +413fb6: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1695 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/Settings$8; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/Settings; │ │ │ │ @@ -726702,58 +726701,58 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 8 │ │ ins : 2 │ │ outs : 5 │ │ insns size : 93 16-bit code units │ │ -413fbc: |[413fbc] org.purple.smoke.Settings$8.onClick:(Landroid/view/View;)V │ │ -413fcc: 5460 095d |0000: iget-object v0, v6, Lorg/purple/smoke/Settings$8;.this$0:Lorg/purple/smoke/Settings; // field@5d09 │ │ -413fd0: 6e10 e6b8 0000 |0002: invoke-virtual {v0}, Lorg/purple/smoke/Settings;.isFinishing:()Z // method@b8e6 │ │ -413fd6: 0a00 |0005: move-result v0 │ │ -413fd8: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ -413fdc: 0e00 |0008: return-void │ │ -413fde: 2200 7b0a |0009: new-instance v0, Landroid/widget/PopupWindow; // type@0a7b │ │ -413fe2: 5461 095d |000b: iget-object v1, v6, Lorg/purple/smoke/Settings$8;.this$0:Lorg/purple/smoke/Settings; // field@5d09 │ │ -413fe6: 7020 325a 1000 |000d: invoke-direct {v0, v1}, Landroid/widget/PopupWindow;.:(Landroid/content/Context;)V // method@5a32 │ │ -413fec: 2201 970a |0010: new-instance v1, Landroid/widget/TextView; // type@0a97 │ │ -413ff0: 5462 095d |0012: iget-object v2, v6, Lorg/purple/smoke/Settings$8;.this$0:Lorg/purple/smoke/Settings; // field@5d09 │ │ -413ff4: 7020 ff5a 2100 |0014: invoke-direct {v1, v2}, Landroid/widget/TextView;.:(Landroid/content/Context;)V // method@5aff │ │ -413ffa: 5462 095d |0017: iget-object v2, v6, Lorg/purple/smoke/Settings$8;.this$0:Lorg/purple/smoke/Settings; // field@5d09 │ │ -413ffe: 6e10 e2b8 0200 |0019: invoke-virtual {v2}, Lorg/purple/smoke/Settings;.getResources:()Landroid/content/res/Resources; // method@b8e2 │ │ -414004: 0c02 |001c: move-result-object v2 │ │ -414006: 6e10 0e02 0200 |001d: invoke-virtual {v2}, Landroid/content/res/Resources;.getDisplayMetrics:()Landroid/util/DisplayMetrics; // method@020e │ │ -41400c: 0c02 |0020: move-result-object v2 │ │ -41400e: 5222 992c |0021: iget v2, v2, Landroid/util/DisplayMetrics;.density:F // field@2c99 │ │ -414012: 1303 e800 |0023: const/16 v3, #int 232 // #e8 │ │ -414016: 1304 ea00 |0025: const/16 v4, #int 234 // #ea │ │ -41401a: 1305 f600 |0027: const/16 v5, #int 246 // #f6 │ │ -41401e: 7130 c902 4305 |0029: invoke-static {v3, v4, v5}, Landroid/graphics/Color;.rgb:(III)I // method@02c9 │ │ -414024: 0a03 |002c: move-result v3 │ │ -414026: 6e20 275b 3100 |002d: invoke-virtual {v1, v3}, Landroid/widget/TextView;.setBackgroundColor:(I)V // method@5b27 │ │ -41402c: 1503 2041 |0030: const/high16 v3, #int 1092616192 // #4120 │ │ -414030: a802 0203 |0032: mul-float v2, v2, v3 │ │ -414034: 8722 |0034: float-to-int v2, v2 │ │ -414036: 6e52 415b 2122 |0035: invoke-virtual {v1, v2, v2, v2, v2}, Landroid/widget/TextView;.setPaddingRelative:(IIII)V // method@5b41 │ │ -41403c: 1a02 d518 |0038: const-string v2, "Echo queues allow Smoke to echo internal data from local neighbor to local neighbor. Each Echo queue may contain at most 256 messages. Please note that the Echo mechanism may burden a device. A neighbor will echo data if it discovers that the data are not intended for it." // string@18d5 │ │ -414040: 6e20 495b 2100 |003a: invoke-virtual {v1, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -414046: 1502 8041 |003d: const/high16 v2, #int 1098907648 // #4180 │ │ -41404a: 6e20 4f5b 2100 |003f: invoke-virtual {v1, v2}, Landroid/widget/TextView;.setTextSize:(F)V // method@5b4f │ │ -414050: 6e20 445a 1000 |0042: invoke-virtual {v0, v1}, Landroid/widget/PopupWindow;.setContentView:(Landroid/view/View;)V // method@5a44 │ │ -414056: 1211 |0045: const/4 v1, #int 1 // #1 │ │ -414058: 6e20 4b5a 1000 |0046: invoke-virtual {v0, v1}, Landroid/widget/PopupWindow;.setOutsideTouchable:(Z)V // method@5a4b │ │ -41405e: 6001 6d00 |0049: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@006d │ │ -414062: 1302 1700 |004b: const/16 v2, #int 23 // #17 │ │ -414066: 3521 0c00 |004d: if-ge v1, v2, 0059 // +000c │ │ -41406a: 1301 c201 |004f: const/16 v1, #int 450 // #1c2 │ │ -41406e: 6e20 485a 1000 |0051: invoke-virtual {v0, v1}, Landroid/widget/PopupWindow;.setHeight:(I)V // method@5a48 │ │ -414074: 1301 bc02 |0054: const/16 v1, #int 700 // #2bc │ │ -414078: 6e20 4f5a 1000 |0056: invoke-virtual {v0, v1}, Landroid/widget/PopupWindow;.setWidth:(I)V // method@5a4f │ │ -41407e: 6e20 515a 7000 |0059: invoke-virtual {v0, v7}, Landroid/widget/PopupWindow;.showAsDropDown:(Landroid/view/View;)V // method@5a51 │ │ -414084: 0e00 |005c: return-void │ │ +413fb8: |[413fb8] org.purple.smoke.Settings$8.onClick:(Landroid/view/View;)V │ │ +413fc8: 5460 095d |0000: iget-object v0, v6, Lorg/purple/smoke/Settings$8;.this$0:Lorg/purple/smoke/Settings; // field@5d09 │ │ +413fcc: 6e10 e6b8 0000 |0002: invoke-virtual {v0}, Lorg/purple/smoke/Settings;.isFinishing:()Z // method@b8e6 │ │ +413fd2: 0a00 |0005: move-result v0 │ │ +413fd4: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ +413fd8: 0e00 |0008: return-void │ │ +413fda: 2200 7b0a |0009: new-instance v0, Landroid/widget/PopupWindow; // type@0a7b │ │ +413fde: 5461 095d |000b: iget-object v1, v6, Lorg/purple/smoke/Settings$8;.this$0:Lorg/purple/smoke/Settings; // field@5d09 │ │ +413fe2: 7020 325a 1000 |000d: invoke-direct {v0, v1}, Landroid/widget/PopupWindow;.:(Landroid/content/Context;)V // method@5a32 │ │ +413fe8: 2201 970a |0010: new-instance v1, Landroid/widget/TextView; // type@0a97 │ │ +413fec: 5462 095d |0012: iget-object v2, v6, Lorg/purple/smoke/Settings$8;.this$0:Lorg/purple/smoke/Settings; // field@5d09 │ │ +413ff0: 7020 ff5a 2100 |0014: invoke-direct {v1, v2}, Landroid/widget/TextView;.:(Landroid/content/Context;)V // method@5aff │ │ +413ff6: 5462 095d |0017: iget-object v2, v6, Lorg/purple/smoke/Settings$8;.this$0:Lorg/purple/smoke/Settings; // field@5d09 │ │ +413ffa: 6e10 e2b8 0200 |0019: invoke-virtual {v2}, Lorg/purple/smoke/Settings;.getResources:()Landroid/content/res/Resources; // method@b8e2 │ │ +414000: 0c02 |001c: move-result-object v2 │ │ +414002: 6e10 0e02 0200 |001d: invoke-virtual {v2}, Landroid/content/res/Resources;.getDisplayMetrics:()Landroid/util/DisplayMetrics; // method@020e │ │ +414008: 0c02 |0020: move-result-object v2 │ │ +41400a: 5222 992c |0021: iget v2, v2, Landroid/util/DisplayMetrics;.density:F // field@2c99 │ │ +41400e: 1303 e800 |0023: const/16 v3, #int 232 // #e8 │ │ +414012: 1304 ea00 |0025: const/16 v4, #int 234 // #ea │ │ +414016: 1305 f600 |0027: const/16 v5, #int 246 // #f6 │ │ +41401a: 7130 c902 4305 |0029: invoke-static {v3, v4, v5}, Landroid/graphics/Color;.rgb:(III)I // method@02c9 │ │ +414020: 0a03 |002c: move-result v3 │ │ +414022: 6e20 275b 3100 |002d: invoke-virtual {v1, v3}, Landroid/widget/TextView;.setBackgroundColor:(I)V // method@5b27 │ │ +414028: 1503 2041 |0030: const/high16 v3, #int 1092616192 // #4120 │ │ +41402c: a802 0203 |0032: mul-float v2, v2, v3 │ │ +414030: 8722 |0034: float-to-int v2, v2 │ │ +414032: 6e52 415b 2122 |0035: invoke-virtual {v1, v2, v2, v2, v2}, Landroid/widget/TextView;.setPaddingRelative:(IIII)V // method@5b41 │ │ +414038: 1a02 d518 |0038: const-string v2, "Echo queues allow Smoke to echo internal data from local neighbor to local neighbor. Each Echo queue may contain at most 256 messages. Please note that the Echo mechanism may burden a device. A neighbor will echo data if it discovers that the data are not intended for it." // string@18d5 │ │ +41403c: 6e20 495b 2100 |003a: invoke-virtual {v1, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +414042: 1502 8041 |003d: const/high16 v2, #int 1098907648 // #4180 │ │ +414046: 6e20 4f5b 2100 |003f: invoke-virtual {v1, v2}, Landroid/widget/TextView;.setTextSize:(F)V // method@5b4f │ │ +41404c: 6e20 445a 1000 |0042: invoke-virtual {v0, v1}, Landroid/widget/PopupWindow;.setContentView:(Landroid/view/View;)V // method@5a44 │ │ +414052: 1211 |0045: const/4 v1, #int 1 // #1 │ │ +414054: 6e20 4b5a 1000 |0046: invoke-virtual {v0, v1}, Landroid/widget/PopupWindow;.setOutsideTouchable:(Z)V // method@5a4b │ │ +41405a: 6001 6d00 |0049: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@006d │ │ +41405e: 1302 1700 |004b: const/16 v2, #int 23 // #17 │ │ +414062: 3521 0c00 |004d: if-ge v1, v2, 0059 // +000c │ │ +414066: 1301 c201 |004f: const/16 v1, #int 450 // #1c2 │ │ +41406a: 6e20 485a 1000 |0051: invoke-virtual {v0, v1}, Landroid/widget/PopupWindow;.setHeight:(I)V // method@5a48 │ │ +414070: 1301 bc02 |0054: const/16 v1, #int 700 // #2bc │ │ +414074: 6e20 4f5a 1000 |0056: invoke-virtual {v0, v1}, Landroid/widget/PopupWindow;.setWidth:(I)V // method@5a4f │ │ +41407a: 6e20 515a 7000 |0059: invoke-virtual {v0, v7}, Landroid/widget/PopupWindow;.showAsDropDown:(Landroid/view/View;)V // method@5a51 │ │ +414080: 0e00 |005c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1698 │ │ 0x0009 line=1701 │ │ 0x0010 line=1702 │ │ 0x0017 line=1703 │ │ 0x001d line=1704 │ │ @@ -726806,18 +726805,18 @@ │ │ type : '(Lorg/purple/smoke/Settings;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -414088: |[414088] org.purple.smoke.Settings$9.:(Lorg/purple/smoke/Settings;)V │ │ -414098: 5b01 0a5d |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$9;.this$0:Lorg/purple/smoke/Settings; // field@5d0a │ │ -41409c: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -4140a2: 0e00 |0005: return-void │ │ +414084: |[414084] org.purple.smoke.Settings$9.:(Lorg/purple/smoke/Settings;)V │ │ +414094: 5b01 0a5d |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$9;.this$0:Lorg/purple/smoke/Settings; // field@5d0a │ │ +414098: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41409e: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1737 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/Settings$9; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/Settings; │ │ │ │ @@ -726827,24 +726826,24 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 17 16-bit code units │ │ -4140a4: |[4140a4] org.purple.smoke.Settings$9.onClick:(Landroid/view/View;)V │ │ -4140b4: 5412 0a5d |0000: iget-object v2, v1, Lorg/purple/smoke/Settings$9;.this$0:Lorg/purple/smoke/Settings; // field@5d0a │ │ -4140b8: 6e10 e6b8 0200 |0002: invoke-virtual {v2}, Lorg/purple/smoke/Settings;.isFinishing:()Z // method@b8e6 │ │ -4140be: 0a02 |0005: move-result v2 │ │ -4140c0: 3802 0300 |0006: if-eqz v2, 0009 // +0003 │ │ -4140c4: 0e00 |0008: return-void │ │ -4140c6: 5412 0a5d |0009: iget-object v2, v1, Lorg/purple/smoke/Settings$9;.this$0:Lorg/purple/smoke/Settings; // field@5d0a │ │ -4140ca: 1a00 0000 |000b: const-string v0, "" // string@0000 │ │ -4140ce: 7120 cab8 0200 |000d: invoke-static {v2, v0}, Lorg/purple/smoke/Settings;.access$1800:(Lorg/purple/smoke/Settings;Ljava/lang/String;)V // method@b8ca │ │ -4140d4: 0e00 |0010: return-void │ │ +4140a0: |[4140a0] org.purple.smoke.Settings$9.onClick:(Landroid/view/View;)V │ │ +4140b0: 5412 0a5d |0000: iget-object v2, v1, Lorg/purple/smoke/Settings$9;.this$0:Lorg/purple/smoke/Settings; // field@5d0a │ │ +4140b4: 6e10 e6b8 0200 |0002: invoke-virtual {v2}, Lorg/purple/smoke/Settings;.isFinishing:()Z // method@b8e6 │ │ +4140ba: 0a02 |0005: move-result v2 │ │ +4140bc: 3802 0300 |0006: if-eqz v2, 0009 // +0003 │ │ +4140c0: 0e00 |0008: return-void │ │ +4140c2: 5412 0a5d |0009: iget-object v2, v1, Lorg/purple/smoke/Settings$9;.this$0:Lorg/purple/smoke/Settings; // field@5d0a │ │ +4140c6: 1a00 0000 |000b: const-string v0, "" // string@0000 │ │ +4140ca: 7120 cab8 0200 |000d: invoke-static {v2, v0}, Lorg/purple/smoke/Settings;.access$1800:(Lorg/purple/smoke/Settings;Ljava/lang/String;)V // method@b8ca │ │ +4140d0: 0e00 |0010: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1740 │ │ 0x0009 line=1743 │ │ locals : │ │ 0x0000 - 0x0011 reg=1 this Lorg/purple/smoke/Settings$9; │ │ 0x0000 - 0x0011 reg=2 (null) Landroid/view/View; │ │ @@ -726919,17 +726918,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -4140d8: |[4140d8] org.purple.smoke.Settings$ContextMenuEnumerator.:()V │ │ -4140e8: 7010 8f5c 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -4140ee: 0e00 |0003: return-void │ │ +4140d4: |[4140d4] org.purple.smoke.Settings$ContextMenuEnumerator.:()V │ │ +4140e4: 7010 8f5c 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +4140ea: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=86 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lorg/purple/smoke/Settings$ContextMenuEnumerator; │ │ │ │ Virtual methods - │ │ @@ -726976,21 +726975,21 @@ │ │ type : '(Lorg/purple/smoke/Settings;Ljava/util/ArrayList;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 11 16-bit code units │ │ -4140f0: |[4140f0] org.purple.smoke.Settings$PopulateNeighbors.:(Lorg/purple/smoke/Settings;Ljava/util/ArrayList;)V │ │ -414100: 5b01 145d |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$PopulateNeighbors;.this$0:Lorg/purple/smoke/Settings; // field@5d14 │ │ -414104: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41410a: 1201 |0005: const/4 v1, #int 0 // #0 │ │ -41410c: 5b01 135d |0006: iput-object v1, v0, Lorg/purple/smoke/Settings$PopulateNeighbors;.m_arrayList:Ljava/util/ArrayList; // field@5d13 │ │ -414110: 5b02 135d |0008: iput-object v2, v0, Lorg/purple/smoke/Settings$PopulateNeighbors;.m_arrayList:Ljava/util/ArrayList; // field@5d13 │ │ -414114: 0e00 |000a: return-void │ │ +4140ec: |[4140ec] org.purple.smoke.Settings$PopulateNeighbors.:(Lorg/purple/smoke/Settings;Ljava/util/ArrayList;)V │ │ +4140fc: 5b01 145d |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$PopulateNeighbors;.this$0:Lorg/purple/smoke/Settings; // field@5d14 │ │ +414100: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +414106: 1201 |0005: const/4 v1, #int 0 // #0 │ │ +414108: 5b01 135d |0006: iput-object v1, v0, Lorg/purple/smoke/Settings$PopulateNeighbors;.m_arrayList:Ljava/util/ArrayList; // field@5d13 │ │ +41410c: 5b02 135d |0008: iput-object v2, v0, Lorg/purple/smoke/Settings$PopulateNeighbors;.m_arrayList:Ljava/util/ArrayList; // field@5d13 │ │ +414110: 0e00 |000a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=103 │ │ 0x0006 line=100 │ │ 0x0008 line=104 │ │ locals : │ │ 0x0000 - 0x000b reg=0 this Lorg/purple/smoke/Settings$PopulateNeighbors; │ │ @@ -727003,22 +727002,22 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -414118: |[414118] org.purple.smoke.Settings$PopulateNeighbors.run:()V │ │ -414128: 5420 145d |0000: iget-object v0, v2, Lorg/purple/smoke/Settings$PopulateNeighbors;.this$0:Lorg/purple/smoke/Settings; // field@5d14 │ │ -41412c: 5421 135d |0002: iget-object v1, v2, Lorg/purple/smoke/Settings$PopulateNeighbors;.m_arrayList:Ljava/util/ArrayList; // field@5d13 │ │ -414130: 7120 c0b8 1000 |0004: invoke-static {v0, v1}, Lorg/purple/smoke/Settings;.access$000:(Lorg/purple/smoke/Settings;Ljava/util/ArrayList;)V // method@b8c0 │ │ -414136: 5420 135d |0007: iget-object v0, v2, Lorg/purple/smoke/Settings$PopulateNeighbors;.m_arrayList:Ljava/util/ArrayList; // field@5d13 │ │ -41413a: 3800 0500 |0009: if-eqz v0, 000e // +0005 │ │ -41413e: 6e10 9d5f 0000 |000b: invoke-virtual {v0}, Ljava/util/ArrayList;.clear:()V // method@5f9d │ │ -414144: 0e00 |000e: return-void │ │ +414114: |[414114] org.purple.smoke.Settings$PopulateNeighbors.run:()V │ │ +414124: 5420 145d |0000: iget-object v0, v2, Lorg/purple/smoke/Settings$PopulateNeighbors;.this$0:Lorg/purple/smoke/Settings; // field@5d14 │ │ +414128: 5421 135d |0002: iget-object v1, v2, Lorg/purple/smoke/Settings$PopulateNeighbors;.m_arrayList:Ljava/util/ArrayList; // field@5d13 │ │ +41412c: 7120 c0b8 1000 |0004: invoke-static {v0, v1}, Lorg/purple/smoke/Settings;.access$000:(Lorg/purple/smoke/Settings;Ljava/util/ArrayList;)V // method@b8c0 │ │ +414132: 5420 135d |0007: iget-object v0, v2, Lorg/purple/smoke/Settings$PopulateNeighbors;.m_arrayList:Ljava/util/ArrayList; // field@5d13 │ │ +414136: 3800 0500 |0009: if-eqz v0, 000e // +0005 │ │ +41413a: 6e10 9d5f 0000 |000b: invoke-virtual {v0}, Ljava/util/ArrayList;.clear:()V // method@5f9d │ │ +414140: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=110 │ │ 0x0007 line=112 │ │ 0x000b line=113 │ │ locals : │ │ 0x0000 - 0x000f reg=2 this Lorg/purple/smoke/Settings$PopulateNeighbors; │ │ @@ -727057,18 +727056,18 @@ │ │ type : '(Lorg/purple/smoke/Settings;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -414148: |[414148] org.purple.smoke.Settings$SettingsBroadcastReceiver.:(Lorg/purple/smoke/Settings;)V │ │ -414158: 5b01 155d |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$SettingsBroadcastReceiver;.this$0:Lorg/purple/smoke/Settings; // field@5d15 │ │ -41415c: 7010 4201 0000 |0002: invoke-direct {v0}, Landroid/content/BroadcastReceiver;.:()V // method@0142 │ │ -414162: 0e00 |0005: return-void │ │ +414144: |[414144] org.purple.smoke.Settings$SettingsBroadcastReceiver.:(Lorg/purple/smoke/Settings;)V │ │ +414154: 5b01 155d |0000: iput-object v1, v0, Lorg/purple/smoke/Settings$SettingsBroadcastReceiver;.this$0:Lorg/purple/smoke/Settings; // field@5d15 │ │ +414158: 7010 4201 0000 |0002: invoke-direct {v0}, Landroid/content/BroadcastReceiver;.:()V // method@0142 │ │ +41415e: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=120 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/Settings$SettingsBroadcastReceiver; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/Settings; │ │ │ │ @@ -727078,134 +727077,134 @@ │ │ type : '(Landroid/content/Context;Landroid/content/Intent;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 280 16-bit code units │ │ -414164: |[414164] org.purple.smoke.Settings$SettingsBroadcastReceiver.onReceive:(Landroid/content/Context;Landroid/content/Intent;)V │ │ -414174: 3804 d500 |0000: if-eqz v4, 00d5 // +00d5 │ │ -414178: 6e10 a501 0400 |0002: invoke-virtual {v4}, Landroid/content/Intent;.getAction:()Ljava/lang/String; // method@01a5 │ │ -41417e: 0c03 |0005: move-result-object v3 │ │ -414180: 3903 0400 |0006: if-nez v3, 000a // +0004 │ │ -414184: 2900 cd00 |0008: goto/16 00d5 // +00cd │ │ -414188: 6e10 a501 0400 |000a: invoke-virtual {v4}, Landroid/content/Intent;.getAction:()Ljava/lang/String; // method@01a5 │ │ -41418e: 0c03 |000d: move-result-object v3 │ │ -414190: 6e10 bf5c 0300 |000e: invoke-virtual {v3}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ -414196: 12f0 |0011: const/4 v0, #int -1 // #ff │ │ -414198: 6e10 bf5c 0300 |0012: invoke-virtual {v3}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ -41419e: 0a01 |0015: move-result v1 │ │ -4141a0: 2c01 c000 0000 |0016: sparse-switch v1, 000000d6 // +000000c0 │ │ -4141a6: 2900 7500 |0019: goto/16 008e // +0075 │ │ -4141aa: 1a01 c98f |001b: const-string v1, "org.purple.smoke.neighbor_aborted" // string@8fc9 │ │ -4141ae: 6e20 b85c 1300 |001d: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -4141b4: 0a03 |0020: move-result v3 │ │ -4141b6: 3903 0400 |0021: if-nez v3, 0025 // +0004 │ │ -4141ba: 2900 6b00 |0023: goto/16 008e // +006b │ │ -4141be: 1300 0900 |0025: const/16 v0, #int 9 // #9 │ │ -4141c2: 2900 6700 |0027: goto/16 008e // +0067 │ │ -4141c6: 1a01 d58f |0029: const-string v1, "org.purple.smoke.state_participants_populated" // string@8fd5 │ │ -4141ca: 6e20 b85c 1300 |002b: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -4141d0: 0a03 |002e: move-result v3 │ │ -4141d2: 3903 0400 |002f: if-nez v3, 0033 // +0004 │ │ -4141d6: 2900 5d00 |0031: goto/16 008e // +005d │ │ -4141da: 1300 0800 |0033: const/16 v0, #int 8 // #8 │ │ -4141de: 2900 5900 |0035: goto/16 008e // +0059 │ │ -4141e2: 1a01 d48f |0037: const-string v1, "org.purple.smoke.siphash_share_confirmation" // string@8fd4 │ │ -4141e6: 6e20 b85c 1300 |0039: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -4141ec: 0a03 |003c: move-result v3 │ │ -4141ee: 3903 0300 |003d: if-nez v3, 0040 // +0003 │ │ -4141f2: 284f |003f: goto 008e // +004f │ │ -4141f4: 1270 |0040: const/4 v0, #int 7 // #7 │ │ -4141f6: 284d |0041: goto 008e // +004d │ │ -4141f8: 1a01 cc8f |0042: const-string v1, "org.purple.smoke.network_connected" // string@8fcc │ │ -4141fc: 6e20 b85c 1300 |0044: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -414202: 0a03 |0047: move-result v3 │ │ -414204: 3903 0300 |0048: if-nez v3, 004b // +0003 │ │ -414208: 2844 |004a: goto 008e // +0044 │ │ -41420a: 1260 |004b: const/4 v0, #int 6 // #6 │ │ -41420c: 2842 |004c: goto 008e // +0042 │ │ -41420e: 1a01 c18f |004d: const-string v1, "org.purple.smoke.chat_message" // string@8fc1 │ │ -414212: 6e20 b85c 1300 |004f: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -414218: 0a03 |0052: move-result v3 │ │ -41421a: 3903 0300 |0053: if-nez v3, 0056 // +0003 │ │ -41421e: 2839 |0055: goto 008e // +0039 │ │ -414220: 1250 |0056: const/4 v0, #int 5 // #5 │ │ -414222: 2837 |0057: goto 008e // +0037 │ │ -414224: 1a01 d98f |0058: const-string v1, "org.purple.smoke.time" // string@8fd9 │ │ -414228: 6e20 b85c 1300 |005a: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41422e: 0a03 |005d: move-result v3 │ │ -414230: 3903 0300 |005e: if-nez v3, 0061 // +0003 │ │ -414234: 282e |0060: goto 008e // +002e │ │ -414236: 1240 |0061: const/4 v0, #int 4 // #4 │ │ -414238: 282c |0062: goto 008e // +002c │ │ -41423a: 1a01 cf8f |0063: const-string v1, "org.purple.smoke.populate_participants" // string@8fcf │ │ -41423e: 6e20 b85c 1300 |0065: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -414244: 0a03 |0068: move-result v3 │ │ -414246: 3903 0300 |0069: if-nez v3, 006c // +0003 │ │ -41424a: 2823 |006b: goto 008e // +0023 │ │ -41424c: 1230 |006c: const/4 v0, #int 3 // #3 │ │ -41424e: 2821 |006d: goto 008e // +0021 │ │ -414250: 1a01 cb8f |006e: const-string v1, "org.purple.smoke.neighbor_disconnected" // string@8fcb │ │ -414254: 6e20 b85c 1300 |0070: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41425a: 0a03 |0073: move-result v3 │ │ -41425c: 3903 0300 |0074: if-nez v3, 0077 // +0003 │ │ -414260: 2818 |0076: goto 008e // +0018 │ │ -414262: 1220 |0077: const/4 v0, #int 2 // #2 │ │ -414264: 2816 |0078: goto 008e // +0016 │ │ -414266: 1a01 ca8f |0079: const-string v1, "org.purple.smoke.neighbor_connected" // string@8fca │ │ -41426a: 6e20 b85c 1300 |007b: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -414270: 0a03 |007e: move-result v3 │ │ -414272: 3903 0300 |007f: if-nez v3, 0082 // +0003 │ │ -414276: 280d |0081: goto 008e // +000d │ │ -414278: 1210 |0082: const/4 v0, #int 1 // #1 │ │ -41427a: 280b |0083: goto 008e // +000b │ │ -41427c: 1a01 cd8f |0084: const-string v1, "org.purple.smoke.network_disconnected" // string@8fcd │ │ -414280: 6e20 b85c 1300 |0086: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -414286: 0a03 |0089: move-result v3 │ │ -414288: 3903 0300 |008a: if-nez v3, 008d // +0003 │ │ -41428c: 2802 |008c: goto 008e // +0002 │ │ -41428e: 1200 |008d: const/4 v0, #int 0 // #0 │ │ -414290: 1403 9900 087f |008e: const v3, #float 1.80778e+38 // #7f080099 │ │ -414296: 2b00 6f00 0000 |0091: packed-switch v0, 00000100 // +0000006f │ │ -41429c: 2841 |0094: goto 00d5 // +0041 │ │ -41429e: 5423 155d |0095: iget-object v3, v2, Lorg/purple/smoke/Settings$SettingsBroadcastReceiver;.this$0:Lorg/purple/smoke/Settings; // field@5d15 │ │ -4142a2: 6e10 e5b8 0300 |0097: invoke-virtual {v3}, Lorg/purple/smoke/Settings;.invalidateOptionsMenu:()V // method@b8e5 │ │ -4142a8: 5423 155d |009a: iget-object v3, v2, Lorg/purple/smoke/Settings$SettingsBroadcastReceiver;.this$0:Lorg/purple/smoke/Settings; // field@5d15 │ │ -4142ac: 7110 ccb8 0300 |009c: invoke-static {v3}, Lorg/purple/smoke/Settings;.access$200:(Lorg/purple/smoke/Settings;)V // method@b8cc │ │ -4142b2: 2836 |009f: goto 00d5 // +0036 │ │ -4142b4: 5420 155d |00a0: iget-object v0, v2, Lorg/purple/smoke/Settings$SettingsBroadcastReceiver;.this$0:Lorg/purple/smoke/Settings; // field@5d15 │ │ -4142b8: 6e20 dcb8 3000 |00a2: invoke-virtual {v0, v3}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4142be: 0c03 |00a5: move-result-object v3 │ │ -4142c0: 7130 edb7 4003 |00a6: invoke-static {v0, v4, v3}, Lorg/purple/smoke/Miscellaneous;.showNotification:(Landroid/content/Context;Landroid/content/Intent;Landroid/view/View;)V // method@b7ed │ │ -4142c6: 282c |00a9: goto 00d5 // +002c │ │ -4142c8: 5420 155d |00aa: iget-object v0, v2, Lorg/purple/smoke/Settings$SettingsBroadcastReceiver;.this$0:Lorg/purple/smoke/Settings; // field@5d15 │ │ -4142cc: 6e20 dcb8 3000 |00ac: invoke-virtual {v0, v3}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4142d2: 0c03 |00af: move-result-object v3 │ │ -4142d4: 7130 edb7 4003 |00b0: invoke-static {v0, v4, v3}, Lorg/purple/smoke/Miscellaneous;.showNotification:(Landroid/content/Context;Landroid/content/Intent;Landroid/view/View;)V // method@b7ed │ │ -4142da: 2822 |00b3: goto 00d5 // +0022 │ │ -4142dc: 5420 155d |00b4: iget-object v0, v2, Lorg/purple/smoke/Settings$SettingsBroadcastReceiver;.this$0:Lorg/purple/smoke/Settings; // field@5d15 │ │ -4142e0: 6e20 dcb8 3000 |00b6: invoke-virtual {v0, v3}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4142e6: 0c03 |00b9: move-result-object v3 │ │ -4142e8: 7130 edb7 4003 |00ba: invoke-static {v0, v4, v3}, Lorg/purple/smoke/Miscellaneous;.showNotification:(Landroid/content/Context;Landroid/content/Intent;Landroid/view/View;)V // method@b7ed │ │ -4142ee: 2818 |00bd: goto 00d5 // +0018 │ │ -4142f0: 5423 155d |00be: iget-object v3, v2, Lorg/purple/smoke/Settings$SettingsBroadcastReceiver;.this$0:Lorg/purple/smoke/Settings; // field@5d15 │ │ -4142f4: 7110 ccb8 0300 |00c0: invoke-static {v3}, Lorg/purple/smoke/Settings;.access$200:(Lorg/purple/smoke/Settings;)V // method@b8cc │ │ -4142fa: 2812 |00c3: goto 00d5 // +0012 │ │ -4142fc: 5423 155d |00c4: iget-object v3, v2, Lorg/purple/smoke/Settings$SettingsBroadcastReceiver;.this$0:Lorg/purple/smoke/Settings; // field@5d15 │ │ -414300: 7110 c1b8 0300 |00c6: invoke-static {v3}, Lorg/purple/smoke/Settings;.access$100:(Lorg/purple/smoke/Settings;)V // method@b8c1 │ │ -414306: 280c |00c9: goto 00d5 // +000c │ │ -414308: 5423 155d |00ca: iget-object v3, v2, Lorg/purple/smoke/Settings$SettingsBroadcastReceiver;.this$0:Lorg/purple/smoke/Settings; // field@5d15 │ │ -41430c: 7110 c1b8 0300 |00cc: invoke-static {v3}, Lorg/purple/smoke/Settings;.access$100:(Lorg/purple/smoke/Settings;)V // method@b8c1 │ │ -414312: 2806 |00cf: goto 00d5 // +0006 │ │ -414314: 5423 155d |00d0: iget-object v3, v2, Lorg/purple/smoke/Settings$SettingsBroadcastReceiver;.this$0:Lorg/purple/smoke/Settings; // field@5d15 │ │ -414318: 7110 c1b8 0300 |00d2: invoke-static {v3}, Lorg/purple/smoke/Settings;.access$100:(Lorg/purple/smoke/Settings;)V // method@b8c1 │ │ -41431e: 0e00 |00d5: return-void │ │ -414320: 0002 0a00 b350 d3ac c38f deb3 411f ... |00d6: sparse-switch-data (42 units) │ │ -414374: 0001 0a00 0000 0000 3f00 0000 3900 ... |0100: packed-switch-data (24 units) │ │ +414160: |[414160] org.purple.smoke.Settings$SettingsBroadcastReceiver.onReceive:(Landroid/content/Context;Landroid/content/Intent;)V │ │ +414170: 3804 d500 |0000: if-eqz v4, 00d5 // +00d5 │ │ +414174: 6e10 a501 0400 |0002: invoke-virtual {v4}, Landroid/content/Intent;.getAction:()Ljava/lang/String; // method@01a5 │ │ +41417a: 0c03 |0005: move-result-object v3 │ │ +41417c: 3903 0400 |0006: if-nez v3, 000a // +0004 │ │ +414180: 2900 cd00 |0008: goto/16 00d5 // +00cd │ │ +414184: 6e10 a501 0400 |000a: invoke-virtual {v4}, Landroid/content/Intent;.getAction:()Ljava/lang/String; // method@01a5 │ │ +41418a: 0c03 |000d: move-result-object v3 │ │ +41418c: 6e10 bf5c 0300 |000e: invoke-virtual {v3}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ +414192: 12f0 |0011: const/4 v0, #int -1 // #ff │ │ +414194: 6e10 bf5c 0300 |0012: invoke-virtual {v3}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ +41419a: 0a01 |0015: move-result v1 │ │ +41419c: 2c01 c000 0000 |0016: sparse-switch v1, 000000d6 // +000000c0 │ │ +4141a2: 2900 7500 |0019: goto/16 008e // +0075 │ │ +4141a6: 1a01 c98f |001b: const-string v1, "org.purple.smoke.neighbor_aborted" // string@8fc9 │ │ +4141aa: 6e20 b85c 1300 |001d: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +4141b0: 0a03 |0020: move-result v3 │ │ +4141b2: 3903 0400 |0021: if-nez v3, 0025 // +0004 │ │ +4141b6: 2900 6b00 |0023: goto/16 008e // +006b │ │ +4141ba: 1300 0900 |0025: const/16 v0, #int 9 // #9 │ │ +4141be: 2900 6700 |0027: goto/16 008e // +0067 │ │ +4141c2: 1a01 d58f |0029: const-string v1, "org.purple.smoke.state_participants_populated" // string@8fd5 │ │ +4141c6: 6e20 b85c 1300 |002b: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +4141cc: 0a03 |002e: move-result v3 │ │ +4141ce: 3903 0400 |002f: if-nez v3, 0033 // +0004 │ │ +4141d2: 2900 5d00 |0031: goto/16 008e // +005d │ │ +4141d6: 1300 0800 |0033: const/16 v0, #int 8 // #8 │ │ +4141da: 2900 5900 |0035: goto/16 008e // +0059 │ │ +4141de: 1a01 d48f |0037: const-string v1, "org.purple.smoke.siphash_share_confirmation" // string@8fd4 │ │ +4141e2: 6e20 b85c 1300 |0039: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +4141e8: 0a03 |003c: move-result v3 │ │ +4141ea: 3903 0300 |003d: if-nez v3, 0040 // +0003 │ │ +4141ee: 284f |003f: goto 008e // +004f │ │ +4141f0: 1270 |0040: const/4 v0, #int 7 // #7 │ │ +4141f2: 284d |0041: goto 008e // +004d │ │ +4141f4: 1a01 cc8f |0042: const-string v1, "org.purple.smoke.network_connected" // string@8fcc │ │ +4141f8: 6e20 b85c 1300 |0044: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +4141fe: 0a03 |0047: move-result v3 │ │ +414200: 3903 0300 |0048: if-nez v3, 004b // +0003 │ │ +414204: 2844 |004a: goto 008e // +0044 │ │ +414206: 1260 |004b: const/4 v0, #int 6 // #6 │ │ +414208: 2842 |004c: goto 008e // +0042 │ │ +41420a: 1a01 c18f |004d: const-string v1, "org.purple.smoke.chat_message" // string@8fc1 │ │ +41420e: 6e20 b85c 1300 |004f: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +414214: 0a03 |0052: move-result v3 │ │ +414216: 3903 0300 |0053: if-nez v3, 0056 // +0003 │ │ +41421a: 2839 |0055: goto 008e // +0039 │ │ +41421c: 1250 |0056: const/4 v0, #int 5 // #5 │ │ +41421e: 2837 |0057: goto 008e // +0037 │ │ +414220: 1a01 d98f |0058: const-string v1, "org.purple.smoke.time" // string@8fd9 │ │ +414224: 6e20 b85c 1300 |005a: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41422a: 0a03 |005d: move-result v3 │ │ +41422c: 3903 0300 |005e: if-nez v3, 0061 // +0003 │ │ +414230: 282e |0060: goto 008e // +002e │ │ +414232: 1240 |0061: const/4 v0, #int 4 // #4 │ │ +414234: 282c |0062: goto 008e // +002c │ │ +414236: 1a01 cf8f |0063: const-string v1, "org.purple.smoke.populate_participants" // string@8fcf │ │ +41423a: 6e20 b85c 1300 |0065: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +414240: 0a03 |0068: move-result v3 │ │ +414242: 3903 0300 |0069: if-nez v3, 006c // +0003 │ │ +414246: 2823 |006b: goto 008e // +0023 │ │ +414248: 1230 |006c: const/4 v0, #int 3 // #3 │ │ +41424a: 2821 |006d: goto 008e // +0021 │ │ +41424c: 1a01 cb8f |006e: const-string v1, "org.purple.smoke.neighbor_disconnected" // string@8fcb │ │ +414250: 6e20 b85c 1300 |0070: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +414256: 0a03 |0073: move-result v3 │ │ +414258: 3903 0300 |0074: if-nez v3, 0077 // +0003 │ │ +41425c: 2818 |0076: goto 008e // +0018 │ │ +41425e: 1220 |0077: const/4 v0, #int 2 // #2 │ │ +414260: 2816 |0078: goto 008e // +0016 │ │ +414262: 1a01 ca8f |0079: const-string v1, "org.purple.smoke.neighbor_connected" // string@8fca │ │ +414266: 6e20 b85c 1300 |007b: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41426c: 0a03 |007e: move-result v3 │ │ +41426e: 3903 0300 |007f: if-nez v3, 0082 // +0003 │ │ +414272: 280d |0081: goto 008e // +000d │ │ +414274: 1210 |0082: const/4 v0, #int 1 // #1 │ │ +414276: 280b |0083: goto 008e // +000b │ │ +414278: 1a01 cd8f |0084: const-string v1, "org.purple.smoke.network_disconnected" // string@8fcd │ │ +41427c: 6e20 b85c 1300 |0086: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +414282: 0a03 |0089: move-result v3 │ │ +414284: 3903 0300 |008a: if-nez v3, 008d // +0003 │ │ +414288: 2802 |008c: goto 008e // +0002 │ │ +41428a: 1200 |008d: const/4 v0, #int 0 // #0 │ │ +41428c: 1403 9900 087f |008e: const v3, #float 1.80778e+38 // #7f080099 │ │ +414292: 2b00 6f00 0000 |0091: packed-switch v0, 00000100 // +0000006f │ │ +414298: 2841 |0094: goto 00d5 // +0041 │ │ +41429a: 5423 155d |0095: iget-object v3, v2, Lorg/purple/smoke/Settings$SettingsBroadcastReceiver;.this$0:Lorg/purple/smoke/Settings; // field@5d15 │ │ +41429e: 6e10 e5b8 0300 |0097: invoke-virtual {v3}, Lorg/purple/smoke/Settings;.invalidateOptionsMenu:()V // method@b8e5 │ │ +4142a4: 5423 155d |009a: iget-object v3, v2, Lorg/purple/smoke/Settings$SettingsBroadcastReceiver;.this$0:Lorg/purple/smoke/Settings; // field@5d15 │ │ +4142a8: 7110 ccb8 0300 |009c: invoke-static {v3}, Lorg/purple/smoke/Settings;.access$200:(Lorg/purple/smoke/Settings;)V // method@b8cc │ │ +4142ae: 2836 |009f: goto 00d5 // +0036 │ │ +4142b0: 5420 155d |00a0: iget-object v0, v2, Lorg/purple/smoke/Settings$SettingsBroadcastReceiver;.this$0:Lorg/purple/smoke/Settings; // field@5d15 │ │ +4142b4: 6e20 dcb8 3000 |00a2: invoke-virtual {v0, v3}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4142ba: 0c03 |00a5: move-result-object v3 │ │ +4142bc: 7130 edb7 4003 |00a6: invoke-static {v0, v4, v3}, Lorg/purple/smoke/Miscellaneous;.showNotification:(Landroid/content/Context;Landroid/content/Intent;Landroid/view/View;)V // method@b7ed │ │ +4142c2: 282c |00a9: goto 00d5 // +002c │ │ +4142c4: 5420 155d |00aa: iget-object v0, v2, Lorg/purple/smoke/Settings$SettingsBroadcastReceiver;.this$0:Lorg/purple/smoke/Settings; // field@5d15 │ │ +4142c8: 6e20 dcb8 3000 |00ac: invoke-virtual {v0, v3}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4142ce: 0c03 |00af: move-result-object v3 │ │ +4142d0: 7130 edb7 4003 |00b0: invoke-static {v0, v4, v3}, Lorg/purple/smoke/Miscellaneous;.showNotification:(Landroid/content/Context;Landroid/content/Intent;Landroid/view/View;)V // method@b7ed │ │ +4142d6: 2822 |00b3: goto 00d5 // +0022 │ │ +4142d8: 5420 155d |00b4: iget-object v0, v2, Lorg/purple/smoke/Settings$SettingsBroadcastReceiver;.this$0:Lorg/purple/smoke/Settings; // field@5d15 │ │ +4142dc: 6e20 dcb8 3000 |00b6: invoke-virtual {v0, v3}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4142e2: 0c03 |00b9: move-result-object v3 │ │ +4142e4: 7130 edb7 4003 |00ba: invoke-static {v0, v4, v3}, Lorg/purple/smoke/Miscellaneous;.showNotification:(Landroid/content/Context;Landroid/content/Intent;Landroid/view/View;)V // method@b7ed │ │ +4142ea: 2818 |00bd: goto 00d5 // +0018 │ │ +4142ec: 5423 155d |00be: iget-object v3, v2, Lorg/purple/smoke/Settings$SettingsBroadcastReceiver;.this$0:Lorg/purple/smoke/Settings; // field@5d15 │ │ +4142f0: 7110 ccb8 0300 |00c0: invoke-static {v3}, Lorg/purple/smoke/Settings;.access$200:(Lorg/purple/smoke/Settings;)V // method@b8cc │ │ +4142f6: 2812 |00c3: goto 00d5 // +0012 │ │ +4142f8: 5423 155d |00c4: iget-object v3, v2, Lorg/purple/smoke/Settings$SettingsBroadcastReceiver;.this$0:Lorg/purple/smoke/Settings; // field@5d15 │ │ +4142fc: 7110 c1b8 0300 |00c6: invoke-static {v3}, Lorg/purple/smoke/Settings;.access$100:(Lorg/purple/smoke/Settings;)V // method@b8c1 │ │ +414302: 280c |00c9: goto 00d5 // +000c │ │ +414304: 5423 155d |00ca: iget-object v3, v2, Lorg/purple/smoke/Settings$SettingsBroadcastReceiver;.this$0:Lorg/purple/smoke/Settings; // field@5d15 │ │ +414308: 7110 c1b8 0300 |00cc: invoke-static {v3}, Lorg/purple/smoke/Settings;.access$100:(Lorg/purple/smoke/Settings;)V // method@b8c1 │ │ +41430e: 2806 |00cf: goto 00d5 // +0006 │ │ +414310: 5423 155d |00d0: iget-object v3, v2, Lorg/purple/smoke/Settings$SettingsBroadcastReceiver;.this$0:Lorg/purple/smoke/Settings; // field@5d15 │ │ +414314: 7110 c1b8 0300 |00d2: invoke-static {v3}, Lorg/purple/smoke/Settings;.access$100:(Lorg/purple/smoke/Settings;)V // method@b8c1 │ │ +41431a: 0e00 |00d5: return-void │ │ +41431c: 0002 0a00 b350 d3ac c38f deb3 411f ... |00d6: sparse-switch-data (42 units) │ │ +414370: 0001 0a00 0000 0000 3f00 0000 3900 ... |0100: packed-switch-data (24 units) │ │ catches : (none) │ │ positions : │ │ 0x0002 line=126 │ │ 0x000a line=129 │ │ 0x0095 line=154 │ │ 0x009a line=155 │ │ 0x00a0 line=150 │ │ @@ -727311,25 +727310,25 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 32 16-bit code units │ │ -418178: |[418178] org.purple.smoke.SipHash.:()V │ │ -418188: 1220 |0000: const/4 v0, #int 2 // #2 │ │ -41818a: 2301 be1a |0001: new-array v1, v0, [I // type@1abe │ │ -41818e: 2601 0d00 0000 |0003: fill-array-data v1, 00000010 // +0000000d │ │ -418194: 6901 255d |0006: sput-object v1, Lorg/purple/smoke/SipHash;.C_ROUNDS:[I // field@5d25 │ │ -418198: 2300 be1a |0008: new-array v0, v0, [I // type@1abe │ │ -41819c: 2600 0e00 0000 |000a: fill-array-data v0, 00000018 // +0000000e │ │ -4181a2: 6900 265d |000d: sput-object v0, Lorg/purple/smoke/SipHash;.D_ROUNDS:[I // field@5d26 │ │ -4181a6: 0e00 |000f: return-void │ │ -4181a8: 0003 0400 0200 0000 0200 0000 0400 ... |0010: array-data (8 units) │ │ -4181b8: 0003 0400 0200 0000 0400 0000 0800 ... |0018: array-data (8 units) │ │ +418174: |[418174] org.purple.smoke.SipHash.:()V │ │ +418184: 1220 |0000: const/4 v0, #int 2 // #2 │ │ +418186: 2301 be1a |0001: new-array v1, v0, [I // type@1abe │ │ +41818a: 2601 0d00 0000 |0003: fill-array-data v1, 00000010 // +0000000d │ │ +418190: 6901 255d |0006: sput-object v1, Lorg/purple/smoke/SipHash;.C_ROUNDS:[I // field@5d25 │ │ +418194: 2300 be1a |0008: new-array v0, v0, [I // type@1abe │ │ +418198: 2600 0e00 0000 |000a: fill-array-data v0, 00000018 // +0000000e │ │ +41819e: 6900 265d |000d: sput-object v0, Lorg/purple/smoke/SipHash;.D_ROUNDS:[I // field@5d26 │ │ +4181a2: 0e00 |000f: return-void │ │ +4181a4: 0003 0400 0200 0000 0200 0000 0400 ... |0010: array-data (8 units) │ │ +4181b4: 0003 0400 0200 0000 0400 0000 0800 ... |0018: array-data (8 units) │ │ catches : (none) │ │ positions : │ │ 0x0003 line=36 │ │ 0x000a line=37 │ │ locals : │ │ │ │ #1 : (in Lorg/purple/smoke/SipHash;) │ │ @@ -727337,27 +727336,27 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 22 16-bit code units │ │ -4181c8: |[4181c8] org.purple.smoke.SipHash.:()V │ │ -4181d8: 7010 8f5c 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@5c8f │ │ -4181de: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -4181e0: 5b20 2a5d |0004: iput-object v0, v2, Lorg/purple/smoke/SipHash;.m_key:[B // field@5d2a │ │ -4181e4: 1210 |0006: const/4 v0, #int 1 // #1 │ │ -4181e6: 5920 285d |0007: iput v0, v2, Lorg/purple/smoke/SipHash;.m_c_rounds_index:I // field@5d28 │ │ -4181ea: 5920 295d |0009: iput v0, v2, Lorg/purple/smoke/SipHash;.m_d_rounds_index:I // field@5d29 │ │ -4181ee: 1600 0000 |000b: const-wide/16 v0, #int 0 // #0 │ │ -4181f2: 5a20 2b5d |000d: iput-wide v0, v2, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ -4181f6: 5a20 2c5d |000f: iput-wide v0, v2, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ -4181fa: 5a20 2d5d |0011: iput-wide v0, v2, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ -4181fe: 5a20 2e5d |0013: iput-wide v0, v2, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ -418202: 0e00 |0015: return-void │ │ +4181c4: |[4181c4] org.purple.smoke.SipHash.:()V │ │ +4181d4: 7010 8f5c 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@5c8f │ │ +4181da: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +4181dc: 5b20 2a5d |0004: iput-object v0, v2, Lorg/purple/smoke/SipHash;.m_key:[B // field@5d2a │ │ +4181e0: 1210 |0006: const/4 v0, #int 1 // #1 │ │ +4181e2: 5920 285d |0007: iput v0, v2, Lorg/purple/smoke/SipHash;.m_c_rounds_index:I // field@5d28 │ │ +4181e6: 5920 295d |0009: iput v0, v2, Lorg/purple/smoke/SipHash;.m_d_rounds_index:I // field@5d29 │ │ +4181ea: 1600 0000 |000b: const-wide/16 v0, #int 0 // #0 │ │ +4181ee: 5a20 2b5d |000d: iput-wide v0, v2, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ +4181f2: 5a20 2c5d |000f: iput-wide v0, v2, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ +4181f6: 5a20 2d5d |0011: iput-wide v0, v2, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ +4181fa: 5a20 2e5d |0013: iput-wide v0, v2, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ +4181fe: 0e00 |0015: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=100 │ │ 0x0004 line=42 │ │ 0x0007 line=43 │ │ 0x0009 line=44 │ │ 0x000d line=45 │ │ @@ -727372,33 +727371,33 @@ │ │ type : '([B)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 32 16-bit code units │ │ -418204: |[418204] org.purple.smoke.SipHash.:([B)V │ │ -418214: 7010 8f5c 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41821a: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -41821c: 5b20 2a5d |0004: iput-object v0, v2, Lorg/purple/smoke/SipHash;.m_key:[B // field@5d2a │ │ -418220: 1210 |0006: const/4 v0, #int 1 // #1 │ │ -418222: 5920 285d |0007: iput v0, v2, Lorg/purple/smoke/SipHash;.m_c_rounds_index:I // field@5d28 │ │ -418226: 5920 295d |0009: iput v0, v2, Lorg/purple/smoke/SipHash;.m_d_rounds_index:I // field@5d29 │ │ -41822a: 1600 0000 |000b: const-wide/16 v0, #int 0 // #0 │ │ -41822e: 5a20 2b5d |000d: iput-wide v0, v2, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ -418232: 5a20 2c5d |000f: iput-wide v0, v2, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ -418236: 5a20 2d5d |0011: iput-wide v0, v2, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ -41823a: 5a20 2e5d |0013: iput-wide v0, v2, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ -41823e: 3803 0a00 |0015: if-eqz v3, 001f // +000a │ │ -418242: 2130 |0017: array-length v0, v3 │ │ -418244: 1301 1000 |0018: const/16 v1, #int 16 // #10 │ │ -418248: 3210 0300 |001a: if-eq v0, v1, 001d // +0003 │ │ -41824c: 2803 |001c: goto 001f // +0003 │ │ -41824e: 5b23 2a5d |001d: iput-object v3, v2, Lorg/purple/smoke/SipHash;.m_key:[B // field@5d2a │ │ -418252: 0e00 |001f: return-void │ │ +418200: |[418200] org.purple.smoke.SipHash.:([B)V │ │ +418210: 7010 8f5c 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@5c8f │ │ +418216: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +418218: 5b20 2a5d |0004: iput-object v0, v2, Lorg/purple/smoke/SipHash;.m_key:[B // field@5d2a │ │ +41821c: 1210 |0006: const/4 v0, #int 1 // #1 │ │ +41821e: 5920 285d |0007: iput v0, v2, Lorg/purple/smoke/SipHash;.m_c_rounds_index:I // field@5d28 │ │ +418222: 5920 295d |0009: iput v0, v2, Lorg/purple/smoke/SipHash;.m_d_rounds_index:I // field@5d29 │ │ +418226: 1600 0000 |000b: const-wide/16 v0, #int 0 // #0 │ │ +41822a: 5a20 2b5d |000d: iput-wide v0, v2, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ +41822e: 5a20 2c5d |000f: iput-wide v0, v2, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ +418232: 5a20 2d5d |0011: iput-wide v0, v2, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ +418236: 5a20 2e5d |0013: iput-wide v0, v2, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ +41823a: 3803 0a00 |0015: if-eqz v3, 001f // +000a │ │ +41823e: 2130 |0017: array-length v0, v3 │ │ +418240: 1301 1000 |0018: const/16 v1, #int 16 // #10 │ │ +418244: 3210 0300 |001a: if-eq v0, v1, 001d // +0003 │ │ +418248: 2803 |001c: goto 001f // +0003 │ │ +41824a: 5b23 2a5d |001d: iput-object v3, v2, Lorg/purple/smoke/SipHash;.m_key:[B // field@5d2a │ │ +41824e: 0e00 |001f: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=104 │ │ 0x0004 line=42 │ │ 0x0007 line=43 │ │ 0x0009 line=44 │ │ 0x000d line=45 │ │ @@ -727416,43 +727415,43 @@ │ │ type : '([BII)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 6 │ │ ins : 4 │ │ outs : 1 │ │ insns size : 50 16-bit code units │ │ -418254: |[418254] org.purple.smoke.SipHash.:([BII)V │ │ -418264: 7010 8f5c 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41826a: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -41826c: 5b20 2a5d |0004: iput-object v0, v2, Lorg/purple/smoke/SipHash;.m_key:[B // field@5d2a │ │ -418270: 1210 |0006: const/4 v0, #int 1 // #1 │ │ -418272: 5920 285d |0007: iput v0, v2, Lorg/purple/smoke/SipHash;.m_c_rounds_index:I // field@5d28 │ │ -418276: 5920 295d |0009: iput v0, v2, Lorg/purple/smoke/SipHash;.m_d_rounds_index:I // field@5d29 │ │ -41827a: 1600 0000 |000b: const-wide/16 v0, #int 0 // #0 │ │ -41827e: 5a20 2b5d |000d: iput-wide v0, v2, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ -418282: 5a20 2c5d |000f: iput-wide v0, v2, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ -418286: 5a20 2d5d |0011: iput-wide v0, v2, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ -41828a: 5a20 2e5d |0013: iput-wide v0, v2, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ -41828e: 3803 1c00 |0015: if-eqz v3, 0031 // +001c │ │ -418292: 2130 |0017: array-length v0, v3 │ │ -418294: 1301 1000 |0018: const/16 v1, #int 16 // #10 │ │ -418298: 3210 0300 |001a: if-eq v0, v1, 001d // +0003 │ │ -41829c: 2815 |001c: goto 0031 // +0015 │ │ -41829e: 3a04 0900 |001d: if-ltz v4, 0026 // +0009 │ │ -4182a2: 6200 255d |001f: sget-object v0, Lorg/purple/smoke/SipHash;.C_ROUNDS:[I // field@5d25 │ │ -4182a6: 2100 |0021: array-length v0, v0 │ │ -4182a8: 3504 0400 |0022: if-ge v4, v0, 0026 // +0004 │ │ -4182ac: 5924 285d |0024: iput v4, v2, Lorg/purple/smoke/SipHash;.m_c_rounds_index:I // field@5d28 │ │ -4182b0: 3a05 0900 |0026: if-ltz v5, 002f // +0009 │ │ -4182b4: 6204 265d |0028: sget-object v4, Lorg/purple/smoke/SipHash;.D_ROUNDS:[I // field@5d26 │ │ -4182b8: 2144 |002a: array-length v4, v4 │ │ -4182ba: 3545 0400 |002b: if-ge v5, v4, 002f // +0004 │ │ -4182be: 5925 295d |002d: iput v5, v2, Lorg/purple/smoke/SipHash;.m_d_rounds_index:I // field@5d29 │ │ -4182c2: 5b23 2a5d |002f: iput-object v3, v2, Lorg/purple/smoke/SipHash;.m_key:[B // field@5d2a │ │ -4182c6: 0e00 |0031: return-void │ │ +418250: |[418250] org.purple.smoke.SipHash.:([BII)V │ │ +418260: 7010 8f5c 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@5c8f │ │ +418266: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +418268: 5b20 2a5d |0004: iput-object v0, v2, Lorg/purple/smoke/SipHash;.m_key:[B // field@5d2a │ │ +41826c: 1210 |0006: const/4 v0, #int 1 // #1 │ │ +41826e: 5920 285d |0007: iput v0, v2, Lorg/purple/smoke/SipHash;.m_c_rounds_index:I // field@5d28 │ │ +418272: 5920 295d |0009: iput v0, v2, Lorg/purple/smoke/SipHash;.m_d_rounds_index:I // field@5d29 │ │ +418276: 1600 0000 |000b: const-wide/16 v0, #int 0 // #0 │ │ +41827a: 5a20 2b5d |000d: iput-wide v0, v2, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ +41827e: 5a20 2c5d |000f: iput-wide v0, v2, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ +418282: 5a20 2d5d |0011: iput-wide v0, v2, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ +418286: 5a20 2e5d |0013: iput-wide v0, v2, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ +41828a: 3803 1c00 |0015: if-eqz v3, 0031 // +001c │ │ +41828e: 2130 |0017: array-length v0, v3 │ │ +418290: 1301 1000 |0018: const/16 v1, #int 16 // #10 │ │ +418294: 3210 0300 |001a: if-eq v0, v1, 001d // +0003 │ │ +418298: 2815 |001c: goto 0031 // +0015 │ │ +41829a: 3a04 0900 |001d: if-ltz v4, 0026 // +0009 │ │ +41829e: 6200 255d |001f: sget-object v0, Lorg/purple/smoke/SipHash;.C_ROUNDS:[I // field@5d25 │ │ +4182a2: 2100 |0021: array-length v0, v0 │ │ +4182a4: 3504 0400 |0022: if-ge v4, v0, 0026 // +0004 │ │ +4182a8: 5924 285d |0024: iput v4, v2, Lorg/purple/smoke/SipHash;.m_c_rounds_index:I // field@5d28 │ │ +4182ac: 3a05 0900 |0026: if-ltz v5, 002f // +0009 │ │ +4182b0: 6204 265d |0028: sget-object v4, Lorg/purple/smoke/SipHash;.D_ROUNDS:[I // field@5d26 │ │ +4182b4: 2144 |002a: array-length v4, v4 │ │ +4182b6: 3545 0400 |002b: if-ge v5, v4, 002f // +0004 │ │ +4182ba: 5925 295d |002d: iput v5, v2, Lorg/purple/smoke/SipHash;.m_d_rounds_index:I // field@5d29 │ │ +4182be: 5b23 2a5d |002f: iput-object v3, v2, Lorg/purple/smoke/SipHash;.m_key:[B // field@5d2a │ │ +4182c2: 0e00 |0031: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=112 │ │ 0x0004 line=42 │ │ 0x0007 line=43 │ │ 0x0009 line=44 │ │ 0x000d line=45 │ │ @@ -727476,77 +727475,77 @@ │ │ type : '([BI)J' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 11 │ │ ins : 3 │ │ outs : 0 │ │ insns size : 89 16-bit code units │ │ -417cc0: |[417cc0] org.purple.smoke.SipHash.byteArrayToLong:([BI)J │ │ -417cd0: 1600 0000 |0000: const-wide/16 v0, #int 0 // #0 │ │ -417cd4: 3809 5600 |0002: if-eqz v9, 0058 // +0056 │ │ -417cd8: 2192 |0004: array-length v2, v9 │ │ -417cda: b1a2 |0005: sub-int/2addr v2, v10 │ │ -417cdc: 1303 0800 |0006: const/16 v3, #int 8 // #8 │ │ -417ce0: 3532 0300 |0008: if-ge v2, v3, 000b // +0003 │ │ -417ce4: 284e |000a: goto 0058 // +004e │ │ -417ce6: 4802 090a |000b: aget-byte v2, v9, v10 │ │ -417cea: 8124 |000d: int-to-long v4, v2 │ │ -417cec: 1606 ff00 |000e: const-wide/16 v6, #int 255 // #ff │ │ -417cf0: c064 |0010: and-long/2addr v4, v6 │ │ -417cf2: c140 |0011: or-long/2addr v0, v4 │ │ -417cf4: d802 0a01 |0012: add-int/lit8 v2, v10, #int 1 // #01 │ │ -417cf8: 4802 0902 |0014: aget-byte v2, v9, v2 │ │ -417cfc: 8124 |0016: int-to-long v4, v2 │ │ -417cfe: c064 |0017: and-long/2addr v4, v6 │ │ -417d00: a302 0403 |0018: shl-long v2, v4, v3 │ │ -417d04: c120 |001a: or-long/2addr v0, v2 │ │ -417d06: d802 0a02 |001b: add-int/lit8 v2, v10, #int 2 // #02 │ │ -417d0a: 4802 0902 |001d: aget-byte v2, v9, v2 │ │ -417d0e: 8122 |001f: int-to-long v2, v2 │ │ -417d10: c062 |0020: and-long/2addr v2, v6 │ │ -417d12: 1304 1000 |0021: const/16 v4, #int 16 // #10 │ │ -417d16: c342 |0023: shl-long/2addr v2, v4 │ │ -417d18: c120 |0024: or-long/2addr v0, v2 │ │ -417d1a: d802 0a03 |0025: add-int/lit8 v2, v10, #int 3 // #03 │ │ -417d1e: 4802 0902 |0027: aget-byte v2, v9, v2 │ │ -417d22: 8122 |0029: int-to-long v2, v2 │ │ -417d24: c062 |002a: and-long/2addr v2, v6 │ │ -417d26: 1304 1800 |002b: const/16 v4, #int 24 // #18 │ │ -417d2a: c342 |002d: shl-long/2addr v2, v4 │ │ -417d2c: c120 |002e: or-long/2addr v0, v2 │ │ -417d2e: d802 0a04 |002f: add-int/lit8 v2, v10, #int 4 // #04 │ │ -417d32: 4802 0902 |0031: aget-byte v2, v9, v2 │ │ -417d36: 8122 |0033: int-to-long v2, v2 │ │ -417d38: c062 |0034: and-long/2addr v2, v6 │ │ -417d3a: 1304 2000 |0035: const/16 v4, #int 32 // #20 │ │ -417d3e: c342 |0037: shl-long/2addr v2, v4 │ │ -417d40: c120 |0038: or-long/2addr v0, v2 │ │ -417d42: d802 0a05 |0039: add-int/lit8 v2, v10, #int 5 // #05 │ │ -417d46: 4802 0902 |003b: aget-byte v2, v9, v2 │ │ -417d4a: 8122 |003d: int-to-long v2, v2 │ │ -417d4c: c062 |003e: and-long/2addr v2, v6 │ │ -417d4e: 1304 2800 |003f: const/16 v4, #int 40 // #28 │ │ -417d52: c342 |0041: shl-long/2addr v2, v4 │ │ -417d54: c120 |0042: or-long/2addr v0, v2 │ │ -417d56: d802 0a06 |0043: add-int/lit8 v2, v10, #int 6 // #06 │ │ -417d5a: 4802 0902 |0045: aget-byte v2, v9, v2 │ │ -417d5e: 8122 |0047: int-to-long v2, v2 │ │ -417d60: c062 |0048: and-long/2addr v2, v6 │ │ -417d62: 1304 3000 |0049: const/16 v4, #int 48 // #30 │ │ -417d66: c342 |004b: shl-long/2addr v2, v4 │ │ -417d68: c120 |004c: or-long/2addr v0, v2 │ │ -417d6a: d80a 0a07 |004d: add-int/lit8 v10, v10, #int 7 // #07 │ │ -417d6e: 4809 090a |004f: aget-byte v9, v9, v10 │ │ -417d72: 8199 |0051: int-to-long v9, v9 │ │ -417d74: c069 |0052: and-long/2addr v9, v6 │ │ -417d76: 1302 3800 |0053: const/16 v2, #int 56 // #38 │ │ -417d7a: c329 |0055: shl-long/2addr v9, v2 │ │ -417d7c: c109 |0056: or-long/2addr v9, v0 │ │ -417d7e: 1009 |0057: return-wide v9 │ │ -417d80: 1000 |0058: return-wide v0 │ │ +417cbc: |[417cbc] org.purple.smoke.SipHash.byteArrayToLong:([BI)J │ │ +417ccc: 1600 0000 |0000: const-wide/16 v0, #int 0 // #0 │ │ +417cd0: 3809 5600 |0002: if-eqz v9, 0058 // +0056 │ │ +417cd4: 2192 |0004: array-length v2, v9 │ │ +417cd6: b1a2 |0005: sub-int/2addr v2, v10 │ │ +417cd8: 1303 0800 |0006: const/16 v3, #int 8 // #8 │ │ +417cdc: 3532 0300 |0008: if-ge v2, v3, 000b // +0003 │ │ +417ce0: 284e |000a: goto 0058 // +004e │ │ +417ce2: 4802 090a |000b: aget-byte v2, v9, v10 │ │ +417ce6: 8124 |000d: int-to-long v4, v2 │ │ +417ce8: 1606 ff00 |000e: const-wide/16 v6, #int 255 // #ff │ │ +417cec: c064 |0010: and-long/2addr v4, v6 │ │ +417cee: c140 |0011: or-long/2addr v0, v4 │ │ +417cf0: d802 0a01 |0012: add-int/lit8 v2, v10, #int 1 // #01 │ │ +417cf4: 4802 0902 |0014: aget-byte v2, v9, v2 │ │ +417cf8: 8124 |0016: int-to-long v4, v2 │ │ +417cfa: c064 |0017: and-long/2addr v4, v6 │ │ +417cfc: a302 0403 |0018: shl-long v2, v4, v3 │ │ +417d00: c120 |001a: or-long/2addr v0, v2 │ │ +417d02: d802 0a02 |001b: add-int/lit8 v2, v10, #int 2 // #02 │ │ +417d06: 4802 0902 |001d: aget-byte v2, v9, v2 │ │ +417d0a: 8122 |001f: int-to-long v2, v2 │ │ +417d0c: c062 |0020: and-long/2addr v2, v6 │ │ +417d0e: 1304 1000 |0021: const/16 v4, #int 16 // #10 │ │ +417d12: c342 |0023: shl-long/2addr v2, v4 │ │ +417d14: c120 |0024: or-long/2addr v0, v2 │ │ +417d16: d802 0a03 |0025: add-int/lit8 v2, v10, #int 3 // #03 │ │ +417d1a: 4802 0902 |0027: aget-byte v2, v9, v2 │ │ +417d1e: 8122 |0029: int-to-long v2, v2 │ │ +417d20: c062 |002a: and-long/2addr v2, v6 │ │ +417d22: 1304 1800 |002b: const/16 v4, #int 24 // #18 │ │ +417d26: c342 |002d: shl-long/2addr v2, v4 │ │ +417d28: c120 |002e: or-long/2addr v0, v2 │ │ +417d2a: d802 0a04 |002f: add-int/lit8 v2, v10, #int 4 // #04 │ │ +417d2e: 4802 0902 |0031: aget-byte v2, v9, v2 │ │ +417d32: 8122 |0033: int-to-long v2, v2 │ │ +417d34: c062 |0034: and-long/2addr v2, v6 │ │ +417d36: 1304 2000 |0035: const/16 v4, #int 32 // #20 │ │ +417d3a: c342 |0037: shl-long/2addr v2, v4 │ │ +417d3c: c120 |0038: or-long/2addr v0, v2 │ │ +417d3e: d802 0a05 |0039: add-int/lit8 v2, v10, #int 5 // #05 │ │ +417d42: 4802 0902 |003b: aget-byte v2, v9, v2 │ │ +417d46: 8122 |003d: int-to-long v2, v2 │ │ +417d48: c062 |003e: and-long/2addr v2, v6 │ │ +417d4a: 1304 2800 |003f: const/16 v4, #int 40 // #28 │ │ +417d4e: c342 |0041: shl-long/2addr v2, v4 │ │ +417d50: c120 |0042: or-long/2addr v0, v2 │ │ +417d52: d802 0a06 |0043: add-int/lit8 v2, v10, #int 6 // #06 │ │ +417d56: 4802 0902 |0045: aget-byte v2, v9, v2 │ │ +417d5a: 8122 |0047: int-to-long v2, v2 │ │ +417d5c: c062 |0048: and-long/2addr v2, v6 │ │ +417d5e: 1304 3000 |0049: const/16 v4, #int 48 // #30 │ │ +417d62: c342 |004b: shl-long/2addr v2, v4 │ │ +417d64: c120 |004c: or-long/2addr v0, v2 │ │ +417d66: d80a 0a07 |004d: add-int/lit8 v10, v10, #int 7 // #07 │ │ +417d6a: 4809 090a |004f: aget-byte v9, v9, v10 │ │ +417d6e: 8199 |0051: int-to-long v9, v9 │ │ +417d70: c069 |0052: and-long/2addr v9, v6 │ │ +417d72: 1302 3800 |0053: const/16 v2, #int 56 // #38 │ │ +417d76: c329 |0055: shl-long/2addr v9, v2 │ │ +417d78: c109 |0056: or-long/2addr v9, v0 │ │ +417d7a: 1009 |0057: return-wide v9 │ │ +417d7c: 1000 |0058: return-wide v0 │ │ catches : (none) │ │ positions : │ │ 0x0004 line=53 │ │ 0x000b line=58 │ │ 0x0014 line=59 │ │ 0x001d line=61 │ │ 0x0027 line=63 │ │ @@ -727564,88 +727563,88 @@ │ │ type : '(JJ)J' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 9 │ │ ins : 5 │ │ outs : 0 │ │ insns size : 10 16-bit code units │ │ -417d84: |[417d84] org.purple.smoke.SipHash.rotl:(JJ)J │ │ -417d94: 8470 |0000: long-to-int v0, v7 │ │ -417d96: a300 0500 |0001: shl-long v0, v5, v0 │ │ -417d9a: 1602 4000 |0003: const-wide/16 v2, #int 64 // #40 │ │ -417d9e: bc72 |0005: sub-long/2addr v2, v7 │ │ -417da0: 8427 |0006: long-to-int v7, v2 │ │ -417da2: c575 |0007: ushr-long/2addr v5, v7 │ │ -417da4: c105 |0008: or-long/2addr v5, v0 │ │ -417da6: 1005 |0009: return-wide v5 │ │ +417d80: |[417d80] org.purple.smoke.SipHash.rotl:(JJ)J │ │ +417d90: 8470 |0000: long-to-int v0, v7 │ │ +417d92: a300 0500 |0001: shl-long v0, v5, v0 │ │ +417d96: 1602 4000 |0003: const-wide/16 v2, #int 64 // #40 │ │ +417d9a: bc72 |0005: sub-long/2addr v2, v7 │ │ +417d9c: 8427 |0006: long-to-int v7, v2 │ │ +417d9e: c575 |0007: ushr-long/2addr v5, v7 │ │ +417da0: c105 |0008: or-long/2addr v5, v0 │ │ +417da2: 1005 |0009: return-wide v5 │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #6 : (in Lorg/purple/smoke/SipHash;) │ │ name : 'round' │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 93 16-bit code units │ │ -4182c8: |[4182c8] org.purple.smoke.SipHash.round:()V │ │ -4182d8: 5360 2b5d |0000: iget-wide v0, v6, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ -4182dc: 5362 2c5d |0002: iget-wide v2, v6, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ -4182e0: bb20 |0004: add-long/2addr v0, v2 │ │ -4182e2: 5a60 2b5d |0005: iput-wide v0, v6, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ -4182e6: 1600 0d00 |0007: const-wide/16 v0, #int 13 // #d │ │ -4182ea: 7051 14b9 2603 |0009: invoke-direct {v6, v2, v3, v0, v1}, Lorg/purple/smoke/SipHash;.rotl:(JJ)J // method@b914 │ │ -4182f0: 0b00 |000c: move-result-wide v0 │ │ -4182f2: 5a60 2c5d |000d: iput-wide v0, v6, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ -4182f6: 5362 2b5d |000f: iget-wide v2, v6, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ -4182fa: c220 |0011: xor-long/2addr v0, v2 │ │ -4182fc: 5a60 2c5d |0012: iput-wide v0, v6, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ -418300: 1600 2000 |0014: const-wide/16 v0, #int 32 // #20 │ │ -418304: 7051 14b9 2603 |0016: invoke-direct {v6, v2, v3, v0, v1}, Lorg/purple/smoke/SipHash;.rotl:(JJ)J // method@b914 │ │ -41830a: 0b02 |0019: move-result-wide v2 │ │ -41830c: 5a62 2b5d |001a: iput-wide v2, v6, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ -418310: 5362 2d5d |001c: iget-wide v2, v6, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ -418314: 5364 2e5d |001e: iget-wide v4, v6, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ -418318: bb42 |0020: add-long/2addr v2, v4 │ │ -41831a: 5a62 2d5d |0021: iput-wide v2, v6, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ -41831e: 1602 1000 |0023: const-wide/16 v2, #int 16 // #10 │ │ -418322: 7053 14b9 4625 |0025: invoke-direct {v6, v4, v5, v2, v3}, Lorg/purple/smoke/SipHash;.rotl:(JJ)J // method@b914 │ │ -418328: 0b02 |0028: move-result-wide v2 │ │ -41832a: 5a62 2e5d |0029: iput-wide v2, v6, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ -41832e: 5364 2d5d |002b: iget-wide v4, v6, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ -418332: c242 |002d: xor-long/2addr v2, v4 │ │ -418334: 5a62 2e5d |002e: iput-wide v2, v6, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ -418338: 5362 2c5d |0030: iget-wide v2, v6, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ -41833c: bb24 |0032: add-long/2addr v4, v2 │ │ -41833e: 5a64 2d5d |0033: iput-wide v4, v6, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ -418342: 1604 1100 |0035: const-wide/16 v4, #int 17 // #11 │ │ -418346: 7055 14b9 2643 |0037: invoke-direct {v6, v2, v3, v4, v5}, Lorg/purple/smoke/SipHash;.rotl:(JJ)J // method@b914 │ │ -41834c: 0b02 |003a: move-result-wide v2 │ │ -41834e: 5a62 2c5d |003b: iput-wide v2, v6, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ -418352: 5364 2d5d |003d: iget-wide v4, v6, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ -418356: c242 |003f: xor-long/2addr v2, v4 │ │ -418358: 5a62 2c5d |0040: iput-wide v2, v6, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ -41835c: 7051 14b9 4605 |0042: invoke-direct {v6, v4, v5, v0, v1}, Lorg/purple/smoke/SipHash;.rotl:(JJ)J // method@b914 │ │ -418362: 0b00 |0045: move-result-wide v0 │ │ -418364: 5a60 2d5d |0046: iput-wide v0, v6, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ -418368: 5360 2b5d |0048: iget-wide v0, v6, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ -41836c: 5362 2e5d |004a: iget-wide v2, v6, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ -418370: bb20 |004c: add-long/2addr v0, v2 │ │ -418372: 5a60 2b5d |004d: iput-wide v0, v6, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ -418376: 1600 1500 |004f: const-wide/16 v0, #int 21 // #15 │ │ -41837a: 7051 14b9 2603 |0051: invoke-direct {v6, v2, v3, v0, v1}, Lorg/purple/smoke/SipHash;.rotl:(JJ)J // method@b914 │ │ -418380: 0b00 |0054: move-result-wide v0 │ │ -418382: 5a60 2e5d |0055: iput-wide v0, v6, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ -418386: 5362 2b5d |0057: iget-wide v2, v6, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ -41838a: c220 |0059: xor-long/2addr v0, v2 │ │ -41838c: 5a60 2e5d |005a: iput-wide v0, v6, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ -418390: 0e00 |005c: return-void │ │ +4182c4: |[4182c4] org.purple.smoke.SipHash.round:()V │ │ +4182d4: 5360 2b5d |0000: iget-wide v0, v6, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ +4182d8: 5362 2c5d |0002: iget-wide v2, v6, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ +4182dc: bb20 |0004: add-long/2addr v0, v2 │ │ +4182de: 5a60 2b5d |0005: iput-wide v0, v6, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ +4182e2: 1600 0d00 |0007: const-wide/16 v0, #int 13 // #d │ │ +4182e6: 7051 14b9 2603 |0009: invoke-direct {v6, v2, v3, v0, v1}, Lorg/purple/smoke/SipHash;.rotl:(JJ)J // method@b914 │ │ +4182ec: 0b00 |000c: move-result-wide v0 │ │ +4182ee: 5a60 2c5d |000d: iput-wide v0, v6, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ +4182f2: 5362 2b5d |000f: iget-wide v2, v6, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ +4182f6: c220 |0011: xor-long/2addr v0, v2 │ │ +4182f8: 5a60 2c5d |0012: iput-wide v0, v6, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ +4182fc: 1600 2000 |0014: const-wide/16 v0, #int 32 // #20 │ │ +418300: 7051 14b9 2603 |0016: invoke-direct {v6, v2, v3, v0, v1}, Lorg/purple/smoke/SipHash;.rotl:(JJ)J // method@b914 │ │ +418306: 0b02 |0019: move-result-wide v2 │ │ +418308: 5a62 2b5d |001a: iput-wide v2, v6, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ +41830c: 5362 2d5d |001c: iget-wide v2, v6, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ +418310: 5364 2e5d |001e: iget-wide v4, v6, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ +418314: bb42 |0020: add-long/2addr v2, v4 │ │ +418316: 5a62 2d5d |0021: iput-wide v2, v6, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ +41831a: 1602 1000 |0023: const-wide/16 v2, #int 16 // #10 │ │ +41831e: 7053 14b9 4625 |0025: invoke-direct {v6, v4, v5, v2, v3}, Lorg/purple/smoke/SipHash;.rotl:(JJ)J // method@b914 │ │ +418324: 0b02 |0028: move-result-wide v2 │ │ +418326: 5a62 2e5d |0029: iput-wide v2, v6, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ +41832a: 5364 2d5d |002b: iget-wide v4, v6, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ +41832e: c242 |002d: xor-long/2addr v2, v4 │ │ +418330: 5a62 2e5d |002e: iput-wide v2, v6, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ +418334: 5362 2c5d |0030: iget-wide v2, v6, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ +418338: bb24 |0032: add-long/2addr v4, v2 │ │ +41833a: 5a64 2d5d |0033: iput-wide v4, v6, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ +41833e: 1604 1100 |0035: const-wide/16 v4, #int 17 // #11 │ │ +418342: 7055 14b9 2643 |0037: invoke-direct {v6, v2, v3, v4, v5}, Lorg/purple/smoke/SipHash;.rotl:(JJ)J // method@b914 │ │ +418348: 0b02 |003a: move-result-wide v2 │ │ +41834a: 5a62 2c5d |003b: iput-wide v2, v6, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ +41834e: 5364 2d5d |003d: iget-wide v4, v6, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ +418352: c242 |003f: xor-long/2addr v2, v4 │ │ +418354: 5a62 2c5d |0040: iput-wide v2, v6, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ +418358: 7051 14b9 4605 |0042: invoke-direct {v6, v4, v5, v0, v1}, Lorg/purple/smoke/SipHash;.rotl:(JJ)J // method@b914 │ │ +41835e: 0b00 |0045: move-result-wide v0 │ │ +418360: 5a60 2d5d |0046: iput-wide v0, v6, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ +418364: 5360 2b5d |0048: iget-wide v0, v6, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ +418368: 5362 2e5d |004a: iget-wide v2, v6, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ +41836c: bb20 |004c: add-long/2addr v0, v2 │ │ +41836e: 5a60 2b5d |004d: iput-wide v0, v6, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ +418372: 1600 1500 |004f: const-wide/16 v0, #int 21 // #15 │ │ +418376: 7051 14b9 2603 |0051: invoke-direct {v6, v2, v3, v0, v1}, Lorg/purple/smoke/SipHash;.rotl:(JJ)J // method@b914 │ │ +41837c: 0b00 |0054: move-result-wide v0 │ │ +41837e: 5a60 2e5d |0055: iput-wide v0, v6, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ +418382: 5362 2b5d |0057: iget-wide v2, v6, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ +418386: c220 |0059: xor-long/2addr v0, v2 │ │ +418388: 5a60 2e5d |005a: iput-wide v0, v6, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ +41838c: 0e00 |005c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=83 │ │ 0x0009 line=84 │ │ 0x000f line=85 │ │ 0x0016 line=86 │ │ 0x001c line=87 │ │ @@ -727666,40 +727665,40 @@ │ │ type : '()Z' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 7 │ │ ins : 0 │ │ outs : 4 │ │ insns size : 76 16-bit code units │ │ -417c18: |[417c18] org.purple.smoke.SipHash.test1:()Z │ │ -417c28: 2200 7d1a |0000: new-instance v0, Lorg/purple/smoke/SipHash; // type@1a7d │ │ -417c2c: 1301 1000 |0002: const/16 v1, #int 16 // #10 │ │ -417c30: 2311 ba1a |0004: new-array v1, v1, [B // type@1aba │ │ -417c34: 2601 2600 0000 |0006: fill-array-data v1, 0000002c // +00000026 │ │ -417c3a: 1202 |0009: const/4 v2, #int 0 // #0 │ │ -417c3c: 7040 10b9 1022 |000a: invoke-direct {v0, v1, v2, v2}, Lorg/purple/smoke/SipHash;.:([BII)V // method@b910 │ │ -417c42: 1301 0800 |000d: const/16 v1, #int 8 // #8 │ │ -417c46: 2313 ba1a |000f: new-array v3, v1, [B // type@1aba │ │ -417c4a: 2603 2700 0000 |0011: fill-array-data v3, 00000038 // +00000027 │ │ -417c50: 7110 d8b7 0300 |0014: invoke-static {v3}, Lorg/purple/smoke/Miscellaneous;.byteArrayToLong:([B)J // method@b7d8 │ │ -417c56: 0b03 |0017: move-result-wide v3 │ │ -417c58: 1305 0f00 |0018: const/16 v5, #int 15 // #f │ │ -417c5c: 2355 ba1a |001a: new-array v5, v5, [B // type@1aba │ │ -417c60: 2605 2400 0000 |001c: fill-array-data v5, 00000040 // +00000024 │ │ -417c66: 6e30 12b9 5001 |001f: invoke-virtual {v0, v5, v1}, Lorg/purple/smoke/SipHash;.hmac:([BI)[J // method@b912 │ │ -417c6c: 0c00 |0022: move-result-object v0 │ │ -417c6e: 4505 0002 |0023: aget-wide v5, v0, v2 │ │ -417c72: 3100 0305 |0025: cmp-long v0, v3, v5 │ │ -417c76: 3900 0300 |0027: if-nez v0, 002a // +0003 │ │ -417c7a: 1212 |0029: const/4 v2, #int 1 // #1 │ │ -417c7c: 0f02 |002a: return v2 │ │ -417c7e: 0000 |002b: nop // spacer │ │ -417c80: 0003 0100 1000 0000 0001 0203 0405 ... |002c: array-data (12 units) │ │ -417c98: 0003 0100 0800 0000 a129 ca61 49be ... |0038: array-data (8 units) │ │ -417ca8: 0003 0100 0f00 0000 0001 0203 0405 ... |0040: array-data (12 units) │ │ +417c14: |[417c14] org.purple.smoke.SipHash.test1:()Z │ │ +417c24: 2200 7d1a |0000: new-instance v0, Lorg/purple/smoke/SipHash; // type@1a7d │ │ +417c28: 1301 1000 |0002: const/16 v1, #int 16 // #10 │ │ +417c2c: 2311 ba1a |0004: new-array v1, v1, [B // type@1aba │ │ +417c30: 2601 2600 0000 |0006: fill-array-data v1, 0000002c // +00000026 │ │ +417c36: 1202 |0009: const/4 v2, #int 0 // #0 │ │ +417c38: 7040 10b9 1022 |000a: invoke-direct {v0, v1, v2, v2}, Lorg/purple/smoke/SipHash;.:([BII)V // method@b910 │ │ +417c3e: 1301 0800 |000d: const/16 v1, #int 8 // #8 │ │ +417c42: 2313 ba1a |000f: new-array v3, v1, [B // type@1aba │ │ +417c46: 2603 2700 0000 |0011: fill-array-data v3, 00000038 // +00000027 │ │ +417c4c: 7110 d8b7 0300 |0014: invoke-static {v3}, Lorg/purple/smoke/Miscellaneous;.byteArrayToLong:([B)J // method@b7d8 │ │ +417c52: 0b03 |0017: move-result-wide v3 │ │ +417c54: 1305 0f00 |0018: const/16 v5, #int 15 // #f │ │ +417c58: 2355 ba1a |001a: new-array v5, v5, [B // type@1aba │ │ +417c5c: 2605 2400 0000 |001c: fill-array-data v5, 00000040 // +00000024 │ │ +417c62: 6e30 12b9 5001 |001f: invoke-virtual {v0, v5, v1}, Lorg/purple/smoke/SipHash;.hmac:([BI)[J // method@b912 │ │ +417c68: 0c00 |0022: move-result-object v0 │ │ +417c6a: 4505 0002 |0023: aget-wide v5, v0, v2 │ │ +417c6e: 3100 0305 |0025: cmp-long v0, v3, v5 │ │ +417c72: 3900 0300 |0027: if-nez v0, 002a // +0003 │ │ +417c76: 1212 |0029: const/4 v2, #int 1 // #1 │ │ +417c78: 0f02 |002a: return v2 │ │ +417c7a: 0000 |002b: nop // spacer │ │ +417c7c: 0003 0100 1000 0000 0001 0203 0405 ... |002c: array-data (12 units) │ │ +417c94: 0003 0100 0800 0000 a129 ca61 49be ... |0038: array-data (8 units) │ │ +417ca4: 0003 0100 0f00 0000 0001 0203 0405 ... |0040: array-data (12 units) │ │ catches : (none) │ │ positions : │ │ 0x0000 line=305 │ │ 0x0011 line=311 │ │ 0x0014 line=312 │ │ 0x001c line=314 │ │ 0x001f line=315 │ │ @@ -727712,19 +727711,19 @@ │ │ type : '([BI)[J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 4 │ │ insns size : 7 16-bit code units │ │ -418158: |[418158] org.purple.smoke.SipHash.hmac:([BI)[J │ │ -418168: 5410 2a5d |0000: iget-object v0, v1, Lorg/purple/smoke/SipHash;.m_key:[B // field@5d2a │ │ -41816c: 6e40 13b9 2130 |0002: invoke-virtual {v1, v2, v0, v3}, Lorg/purple/smoke/SipHash;.hmac:([B[BI)[J // method@b913 │ │ -418172: 0c02 |0005: move-result-object v2 │ │ -418174: 1102 |0006: return-object v2 │ │ +418154: |[418154] org.purple.smoke.SipHash.hmac:([BI)[J │ │ +418164: 5410 2a5d |0000: iget-object v0, v1, Lorg/purple/smoke/SipHash;.m_key:[B // field@5d2a │ │ +418168: 6e40 13b9 2130 |0002: invoke-virtual {v1, v2, v0, v3}, Lorg/purple/smoke/SipHash;.hmac:([B[BI)[J // method@b913 │ │ +41816e: 0c02 |0005: move-result-object v2 │ │ +418170: 1102 |0006: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=127 │ │ locals : │ │ 0x0000 - 0x0007 reg=1 this Lorg/purple/smoke/SipHash; │ │ 0x0000 - 0x0007 reg=2 (null) [B │ │ 0x0000 - 0x0007 reg=3 (null) I │ │ @@ -727734,248 +727733,248 @@ │ │ type : '([B[BI)[J' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 21 │ │ ins : 4 │ │ outs : 3 │ │ insns size : 450 16-bit code units │ │ -417da8: |[417da8] org.purple.smoke.SipHash.hmac:([B[BI)[J │ │ -417db8: 0801 1100 |0000: move-object/from16 v1, v17 │ │ -417dbc: 0800 1200 |0002: move-object/from16 v0, v18 │ │ -417dc0: 0802 1300 |0004: move-object/from16 v2, v19 │ │ -417dc4: 0203 1400 |0006: move/from16 v3, v20 │ │ -417dc8: 1d11 |0008: monitor-enter v17 │ │ -417dca: 1204 |0009: const/4 v4, #int 0 // #0 │ │ -417dcc: 1228 |000a: const/4 v8, #int 2 // #2 │ │ -417dce: 3800 9301 |000b: if-eqz v0, 019e // +0193 │ │ -417dd2: 3802 9101 |000d: if-eqz v2, 019e // +0191 │ │ -417dd6: 2129 |000f: array-length v9, v2 │ │ -417dd8: 130a 1000 |0010: const/16 v10, #int 16 // #10 │ │ -417ddc: 32a9 0400 |0012: if-eq v9, v10, 0016 // +0004 │ │ -417de0: 2900 8a01 |0014: goto/16 019e // +018a │ │ -417de4: 7030 11b9 2104 |0016: invoke-direct {v1, v2, v4}, Lorg/purple/smoke/SipHash;.byteArrayToLong:([BI)J // method@b911 │ │ -417dea: 0b0b |0019: move-result-wide v11 │ │ -417dec: 1309 0800 |001a: const/16 v9, #int 8 // #8 │ │ -417df0: 7030 11b9 2109 |001c: invoke-direct {v1, v2, v9}, Lorg/purple/smoke/SipHash;.byteArrayToLong:([BI)J // method@b911 │ │ -417df6: 0b0d |001f: move-result-wide v13 │ │ -417df8: 180f 7565 7370 656d 6f73 |0020: const-wide v15, #double 1.09869e+248 // #736f6d6570736575 │ │ -417e02: a205 0b0f |0025: xor-long v5, v11, v15 │ │ -417e06: 5a15 2b5d |0027: iput-wide v5, v1, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ -417e0a: 1805 6d6f 646e 6172 6f64 |0029: const-wide v5, #double 6.2222e+175 // #646f72616e646f6d │ │ -417e14: c2d5 |002e: xor-long/2addr v5, v13 │ │ -417e16: 5a15 2c5d |002f: iput-wide v5, v1, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ -417e1a: 180f 6172 656e 6567 796c |0031: const-wide v15, #double 3.42087e+214 // #6c7967656e657261 │ │ -417e24: c2fb |0036: xor-long/2addr v11, v15 │ │ -417e26: 5a1b 2d5d |0037: iput-wide v11, v1, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ -417e2a: 180b 7365 7479 6264 6574 |0039: const-wide v11, #double 4.90118e+252 // #7465646279746573 │ │ -417e34: c2db |003e: xor-long/2addr v11, v13 │ │ -417e36: 5a1b 2e5d |003f: iput-wide v11, v1, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ -417e3a: 160b ee00 |0041: const-wide/16 v11, #int 238 // #ee │ │ -417e3e: 33a3 0500 |0043: if-ne v3, v10, 0048 // +0005 │ │ -417e42: c2b5 |0045: xor-long/2addr v5, v11 │ │ -417e44: 5a15 2c5d |0046: iput-wide v5, v1, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ -417e48: 2105 |0048: array-length v5, v0 │ │ -417e4a: b395 |0049: div-int/2addr v5, v9 │ │ -417e4c: 6206 255d |004a: sget-object v6, Lorg/purple/smoke/SipHash;.C_ROUNDS:[I // field@5d25 │ │ -417e50: 5217 285d |004c: iget v7, v1, Lorg/purple/smoke/SipHash;.m_c_rounds_index:I // field@5d28 │ │ -417e54: 4406 0607 |004e: aget v6, v6, v7 │ │ -417e58: 1207 |0050: const/4 v7, #int 0 // #0 │ │ -417e5a: 124d |0051: const/4 v13, #int 4 // #4 │ │ -417e5c: 3557 3200 |0052: if-ge v7, v5, 0084 // +0032 │ │ -417e60: da0e 0708 |0054: mul-int/lit8 v14, v7, #int 8 // #08 │ │ -417e64: 7030 11b9 010e |0056: invoke-direct {v1, v0, v14}, Lorg/purple/smoke/SipHash;.byteArrayToLong:([BI)J // method@b911 │ │ -417e6a: 0b0e |0059: move-result-wide v14 │ │ -417e6c: 0213 0500 |005a: move/from16 v19, v5 │ │ -417e70: 5314 2e5d |005c: iget-wide v4, v1, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ -417e74: c2e4 |005e: xor-long/2addr v4, v14 │ │ -417e76: 5a14 2e5d |005f: iput-wide v4, v1, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ -417e7a: 3286 1200 |0061: if-eq v6, v8, 0073 // +0012 │ │ -417e7e: 32d6 0300 |0063: if-eq v6, v13, 0066 // +0003 │ │ -417e82: 2814 |0065: goto 0079 // +0014 │ │ -417e84: 7601 15b9 1100 |0066: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -417e8a: 7601 15b9 1100 |0069: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -417e90: 7601 15b9 1100 |006c: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -417e96: 7601 15b9 1100 |006f: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -417e9c: 2807 |0072: goto 0079 // +0007 │ │ -417e9e: 7601 15b9 1100 |0073: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -417ea4: 7601 15b9 1100 |0076: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -417eaa: 5314 2b5d |0079: iget-wide v4, v1, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ -417eae: c2e4 |007b: xor-long/2addr v4, v14 │ │ -417eb0: 5a14 2b5d |007c: iput-wide v4, v1, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ -417eb4: d807 0701 |007e: add-int/lit8 v7, v7, #int 1 // #01 │ │ -417eb8: 0205 1300 |0080: move/from16 v5, v19 │ │ -417ebc: 1204 |0082: const/4 v4, #int 0 // #0 │ │ -417ebe: 28ce |0083: goto 0051 // -0032 │ │ -417ec0: 2104 |0084: array-length v4, v0 │ │ -417ec2: b394 |0085: div-int/2addr v4, v9 │ │ -417ec4: da04 0408 |0086: mul-int/lit8 v4, v4, #int 8 // #08 │ │ -417ec8: 2105 |0088: array-length v5, v0 │ │ -417eca: 8155 |0089: int-to-long v5, v5 │ │ -417ecc: 1307 3800 |008a: const/16 v7, #int 56 // #38 │ │ -417ed0: c375 |008c: shl-long/2addr v5, v7 │ │ -417ed2: 2107 |008d: array-length v7, v0 │ │ -417ed4: b497 |008e: rem-int/2addr v7, v9 │ │ -417ed6: 2b07 2101 0000 |008f: packed-switch v7, 000001b0 // +00000121 │ │ -417edc: 2837 |0092: goto 00c9 // +0037 │ │ -417ede: d807 0406 |0093: add-int/lit8 v7, v4, #int 6 // #06 │ │ -417ee2: 4807 0007 |0095: aget-byte v7, v0, v7 │ │ -417ee6: 817e |0097: int-to-long v14, v7 │ │ -417ee8: 1307 3000 |0098: const/16 v7, #int 48 // #30 │ │ -417eec: c37e |009a: shl-long/2addr v14, v7 │ │ -417eee: c1e5 |009b: or-long/2addr v5, v14 │ │ -417ef0: d807 0405 |009c: add-int/lit8 v7, v4, #int 5 // #05 │ │ -417ef4: 4807 0007 |009e: aget-byte v7, v0, v7 │ │ -417ef8: 817e |00a0: int-to-long v14, v7 │ │ -417efa: 1307 2800 |00a1: const/16 v7, #int 40 // #28 │ │ -417efe: c37e |00a3: shl-long/2addr v14, v7 │ │ -417f00: c1e5 |00a4: or-long/2addr v5, v14 │ │ -417f02: d807 0404 |00a5: add-int/lit8 v7, v4, #int 4 // #04 │ │ -417f06: 4807 0007 |00a7: aget-byte v7, v0, v7 │ │ -417f0a: 817e |00a9: int-to-long v14, v7 │ │ -417f0c: 1307 2000 |00aa: const/16 v7, #int 32 // #20 │ │ -417f10: c37e |00ac: shl-long/2addr v14, v7 │ │ -417f12: c1e5 |00ad: or-long/2addr v5, v14 │ │ -417f14: d807 0403 |00ae: add-int/lit8 v7, v4, #int 3 // #03 │ │ -417f18: 4807 0007 |00b0: aget-byte v7, v0, v7 │ │ -417f1c: 817e |00b2: int-to-long v14, v7 │ │ -417f1e: 1307 1800 |00b3: const/16 v7, #int 24 // #18 │ │ -417f22: c37e |00b5: shl-long/2addr v14, v7 │ │ -417f24: c1e5 |00b6: or-long/2addr v5, v14 │ │ -417f26: d807 0402 |00b7: add-int/lit8 v7, v4, #int 2 // #02 │ │ -417f2a: 4807 0007 |00b9: aget-byte v7, v0, v7 │ │ -417f2e: 817e |00bb: int-to-long v14, v7 │ │ -417f30: c3ae |00bc: shl-long/2addr v14, v10 │ │ -417f32: c1e5 |00bd: or-long/2addr v5, v14 │ │ -417f34: d807 0401 |00be: add-int/lit8 v7, v4, #int 1 // #01 │ │ -417f38: 4807 0007 |00c0: aget-byte v7, v0, v7 │ │ -417f3c: 817e |00c2: int-to-long v14, v7 │ │ -417f3e: c39e |00c3: shl-long/2addr v14, v9 │ │ -417f40: c1e5 |00c4: or-long/2addr v5, v14 │ │ -417f42: 4800 0004 |00c5: aget-byte v0, v0, v4 │ │ -417f46: 810e |00c7: int-to-long v14, v0 │ │ -417f48: c1e5 |00c8: or-long/2addr v5, v14 │ │ -417f4a: 531e 2e5d |00c9: iget-wide v14, v1, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ -417f4e: c25e |00cb: xor-long/2addr v14, v5 │ │ -417f50: 5a1e 2e5d |00cc: iput-wide v14, v1, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ -417f54: 6200 255d |00ce: sget-object v0, Lorg/purple/smoke/SipHash;.C_ROUNDS:[I // field@5d25 │ │ -417f58: 5214 285d |00d0: iget v4, v1, Lorg/purple/smoke/SipHash;.m_c_rounds_index:I // field@5d28 │ │ -417f5c: 4400 0004 |00d2: aget v0, v0, v4 │ │ -417f60: 3280 1200 |00d4: if-eq v0, v8, 00e6 // +0012 │ │ -417f64: 32d0 0300 |00d6: if-eq v0, v13, 00d9 // +0003 │ │ -417f68: 2814 |00d8: goto 00ec // +0014 │ │ -417f6a: 7601 15b9 1100 |00d9: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -417f70: 7601 15b9 1100 |00dc: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -417f76: 7601 15b9 1100 |00df: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -417f7c: 7601 15b9 1100 |00e2: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -417f82: 2807 |00e5: goto 00ec // +0007 │ │ -417f84: 7601 15b9 1100 |00e6: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -417f8a: 7601 15b9 1100 |00e9: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -417f90: 531e 2b5d |00ec: iget-wide v14, v1, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ -417f94: c2e5 |00ee: xor-long/2addr v5, v14 │ │ -417f96: 5a15 2b5d |00ef: iput-wide v5, v1, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ -417f9a: 33a3 0800 |00f1: if-ne v3, v10, 00f9 // +0008 │ │ -417f9e: 5314 2d5d |00f3: iget-wide v4, v1, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ -417fa2: c2b4 |00f5: xor-long/2addr v4, v11 │ │ -417fa4: 5a14 2d5d |00f6: iput-wide v4, v1, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ -417fa8: 2808 |00f8: goto 0100 // +0008 │ │ -417faa: 5314 2d5d |00f9: iget-wide v4, v1, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ -417fae: 1606 ff00 |00fb: const-wide/16 v6, #int 255 // #ff │ │ -417fb2: c264 |00fd: xor-long/2addr v4, v6 │ │ -417fb4: 5a14 2d5d |00fe: iput-wide v4, v1, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ -417fb8: 6200 265d |0100: sget-object v0, Lorg/purple/smoke/SipHash;.D_ROUNDS:[I // field@5d26 │ │ -417fbc: 5214 295d |0102: iget v4, v1, Lorg/purple/smoke/SipHash;.m_d_rounds_index:I // field@5d29 │ │ -417fc0: 4404 0004 |0104: aget v4, v0, v4 │ │ -417fc4: 32d4 1e00 |0106: if-eq v4, v13, 0124 // +001e │ │ -417fc8: 3294 0300 |0108: if-eq v4, v9, 010b // +0003 │ │ -417fcc: 2826 |010a: goto 0130 // +0026 │ │ -417fce: 7601 15b9 1100 |010b: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -417fd4: 7601 15b9 1100 |010e: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -417fda: 7601 15b9 1100 |0111: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -417fe0: 7601 15b9 1100 |0114: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -417fe6: 7601 15b9 1100 |0117: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -417fec: 7601 15b9 1100 |011a: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -417ff2: 7601 15b9 1100 |011d: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -417ff8: 7601 15b9 1100 |0120: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -417ffe: 280d |0123: goto 0130 // +000d │ │ -418000: 7601 15b9 1100 |0124: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -418006: 7601 15b9 1100 |0127: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -41800c: 7601 15b9 1100 |012a: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -418012: 7601 15b9 1100 |012d: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -418018: 2384 bf1a |0130: new-array v4, v8, [J // type@1abf │ │ -41801c: 5315 2b5d |0132: iget-wide v5, v1, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ -418020: 5317 2c5d |0134: iget-wide v7, v1, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ -418024: c275 |0136: xor-long/2addr v5, v7 │ │ -418026: 531a 2d5d |0137: iget-wide v10, v1, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ -41802a: c2a5 |0139: xor-long/2addr v5, v10 │ │ -41802c: 531a 2e5d |013a: iget-wide v10, v1, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ -418030: c2a5 |013c: xor-long/2addr v5, v10 │ │ -418032: 120a |013d: const/4 v10, #int 0 // #0 │ │ -418034: 4c05 040a |013e: aput-wide v5, v4, v10 │ │ -418038: 1212 |0140: const/4 v2, #int 1 // #1 │ │ -41803a: 1605 0000 |0141: const-wide/16 v5, #int 0 // #0 │ │ -41803e: 4c05 0402 |0143: aput-wide v5, v4, v2 │ │ -418042: 3393 0c00 |0145: if-ne v3, v9, 0151 // +000c │ │ -418046: 5a15 2e5d |0147: iput-wide v5, v1, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ -41804a: 5a15 2d5d |0149: iput-wide v5, v1, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ -41804e: 5a15 2c5d |014b: iput-wide v5, v1, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ -418052: 5a15 2b5d |014d: iput-wide v5, v1, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ -418056: 1e11 |014f: monitor-exit v17 │ │ -418058: 1104 |0150: return-object v4 │ │ -41805a: 1605 dd00 |0151: const-wide/16 v5, #int 221 // #dd │ │ -41805e: c275 |0153: xor-long/2addr v5, v7 │ │ -418060: 5a15 2c5d |0154: iput-wide v5, v1, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ -418064: 5213 295d |0156: iget v3, v1, Lorg/purple/smoke/SipHash;.m_d_rounds_index:I // field@5d29 │ │ -418068: 4400 0003 |0158: aget v0, v0, v3 │ │ -41806c: 32d0 1e00 |015a: if-eq v0, v13, 0178 // +001e │ │ -418070: 3290 0300 |015c: if-eq v0, v9, 015f // +0003 │ │ -418074: 2826 |015e: goto 0184 // +0026 │ │ -418076: 7601 15b9 1100 |015f: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -41807c: 7601 15b9 1100 |0162: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -418082: 7601 15b9 1100 |0165: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -418088: 7601 15b9 1100 |0168: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -41808e: 7601 15b9 1100 |016b: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -418094: 7601 15b9 1100 |016e: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -41809a: 7601 15b9 1100 |0171: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -4180a0: 7601 15b9 1100 |0174: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -4180a6: 280d |0177: goto 0184 // +000d │ │ -4180a8: 7601 15b9 1100 |0178: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -4180ae: 7601 15b9 1100 |017b: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -4180b4: 7601 15b9 1100 |017e: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -4180ba: 7601 15b9 1100 |0181: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ -4180c0: 5315 2b5d |0184: iget-wide v5, v1, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ -4180c4: 5317 2c5d |0186: iget-wide v7, v1, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ -4180c8: c275 |0188: xor-long/2addr v5, v7 │ │ -4180ca: 5317 2d5d |0189: iget-wide v7, v1, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ -4180ce: c275 |018b: xor-long/2addr v5, v7 │ │ -4180d0: 5317 2e5d |018c: iget-wide v7, v1, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ -4180d4: c275 |018e: xor-long/2addr v5, v7 │ │ -4180d6: 1210 |018f: const/4 v0, #int 1 // #1 │ │ -4180d8: 4c05 0400 |0190: aput-wide v5, v4, v0 │ │ -4180dc: 1602 0000 |0192: const-wide/16 v2, #int 0 // #0 │ │ -4180e0: 5a12 2e5d |0194: iput-wide v2, v1, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ -4180e4: 5a12 2d5d |0196: iput-wide v2, v1, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ -4180e8: 5a12 2c5d |0198: iput-wide v2, v1, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ -4180ec: 5a12 2b5d |019a: iput-wide v2, v1, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ -4180f0: 1e11 |019c: monitor-exit v17 │ │ -4180f2: 1104 |019d: return-object v4 │ │ -4180f4: 2380 bf1a |019e: new-array v0, v8, [J // type@1abf │ │ -4180f8: 1203 |01a0: const/4 v3, #int 0 // #0 │ │ -4180fa: 1604 0000 |01a1: const-wide/16 v4, #int 0 // #0 │ │ -4180fe: 4c04 0003 |01a3: aput-wide v4, v0, v3 │ │ -418102: 1212 |01a5: const/4 v2, #int 1 // #1 │ │ -418104: 4c04 0002 |01a6: aput-wide v4, v0, v2 │ │ -418108: 1e11 |01a8: monitor-exit v17 │ │ -41810a: 1100 |01a9: return-object v0 │ │ -41810c: 0d00 |01aa: move-exception v0 │ │ -41810e: 1e11 |01ab: monitor-exit v17 │ │ -418110: 2802 |01ac: goto 01ae // +0002 │ │ -418112: 2700 |01ad: throw v0 │ │ -418114: 28ff |01ae: goto 01ad // -0001 │ │ -418116: 0000 |01af: nop // spacer │ │ -418118: 0001 0700 0100 0000 3600 0000 2f00 ... |01b0: packed-switch-data (18 units) │ │ +417da4: |[417da4] org.purple.smoke.SipHash.hmac:([B[BI)[J │ │ +417db4: 0801 1100 |0000: move-object/from16 v1, v17 │ │ +417db8: 0800 1200 |0002: move-object/from16 v0, v18 │ │ +417dbc: 0802 1300 |0004: move-object/from16 v2, v19 │ │ +417dc0: 0203 1400 |0006: move/from16 v3, v20 │ │ +417dc4: 1d11 |0008: monitor-enter v17 │ │ +417dc6: 1204 |0009: const/4 v4, #int 0 // #0 │ │ +417dc8: 1228 |000a: const/4 v8, #int 2 // #2 │ │ +417dca: 3800 9301 |000b: if-eqz v0, 019e // +0193 │ │ +417dce: 3802 9101 |000d: if-eqz v2, 019e // +0191 │ │ +417dd2: 2129 |000f: array-length v9, v2 │ │ +417dd4: 130a 1000 |0010: const/16 v10, #int 16 // #10 │ │ +417dd8: 32a9 0400 |0012: if-eq v9, v10, 0016 // +0004 │ │ +417ddc: 2900 8a01 |0014: goto/16 019e // +018a │ │ +417de0: 7030 11b9 2104 |0016: invoke-direct {v1, v2, v4}, Lorg/purple/smoke/SipHash;.byteArrayToLong:([BI)J // method@b911 │ │ +417de6: 0b0b |0019: move-result-wide v11 │ │ +417de8: 1309 0800 |001a: const/16 v9, #int 8 // #8 │ │ +417dec: 7030 11b9 2109 |001c: invoke-direct {v1, v2, v9}, Lorg/purple/smoke/SipHash;.byteArrayToLong:([BI)J // method@b911 │ │ +417df2: 0b0d |001f: move-result-wide v13 │ │ +417df4: 180f 7565 7370 656d 6f73 |0020: const-wide v15, #double 1.09869e+248 // #736f6d6570736575 │ │ +417dfe: a205 0b0f |0025: xor-long v5, v11, v15 │ │ +417e02: 5a15 2b5d |0027: iput-wide v5, v1, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ +417e06: 1805 6d6f 646e 6172 6f64 |0029: const-wide v5, #double 6.2222e+175 // #646f72616e646f6d │ │ +417e10: c2d5 |002e: xor-long/2addr v5, v13 │ │ +417e12: 5a15 2c5d |002f: iput-wide v5, v1, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ +417e16: 180f 6172 656e 6567 796c |0031: const-wide v15, #double 3.42087e+214 // #6c7967656e657261 │ │ +417e20: c2fb |0036: xor-long/2addr v11, v15 │ │ +417e22: 5a1b 2d5d |0037: iput-wide v11, v1, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ +417e26: 180b 7365 7479 6264 6574 |0039: const-wide v11, #double 4.90118e+252 // #7465646279746573 │ │ +417e30: c2db |003e: xor-long/2addr v11, v13 │ │ +417e32: 5a1b 2e5d |003f: iput-wide v11, v1, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ +417e36: 160b ee00 |0041: const-wide/16 v11, #int 238 // #ee │ │ +417e3a: 33a3 0500 |0043: if-ne v3, v10, 0048 // +0005 │ │ +417e3e: c2b5 |0045: xor-long/2addr v5, v11 │ │ +417e40: 5a15 2c5d |0046: iput-wide v5, v1, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ +417e44: 2105 |0048: array-length v5, v0 │ │ +417e46: b395 |0049: div-int/2addr v5, v9 │ │ +417e48: 6206 255d |004a: sget-object v6, Lorg/purple/smoke/SipHash;.C_ROUNDS:[I // field@5d25 │ │ +417e4c: 5217 285d |004c: iget v7, v1, Lorg/purple/smoke/SipHash;.m_c_rounds_index:I // field@5d28 │ │ +417e50: 4406 0607 |004e: aget v6, v6, v7 │ │ +417e54: 1207 |0050: const/4 v7, #int 0 // #0 │ │ +417e56: 124d |0051: const/4 v13, #int 4 // #4 │ │ +417e58: 3557 3200 |0052: if-ge v7, v5, 0084 // +0032 │ │ +417e5c: da0e 0708 |0054: mul-int/lit8 v14, v7, #int 8 // #08 │ │ +417e60: 7030 11b9 010e |0056: invoke-direct {v1, v0, v14}, Lorg/purple/smoke/SipHash;.byteArrayToLong:([BI)J // method@b911 │ │ +417e66: 0b0e |0059: move-result-wide v14 │ │ +417e68: 0213 0500 |005a: move/from16 v19, v5 │ │ +417e6c: 5314 2e5d |005c: iget-wide v4, v1, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ +417e70: c2e4 |005e: xor-long/2addr v4, v14 │ │ +417e72: 5a14 2e5d |005f: iput-wide v4, v1, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ +417e76: 3286 1200 |0061: if-eq v6, v8, 0073 // +0012 │ │ +417e7a: 32d6 0300 |0063: if-eq v6, v13, 0066 // +0003 │ │ +417e7e: 2814 |0065: goto 0079 // +0014 │ │ +417e80: 7601 15b9 1100 |0066: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +417e86: 7601 15b9 1100 |0069: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +417e8c: 7601 15b9 1100 |006c: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +417e92: 7601 15b9 1100 |006f: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +417e98: 2807 |0072: goto 0079 // +0007 │ │ +417e9a: 7601 15b9 1100 |0073: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +417ea0: 7601 15b9 1100 |0076: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +417ea6: 5314 2b5d |0079: iget-wide v4, v1, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ +417eaa: c2e4 |007b: xor-long/2addr v4, v14 │ │ +417eac: 5a14 2b5d |007c: iput-wide v4, v1, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ +417eb0: d807 0701 |007e: add-int/lit8 v7, v7, #int 1 // #01 │ │ +417eb4: 0205 1300 |0080: move/from16 v5, v19 │ │ +417eb8: 1204 |0082: const/4 v4, #int 0 // #0 │ │ +417eba: 28ce |0083: goto 0051 // -0032 │ │ +417ebc: 2104 |0084: array-length v4, v0 │ │ +417ebe: b394 |0085: div-int/2addr v4, v9 │ │ +417ec0: da04 0408 |0086: mul-int/lit8 v4, v4, #int 8 // #08 │ │ +417ec4: 2105 |0088: array-length v5, v0 │ │ +417ec6: 8155 |0089: int-to-long v5, v5 │ │ +417ec8: 1307 3800 |008a: const/16 v7, #int 56 // #38 │ │ +417ecc: c375 |008c: shl-long/2addr v5, v7 │ │ +417ece: 2107 |008d: array-length v7, v0 │ │ +417ed0: b497 |008e: rem-int/2addr v7, v9 │ │ +417ed2: 2b07 2101 0000 |008f: packed-switch v7, 000001b0 // +00000121 │ │ +417ed8: 2837 |0092: goto 00c9 // +0037 │ │ +417eda: d807 0406 |0093: add-int/lit8 v7, v4, #int 6 // #06 │ │ +417ede: 4807 0007 |0095: aget-byte v7, v0, v7 │ │ +417ee2: 817e |0097: int-to-long v14, v7 │ │ +417ee4: 1307 3000 |0098: const/16 v7, #int 48 // #30 │ │ +417ee8: c37e |009a: shl-long/2addr v14, v7 │ │ +417eea: c1e5 |009b: or-long/2addr v5, v14 │ │ +417eec: d807 0405 |009c: add-int/lit8 v7, v4, #int 5 // #05 │ │ +417ef0: 4807 0007 |009e: aget-byte v7, v0, v7 │ │ +417ef4: 817e |00a0: int-to-long v14, v7 │ │ +417ef6: 1307 2800 |00a1: const/16 v7, #int 40 // #28 │ │ +417efa: c37e |00a3: shl-long/2addr v14, v7 │ │ +417efc: c1e5 |00a4: or-long/2addr v5, v14 │ │ +417efe: d807 0404 |00a5: add-int/lit8 v7, v4, #int 4 // #04 │ │ +417f02: 4807 0007 |00a7: aget-byte v7, v0, v7 │ │ +417f06: 817e |00a9: int-to-long v14, v7 │ │ +417f08: 1307 2000 |00aa: const/16 v7, #int 32 // #20 │ │ +417f0c: c37e |00ac: shl-long/2addr v14, v7 │ │ +417f0e: c1e5 |00ad: or-long/2addr v5, v14 │ │ +417f10: d807 0403 |00ae: add-int/lit8 v7, v4, #int 3 // #03 │ │ +417f14: 4807 0007 |00b0: aget-byte v7, v0, v7 │ │ +417f18: 817e |00b2: int-to-long v14, v7 │ │ +417f1a: 1307 1800 |00b3: const/16 v7, #int 24 // #18 │ │ +417f1e: c37e |00b5: shl-long/2addr v14, v7 │ │ +417f20: c1e5 |00b6: or-long/2addr v5, v14 │ │ +417f22: d807 0402 |00b7: add-int/lit8 v7, v4, #int 2 // #02 │ │ +417f26: 4807 0007 |00b9: aget-byte v7, v0, v7 │ │ +417f2a: 817e |00bb: int-to-long v14, v7 │ │ +417f2c: c3ae |00bc: shl-long/2addr v14, v10 │ │ +417f2e: c1e5 |00bd: or-long/2addr v5, v14 │ │ +417f30: d807 0401 |00be: add-int/lit8 v7, v4, #int 1 // #01 │ │ +417f34: 4807 0007 |00c0: aget-byte v7, v0, v7 │ │ +417f38: 817e |00c2: int-to-long v14, v7 │ │ +417f3a: c39e |00c3: shl-long/2addr v14, v9 │ │ +417f3c: c1e5 |00c4: or-long/2addr v5, v14 │ │ +417f3e: 4800 0004 |00c5: aget-byte v0, v0, v4 │ │ +417f42: 810e |00c7: int-to-long v14, v0 │ │ +417f44: c1e5 |00c8: or-long/2addr v5, v14 │ │ +417f46: 531e 2e5d |00c9: iget-wide v14, v1, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ +417f4a: c25e |00cb: xor-long/2addr v14, v5 │ │ +417f4c: 5a1e 2e5d |00cc: iput-wide v14, v1, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ +417f50: 6200 255d |00ce: sget-object v0, Lorg/purple/smoke/SipHash;.C_ROUNDS:[I // field@5d25 │ │ +417f54: 5214 285d |00d0: iget v4, v1, Lorg/purple/smoke/SipHash;.m_c_rounds_index:I // field@5d28 │ │ +417f58: 4400 0004 |00d2: aget v0, v0, v4 │ │ +417f5c: 3280 1200 |00d4: if-eq v0, v8, 00e6 // +0012 │ │ +417f60: 32d0 0300 |00d6: if-eq v0, v13, 00d9 // +0003 │ │ +417f64: 2814 |00d8: goto 00ec // +0014 │ │ +417f66: 7601 15b9 1100 |00d9: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +417f6c: 7601 15b9 1100 |00dc: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +417f72: 7601 15b9 1100 |00df: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +417f78: 7601 15b9 1100 |00e2: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +417f7e: 2807 |00e5: goto 00ec // +0007 │ │ +417f80: 7601 15b9 1100 |00e6: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +417f86: 7601 15b9 1100 |00e9: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +417f8c: 531e 2b5d |00ec: iget-wide v14, v1, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ +417f90: c2e5 |00ee: xor-long/2addr v5, v14 │ │ +417f92: 5a15 2b5d |00ef: iput-wide v5, v1, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ +417f96: 33a3 0800 |00f1: if-ne v3, v10, 00f9 // +0008 │ │ +417f9a: 5314 2d5d |00f3: iget-wide v4, v1, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ +417f9e: c2b4 |00f5: xor-long/2addr v4, v11 │ │ +417fa0: 5a14 2d5d |00f6: iput-wide v4, v1, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ +417fa4: 2808 |00f8: goto 0100 // +0008 │ │ +417fa6: 5314 2d5d |00f9: iget-wide v4, v1, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ +417faa: 1606 ff00 |00fb: const-wide/16 v6, #int 255 // #ff │ │ +417fae: c264 |00fd: xor-long/2addr v4, v6 │ │ +417fb0: 5a14 2d5d |00fe: iput-wide v4, v1, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ +417fb4: 6200 265d |0100: sget-object v0, Lorg/purple/smoke/SipHash;.D_ROUNDS:[I // field@5d26 │ │ +417fb8: 5214 295d |0102: iget v4, v1, Lorg/purple/smoke/SipHash;.m_d_rounds_index:I // field@5d29 │ │ +417fbc: 4404 0004 |0104: aget v4, v0, v4 │ │ +417fc0: 32d4 1e00 |0106: if-eq v4, v13, 0124 // +001e │ │ +417fc4: 3294 0300 |0108: if-eq v4, v9, 010b // +0003 │ │ +417fc8: 2826 |010a: goto 0130 // +0026 │ │ +417fca: 7601 15b9 1100 |010b: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +417fd0: 7601 15b9 1100 |010e: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +417fd6: 7601 15b9 1100 |0111: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +417fdc: 7601 15b9 1100 |0114: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +417fe2: 7601 15b9 1100 |0117: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +417fe8: 7601 15b9 1100 |011a: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +417fee: 7601 15b9 1100 |011d: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +417ff4: 7601 15b9 1100 |0120: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +417ffa: 280d |0123: goto 0130 // +000d │ │ +417ffc: 7601 15b9 1100 |0124: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +418002: 7601 15b9 1100 |0127: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +418008: 7601 15b9 1100 |012a: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +41800e: 7601 15b9 1100 |012d: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +418014: 2384 bf1a |0130: new-array v4, v8, [J // type@1abf │ │ +418018: 5315 2b5d |0132: iget-wide v5, v1, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ +41801c: 5317 2c5d |0134: iget-wide v7, v1, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ +418020: c275 |0136: xor-long/2addr v5, v7 │ │ +418022: 531a 2d5d |0137: iget-wide v10, v1, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ +418026: c2a5 |0139: xor-long/2addr v5, v10 │ │ +418028: 531a 2e5d |013a: iget-wide v10, v1, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ +41802c: c2a5 |013c: xor-long/2addr v5, v10 │ │ +41802e: 120a |013d: const/4 v10, #int 0 // #0 │ │ +418030: 4c05 040a |013e: aput-wide v5, v4, v10 │ │ +418034: 1212 |0140: const/4 v2, #int 1 // #1 │ │ +418036: 1605 0000 |0141: const-wide/16 v5, #int 0 // #0 │ │ +41803a: 4c05 0402 |0143: aput-wide v5, v4, v2 │ │ +41803e: 3393 0c00 |0145: if-ne v3, v9, 0151 // +000c │ │ +418042: 5a15 2e5d |0147: iput-wide v5, v1, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ +418046: 5a15 2d5d |0149: iput-wide v5, v1, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ +41804a: 5a15 2c5d |014b: iput-wide v5, v1, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ +41804e: 5a15 2b5d |014d: iput-wide v5, v1, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ +418052: 1e11 |014f: monitor-exit v17 │ │ +418054: 1104 |0150: return-object v4 │ │ +418056: 1605 dd00 |0151: const-wide/16 v5, #int 221 // #dd │ │ +41805a: c275 |0153: xor-long/2addr v5, v7 │ │ +41805c: 5a15 2c5d |0154: iput-wide v5, v1, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ +418060: 5213 295d |0156: iget v3, v1, Lorg/purple/smoke/SipHash;.m_d_rounds_index:I // field@5d29 │ │ +418064: 4400 0003 |0158: aget v0, v0, v3 │ │ +418068: 32d0 1e00 |015a: if-eq v0, v13, 0178 // +001e │ │ +41806c: 3290 0300 |015c: if-eq v0, v9, 015f // +0003 │ │ +418070: 2826 |015e: goto 0184 // +0026 │ │ +418072: 7601 15b9 1100 |015f: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +418078: 7601 15b9 1100 |0162: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +41807e: 7601 15b9 1100 |0165: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +418084: 7601 15b9 1100 |0168: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +41808a: 7601 15b9 1100 |016b: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +418090: 7601 15b9 1100 |016e: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +418096: 7601 15b9 1100 |0171: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +41809c: 7601 15b9 1100 |0174: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +4180a2: 280d |0177: goto 0184 // +000d │ │ +4180a4: 7601 15b9 1100 |0178: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +4180aa: 7601 15b9 1100 |017b: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +4180b0: 7601 15b9 1100 |017e: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +4180b6: 7601 15b9 1100 |0181: invoke-direct/range {v17}, Lorg/purple/smoke/SipHash;.round:()V // method@b915 │ │ +4180bc: 5315 2b5d |0184: iget-wide v5, v1, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ +4180c0: 5317 2c5d |0186: iget-wide v7, v1, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ +4180c4: c275 |0188: xor-long/2addr v5, v7 │ │ +4180c6: 5317 2d5d |0189: iget-wide v7, v1, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ +4180ca: c275 |018b: xor-long/2addr v5, v7 │ │ +4180cc: 5317 2e5d |018c: iget-wide v7, v1, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ +4180d0: c275 |018e: xor-long/2addr v5, v7 │ │ +4180d2: 1210 |018f: const/4 v0, #int 1 // #1 │ │ +4180d4: 4c05 0400 |0190: aput-wide v5, v4, v0 │ │ +4180d8: 1602 0000 |0192: const-wide/16 v2, #int 0 // #0 │ │ +4180dc: 5a12 2e5d |0194: iput-wide v2, v1, Lorg/purple/smoke/SipHash;.m_v3:J // field@5d2e │ │ +4180e0: 5a12 2d5d |0196: iput-wide v2, v1, Lorg/purple/smoke/SipHash;.m_v2:J // field@5d2d │ │ +4180e4: 5a12 2c5d |0198: iput-wide v2, v1, Lorg/purple/smoke/SipHash;.m_v1:J // field@5d2c │ │ +4180e8: 5a12 2b5d |019a: iput-wide v2, v1, Lorg/purple/smoke/SipHash;.m_v0:J // field@5d2b │ │ +4180ec: 1e11 |019c: monitor-exit v17 │ │ +4180ee: 1104 |019d: return-object v4 │ │ +4180f0: 2380 bf1a |019e: new-array v0, v8, [J // type@1abf │ │ +4180f4: 1203 |01a0: const/4 v3, #int 0 // #0 │ │ +4180f6: 1604 0000 |01a1: const-wide/16 v4, #int 0 // #0 │ │ +4180fa: 4c04 0003 |01a3: aput-wide v4, v0, v3 │ │ +4180fe: 1212 |01a5: const/4 v2, #int 1 // #1 │ │ +418100: 4c04 0002 |01a6: aput-wide v4, v0, v2 │ │ +418104: 1e11 |01a8: monitor-exit v17 │ │ +418106: 1100 |01a9: return-object v0 │ │ +418108: 0d00 |01aa: move-exception v0 │ │ +41810a: 1e11 |01ab: monitor-exit v17 │ │ +41810c: 2802 |01ac: goto 01ae // +0002 │ │ +41810e: 2700 |01ad: throw v0 │ │ +418110: 28ff |01ae: goto 01ad // -0001 │ │ +418112: 0000 |01af: nop // spacer │ │ +418114: 0001 0700 0100 0000 3600 0000 2f00 ... |01b0: packed-switch-data (18 units) │ │ catches : 3 │ │ 0x000f - 0x014f │ │ -> 0x01aa │ │ 0x0154 - 0x019c │ │ -> 0x01aa │ │ 0x019e - 0x01a8 │ │ -> 0x01aa │ │ @@ -728125,31 +728124,31 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 29 16-bit code units │ │ -417bcc: |[417bcc] org.purple.smoke.SipHashIdElement.:()V │ │ -417bdc: 7010 8f5c 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@5c8f │ │ -417be2: 1a00 0000 |0003: const-string v0, "" // string@0000 │ │ -417be6: 5b20 2f5d |0005: iput-object v0, v2, Lorg/purple/smoke/SipHashIdElement;.m_encryptionAlgorithm:Ljava/lang/String; // field@5d2f │ │ -417bea: 5b20 345d |0007: iput-object v0, v2, Lorg/purple/smoke/SipHashIdElement;.m_name:Ljava/lang/String; // field@5d34 │ │ -417bee: 5b20 375d |0009: iput-object v0, v2, Lorg/purple/smoke/SipHashIdElement;.m_sipHashId:Ljava/lang/String; // field@5d37 │ │ -417bf2: 1200 |000b: const/4 v0, #int 0 // #0 │ │ -417bf4: 5c20 315d |000c: iput-boolean v0, v2, Lorg/purple/smoke/SipHashIdElement;.m_epksCompleted:Z // field@5d31 │ │ -417bf8: 5c20 335d |000e: iput-boolean v0, v2, Lorg/purple/smoke/SipHashIdElement;.m_keysSigned:Z // field@5d33 │ │ -417bfc: 1201 |0010: const/4 v1, #int 0 // #0 │ │ -417bfe: 5b21 305d |0011: iput-object v1, v2, Lorg/purple/smoke/SipHashIdElement;.m_encryptionPublicKey:[B // field@5d30 │ │ -417c02: 5b21 365d |0013: iput-object v1, v2, Lorg/purple/smoke/SipHashIdElement;.m_signaturePublicKey:[B // field@5d36 │ │ -417c06: 5b21 385d |0015: iput-object v1, v2, Lorg/purple/smoke/SipHashIdElement;.m_stream:[B // field@5d38 │ │ -417c0a: 5920 325d |0017: iput v0, v2, Lorg/purple/smoke/SipHashIdElement;.m_fiascoKeys:I // field@5d32 │ │ -417c0e: 12f0 |0019: const/4 v0, #int -1 // #ff │ │ -417c10: 5920 355d |001a: iput v0, v2, Lorg/purple/smoke/SipHashIdElement;.m_oid:I // field@5d35 │ │ -417c14: 0e00 |001c: return-void │ │ +417bc8: |[417bc8] org.purple.smoke.SipHashIdElement.:()V │ │ +417bd8: 7010 8f5c 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@5c8f │ │ +417bde: 1a00 0000 |0003: const-string v0, "" // string@0000 │ │ +417be2: 5b20 2f5d |0005: iput-object v0, v2, Lorg/purple/smoke/SipHashIdElement;.m_encryptionAlgorithm:Ljava/lang/String; // field@5d2f │ │ +417be6: 5b20 345d |0007: iput-object v0, v2, Lorg/purple/smoke/SipHashIdElement;.m_name:Ljava/lang/String; // field@5d34 │ │ +417bea: 5b20 375d |0009: iput-object v0, v2, Lorg/purple/smoke/SipHashIdElement;.m_sipHashId:Ljava/lang/String; // field@5d37 │ │ +417bee: 1200 |000b: const/4 v0, #int 0 // #0 │ │ +417bf0: 5c20 315d |000c: iput-boolean v0, v2, Lorg/purple/smoke/SipHashIdElement;.m_epksCompleted:Z // field@5d31 │ │ +417bf4: 5c20 335d |000e: iput-boolean v0, v2, Lorg/purple/smoke/SipHashIdElement;.m_keysSigned:Z // field@5d33 │ │ +417bf8: 1201 |0010: const/4 v1, #int 0 // #0 │ │ +417bfa: 5b21 305d |0011: iput-object v1, v2, Lorg/purple/smoke/SipHashIdElement;.m_encryptionPublicKey:[B // field@5d30 │ │ +417bfe: 5b21 365d |0013: iput-object v1, v2, Lorg/purple/smoke/SipHashIdElement;.m_signaturePublicKey:[B // field@5d36 │ │ +417c02: 5b21 385d |0015: iput-object v1, v2, Lorg/purple/smoke/SipHashIdElement;.m_stream:[B // field@5d38 │ │ +417c06: 5920 325d |0017: iput v0, v2, Lorg/purple/smoke/SipHashIdElement;.m_fiascoKeys:I // field@5d32 │ │ +417c0a: 12f0 |0019: const/4 v0, #int -1 // #ff │ │ +417c0c: 5920 355d |001a: iput v0, v2, Lorg/purple/smoke/SipHashIdElement;.m_oid:I // field@5d35 │ │ +417c10: 0e00 |001c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=44 │ │ 0x0005 line=32 │ │ 0x0007 line=33 │ │ 0x0009 line=34 │ │ 0x000c line=35 │ │ @@ -728198,18 +728197,18 @@ │ │ type : '(Landroid/content/Context;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -418394: |[418394] org.purple.smoke.Smoke$1.:(Landroid/content/Context;)V │ │ -4183a4: 5b01 395d |0000: iput-object v1, v0, Lorg/purple/smoke/Smoke$1;.val$context:Landroid/content/Context; // field@5d39 │ │ -4183a8: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -4183ae: 0e00 |0005: return-void │ │ +418390: |[418390] org.purple.smoke.Smoke$1.:(Landroid/content/Context;)V │ │ +4183a0: 5b01 395d |0000: iput-object v1, v0, Lorg/purple/smoke/Smoke$1;.val$context:Landroid/content/Context; // field@5d39 │ │ +4183a4: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +4183aa: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=64 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/Smoke$1; │ │ 0x0000 - 0x0006 reg=1 (null) Landroid/content/Context; │ │ │ │ @@ -728219,43 +728218,43 @@ │ │ type : '(Landroid/content/DialogInterface;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 59 16-bit code units │ │ -4183b0: |[4183b0] org.purple.smoke.Smoke$1.onCancel:(Landroid/content/DialogInterface;)V │ │ -4183c0: 7100 66b9 0000 |0000: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -4183c6: 0c02 |0003: move-result-object v2 │ │ -4183c8: 1a00 6c62 |0004: const-string v0, "dialog_accepted" // string@626c │ │ -4183cc: 6e20 67b9 0200 |0006: invoke-virtual {v2, v0}, Lorg/purple/smoke/State;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@b967 │ │ -4183d2: 0c02 |0009: move-result-object v2 │ │ -4183d4: 1a00 00a3 |000a: const-string v0, "true" // string@a300 │ │ -4183d8: 6e20 b85c 0200 |000c: invoke-virtual {v2, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -4183de: 0a02 |000f: move-result v2 │ │ -4183e0: 3802 2a00 |0010: if-eqz v2, 003a // +002a │ │ -4183e4: 7100 88b5 0000 |0012: invoke-static {}, Lorg/purple/smoke/Cryptography;.getInstance:()Lorg/purple/smoke/Cryptography; // method@b588 │ │ -4183ea: 0c02 |0015: move-result-object v2 │ │ -4183ec: 6e10 7eb5 0200 |0016: invoke-virtual {v2}, Lorg/purple/smoke/Cryptography;.exit:()V // method@b57e │ │ -4183f2: 7100 1db9 0000 |0019: invoke-static {}, Lorg/purple/smoke/Smoke;.getApplication:()Lorg/purple/smoke/Smoke; // method@b91d │ │ -4183f8: 0c02 |001c: move-result-object v2 │ │ -4183fa: 7110 2db9 0200 |001d: invoke-static {v2}, Lorg/purple/smoke/SmokeService;.stopForegroundTask:(Landroid/content/Context;)V // method@b92d │ │ -418400: 7100 66b9 0000 |0020: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -418406: 0c02 |0023: move-result-object v2 │ │ -418408: 6e10 7bb9 0200 |0024: invoke-virtual {v2}, Lorg/purple/smoke/State;.setExit:()V // method@b97b │ │ -41840e: 5412 395d |0027: iget-object v2, v1, Lorg/purple/smoke/Smoke$1;.val$context:Landroid/content/Context; // field@5d39 │ │ -418412: 2020 1700 |0029: instance-of v0, v2, Landroid/app/Activity; // type@0017 │ │ -418416: 3800 0800 |002b: if-eqz v0, 0033 // +0008 │ │ -41841a: 1f02 1700 |002d: check-cast v2, Landroid/app/Activity; // type@0017 │ │ -41841e: 6e10 6900 0200 |002f: invoke-virtual {v2}, Landroid/app/Activity;.finishAndRemoveTask:()V // method@0069 │ │ -418424: 2808 |0032: goto 003a // +0008 │ │ -418426: 7100 5705 0000 |0033: invoke-static {}, Landroid/os/Process;.myPid:()I // method@0557 │ │ -41842c: 0a02 |0036: move-result v2 │ │ -41842e: 7110 5605 0200 |0037: invoke-static {v2}, Landroid/os/Process;.killProcess:(I)V // method@0556 │ │ -418434: 0e00 |003a: return-void │ │ +4183ac: |[4183ac] org.purple.smoke.Smoke$1.onCancel:(Landroid/content/DialogInterface;)V │ │ +4183bc: 7100 66b9 0000 |0000: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +4183c2: 0c02 |0003: move-result-object v2 │ │ +4183c4: 1a00 6c62 |0004: const-string v0, "dialog_accepted" // string@626c │ │ +4183c8: 6e20 67b9 0200 |0006: invoke-virtual {v2, v0}, Lorg/purple/smoke/State;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@b967 │ │ +4183ce: 0c02 |0009: move-result-object v2 │ │ +4183d0: 1a00 00a3 |000a: const-string v0, "true" // string@a300 │ │ +4183d4: 6e20 b85c 0200 |000c: invoke-virtual {v2, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +4183da: 0a02 |000f: move-result v2 │ │ +4183dc: 3802 2a00 |0010: if-eqz v2, 003a // +002a │ │ +4183e0: 7100 88b5 0000 |0012: invoke-static {}, Lorg/purple/smoke/Cryptography;.getInstance:()Lorg/purple/smoke/Cryptography; // method@b588 │ │ +4183e6: 0c02 |0015: move-result-object v2 │ │ +4183e8: 6e10 7eb5 0200 |0016: invoke-virtual {v2}, Lorg/purple/smoke/Cryptography;.exit:()V // method@b57e │ │ +4183ee: 7100 1db9 0000 |0019: invoke-static {}, Lorg/purple/smoke/Smoke;.getApplication:()Lorg/purple/smoke/Smoke; // method@b91d │ │ +4183f4: 0c02 |001c: move-result-object v2 │ │ +4183f6: 7110 2db9 0200 |001d: invoke-static {v2}, Lorg/purple/smoke/SmokeService;.stopForegroundTask:(Landroid/content/Context;)V // method@b92d │ │ +4183fc: 7100 66b9 0000 |0020: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +418402: 0c02 |0023: move-result-object v2 │ │ +418404: 6e10 7bb9 0200 |0024: invoke-virtual {v2}, Lorg/purple/smoke/State;.setExit:()V // method@b97b │ │ +41840a: 5412 395d |0027: iget-object v2, v1, Lorg/purple/smoke/Smoke$1;.val$context:Landroid/content/Context; // field@5d39 │ │ +41840e: 2020 1700 |0029: instance-of v0, v2, Landroid/app/Activity; // type@0017 │ │ +418412: 3800 0800 |002b: if-eqz v0, 0033 // +0008 │ │ +418416: 1f02 1700 |002d: check-cast v2, Landroid/app/Activity; // type@0017 │ │ +41841a: 6e10 6900 0200 |002f: invoke-virtual {v2}, Landroid/app/Activity;.finishAndRemoveTask:()V // method@0069 │ │ +418420: 2808 |0032: goto 003a // +0008 │ │ +418422: 7100 5705 0000 |0033: invoke-static {}, Landroid/os/Process;.myPid:()I // method@0557 │ │ +418428: 0a02 |0036: move-result v2 │ │ +41842a: 7110 5605 0200 |0037: invoke-static {v2}, Landroid/os/Process;.killProcess:(I)V // method@0556 │ │ +418430: 0e00 |003a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=67 │ │ 0x000c line=68 │ │ 0x0012 line=70 │ │ 0x0019 line=71 │ │ 0x0020 line=72 │ │ @@ -728295,32 +728294,32 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 0 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -418f30: |[418f30] org.purple.smoke.Smoke.:()V │ │ -418f40: 0e00 |0000: return-void │ │ +418f2c: |[418f2c] org.purple.smoke.Smoke.:()V │ │ +418f3c: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #1 : (in Lorg/purple/smoke/Smoke;) │ │ name : '' │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -418f44: |[418f44] org.purple.smoke.Smoke.:()V │ │ -418f54: 7010 a500 0000 |0000: invoke-direct {v0}, Landroid/app/Application;.:()V // method@00a5 │ │ -418f5a: 0e00 |0003: return-void │ │ +418f40: |[418f40] org.purple.smoke.Smoke.:()V │ │ +418f50: 7010 a500 0000 |0000: invoke-direct {v0}, Landroid/app/Application;.:()V // method@00a5 │ │ +418f56: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=35 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lorg/purple/smoke/Smoke; │ │ │ │ #2 : (in Lorg/purple/smoke/Smoke;) │ │ @@ -728328,47 +728327,47 @@ │ │ type : '(ZLandroid/content/Context;)V' │ │ access : 0x20009 (PUBLIC STATIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 63 16-bit code units │ │ -418f5c: |[418f5c] org.purple.smoke.Smoke.exit:(ZLandroid/content/Context;)V │ │ -418f6c: 1c00 801a |0000: const-class v0, Lorg/purple/smoke/Smoke; // type@1a80 │ │ -418f70: 1d00 |0002: monitor-enter v0 │ │ -418f72: 3802 0f00 |0003: if-eqz v2, 0012 // +000f │ │ -418f76: 3803 0d00 |0005: if-eqz v3, 0012 // +000d │ │ -418f7a: 2202 7f1a |0007: new-instance v2, Lorg/purple/smoke/Smoke$1; // type@1a7f │ │ -418f7e: 7020 18b9 3200 |0009: invoke-direct {v2, v3}, Lorg/purple/smoke/Smoke$1;.:(Landroid/content/Context;)V // method@b918 │ │ -418f84: 1a01 494d |000c: const-string v1, "Terminate Smoke?" // string@4d49 │ │ -418f88: 7130 eeb7 2301 |000e: invoke-static {v3, v2, v1}, Lorg/purple/smoke/Miscellaneous;.showPromptDialog:(Landroid/content/Context;Landroid/content/DialogInterface$OnCancelListener;Ljava/lang/String;)V // method@b7ee │ │ -418f8e: 2829 |0011: goto 003a // +0029 │ │ -418f90: 7100 88b5 0000 |0012: invoke-static {}, Lorg/purple/smoke/Cryptography;.getInstance:()Lorg/purple/smoke/Cryptography; // method@b588 │ │ -418f96: 0c02 |0015: move-result-object v2 │ │ -418f98: 6e10 7eb5 0200 |0016: invoke-virtual {v2}, Lorg/purple/smoke/Cryptography;.exit:()V // method@b57e │ │ -418f9e: 7100 1db9 0000 |0019: invoke-static {}, Lorg/purple/smoke/Smoke;.getApplication:()Lorg/purple/smoke/Smoke; // method@b91d │ │ -418fa4: 0c02 |001c: move-result-object v2 │ │ -418fa6: 7110 2db9 0200 |001d: invoke-static {v2}, Lorg/purple/smoke/SmokeService;.stopForegroundTask:(Landroid/content/Context;)V // method@b92d │ │ -418fac: 7100 66b9 0000 |0020: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -418fb2: 0c02 |0023: move-result-object v2 │ │ -418fb4: 6e10 7bb9 0200 |0024: invoke-virtual {v2}, Lorg/purple/smoke/State;.setExit:()V // method@b97b │ │ -418fba: 3803 0c00 |0027: if-eqz v3, 0033 // +000c │ │ -418fbe: 2032 1700 |0029: instance-of v2, v3, Landroid/app/Activity; // type@0017 │ │ -418fc2: 3802 0800 |002b: if-eqz v2, 0033 // +0008 │ │ -418fc6: 1f03 1700 |002d: check-cast v3, Landroid/app/Activity; // type@0017 │ │ -418fca: 6e10 6900 0300 |002f: invoke-virtual {v3}, Landroid/app/Activity;.finishAndRemoveTask:()V // method@0069 │ │ -418fd0: 2808 |0032: goto 003a // +0008 │ │ -418fd2: 7100 5705 0000 |0033: invoke-static {}, Landroid/os/Process;.myPid:()I // method@0557 │ │ -418fd8: 0a02 |0036: move-result v2 │ │ -418fda: 7110 5605 0200 |0037: invoke-static {v2}, Landroid/os/Process;.killProcess:(I)V // method@0556 │ │ -418fe0: 1e00 |003a: monitor-exit v0 │ │ -418fe2: 0e00 |003b: return-void │ │ -418fe4: 0d02 |003c: move-exception v2 │ │ -418fe6: 1e00 |003d: monitor-exit v0 │ │ -418fe8: 2702 |003e: throw v2 │ │ +418f58: |[418f58] org.purple.smoke.Smoke.exit:(ZLandroid/content/Context;)V │ │ +418f68: 1c00 801a |0000: const-class v0, Lorg/purple/smoke/Smoke; // type@1a80 │ │ +418f6c: 1d00 |0002: monitor-enter v0 │ │ +418f6e: 3802 0f00 |0003: if-eqz v2, 0012 // +000f │ │ +418f72: 3803 0d00 |0005: if-eqz v3, 0012 // +000d │ │ +418f76: 2202 7f1a |0007: new-instance v2, Lorg/purple/smoke/Smoke$1; // type@1a7f │ │ +418f7a: 7020 18b9 3200 |0009: invoke-direct {v2, v3}, Lorg/purple/smoke/Smoke$1;.:(Landroid/content/Context;)V // method@b918 │ │ +418f80: 1a01 494d |000c: const-string v1, "Terminate Smoke?" // string@4d49 │ │ +418f84: 7130 eeb7 2301 |000e: invoke-static {v3, v2, v1}, Lorg/purple/smoke/Miscellaneous;.showPromptDialog:(Landroid/content/Context;Landroid/content/DialogInterface$OnCancelListener;Ljava/lang/String;)V // method@b7ee │ │ +418f8a: 2829 |0011: goto 003a // +0029 │ │ +418f8c: 7100 88b5 0000 |0012: invoke-static {}, Lorg/purple/smoke/Cryptography;.getInstance:()Lorg/purple/smoke/Cryptography; // method@b588 │ │ +418f92: 0c02 |0015: move-result-object v2 │ │ +418f94: 6e10 7eb5 0200 |0016: invoke-virtual {v2}, Lorg/purple/smoke/Cryptography;.exit:()V // method@b57e │ │ +418f9a: 7100 1db9 0000 |0019: invoke-static {}, Lorg/purple/smoke/Smoke;.getApplication:()Lorg/purple/smoke/Smoke; // method@b91d │ │ +418fa0: 0c02 |001c: move-result-object v2 │ │ +418fa2: 7110 2db9 0200 |001d: invoke-static {v2}, Lorg/purple/smoke/SmokeService;.stopForegroundTask:(Landroid/content/Context;)V // method@b92d │ │ +418fa8: 7100 66b9 0000 |0020: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +418fae: 0c02 |0023: move-result-object v2 │ │ +418fb0: 6e10 7bb9 0200 |0024: invoke-virtual {v2}, Lorg/purple/smoke/State;.setExit:()V // method@b97b │ │ +418fb6: 3803 0c00 |0027: if-eqz v3, 0033 // +000c │ │ +418fba: 2032 1700 |0029: instance-of v2, v3, Landroid/app/Activity; // type@0017 │ │ +418fbe: 3802 0800 |002b: if-eqz v2, 0033 // +0008 │ │ +418fc2: 1f03 1700 |002d: check-cast v3, Landroid/app/Activity; // type@0017 │ │ +418fc6: 6e10 6900 0300 |002f: invoke-virtual {v3}, Landroid/app/Activity;.finishAndRemoveTask:()V // method@0069 │ │ +418fcc: 2808 |0032: goto 003a // +0008 │ │ +418fce: 7100 5705 0000 |0033: invoke-static {}, Landroid/os/Process;.myPid:()I // method@0557 │ │ +418fd4: 0a02 |0036: move-result v2 │ │ +418fd6: 7110 5605 0200 |0037: invoke-static {v2}, Landroid/os/Process;.killProcess:(I)V // method@0556 │ │ +418fdc: 1e00 |003a: monitor-exit v0 │ │ +418fde: 0e00 |003b: return-void │ │ +418fe0: 0d02 |003c: move-exception v2 │ │ +418fe2: 1e00 |003d: monitor-exit v0 │ │ +418fe4: 2702 |003e: throw v2 │ │ catches : 1 │ │ 0x0007 - 0x003a │ │ -> 0x003c │ │ positions : │ │ 0x0007 line=62 │ │ 0x000e line=84 │ │ 0x0012 line=88 │ │ @@ -728387,23 +728386,23 @@ │ │ type : '()Lorg/purple/smoke/Smoke;' │ │ access : 0x20009 (PUBLIC STATIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 10 16-bit code units │ │ -4186bc: |[4186bc] org.purple.smoke.Smoke.getApplication:()Lorg/purple/smoke/Smoke; │ │ -4186cc: 1c00 801a |0000: const-class v0, Lorg/purple/smoke/Smoke; // type@1a80 │ │ -4186d0: 1d00 |0002: monitor-enter v0 │ │ -4186d2: 6201 3a5d |0003: sget-object v1, Lorg/purple/smoke/Smoke;.s_instance:Lorg/purple/smoke/Smoke; // field@5d3a │ │ -4186d6: 1e00 |0005: monitor-exit v0 │ │ -4186d8: 1101 |0006: return-object v1 │ │ -4186da: 0d01 |0007: move-exception v1 │ │ -4186dc: 1e00 |0008: monitor-exit v0 │ │ -4186de: 2701 |0009: throw v1 │ │ +4186b8: |[4186b8] org.purple.smoke.Smoke.getApplication:()Lorg/purple/smoke/Smoke; │ │ +4186c8: 1c00 801a |0000: const-class v0, Lorg/purple/smoke/Smoke; // type@1a80 │ │ +4186cc: 1d00 |0002: monitor-enter v0 │ │ +4186ce: 6201 3a5d |0003: sget-object v1, Lorg/purple/smoke/Smoke;.s_instance:Lorg/purple/smoke/Smoke; // field@5d3a │ │ +4186d2: 1e00 |0005: monitor-exit v0 │ │ +4186d4: 1101 |0006: return-object v1 │ │ +4186d6: 0d01 |0007: move-exception v1 │ │ +4186d8: 1e00 |0008: monitor-exit v0 │ │ +4186da: 2701 |0009: throw v1 │ │ catches : 1 │ │ 0x0003 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0003 line=55 │ │ locals : │ │ │ │ @@ -728412,34 +728411,34 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 3 │ │ ins : 0 │ │ outs : 2 │ │ insns size : 40 16-bit code units │ │ -41865c: |[41865c] org.purple.smoke.Smoke.networkStatusString:()Ljava/lang/String; │ │ -41866c: 7100 02b7 0000 |0000: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ -418672: 0c00 |0003: move-result-object v0 │ │ -418674: 6e10 f6b6 0000 |0004: invoke-virtual {v0}, Lorg/purple/smoke/Kernel;.connectedNeighborAddress:()Ljava/lang/String; // method@b6f6 │ │ -41867a: 0c00 |0007: move-result-object v0 │ │ -41867c: 6e10 c35c 0000 |0008: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -418682: 0a01 |000b: move-result v1 │ │ -418684: 3801 0500 |000c: if-eqz v1, 0011 // +0005 │ │ -418688: 1a00 5317 |000e: const-string v0, "Disconnected" // string@1753 │ │ -41868c: 1100 |0010: return-object v0 │ │ -41868e: 2201 f10a |0011: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ -418692: 7010 ee5c 0100 |0013: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -418698: 1a02 e313 |0016: const-string v2, "Connected (" // string@13e3 │ │ -41869c: 6e20 f95c 2100 |0018: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4186a2: 6e20 f95c 0100 |001b: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4186a8: 1a00 e403 |001e: const-string v0, ")" // string@03e4 │ │ -4186ac: 6e20 f95c 0100 |0020: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4186b2: 6e10 035d 0100 |0023: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -4186b8: 0c00 |0026: move-result-object v0 │ │ -4186ba: 1100 |0027: return-object v0 │ │ +418658: |[418658] org.purple.smoke.Smoke.networkStatusString:()Ljava/lang/String; │ │ +418668: 7100 02b7 0000 |0000: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ +41866e: 0c00 |0003: move-result-object v0 │ │ +418670: 6e10 f6b6 0000 |0004: invoke-virtual {v0}, Lorg/purple/smoke/Kernel;.connectedNeighborAddress:()Ljava/lang/String; // method@b6f6 │ │ +418676: 0c00 |0007: move-result-object v0 │ │ +418678: 6e10 c35c 0000 |0008: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +41867e: 0a01 |000b: move-result v1 │ │ +418680: 3801 0500 |000c: if-eqz v1, 0011 // +0005 │ │ +418684: 1a00 5317 |000e: const-string v0, "Disconnected" // string@1753 │ │ +418688: 1100 |0010: return-object v0 │ │ +41868a: 2201 f10a |0011: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ +41868e: 7010 ee5c 0100 |0013: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +418694: 1a02 e313 |0016: const-string v2, "Connected (" // string@13e3 │ │ +418698: 6e20 f95c 2100 |0018: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41869e: 6e20 f95c 0100 |001b: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4186a4: 1a00 e403 |001e: const-string v0, ")" // string@03e4 │ │ +4186a8: 6e20 f95c 0100 |0020: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4186ae: 6e10 035d 0100 |0023: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +4186b4: 0c00 |0026: move-result-object v0 │ │ +4186b6: 1100 |0027: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=41 │ │ 0x0008 line=43 │ │ 0x0011 line=46 │ │ locals : │ │ │ │ @@ -728449,19 +728448,19 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -418ff8: |[418ff8] org.purple.smoke.Smoke.onCreate:()V │ │ -419008: 6f10 a600 0000 |0000: invoke-super {v0}, Landroid/app/Application;.onCreate:()V // method@00a6 │ │ -41900e: 7100 bfb4 0000 |0003: invoke-static {}, Lorg/purple/smoke/About;.about:()Ljava/lang/String; // method@b4bf │ │ -419014: 6900 3a5d |0006: sput-object v0, Lorg/purple/smoke/Smoke;.s_instance:Lorg/purple/smoke/Smoke; // field@5d3a │ │ -419018: 0e00 |0008: return-void │ │ +418ff4: |[418ff4] org.purple.smoke.Smoke.onCreate:()V │ │ +419004: 6f10 a600 0000 |0000: invoke-super {v0}, Landroid/app/Application;.onCreate:()V // method@00a6 │ │ +41900a: 7100 bfb4 0000 |0003: invoke-static {}, Lorg/purple/smoke/About;.about:()Ljava/lang/String; // method@b4bf │ │ +419010: 6900 3a5d |0006: sput-object v0, Lorg/purple/smoke/Smoke;.s_instance:Lorg/purple/smoke/Smoke; // field@5d3a │ │ +419014: 0e00 |0008: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=102 │ │ 0x0003 line=103 │ │ 0x0006 line=104 │ │ locals : │ │ 0x0000 - 0x0009 reg=0 this Lorg/purple/smoke/Smoke; │ │ @@ -728471,23 +728470,23 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 18 16-bit code units │ │ -41901c: |[41901c] org.purple.smoke.Smoke.onLowMemory:()V │ │ -41902c: 6f10 a700 0100 |0000: invoke-super {v1}, Landroid/app/Application;.onLowMemory:()V // method@00a7 │ │ -419032: 7100 02b7 0000 |0003: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ -419038: 0c00 |0006: move-result-object v0 │ │ -41903a: 6e10 f4b6 0000 |0007: invoke-virtual {v0}, Lorg/purple/smoke/Kernel;.clearMessagesToSend:()V // method@b6f4 │ │ -419040: 7100 02b7 0000 |000a: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ -419046: 0c00 |000d: move-result-object v0 │ │ -419048: 6e10 f5b6 0000 |000e: invoke-virtual {v0}, Lorg/purple/smoke/Kernel;.clearNeighborQueues:()V // method@b6f5 │ │ -41904e: 0e00 |0011: return-void │ │ +419018: |[419018] org.purple.smoke.Smoke.onLowMemory:()V │ │ +419028: 6f10 a700 0100 |0000: invoke-super {v1}, Landroid/app/Application;.onLowMemory:()V // method@00a7 │ │ +41902e: 7100 02b7 0000 |0003: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ +419034: 0c00 |0006: move-result-object v0 │ │ +419036: 6e10 f4b6 0000 |0007: invoke-virtual {v0}, Lorg/purple/smoke/Kernel;.clearMessagesToSend:()V // method@b6f4 │ │ +41903c: 7100 02b7 0000 |000a: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ +419042: 0c00 |000d: move-result-object v0 │ │ +419044: 6e10 f5b6 0000 |000e: invoke-virtual {v0}, Lorg/purple/smoke/Kernel;.clearNeighborQueues:()V // method@b6f5 │ │ +41904a: 0e00 |0011: return-void │ │ catches : 2 │ │ 0x0003 - 0x000a │ │ Ljava/lang/Exception; -> 0x000a │ │ 0x000a - 0x0011 │ │ Ljava/lang/Exception; -> 0x0011 │ │ positions : │ │ 0x0000 line=110 │ │ @@ -728530,19 +728529,19 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -4184d4: |[4184d4] org.purple.smoke.SmokeService.:()V │ │ -4184e4: 7010 3901 0100 |0000: invoke-direct {v1}, Landroid/app/Service;.:()V // method@0139 │ │ -4184ea: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -4184ec: 5c10 3c5d |0004: iput-boolean v0, v1, Lorg/purple/smoke/SmokeService;.m_isRunning:Z // field@5d3c │ │ -4184f0: 0e00 |0006: return-void │ │ +4184d0: |[4184d0] org.purple.smoke.SmokeService.:()V │ │ +4184e0: 7010 3901 0100 |0000: invoke-direct {v1}, Landroid/app/Service;.:()V // method@0139 │ │ +4184e6: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +4184e8: 5c10 3c5d |0004: iput-boolean v0, v1, Lorg/purple/smoke/SmokeService;.m_isRunning:Z // field@5d3c │ │ +4184ec: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=37 │ │ 0x0004 line=39 │ │ locals : │ │ 0x0000 - 0x0007 reg=1 this Lorg/purple/smoke/SmokeService; │ │ │ │ @@ -728551,46 +728550,46 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 63 16-bit code units │ │ -418534: |[418534] org.purple.smoke.SmokeService.start:()V │ │ -418544: 5530 3c5d |0000: iget-boolean v0, v3, Lorg/purple/smoke/SmokeService;.m_isRunning:Z // field@5d3c │ │ -418548: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ -41854c: 0e00 |0004: return-void │ │ -41854e: 1210 |0005: const/4 v0, #int 1 // #1 │ │ -418550: 5c30 3c5d |0006: iput-boolean v0, v3, Lorg/purple/smoke/SmokeService;.m_isRunning:Z // field@5d3c │ │ -418554: 2200 4900 |0008: new-instance v0, Landroid/content/Intent; // type@0049 │ │ -418558: 1c01 7c1a |000a: const-class v1, Lorg/purple/smoke/Settings; // type@1a7c │ │ -41855c: 7030 9e01 3001 |000c: invoke-direct {v0, v3, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ -418562: 1201 |000f: const/4 v1, #int 0 // #0 │ │ -418564: 1502 0040 |0010: const/high16 v2, #int 1073741824 // #4000 │ │ -418568: 7140 1501 1320 |0012: invoke-static {v3, v1, v0, v2}, Landroid/app/PendingIntent;.getActivity:(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent; // method@0115 │ │ -41856e: 0c00 |0015: move-result-object v0 │ │ -418570: 2201 2300 |0016: new-instance v1, Landroid/app/Notification$Builder; // type@0023 │ │ -418574: 7020 cc00 3100 |0018: invoke-direct {v1, v3}, Landroid/app/Notification$Builder;.:(Landroid/content/Context;)V // method@00cc │ │ -41857a: 6e20 d700 0100 |001b: invoke-virtual {v1, v0}, Landroid/app/Notification$Builder;.setContentIntent:(Landroid/app/PendingIntent;)Landroid/app/Notification$Builder; // method@00d7 │ │ -418580: 0c00 |001e: move-result-object v0 │ │ -418582: 1a01 f94a |001f: const-string v1, "Smoke Activity" // string@4af9 │ │ -418586: 6e20 d800 1000 |0021: invoke-virtual {v0, v1}, Landroid/app/Notification$Builder;.setContentText:(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder; // method@00d8 │ │ -41858c: 0c00 |0024: move-result-object v0 │ │ -41858e: 6e20 d900 1000 |0025: invoke-virtual {v0, v1}, Landroid/app/Notification$Builder;.setContentTitle:(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder; // method@00d9 │ │ -418594: 0c00 |0028: move-result-object v0 │ │ -418596: 1402 8600 077f |0029: const v2, #float 1.79448e+38 // #7f070086 │ │ -41859c: 6e20 ee00 2000 |002c: invoke-virtual {v0, v2}, Landroid/app/Notification$Builder;.setSmallIcon:(I)Landroid/app/Notification$Builder; // method@00ee │ │ -4185a2: 0c00 |002f: move-result-object v0 │ │ -4185a4: 6e20 f400 1000 |0030: invoke-virtual {v0, v1}, Landroid/app/Notification$Builder;.setTicker:(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder; // method@00f4 │ │ -4185aa: 0c00 |0033: move-result-object v0 │ │ -4185ac: 6e10 d000 0000 |0034: invoke-virtual {v0}, Landroid/app/Notification$Builder;.build:()Landroid/app/Notification; // method@00d0 │ │ -4185b2: 0c00 |0037: move-result-object v0 │ │ -4185b4: 1401 6b6f 6d73 |0038: const v1, #float 1.88116e+31 // #736d6f6b │ │ -4185ba: 6e30 29b9 1300 |003b: invoke-virtual {v3, v1, v0}, Lorg/purple/smoke/SmokeService;.startForeground:(ILandroid/app/Notification;)V // method@b929 │ │ -4185c0: 0e00 |003e: return-void │ │ +418530: |[418530] org.purple.smoke.SmokeService.start:()V │ │ +418540: 5530 3c5d |0000: iget-boolean v0, v3, Lorg/purple/smoke/SmokeService;.m_isRunning:Z // field@5d3c │ │ +418544: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ +418548: 0e00 |0004: return-void │ │ +41854a: 1210 |0005: const/4 v0, #int 1 // #1 │ │ +41854c: 5c30 3c5d |0006: iput-boolean v0, v3, Lorg/purple/smoke/SmokeService;.m_isRunning:Z // field@5d3c │ │ +418550: 2200 4900 |0008: new-instance v0, Landroid/content/Intent; // type@0049 │ │ +418554: 1c01 7c1a |000a: const-class v1, Lorg/purple/smoke/Settings; // type@1a7c │ │ +418558: 7030 9e01 3001 |000c: invoke-direct {v0, v3, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ +41855e: 1201 |000f: const/4 v1, #int 0 // #0 │ │ +418560: 1502 0040 |0010: const/high16 v2, #int 1073741824 // #4000 │ │ +418564: 7140 1501 1320 |0012: invoke-static {v3, v1, v0, v2}, Landroid/app/PendingIntent;.getActivity:(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent; // method@0115 │ │ +41856a: 0c00 |0015: move-result-object v0 │ │ +41856c: 2201 2300 |0016: new-instance v1, Landroid/app/Notification$Builder; // type@0023 │ │ +418570: 7020 cc00 3100 |0018: invoke-direct {v1, v3}, Landroid/app/Notification$Builder;.:(Landroid/content/Context;)V // method@00cc │ │ +418576: 6e20 d700 0100 |001b: invoke-virtual {v1, v0}, Landroid/app/Notification$Builder;.setContentIntent:(Landroid/app/PendingIntent;)Landroid/app/Notification$Builder; // method@00d7 │ │ +41857c: 0c00 |001e: move-result-object v0 │ │ +41857e: 1a01 f94a |001f: const-string v1, "Smoke Activity" // string@4af9 │ │ +418582: 6e20 d800 1000 |0021: invoke-virtual {v0, v1}, Landroid/app/Notification$Builder;.setContentText:(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder; // method@00d8 │ │ +418588: 0c00 |0024: move-result-object v0 │ │ +41858a: 6e20 d900 1000 |0025: invoke-virtual {v0, v1}, Landroid/app/Notification$Builder;.setContentTitle:(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder; // method@00d9 │ │ +418590: 0c00 |0028: move-result-object v0 │ │ +418592: 1402 8600 077f |0029: const v2, #float 1.79448e+38 // #7f070086 │ │ +418598: 6e20 ee00 2000 |002c: invoke-virtual {v0, v2}, Landroid/app/Notification$Builder;.setSmallIcon:(I)Landroid/app/Notification$Builder; // method@00ee │ │ +41859e: 0c00 |002f: move-result-object v0 │ │ +4185a0: 6e20 f400 1000 |0030: invoke-virtual {v0, v1}, Landroid/app/Notification$Builder;.setTicker:(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder; // method@00f4 │ │ +4185a6: 0c00 |0033: move-result-object v0 │ │ +4185a8: 6e10 d000 0000 |0034: invoke-virtual {v0}, Landroid/app/Notification$Builder;.build:()Landroid/app/Notification; // method@00d0 │ │ +4185ae: 0c00 |0037: move-result-object v0 │ │ +4185b0: 1401 6b6f 6d73 |0038: const v1, #float 1.88116e+31 // #736d6f6b │ │ +4185b6: 6e30 29b9 1300 |003b: invoke-virtual {v3, v1, v0}, Lorg/purple/smoke/SmokeService;.startForeground:(ILandroid/app/Notification;)V // method@b929 │ │ +4185bc: 0e00 |003e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=44 │ │ 0x0006 line=47 │ │ 0x0008 line=49 │ │ 0x0012 line=52 │ │ 0x0016 line=54 │ │ @@ -728609,24 +728608,24 @@ │ │ type : '(Landroid/content/Context;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 19 16-bit code units │ │ -4185c4: |[4185c4] org.purple.smoke.SmokeService.startForegroundTask:(Landroid/content/Context;)V │ │ -4185d4: 3902 0300 |0000: if-nez v2, 0003 // +0003 │ │ -4185d8: 0e00 |0002: return-void │ │ -4185da: 2200 4900 |0003: new-instance v0, Landroid/content/Intent; // type@0049 │ │ -4185de: 1c01 811a |0005: const-class v1, Lorg/purple/smoke/SmokeService; // type@1a81 │ │ -4185e2: 7030 9e01 2001 |0007: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ -4185e8: 1a01 48a0 |000a: const-string v1, "start" // string@a048 │ │ -4185ec: 6e20 c901 1000 |000c: invoke-virtual {v0, v1}, Landroid/content/Intent;.setAction:(Ljava/lang/String;)Landroid/content/Intent; // method@01c9 │ │ -4185f2: 6e20 8f01 0200 |000f: invoke-virtual {v2, v0}, Landroid/content/Context;.startService:(Landroid/content/Intent;)Landroid/content/ComponentName; // method@018f │ │ -4185f8: 0e00 |0012: return-void │ │ +4185c0: |[4185c0] org.purple.smoke.SmokeService.startForegroundTask:(Landroid/content/Context;)V │ │ +4185d0: 3902 0300 |0000: if-nez v2, 0003 // +0003 │ │ +4185d4: 0e00 |0002: return-void │ │ +4185d6: 2200 4900 |0003: new-instance v0, Landroid/content/Intent; // type@0049 │ │ +4185da: 1c01 811a |0005: const-class v1, Lorg/purple/smoke/SmokeService; // type@1a81 │ │ +4185de: 7030 9e01 2001 |0007: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ +4185e4: 1a01 48a0 |000a: const-string v1, "start" // string@a048 │ │ +4185e8: 6e20 c901 1000 |000c: invoke-virtual {v0, v1}, Landroid/content/Intent;.setAction:(Ljava/lang/String;)Landroid/content/Intent; // method@01c9 │ │ +4185ee: 6e20 8f01 0200 |000f: invoke-virtual {v2, v0}, Landroid/content/Context;.startService:(Landroid/content/Intent;)Landroid/content/ComponentName; // method@018f │ │ +4185f4: 0e00 |0012: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=108 │ │ 0x000c line=110 │ │ 0x000f line=111 │ │ locals : │ │ 0x0000 - 0x0013 reg=2 (null) Landroid/content/Context; │ │ @@ -728636,21 +728635,21 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 11 16-bit code units │ │ -4185fc: |[4185fc] org.purple.smoke.SmokeService.stop:()V │ │ -41860c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -41860e: 5c10 3c5d |0001: iput-boolean v0, v1, Lorg/purple/smoke/SmokeService;.m_isRunning:Z // field@5d3c │ │ -418612: 1210 |0003: const/4 v0, #int 1 // #1 │ │ -418614: 6e20 2cb9 0100 |0004: invoke-virtual {v1, v0}, Lorg/purple/smoke/SmokeService;.stopForeground:(Z)V // method@b92c │ │ -41861a: 6e10 2eb9 0100 |0007: invoke-virtual {v1}, Lorg/purple/smoke/SmokeService;.stopSelf:()V // method@b92e │ │ -418620: 0e00 |000a: return-void │ │ +4185f8: |[4185f8] org.purple.smoke.SmokeService.stop:()V │ │ +418608: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +41860a: 5c10 3c5d |0001: iput-boolean v0, v1, Lorg/purple/smoke/SmokeService;.m_isRunning:Z // field@5d3c │ │ +41860e: 1210 |0003: const/4 v0, #int 1 // #1 │ │ +418610: 6e20 2cb9 0100 |0004: invoke-virtual {v1, v0}, Lorg/purple/smoke/SmokeService;.stopForeground:(Z)V // method@b92c │ │ +418616: 6e10 2eb9 0100 |0007: invoke-virtual {v1}, Lorg/purple/smoke/SmokeService;.stopSelf:()V // method@b92e │ │ +41861c: 0e00 |000a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=66 │ │ 0x0004 line=67 │ │ 0x0007 line=68 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Lorg/purple/smoke/SmokeService; │ │ @@ -728660,24 +728659,24 @@ │ │ type : '(Landroid/content/Context;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 19 16-bit code units │ │ -418624: |[418624] org.purple.smoke.SmokeService.stopForegroundTask:(Landroid/content/Context;)V │ │ -418634: 3902 0300 |0000: if-nez v2, 0003 // +0003 │ │ -418638: 0e00 |0002: return-void │ │ -41863a: 2200 4900 |0003: new-instance v0, Landroid/content/Intent; // type@0049 │ │ -41863e: 1c01 811a |0005: const-class v1, Lorg/purple/smoke/SmokeService; // type@1a81 │ │ -418642: 7030 9e01 2001 |0007: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ -418648: 1a01 b3a0 |000a: const-string v1, "stop" // string@a0b3 │ │ -41864c: 6e20 c901 1000 |000c: invoke-virtual {v0, v1}, Landroid/content/Intent;.setAction:(Ljava/lang/String;)Landroid/content/Intent; // method@01c9 │ │ -418652: 6e20 9001 0200 |000f: invoke-virtual {v2, v0}, Landroid/content/Context;.stopService:(Landroid/content/Intent;)Z // method@0190 │ │ -418658: 0e00 |0012: return-void │ │ +418620: |[418620] org.purple.smoke.SmokeService.stopForegroundTask:(Landroid/content/Context;)V │ │ +418630: 3902 0300 |0000: if-nez v2, 0003 // +0003 │ │ +418634: 0e00 |0002: return-void │ │ +418636: 2200 4900 |0003: new-instance v0, Landroid/content/Intent; // type@0049 │ │ +41863a: 1c01 811a |0005: const-class v1, Lorg/purple/smoke/SmokeService; // type@1a81 │ │ +41863e: 7030 9e01 2001 |0007: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ +418644: 1a01 b3a0 |000a: const-string v1, "stop" // string@a0b3 │ │ +418648: 6e20 c901 1000 |000c: invoke-virtual {v0, v1}, Landroid/content/Intent;.setAction:(Ljava/lang/String;)Landroid/content/Intent; // method@01c9 │ │ +41864e: 6e20 9001 0200 |000f: invoke-virtual {v2, v0}, Landroid/content/Context;.stopService:(Landroid/content/Intent;)Z // method@0190 │ │ +418654: 0e00 |0012: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=119 │ │ 0x000c line=121 │ │ 0x000f line=122 │ │ locals : │ │ 0x0000 - 0x0013 reg=2 (null) Landroid/content/Context; │ │ @@ -728688,34 +728687,34 @@ │ │ type : '(Landroid/content/Intent;)Landroid/os/IBinder;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 2 16-bit code units │ │ -418438: |[418438] org.purple.smoke.SmokeService.onBind:(Landroid/content/Intent;)Landroid/os/IBinder; │ │ -418448: 1201 |0000: const/4 v1, #int 0 // #0 │ │ -41844a: 1101 |0001: return-object v1 │ │ +418434: |[418434] org.purple.smoke.SmokeService.onBind:(Landroid/content/Intent;)Landroid/os/IBinder; │ │ +418444: 1201 |0000: const/4 v1, #int 0 // #0 │ │ +418446: 1101 |0001: return-object v1 │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #1 : (in Lorg/purple/smoke/SmokeService;) │ │ name : 'onCreate' │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -4184f4: |[4184f4] org.purple.smoke.SmokeService.onCreate:()V │ │ -418504: 6f10 3a01 0000 |0000: invoke-super {v0}, Landroid/app/Service;.onCreate:()V // method@013a │ │ -41850a: 7010 28b9 0000 |0003: invoke-direct {v0}, Lorg/purple/smoke/SmokeService;.start:()V // method@b928 │ │ -418510: 0e00 |0006: return-void │ │ +4184f0: |[4184f0] org.purple.smoke.SmokeService.onCreate:()V │ │ +418500: 6f10 3a01 0000 |0000: invoke-super {v0}, Landroid/app/Service;.onCreate:()V // method@013a │ │ +418506: 7010 28b9 0000 |0003: invoke-direct {v0}, Lorg/purple/smoke/SmokeService;.start:()V // method@b928 │ │ +41850c: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=128 │ │ 0x0003 line=129 │ │ locals : │ │ 0x0000 - 0x0007 reg=0 this Lorg/purple/smoke/SmokeService; │ │ │ │ @@ -728724,19 +728723,19 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -418514: |[418514] org.purple.smoke.SmokeService.onDestroy:()V │ │ -418524: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -418526: 5c10 3c5d |0001: iput-boolean v0, v1, Lorg/purple/smoke/SmokeService;.m_isRunning:Z // field@5d3c │ │ -41852a: 6f10 3b01 0100 |0003: invoke-super {v1}, Landroid/app/Service;.onDestroy:()V // method@013b │ │ -418530: 0e00 |0006: return-void │ │ +418510: |[418510] org.purple.smoke.SmokeService.onDestroy:()V │ │ +418520: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +418522: 5c10 3c5d |0001: iput-boolean v0, v1, Lorg/purple/smoke/SmokeService;.m_isRunning:Z // field@5d3c │ │ +418526: 6f10 3b01 0100 |0003: invoke-super {v1}, Landroid/app/Service;.onDestroy:()V // method@013b │ │ +41852c: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=135 │ │ 0x0003 line=136 │ │ locals : │ │ 0x0000 - 0x0007 reg=1 this Lorg/purple/smoke/SmokeService; │ │ │ │ @@ -728745,38 +728744,38 @@ │ │ type : '(Landroid/content/Intent;II)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 2 │ │ insns size : 43 16-bit code units │ │ -41846c: |[41846c] org.purple.smoke.SmokeService.onStartCommand:(Landroid/content/Intent;II)I │ │ -41847c: 3801 2900 |0000: if-eqz v1, 0029 // +0029 │ │ -418480: 6e10 a501 0100 |0002: invoke-virtual {v1}, Landroid/content/Intent;.getAction:()Ljava/lang/String; // method@01a5 │ │ -418486: 0c02 |0005: move-result-object v2 │ │ -418488: 3802 2300 |0006: if-eqz v2, 0029 // +0023 │ │ -41848c: 6e10 a501 0100 |0008: invoke-virtual {v1}, Landroid/content/Intent;.getAction:()Ljava/lang/String; // method@01a5 │ │ -418492: 0c01 |000b: move-result-object v1 │ │ -418494: 6e10 bf5c 0100 |000c: invoke-virtual {v1}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ -41849a: 1a02 b3a0 |000f: const-string v2, "stop" // string@a0b3 │ │ -41849e: 6e20 b85c 2100 |0011: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -4184a4: 0a02 |0014: move-result v2 │ │ -4184a6: 3902 0f00 |0015: if-nez v2, 0024 // +000f │ │ -4184aa: 1a02 48a0 |0017: const-string v2, "start" // string@a048 │ │ -4184ae: 6e20 b85c 2100 |0019: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -4184b4: 0a01 |001c: move-result v1 │ │ -4184b6: 3901 0300 |001d: if-nez v1, 0020 // +0003 │ │ -4184ba: 280a |001f: goto 0029 // +000a │ │ -4184bc: 7010 28b9 0000 |0020: invoke-direct {v0}, Lorg/purple/smoke/SmokeService;.start:()V // method@b928 │ │ -4184c2: 2806 |0023: goto 0029 // +0006 │ │ -4184c4: 7010 2bb9 0000 |0024: invoke-direct {v0}, Lorg/purple/smoke/SmokeService;.stop:()V // method@b92b │ │ -4184ca: 1221 |0027: const/4 v1, #int 2 // #2 │ │ -4184cc: 0f01 |0028: return v1 │ │ -4184ce: 1211 |0029: const/4 v1, #int 1 // #1 │ │ -4184d0: 0f01 |002a: return v1 │ │ +418468: |[418468] org.purple.smoke.SmokeService.onStartCommand:(Landroid/content/Intent;II)I │ │ +418478: 3801 2900 |0000: if-eqz v1, 0029 // +0029 │ │ +41847c: 6e10 a501 0100 |0002: invoke-virtual {v1}, Landroid/content/Intent;.getAction:()Ljava/lang/String; // method@01a5 │ │ +418482: 0c02 |0005: move-result-object v2 │ │ +418484: 3802 2300 |0006: if-eqz v2, 0029 // +0023 │ │ +418488: 6e10 a501 0100 |0008: invoke-virtual {v1}, Landroid/content/Intent;.getAction:()Ljava/lang/String; // method@01a5 │ │ +41848e: 0c01 |000b: move-result-object v1 │ │ +418490: 6e10 bf5c 0100 |000c: invoke-virtual {v1}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ +418496: 1a02 b3a0 |000f: const-string v2, "stop" // string@a0b3 │ │ +41849a: 6e20 b85c 2100 |0011: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +4184a0: 0a02 |0014: move-result v2 │ │ +4184a2: 3902 0f00 |0015: if-nez v2, 0024 // +000f │ │ +4184a6: 1a02 48a0 |0017: const-string v2, "start" // string@a048 │ │ +4184aa: 6e20 b85c 2100 |0019: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +4184b0: 0a01 |001c: move-result v1 │ │ +4184b2: 3901 0300 |001d: if-nez v1, 0020 // +0003 │ │ +4184b6: 280a |001f: goto 0029 // +000a │ │ +4184b8: 7010 28b9 0000 |0020: invoke-direct {v0}, Lorg/purple/smoke/SmokeService;.start:()V // method@b928 │ │ +4184be: 2806 |0023: goto 0029 // +0006 │ │ +4184c0: 7010 2bb9 0000 |0024: invoke-direct {v0}, Lorg/purple/smoke/SmokeService;.stop:()V // method@b92b │ │ +4184c6: 1221 |0027: const/4 v1, #int 2 // #2 │ │ +4184c8: 0f01 |0028: return v1 │ │ +4184ca: 1211 |0029: const/4 v1, #int 1 // #1 │ │ +4184cc: 0f01 |002a: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0002 line=87 │ │ 0x0008 line=88 │ │ 0x0020 line=91 │ │ 0x0024 line=94 │ │ locals : │ │ @@ -728790,19 +728789,19 @@ │ │ type : '(Landroid/content/Intent;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 8 16-bit code units │ │ -41844c: |[41844c] org.purple.smoke.SmokeService.stopService:(Landroid/content/Intent;)Z │ │ -41845c: 7010 2bb9 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/SmokeService;.stop:()V // method@b92b │ │ -418462: 6f20 3e01 1000 |0003: invoke-super {v0, v1}, Landroid/app/Service;.stopService:(Landroid/content/Intent;)Z // method@013e │ │ -418468: 0a01 |0006: move-result v1 │ │ -41846a: 0f01 |0007: return v1 │ │ +418448: |[418448] org.purple.smoke.SmokeService.stopService:(Landroid/content/Intent;)Z │ │ +418458: 7010 2bb9 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/SmokeService;.stop:()V // method@b92b │ │ +41845e: 6f20 3e01 1000 |0003: invoke-super {v0, v1}, Landroid/app/Service;.stopService:(Landroid/content/Intent;)Z // method@013e │ │ +418464: 0a01 |0006: move-result v1 │ │ +418466: 0f01 |0007: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=80 │ │ 0x0003 line=81 │ │ locals : │ │ 0x0000 - 0x0008 reg=0 this Lorg/purple/smoke/SmokeService; │ │ 0x0000 - 0x0008 reg=1 (null) Landroid/content/Intent; │ │ @@ -728842,18 +728841,18 @@ │ │ type : '(Lorg/purple/smoke/Smokescreen;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -4186ec: |[4186ec] org.purple.smoke.Smokescreen$1.:(Lorg/purple/smoke/Smokescreen;)V │ │ -4186fc: 5b01 3d5d |0000: iput-object v1, v0, Lorg/purple/smoke/Smokescreen$1;.this$0:Lorg/purple/smoke/Smokescreen; // field@5d3d │ │ -418700: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -418706: 0e00 |0005: return-void │ │ +4186e8: |[4186e8] org.purple.smoke.Smokescreen$1.:(Lorg/purple/smoke/Smokescreen;)V │ │ +4186f8: 5b01 3d5d |0000: iput-object v1, v0, Lorg/purple/smoke/Smokescreen$1;.this$0:Lorg/purple/smoke/Smokescreen; // field@5d3d │ │ +4186fc: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +418702: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=108 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/Smokescreen$1; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/Smokescreen; │ │ │ │ @@ -728863,27 +728862,27 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 23 16-bit code units │ │ -418708: |[418708] org.purple.smoke.Smokescreen$1.onClick:(Landroid/view/View;)V │ │ -418718: 5412 3d5d |0000: iget-object v2, v1, Lorg/purple/smoke/Smokescreen$1;.this$0:Lorg/purple/smoke/Smokescreen; // field@5d3d │ │ -41871c: 6e10 41b9 0200 |0002: invoke-virtual {v2}, Lorg/purple/smoke/Smokescreen;.isFinishing:()Z // method@b941 │ │ -418722: 0a02 |0005: move-result v2 │ │ -418724: 3802 0300 |0006: if-eqz v2, 0009 // +0003 │ │ -418728: 0e00 |0008: return-void │ │ -41872a: 7100 66b9 0000 |0009: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -418730: 0c02 |000c: move-result-object v2 │ │ -418732: 1210 |000d: const/4 v0, #int 1 // #1 │ │ -418734: 6e20 7cb9 0200 |000e: invoke-virtual {v2, v0}, Lorg/purple/smoke/State;.setLocked:(Z)V // method@b97c │ │ -41873a: 5412 3d5d |0011: iget-object v2, v1, Lorg/purple/smoke/Smokescreen$1;.this$0:Lorg/purple/smoke/Smokescreen; // field@5d3d │ │ -41873e: 7110 38b9 0200 |0013: invoke-static {v2}, Lorg/purple/smoke/Smokescreen;.access$000:(Lorg/purple/smoke/Smokescreen;)V // method@b938 │ │ -418744: 0e00 |0016: return-void │ │ +418704: |[418704] org.purple.smoke.Smokescreen$1.onClick:(Landroid/view/View;)V │ │ +418714: 5412 3d5d |0000: iget-object v2, v1, Lorg/purple/smoke/Smokescreen$1;.this$0:Lorg/purple/smoke/Smokescreen; // field@5d3d │ │ +418718: 6e10 41b9 0200 |0002: invoke-virtual {v2}, Lorg/purple/smoke/Smokescreen;.isFinishing:()Z // method@b941 │ │ +41871e: 0a02 |0005: move-result v2 │ │ +418720: 3802 0300 |0006: if-eqz v2, 0009 // +0003 │ │ +418724: 0e00 |0008: return-void │ │ +418726: 7100 66b9 0000 |0009: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +41872c: 0c02 |000c: move-result-object v2 │ │ +41872e: 1210 |000d: const/4 v0, #int 1 // #1 │ │ +418730: 6e20 7cb9 0200 |000e: invoke-virtual {v2, v0}, Lorg/purple/smoke/State;.setLocked:(Z)V // method@b97c │ │ +418736: 5412 3d5d |0011: iget-object v2, v1, Lorg/purple/smoke/Smokescreen$1;.this$0:Lorg/purple/smoke/Smokescreen; // field@5d3d │ │ +41873a: 7110 38b9 0200 |0013: invoke-static {v2}, Lorg/purple/smoke/Smokescreen;.access$000:(Lorg/purple/smoke/Smokescreen;)V // method@b938 │ │ +418740: 0e00 |0016: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=111 │ │ 0x0009 line=114 │ │ 0x0011 line=115 │ │ locals : │ │ 0x0000 - 0x0017 reg=1 this Lorg/purple/smoke/Smokescreen$1; │ │ @@ -728924,18 +728923,18 @@ │ │ type : '(Lorg/purple/smoke/Smokescreen;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -418748: |[418748] org.purple.smoke.Smokescreen$2.:(Lorg/purple/smoke/Smokescreen;)V │ │ -418758: 5b01 3e5d |0000: iput-object v1, v0, Lorg/purple/smoke/Smokescreen$2;.this$0:Lorg/purple/smoke/Smokescreen; // field@5d3e │ │ -41875c: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -418762: 0e00 |0005: return-void │ │ +418744: |[418744] org.purple.smoke.Smokescreen$2.:(Lorg/purple/smoke/Smokescreen;)V │ │ +418754: 5b01 3e5d |0000: iput-object v1, v0, Lorg/purple/smoke/Smokescreen$2;.this$0:Lorg/purple/smoke/Smokescreen; // field@5d3e │ │ +418758: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41875e: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=121 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/Smokescreen$2; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/Smokescreen; │ │ │ │ @@ -728945,25 +728944,25 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 20 16-bit code units │ │ -418764: |[418764] org.purple.smoke.Smokescreen$2.onClick:(Landroid/view/View;)V │ │ -418774: 5401 3e5d |0000: iget-object v1, v0, Lorg/purple/smoke/Smokescreen$2;.this$0:Lorg/purple/smoke/Smokescreen; // field@5d3e │ │ -418778: 6e10 41b9 0100 |0002: invoke-virtual {v1}, Lorg/purple/smoke/Smokescreen;.isFinishing:()Z // method@b941 │ │ -41877e: 0a01 |0005: move-result v1 │ │ -418780: 3801 0300 |0006: if-eqz v1, 0009 // +0003 │ │ -418784: 0e00 |0008: return-void │ │ -418786: 5401 3e5d |0009: iget-object v1, v0, Lorg/purple/smoke/Smokescreen$2;.this$0:Lorg/purple/smoke/Smokescreen; // field@5d3e │ │ -41878a: 7110 39b9 0100 |000b: invoke-static {v1}, Lorg/purple/smoke/Smokescreen;.access$100:(Lorg/purple/smoke/Smokescreen;)V // method@b939 │ │ -418790: 5401 3e5d |000e: iget-object v1, v0, Lorg/purple/smoke/Smokescreen$2;.this$0:Lorg/purple/smoke/Smokescreen; // field@5d3e │ │ -418794: 7110 38b9 0100 |0010: invoke-static {v1}, Lorg/purple/smoke/Smokescreen;.access$000:(Lorg/purple/smoke/Smokescreen;)V // method@b938 │ │ -41879a: 0e00 |0013: return-void │ │ +418760: |[418760] org.purple.smoke.Smokescreen$2.onClick:(Landroid/view/View;)V │ │ +418770: 5401 3e5d |0000: iget-object v1, v0, Lorg/purple/smoke/Smokescreen$2;.this$0:Lorg/purple/smoke/Smokescreen; // field@5d3e │ │ +418774: 6e10 41b9 0100 |0002: invoke-virtual {v1}, Lorg/purple/smoke/Smokescreen;.isFinishing:()Z // method@b941 │ │ +41877a: 0a01 |0005: move-result v1 │ │ +41877c: 3801 0300 |0006: if-eqz v1, 0009 // +0003 │ │ +418780: 0e00 |0008: return-void │ │ +418782: 5401 3e5d |0009: iget-object v1, v0, Lorg/purple/smoke/Smokescreen$2;.this$0:Lorg/purple/smoke/Smokescreen; // field@5d3e │ │ +418786: 7110 39b9 0100 |000b: invoke-static {v1}, Lorg/purple/smoke/Smokescreen;.access$100:(Lorg/purple/smoke/Smokescreen;)V // method@b939 │ │ +41878c: 5401 3e5d |000e: iget-object v1, v0, Lorg/purple/smoke/Smokescreen$2;.this$0:Lorg/purple/smoke/Smokescreen; // field@5d3e │ │ +418790: 7110 38b9 0100 |0010: invoke-static {v1}, Lorg/purple/smoke/Smokescreen;.access$000:(Lorg/purple/smoke/Smokescreen;)V // method@b938 │ │ +418796: 0e00 |0013: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=124 │ │ 0x0009 line=127 │ │ 0x000e line=128 │ │ locals : │ │ 0x0000 - 0x0014 reg=0 this Lorg/purple/smoke/Smokescreen$2; │ │ @@ -729004,18 +729003,18 @@ │ │ type : '(Lorg/purple/smoke/Smokescreen;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -41879c: |[41879c] org.purple.smoke.Smokescreen$3.:(Lorg/purple/smoke/Smokescreen;)V │ │ -4187ac: 5b01 3f5d |0000: iput-object v1, v0, Lorg/purple/smoke/Smokescreen$3;.this$0:Lorg/purple/smoke/Smokescreen; // field@5d3f │ │ -4187b0: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -4187b6: 0e00 |0005: return-void │ │ +418798: |[418798] org.purple.smoke.Smokescreen$3.:(Lorg/purple/smoke/Smokescreen;)V │ │ +4187a8: 5b01 3f5d |0000: iput-object v1, v0, Lorg/purple/smoke/Smokescreen$3;.this$0:Lorg/purple/smoke/Smokescreen; // field@5d3f │ │ +4187ac: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +4187b2: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=147 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/Smokescreen$3; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/Smokescreen; │ │ │ │ @@ -729025,20 +729024,20 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -4187b8: |[4187b8] org.purple.smoke.Smokescreen$3.run:()V │ │ -4187c8: 5410 3f5d |0000: iget-object v0, v1, Lorg/purple/smoke/Smokescreen$3;.this$0:Lorg/purple/smoke/Smokescreen; // field@5d3f │ │ -4187cc: 7110 3ab9 0000 |0002: invoke-static {v0}, Lorg/purple/smoke/Smokescreen;.access$200:(Lorg/purple/smoke/Smokescreen;)Landroid/widget/TextView; // method@b93a │ │ -4187d2: 0c00 |0005: move-result-object v0 │ │ -4187d4: 6e10 265b 0000 |0006: invoke-virtual {v0}, Landroid/widget/TextView;.requestFocus:()Z // method@5b26 │ │ -4187da: 0e00 |0009: return-void │ │ +4187b4: |[4187b4] org.purple.smoke.Smokescreen$3.run:()V │ │ +4187c4: 5410 3f5d |0000: iget-object v0, v1, Lorg/purple/smoke/Smokescreen$3;.this$0:Lorg/purple/smoke/Smokescreen; // field@5d3f │ │ +4187c8: 7110 3ab9 0000 |0002: invoke-static {v0}, Lorg/purple/smoke/Smokescreen;.access$200:(Lorg/purple/smoke/Smokescreen;)Landroid/widget/TextView; // method@b93a │ │ +4187ce: 0c00 |0005: move-result-object v0 │ │ +4187d0: 6e10 265b 0000 |0006: invoke-virtual {v0}, Landroid/widget/TextView;.requestFocus:()Z // method@5b26 │ │ +4187d6: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=151 │ │ locals : │ │ 0x0000 - 0x000a reg=1 this Lorg/purple/smoke/Smokescreen$3; │ │ │ │ source_file_idx : 19215 (Smokescreen.java) │ │ @@ -729076,18 +729075,18 @@ │ │ type : '(Lorg/purple/smoke/State;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -41906c: |[41906c] org.purple.smoke.State$1.:(Lorg/purple/smoke/State;)V │ │ -41907c: 5b01 465d |0000: iput-object v1, v0, Lorg/purple/smoke/State$1;.this$0:Lorg/purple/smoke/State; // field@5d46 │ │ -419080: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -419086: 0e00 |0005: return-void │ │ +419068: |[419068] org.purple.smoke.State$1.:(Lorg/purple/smoke/State;)V │ │ +419078: 5b01 465d |0000: iput-object v1, v0, Lorg/purple/smoke/State$1;.this$0:Lorg/purple/smoke/State; // field@5d46 │ │ +41907c: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +419082: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=84 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/State$1; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/State; │ │ │ │ @@ -729097,72 +729096,72 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 114 16-bit code units │ │ -419088: |[419088] org.purple.smoke.State$1.run:()V │ │ -419098: 5430 465d |0000: iget-object v0, v3, Lorg/purple/smoke/State$1;.this$0:Lorg/purple/smoke/State; // field@5d46 │ │ -41909c: 6e10 69b9 0000 |0002: invoke-virtual {v0}, Lorg/purple/smoke/State;.isAuthenticated:()Z // method@b969 │ │ -4190a2: 0a00 |0005: move-result v0 │ │ -4190a4: 3900 0300 |0006: if-nez v0, 0009 // +0003 │ │ -4190a8: 0e00 |0008: return-void │ │ -4190aa: 7100 e8b5 0000 |0009: invoke-static {}, Lorg/purple/smoke/Database;.getInstance:()Lorg/purple/smoke/Database; // method@b5e8 │ │ -4190b0: 0c00 |000c: move-result-object v0 │ │ -4190b2: 7100 88b5 0000 |000d: invoke-static {}, Lorg/purple/smoke/Cryptography;.getInstance:()Lorg/purple/smoke/Cryptography; // method@b588 │ │ -4190b8: 0c01 |0010: move-result-object v1 │ │ -4190ba: 1a02 0000 |0011: const-string v2, "" // string@0000 │ │ -4190be: 6e30 0db6 1002 |0013: invoke-virtual {v0, v1, v2}, Lorg/purple/smoke/Database;.readParticipants:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/util/ArrayList; // method@b60d │ │ -4190c4: 0c00 |0016: move-result-object v0 │ │ -4190c6: 3900 0300 |0017: if-nez v0, 001a // +0003 │ │ -4190ca: 0e00 |0019: return-void │ │ -4190cc: 7110 e95f 0000 |001a: invoke-static {v0}, Ljava/util/Collections;.sort:(Ljava/util/List;)V // method@5fe9 │ │ -4190d2: 5431 465d |001d: iget-object v1, v3, Lorg/purple/smoke/State$1;.this$0:Lorg/purple/smoke/State; // field@5d46 │ │ -4190d6: 7110 54b9 0100 |001f: invoke-static {v1}, Lorg/purple/smoke/State;.access$000:(Lorg/purple/smoke/State;)Ljava/util/concurrent/locks/ReentrantReadWriteLock; // method@b954 │ │ -4190dc: 0c01 |0022: move-result-object v1 │ │ -4190de: 6e10 eb60 0100 |0023: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -4190e4: 0c01 |0026: move-result-object v1 │ │ -4190e6: 6e10 e760 0100 |0027: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ -4190ec: 5431 465d |002a: iget-object v1, v3, Lorg/purple/smoke/State$1;.this$0:Lorg/purple/smoke/State; // field@5d46 │ │ -4190f0: 7110 55b9 0100 |002c: invoke-static {v1}, Lorg/purple/smoke/State;.access$100:(Lorg/purple/smoke/State;)Ljava/util/ArrayList; // method@b955 │ │ -4190f6: 0c01 |002f: move-result-object v1 │ │ -4190f8: 6e20 a15f 1000 |0030: invoke-virtual {v0, v1}, Ljava/util/ArrayList;.equals:(Ljava/lang/Object;)Z // method@5fa1 │ │ -4190fe: 0a01 |0033: move-result v1 │ │ -419100: 3901 1900 |0034: if-nez v1, 004d // +0019 │ │ -419104: 5431 465d |0036: iget-object v1, v3, Lorg/purple/smoke/State$1;.this$0:Lorg/purple/smoke/State; // field@5d46 │ │ -419108: 7120 56b9 0100 |0038: invoke-static {v1, v0}, Lorg/purple/smoke/State;.access$102:(Lorg/purple/smoke/State;Ljava/util/ArrayList;)Ljava/util/ArrayList; // method@b956 │ │ -41910e: 2200 4900 |003b: new-instance v0, Landroid/content/Intent; // type@0049 │ │ -419112: 1a01 d58f |003d: const-string v1, "org.purple.smoke.state_participants_populated" // string@8fd5 │ │ -419116: 7020 a001 1000 |003f: invoke-direct {v0, v1}, Landroid/content/Intent;.:(Ljava/lang/String;)V // method@01a0 │ │ -41911c: 7100 1db9 0000 |0042: invoke-static {}, Lorg/purple/smoke/Smoke;.getApplication:()Lorg/purple/smoke/Smoke; // method@b91d │ │ -419122: 0c01 |0045: move-result-object v1 │ │ -419124: 7110 a41d 0100 |0046: invoke-static {v1}, Landroid/support/v4/content/LocalBroadcastManager;.getInstance:(Landroid/content/Context;)Landroid/support/v4/content/LocalBroadcastManager; // method@1da4 │ │ -41912a: 0c01 |0049: move-result-object v1 │ │ -41912c: 6e20 a61d 0100 |004a: invoke-virtual {v1, v0}, Landroid/support/v4/content/LocalBroadcastManager;.sendBroadcast:(Landroid/content/Intent;)Z // method@1da6 │ │ -419132: 5430 465d |004d: iget-object v0, v3, Lorg/purple/smoke/State$1;.this$0:Lorg/purple/smoke/State; // field@5d46 │ │ -419136: 7110 54b9 0000 |004f: invoke-static {v0}, Lorg/purple/smoke/State;.access$000:(Lorg/purple/smoke/State;)Ljava/util/concurrent/locks/ReentrantReadWriteLock; // method@b954 │ │ -41913c: 0c00 |0052: move-result-object v0 │ │ -41913e: 6e10 eb60 0000 |0053: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -419144: 0c00 |0056: move-result-object v0 │ │ -419146: 6e10 e860 0000 |0057: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -41914c: 2817 |005a: goto 0071 // +0017 │ │ -41914e: 0d00 |005b: move-exception v0 │ │ -419150: 5431 465d |005c: iget-object v1, v3, Lorg/purple/smoke/State$1;.this$0:Lorg/purple/smoke/State; // field@5d46 │ │ -419154: 7110 54b9 0100 |005e: invoke-static {v1}, Lorg/purple/smoke/State;.access$000:(Lorg/purple/smoke/State;)Ljava/util/concurrent/locks/ReentrantReadWriteLock; // method@b954 │ │ -41915a: 0c01 |0061: move-result-object v1 │ │ -41915c: 6e10 eb60 0100 |0062: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -419162: 0c01 |0065: move-result-object v1 │ │ -419164: 6e10 e860 0100 |0066: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -41916a: 2700 |0069: throw v0 │ │ -41916c: 5430 465d |006a: iget-object v0, v3, Lorg/purple/smoke/State$1;.this$0:Lorg/purple/smoke/State; // field@5d46 │ │ -419170: 7110 54b9 0000 |006c: invoke-static {v0}, Lorg/purple/smoke/State;.access$000:(Lorg/purple/smoke/State;)Ljava/util/concurrent/locks/ReentrantReadWriteLock; // method@b954 │ │ -419176: 0c00 |006f: move-result-object v0 │ │ -419178: 28e3 |0070: goto 0053 // -001d │ │ -41917a: 0e00 |0071: return-void │ │ +419084: |[419084] org.purple.smoke.State$1.run:()V │ │ +419094: 5430 465d |0000: iget-object v0, v3, Lorg/purple/smoke/State$1;.this$0:Lorg/purple/smoke/State; // field@5d46 │ │ +419098: 6e10 69b9 0000 |0002: invoke-virtual {v0}, Lorg/purple/smoke/State;.isAuthenticated:()Z // method@b969 │ │ +41909e: 0a00 |0005: move-result v0 │ │ +4190a0: 3900 0300 |0006: if-nez v0, 0009 // +0003 │ │ +4190a4: 0e00 |0008: return-void │ │ +4190a6: 7100 e8b5 0000 |0009: invoke-static {}, Lorg/purple/smoke/Database;.getInstance:()Lorg/purple/smoke/Database; // method@b5e8 │ │ +4190ac: 0c00 |000c: move-result-object v0 │ │ +4190ae: 7100 88b5 0000 |000d: invoke-static {}, Lorg/purple/smoke/Cryptography;.getInstance:()Lorg/purple/smoke/Cryptography; // method@b588 │ │ +4190b4: 0c01 |0010: move-result-object v1 │ │ +4190b6: 1a02 0000 |0011: const-string v2, "" // string@0000 │ │ +4190ba: 6e30 0db6 1002 |0013: invoke-virtual {v0, v1, v2}, Lorg/purple/smoke/Database;.readParticipants:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/util/ArrayList; // method@b60d │ │ +4190c0: 0c00 |0016: move-result-object v0 │ │ +4190c2: 3900 0300 |0017: if-nez v0, 001a // +0003 │ │ +4190c6: 0e00 |0019: return-void │ │ +4190c8: 7110 e95f 0000 |001a: invoke-static {v0}, Ljava/util/Collections;.sort:(Ljava/util/List;)V // method@5fe9 │ │ +4190ce: 5431 465d |001d: iget-object v1, v3, Lorg/purple/smoke/State$1;.this$0:Lorg/purple/smoke/State; // field@5d46 │ │ +4190d2: 7110 54b9 0100 |001f: invoke-static {v1}, Lorg/purple/smoke/State;.access$000:(Lorg/purple/smoke/State;)Ljava/util/concurrent/locks/ReentrantReadWriteLock; // method@b954 │ │ +4190d8: 0c01 |0022: move-result-object v1 │ │ +4190da: 6e10 eb60 0100 |0023: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +4190e0: 0c01 |0026: move-result-object v1 │ │ +4190e2: 6e10 e760 0100 |0027: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ +4190e8: 5431 465d |002a: iget-object v1, v3, Lorg/purple/smoke/State$1;.this$0:Lorg/purple/smoke/State; // field@5d46 │ │ +4190ec: 7110 55b9 0100 |002c: invoke-static {v1}, Lorg/purple/smoke/State;.access$100:(Lorg/purple/smoke/State;)Ljava/util/ArrayList; // method@b955 │ │ +4190f2: 0c01 |002f: move-result-object v1 │ │ +4190f4: 6e20 a15f 1000 |0030: invoke-virtual {v0, v1}, Ljava/util/ArrayList;.equals:(Ljava/lang/Object;)Z // method@5fa1 │ │ +4190fa: 0a01 |0033: move-result v1 │ │ +4190fc: 3901 1900 |0034: if-nez v1, 004d // +0019 │ │ +419100: 5431 465d |0036: iget-object v1, v3, Lorg/purple/smoke/State$1;.this$0:Lorg/purple/smoke/State; // field@5d46 │ │ +419104: 7120 56b9 0100 |0038: invoke-static {v1, v0}, Lorg/purple/smoke/State;.access$102:(Lorg/purple/smoke/State;Ljava/util/ArrayList;)Ljava/util/ArrayList; // method@b956 │ │ +41910a: 2200 4900 |003b: new-instance v0, Landroid/content/Intent; // type@0049 │ │ +41910e: 1a01 d58f |003d: const-string v1, "org.purple.smoke.state_participants_populated" // string@8fd5 │ │ +419112: 7020 a001 1000 |003f: invoke-direct {v0, v1}, Landroid/content/Intent;.:(Ljava/lang/String;)V // method@01a0 │ │ +419118: 7100 1db9 0000 |0042: invoke-static {}, Lorg/purple/smoke/Smoke;.getApplication:()Lorg/purple/smoke/Smoke; // method@b91d │ │ +41911e: 0c01 |0045: move-result-object v1 │ │ +419120: 7110 a41d 0100 |0046: invoke-static {v1}, Landroid/support/v4/content/LocalBroadcastManager;.getInstance:(Landroid/content/Context;)Landroid/support/v4/content/LocalBroadcastManager; // method@1da4 │ │ +419126: 0c01 |0049: move-result-object v1 │ │ +419128: 6e20 a61d 0100 |004a: invoke-virtual {v1, v0}, Landroid/support/v4/content/LocalBroadcastManager;.sendBroadcast:(Landroid/content/Intent;)Z // method@1da6 │ │ +41912e: 5430 465d |004d: iget-object v0, v3, Lorg/purple/smoke/State$1;.this$0:Lorg/purple/smoke/State; // field@5d46 │ │ +419132: 7110 54b9 0000 |004f: invoke-static {v0}, Lorg/purple/smoke/State;.access$000:(Lorg/purple/smoke/State;)Ljava/util/concurrent/locks/ReentrantReadWriteLock; // method@b954 │ │ +419138: 0c00 |0052: move-result-object v0 │ │ +41913a: 6e10 eb60 0000 |0053: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +419140: 0c00 |0056: move-result-object v0 │ │ +419142: 6e10 e860 0000 |0057: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +419148: 2817 |005a: goto 0071 // +0017 │ │ +41914a: 0d00 |005b: move-exception v0 │ │ +41914c: 5431 465d |005c: iget-object v1, v3, Lorg/purple/smoke/State$1;.this$0:Lorg/purple/smoke/State; // field@5d46 │ │ +419150: 7110 54b9 0100 |005e: invoke-static {v1}, Lorg/purple/smoke/State;.access$000:(Lorg/purple/smoke/State;)Ljava/util/concurrent/locks/ReentrantReadWriteLock; // method@b954 │ │ +419156: 0c01 |0061: move-result-object v1 │ │ +419158: 6e10 eb60 0100 |0062: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41915e: 0c01 |0065: move-result-object v1 │ │ +419160: 6e10 e860 0100 |0066: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +419166: 2700 |0069: throw v0 │ │ +419168: 5430 465d |006a: iget-object v0, v3, Lorg/purple/smoke/State$1;.this$0:Lorg/purple/smoke/State; // field@5d46 │ │ +41916c: 7110 54b9 0000 |006c: invoke-static {v0}, Lorg/purple/smoke/State;.access$000:(Lorg/purple/smoke/State;)Ljava/util/concurrent/locks/ReentrantReadWriteLock; // method@b954 │ │ +419172: 0c00 |006f: move-result-object v0 │ │ +419174: 28e3 |0070: goto 0053 // -001d │ │ +419176: 0e00 |0071: return-void │ │ catches : 3 │ │ 0x0000 - 0x002a │ │ Ljava/lang/Exception; -> 0x0071 │ │ 0x002a - 0x004d │ │ Ljava/lang/Exception; -> 0x006a │ │ -> 0x005b │ │ 0x004d - 0x0070 │ │ @@ -729288,73 +729287,73 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 0 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -419a98: |[419a98] org.purple.smoke.State.:()V │ │ -419aa8: 0e00 |0000: return-void │ │ +419a94: |[419a94] org.purple.smoke.State.:()V │ │ +419aa4: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #1 : (in Lorg/purple/smoke/State;) │ │ name : '' │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 95 16-bit code units │ │ -419aac: |[419aac] org.purple.smoke.State.:()V │ │ -419abc: 7010 8f5c 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@5c8f │ │ -419ac2: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -419ac4: 5b20 4a5d |0004: iput-object v0, v2, Lorg/purple/smoke/State;.m_chatMessages:Ljava/util/ArrayList; // field@5d4a │ │ -419ac8: 5b20 4d5d |0006: iput-object v0, v2, Lorg/purple/smoke/State;.m_participants:Ljava/util/ArrayList; // field@5d4d │ │ -419acc: 5b20 4b5d |0008: iput-object v0, v2, Lorg/purple/smoke/State;.m_exit:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5d4b │ │ -419ad0: 5b20 505d |000a: iput-object v0, v2, Lorg/purple/smoke/State;.m_queryTimerServer:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5d50 │ │ -419ad4: 5b20 525d |000c: iput-object v0, v2, Lorg/purple/smoke/State;.m_silent:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5d52 │ │ -419ad8: 5b20 485d |000e: iput-object v0, v2, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ -419adc: 5b20 535d |0010: iput-object v0, v2, Lorg/purple/smoke/State;.m_steamDetailsStates:Ljava/util/Map; // field@5d53 │ │ -419ae0: 5b20 515d |0012: iput-object v0, v2, Lorg/purple/smoke/State;.m_selectedSwitches:Ljava/util/Map; // field@5d51 │ │ -419ae4: 5b20 4c5d |0014: iput-object v0, v2, Lorg/purple/smoke/State;.m_fireChannels:Ljava/util/Map; // field@5d4c │ │ -419ae8: 5b20 4f5d |0016: iput-object v0, v2, Lorg/purple/smoke/State;.m_participantsScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d4f │ │ -419aec: 2200 eb0b |0018: new-instance v0, Ljava/util/concurrent/locks/ReentrantReadWriteLock; // type@0beb │ │ -419af0: 7010 e960 0000 |001a: invoke-direct {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.:()V // method@60e9 │ │ -419af6: 5b20 495d |001d: iput-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -419afa: 2200 eb0b |001f: new-instance v0, Ljava/util/concurrent/locks/ReentrantReadWriteLock; // type@0beb │ │ -419afe: 7010 e960 0000 |0021: invoke-direct {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.:()V // method@60e9 │ │ -419b04: 5b20 4e5d |0024: iput-object v0, v2, Lorg/purple/smoke/State;.m_participantsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d4e │ │ -419b08: 2200 da00 |0026: new-instance v0, Landroid/os/Bundle; // type@00da │ │ -419b0c: 7010 bd04 0000 |0028: invoke-direct {v0}, Landroid/os/Bundle;.:()V // method@04bd │ │ -419b12: 5b20 485d |002b: iput-object v0, v2, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ -419b16: 2200 e50b |002d: new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean; // type@0be5 │ │ -419b1a: 1201 |002f: const/4 v1, #int 0 // #0 │ │ -419b1c: 7020 d460 1000 |0030: invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.:(Z)V // method@60d4 │ │ -419b22: 5b20 4b5d |0033: iput-object v0, v2, Lorg/purple/smoke/State;.m_exit:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5d4b │ │ -419b26: 2200 ab0b |0035: new-instance v0, Ljava/util/ArrayList; // type@0bab │ │ -419b2a: 7010 975f 0000 |0037: invoke-direct {v0}, Ljava/util/ArrayList;.:()V // method@5f97 │ │ -419b30: 5b20 4d5d |003a: iput-object v0, v2, Lorg/purple/smoke/State;.m_participants:Ljava/util/ArrayList; // field@5d4d │ │ -419b34: 2200 e50b |003c: new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean; // type@0be5 │ │ -419b38: 7020 d460 1000 |003e: invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.:(Z)V // method@60d4 │ │ -419b3e: 5b20 505d |0041: iput-object v0, v2, Lorg/purple/smoke/State;.m_queryTimerServer:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5d50 │ │ -419b42: 2200 cc0b |0043: new-instance v0, Ljava/util/TreeMap; // type@0bcc │ │ -419b46: 7010 8a60 0000 |0045: invoke-direct {v0}, Ljava/util/TreeMap;.:()V // method@608a │ │ -419b4c: 5b20 515d |0048: iput-object v0, v2, Lorg/purple/smoke/State;.m_selectedSwitches:Ljava/util/Map; // field@5d51 │ │ -419b50: 2200 e50b |004a: new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean; // type@0be5 │ │ -419b54: 7020 d460 1000 |004c: invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.:(Z)V // method@60d4 │ │ -419b5a: 5b20 525d |004f: iput-object v0, v2, Lorg/purple/smoke/State;.m_silent:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5d52 │ │ -419b5e: 2200 cc0b |0051: new-instance v0, Ljava/util/TreeMap; // type@0bcc │ │ -419b62: 7010 8a60 0000 |0053: invoke-direct {v0}, Ljava/util/TreeMap;.:()V // method@608a │ │ -419b68: 5b20 535d |0056: iput-object v0, v2, Lorg/purple/smoke/State;.m_steamDetailsStates:Ljava/util/Map; // field@5d53 │ │ -419b6c: 7010 70b9 0200 |0058: invoke-direct {v2}, Lorg/purple/smoke/State;.populateParticipants:()V // method@b970 │ │ -419b72: 6e20 79b9 1200 |005b: invoke-virtual {v2, v1}, Lorg/purple/smoke/State;.setAuthenticated:(Z)V // method@b979 │ │ -419b78: 0e00 |005e: return-void │ │ +419aa8: |[419aa8] org.purple.smoke.State.:()V │ │ +419ab8: 7010 8f5c 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@5c8f │ │ +419abe: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +419ac0: 5b20 4a5d |0004: iput-object v0, v2, Lorg/purple/smoke/State;.m_chatMessages:Ljava/util/ArrayList; // field@5d4a │ │ +419ac4: 5b20 4d5d |0006: iput-object v0, v2, Lorg/purple/smoke/State;.m_participants:Ljava/util/ArrayList; // field@5d4d │ │ +419ac8: 5b20 4b5d |0008: iput-object v0, v2, Lorg/purple/smoke/State;.m_exit:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5d4b │ │ +419acc: 5b20 505d |000a: iput-object v0, v2, Lorg/purple/smoke/State;.m_queryTimerServer:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5d50 │ │ +419ad0: 5b20 525d |000c: iput-object v0, v2, Lorg/purple/smoke/State;.m_silent:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5d52 │ │ +419ad4: 5b20 485d |000e: iput-object v0, v2, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ +419ad8: 5b20 535d |0010: iput-object v0, v2, Lorg/purple/smoke/State;.m_steamDetailsStates:Ljava/util/Map; // field@5d53 │ │ +419adc: 5b20 515d |0012: iput-object v0, v2, Lorg/purple/smoke/State;.m_selectedSwitches:Ljava/util/Map; // field@5d51 │ │ +419ae0: 5b20 4c5d |0014: iput-object v0, v2, Lorg/purple/smoke/State;.m_fireChannels:Ljava/util/Map; // field@5d4c │ │ +419ae4: 5b20 4f5d |0016: iput-object v0, v2, Lorg/purple/smoke/State;.m_participantsScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d4f │ │ +419ae8: 2200 eb0b |0018: new-instance v0, Ljava/util/concurrent/locks/ReentrantReadWriteLock; // type@0beb │ │ +419aec: 7010 e960 0000 |001a: invoke-direct {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.:()V // method@60e9 │ │ +419af2: 5b20 495d |001d: iput-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +419af6: 2200 eb0b |001f: new-instance v0, Ljava/util/concurrent/locks/ReentrantReadWriteLock; // type@0beb │ │ +419afa: 7010 e960 0000 |0021: invoke-direct {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.:()V // method@60e9 │ │ +419b00: 5b20 4e5d |0024: iput-object v0, v2, Lorg/purple/smoke/State;.m_participantsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d4e │ │ +419b04: 2200 da00 |0026: new-instance v0, Landroid/os/Bundle; // type@00da │ │ +419b08: 7010 bd04 0000 |0028: invoke-direct {v0}, Landroid/os/Bundle;.:()V // method@04bd │ │ +419b0e: 5b20 485d |002b: iput-object v0, v2, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ +419b12: 2200 e50b |002d: new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean; // type@0be5 │ │ +419b16: 1201 |002f: const/4 v1, #int 0 // #0 │ │ +419b18: 7020 d460 1000 |0030: invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.:(Z)V // method@60d4 │ │ +419b1e: 5b20 4b5d |0033: iput-object v0, v2, Lorg/purple/smoke/State;.m_exit:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5d4b │ │ +419b22: 2200 ab0b |0035: new-instance v0, Ljava/util/ArrayList; // type@0bab │ │ +419b26: 7010 975f 0000 |0037: invoke-direct {v0}, Ljava/util/ArrayList;.:()V // method@5f97 │ │ +419b2c: 5b20 4d5d |003a: iput-object v0, v2, Lorg/purple/smoke/State;.m_participants:Ljava/util/ArrayList; // field@5d4d │ │ +419b30: 2200 e50b |003c: new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean; // type@0be5 │ │ +419b34: 7020 d460 1000 |003e: invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.:(Z)V // method@60d4 │ │ +419b3a: 5b20 505d |0041: iput-object v0, v2, Lorg/purple/smoke/State;.m_queryTimerServer:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5d50 │ │ +419b3e: 2200 cc0b |0043: new-instance v0, Ljava/util/TreeMap; // type@0bcc │ │ +419b42: 7010 8a60 0000 |0045: invoke-direct {v0}, Ljava/util/TreeMap;.:()V // method@608a │ │ +419b48: 5b20 515d |0048: iput-object v0, v2, Lorg/purple/smoke/State;.m_selectedSwitches:Ljava/util/Map; // field@5d51 │ │ +419b4c: 2200 e50b |004a: new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean; // type@0be5 │ │ +419b50: 7020 d460 1000 |004c: invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.:(Z)V // method@60d4 │ │ +419b56: 5b20 525d |004f: iput-object v0, v2, Lorg/purple/smoke/State;.m_silent:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5d52 │ │ +419b5a: 2200 cc0b |0051: new-instance v0, Ljava/util/TreeMap; // type@0bcc │ │ +419b5e: 7010 8a60 0000 |0053: invoke-direct {v0}, Ljava/util/TreeMap;.:()V // method@608a │ │ +419b64: 5b20 535d |0056: iput-object v0, v2, Lorg/purple/smoke/State;.m_steamDetailsStates:Ljava/util/Map; // field@5d53 │ │ +419b68: 7010 70b9 0200 |0058: invoke-direct {v2}, Lorg/purple/smoke/State;.populateParticipants:()V // method@b970 │ │ +419b6e: 6e20 79b9 1200 |005b: invoke-virtual {v2, v1}, Lorg/purple/smoke/State;.setAuthenticated:(Z)V // method@b979 │ │ +419b74: 0e00 |005e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=65 │ │ 0x0004 line=47 │ │ 0x0006 line=48 │ │ 0x0008 line=49 │ │ 0x000a line=50 │ │ @@ -729383,17 +729382,17 @@ │ │ type : '(Lorg/purple/smoke/State;)Ljava/util/concurrent/locks/ReentrantReadWriteLock;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -419950: |[419950] org.purple.smoke.State.access$000:(Lorg/purple/smoke/State;)Ljava/util/concurrent/locks/ReentrantReadWriteLock; │ │ -419960: 5400 4e5d |0000: iget-object v0, v0, Lorg/purple/smoke/State;.m_participantsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d4e │ │ -419964: 1100 |0002: return-object v0 │ │ +41994c: |[41994c] org.purple.smoke.State.access$000:(Lorg/purple/smoke/State;)Ljava/util/concurrent/locks/ReentrantReadWriteLock; │ │ +41995c: 5400 4e5d |0000: iget-object v0, v0, Lorg/purple/smoke/State;.m_participantsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d4e │ │ +419960: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=45 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/State; │ │ │ │ #3 : (in Lorg/purple/smoke/State;) │ │ @@ -729401,17 +729400,17 @@ │ │ type : '(Lorg/purple/smoke/State;)Ljava/util/ArrayList;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -419780: |[419780] org.purple.smoke.State.access$100:(Lorg/purple/smoke/State;)Ljava/util/ArrayList; │ │ -419790: 5400 4d5d |0000: iget-object v0, v0, Lorg/purple/smoke/State;.m_participants:Ljava/util/ArrayList; // field@5d4d │ │ -419794: 1100 |0002: return-object v0 │ │ +41977c: |[41977c] org.purple.smoke.State.access$100:(Lorg/purple/smoke/State;)Ljava/util/ArrayList; │ │ +41978c: 5400 4d5d |0000: iget-object v0, v0, Lorg/purple/smoke/State;.m_participants:Ljava/util/ArrayList; // field@5d4d │ │ +419790: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=45 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/State; │ │ │ │ #4 : (in Lorg/purple/smoke/State;) │ │ @@ -729419,17 +729418,17 @@ │ │ type : '(Lorg/purple/smoke/State;Ljava/util/ArrayList;)Ljava/util/ArrayList;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -419798: |[419798] org.purple.smoke.State.access$102:(Lorg/purple/smoke/State;Ljava/util/ArrayList;)Ljava/util/ArrayList; │ │ -4197a8: 5b01 4d5d |0000: iput-object v1, v0, Lorg/purple/smoke/State;.m_participants:Ljava/util/ArrayList; // field@5d4d │ │ -4197ac: 1101 |0002: return-object v1 │ │ +419794: |[419794] org.purple.smoke.State.access$102:(Lorg/purple/smoke/State;Ljava/util/ArrayList;)Ljava/util/ArrayList; │ │ +4197a4: 5b01 4d5d |0000: iput-object v1, v0, Lorg/purple/smoke/State;.m_participants:Ljava/util/ArrayList; // field@5d4d │ │ +4197a8: 1101 |0002: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=45 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/State; │ │ 0x0000 - 0x0003 reg=1 (null) Ljava/util/ArrayList; │ │ │ │ @@ -729438,28 +729437,28 @@ │ │ type : '()Lorg/purple/smoke/State;' │ │ access : 0x20009 (PUBLIC STATIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 21 16-bit code units │ │ -419a50: |[419a50] org.purple.smoke.State.getInstance:()Lorg/purple/smoke/State; │ │ -419a60: 1c00 871a |0000: const-class v0, Lorg/purple/smoke/State; // type@1a87 │ │ -419a64: 1d00 |0002: monitor-enter v0 │ │ -419a66: 6201 545d |0003: sget-object v1, Lorg/purple/smoke/State;.s_instance:Lorg/purple/smoke/State; // field@5d54 │ │ -419a6a: 3901 0900 |0005: if-nez v1, 000e // +0009 │ │ -419a6e: 2201 871a |0007: new-instance v1, Lorg/purple/smoke/State; // type@1a87 │ │ -419a72: 7010 53b9 0100 |0009: invoke-direct {v1}, Lorg/purple/smoke/State;.:()V // method@b953 │ │ -419a78: 6901 545d |000c: sput-object v1, Lorg/purple/smoke/State;.s_instance:Lorg/purple/smoke/State; // field@5d54 │ │ -419a7c: 6201 545d |000e: sget-object v1, Lorg/purple/smoke/State;.s_instance:Lorg/purple/smoke/State; // field@5d54 │ │ -419a80: 1e00 |0010: monitor-exit v0 │ │ -419a82: 1101 |0011: return-object v1 │ │ -419a84: 0d01 |0012: move-exception v1 │ │ -419a86: 1e00 |0013: monitor-exit v0 │ │ -419a88: 2701 |0014: throw v1 │ │ +419a4c: |[419a4c] org.purple.smoke.State.getInstance:()Lorg/purple/smoke/State; │ │ +419a5c: 1c00 871a |0000: const-class v0, Lorg/purple/smoke/State; // type@1a87 │ │ +419a60: 1d00 |0002: monitor-enter v0 │ │ +419a62: 6201 545d |0003: sget-object v1, Lorg/purple/smoke/State;.s_instance:Lorg/purple/smoke/State; // field@5d54 │ │ +419a66: 3901 0900 |0005: if-nez v1, 000e // +0009 │ │ +419a6a: 2201 871a |0007: new-instance v1, Lorg/purple/smoke/State; // type@1a87 │ │ +419a6e: 7010 53b9 0100 |0009: invoke-direct {v1}, Lorg/purple/smoke/State;.:()V // method@b953 │ │ +419a74: 6901 545d |000c: sput-object v1, Lorg/purple/smoke/State;.s_instance:Lorg/purple/smoke/State; // field@5d54 │ │ +419a78: 6201 545d |000e: sget-object v1, Lorg/purple/smoke/State;.s_instance:Lorg/purple/smoke/State; // field@5d54 │ │ +419a7c: 1e00 |0010: monitor-exit v0 │ │ +419a7e: 1101 |0011: return-object v1 │ │ +419a80: 0d01 |0012: move-exception v1 │ │ +419a82: 1e00 |0013: monitor-exit v0 │ │ +419a84: 2701 |0014: throw v1 │ │ catches : 1 │ │ 0x0003 - 0x0010 │ │ -> 0x0012 │ │ positions : │ │ 0x0003 line=401 │ │ 0x0007 line=402 │ │ 0x000e line=404 │ │ @@ -729470,28 +729469,28 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 9 │ │ ins : 1 │ │ outs : 7 │ │ insns size : 27 16-bit code units │ │ -419de0: |[419de0] org.purple.smoke.State.populateParticipants:()V │ │ -419df0: 5480 4f5d |0000: iget-object v0, v8, Lorg/purple/smoke/State;.m_participantsScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d4f │ │ -419df4: 3900 0800 |0002: if-nez v0, 000a // +0008 │ │ -419df8: 7100 c460 0000 |0004: invoke-static {}, Ljava/util/concurrent/Executors;.newSingleThreadScheduledExecutor:()Ljava/util/concurrent/ScheduledExecutorService; // method@60c4 │ │ -419dfe: 0c00 |0007: move-result-object v0 │ │ -419e00: 5b80 4f5d |0008: iput-object v0, v8, Lorg/purple/smoke/State;.m_participantsScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d4f │ │ -419e04: 5481 4f5d |000a: iget-object v1, v8, Lorg/purple/smoke/State;.m_participantsScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d4f │ │ -419e08: 2202 861a |000c: new-instance v2, Lorg/purple/smoke/State$1; // type@1a86 │ │ -419e0c: 7020 50b9 8200 |000e: invoke-direct {v2, v8}, Lorg/purple/smoke/State$1;.:(Lorg/purple/smoke/State;)V // method@b950 │ │ -419e12: 1603 0000 |0011: const-wide/16 v3, #int 0 // #0 │ │ -419e16: 1605 c409 |0013: const-wide/16 v5, #int 2500 // #9c4 │ │ -419e1a: 6207 eb2c |0015: sget-object v7, Ljava/util/concurrent/TimeUnit;.MILLISECONDS:Ljava/util/concurrent/TimeUnit; // field@2ceb │ │ -419e1e: 7807 cc60 0100 |0017: invoke-interface/range {v1, v2, v3, v4, v5, v6, v7}, Ljava/util/concurrent/ScheduledExecutorService;.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; // method@60cc │ │ -419e24: 0e00 |001a: return-void │ │ +419ddc: |[419ddc] org.purple.smoke.State.populateParticipants:()V │ │ +419dec: 5480 4f5d |0000: iget-object v0, v8, Lorg/purple/smoke/State;.m_participantsScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d4f │ │ +419df0: 3900 0800 |0002: if-nez v0, 000a // +0008 │ │ +419df4: 7100 c460 0000 |0004: invoke-static {}, Ljava/util/concurrent/Executors;.newSingleThreadScheduledExecutor:()Ljava/util/concurrent/ScheduledExecutorService; // method@60c4 │ │ +419dfa: 0c00 |0007: move-result-object v0 │ │ +419dfc: 5b80 4f5d |0008: iput-object v0, v8, Lorg/purple/smoke/State;.m_participantsScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d4f │ │ +419e00: 5481 4f5d |000a: iget-object v1, v8, Lorg/purple/smoke/State;.m_participantsScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d4f │ │ +419e04: 2202 861a |000c: new-instance v2, Lorg/purple/smoke/State$1; // type@1a86 │ │ +419e08: 7020 50b9 8200 |000e: invoke-direct {v2, v8}, Lorg/purple/smoke/State$1;.:(Lorg/purple/smoke/State;)V // method@b950 │ │ +419e0e: 1603 0000 |0011: const-wide/16 v3, #int 0 // #0 │ │ +419e12: 1605 c409 |0013: const-wide/16 v5, #int 2500 // #9c4 │ │ +419e16: 6207 eb2c |0015: sget-object v7, Ljava/util/concurrent/TimeUnit;.MILLISECONDS:Ljava/util/concurrent/TimeUnit; // field@2ceb │ │ +419e1a: 7807 cc60 0100 |0017: invoke-interface/range {v1, v2, v3, v4, v5, v6, v7}, Ljava/util/concurrent/ScheduledExecutorService;.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; // method@60cc │ │ +419e20: 0e00 |001a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=79 │ │ 0x0004 line=81 │ │ 0x000a line=83 │ │ locals : │ │ 0x0000 - 0x001b reg=8 this Lorg/purple/smoke/State; │ │ @@ -729502,34 +729501,34 @@ │ │ type : '(Lorg/purple/smoke/FireChannel;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 36 16-bit code units │ │ -419b7c: |[419b7c] org.purple.smoke.State.addFire:(Lorg/purple/smoke/FireChannel;)V │ │ -419b8c: 3903 0300 |0000: if-nez v3, 0003 // +0003 │ │ -419b90: 0e00 |0002: return-void │ │ -419b92: 5420 4c5d |0003: iget-object v0, v2, Lorg/purple/smoke/State;.m_fireChannels:Ljava/util/Map; // field@5d4c │ │ -419b96: 3900 0a00 |0005: if-nez v0, 000f // +000a │ │ -419b9a: 2200 cc0b |0007: new-instance v0, Ljava/util/TreeMap; // type@0bcc │ │ -419b9e: 7010 8a60 0000 |0009: invoke-direct {v0}, Ljava/util/TreeMap;.:()V // method@608a │ │ -419ba4: 5b20 4c5d |000c: iput-object v0, v2, Lorg/purple/smoke/State;.m_fireChannels:Ljava/util/Map; // field@5d4c │ │ -419ba8: 280c |000e: goto 001a // +000c │ │ -419baa: 6e10 a2b6 0300 |000f: invoke-virtual {v3}, Lorg/purple/smoke/FireChannel;.name:()Ljava/lang/String; // method@b6a2 │ │ -419bb0: 0c01 |0012: move-result-object v1 │ │ -419bb2: 7220 5360 1000 |0013: invoke-interface {v0, v1}, Ljava/util/Map;.containsKey:(Ljava/lang/Object;)Z // method@6053 │ │ -419bb8: 0a00 |0016: move-result v0 │ │ -419bba: 3800 0300 |0017: if-eqz v0, 001a // +0003 │ │ -419bbe: 0e00 |0019: return-void │ │ -419bc0: 5420 4c5d |001a: iget-object v0, v2, Lorg/purple/smoke/State;.m_fireChannels:Ljava/util/Map; // field@5d4c │ │ -419bc4: 6e10 a2b6 0300 |001c: invoke-virtual {v3}, Lorg/purple/smoke/FireChannel;.name:()Ljava/lang/String; // method@b6a2 │ │ -419bca: 0c01 |001f: move-result-object v1 │ │ -419bcc: 7230 5a60 1003 |0020: invoke-interface {v0, v1, v3}, Ljava/util/Map;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@605a │ │ -419bd2: 0e00 |0023: return-void │ │ +419b78: |[419b78] org.purple.smoke.State.addFire:(Lorg/purple/smoke/FireChannel;)V │ │ +419b88: 3903 0300 |0000: if-nez v3, 0003 // +0003 │ │ +419b8c: 0e00 |0002: return-void │ │ +419b8e: 5420 4c5d |0003: iget-object v0, v2, Lorg/purple/smoke/State;.m_fireChannels:Ljava/util/Map; // field@5d4c │ │ +419b92: 3900 0a00 |0005: if-nez v0, 000f // +000a │ │ +419b96: 2200 cc0b |0007: new-instance v0, Ljava/util/TreeMap; // type@0bcc │ │ +419b9a: 7010 8a60 0000 |0009: invoke-direct {v0}, Ljava/util/TreeMap;.:()V // method@608a │ │ +419ba0: 5b20 4c5d |000c: iput-object v0, v2, Lorg/purple/smoke/State;.m_fireChannels:Ljava/util/Map; // field@5d4c │ │ +419ba4: 280c |000e: goto 001a // +000c │ │ +419ba6: 6e10 a2b6 0300 |000f: invoke-virtual {v3}, Lorg/purple/smoke/FireChannel;.name:()Ljava/lang/String; // method@b6a2 │ │ +419bac: 0c01 |0012: move-result-object v1 │ │ +419bae: 7220 5360 1000 |0013: invoke-interface {v0, v1}, Ljava/util/Map;.containsKey:(Ljava/lang/Object;)Z // method@6053 │ │ +419bb4: 0a00 |0016: move-result v0 │ │ +419bb6: 3800 0300 |0017: if-eqz v0, 001a // +0003 │ │ +419bba: 0e00 |0019: return-void │ │ +419bbc: 5420 4c5d |001a: iget-object v0, v2, Lorg/purple/smoke/State;.m_fireChannels:Ljava/util/Map; // field@5d4c │ │ +419bc0: 6e10 a2b6 0300 |001c: invoke-virtual {v3}, Lorg/purple/smoke/FireChannel;.name:()Ljava/lang/String; // method@b6a2 │ │ +419bc6: 0c01 |001f: move-result-object v1 │ │ +419bc8: 7230 5a60 1003 |0020: invoke-interface {v0, v1, v3}, Ljava/util/Map;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@605a │ │ +419bce: 0e00 |0023: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=472 │ │ 0x0007 line=473 │ │ 0x000f line=474 │ │ 0x001a line=477 │ │ locals : │ │ @@ -729541,50 +729540,50 @@ │ │ type : '(I)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 71 16-bit code units │ │ -4191a0: |[4191a0] org.purple.smoke.State.chatCheckBoxIsSelected:(I)Z │ │ -4191b0: 5440 495d |0000: iget-object v0, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -4191b4: 6e10 ea60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -4191ba: 0c00 |0005: move-result-object v0 │ │ -4191bc: 6e10 e560 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.lock:()V // method@60e5 │ │ -4191c2: 1200 |0009: const/4 v0, #int 0 // #0 │ │ -4191c4: 5441 485d |000a: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ -4191c8: 2202 f10a |000c: new-instance v2, Ljava/lang/StringBuilder; // type@0af1 │ │ -4191cc: 7010 ee5c 0200 |000e: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -4191d2: 1a03 3d5d |0011: const-string v3, "chat_checkbox_" // string@5d3d │ │ -4191d6: 6e20 f95c 3200 |0013: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4191dc: 6e20 f45c 5200 |0016: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@5cf4 │ │ -4191e2: 6e10 035d 0200 |0019: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -4191e8: 0c05 |001c: move-result-object v5 │ │ -4191ea: 1302 3000 |001d: const/16 v2, #int 48 // #30 │ │ -4191ee: 6e30 c604 5102 |001f: invoke-virtual {v1, v5, v2}, Landroid/os/Bundle;.getChar:(Ljava/lang/String;C)C // method@04c6 │ │ -4191f4: 0a05 |0022: move-result v5 │ │ -4191f6: 1301 3100 |0023: const/16 v1, #int 49 // #31 │ │ -4191fa: 3315 0300 |0025: if-ne v5, v1, 0028 // +0003 │ │ -4191fe: 1210 |0027: const/4 v0, #int 1 // #1 │ │ -419200: 5445 495d |0028: iget-object v5, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -419204: 6e10 ea60 0500 |002a: invoke-virtual {v5}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -41920a: 0c05 |002d: move-result-object v5 │ │ -41920c: 6e10 e660 0500 |002e: invoke-virtual {v5}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -419212: 0f00 |0031: return v0 │ │ -419214: 0d05 |0032: move-exception v5 │ │ -419216: 5440 495d |0033: iget-object v0, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41921a: 6e10 ea60 0000 |0035: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -419220: 0c00 |0038: move-result-object v0 │ │ -419222: 6e10 e660 0000 |0039: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -419228: 2705 |003c: throw v5 │ │ -41922a: 5445 495d |003d: iget-object v5, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41922e: 6e10 ea60 0500 |003f: invoke-virtual {v5}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -419234: 0c05 |0042: move-result-object v5 │ │ -419236: 6e10 e660 0500 |0043: invoke-virtual {v5}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -41923c: 0f00 |0046: return v0 │ │ +41919c: |[41919c] org.purple.smoke.State.chatCheckBoxIsSelected:(I)Z │ │ +4191ac: 5440 495d |0000: iget-object v0, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +4191b0: 6e10 ea60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +4191b6: 0c00 |0005: move-result-object v0 │ │ +4191b8: 6e10 e560 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.lock:()V // method@60e5 │ │ +4191be: 1200 |0009: const/4 v0, #int 0 // #0 │ │ +4191c0: 5441 485d |000a: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ +4191c4: 2202 f10a |000c: new-instance v2, Ljava/lang/StringBuilder; // type@0af1 │ │ +4191c8: 7010 ee5c 0200 |000e: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +4191ce: 1a03 3d5d |0011: const-string v3, "chat_checkbox_" // string@5d3d │ │ +4191d2: 6e20 f95c 3200 |0013: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4191d8: 6e20 f45c 5200 |0016: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@5cf4 │ │ +4191de: 6e10 035d 0200 |0019: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +4191e4: 0c05 |001c: move-result-object v5 │ │ +4191e6: 1302 3000 |001d: const/16 v2, #int 48 // #30 │ │ +4191ea: 6e30 c604 5102 |001f: invoke-virtual {v1, v5, v2}, Landroid/os/Bundle;.getChar:(Ljava/lang/String;C)C // method@04c6 │ │ +4191f0: 0a05 |0022: move-result v5 │ │ +4191f2: 1301 3100 |0023: const/16 v1, #int 49 // #31 │ │ +4191f6: 3315 0300 |0025: if-ne v5, v1, 0028 // +0003 │ │ +4191fa: 1210 |0027: const/4 v0, #int 1 // #1 │ │ +4191fc: 5445 495d |0028: iget-object v5, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +419200: 6e10 ea60 0500 |002a: invoke-virtual {v5}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +419206: 0c05 |002d: move-result-object v5 │ │ +419208: 6e10 e660 0500 |002e: invoke-virtual {v5}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +41920e: 0f00 |0031: return v0 │ │ +419210: 0d05 |0032: move-exception v5 │ │ +419212: 5440 495d |0033: iget-object v0, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +419216: 6e10 ea60 0000 |0035: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +41921c: 0c00 |0038: move-result-object v0 │ │ +41921e: 6e10 e660 0000 |0039: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +419224: 2705 |003c: throw v5 │ │ +419226: 5445 495d |003d: iget-object v5, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41922a: 6e10 ea60 0500 |003f: invoke-virtual {v5}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +419230: 0c05 |0042: move-result-object v5 │ │ +419232: 6e10 e660 0500 |0043: invoke-virtual {v5}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +419238: 0f00 |0046: return v0 │ │ catches : 1 │ │ 0x000a - 0x0023 │ │ Ljava/lang/Exception; -> 0x003d │ │ -> 0x0032 │ │ positions : │ │ 0x0000 line=248 │ │ 0x000a line=252 │ │ @@ -729600,40 +729599,40 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 49 16-bit code units │ │ -419574: |[419574] org.purple.smoke.State.chatCheckedParticipants:()I │ │ -419584: 5430 495d |0000: iget-object v0, v3, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -419588: 6e10 ea60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -41958e: 0c00 |0005: move-result-object v0 │ │ -419590: 6e10 e560 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.lock:()V // method@60e5 │ │ -419596: 1200 |0009: const/4 v0, #int 0 // #0 │ │ -419598: 5431 485d |000a: iget-object v1, v3, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ -41959c: 1a02 3e5d |000c: const-string v2, "chat_checkbox_counter" // string@5d3e │ │ -4195a0: 6e30 cc04 2100 |000e: invoke-virtual {v1, v2, v0}, Landroid/os/Bundle;.getInt:(Ljava/lang/String;I)I // method@04cc │ │ -4195a6: 0a00 |0011: move-result v0 │ │ -4195a8: 5431 495d |0012: iget-object v1, v3, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -4195ac: 6e10 ea60 0100 |0014: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -4195b2: 0c01 |0017: move-result-object v1 │ │ -4195b4: 6e10 e660 0100 |0018: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -4195ba: 0f00 |001b: return v0 │ │ -4195bc: 0d00 |001c: move-exception v0 │ │ -4195be: 5431 495d |001d: iget-object v1, v3, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -4195c2: 6e10 ea60 0100 |001f: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -4195c8: 0c01 |0022: move-result-object v1 │ │ -4195ca: 6e10 e660 0100 |0023: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -4195d0: 2700 |0026: throw v0 │ │ -4195d2: 5431 495d |0027: iget-object v1, v3, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -4195d6: 6e10 ea60 0100 |0029: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -4195dc: 0c01 |002c: move-result-object v1 │ │ -4195de: 6e10 e660 0100 |002d: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -4195e4: 0f00 |0030: return v0 │ │ +419570: |[419570] org.purple.smoke.State.chatCheckedParticipants:()I │ │ +419580: 5430 495d |0000: iget-object v0, v3, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +419584: 6e10 ea60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +41958a: 0c00 |0005: move-result-object v0 │ │ +41958c: 6e10 e560 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.lock:()V // method@60e5 │ │ +419592: 1200 |0009: const/4 v0, #int 0 // #0 │ │ +419594: 5431 485d |000a: iget-object v1, v3, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ +419598: 1a02 3e5d |000c: const-string v2, "chat_checkbox_counter" // string@5d3e │ │ +41959c: 6e30 cc04 2100 |000e: invoke-virtual {v1, v2, v0}, Landroid/os/Bundle;.getInt:(Ljava/lang/String;I)I // method@04cc │ │ +4195a2: 0a00 |0011: move-result v0 │ │ +4195a4: 5431 495d |0012: iget-object v1, v3, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +4195a8: 6e10 ea60 0100 |0014: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +4195ae: 0c01 |0017: move-result-object v1 │ │ +4195b0: 6e10 e660 0100 |0018: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +4195b6: 0f00 |001b: return v0 │ │ +4195b8: 0d00 |001c: move-exception v0 │ │ +4195ba: 5431 495d |001d: iget-object v1, v3, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +4195be: 6e10 ea60 0100 |001f: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +4195c4: 0c01 |0022: move-result-object v1 │ │ +4195c6: 6e10 e660 0100 |0023: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +4195cc: 2700 |0026: throw v0 │ │ +4195ce: 5431 495d |0027: iget-object v1, v3, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +4195d2: 6e10 ea60 0100 |0029: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +4195d8: 0c01 |002c: move-result-object v1 │ │ +4195da: 6e10 e660 0100 |002d: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +4195e0: 0f00 |0030: return v0 │ │ catches : 1 │ │ 0x000a - 0x0012 │ │ Ljava/lang/Exception; -> 0x0027 │ │ -> 0x001c │ │ positions : │ │ 0x0000 line=363 │ │ 0x000a line=367 │ │ @@ -729648,22 +729647,22 @@ │ │ type : '()Ljava/util/ArrayList;' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 8 16-bit code units │ │ -4197b0: |[4197b0] org.purple.smoke.State.chatLog:()Ljava/util/ArrayList; │ │ -4197c0: 1d01 |0000: monitor-enter v1 │ │ -4197c2: 5410 4a5d |0001: iget-object v0, v1, Lorg/purple/smoke/State;.m_chatMessages:Ljava/util/ArrayList; // field@5d4a │ │ -4197c6: 1e01 |0003: monitor-exit v1 │ │ -4197c8: 1100 |0004: return-object v0 │ │ -4197ca: 0d00 |0005: move-exception v0 │ │ -4197cc: 1e01 |0006: monitor-exit v1 │ │ -4197ce: 2700 |0007: throw v0 │ │ +4197ac: |[4197ac] org.purple.smoke.State.chatLog:()Ljava/util/ArrayList; │ │ +4197bc: 1d01 |0000: monitor-enter v1 │ │ +4197be: 5410 4a5d |0001: iget-object v0, v1, Lorg/purple/smoke/State;.m_chatMessages:Ljava/util/ArrayList; // field@5d4a │ │ +4197c2: 1e01 |0003: monitor-exit v1 │ │ +4197c4: 1100 |0004: return-object v0 │ │ +4197c6: 0d00 |0005: move-exception v0 │ │ +4197c8: 1e01 |0006: monitor-exit v1 │ │ +4197ca: 2700 |0007: throw v0 │ │ catches : 1 │ │ 0x0001 - 0x0003 │ │ -> 0x0005 │ │ positions : │ │ 0x0001 line=409 │ │ locals : │ │ 0x0000 - 0x0008 reg=1 this Lorg/purple/smoke/State; │ │ @@ -729673,47 +729672,47 @@ │ │ type : '(Ljava/lang/String;)J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 67 16-bit code units │ │ -419968: |[419968] org.purple.smoke.State.chatSequence:(Ljava/lang/String;)J │ │ -419978: 5430 495d |0000: iget-object v0, v3, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41997c: 6e10 ea60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -419982: 0c00 |0005: move-result-object v0 │ │ -419984: 6e10 e560 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.lock:()V // method@60e5 │ │ -41998a: 5430 485d |0009: iget-object v0, v3, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ -41998e: 2201 f10a |000b: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ -419992: 7010 ee5c 0100 |000d: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -419998: 1a02 465d |0010: const-string v2, "chat_sequence" // string@5d46 │ │ -41999c: 6e20 f95c 2100 |0012: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4199a2: 6e20 f95c 4100 |0015: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4199a8: 6e10 035d 0100 |0018: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -4199ae: 0c04 |001b: move-result-object v4 │ │ -4199b0: 1601 0100 |001c: const-wide/16 v1, #int 1 // #1 │ │ -4199b4: 6e40 cf04 4021 |001e: invoke-virtual {v0, v4, v1, v2}, Landroid/os/Bundle;.getLong:(Ljava/lang/String;J)J // method@04cf │ │ -4199ba: 0b00 |0021: move-result-wide v0 │ │ -4199bc: 5434 495d |0022: iget-object v4, v3, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -4199c0: 6e10 ea60 0400 |0024: invoke-virtual {v4}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -4199c6: 0c04 |0027: move-result-object v4 │ │ -4199c8: 6e10 e660 0400 |0028: invoke-virtual {v4}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -4199ce: 1000 |002b: return-wide v0 │ │ -4199d0: 0d04 |002c: move-exception v4 │ │ -4199d2: 5430 495d |002d: iget-object v0, v3, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -4199d6: 6e10 ea60 0000 |002f: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -4199dc: 0c00 |0032: move-result-object v0 │ │ -4199de: 6e10 e660 0000 |0033: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -4199e4: 2704 |0036: throw v4 │ │ -4199e6: 5434 495d |0037: iget-object v4, v3, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -4199ea: 6e10 ea60 0400 |0039: invoke-virtual {v4}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -4199f0: 0c04 |003c: move-result-object v4 │ │ -4199f2: 6e10 e660 0400 |003d: invoke-virtual {v4}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -4199f8: 1600 0000 |0040: const-wide/16 v0, #int 0 // #0 │ │ -4199fc: 1000 |0042: return-wide v0 │ │ +419964: |[419964] org.purple.smoke.State.chatSequence:(Ljava/lang/String;)J │ │ +419974: 5430 495d |0000: iget-object v0, v3, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +419978: 6e10 ea60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +41997e: 0c00 |0005: move-result-object v0 │ │ +419980: 6e10 e560 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.lock:()V // method@60e5 │ │ +419986: 5430 485d |0009: iget-object v0, v3, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ +41998a: 2201 f10a |000b: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ +41998e: 7010 ee5c 0100 |000d: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +419994: 1a02 465d |0010: const-string v2, "chat_sequence" // string@5d46 │ │ +419998: 6e20 f95c 2100 |0012: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41999e: 6e20 f95c 4100 |0015: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4199a4: 6e10 035d 0100 |0018: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +4199aa: 0c04 |001b: move-result-object v4 │ │ +4199ac: 1601 0100 |001c: const-wide/16 v1, #int 1 // #1 │ │ +4199b0: 6e40 cf04 4021 |001e: invoke-virtual {v0, v4, v1, v2}, Landroid/os/Bundle;.getLong:(Ljava/lang/String;J)J // method@04cf │ │ +4199b6: 0b00 |0021: move-result-wide v0 │ │ +4199b8: 5434 495d |0022: iget-object v4, v3, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +4199bc: 6e10 ea60 0400 |0024: invoke-virtual {v4}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +4199c2: 0c04 |0027: move-result-object v4 │ │ +4199c4: 6e10 e660 0400 |0028: invoke-virtual {v4}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +4199ca: 1000 |002b: return-wide v0 │ │ +4199cc: 0d04 |002c: move-exception v4 │ │ +4199ce: 5430 495d |002d: iget-object v0, v3, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +4199d2: 6e10 ea60 0000 |002f: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +4199d8: 0c00 |0032: move-result-object v0 │ │ +4199da: 6e10 e660 0000 |0033: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +4199e0: 2704 |0036: throw v4 │ │ +4199e2: 5434 495d |0037: iget-object v4, v3, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +4199e6: 6e10 ea60 0400 |0039: invoke-virtual {v4}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +4199ec: 0c04 |003c: move-result-object v4 │ │ +4199ee: 6e10 e660 0400 |003d: invoke-virtual {v4}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +4199f4: 1600 0000 |0040: const-wide/16 v0, #int 0 // #0 │ │ +4199f8: 1000 |0042: return-wide v0 │ │ catches : 1 │ │ 0x0009 - 0x0022 │ │ Ljava/lang/Exception; -> 0x0037 │ │ -> 0x002c │ │ positions : │ │ 0x0000 line=382 │ │ 0x0009 line=386 │ │ @@ -729729,26 +729728,26 @@ │ │ type : '()V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 16 16-bit code units │ │ -419bd4: |[419bd4] org.purple.smoke.State.clearChatLog:()V │ │ -419be4: 1d01 |0000: monitor-enter v1 │ │ -419be6: 5410 4a5d |0001: iget-object v0, v1, Lorg/purple/smoke/State;.m_chatMessages:Ljava/util/ArrayList; // field@5d4a │ │ -419bea: 3800 0500 |0003: if-eqz v0, 0008 // +0005 │ │ -419bee: 6e10 9d5f 0000 |0005: invoke-virtual {v0}, Ljava/util/ArrayList;.clear:()V // method@5f9d │ │ -419bf4: 1200 |0008: const/4 v0, #int 0 // #0 │ │ -419bf6: 5b10 4a5d |0009: iput-object v0, v1, Lorg/purple/smoke/State;.m_chatMessages:Ljava/util/ArrayList; // field@5d4a │ │ -419bfa: 1e01 |000b: monitor-exit v1 │ │ -419bfc: 0e00 |000c: return-void │ │ -419bfe: 0d00 |000d: move-exception v0 │ │ -419c00: 1e01 |000e: monitor-exit v1 │ │ -419c02: 2700 |000f: throw v0 │ │ +419bd0: |[419bd0] org.purple.smoke.State.clearChatLog:()V │ │ +419be0: 1d01 |0000: monitor-enter v1 │ │ +419be2: 5410 4a5d |0001: iget-object v0, v1, Lorg/purple/smoke/State;.m_chatMessages:Ljava/util/ArrayList; // field@5d4a │ │ +419be6: 3800 0500 |0003: if-eqz v0, 0008 // +0005 │ │ +419bea: 6e10 9d5f 0000 |0005: invoke-virtual {v0}, Ljava/util/ArrayList;.clear:()V // method@5f9d │ │ +419bf0: 1200 |0008: const/4 v0, #int 0 // #0 │ │ +419bf2: 5b10 4a5d |0009: iput-object v0, v1, Lorg/purple/smoke/State;.m_chatMessages:Ljava/util/ArrayList; // field@5d4a │ │ +419bf6: 1e01 |000b: monitor-exit v1 │ │ +419bf8: 0e00 |000c: return-void │ │ +419bfa: 0d00 |000d: move-exception v0 │ │ +419bfc: 1e01 |000e: monitor-exit v1 │ │ +419bfe: 2700 |000f: throw v0 │ │ catches : 1 │ │ 0x0001 - 0x000b │ │ -> 0x000d │ │ positions : │ │ 0x0001 line=422 │ │ 0x0005 line=423 │ │ 0x0009 line=425 │ │ @@ -729761,34 +729760,34 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 38 16-bit code units │ │ -419c10: |[419c10] org.purple.smoke.State.clearParticipants:()V │ │ -419c20: 5420 4e5d |0000: iget-object v0, v2, Lorg/purple/smoke/State;.m_participantsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d4e │ │ -419c24: 6e10 eb60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -419c2a: 0c00 |0005: move-result-object v0 │ │ -419c2c: 6e10 e760 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ -419c32: 5420 4d5d |0009: iget-object v0, v2, Lorg/purple/smoke/State;.m_participants:Ljava/util/ArrayList; // field@5d4d │ │ -419c36: 3800 1100 |000b: if-eqz v0, 001c // +0011 │ │ -419c3a: 6e10 9d5f 0000 |000d: invoke-virtual {v0}, Ljava/util/ArrayList;.clear:()V // method@5f9d │ │ -419c40: 280c |0010: goto 001c // +000c │ │ -419c42: 0d00 |0011: move-exception v0 │ │ -419c44: 5421 4e5d |0012: iget-object v1, v2, Lorg/purple/smoke/State;.m_participantsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d4e │ │ -419c48: 6e10 eb60 0100 |0014: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -419c4e: 0c01 |0017: move-result-object v1 │ │ -419c50: 6e10 e860 0100 |0018: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -419c56: 2700 |001b: throw v0 │ │ -419c58: 5420 4e5d |001c: iget-object v0, v2, Lorg/purple/smoke/State;.m_participantsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d4e │ │ -419c5c: 6e10 eb60 0000 |001e: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -419c62: 0c00 |0021: move-result-object v0 │ │ -419c64: 6e10 e860 0000 |0022: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -419c6a: 0e00 |0025: return-void │ │ +419c0c: |[419c0c] org.purple.smoke.State.clearParticipants:()V │ │ +419c1c: 5420 4e5d |0000: iget-object v0, v2, Lorg/purple/smoke/State;.m_participantsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d4e │ │ +419c20: 6e10 eb60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +419c26: 0c00 |0005: move-result-object v0 │ │ +419c28: 6e10 e760 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ +419c2e: 5420 4d5d |0009: iget-object v0, v2, Lorg/purple/smoke/State;.m_participants:Ljava/util/ArrayList; // field@5d4d │ │ +419c32: 3800 1100 |000b: if-eqz v0, 001c // +0011 │ │ +419c36: 6e10 9d5f 0000 |000d: invoke-virtual {v0}, Ljava/util/ArrayList;.clear:()V // method@5f9d │ │ +419c3c: 280c |0010: goto 001c // +000c │ │ +419c3e: 0d00 |0011: move-exception v0 │ │ +419c40: 5421 4e5d |0012: iget-object v1, v2, Lorg/purple/smoke/State;.m_participantsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d4e │ │ +419c44: 6e10 eb60 0100 |0014: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +419c4a: 0c01 |0017: move-result-object v1 │ │ +419c4c: 6e10 e860 0100 |0018: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +419c52: 2700 |001b: throw v0 │ │ +419c54: 5420 4e5d |001c: iget-object v0, v2, Lorg/purple/smoke/State;.m_participantsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d4e │ │ +419c58: 6e10 eb60 0000 |001e: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +419c5e: 0c00 |0021: move-result-object v0 │ │ +419c60: 6e10 e860 0000 |0022: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +419c66: 0e00 |0025: return-void │ │ catches : 1 │ │ 0x0009 - 0x0010 │ │ Ljava/lang/Exception; -> 0x001c │ │ -> 0x0011 │ │ positions : │ │ 0x0000 line=482 │ │ 0x0009 line=486 │ │ @@ -729804,18 +729803,18 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -419c7c: |[419c7c] org.purple.smoke.State.clearSelectedSwitches:()V │ │ -419c8c: 5410 515d |0000: iget-object v0, v1, Lorg/purple/smoke/State;.m_selectedSwitches:Ljava/util/Map; // field@5d51 │ │ -419c90: 7210 5260 0000 |0002: invoke-interface {v0}, Ljava/util/Map;.clear:()V // method@6052 │ │ -419c96: 0e00 |0005: return-void │ │ +419c78: |[419c78] org.purple.smoke.State.clearSelectedSwitches:()V │ │ +419c88: 5410 515d |0000: iget-object v0, v1, Lorg/purple/smoke/State;.m_selectedSwitches:Ljava/util/Map; // field@5d51 │ │ +419c8c: 7210 5260 0000 |0002: invoke-interface {v0}, Ljava/util/Map;.clear:()V // method@6052 │ │ +419c92: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=500 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lorg/purple/smoke/State; │ │ │ │ #8 : (in Lorg/purple/smoke/State;) │ │ @@ -729823,23 +729822,23 @@ │ │ type : '()V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 11 16-bit code units │ │ -419c98: |[419c98] org.purple.smoke.State.clearSteamDetailsStates:()V │ │ -419ca8: 1d01 |0000: monitor-enter v1 │ │ -419caa: 5410 535d |0001: iget-object v0, v1, Lorg/purple/smoke/State;.m_steamDetailsStates:Ljava/util/Map; // field@5d53 │ │ -419cae: 7210 5260 0000 |0003: invoke-interface {v0}, Ljava/util/Map;.clear:()V // method@6052 │ │ -419cb4: 1e01 |0006: monitor-exit v1 │ │ -419cb6: 0e00 |0007: return-void │ │ -419cb8: 0d00 |0008: move-exception v0 │ │ -419cba: 1e01 |0009: monitor-exit v1 │ │ -419cbc: 2700 |000a: throw v0 │ │ +419c94: |[419c94] org.purple.smoke.State.clearSteamDetailsStates:()V │ │ +419ca4: 1d01 |0000: monitor-enter v1 │ │ +419ca6: 5410 535d |0001: iget-object v0, v1, Lorg/purple/smoke/State;.m_steamDetailsStates:Ljava/util/Map; // field@5d53 │ │ +419caa: 7210 5260 0000 |0003: invoke-interface {v0}, Ljava/util/Map;.clear:()V // method@6052 │ │ +419cb0: 1e01 |0006: monitor-exit v1 │ │ +419cb2: 0e00 |0007: return-void │ │ +419cb4: 0d00 |0008: move-exception v0 │ │ +419cb6: 1e01 |0009: monitor-exit v1 │ │ +419cb8: 2700 |000a: throw v0 │ │ catches : 1 │ │ 0x0001 - 0x0006 │ │ -> 0x0008 │ │ positions : │ │ 0x0001 line=430 │ │ 0x0006 line=431 │ │ locals : │ │ @@ -729850,24 +729849,24 @@ │ │ type : '(Ljava/lang/String;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 14 16-bit code units │ │ -419250: |[419250] org.purple.smoke.State.containsFire:(Ljava/lang/String;)Z │ │ -419260: 5410 4c5d |0000: iget-object v0, v1, Lorg/purple/smoke/State;.m_fireChannels:Ljava/util/Map; // field@5d4c │ │ -419264: 3800 0a00 |0002: if-eqz v0, 000c // +000a │ │ -419268: 7220 5360 2000 |0004: invoke-interface {v0, v2}, Ljava/util/Map;.containsKey:(Ljava/lang/Object;)Z // method@6053 │ │ -41926e: 0a02 |0007: move-result v2 │ │ -419270: 3802 0400 |0008: if-eqz v2, 000c // +0004 │ │ -419274: 1212 |000a: const/4 v2, #int 1 // #1 │ │ -419276: 2802 |000b: goto 000d // +0002 │ │ -419278: 1202 |000c: const/4 v2, #int 0 // #0 │ │ -41927a: 0f02 |000d: return v2 │ │ +41924c: |[41924c] org.purple.smoke.State.containsFire:(Ljava/lang/String;)Z │ │ +41925c: 5410 4c5d |0000: iget-object v0, v1, Lorg/purple/smoke/State;.m_fireChannels:Ljava/util/Map; // field@5d4c │ │ +419260: 3800 0a00 |0002: if-eqz v0, 000c // +000a │ │ +419264: 7220 5360 2000 |0004: invoke-interface {v0, v2}, Ljava/util/Map;.containsKey:(Ljava/lang/Object;)Z // method@6053 │ │ +41926a: 0a02 |0007: move-result v2 │ │ +41926c: 3802 0400 |0008: if-eqz v2, 000c // +0004 │ │ +419270: 1212 |000a: const/4 v2, #int 1 // #1 │ │ +419272: 2802 |000b: goto 000d // +0002 │ │ +419274: 1202 |000c: const/4 v2, #int 0 // #0 │ │ +419276: 0f02 |000d: return v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=267 │ │ locals : │ │ 0x0000 - 0x000e reg=1 this Lorg/purple/smoke/State; │ │ 0x0000 - 0x000e reg=2 (null) Ljava/lang/String; │ │ │ │ @@ -729876,19 +729875,19 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -41927c: |[41927c] org.purple.smoke.State.exit:()Z │ │ -41928c: 5410 4b5d |0000: iget-object v0, v1, Lorg/purple/smoke/State;.m_exit:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5d4b │ │ -419290: 6e10 d660 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ -419296: 0a00 |0005: move-result v0 │ │ -419298: 0f00 |0006: return v0 │ │ +419278: |[419278] org.purple.smoke.State.exit:()Z │ │ +419288: 5410 4b5d |0000: iget-object v0, v1, Lorg/purple/smoke/State;.m_exit:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5d4b │ │ +41928c: 6e10 d660 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ +419292: 0a00 |0005: move-result v0 │ │ +419294: 0f00 |0006: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=272 │ │ locals : │ │ 0x0000 - 0x0007 reg=1 this Lorg/purple/smoke/State; │ │ │ │ #11 : (in Lorg/purple/smoke/State;) │ │ @@ -729896,29 +729895,29 @@ │ │ type : '(Ljava/lang/String;)Lorg/purple/smoke/FireChannel;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 24 16-bit code units │ │ -419a10: |[419a10] org.purple.smoke.State.fireChannel:(Ljava/lang/String;)Lorg/purple/smoke/FireChannel; │ │ -419a20: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -419a22: 3903 0300 |0001: if-nez v3, 0004 // +0003 │ │ -419a26: 1100 |0003: return-object v0 │ │ -419a28: 5421 4c5d |0004: iget-object v1, v2, Lorg/purple/smoke/State;.m_fireChannels:Ljava/util/Map; // field@5d4c │ │ -419a2c: 3801 1100 |0006: if-eqz v1, 0017 // +0011 │ │ -419a30: 7220 5360 3100 |0008: invoke-interface {v1, v3}, Ljava/util/Map;.containsKey:(Ljava/lang/Object;)Z // method@6053 │ │ -419a36: 0a01 |000b: move-result v1 │ │ -419a38: 3801 0b00 |000c: if-eqz v1, 0017 // +000b │ │ -419a3c: 5420 4c5d |000e: iget-object v0, v2, Lorg/purple/smoke/State;.m_fireChannels:Ljava/util/Map; // field@5d4c │ │ -419a40: 7220 5660 3000 |0010: invoke-interface {v0, v3}, Ljava/util/Map;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@6056 │ │ -419a46: 0c03 |0013: move-result-object v3 │ │ -419a48: 1f03 f219 |0014: check-cast v3, Lorg/purple/smoke/FireChannel; // type@19f2 │ │ -419a4c: 1103 |0016: return-object v3 │ │ -419a4e: 1100 |0017: return-object v0 │ │ +419a0c: |[419a0c] org.purple.smoke.State.fireChannel:(Ljava/lang/String;)Lorg/purple/smoke/FireChannel; │ │ +419a1c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +419a1e: 3903 0300 |0001: if-nez v3, 0004 // +0003 │ │ +419a22: 1100 |0003: return-object v0 │ │ +419a24: 5421 4c5d |0004: iget-object v1, v2, Lorg/purple/smoke/State;.m_fireChannels:Ljava/util/Map; // field@5d4c │ │ +419a28: 3801 1100 |0006: if-eqz v1, 0017 // +0011 │ │ +419a2c: 7220 5360 3100 |0008: invoke-interface {v1, v3}, Ljava/util/Map;.containsKey:(Ljava/lang/Object;)Z // method@6053 │ │ +419a32: 0a01 |000b: move-result v1 │ │ +419a34: 3801 0b00 |000c: if-eqz v1, 0017 // +000b │ │ +419a38: 5420 4c5d |000e: iget-object v0, v2, Lorg/purple/smoke/State;.m_fireChannels:Ljava/util/Map; // field@5d4c │ │ +419a3c: 7220 5660 3000 |0010: invoke-interface {v0, v3}, Ljava/util/Map;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@6056 │ │ +419a42: 0c03 |0013: move-result-object v3 │ │ +419a44: 1f03 f219 |0014: check-cast v3, Lorg/purple/smoke/FireChannel; // type@19f2 │ │ +419a48: 1103 |0016: return-object v3 │ │ +419a4a: 1100 |0017: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0004 line=198 │ │ 0x000e line=199 │ │ locals : │ │ 0x0000 - 0x0018 reg=2 this Lorg/purple/smoke/State; │ │ 0x0000 - 0x0018 reg=3 (null) Ljava/lang/String; │ │ @@ -729928,17 +729927,17 @@ │ │ type : '()Ljava/util/Map;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -419918: |[419918] org.purple.smoke.State.fireChannels:()Ljava/util/Map; │ │ -419928: 5410 4c5d |0000: iget-object v0, v1, Lorg/purple/smoke/State;.m_fireChannels:Ljava/util/Map; // field@5d4c │ │ -41992c: 1100 |0002: return-object v0 │ │ +419914: |[419914] org.purple.smoke.State.fireChannels:()Ljava/util/Map; │ │ +419924: 5410 4c5d |0000: iget-object v0, v1, Lorg/purple/smoke/State;.m_fireChannels:Ljava/util/Map; // field@5d4c │ │ +419928: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=206 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lorg/purple/smoke/State; │ │ │ │ #13 : (in Lorg/purple/smoke/State;) │ │ @@ -729946,39 +729945,39 @@ │ │ type : '(Ljava/lang/String;)C' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 48 16-bit code units │ │ -4194f4: |[4194f4] org.purple.smoke.State.getChar:(Ljava/lang/String;)C │ │ -419504: 5420 495d |0000: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -419508: 6e10 ea60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -41950e: 0c00 |0005: move-result-object v0 │ │ -419510: 6e10 e560 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.lock:()V // method@60e5 │ │ -419516: 1300 3000 |0009: const/16 v0, #int 48 // #30 │ │ -41951a: 5421 485d |000b: iget-object v1, v2, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ -41951e: 6e30 c604 3100 |000d: invoke-virtual {v1, v3, v0}, Landroid/os/Bundle;.getChar:(Ljava/lang/String;C)C // method@04c6 │ │ -419524: 0a03 |0010: move-result v3 │ │ -419526: 5420 495d |0011: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41952a: 6e10 ea60 0000 |0013: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -419530: 0c00 |0016: move-result-object v0 │ │ -419532: 6e10 e660 0000 |0017: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -419538: 0f03 |001a: return v3 │ │ -41953a: 0d03 |001b: move-exception v3 │ │ -41953c: 5420 495d |001c: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -419540: 6e10 ea60 0000 |001e: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -419546: 0c00 |0021: move-result-object v0 │ │ -419548: 6e10 e660 0000 |0022: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -41954e: 2703 |0025: throw v3 │ │ -419550: 5423 495d |0026: iget-object v3, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -419554: 6e10 ea60 0300 |0028: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -41955a: 0c03 |002b: move-result-object v3 │ │ -41955c: 6e10 e660 0300 |002c: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -419562: 0f00 |002f: return v0 │ │ +4194f0: |[4194f0] org.purple.smoke.State.getChar:(Ljava/lang/String;)C │ │ +419500: 5420 495d |0000: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +419504: 6e10 ea60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +41950a: 0c00 |0005: move-result-object v0 │ │ +41950c: 6e10 e560 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.lock:()V // method@60e5 │ │ +419512: 1300 3000 |0009: const/16 v0, #int 48 // #30 │ │ +419516: 5421 485d |000b: iget-object v1, v2, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ +41951a: 6e30 c604 3100 |000d: invoke-virtual {v1, v3, v0}, Landroid/os/Bundle;.getChar:(Ljava/lang/String;C)C // method@04c6 │ │ +419520: 0a03 |0010: move-result v3 │ │ +419522: 5420 495d |0011: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +419526: 6e10 ea60 0000 |0013: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +41952c: 0c00 |0016: move-result-object v0 │ │ +41952e: 6e10 e660 0000 |0017: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +419534: 0f03 |001a: return v3 │ │ +419536: 0d03 |001b: move-exception v3 │ │ +419538: 5420 495d |001c: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41953c: 6e10 ea60 0000 |001e: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +419542: 0c00 |0021: move-result-object v0 │ │ +419544: 6e10 e660 0000 |0022: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +41954a: 2703 |0025: throw v3 │ │ +41954c: 5423 495d |0026: iget-object v3, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +419550: 6e10 ea60 0300 |0028: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +419556: 0c03 |002b: move-result-object v3 │ │ +419558: 6e10 e660 0300 |002c: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +41955e: 0f00 |002f: return v0 │ │ catches : 1 │ │ 0x000b - 0x0011 │ │ Ljava/lang/Exception; -> 0x0026 │ │ -> 0x001b │ │ positions : │ │ 0x0000 line=344 │ │ 0x000b line=348 │ │ @@ -729994,39 +729993,39 @@ │ │ type : '(Ljava/lang/String;)Ljava/lang/CharSequence;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 48 16-bit code units │ │ -4195f8: |[4195f8] org.purple.smoke.State.getCharSequence:(Ljava/lang/String;)Ljava/lang/CharSequence; │ │ -419608: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ -41960c: 5421 495d |0002: iget-object v1, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -419610: 6e10 ea60 0100 |0004: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -419616: 0c01 |0007: move-result-object v1 │ │ -419618: 6e10 e560 0100 |0008: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.lock:()V // method@60e5 │ │ -41961e: 5421 485d |000b: iget-object v1, v2, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ -419622: 6e30 c804 3100 |000d: invoke-virtual {v1, v3, v0}, Landroid/os/Bundle;.getCharSequence:(Ljava/lang/String;Ljava/lang/CharSequence;)Ljava/lang/CharSequence; // method@04c8 │ │ -419628: 0c03 |0010: move-result-object v3 │ │ -41962a: 5420 495d |0011: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41962e: 6e10 ea60 0000 |0013: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -419634: 0c00 |0016: move-result-object v0 │ │ -419636: 6e10 e660 0000 |0017: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -41963c: 1103 |001a: return-object v3 │ │ -41963e: 0d03 |001b: move-exception v3 │ │ -419640: 5420 495d |001c: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -419644: 6e10 ea60 0000 |001e: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -41964a: 0c00 |0021: move-result-object v0 │ │ -41964c: 6e10 e660 0000 |0022: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -419652: 2703 |0025: throw v3 │ │ -419654: 5423 495d |0026: iget-object v3, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -419658: 6e10 ea60 0300 |0028: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -41965e: 0c03 |002b: move-result-object v3 │ │ -419660: 6e10 e660 0300 |002c: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -419666: 1100 |002f: return-object v0 │ │ +4195f4: |[4195f4] org.purple.smoke.State.getCharSequence:(Ljava/lang/String;)Ljava/lang/CharSequence; │ │ +419604: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ +419608: 5421 495d |0002: iget-object v1, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41960c: 6e10 ea60 0100 |0004: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +419612: 0c01 |0007: move-result-object v1 │ │ +419614: 6e10 e560 0100 |0008: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.lock:()V // method@60e5 │ │ +41961a: 5421 485d |000b: iget-object v1, v2, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ +41961e: 6e30 c804 3100 |000d: invoke-virtual {v1, v3, v0}, Landroid/os/Bundle;.getCharSequence:(Ljava/lang/String;Ljava/lang/CharSequence;)Ljava/lang/CharSequence; // method@04c8 │ │ +419624: 0c03 |0010: move-result-object v3 │ │ +419626: 5420 495d |0011: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41962a: 6e10 ea60 0000 |0013: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +419630: 0c00 |0016: move-result-object v0 │ │ +419632: 6e10 e660 0000 |0017: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +419638: 1103 |001a: return-object v3 │ │ +41963a: 0d03 |001b: move-exception v3 │ │ +41963c: 5420 495d |001c: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +419640: 6e10 ea60 0000 |001e: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +419646: 0c00 |0021: move-result-object v0 │ │ +419648: 6e10 e660 0000 |0022: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +41964e: 2703 |0025: throw v3 │ │ +419650: 5423 495d |0026: iget-object v3, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +419654: 6e10 ea60 0300 |0028: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +41965a: 0c03 |002b: move-result-object v3 │ │ +41965c: 6e10 e660 0300 |002c: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +419662: 1100 |002f: return-object v0 │ │ catches : 1 │ │ 0x000b - 0x0011 │ │ Ljava/lang/Exception; -> 0x0026 │ │ -> 0x001b │ │ positions : │ │ 0x0002 line=176 │ │ 0x000b line=180 │ │ @@ -730042,39 +730041,39 @@ │ │ type : '(Ljava/lang/String;)Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 48 16-bit code units │ │ -419678: |[419678] org.purple.smoke.State.getString:(Ljava/lang/String;)Ljava/lang/String; │ │ -419688: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ -41968c: 5421 495d |0002: iget-object v1, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -419690: 6e10 ea60 0100 |0004: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -419696: 0c01 |0007: move-result-object v1 │ │ -419698: 6e10 e560 0100 |0008: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.lock:()V // method@60e5 │ │ -41969e: 5421 485d |000b: iget-object v1, v2, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ -4196a2: 6e30 d504 3100 |000d: invoke-virtual {v1, v3, v0}, Landroid/os/Bundle;.getString:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@04d5 │ │ -4196a8: 0c03 |0010: move-result-object v3 │ │ -4196aa: 5420 495d |0011: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -4196ae: 6e10 ea60 0000 |0013: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -4196b4: 0c00 |0016: move-result-object v0 │ │ -4196b6: 6e10 e660 0000 |0017: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -4196bc: 1103 |001a: return-object v3 │ │ -4196be: 0d03 |001b: move-exception v3 │ │ -4196c0: 5420 495d |001c: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -4196c4: 6e10 ea60 0000 |001e: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -4196ca: 0c00 |0021: move-result-object v0 │ │ -4196cc: 6e10 e660 0000 |0022: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -4196d2: 2703 |0025: throw v3 │ │ -4196d4: 5423 495d |0026: iget-object v3, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -4196d8: 6e10 ea60 0300 |0028: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -4196de: 0c03 |002b: move-result-object v3 │ │ -4196e0: 6e10 e660 0300 |002c: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -4196e6: 1100 |002f: return-object v0 │ │ +419674: |[419674] org.purple.smoke.State.getString:(Ljava/lang/String;)Ljava/lang/String; │ │ +419684: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ +419688: 5421 495d |0002: iget-object v1, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41968c: 6e10 ea60 0100 |0004: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +419692: 0c01 |0007: move-result-object v1 │ │ +419694: 6e10 e560 0100 |0008: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.lock:()V // method@60e5 │ │ +41969a: 5421 485d |000b: iget-object v1, v2, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ +41969e: 6e30 d504 3100 |000d: invoke-virtual {v1, v3, v0}, Landroid/os/Bundle;.getString:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@04d5 │ │ +4196a4: 0c03 |0010: move-result-object v3 │ │ +4196a6: 5420 495d |0011: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +4196aa: 6e10 ea60 0000 |0013: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +4196b0: 0c00 |0016: move-result-object v0 │ │ +4196b2: 6e10 e660 0000 |0017: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +4196b8: 1103 |001a: return-object v3 │ │ +4196ba: 0d03 |001b: move-exception v3 │ │ +4196bc: 5420 495d |001c: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +4196c0: 6e10 ea60 0000 |001e: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +4196c6: 0c00 |0021: move-result-object v0 │ │ +4196c8: 6e10 e660 0000 |0022: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +4196ce: 2703 |0025: throw v3 │ │ +4196d0: 5423 495d |0026: iget-object v3, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +4196d4: 6e10 ea60 0300 |0028: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +4196da: 0c03 |002b: move-result-object v3 │ │ +4196dc: 6e10 e660 0300 |002c: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +4196e2: 1100 |002f: return-object v0 │ │ catches : 1 │ │ 0x000b - 0x0011 │ │ Ljava/lang/Exception; -> 0x0026 │ │ -> 0x001b │ │ positions : │ │ 0x0002 line=216 │ │ 0x000b line=220 │ │ @@ -730090,44 +730089,44 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 60 16-bit code units │ │ -419ccc: |[419ccc] org.purple.smoke.State.incrementChatSequence:(Ljava/lang/String;)V │ │ -419cdc: 6e20 5bb9 6500 |0000: invoke-virtual {v5, v6}, Lorg/purple/smoke/State;.chatSequence:(Ljava/lang/String;)J // method@b95b │ │ -419ce2: 0b00 |0003: move-result-wide v0 │ │ -419ce4: 5452 495d |0004: iget-object v2, v5, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -419ce8: 6e10 eb60 0200 |0006: invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -419cee: 0c02 |0009: move-result-object v2 │ │ -419cf0: 6e10 e760 0200 |000a: invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ -419cf6: 5452 485d |000d: iget-object v2, v5, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ -419cfa: 2203 f10a |000f: new-instance v3, Ljava/lang/StringBuilder; // type@0af1 │ │ -419cfe: 7010 ee5c 0300 |0011: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -419d04: 1a04 465d |0014: const-string v4, "chat_sequence" // string@5d46 │ │ -419d08: 6e20 f95c 4300 |0016: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -419d0e: 6e20 f95c 6300 |0019: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -419d14: 6e10 035d 0300 |001c: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -419d1a: 0c06 |001f: move-result-object v6 │ │ -419d1c: 1603 0100 |0020: const-wide/16 v3, #int 1 // #1 │ │ -419d20: bb30 |0022: add-long/2addr v0, v3 │ │ -419d22: 6e40 e304 6210 |0023: invoke-virtual {v2, v6, v0, v1}, Landroid/os/Bundle;.putLong:(Ljava/lang/String;J)V // method@04e3 │ │ -419d28: 280c |0026: goto 0032 // +000c │ │ -419d2a: 0d06 |0027: move-exception v6 │ │ -419d2c: 5450 495d |0028: iget-object v0, v5, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -419d30: 6e10 eb60 0000 |002a: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -419d36: 0c00 |002d: move-result-object v0 │ │ -419d38: 6e10 e860 0000 |002e: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -419d3e: 2706 |0031: throw v6 │ │ -419d40: 5456 495d |0032: iget-object v6, v5, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -419d44: 6e10 eb60 0600 |0034: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -419d4a: 0c06 |0037: move-result-object v6 │ │ -419d4c: 6e10 e860 0600 |0038: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -419d52: 0e00 |003b: return-void │ │ +419cc8: |[419cc8] org.purple.smoke.State.incrementChatSequence:(Ljava/lang/String;)V │ │ +419cd8: 6e20 5bb9 6500 |0000: invoke-virtual {v5, v6}, Lorg/purple/smoke/State;.chatSequence:(Ljava/lang/String;)J // method@b95b │ │ +419cde: 0b00 |0003: move-result-wide v0 │ │ +419ce0: 5452 495d |0004: iget-object v2, v5, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +419ce4: 6e10 eb60 0200 |0006: invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +419cea: 0c02 |0009: move-result-object v2 │ │ +419cec: 6e10 e760 0200 |000a: invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ +419cf2: 5452 485d |000d: iget-object v2, v5, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ +419cf6: 2203 f10a |000f: new-instance v3, Ljava/lang/StringBuilder; // type@0af1 │ │ +419cfa: 7010 ee5c 0300 |0011: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +419d00: 1a04 465d |0014: const-string v4, "chat_sequence" // string@5d46 │ │ +419d04: 6e20 f95c 4300 |0016: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +419d0a: 6e20 f95c 6300 |0019: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +419d10: 6e10 035d 0300 |001c: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +419d16: 0c06 |001f: move-result-object v6 │ │ +419d18: 1603 0100 |0020: const-wide/16 v3, #int 1 // #1 │ │ +419d1c: bb30 |0022: add-long/2addr v0, v3 │ │ +419d1e: 6e40 e304 6210 |0023: invoke-virtual {v2, v6, v0, v1}, Landroid/os/Bundle;.putLong:(Ljava/lang/String;J)V // method@04e3 │ │ +419d24: 280c |0026: goto 0032 // +000c │ │ +419d26: 0d06 |0027: move-exception v6 │ │ +419d28: 5450 495d |0028: iget-object v0, v5, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +419d2c: 6e10 eb60 0000 |002a: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +419d32: 0c00 |002d: move-result-object v0 │ │ +419d34: 6e10 e860 0000 |002e: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +419d3a: 2706 |0031: throw v6 │ │ +419d3c: 5456 495d |0032: iget-object v6, v5, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +419d40: 6e10 eb60 0600 |0034: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +419d46: 0c06 |0037: move-result-object v6 │ │ +419d48: 6e10 e860 0600 |0038: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +419d4e: 0e00 |003b: return-void │ │ catches : 1 │ │ 0x000d - 0x0026 │ │ Ljava/lang/Exception; -> 0x0032 │ │ -> 0x0027 │ │ positions : │ │ 0x0000 line=505 │ │ 0x0004 line=507 │ │ @@ -730144,44 +730143,44 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 56 16-bit code units │ │ -41929c: |[41929c] org.purple.smoke.State.isAuthenticated:()Z │ │ -4192ac: 5440 495d |0000: iget-object v0, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -4192b0: 6e10 ea60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -4192b6: 0c00 |0005: move-result-object v0 │ │ -4192b8: 6e10 e560 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.lock:()V // method@60e5 │ │ -4192be: 1200 |0009: const/4 v0, #int 0 // #0 │ │ -4192c0: 5441 485d |000a: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ -4192c4: 1a02 297a |000c: const-string v2, "is_authenticated" // string@7a29 │ │ -4192c8: 1303 3000 |000e: const/16 v3, #int 48 // #30 │ │ -4192cc: 6e30 c604 2103 |0010: invoke-virtual {v1, v2, v3}, Landroid/os/Bundle;.getChar:(Ljava/lang/String;C)C // method@04c6 │ │ -4192d2: 0a01 |0013: move-result v1 │ │ -4192d4: 1302 3100 |0014: const/16 v2, #int 49 // #31 │ │ -4192d8: 3321 0300 |0016: if-ne v1, v2, 0019 // +0003 │ │ -4192dc: 1210 |0018: const/4 v0, #int 1 // #1 │ │ -4192de: 5441 495d |0019: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -4192e2: 6e10 ea60 0100 |001b: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -4192e8: 0c01 |001e: move-result-object v1 │ │ -4192ea: 6e10 e660 0100 |001f: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -4192f0: 0f00 |0022: return v0 │ │ -4192f2: 0d00 |0023: move-exception v0 │ │ -4192f4: 5441 495d |0024: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -4192f8: 6e10 ea60 0100 |0026: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -4192fe: 0c01 |0029: move-result-object v1 │ │ -419300: 6e10 e660 0100 |002a: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -419306: 2700 |002d: throw v0 │ │ -419308: 5441 495d |002e: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41930c: 6e10 ea60 0100 |0030: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -419312: 0c01 |0033: move-result-object v1 │ │ -419314: 6e10 e660 0100 |0034: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -41931a: 0f00 |0037: return v0 │ │ +419298: |[419298] org.purple.smoke.State.isAuthenticated:()Z │ │ +4192a8: 5440 495d |0000: iget-object v0, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +4192ac: 6e10 ea60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +4192b2: 0c00 |0005: move-result-object v0 │ │ +4192b4: 6e10 e560 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.lock:()V // method@60e5 │ │ +4192ba: 1200 |0009: const/4 v0, #int 0 // #0 │ │ +4192bc: 5441 485d |000a: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ +4192c0: 1a02 297a |000c: const-string v2, "is_authenticated" // string@7a29 │ │ +4192c4: 1303 3000 |000e: const/16 v3, #int 48 // #30 │ │ +4192c8: 6e30 c604 2103 |0010: invoke-virtual {v1, v2, v3}, Landroid/os/Bundle;.getChar:(Ljava/lang/String;C)C // method@04c6 │ │ +4192ce: 0a01 |0013: move-result v1 │ │ +4192d0: 1302 3100 |0014: const/16 v2, #int 49 // #31 │ │ +4192d4: 3321 0300 |0016: if-ne v1, v2, 0019 // +0003 │ │ +4192d8: 1210 |0018: const/4 v0, #int 1 // #1 │ │ +4192da: 5441 495d |0019: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +4192de: 6e10 ea60 0100 |001b: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +4192e4: 0c01 |001e: move-result-object v1 │ │ +4192e6: 6e10 e660 0100 |001f: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +4192ec: 0f00 |0022: return v0 │ │ +4192ee: 0d00 |0023: move-exception v0 │ │ +4192f0: 5441 495d |0024: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +4192f4: 6e10 ea60 0100 |0026: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +4192fa: 0c01 |0029: move-result-object v1 │ │ +4192fc: 6e10 e660 0100 |002a: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +419302: 2700 |002d: throw v0 │ │ +419304: 5441 495d |002e: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +419308: 6e10 ea60 0100 |0030: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +41930e: 0c01 |0033: move-result-object v1 │ │ +419310: 6e10 e660 0100 |0034: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +419316: 0f00 |0037: return v0 │ │ catches : 1 │ │ 0x000a - 0x0014 │ │ Ljava/lang/Exception; -> 0x002e │ │ -> 0x0023 │ │ positions : │ │ 0x0000 line=277 │ │ 0x000a line=281 │ │ @@ -730196,44 +730195,44 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 56 16-bit code units │ │ -41932c: |[41932c] org.purple.smoke.State.isLocked:()Z │ │ -41933c: 5440 495d |0000: iget-object v0, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -419340: 6e10 ea60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -419346: 0c00 |0005: move-result-object v0 │ │ -419348: 6e10 e560 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.lock:()V // method@60e5 │ │ -41934e: 1200 |0009: const/4 v0, #int 0 // #0 │ │ -419350: 5441 485d |000a: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ -419354: 1a02 2c7a |000c: const-string v2, "is_locked" // string@7a2c │ │ -419358: 1303 3000 |000e: const/16 v3, #int 48 // #30 │ │ -41935c: 6e30 c604 2103 |0010: invoke-virtual {v1, v2, v3}, Landroid/os/Bundle;.getChar:(Ljava/lang/String;C)C // method@04c6 │ │ -419362: 0a01 |0013: move-result v1 │ │ -419364: 1302 3100 |0014: const/16 v2, #int 49 // #31 │ │ -419368: 3321 0300 |0016: if-ne v1, v2, 0019 // +0003 │ │ -41936c: 1210 |0018: const/4 v0, #int 1 // #1 │ │ -41936e: 5441 495d |0019: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -419372: 6e10 ea60 0100 |001b: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -419378: 0c01 |001e: move-result-object v1 │ │ -41937a: 6e10 e660 0100 |001f: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -419380: 0f00 |0022: return v0 │ │ -419382: 0d00 |0023: move-exception v0 │ │ -419384: 5441 495d |0024: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -419388: 6e10 ea60 0100 |0026: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -41938e: 0c01 |0029: move-result-object v1 │ │ -419390: 6e10 e660 0100 |002a: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -419396: 2700 |002d: throw v0 │ │ -419398: 5441 495d |002e: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41939c: 6e10 ea60 0100 |0030: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -4193a2: 0c01 |0033: move-result-object v1 │ │ -4193a4: 6e10 e660 0100 |0034: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -4193aa: 0f00 |0037: return v0 │ │ +419328: |[419328] org.purple.smoke.State.isLocked:()Z │ │ +419338: 5440 495d |0000: iget-object v0, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41933c: 6e10 ea60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +419342: 0c00 |0005: move-result-object v0 │ │ +419344: 6e10 e560 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.lock:()V // method@60e5 │ │ +41934a: 1200 |0009: const/4 v0, #int 0 // #0 │ │ +41934c: 5441 485d |000a: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ +419350: 1a02 2c7a |000c: const-string v2, "is_locked" // string@7a2c │ │ +419354: 1303 3000 |000e: const/16 v3, #int 48 // #30 │ │ +419358: 6e30 c604 2103 |0010: invoke-virtual {v1, v2, v3}, Landroid/os/Bundle;.getChar:(Ljava/lang/String;C)C // method@04c6 │ │ +41935e: 0a01 |0013: move-result v1 │ │ +419360: 1302 3100 |0014: const/16 v2, #int 49 // #31 │ │ +419364: 3321 0300 |0016: if-ne v1, v2, 0019 // +0003 │ │ +419368: 1210 |0018: const/4 v0, #int 1 // #1 │ │ +41936a: 5441 495d |0019: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41936e: 6e10 ea60 0100 |001b: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +419374: 0c01 |001e: move-result-object v1 │ │ +419376: 6e10 e660 0100 |001f: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +41937c: 0f00 |0022: return v0 │ │ +41937e: 0d00 |0023: move-exception v0 │ │ +419380: 5441 495d |0024: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +419384: 6e10 ea60 0100 |0026: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +41938a: 0c01 |0029: move-result-object v1 │ │ +41938c: 6e10 e660 0100 |002a: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +419392: 2700 |002d: throw v0 │ │ +419394: 5441 495d |002e: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +419398: 6e10 ea60 0100 |0030: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +41939e: 0c01 |0033: move-result-object v1 │ │ +4193a0: 6e10 e660 0100 |0034: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +4193a6: 0f00 |0037: return v0 │ │ catches : 1 │ │ 0x000a - 0x0014 │ │ Ljava/lang/Exception; -> 0x002e │ │ -> 0x0023 │ │ positions : │ │ 0x0000 line=296 │ │ 0x000a line=300 │ │ @@ -730248,42 +730247,42 @@ │ │ type : '(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZJJ)V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 10 │ │ ins : 9 │ │ outs : 2 │ │ insns size : 48 16-bit code units │ │ -419d64: |[419d64] org.purple.smoke.State.logChatMessage:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZJJ)V │ │ -419d74: 1d01 |0000: monitor-enter v1 │ │ -419d76: 3802 2d00 |0001: if-eqz v2, 002e // +002d │ │ -419d7a: 3803 2b00 |0003: if-eqz v3, 002e // +002b │ │ -419d7e: 3904 0300 |0005: if-nez v4, 0008 // +0003 │ │ -419d82: 2827 |0007: goto 002e // +0027 │ │ -419d84: 5410 4a5d |0008: iget-object v0, v1, Lorg/purple/smoke/State;.m_chatMessages:Ljava/util/ArrayList; // field@5d4a │ │ -419d88: 3900 0900 |000a: if-nez v0, 0013 // +0009 │ │ -419d8c: 2200 ab0b |000c: new-instance v0, Ljava/util/ArrayList; // type@0bab │ │ -419d90: 7010 975f 0000 |000e: invoke-direct {v0}, Ljava/util/ArrayList;.:()V // method@5f97 │ │ -419d96: 5b10 4a5d |0011: iput-object v0, v1, Lorg/purple/smoke/State;.m_chatMessages:Ljava/util/ArrayList; // field@5d4a │ │ -419d9a: 2200 1c1a |0013: new-instance v0, Lorg/purple/smoke/MessageElement; // type@1a1c │ │ -419d9e: 7010 a4b7 0000 |0015: invoke-direct {v0}, Lorg/purple/smoke/MessageElement;.:()V // method@b7a4 │ │ -419da4: 5b04 0a53 |0018: iput-object v4, v0, Lorg/purple/smoke/MessageElement;.m_id:Ljava/lang/String; // field@530a │ │ -419da8: 5b02 0c53 |001a: iput-object v2, v0, Lorg/purple/smoke/MessageElement;.m_message:Ljava/lang/String; // field@530c │ │ -419dac: 5b03 0f53 |001c: iput-object v3, v0, Lorg/purple/smoke/MessageElement;.m_name:Ljava/lang/String; // field@530f │ │ -419db0: 5c05 1153 |001e: iput-boolean v5, v0, Lorg/purple/smoke/MessageElement;.m_purple:Z // field@5311 │ │ -419db4: 5a06 1253 |0020: iput-wide v6, v0, Lorg/purple/smoke/MessageElement;.m_sequence:J // field@5312 │ │ -419db8: 5a08 1353 |0022: iput-wide v8, v0, Lorg/purple/smoke/MessageElement;.m_timestamp:J // field@5313 │ │ -419dbc: 5412 4a5d |0024: iget-object v2, v1, Lorg/purple/smoke/State;.m_chatMessages:Ljava/util/ArrayList; // field@5d4a │ │ -419dc0: 6e20 9b5f 0200 |0026: invoke-virtual {v2, v0}, Ljava/util/ArrayList;.add:(Ljava/lang/Object;)Z // method@5f9b │ │ -419dc6: 1e01 |0029: monitor-exit v1 │ │ -419dc8: 0e00 |002a: return-void │ │ -419dca: 0d02 |002b: move-exception v2 │ │ -419dcc: 1e01 |002c: monitor-exit v1 │ │ -419dce: 2702 |002d: throw v2 │ │ -419dd0: 1e01 |002e: monitor-exit v1 │ │ -419dd2: 0e00 |002f: return-void │ │ +419d60: |[419d60] org.purple.smoke.State.logChatMessage:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZJJ)V │ │ +419d70: 1d01 |0000: monitor-enter v1 │ │ +419d72: 3802 2d00 |0001: if-eqz v2, 002e // +002d │ │ +419d76: 3803 2b00 |0003: if-eqz v3, 002e // +002b │ │ +419d7a: 3904 0300 |0005: if-nez v4, 0008 // +0003 │ │ +419d7e: 2827 |0007: goto 002e // +0027 │ │ +419d80: 5410 4a5d |0008: iget-object v0, v1, Lorg/purple/smoke/State;.m_chatMessages:Ljava/util/ArrayList; // field@5d4a │ │ +419d84: 3900 0900 |000a: if-nez v0, 0013 // +0009 │ │ +419d88: 2200 ab0b |000c: new-instance v0, Ljava/util/ArrayList; // type@0bab │ │ +419d8c: 7010 975f 0000 |000e: invoke-direct {v0}, Ljava/util/ArrayList;.:()V // method@5f97 │ │ +419d92: 5b10 4a5d |0011: iput-object v0, v1, Lorg/purple/smoke/State;.m_chatMessages:Ljava/util/ArrayList; // field@5d4a │ │ +419d96: 2200 1c1a |0013: new-instance v0, Lorg/purple/smoke/MessageElement; // type@1a1c │ │ +419d9a: 7010 a4b7 0000 |0015: invoke-direct {v0}, Lorg/purple/smoke/MessageElement;.:()V // method@b7a4 │ │ +419da0: 5b04 0a53 |0018: iput-object v4, v0, Lorg/purple/smoke/MessageElement;.m_id:Ljava/lang/String; // field@530a │ │ +419da4: 5b02 0c53 |001a: iput-object v2, v0, Lorg/purple/smoke/MessageElement;.m_message:Ljava/lang/String; // field@530c │ │ +419da8: 5b03 0f53 |001c: iput-object v3, v0, Lorg/purple/smoke/MessageElement;.m_name:Ljava/lang/String; // field@530f │ │ +419dac: 5c05 1153 |001e: iput-boolean v5, v0, Lorg/purple/smoke/MessageElement;.m_purple:Z // field@5311 │ │ +419db0: 5a06 1253 |0020: iput-wide v6, v0, Lorg/purple/smoke/MessageElement;.m_sequence:J // field@5312 │ │ +419db4: 5a08 1353 |0022: iput-wide v8, v0, Lorg/purple/smoke/MessageElement;.m_timestamp:J // field@5313 │ │ +419db8: 5412 4a5d |0024: iget-object v2, v1, Lorg/purple/smoke/State;.m_chatMessages:Ljava/util/ArrayList; // field@5d4a │ │ +419dbc: 6e20 9b5f 0200 |0026: invoke-virtual {v2, v0}, Ljava/util/ArrayList;.add:(Ljava/lang/Object;)Z // method@5f9b │ │ +419dc2: 1e01 |0029: monitor-exit v1 │ │ +419dc4: 0e00 |002a: return-void │ │ +419dc6: 0d02 |002b: move-exception v2 │ │ +419dc8: 1e01 |002c: monitor-exit v1 │ │ +419dca: 2702 |002d: throw v2 │ │ +419dcc: 1e01 |002e: monitor-exit v1 │ │ +419dce: 0e00 |002f: return-void │ │ catches : 1 │ │ 0x0008 - 0x0029 │ │ -> 0x002b │ │ positions : │ │ 0x0008 line=443 │ │ 0x000c line=444 │ │ 0x0013 line=446 │ │ @@ -730310,46 +730309,46 @@ │ │ type : '(Landroid/view/View;)Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 59 16-bit code units │ │ -4196f8: |[4196f8] org.purple.smoke.State.nameOfFireFromView:(Landroid/view/View;)Ljava/lang/String; │ │ -419708: 5440 4c5d |0000: iget-object v0, v4, Lorg/purple/smoke/State;.m_fireChannels:Ljava/util/Map; // field@5d4c │ │ -41970c: 1a01 0000 |0002: const-string v1, "" // string@0000 │ │ -419710: 3800 3600 |0004: if-eqz v0, 003a // +0036 │ │ -419714: 3905 0300 |0006: if-nez v5, 0009 // +0003 │ │ -419718: 2832 |0008: goto 003a // +0032 │ │ -41971a: 7210 5460 0000 |0009: invoke-interface {v0}, Ljava/util/Map;.entrySet:()Ljava/util/Set; // method@6054 │ │ -419720: 0c00 |000c: move-result-object v0 │ │ -419722: 7210 7160 0000 |000d: invoke-interface {v0}, Ljava/util/Set;.iterator:()Ljava/util/Iterator; // method@6071 │ │ -419728: 0c00 |0010: move-result-object v0 │ │ -41972a: 7210 1860 0000 |0011: invoke-interface {v0}, Ljava/util/Iterator;.hasNext:()Z // method@6018 │ │ -419730: 0a02 |0014: move-result v2 │ │ -419732: 3802 2500 |0015: if-eqz v2, 003a // +0025 │ │ -419736: 7210 1960 0000 |0017: invoke-interface {v0}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@6019 │ │ -41973c: 0c02 |001a: move-result-object v2 │ │ -41973e: 1f02 be0b |001b: check-cast v2, Ljava/util/Map$Entry; // type@0bbe │ │ -419742: 7210 5160 0200 |001d: invoke-interface {v2}, Ljava/util/Map$Entry;.getValue:()Ljava/lang/Object; // method@6051 │ │ -419748: 0c03 |0020: move-result-object v3 │ │ -41974a: 3803 f0ff |0021: if-eqz v3, 0011 // -0010 │ │ -41974e: 7210 5160 0200 |0023: invoke-interface {v2}, Ljava/util/Map$Entry;.getValue:()Ljava/lang/Object; // method@6051 │ │ -419754: 0c03 |0026: move-result-object v3 │ │ -419756: 1f03 f219 |0027: check-cast v3, Lorg/purple/smoke/FireChannel; // type@19f2 │ │ -41975a: 6e10 a9b6 0300 |0029: invoke-virtual {v3}, Lorg/purple/smoke/FireChannel;.view:()Landroid/view/View; // method@b6a9 │ │ -419760: 0c03 |002c: move-result-object v3 │ │ -419762: 3353 e4ff |002d: if-ne v3, v5, 0011 // -001c │ │ -419766: 7210 5160 0200 |002f: invoke-interface {v2}, Ljava/util/Map$Entry;.getValue:()Ljava/lang/Object; // method@6051 │ │ -41976c: 0c05 |0032: move-result-object v5 │ │ -41976e: 1f05 f219 |0033: check-cast v5, Lorg/purple/smoke/FireChannel; // type@19f2 │ │ -419772: 6e10 a2b6 0500 |0035: invoke-virtual {v5}, Lorg/purple/smoke/FireChannel;.name:()Ljava/lang/String; // method@b6a2 │ │ -419778: 0c05 |0038: move-result-object v5 │ │ -41977a: 1105 |0039: return-object v5 │ │ -41977c: 1101 |003a: return-object v1 │ │ +4196f4: |[4196f4] org.purple.smoke.State.nameOfFireFromView:(Landroid/view/View;)Ljava/lang/String; │ │ +419704: 5440 4c5d |0000: iget-object v0, v4, Lorg/purple/smoke/State;.m_fireChannels:Ljava/util/Map; // field@5d4c │ │ +419708: 1a01 0000 |0002: const-string v1, "" // string@0000 │ │ +41970c: 3800 3600 |0004: if-eqz v0, 003a // +0036 │ │ +419710: 3905 0300 |0006: if-nez v5, 0009 // +0003 │ │ +419714: 2832 |0008: goto 003a // +0032 │ │ +419716: 7210 5460 0000 |0009: invoke-interface {v0}, Ljava/util/Map;.entrySet:()Ljava/util/Set; // method@6054 │ │ +41971c: 0c00 |000c: move-result-object v0 │ │ +41971e: 7210 7160 0000 |000d: invoke-interface {v0}, Ljava/util/Set;.iterator:()Ljava/util/Iterator; // method@6071 │ │ +419724: 0c00 |0010: move-result-object v0 │ │ +419726: 7210 1860 0000 |0011: invoke-interface {v0}, Ljava/util/Iterator;.hasNext:()Z // method@6018 │ │ +41972c: 0a02 |0014: move-result v2 │ │ +41972e: 3802 2500 |0015: if-eqz v2, 003a // +0025 │ │ +419732: 7210 1960 0000 |0017: invoke-interface {v0}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@6019 │ │ +419738: 0c02 |001a: move-result-object v2 │ │ +41973a: 1f02 be0b |001b: check-cast v2, Ljava/util/Map$Entry; // type@0bbe │ │ +41973e: 7210 5160 0200 |001d: invoke-interface {v2}, Ljava/util/Map$Entry;.getValue:()Ljava/lang/Object; // method@6051 │ │ +419744: 0c03 |0020: move-result-object v3 │ │ +419746: 3803 f0ff |0021: if-eqz v3, 0011 // -0010 │ │ +41974a: 7210 5160 0200 |0023: invoke-interface {v2}, Ljava/util/Map$Entry;.getValue:()Ljava/lang/Object; // method@6051 │ │ +419750: 0c03 |0026: move-result-object v3 │ │ +419752: 1f03 f219 |0027: check-cast v3, Lorg/purple/smoke/FireChannel; // type@19f2 │ │ +419756: 6e10 a9b6 0300 |0029: invoke-virtual {v3}, Lorg/purple/smoke/FireChannel;.view:()Landroid/view/View; // method@b6a9 │ │ +41975c: 0c03 |002c: move-result-object v3 │ │ +41975e: 3353 e4ff |002d: if-ne v3, v5, 0011 // -001c │ │ +419762: 7210 5160 0200 |002f: invoke-interface {v2}, Ljava/util/Map$Entry;.getValue:()Ljava/lang/Object; // method@6051 │ │ +419768: 0c05 |0032: move-result-object v5 │ │ +41976a: 1f05 f219 |0033: check-cast v5, Lorg/purple/smoke/FireChannel; // type@19f2 │ │ +41976e: 6e10 a2b6 0500 |0035: invoke-virtual {v5}, Lorg/purple/smoke/FireChannel;.name:()Ljava/lang/String; // method@b6a2 │ │ +419774: 0c05 |0038: move-result-object v5 │ │ +419776: 1105 |0039: return-object v5 │ │ +419778: 1101 |003a: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=235 │ │ 0x0009 line=238 │ │ 0x001d line=239 │ │ 0x0023 line=240 │ │ 0x002f line=241 │ │ @@ -730362,44 +730361,44 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 56 16-bit code units │ │ -4193bc: |[4193bc] org.purple.smoke.State.neighborsEcho:()Z │ │ -4193cc: 5440 495d |0000: iget-object v0, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -4193d0: 6e10 ea60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -4193d6: 0c00 |0005: move-result-object v0 │ │ -4193d8: 6e10 e560 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.lock:()V // method@60e5 │ │ -4193de: 1200 |0009: const/4 v0, #int 0 // #0 │ │ -4193e0: 5441 485d |000a: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ -4193e4: 1a02 e289 |000c: const-string v2, "neighbors_echo" // string@89e2 │ │ -4193e8: 1303 3000 |000e: const/16 v3, #int 48 // #30 │ │ -4193ec: 6e30 c604 2103 |0010: invoke-virtual {v1, v2, v3}, Landroid/os/Bundle;.getChar:(Ljava/lang/String;C)C // method@04c6 │ │ -4193f2: 0a01 |0013: move-result v1 │ │ -4193f4: 1302 3100 |0014: const/16 v2, #int 49 // #31 │ │ -4193f8: 3321 0300 |0016: if-ne v1, v2, 0019 // +0003 │ │ -4193fc: 1210 |0018: const/4 v0, #int 1 // #1 │ │ -4193fe: 5441 495d |0019: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -419402: 6e10 ea60 0100 |001b: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -419408: 0c01 |001e: move-result-object v1 │ │ -41940a: 6e10 e660 0100 |001f: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -419410: 0f00 |0022: return v0 │ │ -419412: 0d00 |0023: move-exception v0 │ │ -419414: 5441 495d |0024: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -419418: 6e10 ea60 0100 |0026: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -41941e: 0c01 |0029: move-result-object v1 │ │ -419420: 6e10 e660 0100 |002a: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -419426: 2700 |002d: throw v0 │ │ -419428: 5441 495d |002e: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41942c: 6e10 ea60 0100 |0030: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -419432: 0c01 |0033: move-result-object v1 │ │ -419434: 6e10 e660 0100 |0034: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -41943a: 0f00 |0037: return v0 │ │ +4193b8: |[4193b8] org.purple.smoke.State.neighborsEcho:()Z │ │ +4193c8: 5440 495d |0000: iget-object v0, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +4193cc: 6e10 ea60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +4193d2: 0c00 |0005: move-result-object v0 │ │ +4193d4: 6e10 e560 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.lock:()V // method@60e5 │ │ +4193da: 1200 |0009: const/4 v0, #int 0 // #0 │ │ +4193dc: 5441 485d |000a: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ +4193e0: 1a02 e289 |000c: const-string v2, "neighbors_echo" // string@89e2 │ │ +4193e4: 1303 3000 |000e: const/16 v3, #int 48 // #30 │ │ +4193e8: 6e30 c604 2103 |0010: invoke-virtual {v1, v2, v3}, Landroid/os/Bundle;.getChar:(Ljava/lang/String;C)C // method@04c6 │ │ +4193ee: 0a01 |0013: move-result v1 │ │ +4193f0: 1302 3100 |0014: const/16 v2, #int 49 // #31 │ │ +4193f4: 3321 0300 |0016: if-ne v1, v2, 0019 // +0003 │ │ +4193f8: 1210 |0018: const/4 v0, #int 1 // #1 │ │ +4193fa: 5441 495d |0019: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +4193fe: 6e10 ea60 0100 |001b: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +419404: 0c01 |001e: move-result-object v1 │ │ +419406: 6e10 e660 0100 |001f: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +41940c: 0f00 |0022: return v0 │ │ +41940e: 0d00 |0023: move-exception v0 │ │ +419410: 5441 495d |0024: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +419414: 6e10 ea60 0100 |0026: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +41941a: 0c01 |0029: move-result-object v1 │ │ +41941c: 6e10 e660 0100 |002a: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +419422: 2700 |002d: throw v0 │ │ +419424: 5441 495d |002e: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +419428: 6e10 ea60 0100 |0030: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +41942e: 0c01 |0033: move-result-object v1 │ │ +419430: 6e10 e660 0100 |0034: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +419436: 0f00 |0037: return v0 │ │ catches : 1 │ │ 0x000a - 0x0014 │ │ Ljava/lang/Exception; -> 0x002e │ │ -> 0x0023 │ │ positions : │ │ 0x0000 line=315 │ │ 0x000a line=319 │ │ @@ -730414,31 +730413,31 @@ │ │ type : '()Ljava/util/ArrayList;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 32 16-bit code units │ │ -4197dc: |[4197dc] org.purple.smoke.State.participants:()Ljava/util/ArrayList; │ │ -4197ec: 5420 4e5d |0000: iget-object v0, v2, Lorg/purple/smoke/State;.m_participantsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d4e │ │ -4197f0: 6e10 ea60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -4197f6: 0c00 |0005: move-result-object v0 │ │ -4197f8: 6e10 e560 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.lock:()V // method@60e5 │ │ -4197fe: 5420 4d5d |0009: iget-object v0, v2, Lorg/purple/smoke/State;.m_participants:Ljava/util/ArrayList; // field@5d4d │ │ -419802: 5421 4e5d |000b: iget-object v1, v2, Lorg/purple/smoke/State;.m_participantsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d4e │ │ -419806: 6e10 ea60 0100 |000d: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -41980c: 0c01 |0010: move-result-object v1 │ │ -41980e: 6e10 e660 0100 |0011: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -419814: 1100 |0014: return-object v0 │ │ -419816: 0d00 |0015: move-exception v0 │ │ -419818: 5421 4e5d |0016: iget-object v1, v2, Lorg/purple/smoke/State;.m_participantsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d4e │ │ -41981c: 6e10 ea60 0100 |0018: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -419822: 0c01 |001b: move-result-object v1 │ │ -419824: 6e10 e660 0100 |001c: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -41982a: 2700 |001f: throw v0 │ │ +4197d8: |[4197d8] org.purple.smoke.State.participants:()Ljava/util/ArrayList; │ │ +4197e8: 5420 4e5d |0000: iget-object v0, v2, Lorg/purple/smoke/State;.m_participantsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d4e │ │ +4197ec: 6e10 ea60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +4197f2: 0c00 |0005: move-result-object v0 │ │ +4197f4: 6e10 e560 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.lock:()V // method@60e5 │ │ +4197fa: 5420 4d5d |0009: iget-object v0, v2, Lorg/purple/smoke/State;.m_participants:Ljava/util/ArrayList; // field@5d4d │ │ +4197fe: 5421 4e5d |000b: iget-object v1, v2, Lorg/purple/smoke/State;.m_participantsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d4e │ │ +419802: 6e10 ea60 0100 |000d: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +419808: 0c01 |0010: move-result-object v1 │ │ +41980a: 6e10 e660 0100 |0011: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +419810: 1100 |0014: return-object v0 │ │ +419812: 0d00 |0015: move-exception v0 │ │ +419814: 5421 4e5d |0016: iget-object v1, v2, Lorg/purple/smoke/State;.m_participantsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d4e │ │ +419818: 6e10 ea60 0100 |0018: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +41981e: 0c01 |001b: move-result-object v1 │ │ +419820: 6e10 e660 0100 |001c: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +419826: 2700 |001f: throw v0 │ │ catches : 1 │ │ 0x0009 - 0x000b │ │ -> 0x0015 │ │ positions : │ │ 0x0000 line=137 │ │ 0x0009 line=141 │ │ 0x000b line=145 │ │ @@ -730451,62 +730450,62 @@ │ │ type : '(Ljava/lang/String;)Ljava/util/ArrayList;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 98 16-bit code units │ │ -419838: |[419838] org.purple.smoke.State.participantsNames:(Ljava/lang/String;)Ljava/util/ArrayList; │ │ -419848: 2200 ab0b |0000: new-instance v0, Ljava/util/ArrayList; // type@0bab │ │ -41984c: 7010 975f 0000 |0002: invoke-direct {v0}, Ljava/util/ArrayList;.:()V // method@5f97 │ │ -419852: 5451 4e5d |0005: iget-object v1, v5, Lorg/purple/smoke/State;.m_participantsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d4e │ │ -419856: 6e10 ea60 0100 |0007: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -41985c: 0c01 |000a: move-result-object v1 │ │ -41985e: 6e10 e560 0100 |000b: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.lock:()V // method@60e5 │ │ -419864: 5451 4d5d |000e: iget-object v1, v5, Lorg/purple/smoke/State;.m_participants:Ljava/util/ArrayList; // field@5d4d │ │ -419868: 6e10 a55f 0100 |0010: invoke-virtual {v1}, Ljava/util/ArrayList;.iterator:()Ljava/util/Iterator; // method@5fa5 │ │ -41986e: 0c01 |0013: move-result-object v1 │ │ -419870: 7210 1860 0100 |0014: invoke-interface {v1}, Ljava/util/Iterator;.hasNext:()Z // method@6018 │ │ -419876: 0a02 |0017: move-result v2 │ │ -419878: 3802 3300 |0018: if-eqz v2, 004b // +0033 │ │ -41987c: 7210 1960 0100 |001a: invoke-interface {v1}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@6019 │ │ -419882: 0c02 |001d: move-result-object v2 │ │ -419884: 1f02 321a |001e: check-cast v2, Lorg/purple/smoke/ParticipantElement; // type@1a32 │ │ -419888: 3802 f4ff |0020: if-eqz v2, 0014 // -000c │ │ -41988c: 5423 9653 |0022: iget-object v3, v2, Lorg/purple/smoke/ParticipantElement;.m_sipHashId:Ljava/lang/String; // field@5396 │ │ -419890: 6e20 b85c 6300 |0024: invoke-virtual {v3, v6}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -419896: 0a03 |0027: move-result v3 │ │ -419898: 3903 ecff |0028: if-nez v3, 0014 // -0014 │ │ -41989c: 2203 f10a |002a: new-instance v3, Ljava/lang/StringBuilder; // type@0af1 │ │ -4198a0: 7010 ee5c 0300 |002c: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -4198a6: 5424 9453 |002f: iget-object v4, v2, Lorg/purple/smoke/ParticipantElement;.m_name:Ljava/lang/String; // field@5394 │ │ -4198aa: 6e20 f95c 4300 |0031: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4198b0: 1a04 9800 |0034: const-string v4, " (" // string@0098 │ │ -4198b4: 6e20 f95c 4300 |0036: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4198ba: 5422 9653 |0039: iget-object v2, v2, Lorg/purple/smoke/ParticipantElement;.m_sipHashId:Ljava/lang/String; // field@5396 │ │ -4198be: 6e20 f95c 2300 |003b: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4198c4: 1a02 e403 |003e: const-string v2, ")" // string@03e4 │ │ -4198c8: 6e20 f95c 2300 |0040: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4198ce: 6e10 035d 0300 |0043: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -4198d4: 0c02 |0046: move-result-object v2 │ │ -4198d6: 6e20 9b5f 2000 |0047: invoke-virtual {v0, v2}, Ljava/util/ArrayList;.add:(Ljava/lang/Object;)Z // method@5f9b │ │ -4198dc: 28ca |004a: goto 0014 // -0036 │ │ -4198de: 5456 4e5d |004b: iget-object v6, v5, Lorg/purple/smoke/State;.m_participantsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d4e │ │ -4198e2: 6e10 ea60 0600 |004d: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -4198e8: 0c06 |0050: move-result-object v6 │ │ -4198ea: 6e10 e660 0600 |0051: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -4198f0: 1100 |0054: return-object v0 │ │ -4198f2: 0d06 |0055: move-exception v6 │ │ -4198f4: 5450 4e5d |0056: iget-object v0, v5, Lorg/purple/smoke/State;.m_participantsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d4e │ │ -4198f8: 6e10 ea60 0000 |0058: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -4198fe: 0c00 |005b: move-result-object v0 │ │ -419900: 6e10 e660 0000 |005c: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -419906: 2802 |005f: goto 0061 // +0002 │ │ -419908: 2706 |0060: throw v6 │ │ -41990a: 28ff |0061: goto 0060 // -0001 │ │ +419834: |[419834] org.purple.smoke.State.participantsNames:(Ljava/lang/String;)Ljava/util/ArrayList; │ │ +419844: 2200 ab0b |0000: new-instance v0, Ljava/util/ArrayList; // type@0bab │ │ +419848: 7010 975f 0000 |0002: invoke-direct {v0}, Ljava/util/ArrayList;.:()V // method@5f97 │ │ +41984e: 5451 4e5d |0005: iget-object v1, v5, Lorg/purple/smoke/State;.m_participantsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d4e │ │ +419852: 6e10 ea60 0100 |0007: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +419858: 0c01 |000a: move-result-object v1 │ │ +41985a: 6e10 e560 0100 |000b: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.lock:()V // method@60e5 │ │ +419860: 5451 4d5d |000e: iget-object v1, v5, Lorg/purple/smoke/State;.m_participants:Ljava/util/ArrayList; // field@5d4d │ │ +419864: 6e10 a55f 0100 |0010: invoke-virtual {v1}, Ljava/util/ArrayList;.iterator:()Ljava/util/Iterator; // method@5fa5 │ │ +41986a: 0c01 |0013: move-result-object v1 │ │ +41986c: 7210 1860 0100 |0014: invoke-interface {v1}, Ljava/util/Iterator;.hasNext:()Z // method@6018 │ │ +419872: 0a02 |0017: move-result v2 │ │ +419874: 3802 3300 |0018: if-eqz v2, 004b // +0033 │ │ +419878: 7210 1960 0100 |001a: invoke-interface {v1}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@6019 │ │ +41987e: 0c02 |001d: move-result-object v2 │ │ +419880: 1f02 321a |001e: check-cast v2, Lorg/purple/smoke/ParticipantElement; // type@1a32 │ │ +419884: 3802 f4ff |0020: if-eqz v2, 0014 // -000c │ │ +419888: 5423 9653 |0022: iget-object v3, v2, Lorg/purple/smoke/ParticipantElement;.m_sipHashId:Ljava/lang/String; // field@5396 │ │ +41988c: 6e20 b85c 6300 |0024: invoke-virtual {v3, v6}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +419892: 0a03 |0027: move-result v3 │ │ +419894: 3903 ecff |0028: if-nez v3, 0014 // -0014 │ │ +419898: 2203 f10a |002a: new-instance v3, Ljava/lang/StringBuilder; // type@0af1 │ │ +41989c: 7010 ee5c 0300 |002c: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +4198a2: 5424 9453 |002f: iget-object v4, v2, Lorg/purple/smoke/ParticipantElement;.m_name:Ljava/lang/String; // field@5394 │ │ +4198a6: 6e20 f95c 4300 |0031: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4198ac: 1a04 9800 |0034: const-string v4, " (" // string@0098 │ │ +4198b0: 6e20 f95c 4300 |0036: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4198b6: 5422 9653 |0039: iget-object v2, v2, Lorg/purple/smoke/ParticipantElement;.m_sipHashId:Ljava/lang/String; // field@5396 │ │ +4198ba: 6e20 f95c 2300 |003b: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4198c0: 1a02 e403 |003e: const-string v2, ")" // string@03e4 │ │ +4198c4: 6e20 f95c 2300 |0040: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4198ca: 6e10 035d 0300 |0043: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +4198d0: 0c02 |0046: move-result-object v2 │ │ +4198d2: 6e20 9b5f 2000 |0047: invoke-virtual {v0, v2}, Ljava/util/ArrayList;.add:(Ljava/lang/Object;)Z // method@5f9b │ │ +4198d8: 28ca |004a: goto 0014 // -0036 │ │ +4198da: 5456 4e5d |004b: iget-object v6, v5, Lorg/purple/smoke/State;.m_participantsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d4e │ │ +4198de: 6e10 ea60 0600 |004d: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +4198e4: 0c06 |0050: move-result-object v6 │ │ +4198e6: 6e10 e660 0600 |0051: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +4198ec: 1100 |0054: return-object v0 │ │ +4198ee: 0d06 |0055: move-exception v6 │ │ +4198f0: 5450 4e5d |0056: iget-object v0, v5, Lorg/purple/smoke/State;.m_participantsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d4e │ │ +4198f4: 6e10 ea60 0000 |0058: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +4198fa: 0c00 |005b: move-result-object v0 │ │ +4198fc: 6e10 e660 0000 |005c: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +419902: 2802 |005f: goto 0061 // +0002 │ │ +419904: 2706 |0060: throw v6 │ │ +419906: 28ff |0061: goto 0060 // -0001 │ │ catches : 1 │ │ 0x000e - 0x004a │ │ -> 0x0055 │ │ positions : │ │ 0x0000 line=151 │ │ 0x0005 line=153 │ │ 0x000e line=157 │ │ @@ -730525,19 +730524,19 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -41944c: |[41944c] org.purple.smoke.State.queryTimerServer:()Z │ │ -41945c: 5410 505d |0000: iget-object v0, v1, Lorg/purple/smoke/State;.m_queryTimerServer:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5d50 │ │ -419460: 6e10 d660 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ -419466: 0a00 |0005: move-result v0 │ │ -419468: 0f00 |0006: return v0 │ │ +419448: |[419448] org.purple.smoke.State.queryTimerServer:()Z │ │ +419458: 5410 505d |0000: iget-object v0, v1, Lorg/purple/smoke/State;.m_queryTimerServer:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5d50 │ │ +41945c: 6e10 d660 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ +419462: 0a00 |0005: move-result v0 │ │ +419464: 0f00 |0006: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=334 │ │ locals : │ │ 0x0000 - 0x0007 reg=1 this Lorg/purple/smoke/State; │ │ │ │ #25 : (in Lorg/purple/smoke/State;) │ │ @@ -730545,40 +730544,40 @@ │ │ type : '(I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 53 16-bit code units │ │ -419e28: |[419e28] org.purple.smoke.State.removeChatCheckBoxOid:(I)V │ │ -419e38: 5430 495d |0000: iget-object v0, v3, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -419e3c: 6e10 eb60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -419e42: 0c00 |0005: move-result-object v0 │ │ -419e44: 6e10 e760 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ -419e4a: 5430 485d |0009: iget-object v0, v3, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ -419e4e: 2201 f10a |000b: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ -419e52: 7010 ee5c 0100 |000d: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -419e58: 1a02 3d5d |0010: const-string v2, "chat_checkbox_" // string@5d3d │ │ -419e5c: 6e20 f95c 2100 |0012: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -419e62: 6e20 f45c 4100 |0015: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@5cf4 │ │ -419e68: 6e10 035d 0100 |0018: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -419e6e: 0c04 |001b: move-result-object v4 │ │ -419e70: 6e20 ea04 4000 |001c: invoke-virtual {v0, v4}, Landroid/os/Bundle;.remove:(Ljava/lang/String;)V // method@04ea │ │ -419e76: 280c |001f: goto 002b // +000c │ │ -419e78: 0d04 |0020: move-exception v4 │ │ -419e7a: 5430 495d |0021: iget-object v0, v3, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -419e7e: 6e10 eb60 0000 |0023: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -419e84: 0c00 |0026: move-result-object v0 │ │ -419e86: 6e10 e860 0000 |0027: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -419e8c: 2704 |002a: throw v4 │ │ -419e8e: 5434 495d |002b: iget-object v4, v3, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -419e92: 6e10 eb60 0400 |002d: invoke-virtual {v4}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -419e98: 0c04 |0030: move-result-object v4 │ │ -419e9a: 6e10 e860 0400 |0031: invoke-virtual {v4}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -419ea0: 0e00 |0034: return-void │ │ +419e24: |[419e24] org.purple.smoke.State.removeChatCheckBoxOid:(I)V │ │ +419e34: 5430 495d |0000: iget-object v0, v3, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +419e38: 6e10 eb60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +419e3e: 0c00 |0005: move-result-object v0 │ │ +419e40: 6e10 e760 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ +419e46: 5430 485d |0009: iget-object v0, v3, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ +419e4a: 2201 f10a |000b: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ +419e4e: 7010 ee5c 0100 |000d: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +419e54: 1a02 3d5d |0010: const-string v2, "chat_checkbox_" // string@5d3d │ │ +419e58: 6e20 f95c 2100 |0012: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +419e5e: 6e20 f45c 4100 |0015: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@5cf4 │ │ +419e64: 6e10 035d 0100 |0018: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +419e6a: 0c04 |001b: move-result-object v4 │ │ +419e6c: 6e20 ea04 4000 |001c: invoke-virtual {v0, v4}, Landroid/os/Bundle;.remove:(Ljava/lang/String;)V // method@04ea │ │ +419e72: 280c |001f: goto 002b // +000c │ │ +419e74: 0d04 |0020: move-exception v4 │ │ +419e76: 5430 495d |0021: iget-object v0, v3, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +419e7a: 6e10 eb60 0000 |0023: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +419e80: 0c00 |0026: move-result-object v0 │ │ +419e82: 6e10 e860 0000 |0027: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +419e88: 2704 |002a: throw v4 │ │ +419e8a: 5434 495d |002b: iget-object v4, v3, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +419e8e: 6e10 eb60 0400 |002d: invoke-virtual {v4}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +419e94: 0c04 |0030: move-result-object v4 │ │ +419e96: 6e10 e860 0400 |0031: invoke-virtual {v4}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +419e9c: 0e00 |0034: return-void │ │ catches : 1 │ │ 0x0009 - 0x001f │ │ Ljava/lang/Exception; -> 0x002b │ │ -> 0x0020 │ │ positions : │ │ 0x0000 line=524 │ │ 0x0009 line=528 │ │ @@ -730594,20 +730593,20 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 9 16-bit code units │ │ -419eb4: |[419eb4] org.purple.smoke.State.removeFireChannel:(Ljava/lang/String;)V │ │ -419ec4: 5410 4c5d |0000: iget-object v0, v1, Lorg/purple/smoke/State;.m_fireChannels:Ljava/util/Map; // field@5d4c │ │ -419ec8: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ -419ecc: 0e00 |0004: return-void │ │ -419ece: 7220 5c60 2000 |0005: invoke-interface {v0, v2}, Ljava/util/Map;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@605c │ │ -419ed4: 0e00 |0008: return-void │ │ +419eb0: |[419eb0] org.purple.smoke.State.removeFireChannel:(Ljava/lang/String;)V │ │ +419ec0: 5410 4c5d |0000: iget-object v0, v1, Lorg/purple/smoke/State;.m_fireChannels:Ljava/util/Map; // field@5d4c │ │ +419ec4: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ +419ec8: 0e00 |0004: return-void │ │ +419eca: 7220 5c60 2000 |0005: invoke-interface {v0, v2}, Ljava/util/Map;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@605c │ │ +419ed0: 0e00 |0008: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=541 │ │ 0x0005 line=544 │ │ locals : │ │ 0x0000 - 0x0009 reg=1 this Lorg/purple/smoke/State; │ │ 0x0000 - 0x0009 reg=2 (null) Ljava/lang/String; │ │ @@ -730617,33 +730616,33 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 36 16-bit code units │ │ -419ed8: |[419ed8] org.purple.smoke.State.removeKey:(Ljava/lang/String;)V │ │ -419ee8: 5410 495d |0000: iget-object v0, v1, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -419eec: 6e10 eb60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -419ef2: 0c00 |0005: move-result-object v0 │ │ -419ef4: 6e10 e760 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ -419efa: 5410 485d |0009: iget-object v0, v1, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ -419efe: 6e20 ea04 2000 |000b: invoke-virtual {v0, v2}, Landroid/os/Bundle;.remove:(Ljava/lang/String;)V // method@04ea │ │ -419f04: 280c |000e: goto 001a // +000c │ │ -419f06: 0d02 |000f: move-exception v2 │ │ -419f08: 5410 495d |0010: iget-object v0, v1, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -419f0c: 6e10 eb60 0000 |0012: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -419f12: 0c00 |0015: move-result-object v0 │ │ -419f14: 6e10 e860 0000 |0016: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -419f1a: 2702 |0019: throw v2 │ │ -419f1c: 5412 495d |001a: iget-object v2, v1, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -419f20: 6e10 eb60 0200 |001c: invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -419f26: 0c02 |001f: move-result-object v2 │ │ -419f28: 6e10 e860 0200 |0020: invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -419f2e: 0e00 |0023: return-void │ │ +419ed4: |[419ed4] org.purple.smoke.State.removeKey:(Ljava/lang/String;)V │ │ +419ee4: 5410 495d |0000: iget-object v0, v1, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +419ee8: 6e10 eb60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +419eee: 0c00 |0005: move-result-object v0 │ │ +419ef0: 6e10 e760 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ +419ef6: 5410 485d |0009: iget-object v0, v1, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ +419efa: 6e20 ea04 2000 |000b: invoke-virtual {v0, v2}, Landroid/os/Bundle;.remove:(Ljava/lang/String;)V // method@04ea │ │ +419f00: 280c |000e: goto 001a // +000c │ │ +419f02: 0d02 |000f: move-exception v2 │ │ +419f04: 5410 495d |0010: iget-object v0, v1, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +419f08: 6e10 eb60 0000 |0012: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +419f0e: 0c00 |0015: move-result-object v0 │ │ +419f10: 6e10 e860 0000 |0016: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +419f16: 2702 |0019: throw v2 │ │ +419f18: 5412 495d |001a: iget-object v2, v1, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +419f1c: 6e10 eb60 0200 |001c: invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +419f22: 0c02 |001f: move-result-object v2 │ │ +419f24: 6e10 e860 0200 |0020: invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +419f2a: 0e00 |0023: return-void │ │ catches : 1 │ │ 0x0009 - 0x000e │ │ Ljava/lang/Exception; -> 0x001a │ │ -> 0x000f │ │ positions : │ │ 0x0000 line=549 │ │ 0x0009 line=553 │ │ @@ -730659,25 +730658,25 @@ │ │ type : '(I)V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -419f40: |[419f40] org.purple.smoke.State.removeSteamDetailsState:(I)V │ │ -419f50: 1d01 |0000: monitor-enter v1 │ │ -419f52: 5410 535d |0001: iget-object v0, v1, Lorg/purple/smoke/State;.m_steamDetailsStates:Ljava/util/Map; // field@5d53 │ │ -419f56: 7110 605c 0200 |0003: invoke-static {v2}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@5c60 │ │ -419f5c: 0c02 |0006: move-result-object v2 │ │ -419f5e: 7220 5c60 2000 |0007: invoke-interface {v0, v2}, Ljava/util/Map;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@605c │ │ -419f64: 1e01 |000a: monitor-exit v1 │ │ -419f66: 0e00 |000b: return-void │ │ -419f68: 0d02 |000c: move-exception v2 │ │ -419f6a: 1e01 |000d: monitor-exit v1 │ │ -419f6c: 2702 |000e: throw v2 │ │ +419f3c: |[419f3c] org.purple.smoke.State.removeSteamDetailsState:(I)V │ │ +419f4c: 1d01 |0000: monitor-enter v1 │ │ +419f4e: 5410 535d |0001: iget-object v0, v1, Lorg/purple/smoke/State;.m_steamDetailsStates:Ljava/util/Map; // field@5d53 │ │ +419f52: 7110 605c 0200 |0003: invoke-static {v2}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@5c60 │ │ +419f58: 0c02 |0006: move-result-object v2 │ │ +419f5a: 7220 5c60 2000 |0007: invoke-interface {v0, v2}, Ljava/util/Map;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@605c │ │ +419f60: 1e01 |000a: monitor-exit v1 │ │ +419f62: 0e00 |000b: return-void │ │ +419f64: 0d02 |000c: move-exception v2 │ │ +419f66: 1e01 |000d: monitor-exit v1 │ │ +419f68: 2702 |000e: throw v2 │ │ catches : 1 │ │ 0x0001 - 0x000a │ │ -> 0x000c │ │ positions : │ │ 0x0001 line=459 │ │ 0x000a line=460 │ │ locals : │ │ @@ -730689,55 +730688,55 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 87 16-bit code units │ │ -419f7c: |[419f7c] org.purple.smoke.State.reset:()V │ │ -419f8c: 6e10 5cb9 0200 |0000: invoke-virtual {v2}, Lorg/purple/smoke/State;.clearChatLog:()V // method@b95c │ │ -419f92: 6e10 5eb9 0200 |0003: invoke-virtual {v2}, Lorg/purple/smoke/State;.clearSelectedSwitches:()V // method@b95e │ │ -419f98: 6e10 5fb9 0200 |0006: invoke-virtual {v2}, Lorg/purple/smoke/State;.clearSteamDetailsStates:()V // method@b95f │ │ -419f9e: 5420 495d |0009: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -419fa2: 6e10 eb60 0000 |000b: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -419fa8: 0c00 |000e: move-result-object v0 │ │ -419faa: 6e10 e760 0000 |000f: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ -419fb0: 5420 485d |0012: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ -419fb4: 6e10 bf04 0000 |0014: invoke-virtual {v0}, Landroid/os/Bundle;.clear:()V // method@04bf │ │ -419fba: 5420 495d |0017: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -419fbe: 6e10 eb60 0000 |0019: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -419fc4: 0c00 |001c: move-result-object v0 │ │ -419fc6: 6e10 e860 0000 |001d: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -419fcc: 5420 4c5d |0020: iget-object v0, v2, Lorg/purple/smoke/State;.m_fireChannels:Ljava/util/Map; // field@5d4c │ │ -419fd0: 3800 0500 |0022: if-eqz v0, 0027 // +0005 │ │ -419fd4: 7210 5260 0000 |0024: invoke-interface {v0}, Ljava/util/Map;.clear:()V // method@6052 │ │ -419fda: 5420 4e5d |0027: iget-object v0, v2, Lorg/purple/smoke/State;.m_participantsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d4e │ │ -419fde: 6e10 eb60 0000 |0029: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -419fe4: 0c00 |002c: move-result-object v0 │ │ -419fe6: 6e10 e760 0000 |002d: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ -419fec: 5420 4d5d |0030: iget-object v0, v2, Lorg/purple/smoke/State;.m_participants:Ljava/util/ArrayList; // field@5d4d │ │ -419ff0: 3800 0500 |0032: if-eqz v0, 0037 // +0005 │ │ -419ff4: 6e10 9d5f 0000 |0034: invoke-virtual {v0}, Ljava/util/ArrayList;.clear:()V // method@5f9d │ │ -419ffa: 5420 4e5d |0037: iget-object v0, v2, Lorg/purple/smoke/State;.m_participantsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d4e │ │ -419ffe: 6e10 eb60 0000 |0039: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a004: 0c00 |003c: move-result-object v0 │ │ -41a006: 6e10 e860 0000 |003d: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -41a00c: 0e00 |0040: return-void │ │ -41a00e: 0d00 |0041: move-exception v0 │ │ -41a010: 5421 4e5d |0042: iget-object v1, v2, Lorg/purple/smoke/State;.m_participantsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d4e │ │ -41a014: 6e10 eb60 0100 |0044: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a01a: 0c01 |0047: move-result-object v1 │ │ -41a01c: 6e10 e860 0100 |0048: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -41a022: 2700 |004b: throw v0 │ │ -41a024: 0d00 |004c: move-exception v0 │ │ -41a026: 5421 495d |004d: iget-object v1, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a02a: 6e10 eb60 0100 |004f: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a030: 0c01 |0052: move-result-object v1 │ │ -41a032: 6e10 e860 0100 |0053: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -41a038: 2700 |0056: throw v0 │ │ +419f78: |[419f78] org.purple.smoke.State.reset:()V │ │ +419f88: 6e10 5cb9 0200 |0000: invoke-virtual {v2}, Lorg/purple/smoke/State;.clearChatLog:()V // method@b95c │ │ +419f8e: 6e10 5eb9 0200 |0003: invoke-virtual {v2}, Lorg/purple/smoke/State;.clearSelectedSwitches:()V // method@b95e │ │ +419f94: 6e10 5fb9 0200 |0006: invoke-virtual {v2}, Lorg/purple/smoke/State;.clearSteamDetailsStates:()V // method@b95f │ │ +419f9a: 5420 495d |0009: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +419f9e: 6e10 eb60 0000 |000b: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +419fa4: 0c00 |000e: move-result-object v0 │ │ +419fa6: 6e10 e760 0000 |000f: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ +419fac: 5420 485d |0012: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ +419fb0: 6e10 bf04 0000 |0014: invoke-virtual {v0}, Landroid/os/Bundle;.clear:()V // method@04bf │ │ +419fb6: 5420 495d |0017: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +419fba: 6e10 eb60 0000 |0019: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +419fc0: 0c00 |001c: move-result-object v0 │ │ +419fc2: 6e10 e860 0000 |001d: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +419fc8: 5420 4c5d |0020: iget-object v0, v2, Lorg/purple/smoke/State;.m_fireChannels:Ljava/util/Map; // field@5d4c │ │ +419fcc: 3800 0500 |0022: if-eqz v0, 0027 // +0005 │ │ +419fd0: 7210 5260 0000 |0024: invoke-interface {v0}, Ljava/util/Map;.clear:()V // method@6052 │ │ +419fd6: 5420 4e5d |0027: iget-object v0, v2, Lorg/purple/smoke/State;.m_participantsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d4e │ │ +419fda: 6e10 eb60 0000 |0029: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +419fe0: 0c00 |002c: move-result-object v0 │ │ +419fe2: 6e10 e760 0000 |002d: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ +419fe8: 5420 4d5d |0030: iget-object v0, v2, Lorg/purple/smoke/State;.m_participants:Ljava/util/ArrayList; // field@5d4d │ │ +419fec: 3800 0500 |0032: if-eqz v0, 0037 // +0005 │ │ +419ff0: 6e10 9d5f 0000 |0034: invoke-virtual {v0}, Ljava/util/ArrayList;.clear:()V // method@5f9d │ │ +419ff6: 5420 4e5d |0037: iget-object v0, v2, Lorg/purple/smoke/State;.m_participantsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d4e │ │ +419ffa: 6e10 eb60 0000 |0039: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a000: 0c00 |003c: move-result-object v0 │ │ +41a002: 6e10 e860 0000 |003d: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +41a008: 0e00 |0040: return-void │ │ +41a00a: 0d00 |0041: move-exception v0 │ │ +41a00c: 5421 4e5d |0042: iget-object v1, v2, Lorg/purple/smoke/State;.m_participantsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d4e │ │ +41a010: 6e10 eb60 0100 |0044: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a016: 0c01 |0047: move-result-object v1 │ │ +41a018: 6e10 e860 0100 |0048: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +41a01e: 2700 |004b: throw v0 │ │ +41a020: 0d00 |004c: move-exception v0 │ │ +41a022: 5421 495d |004d: iget-object v1, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a026: 6e10 eb60 0100 |004f: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a02c: 0c01 |0052: move-result-object v1 │ │ +41a02e: 6e10 e860 0100 |0053: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +41a034: 2700 |0056: throw v0 │ │ catches : 2 │ │ 0x0012 - 0x0017 │ │ -> 0x004c │ │ 0x0030 - 0x0037 │ │ -> 0x0041 │ │ positions : │ │ 0x0000 line=566 │ │ @@ -730763,26 +730762,26 @@ │ │ type : '(Ljava/lang/String;Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 23 16-bit code units │ │ -41a054: |[41a054] org.purple.smoke.State.selectSwitch:(Ljava/lang/String;Z)V │ │ -41a064: 3903 0700 |0000: if-nez v3, 0007 // +0007 │ │ -41a068: 5410 515d |0002: iget-object v0, v1, Lorg/purple/smoke/State;.m_selectedSwitches:Ljava/util/Map; // field@5d51 │ │ -41a06c: 7220 5c60 2000 |0004: invoke-interface {v0, v2}, Ljava/util/Map;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@605c │ │ -41a072: 6e10 c35c 0200 |0007: invoke-virtual {v2}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -41a078: 0a00 |000a: move-result v0 │ │ -41a07a: 3900 0b00 |000b: if-nez v0, 0016 // +000b │ │ -41a07e: 5410 515d |000d: iget-object v0, v1, Lorg/purple/smoke/State;.m_selectedSwitches:Ljava/util/Map; // field@5d51 │ │ -41a082: 7110 ff5b 0300 |000f: invoke-static {v3}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@5bff │ │ -41a088: 0c03 |0012: move-result-object v3 │ │ -41a08a: 7230 5a60 2003 |0013: invoke-interface {v0, v2, v3}, Ljava/util/Map;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@605a │ │ -41a090: 0e00 |0016: return-void │ │ +41a050: |[41a050] org.purple.smoke.State.selectSwitch:(Ljava/lang/String;Z)V │ │ +41a060: 3903 0700 |0000: if-nez v3, 0007 // +0007 │ │ +41a064: 5410 515d |0002: iget-object v0, v1, Lorg/purple/smoke/State;.m_selectedSwitches:Ljava/util/Map; // field@5d51 │ │ +41a068: 7220 5c60 2000 |0004: invoke-interface {v0, v2}, Ljava/util/Map;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@605c │ │ +41a06e: 6e10 c35c 0200 |0007: invoke-virtual {v2}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +41a074: 0a00 |000a: move-result v0 │ │ +41a076: 3900 0b00 |000b: if-nez v0, 0016 // +000b │ │ +41a07a: 5410 515d |000d: iget-object v0, v1, Lorg/purple/smoke/State;.m_selectedSwitches:Ljava/util/Map; // field@5d51 │ │ +41a07e: 7110 ff5b 0300 |000f: invoke-static {v3}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@5bff │ │ +41a084: 0c03 |0012: move-result-object v3 │ │ +41a086: 7230 5a60 2003 |0013: invoke-interface {v0, v2, v3}, Ljava/util/Map;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@605a │ │ +41a08c: 0e00 |0016: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=599 │ │ 0x0007 line=601 │ │ 0x000d line=602 │ │ locals : │ │ 0x0000 - 0x0017 reg=1 this Lorg/purple/smoke/State; │ │ @@ -730794,19 +730793,19 @@ │ │ type : '()Ljava/util/Set;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -419930: |[419930] org.purple.smoke.State.selectedSwitches:()Ljava/util/Set; │ │ -419940: 5410 515d |0000: iget-object v0, v1, Lorg/purple/smoke/State;.m_selectedSwitches:Ljava/util/Map; // field@5d51 │ │ -419944: 7210 5960 0000 |0002: invoke-interface {v0}, Ljava/util/Map;.keySet:()Ljava/util/Set; // method@6059 │ │ -41994a: 0c00 |0005: move-result-object v0 │ │ -41994c: 1100 |0006: return-object v0 │ │ +41992c: |[41992c] org.purple.smoke.State.selectedSwitches:()Ljava/util/Set; │ │ +41993c: 5410 515d |0000: iget-object v0, v1, Lorg/purple/smoke/State;.m_selectedSwitches:Ljava/util/Map; // field@5d51 │ │ +419940: 7210 5960 0000 |0002: invoke-interface {v0}, Ljava/util/Map;.keySet:()Ljava/util/Set; // method@6059 │ │ +419946: 0c00 |0005: move-result-object v0 │ │ +419948: 1100 |0006: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=211 │ │ locals : │ │ 0x0000 - 0x0007 reg=1 this Lorg/purple/smoke/State; │ │ │ │ #32 : (in Lorg/purple/smoke/State;) │ │ @@ -730814,38 +730813,38 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 45 16-bit code units │ │ -41a094: |[41a094] org.purple.smoke.State.setAuthenticated:(Z)V │ │ -41a0a4: 5420 495d |0000: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a0a8: 6e10 eb60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a0ae: 0c00 |0005: move-result-object v0 │ │ -41a0b0: 6e10 e760 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ -41a0b6: 5420 485d |0009: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ -41a0ba: 1a01 297a |000b: const-string v1, "is_authenticated" // string@7a29 │ │ -41a0be: 3803 0500 |000d: if-eqz v3, 0012 // +0005 │ │ -41a0c2: 1303 3100 |000f: const/16 v3, #int 49 // #31 │ │ -41a0c6: 2803 |0011: goto 0014 // +0003 │ │ -41a0c8: 1303 3000 |0012: const/16 v3, #int 48 // #30 │ │ -41a0cc: 6e30 dd04 1003 |0014: invoke-virtual {v0, v1, v3}, Landroid/os/Bundle;.putChar:(Ljava/lang/String;C)V // method@04dd │ │ -41a0d2: 280c |0017: goto 0023 // +000c │ │ -41a0d4: 0d03 |0018: move-exception v3 │ │ -41a0d6: 5420 495d |0019: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a0da: 6e10 eb60 0000 |001b: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a0e0: 0c00 |001e: move-result-object v0 │ │ -41a0e2: 6e10 e860 0000 |001f: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -41a0e8: 2703 |0022: throw v3 │ │ -41a0ea: 5423 495d |0023: iget-object v3, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a0ee: 6e10 eb60 0300 |0025: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a0f4: 0c03 |0028: move-result-object v3 │ │ -41a0f6: 6e10 e860 0300 |0029: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -41a0fc: 0e00 |002c: return-void │ │ +41a090: |[41a090] org.purple.smoke.State.setAuthenticated:(Z)V │ │ +41a0a0: 5420 495d |0000: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a0a4: 6e10 eb60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a0aa: 0c00 |0005: move-result-object v0 │ │ +41a0ac: 6e10 e760 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ +41a0b2: 5420 485d |0009: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ +41a0b6: 1a01 297a |000b: const-string v1, "is_authenticated" // string@7a29 │ │ +41a0ba: 3803 0500 |000d: if-eqz v3, 0012 // +0005 │ │ +41a0be: 1303 3100 |000f: const/16 v3, #int 49 // #31 │ │ +41a0c2: 2803 |0011: goto 0014 // +0003 │ │ +41a0c4: 1303 3000 |0012: const/16 v3, #int 48 // #30 │ │ +41a0c8: 6e30 dd04 1003 |0014: invoke-virtual {v0, v1, v3}, Landroid/os/Bundle;.putChar:(Ljava/lang/String;C)V // method@04dd │ │ +41a0ce: 280c |0017: goto 0023 // +000c │ │ +41a0d0: 0d03 |0018: move-exception v3 │ │ +41a0d2: 5420 495d |0019: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a0d6: 6e10 eb60 0000 |001b: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a0dc: 0c00 |001e: move-result-object v0 │ │ +41a0de: 6e10 e860 0000 |001f: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +41a0e4: 2703 |0022: throw v3 │ │ +41a0e6: 5423 495d |0023: iget-object v3, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a0ea: 6e10 eb60 0300 |0025: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a0f0: 0c03 |0028: move-result-object v3 │ │ +41a0f2: 6e10 e860 0300 |0029: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +41a0f8: 0e00 |002c: return-void │ │ catches : 1 │ │ 0x0009 - 0x0017 │ │ Ljava/lang/Exception; -> 0x0023 │ │ -> 0x0018 │ │ positions : │ │ 0x0000 line=607 │ │ 0x0009 line=611 │ │ @@ -730861,124 +730860,124 @@ │ │ type : '(IZ)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 229 16-bit code units │ │ -41a110: |[41a110] org.purple.smoke.State.setChatCheckBoxSelected:(IZ)V │ │ -41a120: 1a00 3d5d |0000: const-string v0, "chat_checkbox_" // string@5d3d │ │ -41a124: 5441 495d |0002: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a128: 6e10 ea60 0100 |0004: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -41a12e: 0c01 |0007: move-result-object v1 │ │ -41a130: 6e10 e560 0100 |0008: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.lock:()V // method@60e5 │ │ -41a136: 5441 485d |000b: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ -41a13a: 2202 f10a |000d: new-instance v2, Ljava/lang/StringBuilder; // type@0af1 │ │ -41a13e: 7010 ee5c 0200 |000f: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41a144: 6e20 f95c 0200 |0012: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41a14a: 6e20 f45c 5200 |0015: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@5cf4 │ │ -41a150: 6e10 035d 0200 |0018: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41a156: 0c02 |001b: move-result-object v2 │ │ -41a158: 6e20 c004 2100 |001c: invoke-virtual {v1, v2}, Landroid/os/Bundle;.containsKey:(Ljava/lang/String;)Z // method@04c0 │ │ -41a15e: 0a01 |001f: move-result v1 │ │ -41a160: 5442 495d |0020: iget-object v2, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a164: 6e10 ea60 0200 |0022: invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -41a16a: 0c02 |0025: move-result-object v2 │ │ -41a16c: 6e10 e660 0200 |0026: invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -41a172: 2816 |0029: goto 003f // +0016 │ │ -41a174: 0d05 |002a: move-exception v5 │ │ -41a176: 5446 495d |002b: iget-object v6, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a17a: 6e10 ea60 0600 |002d: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -41a180: 0c06 |0030: move-result-object v6 │ │ -41a182: 6e10 e660 0600 |0031: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -41a188: 2705 |0034: throw v5 │ │ -41a18a: 5441 495d |0035: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a18e: 6e10 ea60 0100 |0037: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ -41a194: 0c01 |003a: move-result-object v1 │ │ -41a196: 6e10 e660 0100 |003b: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ -41a19c: 1201 |003e: const/4 v1, #int 0 // #0 │ │ -41a19e: 1a02 3e5d |003f: const-string v2, "chat_checkbox_counter" // string@5d3e │ │ -41a1a2: 3806 4400 |0041: if-eqz v6, 0085 // +0044 │ │ -41a1a6: 5446 495d |0043: iget-object v6, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a1aa: 6e10 eb60 0600 |0045: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a1b0: 0c06 |0048: move-result-object v6 │ │ -41a1b2: 6e10 e760 0600 |0049: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ -41a1b8: 5446 485d |004c: iget-object v6, v4, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ -41a1bc: 2203 f10a |004e: new-instance v3, Ljava/lang/StringBuilder; // type@0af1 │ │ -41a1c0: 7010 ee5c 0300 |0050: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41a1c6: 6e20 f95c 0300 |0053: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41a1cc: 6e20 f45c 5300 |0056: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@5cf4 │ │ -41a1d2: 6e10 035d 0300 |0059: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41a1d8: 0c05 |005c: move-result-object v5 │ │ -41a1da: 1300 3100 |005d: const/16 v0, #int 49 // #31 │ │ -41a1de: 6e30 dd04 5600 |005f: invoke-virtual {v6, v5, v0}, Landroid/os/Bundle;.putChar:(Ljava/lang/String;C)V // method@04dd │ │ -41a1e4: 3901 1900 |0062: if-nez v1, 007b // +0019 │ │ -41a1e8: 5445 485d |0064: iget-object v5, v4, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ -41a1ec: 6e10 59b9 0400 |0066: invoke-virtual {v4}, Lorg/purple/smoke/State;.chatCheckedParticipants:()I // method@b959 │ │ -41a1f2: 0a06 |0069: move-result v6 │ │ -41a1f4: d806 0601 |006a: add-int/lit8 v6, v6, #int 1 // #01 │ │ -41a1f8: 6e30 e104 2506 |006c: invoke-virtual {v5, v2, v6}, Landroid/os/Bundle;.putInt:(Ljava/lang/String;I)V // method@04e1 │ │ -41a1fe: 280c |006f: goto 007b // +000c │ │ -41a200: 0d05 |0070: move-exception v5 │ │ -41a202: 5446 495d |0071: iget-object v6, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a206: 6e10 eb60 0600 |0073: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a20c: 0c06 |0076: move-result-object v6 │ │ -41a20e: 6e10 e860 0600 |0077: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -41a214: 2705 |007a: throw v5 │ │ -41a216: 5445 495d |007b: iget-object v5, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a21a: 6e10 eb60 0500 |007d: invoke-virtual {v5}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a220: 0c05 |0080: move-result-object v5 │ │ -41a222: 6e10 e860 0500 |0081: invoke-virtual {v5}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -41a228: 2860 |0084: goto 00e4 // +0060 │ │ -41a22a: 5446 495d |0085: iget-object v6, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a22e: 6e10 eb60 0600 |0087: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a234: 0c06 |008a: move-result-object v6 │ │ -41a236: 6e10 e760 0600 |008b: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ -41a23c: 5446 485d |008e: iget-object v6, v4, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ -41a240: 2203 f10a |0090: new-instance v3, Ljava/lang/StringBuilder; // type@0af1 │ │ -41a244: 7010 ee5c 0300 |0092: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41a24a: 6e20 f95c 0300 |0095: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41a250: 6e20 f45c 5300 |0098: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@5cf4 │ │ -41a256: 6e10 035d 0300 |009b: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41a25c: 0c05 |009e: move-result-object v5 │ │ -41a25e: 6e20 ea04 5600 |009f: invoke-virtual {v6, v5}, Landroid/os/Bundle;.remove:(Ljava/lang/String;)V // method@04ea │ │ -41a264: 280c |00a2: goto 00ae // +000c │ │ -41a266: 0d05 |00a3: move-exception v5 │ │ -41a268: 5446 495d |00a4: iget-object v6, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a26c: 6e10 eb60 0600 |00a6: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a272: 0c06 |00a9: move-result-object v6 │ │ -41a274: 6e10 e860 0600 |00aa: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -41a27a: 2705 |00ad: throw v5 │ │ -41a27c: 5445 495d |00ae: iget-object v5, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a280: 6e10 eb60 0500 |00b0: invoke-virtual {v5}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a286: 0c05 |00b3: move-result-object v5 │ │ -41a288: 6e10 e860 0500 |00b4: invoke-virtual {v5}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -41a28e: 3801 2d00 |00b7: if-eqz v1, 00e4 // +002d │ │ -41a292: 6e10 59b9 0400 |00b9: invoke-virtual {v4}, Lorg/purple/smoke/State;.chatCheckedParticipants:()I // method@b959 │ │ -41a298: 0a05 |00bc: move-result v5 │ │ -41a29a: 3d05 0400 |00bd: if-lez v5, 00c1 // +0004 │ │ -41a29e: d805 05ff |00bf: add-int/lit8 v5, v5, #int -1 // #ff │ │ -41a2a2: 5446 495d |00c1: iget-object v6, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a2a6: 6e10 eb60 0600 |00c3: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a2ac: 0c06 |00c6: move-result-object v6 │ │ -41a2ae: 6e10 e760 0600 |00c7: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ -41a2b4: 5446 485d |00ca: iget-object v6, v4, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ -41a2b8: 6e30 e104 2605 |00cc: invoke-virtual {v6, v2, v5}, Landroid/os/Bundle;.putInt:(Ljava/lang/String;I)V // method@04e1 │ │ -41a2be: 280c |00cf: goto 00db // +000c │ │ -41a2c0: 0d05 |00d0: move-exception v5 │ │ -41a2c2: 5446 495d |00d1: iget-object v6, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a2c6: 6e10 eb60 0600 |00d3: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a2cc: 0c06 |00d6: move-result-object v6 │ │ -41a2ce: 6e10 e860 0600 |00d7: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -41a2d4: 2705 |00da: throw v5 │ │ -41a2d6: 5445 495d |00db: iget-object v5, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a2da: 6e10 eb60 0500 |00dd: invoke-virtual {v5}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a2e0: 0c05 |00e0: move-result-object v5 │ │ -41a2e2: 6e10 e860 0500 |00e1: invoke-virtual {v5}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -41a2e8: 0e00 |00e4: return-void │ │ +41a10c: |[41a10c] org.purple.smoke.State.setChatCheckBoxSelected:(IZ)V │ │ +41a11c: 1a00 3d5d |0000: const-string v0, "chat_checkbox_" // string@5d3d │ │ +41a120: 5441 495d |0002: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a124: 6e10 ea60 0100 |0004: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +41a12a: 0c01 |0007: move-result-object v1 │ │ +41a12c: 6e10 e560 0100 |0008: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.lock:()V // method@60e5 │ │ +41a132: 5441 485d |000b: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ +41a136: 2202 f10a |000d: new-instance v2, Ljava/lang/StringBuilder; // type@0af1 │ │ +41a13a: 7010 ee5c 0200 |000f: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41a140: 6e20 f95c 0200 |0012: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41a146: 6e20 f45c 5200 |0015: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@5cf4 │ │ +41a14c: 6e10 035d 0200 |0018: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41a152: 0c02 |001b: move-result-object v2 │ │ +41a154: 6e20 c004 2100 |001c: invoke-virtual {v1, v2}, Landroid/os/Bundle;.containsKey:(Ljava/lang/String;)Z // method@04c0 │ │ +41a15a: 0a01 |001f: move-result v1 │ │ +41a15c: 5442 495d |0020: iget-object v2, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a160: 6e10 ea60 0200 |0022: invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +41a166: 0c02 |0025: move-result-object v2 │ │ +41a168: 6e10 e660 0200 |0026: invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +41a16e: 2816 |0029: goto 003f // +0016 │ │ +41a170: 0d05 |002a: move-exception v5 │ │ +41a172: 5446 495d |002b: iget-object v6, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a176: 6e10 ea60 0600 |002d: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +41a17c: 0c06 |0030: move-result-object v6 │ │ +41a17e: 6e10 e660 0600 |0031: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +41a184: 2705 |0034: throw v5 │ │ +41a186: 5441 495d |0035: iget-object v1, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a18a: 6e10 ea60 0100 |0037: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; // method@60ea │ │ +41a190: 0c01 |003a: move-result-object v1 │ │ +41a192: 6e10 e660 0100 |003b: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock:()V // method@60e6 │ │ +41a198: 1201 |003e: const/4 v1, #int 0 // #0 │ │ +41a19a: 1a02 3e5d |003f: const-string v2, "chat_checkbox_counter" // string@5d3e │ │ +41a19e: 3806 4400 |0041: if-eqz v6, 0085 // +0044 │ │ +41a1a2: 5446 495d |0043: iget-object v6, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a1a6: 6e10 eb60 0600 |0045: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a1ac: 0c06 |0048: move-result-object v6 │ │ +41a1ae: 6e10 e760 0600 |0049: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ +41a1b4: 5446 485d |004c: iget-object v6, v4, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ +41a1b8: 2203 f10a |004e: new-instance v3, Ljava/lang/StringBuilder; // type@0af1 │ │ +41a1bc: 7010 ee5c 0300 |0050: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41a1c2: 6e20 f95c 0300 |0053: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41a1c8: 6e20 f45c 5300 |0056: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@5cf4 │ │ +41a1ce: 6e10 035d 0300 |0059: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41a1d4: 0c05 |005c: move-result-object v5 │ │ +41a1d6: 1300 3100 |005d: const/16 v0, #int 49 // #31 │ │ +41a1da: 6e30 dd04 5600 |005f: invoke-virtual {v6, v5, v0}, Landroid/os/Bundle;.putChar:(Ljava/lang/String;C)V // method@04dd │ │ +41a1e0: 3901 1900 |0062: if-nez v1, 007b // +0019 │ │ +41a1e4: 5445 485d |0064: iget-object v5, v4, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ +41a1e8: 6e10 59b9 0400 |0066: invoke-virtual {v4}, Lorg/purple/smoke/State;.chatCheckedParticipants:()I // method@b959 │ │ +41a1ee: 0a06 |0069: move-result v6 │ │ +41a1f0: d806 0601 |006a: add-int/lit8 v6, v6, #int 1 // #01 │ │ +41a1f4: 6e30 e104 2506 |006c: invoke-virtual {v5, v2, v6}, Landroid/os/Bundle;.putInt:(Ljava/lang/String;I)V // method@04e1 │ │ +41a1fa: 280c |006f: goto 007b // +000c │ │ +41a1fc: 0d05 |0070: move-exception v5 │ │ +41a1fe: 5446 495d |0071: iget-object v6, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a202: 6e10 eb60 0600 |0073: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a208: 0c06 |0076: move-result-object v6 │ │ +41a20a: 6e10 e860 0600 |0077: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +41a210: 2705 |007a: throw v5 │ │ +41a212: 5445 495d |007b: iget-object v5, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a216: 6e10 eb60 0500 |007d: invoke-virtual {v5}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a21c: 0c05 |0080: move-result-object v5 │ │ +41a21e: 6e10 e860 0500 |0081: invoke-virtual {v5}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +41a224: 2860 |0084: goto 00e4 // +0060 │ │ +41a226: 5446 495d |0085: iget-object v6, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a22a: 6e10 eb60 0600 |0087: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a230: 0c06 |008a: move-result-object v6 │ │ +41a232: 6e10 e760 0600 |008b: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ +41a238: 5446 485d |008e: iget-object v6, v4, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ +41a23c: 2203 f10a |0090: new-instance v3, Ljava/lang/StringBuilder; // type@0af1 │ │ +41a240: 7010 ee5c 0300 |0092: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41a246: 6e20 f95c 0300 |0095: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41a24c: 6e20 f45c 5300 |0098: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@5cf4 │ │ +41a252: 6e10 035d 0300 |009b: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41a258: 0c05 |009e: move-result-object v5 │ │ +41a25a: 6e20 ea04 5600 |009f: invoke-virtual {v6, v5}, Landroid/os/Bundle;.remove:(Ljava/lang/String;)V // method@04ea │ │ +41a260: 280c |00a2: goto 00ae // +000c │ │ +41a262: 0d05 |00a3: move-exception v5 │ │ +41a264: 5446 495d |00a4: iget-object v6, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a268: 6e10 eb60 0600 |00a6: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a26e: 0c06 |00a9: move-result-object v6 │ │ +41a270: 6e10 e860 0600 |00aa: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +41a276: 2705 |00ad: throw v5 │ │ +41a278: 5445 495d |00ae: iget-object v5, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a27c: 6e10 eb60 0500 |00b0: invoke-virtual {v5}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a282: 0c05 |00b3: move-result-object v5 │ │ +41a284: 6e10 e860 0500 |00b4: invoke-virtual {v5}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +41a28a: 3801 2d00 |00b7: if-eqz v1, 00e4 // +002d │ │ +41a28e: 6e10 59b9 0400 |00b9: invoke-virtual {v4}, Lorg/purple/smoke/State;.chatCheckedParticipants:()I // method@b959 │ │ +41a294: 0a05 |00bc: move-result v5 │ │ +41a296: 3d05 0400 |00bd: if-lez v5, 00c1 // +0004 │ │ +41a29a: d805 05ff |00bf: add-int/lit8 v5, v5, #int -1 // #ff │ │ +41a29e: 5446 495d |00c1: iget-object v6, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a2a2: 6e10 eb60 0600 |00c3: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a2a8: 0c06 |00c6: move-result-object v6 │ │ +41a2aa: 6e10 e760 0600 |00c7: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ +41a2b0: 5446 485d |00ca: iget-object v6, v4, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ +41a2b4: 6e30 e104 2605 |00cc: invoke-virtual {v6, v2, v5}, Landroid/os/Bundle;.putInt:(Ljava/lang/String;I)V // method@04e1 │ │ +41a2ba: 280c |00cf: goto 00db // +000c │ │ +41a2bc: 0d05 |00d0: move-exception v5 │ │ +41a2be: 5446 495d |00d1: iget-object v6, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a2c2: 6e10 eb60 0600 |00d3: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a2c8: 0c06 |00d6: move-result-object v6 │ │ +41a2ca: 6e10 e860 0600 |00d7: invoke-virtual {v6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +41a2d0: 2705 |00da: throw v5 │ │ +41a2d2: 5445 495d |00db: iget-object v5, v4, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a2d6: 6e10 eb60 0500 |00dd: invoke-virtual {v5}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a2dc: 0c05 |00e0: move-result-object v5 │ │ +41a2de: 6e10 e860 0500 |00e1: invoke-virtual {v5}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +41a2e4: 0e00 |00e4: return-void │ │ catches : 4 │ │ 0x000b - 0x0020 │ │ Ljava/lang/Exception; -> 0x0035 │ │ -> 0x002a │ │ 0x004c - 0x006f │ │ Ljava/lang/Exception; -> 0x007b │ │ -> 0x0070 │ │ @@ -731023,19 +731022,19 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 7 16-bit code units │ │ -41a328: |[41a328] org.purple.smoke.State.setExit:()V │ │ -41a338: 5420 4b5d |0000: iget-object v0, v2, Lorg/purple/smoke/State;.m_exit:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5d4b │ │ -41a33c: 1211 |0002: const/4 v1, #int 1 // #1 │ │ -41a33e: 6e20 d860 1000 |0003: invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -41a344: 0e00 |0006: return-void │ │ +41a324: |[41a324] org.purple.smoke.State.setExit:()V │ │ +41a334: 5420 4b5d |0000: iget-object v0, v2, Lorg/purple/smoke/State;.m_exit:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5d4b │ │ +41a338: 1211 |0002: const/4 v1, #int 1 // #1 │ │ +41a33a: 6e20 d860 1000 |0003: invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +41a340: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=703 │ │ locals : │ │ 0x0000 - 0x0007 reg=2 this Lorg/purple/smoke/State; │ │ │ │ #35 : (in Lorg/purple/smoke/State;) │ │ @@ -731043,38 +731042,38 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 45 16-bit code units │ │ -41a348: |[41a348] org.purple.smoke.State.setLocked:(Z)V │ │ -41a358: 5420 495d |0000: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a35c: 6e10 eb60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a362: 0c00 |0005: move-result-object v0 │ │ -41a364: 6e10 e760 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ -41a36a: 5420 485d |0009: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ -41a36e: 1a01 2c7a |000b: const-string v1, "is_locked" // string@7a2c │ │ -41a372: 3803 0500 |000d: if-eqz v3, 0012 // +0005 │ │ -41a376: 1303 3100 |000f: const/16 v3, #int 49 // #31 │ │ -41a37a: 2803 |0011: goto 0014 // +0003 │ │ -41a37c: 1303 3000 |0012: const/16 v3, #int 48 // #30 │ │ -41a380: 6e30 dd04 1003 |0014: invoke-virtual {v0, v1, v3}, Landroid/os/Bundle;.putChar:(Ljava/lang/String;C)V // method@04dd │ │ -41a386: 280c |0017: goto 0023 // +000c │ │ -41a388: 0d03 |0018: move-exception v3 │ │ -41a38a: 5420 495d |0019: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a38e: 6e10 eb60 0000 |001b: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a394: 0c00 |001e: move-result-object v0 │ │ -41a396: 6e10 e860 0000 |001f: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -41a39c: 2703 |0022: throw v3 │ │ -41a39e: 5423 495d |0023: iget-object v3, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a3a2: 6e10 eb60 0300 |0025: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a3a8: 0c03 |0028: move-result-object v3 │ │ -41a3aa: 6e10 e860 0300 |0029: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -41a3b0: 0e00 |002c: return-void │ │ +41a344: |[41a344] org.purple.smoke.State.setLocked:(Z)V │ │ +41a354: 5420 495d |0000: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a358: 6e10 eb60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a35e: 0c00 |0005: move-result-object v0 │ │ +41a360: 6e10 e760 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ +41a366: 5420 485d |0009: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ +41a36a: 1a01 2c7a |000b: const-string v1, "is_locked" // string@7a2c │ │ +41a36e: 3803 0500 |000d: if-eqz v3, 0012 // +0005 │ │ +41a372: 1303 3100 |000f: const/16 v3, #int 49 // #31 │ │ +41a376: 2803 |0011: goto 0014 // +0003 │ │ +41a378: 1303 3000 |0012: const/16 v3, #int 48 // #30 │ │ +41a37c: 6e30 dd04 1003 |0014: invoke-virtual {v0, v1, v3}, Landroid/os/Bundle;.putChar:(Ljava/lang/String;C)V // method@04dd │ │ +41a382: 280c |0017: goto 0023 // +000c │ │ +41a384: 0d03 |0018: move-exception v3 │ │ +41a386: 5420 495d |0019: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a38a: 6e10 eb60 0000 |001b: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a390: 0c00 |001e: move-result-object v0 │ │ +41a392: 6e10 e860 0000 |001f: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +41a398: 2703 |0022: throw v3 │ │ +41a39a: 5423 495d |0023: iget-object v3, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a39e: 6e10 eb60 0300 |0025: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a3a4: 0c03 |0028: move-result-object v3 │ │ +41a3a6: 6e10 e860 0300 |0029: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +41a3ac: 0e00 |002c: return-void │ │ catches : 1 │ │ 0x0009 - 0x0017 │ │ Ljava/lang/Exception; -> 0x0023 │ │ -> 0x0018 │ │ positions : │ │ 0x0000 line=708 │ │ 0x0009 line=712 │ │ @@ -731090,38 +731089,38 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 45 16-bit code units │ │ -41a3c4: |[41a3c4] org.purple.smoke.State.setNeighborsEcho:(Z)V │ │ -41a3d4: 5420 495d |0000: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a3d8: 6e10 eb60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a3de: 0c00 |0005: move-result-object v0 │ │ -41a3e0: 6e10 e760 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ -41a3e6: 5420 485d |0009: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ -41a3ea: 1a01 e289 |000b: const-string v1, "neighbors_echo" // string@89e2 │ │ -41a3ee: 3803 0500 |000d: if-eqz v3, 0012 // +0005 │ │ -41a3f2: 1303 3100 |000f: const/16 v3, #int 49 // #31 │ │ -41a3f6: 2803 |0011: goto 0014 // +0003 │ │ -41a3f8: 1303 3000 |0012: const/16 v3, #int 48 // #30 │ │ -41a3fc: 6e30 dd04 1003 |0014: invoke-virtual {v0, v1, v3}, Landroid/os/Bundle;.putChar:(Ljava/lang/String;C)V // method@04dd │ │ -41a402: 280c |0017: goto 0023 // +000c │ │ -41a404: 0d03 |0018: move-exception v3 │ │ -41a406: 5420 495d |0019: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a40a: 6e10 eb60 0000 |001b: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a410: 0c00 |001e: move-result-object v0 │ │ -41a412: 6e10 e860 0000 |001f: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -41a418: 2703 |0022: throw v3 │ │ -41a41a: 5423 495d |0023: iget-object v3, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a41e: 6e10 eb60 0300 |0025: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a424: 0c03 |0028: move-result-object v3 │ │ -41a426: 6e10 e860 0300 |0029: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -41a42c: 0e00 |002c: return-void │ │ +41a3c0: |[41a3c0] org.purple.smoke.State.setNeighborsEcho:(Z)V │ │ +41a3d0: 5420 495d |0000: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a3d4: 6e10 eb60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a3da: 0c00 |0005: move-result-object v0 │ │ +41a3dc: 6e10 e760 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ +41a3e2: 5420 485d |0009: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ +41a3e6: 1a01 e289 |000b: const-string v1, "neighbors_echo" // string@89e2 │ │ +41a3ea: 3803 0500 |000d: if-eqz v3, 0012 // +0005 │ │ +41a3ee: 1303 3100 |000f: const/16 v3, #int 49 // #31 │ │ +41a3f2: 2803 |0011: goto 0014 // +0003 │ │ +41a3f4: 1303 3000 |0012: const/16 v3, #int 48 // #30 │ │ +41a3f8: 6e30 dd04 1003 |0014: invoke-virtual {v0, v1, v3}, Landroid/os/Bundle;.putChar:(Ljava/lang/String;C)V // method@04dd │ │ +41a3fe: 280c |0017: goto 0023 // +000c │ │ +41a400: 0d03 |0018: move-exception v3 │ │ +41a402: 5420 495d |0019: iget-object v0, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a406: 6e10 eb60 0000 |001b: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a40c: 0c00 |001e: move-result-object v0 │ │ +41a40e: 6e10 e860 0000 |001f: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +41a414: 2703 |0022: throw v3 │ │ +41a416: 5423 495d |0023: iget-object v3, v2, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a41a: 6e10 eb60 0300 |0025: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a420: 0c03 |0028: move-result-object v3 │ │ +41a422: 6e10 e860 0300 |0029: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +41a428: 0e00 |002c: return-void │ │ catches : 1 │ │ 0x0009 - 0x0017 │ │ Ljava/lang/Exception; -> 0x0023 │ │ -> 0x0018 │ │ positions : │ │ 0x0000 line=725 │ │ 0x0009 line=729 │ │ @@ -731137,18 +731136,18 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -41a440: |[41a440] org.purple.smoke.State.setQueryTimerServer:(Z)V │ │ -41a450: 5410 505d |0000: iget-object v0, v1, Lorg/purple/smoke/State;.m_queryTimerServer:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5d50 │ │ -41a454: 6e20 d860 2000 |0002: invoke-virtual {v0, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -41a45a: 0e00 |0005: return-void │ │ +41a43c: |[41a43c] org.purple.smoke.State.setQueryTimerServer:(Z)V │ │ +41a44c: 5410 505d |0000: iget-object v0, v1, Lorg/purple/smoke/State;.m_queryTimerServer:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5d50 │ │ +41a450: 6e20 d860 2000 |0002: invoke-virtual {v0, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +41a456: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=742 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lorg/purple/smoke/State; │ │ 0x0000 - 0x0006 reg=2 (null) Z │ │ │ │ @@ -731157,18 +731156,18 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -41a45c: |[41a45c] org.purple.smoke.State.setSilent:(Z)V │ │ -41a46c: 5410 525d |0000: iget-object v0, v1, Lorg/purple/smoke/State;.m_silent:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5d52 │ │ -41a470: 6e20 d860 2000 |0002: invoke-virtual {v0, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -41a476: 0e00 |0005: return-void │ │ +41a458: |[41a458] org.purple.smoke.State.setSilent:(Z)V │ │ +41a468: 5410 525d |0000: iget-object v0, v1, Lorg/purple/smoke/State;.m_silent:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5d52 │ │ +41a46c: 6e20 d860 2000 |0002: invoke-virtual {v0, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +41a472: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=747 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lorg/purple/smoke/State; │ │ 0x0000 - 0x0006 reg=2 (null) Z │ │ │ │ @@ -731177,27 +731176,27 @@ │ │ type : '(ZI)V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 19 16-bit code units │ │ -41a478: |[41a478] org.purple.smoke.State.setSteamDetailsState:(ZI)V │ │ -41a488: 1d01 |0000: monitor-enter v1 │ │ -41a48a: 5410 535d |0001: iget-object v0, v1, Lorg/purple/smoke/State;.m_steamDetailsStates:Ljava/util/Map; // field@5d53 │ │ -41a48e: 7110 605c 0300 |0003: invoke-static {v3}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@5c60 │ │ -41a494: 0c03 |0006: move-result-object v3 │ │ -41a496: 7110 ff5b 0200 |0007: invoke-static {v2}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@5bff │ │ -41a49c: 0c02 |000a: move-result-object v2 │ │ -41a49e: 7230 5a60 3002 |000b: invoke-interface {v0, v3, v2}, Ljava/util/Map;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@605a │ │ -41a4a4: 1e01 |000e: monitor-exit v1 │ │ -41a4a6: 0e00 |000f: return-void │ │ -41a4a8: 0d02 |0010: move-exception v2 │ │ -41a4aa: 1e01 |0011: monitor-exit v1 │ │ -41a4ac: 2702 |0012: throw v2 │ │ +41a474: |[41a474] org.purple.smoke.State.setSteamDetailsState:(ZI)V │ │ +41a484: 1d01 |0000: monitor-enter v1 │ │ +41a486: 5410 535d |0001: iget-object v0, v1, Lorg/purple/smoke/State;.m_steamDetailsStates:Ljava/util/Map; // field@5d53 │ │ +41a48a: 7110 605c 0300 |0003: invoke-static {v3}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@5c60 │ │ +41a490: 0c03 |0006: move-result-object v3 │ │ +41a492: 7110 ff5b 0200 |0007: invoke-static {v2}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@5bff │ │ +41a498: 0c02 |000a: move-result-object v2 │ │ +41a49a: 7230 5a60 3002 |000b: invoke-interface {v0, v3, v2}, Ljava/util/Map;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@605a │ │ +41a4a0: 1e01 |000e: monitor-exit v1 │ │ +41a4a2: 0e00 |000f: return-void │ │ +41a4a4: 0d02 |0010: move-exception v2 │ │ +41a4a6: 1e01 |0011: monitor-exit v1 │ │ +41a4a8: 2702 |0012: throw v2 │ │ catches : 1 │ │ 0x0001 - 0x000e │ │ -> 0x0010 │ │ positions : │ │ 0x0001 line=464 │ │ 0x000e line=465 │ │ locals : │ │ @@ -731210,33 +731209,33 @@ │ │ type : '(Ljava/lang/String;Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 36 16-bit code units │ │ -41a4bc: |[41a4bc] org.purple.smoke.State.setString:(Ljava/lang/String;Ljava/lang/String;)V │ │ -41a4cc: 5410 495d |0000: iget-object v0, v1, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a4d0: 6e10 eb60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a4d6: 0c00 |0005: move-result-object v0 │ │ -41a4d8: 6e10 e760 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ -41a4de: 5410 485d |0009: iget-object v0, v1, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ -41a4e2: 6e30 e804 2003 |000b: invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;.putString:(Ljava/lang/String;Ljava/lang/String;)V // method@04e8 │ │ -41a4e8: 280c |000e: goto 001a // +000c │ │ -41a4ea: 0d02 |000f: move-exception v2 │ │ -41a4ec: 5413 495d |0010: iget-object v3, v1, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a4f0: 6e10 eb60 0300 |0012: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a4f6: 0c03 |0015: move-result-object v3 │ │ -41a4f8: 6e10 e860 0300 |0016: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -41a4fe: 2702 |0019: throw v2 │ │ -41a500: 5412 495d |001a: iget-object v2, v1, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a504: 6e10 eb60 0200 |001c: invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a50a: 0c02 |001f: move-result-object v2 │ │ -41a50c: 6e10 e860 0200 |0020: invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -41a512: 0e00 |0023: return-void │ │ +41a4b8: |[41a4b8] org.purple.smoke.State.setString:(Ljava/lang/String;Ljava/lang/String;)V │ │ +41a4c8: 5410 495d |0000: iget-object v0, v1, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a4cc: 6e10 eb60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a4d2: 0c00 |0005: move-result-object v0 │ │ +41a4d4: 6e10 e760 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ +41a4da: 5410 485d |0009: iget-object v0, v1, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ +41a4de: 6e30 e804 2003 |000b: invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;.putString:(Ljava/lang/String;Ljava/lang/String;)V // method@04e8 │ │ +41a4e4: 280c |000e: goto 001a // +000c │ │ +41a4e6: 0d02 |000f: move-exception v2 │ │ +41a4e8: 5413 495d |0010: iget-object v3, v1, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a4ec: 6e10 eb60 0300 |0012: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a4f2: 0c03 |0015: move-result-object v3 │ │ +41a4f4: 6e10 e860 0300 |0016: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +41a4fa: 2702 |0019: throw v2 │ │ +41a4fc: 5412 495d |001a: iget-object v2, v1, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a500: 6e10 eb60 0200 |001c: invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a506: 0c02 |001f: move-result-object v2 │ │ +41a508: 6e10 e860 0200 |0020: invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +41a50e: 0e00 |0023: return-void │ │ catches : 1 │ │ 0x0009 - 0x000e │ │ Ljava/lang/Exception; -> 0x001a │ │ -> 0x000f │ │ positions : │ │ 0x0000 line=752 │ │ 0x0009 line=756 │ │ @@ -731253,19 +731252,19 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -41946c: |[41946c] org.purple.smoke.State.silent:()Z │ │ -41947c: 5410 525d |0000: iget-object v0, v1, Lorg/purple/smoke/State;.m_silent:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5d52 │ │ -419480: 6e10 d660 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ -419486: 0a00 |0005: move-result v0 │ │ -419488: 0f00 |0006: return v0 │ │ +419468: |[419468] org.purple.smoke.State.silent:()Z │ │ +419478: 5410 525d |0000: iget-object v0, v1, Lorg/purple/smoke/State;.m_silent:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5d52 │ │ +41947c: 6e10 d660 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ +419482: 0a00 |0005: move-result v0 │ │ +419484: 0f00 |0006: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=339 │ │ locals : │ │ 0x0000 - 0x0007 reg=1 this Lorg/purple/smoke/State; │ │ │ │ #42 : (in Lorg/purple/smoke/State;) │ │ @@ -731273,38 +731272,38 @@ │ │ type : '(I)Z' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 37 16-bit code units │ │ -41948c: |[41948c] org.purple.smoke.State.steamDetailsState:(I)Z │ │ -41949c: 1d02 |0000: monitor-enter v2 │ │ -41949e: 5420 535d |0001: iget-object v0, v2, Lorg/purple/smoke/State;.m_steamDetailsStates:Ljava/util/Map; // field@5d53 │ │ -4194a2: 7110 605c 0300 |0003: invoke-static {v3}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@5c60 │ │ -4194a8: 0c01 |0006: move-result-object v1 │ │ -4194aa: 7220 5360 1000 |0007: invoke-interface {v0, v1}, Ljava/util/Map;.containsKey:(Ljava/lang/Object;)Z // method@6053 │ │ -4194b0: 0a00 |000a: move-result v0 │ │ -4194b2: 3800 1400 |000b: if-eqz v0, 001f // +0014 │ │ -4194b6: 5420 535d |000d: iget-object v0, v2, Lorg/purple/smoke/State;.m_steamDetailsStates:Ljava/util/Map; // field@5d53 │ │ -4194ba: 7110 605c 0300 |000f: invoke-static {v3}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@5c60 │ │ -4194c0: 0c03 |0012: move-result-object v3 │ │ -4194c2: 7220 5660 3000 |0013: invoke-interface {v0, v3}, Ljava/util/Map;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@6056 │ │ -4194c8: 0c03 |0016: move-result-object v3 │ │ -4194ca: 1f03 c60a |0017: check-cast v3, Ljava/lang/Boolean; // type@0ac6 │ │ -4194ce: 6e10 fe5b 0300 |0019: invoke-virtual {v3}, Ljava/lang/Boolean;.booleanValue:()Z // method@5bfe │ │ -4194d4: 0a03 |001c: move-result v3 │ │ -4194d6: 1e02 |001d: monitor-exit v2 │ │ -4194d8: 0f03 |001e: return v3 │ │ -4194da: 1203 |001f: const/4 v3, #int 0 // #0 │ │ -4194dc: 1e02 |0020: monitor-exit v2 │ │ -4194de: 0f03 |0021: return v3 │ │ -4194e0: 0d03 |0022: move-exception v3 │ │ -4194e2: 1e02 |0023: monitor-exit v2 │ │ -4194e4: 2703 |0024: throw v3 │ │ +419488: |[419488] org.purple.smoke.State.steamDetailsState:(I)Z │ │ +419498: 1d02 |0000: monitor-enter v2 │ │ +41949a: 5420 535d |0001: iget-object v0, v2, Lorg/purple/smoke/State;.m_steamDetailsStates:Ljava/util/Map; // field@5d53 │ │ +41949e: 7110 605c 0300 |0003: invoke-static {v3}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@5c60 │ │ +4194a4: 0c01 |0006: move-result-object v1 │ │ +4194a6: 7220 5360 1000 |0007: invoke-interface {v0, v1}, Ljava/util/Map;.containsKey:(Ljava/lang/Object;)Z // method@6053 │ │ +4194ac: 0a00 |000a: move-result v0 │ │ +4194ae: 3800 1400 |000b: if-eqz v0, 001f // +0014 │ │ +4194b2: 5420 535d |000d: iget-object v0, v2, Lorg/purple/smoke/State;.m_steamDetailsStates:Ljava/util/Map; // field@5d53 │ │ +4194b6: 7110 605c 0300 |000f: invoke-static {v3}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@5c60 │ │ +4194bc: 0c03 |0012: move-result-object v3 │ │ +4194be: 7220 5660 3000 |0013: invoke-interface {v0, v3}, Ljava/util/Map;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@6056 │ │ +4194c4: 0c03 |0016: move-result-object v3 │ │ +4194c6: 1f03 c60a |0017: check-cast v3, Ljava/lang/Boolean; // type@0ac6 │ │ +4194ca: 6e10 fe5b 0300 |0019: invoke-virtual {v3}, Ljava/lang/Boolean;.booleanValue:()Z // method@5bfe │ │ +4194d0: 0a03 |001c: move-result v3 │ │ +4194d2: 1e02 |001d: monitor-exit v2 │ │ +4194d4: 0f03 |001e: return v3 │ │ +4194d6: 1203 |001f: const/4 v3, #int 0 // #0 │ │ +4194d8: 1e02 |0020: monitor-exit v2 │ │ +4194da: 0f03 |0021: return v3 │ │ +4194dc: 0d03 |0022: move-exception v3 │ │ +4194de: 1e02 |0023: monitor-exit v2 │ │ +4194e0: 2703 |0024: throw v3 │ │ catches : 1 │ │ 0x0001 - 0x001d │ │ -> 0x0022 │ │ positions : │ │ 0x0001 line=414 │ │ 0x000d line=415 │ │ 0x0020 line=417 │ │ @@ -731317,32 +731316,32 @@ │ │ type : '(Ljava/lang/String;C)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 35 16-bit code units │ │ -41a524: |[41a524] org.purple.smoke.State.writeChar:(Ljava/lang/String;C)V │ │ -41a534: 5410 495d |0000: iget-object v0, v1, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a538: 6e10 eb60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a53e: 0c00 |0005: move-result-object v0 │ │ -41a540: 6e10 e760 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ -41a546: 5410 485d |0009: iget-object v0, v1, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ -41a54a: 6e30 dd04 2003 |000b: invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;.putChar:(Ljava/lang/String;C)V // method@04dd │ │ -41a550: 5412 495d |000e: iget-object v2, v1, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a554: 6e10 eb60 0200 |0010: invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a55a: 0c02 |0013: move-result-object v2 │ │ -41a55c: 6e10 e860 0200 |0014: invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -41a562: 0e00 |0017: return-void │ │ -41a564: 0d02 |0018: move-exception v2 │ │ -41a566: 5413 495d |0019: iget-object v3, v1, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a56a: 6e10 eb60 0300 |001b: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a570: 0c03 |001e: move-result-object v3 │ │ -41a572: 6e10 e860 0300 |001f: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -41a578: 2702 |0022: throw v2 │ │ +41a520: |[41a520] org.purple.smoke.State.writeChar:(Ljava/lang/String;C)V │ │ +41a530: 5410 495d |0000: iget-object v0, v1, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a534: 6e10 eb60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a53a: 0c00 |0005: move-result-object v0 │ │ +41a53c: 6e10 e760 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ +41a542: 5410 485d |0009: iget-object v0, v1, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ +41a546: 6e30 dd04 2003 |000b: invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;.putChar:(Ljava/lang/String;C)V // method@04dd │ │ +41a54c: 5412 495d |000e: iget-object v2, v1, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a550: 6e10 eb60 0200 |0010: invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a556: 0c02 |0013: move-result-object v2 │ │ +41a558: 6e10 e860 0200 |0014: invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +41a55e: 0e00 |0017: return-void │ │ +41a560: 0d02 |0018: move-exception v2 │ │ +41a562: 5413 495d |0019: iget-object v3, v1, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a566: 6e10 eb60 0300 |001b: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a56c: 0c03 |001e: move-result-object v3 │ │ +41a56e: 6e10 e860 0300 |001f: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +41a574: 2702 |0022: throw v2 │ │ catches : 1 │ │ 0x0009 - 0x000e │ │ -> 0x0018 │ │ positions : │ │ 0x0000 line=769 │ │ 0x0009 line=773 │ │ 0x000e line=777 │ │ @@ -731357,32 +731356,32 @@ │ │ type : '(Ljava/lang/String;Ljava/lang/CharSequence;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 35 16-bit code units │ │ -41a588: |[41a588] org.purple.smoke.State.writeCharSequence:(Ljava/lang/String;Ljava/lang/CharSequence;)V │ │ -41a598: 5410 495d |0000: iget-object v0, v1, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a59c: 6e10 eb60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a5a2: 0c00 |0005: move-result-object v0 │ │ -41a5a4: 6e10 e760 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ -41a5aa: 5410 485d |0009: iget-object v0, v1, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ -41a5ae: 6e30 de04 2003 |000b: invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;.putCharSequence:(Ljava/lang/String;Ljava/lang/CharSequence;)V // method@04de │ │ -41a5b4: 5412 495d |000e: iget-object v2, v1, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a5b8: 6e10 eb60 0200 |0010: invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a5be: 0c02 |0013: move-result-object v2 │ │ -41a5c0: 6e10 e860 0200 |0014: invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -41a5c6: 0e00 |0017: return-void │ │ -41a5c8: 0d02 |0018: move-exception v2 │ │ -41a5ca: 5413 495d |0019: iget-object v3, v1, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ -41a5ce: 6e10 eb60 0300 |001b: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41a5d4: 0c03 |001e: move-result-object v3 │ │ -41a5d6: 6e10 e860 0300 |001f: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -41a5dc: 2702 |0022: throw v2 │ │ +41a584: |[41a584] org.purple.smoke.State.writeCharSequence:(Ljava/lang/String;Ljava/lang/CharSequence;)V │ │ +41a594: 5410 495d |0000: iget-object v0, v1, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a598: 6e10 eb60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a59e: 0c00 |0005: move-result-object v0 │ │ +41a5a0: 6e10 e760 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ +41a5a6: 5410 485d |0009: iget-object v0, v1, Lorg/purple/smoke/State;.m_bundle:Landroid/os/Bundle; // field@5d48 │ │ +41a5aa: 6e30 de04 2003 |000b: invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;.putCharSequence:(Ljava/lang/String;Ljava/lang/CharSequence;)V // method@04de │ │ +41a5b0: 5412 495d |000e: iget-object v2, v1, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a5b4: 6e10 eb60 0200 |0010: invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a5ba: 0c02 |0013: move-result-object v2 │ │ +41a5bc: 6e10 e860 0200 |0014: invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +41a5c2: 0e00 |0017: return-void │ │ +41a5c4: 0d02 |0018: move-exception v2 │ │ +41a5c6: 5413 495d |0019: iget-object v3, v1, Lorg/purple/smoke/State;.m_bundleMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5d49 │ │ +41a5ca: 6e10 eb60 0300 |001b: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41a5d0: 0c03 |001e: move-result-object v3 │ │ +41a5d2: 6e10 e860 0300 |001f: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +41a5d8: 2702 |0022: throw v2 │ │ catches : 1 │ │ 0x0009 - 0x000e │ │ -> 0x0018 │ │ positions : │ │ 0x0000 line=783 │ │ 0x0009 line=787 │ │ 0x000e line=791 │ │ @@ -731427,18 +731426,18 @@ │ │ type : '(Lorg/purple/smoke/Steam;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -41a5ec: |[41a5ec] org.purple.smoke.Steam$1.:(Lorg/purple/smoke/Steam;)V │ │ -41a5fc: 5b01 555d |0000: iput-object v1, v0, Lorg/purple/smoke/Steam$1;.this$0:Lorg/purple/smoke/Steam; // field@5d55 │ │ -41a600: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41a606: 0e00 |0005: return-void │ │ +41a5e8: |[41a5e8] org.purple.smoke.Steam$1.:(Lorg/purple/smoke/Steam;)V │ │ +41a5f8: 5b01 555d |0000: iput-object v1, v0, Lorg/purple/smoke/Steam$1;.this$0:Lorg/purple/smoke/Steam; // field@5d55 │ │ +41a5fc: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41a602: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=212 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/Steam$1; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/Steam; │ │ │ │ @@ -731448,23 +731447,23 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 15 16-bit code units │ │ -41a608: |[41a608] org.purple.smoke.Steam$1.onClick:(Landroid/view/View;)V │ │ -41a618: 5401 555d |0000: iget-object v1, v0, Lorg/purple/smoke/Steam$1;.this$0:Lorg/purple/smoke/Steam; // field@5d55 │ │ -41a61c: 6e10 b1b9 0100 |0002: invoke-virtual {v1}, Lorg/purple/smoke/Steam;.isFinishing:()Z // method@b9b1 │ │ -41a622: 0a01 |0005: move-result v1 │ │ -41a624: 3801 0300 |0006: if-eqz v1, 0009 // +0003 │ │ -41a628: 0e00 |0008: return-void │ │ -41a62a: 5401 555d |0009: iget-object v1, v0, Lorg/purple/smoke/Steam$1;.this$0:Lorg/purple/smoke/Steam; // field@5d55 │ │ -41a62e: 7110 a3b9 0100 |000b: invoke-static {v1}, Lorg/purple/smoke/Steam;.access$300:(Lorg/purple/smoke/Steam;)V // method@b9a3 │ │ -41a634: 0e00 |000e: return-void │ │ +41a604: |[41a604] org.purple.smoke.Steam$1.onClick:(Landroid/view/View;)V │ │ +41a614: 5401 555d |0000: iget-object v1, v0, Lorg/purple/smoke/Steam$1;.this$0:Lorg/purple/smoke/Steam; // field@5d55 │ │ +41a618: 6e10 b1b9 0100 |0002: invoke-virtual {v1}, Lorg/purple/smoke/Steam;.isFinishing:()Z // method@b9b1 │ │ +41a61e: 0a01 |0005: move-result v1 │ │ +41a620: 3801 0300 |0006: if-eqz v1, 0009 // +0003 │ │ +41a624: 0e00 |0008: return-void │ │ +41a626: 5401 555d |0009: iget-object v1, v0, Lorg/purple/smoke/Steam$1;.this$0:Lorg/purple/smoke/Steam; // field@5d55 │ │ +41a62a: 7110 a3b9 0100 |000b: invoke-static {v1}, Lorg/purple/smoke/Steam;.access$300:(Lorg/purple/smoke/Steam;)V // method@b9a3 │ │ +41a630: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=215 │ │ 0x0009 line=218 │ │ locals : │ │ 0x0000 - 0x000f reg=0 this Lorg/purple/smoke/Steam$1; │ │ 0x0000 - 0x000f reg=1 (null) Landroid/view/View; │ │ @@ -731508,18 +731507,18 @@ │ │ type : '(Lorg/purple/smoke/Steam;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -41a638: |[41a638] org.purple.smoke.Steam$2.:(Lorg/purple/smoke/Steam;)V │ │ -41a648: 5b01 565d |0000: iput-object v1, v0, Lorg/purple/smoke/Steam$2;.this$0:Lorg/purple/smoke/Steam; // field@5d56 │ │ -41a64c: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41a652: 0e00 |0005: return-void │ │ +41a634: |[41a634] org.purple.smoke.Steam$2.:(Lorg/purple/smoke/Steam;)V │ │ +41a644: 5b01 565d |0000: iput-object v1, v0, Lorg/purple/smoke/Steam$2;.this$0:Lorg/purple/smoke/Steam; // field@5d56 │ │ +41a648: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41a64e: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=224 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/Steam$2; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/Steam; │ │ │ │ @@ -731529,29 +731528,29 @@ │ │ type : '(Landroid/widget/AdapterView;Landroid/view/View;IJ)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 6 │ │ outs : 2 │ │ insns size : 25 16-bit code units │ │ -41a654: |[41a654] org.purple.smoke.Steam$2.onItemSelected:(Landroid/widget/AdapterView;Landroid/view/View;IJ)V │ │ -41a664: 5401 565d |0000: iget-object v1, v0, Lorg/purple/smoke/Steam$2;.this$0:Lorg/purple/smoke/Steam; // field@5d56 │ │ -41a668: 7110 a4b9 0100 |0002: invoke-static {v1}, Lorg/purple/smoke/Steam;.access$400:(Lorg/purple/smoke/Steam;)Landroid/widget/Spinner; // method@b9a4 │ │ -41a66e: 0c01 |0005: move-result-object v1 │ │ -41a670: 1212 |0006: const/4 v2, #int 1 // #1 │ │ -41a672: 3803 0400 |0007: if-eqz v3, 000b // +0004 │ │ -41a676: 1213 |0009: const/4 v3, #int 1 // #1 │ │ -41a678: 2802 |000a: goto 000c // +0002 │ │ -41a67a: 1203 |000b: const/4 v3, #int 0 // #0 │ │ -41a67c: 6e20 c65a 3100 |000c: invoke-virtual {v1, v3}, Landroid/widget/Spinner;.setEnabled:(Z)V // method@5ac6 │ │ -41a682: 5401 565d |000f: iget-object v1, v0, Lorg/purple/smoke/Steam$2;.this$0:Lorg/purple/smoke/Steam; // field@5d56 │ │ -41a686: 7110 a4b9 0100 |0011: invoke-static {v1}, Lorg/purple/smoke/Steam;.access$400:(Lorg/purple/smoke/Steam;)Landroid/widget/Spinner; // method@b9a4 │ │ -41a68c: 0c01 |0014: move-result-object v1 │ │ -41a68e: 6e20 cc5a 2100 |0015: invoke-virtual {v1, v2}, Landroid/widget/Spinner;.setSelection:(I)V // method@5acc │ │ -41a694: 0e00 |0018: return-void │ │ +41a650: |[41a650] org.purple.smoke.Steam$2.onItemSelected:(Landroid/widget/AdapterView;Landroid/view/View;IJ)V │ │ +41a660: 5401 565d |0000: iget-object v1, v0, Lorg/purple/smoke/Steam$2;.this$0:Lorg/purple/smoke/Steam; // field@5d56 │ │ +41a664: 7110 a4b9 0100 |0002: invoke-static {v1}, Lorg/purple/smoke/Steam;.access$400:(Lorg/purple/smoke/Steam;)Landroid/widget/Spinner; // method@b9a4 │ │ +41a66a: 0c01 |0005: move-result-object v1 │ │ +41a66c: 1212 |0006: const/4 v2, #int 1 // #1 │ │ +41a66e: 3803 0400 |0007: if-eqz v3, 000b // +0004 │ │ +41a672: 1213 |0009: const/4 v3, #int 1 // #1 │ │ +41a674: 2802 |000a: goto 000c // +0002 │ │ +41a676: 1203 |000b: const/4 v3, #int 0 // #0 │ │ +41a678: 6e20 c65a 3100 |000c: invoke-virtual {v1, v3}, Landroid/widget/Spinner;.setEnabled:(Z)V // method@5ac6 │ │ +41a67e: 5401 565d |000f: iget-object v1, v0, Lorg/purple/smoke/Steam$2;.this$0:Lorg/purple/smoke/Steam; // field@5d56 │ │ +41a682: 7110 a4b9 0100 |0011: invoke-static {v1}, Lorg/purple/smoke/Steam;.access$400:(Lorg/purple/smoke/Steam;)Landroid/widget/Spinner; // method@b9a4 │ │ +41a688: 0c01 |0014: move-result-object v1 │ │ +41a68a: 6e20 cc5a 2100 |0015: invoke-virtual {v1, v2}, Landroid/widget/Spinner;.setSelection:(I)V // method@5acc │ │ +41a690: 0e00 |0018: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=231 │ │ 0x000f line=232 │ │ locals : │ │ 0x0000 - 0x0019 reg=0 this Lorg/purple/smoke/Steam$2; │ │ 0x0000 - 0x0019 reg=1 (null) Landroid/widget/AdapterView; │ │ @@ -731564,16 +731563,16 @@ │ │ type : '(Landroid/widget/AdapterView;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -41a698: |[41a698] org.purple.smoke.Steam$2.onNothingSelected:(Landroid/widget/AdapterView;)V │ │ -41a6a8: 0e00 |0000: return-void │ │ +41a694: |[41a694] org.purple.smoke.Steam$2.onNothingSelected:(Landroid/widget/AdapterView;)V │ │ +41a6a4: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ source_file_idx : 19282 (Steam.java) │ │ │ │ Class #2682 header: │ │ @@ -731609,18 +731608,18 @@ │ │ type : '(Lorg/purple/smoke/Steam;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -41a6ac: |[41a6ac] org.purple.smoke.Steam$3.:(Lorg/purple/smoke/Steam;)V │ │ -41a6bc: 5b01 575d |0000: iput-object v1, v0, Lorg/purple/smoke/Steam$3;.this$0:Lorg/purple/smoke/Steam; // field@5d57 │ │ -41a6c0: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41a6c6: 0e00 |0005: return-void │ │ +41a6a8: |[41a6a8] org.purple.smoke.Steam$3.:(Lorg/purple/smoke/Steam;)V │ │ +41a6b8: 5b01 575d |0000: iput-object v1, v0, Lorg/purple/smoke/Steam$3;.this$0:Lorg/purple/smoke/Steam; // field@5d57 │ │ +41a6bc: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41a6c2: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=243 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/Steam$3; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/Steam; │ │ │ │ @@ -731630,23 +731629,23 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 15 16-bit code units │ │ -41a6c8: |[41a6c8] org.purple.smoke.Steam$3.onClick:(Landroid/view/View;)V │ │ -41a6d8: 5401 575d |0000: iget-object v1, v0, Lorg/purple/smoke/Steam$3;.this$0:Lorg/purple/smoke/Steam; // field@5d57 │ │ -41a6dc: 6e10 b1b9 0100 |0002: invoke-virtual {v1}, Lorg/purple/smoke/Steam;.isFinishing:()Z // method@b9b1 │ │ -41a6e2: 0a01 |0005: move-result v1 │ │ -41a6e4: 3801 0300 |0006: if-eqz v1, 0009 // +0003 │ │ -41a6e8: 0e00 |0008: return-void │ │ -41a6ea: 5401 575d |0009: iget-object v1, v0, Lorg/purple/smoke/Steam$3;.this$0:Lorg/purple/smoke/Steam; // field@5d57 │ │ -41a6ee: 7110 a5b9 0100 |000b: invoke-static {v1}, Lorg/purple/smoke/Steam;.access$500:(Lorg/purple/smoke/Steam;)V // method@b9a5 │ │ -41a6f4: 0e00 |000e: return-void │ │ +41a6c4: |[41a6c4] org.purple.smoke.Steam$3.onClick:(Landroid/view/View;)V │ │ +41a6d4: 5401 575d |0000: iget-object v1, v0, Lorg/purple/smoke/Steam$3;.this$0:Lorg/purple/smoke/Steam; // field@5d57 │ │ +41a6d8: 6e10 b1b9 0100 |0002: invoke-virtual {v1}, Lorg/purple/smoke/Steam;.isFinishing:()Z // method@b9b1 │ │ +41a6de: 0a01 |0005: move-result v1 │ │ +41a6e0: 3801 0300 |0006: if-eqz v1, 0009 // +0003 │ │ +41a6e4: 0e00 |0008: return-void │ │ +41a6e6: 5401 575d |0009: iget-object v1, v0, Lorg/purple/smoke/Steam$3;.this$0:Lorg/purple/smoke/Steam; // field@5d57 │ │ +41a6ea: 7110 a5b9 0100 |000b: invoke-static {v1}, Lorg/purple/smoke/Steam;.access$500:(Lorg/purple/smoke/Steam;)V // method@b9a5 │ │ +41a6f0: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=246 │ │ 0x0009 line=249 │ │ locals : │ │ 0x0000 - 0x000f reg=0 this Lorg/purple/smoke/Steam$3; │ │ 0x0000 - 0x000f reg=1 (null) Landroid/view/View; │ │ @@ -731694,20 +731693,20 @@ │ │ type : '(Lorg/purple/smoke/Steam$4;II)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -41a6f8: |[41a6f8] org.purple.smoke.Steam$4$1.:(Lorg/purple/smoke/Steam$4;II)V │ │ -41a708: 5b01 585d |0000: iput-object v1, v0, Lorg/purple/smoke/Steam$4$1;.this$1:Lorg/purple/smoke/Steam$4; // field@5d58 │ │ -41a70c: 5902 595d |0002: iput v2, v0, Lorg/purple/smoke/Steam$4$1;.val$availableSteamReaders:I // field@5d59 │ │ -41a710: 5903 5a5d |0004: iput v3, v0, Lorg/purple/smoke/Steam$4$1;.val$availableSteamWriters:I // field@5d5a │ │ -41a714: 7010 8f5c 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41a71a: 0e00 |0009: return-void │ │ +41a6f4: |[41a6f4] org.purple.smoke.Steam$4$1.:(Lorg/purple/smoke/Steam$4;II)V │ │ +41a704: 5b01 585d |0000: iput-object v1, v0, Lorg/purple/smoke/Steam$4$1;.this$1:Lorg/purple/smoke/Steam$4; // field@5d58 │ │ +41a708: 5902 595d |0002: iput v2, v0, Lorg/purple/smoke/Steam$4$1;.val$availableSteamReaders:I // field@5d59 │ │ +41a70c: 5903 5a5d |0004: iput v3, v0, Lorg/purple/smoke/Steam$4$1;.val$availableSteamWriters:I // field@5d5a │ │ +41a710: 7010 8f5c 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41a716: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=272 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Lorg/purple/smoke/Steam$4$1; │ │ 0x0000 - 0x000a reg=1 (null) Lorg/purple/smoke/Steam$4; │ │ 0x0000 - 0x000a reg=2 (null) I │ │ @@ -731719,39 +731718,39 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 52 16-bit code units │ │ -41a71c: |[41a71c] org.purple.smoke.Steam$4$1.run:()V │ │ -41a72c: 5430 585d |0000: iget-object v0, v3, Lorg/purple/smoke/Steam$4$1;.this$1:Lorg/purple/smoke/Steam$4; // field@5d58 │ │ -41a730: 5400 5b5d |0002: iget-object v0, v0, Lorg/purple/smoke/Steam$4;.this$0:Lorg/purple/smoke/Steam; // field@5d5b │ │ -41a734: 7110 a2b9 0000 |0004: invoke-static {v0}, Lorg/purple/smoke/Steam;.access$200:(Lorg/purple/smoke/Steam;)Landroid/support/v7/widget/RecyclerView$Adapter; // method@b9a2 │ │ -41a73a: 0c00 |0007: move-result-object v0 │ │ -41a73c: 6e10 364c 0000 |0008: invoke-virtual {v0}, Landroid/support/v7/widget/RecyclerView$Adapter;.notifyDataSetChanged:()V // method@4c36 │ │ -41a742: 5430 585d |000b: iget-object v0, v3, Lorg/purple/smoke/Steam$4$1;.this$1:Lorg/purple/smoke/Steam$4; // field@5d58 │ │ -41a746: 5400 5b5d |000d: iget-object v0, v0, Lorg/purple/smoke/Steam$4;.this$0:Lorg/purple/smoke/Steam; // field@5d5b │ │ -41a74a: 7110 a6b9 0000 |000f: invoke-static {v0}, Lorg/purple/smoke/Steam;.access$600:(Lorg/purple/smoke/Steam;)Landroid/widget/TextView; // method@b9a6 │ │ -41a750: 0c00 |0012: move-result-object v0 │ │ -41a752: 2201 f10a |0013: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ -41a756: 7010 ee5c 0100 |0015: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41a75c: 1a02 2c0b |0018: const-string v2, "Active Steam Readers: " // string@0b2c │ │ -41a760: 6e20 f95c 2100 |001a: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41a766: 5232 595d |001d: iget v2, v3, Lorg/purple/smoke/Steam$4$1;.val$availableSteamReaders:I // field@5d59 │ │ -41a76a: 6e20 f45c 2100 |001f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@5cf4 │ │ -41a770: 1a02 0900 |0022: const-string v2, " │ │ +41a718: |[41a718] org.purple.smoke.Steam$4$1.run:()V │ │ +41a728: 5430 585d |0000: iget-object v0, v3, Lorg/purple/smoke/Steam$4$1;.this$1:Lorg/purple/smoke/Steam$4; // field@5d58 │ │ +41a72c: 5400 5b5d |0002: iget-object v0, v0, Lorg/purple/smoke/Steam$4;.this$0:Lorg/purple/smoke/Steam; // field@5d5b │ │ +41a730: 7110 a2b9 0000 |0004: invoke-static {v0}, Lorg/purple/smoke/Steam;.access$200:(Lorg/purple/smoke/Steam;)Landroid/support/v7/widget/RecyclerView$Adapter; // method@b9a2 │ │ +41a736: 0c00 |0007: move-result-object v0 │ │ +41a738: 6e10 364c 0000 |0008: invoke-virtual {v0}, Landroid/support/v7/widget/RecyclerView$Adapter;.notifyDataSetChanged:()V // method@4c36 │ │ +41a73e: 5430 585d |000b: iget-object v0, v3, Lorg/purple/smoke/Steam$4$1;.this$1:Lorg/purple/smoke/Steam$4; // field@5d58 │ │ +41a742: 5400 5b5d |000d: iget-object v0, v0, Lorg/purple/smoke/Steam$4;.this$0:Lorg/purple/smoke/Steam; // field@5d5b │ │ +41a746: 7110 a6b9 0000 |000f: invoke-static {v0}, Lorg/purple/smoke/Steam;.access$600:(Lorg/purple/smoke/Steam;)Landroid/widget/TextView; // method@b9a6 │ │ +41a74c: 0c00 |0012: move-result-object v0 │ │ +41a74e: 2201 f10a |0013: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ +41a752: 7010 ee5c 0100 |0015: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41a758: 1a02 2c0b |0018: const-string v2, "Active Steam Readers: " // string@0b2c │ │ +41a75c: 6e20 f95c 2100 |001a: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41a762: 5232 595d |001d: iget v2, v3, Lorg/purple/smoke/Steam$4$1;.val$availableSteamReaders:I // field@5d59 │ │ +41a766: 6e20 f45c 2100 |001f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@5cf4 │ │ +41a76c: 1a02 0900 |0022: const-string v2, " │ │ Active Steam Writers: " // string@0009 │ │ -41a774: 6e20 f95c 2100 |0024: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41a77a: 5232 5a5d |0027: iget v2, v3, Lorg/purple/smoke/Steam$4$1;.val$availableSteamWriters:I // field@5d5a │ │ -41a77e: 6e20 f45c 2100 |0029: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@5cf4 │ │ -41a784: 6e10 035d 0100 |002c: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41a78a: 0c01 |002f: move-result-object v1 │ │ -41a78c: 6e20 495b 1000 |0030: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41a792: 0e00 |0033: return-void │ │ +41a770: 6e20 f95c 2100 |0024: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41a776: 5232 5a5d |0027: iget v2, v3, Lorg/purple/smoke/Steam$4$1;.val$availableSteamWriters:I // field@5d5a │ │ +41a77a: 6e20 f45c 2100 |0029: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@5cf4 │ │ +41a780: 6e10 035d 0100 |002c: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41a786: 0c01 |002f: move-result-object v1 │ │ +41a788: 6e20 495b 1000 |0030: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41a78e: 0e00 |0033: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=276 │ │ 0x000b line=277 │ │ 0x0030 line=278 │ │ locals : │ │ 0x0000 - 0x0034 reg=3 this Lorg/purple/smoke/Steam$4$1; │ │ @@ -731791,18 +731790,18 @@ │ │ type : '(Lorg/purple/smoke/Steam;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -41a794: |[41a794] org.purple.smoke.Steam$4.:(Lorg/purple/smoke/Steam;)V │ │ -41a7a4: 5b01 5b5d |0000: iput-object v1, v0, Lorg/purple/smoke/Steam$4;.this$0:Lorg/purple/smoke/Steam; // field@5d5b │ │ -41a7a8: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41a7ae: 0e00 |0005: return-void │ │ +41a790: |[41a790] org.purple.smoke.Steam$4.:(Lorg/purple/smoke/Steam;)V │ │ +41a7a0: 5b01 5b5d |0000: iput-object v1, v0, Lorg/purple/smoke/Steam$4;.this$0:Lorg/purple/smoke/Steam; // field@5d5b │ │ +41a7a4: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41a7aa: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=260 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/Steam$4; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/Steam; │ │ │ │ @@ -731812,28 +731811,28 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 27 16-bit code units │ │ -41a7b0: |[41a7b0] org.purple.smoke.Steam$4.run:()V │ │ -41a7c0: 7100 02b7 0000 |0000: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ -41a7c6: 0c00 |0003: move-result-object v0 │ │ -41a7c8: 6e10 efb6 0000 |0004: invoke-virtual {v0}, Lorg/purple/smoke/Kernel;.availableSteamReaders:()I // method@b6ef │ │ -41a7ce: 0a00 |0007: move-result v0 │ │ -41a7d0: 7100 02b7 0000 |0008: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ -41a7d6: 0c01 |000b: move-result-object v1 │ │ -41a7d8: 6e10 f0b6 0100 |000c: invoke-virtual {v1}, Lorg/purple/smoke/Kernel;.availableSteamWriters:()I // method@b6f0 │ │ -41a7de: 0a01 |000f: move-result v1 │ │ -41a7e0: 5442 5b5d |0010: iget-object v2, v4, Lorg/purple/smoke/Steam$4;.this$0:Lorg/purple/smoke/Steam; // field@5d5b │ │ -41a7e4: 2203 8b1a |0012: new-instance v3, Lorg/purple/smoke/Steam$4$1; // type@1a8b │ │ -41a7e8: 7040 8db9 4310 |0014: invoke-direct {v3, v4, v0, v1}, Lorg/purple/smoke/Steam$4$1;.:(Lorg/purple/smoke/Steam$4;II)V // method@b98d │ │ -41a7ee: 6e20 c4b9 3200 |0017: invoke-virtual {v2, v3}, Lorg/purple/smoke/Steam;.runOnUiThread:(Ljava/lang/Runnable;)V // method@b9c4 │ │ -41a7f4: 0e00 |001a: return-void │ │ +41a7ac: |[41a7ac] org.purple.smoke.Steam$4.run:()V │ │ +41a7bc: 7100 02b7 0000 |0000: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ +41a7c2: 0c00 |0003: move-result-object v0 │ │ +41a7c4: 6e10 efb6 0000 |0004: invoke-virtual {v0}, Lorg/purple/smoke/Kernel;.availableSteamReaders:()I // method@b6ef │ │ +41a7ca: 0a00 |0007: move-result v0 │ │ +41a7cc: 7100 02b7 0000 |0008: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ +41a7d2: 0c01 |000b: move-result-object v1 │ │ +41a7d4: 6e10 f0b6 0100 |000c: invoke-virtual {v1}, Lorg/purple/smoke/Kernel;.availableSteamWriters:()I // method@b6f0 │ │ +41a7da: 0a01 |000f: move-result v1 │ │ +41a7dc: 5442 5b5d |0010: iget-object v2, v4, Lorg/purple/smoke/Steam$4;.this$0:Lorg/purple/smoke/Steam; // field@5d5b │ │ +41a7e0: 2203 8b1a |0012: new-instance v3, Lorg/purple/smoke/Steam$4$1; // type@1a8b │ │ +41a7e4: 7040 8db9 4310 |0014: invoke-direct {v3, v4, v0, v1}, Lorg/purple/smoke/Steam$4$1;.:(Lorg/purple/smoke/Steam$4;II)V // method@b98d │ │ +41a7ea: 6e20 c4b9 3200 |0017: invoke-virtual {v2, v3}, Lorg/purple/smoke/Steam;.runOnUiThread:(Ljava/lang/Runnable;)V // method@b9c4 │ │ +41a7f0: 0e00 |001a: return-void │ │ catches : 1 │ │ 0x0000 - 0x001a │ │ Ljava/lang/Exception; -> 0x001a │ │ positions : │ │ 0x0000 line=266 │ │ 0x0004 line=267 │ │ 0x0008 line=268 │ │ @@ -731885,20 +731884,20 @@ │ │ type : '(Lorg/purple/smoke/Steam;II)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -41a88c: |[41a88c] org.purple.smoke.Steam$6.:(Lorg/purple/smoke/Steam;II)V │ │ -41a89c: 5b01 5d5d |0000: iput-object v1, v0, Lorg/purple/smoke/Steam$6;.this$0:Lorg/purple/smoke/Steam; // field@5d5d │ │ -41a8a0: 5902 5e5d |0002: iput v2, v0, Lorg/purple/smoke/Steam$6;.val$groupId:I // field@5d5e │ │ -41a8a4: 5903 5f5d |0004: iput v3, v0, Lorg/purple/smoke/Steam$6;.val$itemId:I // field@5d5f │ │ -41a8a8: 7010 8f5c 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41a8ae: 0e00 |0009: return-void │ │ +41a888: |[41a888] org.purple.smoke.Steam$6.:(Lorg/purple/smoke/Steam;II)V │ │ +41a898: 5b01 5d5d |0000: iput-object v1, v0, Lorg/purple/smoke/Steam$6;.this$0:Lorg/purple/smoke/Steam; // field@5d5d │ │ +41a89c: 5902 5e5d |0002: iput v2, v0, Lorg/purple/smoke/Steam$6;.val$groupId:I // field@5d5e │ │ +41a8a0: 5903 5f5d |0004: iput v3, v0, Lorg/purple/smoke/Steam$6;.val$itemId:I // field@5d5f │ │ +41a8a4: 7010 8f5c 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41a8aa: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=609 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Lorg/purple/smoke/Steam$6; │ │ 0x0000 - 0x000a reg=1 (null) Lorg/purple/smoke/Steam; │ │ 0x0000 - 0x000a reg=2 (null) I │ │ @@ -731910,89 +731909,89 @@ │ │ type : '(Landroid/content/DialogInterface;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 5 │ │ insns size : 150 16-bit code units │ │ -41a8b0: |[41a8b0] org.purple.smoke.Steam$6.onCancel:(Landroid/content/DialogInterface;)V │ │ -41a8c0: 5245 5e5d |0000: iget v5, v4, Lorg/purple/smoke/Steam$6;.val$groupId:I // field@5d5e │ │ -41a8c4: 1a00 aea0 |0002: const-string v0, "steam_files" // string@a0ae │ │ -41a8c8: 1a01 00a3 |0004: const-string v1, "true" // string@a300 │ │ -41a8cc: 1a02 6c62 |0006: const-string v2, "dialog_accepted" // string@626c │ │ -41a8d0: 3805 6600 |0008: if-eqz v5, 006e // +0066 │ │ -41a8d4: 1213 |000a: const/4 v3, #int 1 // #1 │ │ -41a8d6: 3235 3000 |000b: if-eq v5, v3, 003b // +0030 │ │ -41a8da: 1270 |000d: const/4 v0, #int 7 // #7 │ │ -41a8dc: 3205 0400 |000e: if-eq v5, v0, 0012 // +0004 │ │ -41a8e0: 2900 8500 |0010: goto/16 0095 // +0085 │ │ -41a8e4: 5445 5d5d |0012: iget-object v5, v4, Lorg/purple/smoke/Steam$6;.this$0:Lorg/purple/smoke/Steam; // field@5d5d │ │ -41a8e8: 7110 a9b9 0500 |0014: invoke-static {v5}, Lorg/purple/smoke/Steam;.access$900:(Lorg/purple/smoke/Steam;)Lorg/purple/smoke/Database; // method@b9a9 │ │ -41a8ee: 0c05 |0017: move-result-object v5 │ │ -41a8f0: 7100 a1b9 0000 |0018: invoke-static {}, Lorg/purple/smoke/Steam;.access$1000:()Lorg/purple/smoke/Cryptography; // method@b9a1 │ │ -41a8f6: 0c00 |001b: move-result-object v0 │ │ -41a8f8: 7100 66b9 0000 |001c: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -41a8fe: 0c01 |001f: move-result-object v1 │ │ -41a900: 6e10 78b9 0100 |0020: invoke-virtual {v1}, Lorg/purple/smoke/State;.selectedSwitches:()Ljava/util/Set; // method@b978 │ │ -41a906: 0c01 |0023: move-result-object v1 │ │ -41a908: 6202 6f00 |0024: sget-object v2, Landroid/os/Environment;.DIRECTORY_DOWNLOADS:Ljava/lang/String; // field@006f │ │ -41a90c: 7110 f304 0200 |0026: invoke-static {v2}, Landroid/os/Environment;.getExternalStoragePublicDirectory:(Ljava/lang/String;)Ljava/io/File; // method@04f3 │ │ -41a912: 0c02 |0029: move-result-object v2 │ │ -41a914: 6e10 a25b 0200 |002a: invoke-virtual {v2}, Ljava/io/File;.toString:()Ljava/lang/String; // method@5ba2 │ │ -41a91a: 0c02 |002d: move-result-object v2 │ │ -41a91c: 5243 5f5d |002e: iget v3, v4, Lorg/purple/smoke/Steam$6;.val$itemId:I // field@5d5f │ │ -41a920: 6e53 20b6 0521 |0030: invoke-virtual {v5, v0, v1, v2, v3}, Lorg/purple/smoke/Database;.steamRoll:(Lorg/purple/smoke/Cryptography;Ljava/util/Set;Ljava/lang/String;I)V // method@b620 │ │ -41a926: 7100 66b9 0000 |0033: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -41a92c: 0c05 |0036: move-result-object v5 │ │ -41a92e: 6e10 5eb9 0500 |0037: invoke-virtual {v5}, Lorg/purple/smoke/State;.clearSelectedSwitches:()V // method@b95e │ │ -41a934: 285b |003a: goto 0095 // +005b │ │ -41a936: 7100 66b9 0000 |003b: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -41a93c: 0c05 |003e: move-result-object v5 │ │ -41a93e: 6e20 67b9 2500 |003f: invoke-virtual {v5, v2}, Lorg/purple/smoke/State;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@b967 │ │ -41a944: 0c05 |0042: move-result-object v5 │ │ -41a946: 6e20 b85c 1500 |0043: invoke-virtual {v5, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41a94c: 0a05 |0046: move-result v5 │ │ -41a94e: 3805 4e00 |0047: if-eqz v5, 0095 // +004e │ │ -41a952: 5445 5d5d |0049: iget-object v5, v4, Lorg/purple/smoke/Steam$6;.this$0:Lorg/purple/smoke/Steam; // field@5d5d │ │ -41a956: 7110 a9b9 0500 |004b: invoke-static {v5}, Lorg/purple/smoke/Steam;.access$900:(Lorg/purple/smoke/Steam;)Lorg/purple/smoke/Database; // method@b9a9 │ │ -41a95c: 0c05 |004e: move-result-object v5 │ │ -41a95e: 5241 5f5d |004f: iget v1, v4, Lorg/purple/smoke/Steam$6;.val$itemId:I // field@5d5f │ │ -41a962: 7110 d55c 0100 |0051: invoke-static {v1}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ -41a968: 0c01 |0054: move-result-object v1 │ │ -41a96a: 6e30 e0b5 1500 |0055: invoke-virtual {v5, v1, v0}, Lorg/purple/smoke/Database;.deleteEntry:(Ljava/lang/String;Ljava/lang/String;)Z // method@b5e0 │ │ -41a970: 0a05 |0058: move-result v5 │ │ -41a972: 3805 3c00 |0059: if-eqz v5, 0095 // +003c │ │ -41a976: 7100 66b9 0000 |005b: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -41a97c: 0c05 |005e: move-result-object v5 │ │ -41a97e: 5240 5f5d |005f: iget v0, v4, Lorg/purple/smoke/Steam$6;.val$itemId:I // field@5d5f │ │ -41a982: 6e20 75b9 0500 |0061: invoke-virtual {v5, v0}, Lorg/purple/smoke/State;.removeSteamDetailsState:(I)V // method@b975 │ │ -41a988: 5445 5d5d |0064: iget-object v5, v4, Lorg/purple/smoke/Steam$6;.this$0:Lorg/purple/smoke/Steam; // field@5d5d │ │ -41a98c: 7110 a2b9 0500 |0066: invoke-static {v5}, Lorg/purple/smoke/Steam;.access$200:(Lorg/purple/smoke/Steam;)Landroid/support/v7/widget/RecyclerView$Adapter; // method@b9a2 │ │ -41a992: 0c05 |0069: move-result-object v5 │ │ -41a994: 6e10 364c 0500 |006a: invoke-virtual {v5}, Landroid/support/v7/widget/RecyclerView$Adapter;.notifyDataSetChanged:()V // method@4c36 │ │ -41a99a: 2828 |006d: goto 0095 // +0028 │ │ -41a99c: 7100 66b9 0000 |006e: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -41a9a2: 0c05 |0071: move-result-object v5 │ │ -41a9a4: 6e20 67b9 2500 |0072: invoke-virtual {v5, v2}, Lorg/purple/smoke/State;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@b967 │ │ -41a9aa: 0c05 |0075: move-result-object v5 │ │ -41a9ac: 6e20 b85c 1500 |0076: invoke-virtual {v5, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41a9b2: 0a05 |0079: move-result v5 │ │ -41a9b4: 3805 1b00 |007a: if-eqz v5, 0095 // +001b │ │ -41a9b8: 7100 66b9 0000 |007c: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -41a9be: 0c05 |007f: move-result-object v5 │ │ -41a9c0: 6e10 5fb9 0500 |0080: invoke-virtual {v5}, Lorg/purple/smoke/State;.clearSteamDetailsStates:()V // method@b95f │ │ -41a9c6: 5445 5d5d |0083: iget-object v5, v4, Lorg/purple/smoke/Steam$6;.this$0:Lorg/purple/smoke/Steam; // field@5d5d │ │ -41a9ca: 7110 a9b9 0500 |0085: invoke-static {v5}, Lorg/purple/smoke/Steam;.access$900:(Lorg/purple/smoke/Steam;)Lorg/purple/smoke/Database; // method@b9a9 │ │ -41a9d0: 0c05 |0088: move-result-object v5 │ │ -41a9d2: 6e20 dab5 0500 |0089: invoke-virtual {v5, v0}, Lorg/purple/smoke/Database;.clearTable:(Ljava/lang/String;)V // method@b5da │ │ -41a9d8: 5445 5d5d |008c: iget-object v5, v4, Lorg/purple/smoke/Steam$6;.this$0:Lorg/purple/smoke/Steam; // field@5d5d │ │ -41a9dc: 7110 a2b9 0500 |008e: invoke-static {v5}, Lorg/purple/smoke/Steam;.access$200:(Lorg/purple/smoke/Steam;)Landroid/support/v7/widget/RecyclerView$Adapter; // method@b9a2 │ │ -41a9e2: 0c05 |0091: move-result-object v5 │ │ -41a9e4: 6e10 364c 0500 |0092: invoke-virtual {v5}, Landroid/support/v7/widget/RecyclerView$Adapter;.notifyDataSetChanged:()V // method@4c36 │ │ -41a9ea: 0e00 |0095: return-void │ │ +41a8ac: |[41a8ac] org.purple.smoke.Steam$6.onCancel:(Landroid/content/DialogInterface;)V │ │ +41a8bc: 5245 5e5d |0000: iget v5, v4, Lorg/purple/smoke/Steam$6;.val$groupId:I // field@5d5e │ │ +41a8c0: 1a00 aea0 |0002: const-string v0, "steam_files" // string@a0ae │ │ +41a8c4: 1a01 00a3 |0004: const-string v1, "true" // string@a300 │ │ +41a8c8: 1a02 6c62 |0006: const-string v2, "dialog_accepted" // string@626c │ │ +41a8cc: 3805 6600 |0008: if-eqz v5, 006e // +0066 │ │ +41a8d0: 1213 |000a: const/4 v3, #int 1 // #1 │ │ +41a8d2: 3235 3000 |000b: if-eq v5, v3, 003b // +0030 │ │ +41a8d6: 1270 |000d: const/4 v0, #int 7 // #7 │ │ +41a8d8: 3205 0400 |000e: if-eq v5, v0, 0012 // +0004 │ │ +41a8dc: 2900 8500 |0010: goto/16 0095 // +0085 │ │ +41a8e0: 5445 5d5d |0012: iget-object v5, v4, Lorg/purple/smoke/Steam$6;.this$0:Lorg/purple/smoke/Steam; // field@5d5d │ │ +41a8e4: 7110 a9b9 0500 |0014: invoke-static {v5}, Lorg/purple/smoke/Steam;.access$900:(Lorg/purple/smoke/Steam;)Lorg/purple/smoke/Database; // method@b9a9 │ │ +41a8ea: 0c05 |0017: move-result-object v5 │ │ +41a8ec: 7100 a1b9 0000 |0018: invoke-static {}, Lorg/purple/smoke/Steam;.access$1000:()Lorg/purple/smoke/Cryptography; // method@b9a1 │ │ +41a8f2: 0c00 |001b: move-result-object v0 │ │ +41a8f4: 7100 66b9 0000 |001c: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +41a8fa: 0c01 |001f: move-result-object v1 │ │ +41a8fc: 6e10 78b9 0100 |0020: invoke-virtual {v1}, Lorg/purple/smoke/State;.selectedSwitches:()Ljava/util/Set; // method@b978 │ │ +41a902: 0c01 |0023: move-result-object v1 │ │ +41a904: 6202 6f00 |0024: sget-object v2, Landroid/os/Environment;.DIRECTORY_DOWNLOADS:Ljava/lang/String; // field@006f │ │ +41a908: 7110 f304 0200 |0026: invoke-static {v2}, Landroid/os/Environment;.getExternalStoragePublicDirectory:(Ljava/lang/String;)Ljava/io/File; // method@04f3 │ │ +41a90e: 0c02 |0029: move-result-object v2 │ │ +41a910: 6e10 a25b 0200 |002a: invoke-virtual {v2}, Ljava/io/File;.toString:()Ljava/lang/String; // method@5ba2 │ │ +41a916: 0c02 |002d: move-result-object v2 │ │ +41a918: 5243 5f5d |002e: iget v3, v4, Lorg/purple/smoke/Steam$6;.val$itemId:I // field@5d5f │ │ +41a91c: 6e53 20b6 0521 |0030: invoke-virtual {v5, v0, v1, v2, v3}, Lorg/purple/smoke/Database;.steamRoll:(Lorg/purple/smoke/Cryptography;Ljava/util/Set;Ljava/lang/String;I)V // method@b620 │ │ +41a922: 7100 66b9 0000 |0033: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +41a928: 0c05 |0036: move-result-object v5 │ │ +41a92a: 6e10 5eb9 0500 |0037: invoke-virtual {v5}, Lorg/purple/smoke/State;.clearSelectedSwitches:()V // method@b95e │ │ +41a930: 285b |003a: goto 0095 // +005b │ │ +41a932: 7100 66b9 0000 |003b: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +41a938: 0c05 |003e: move-result-object v5 │ │ +41a93a: 6e20 67b9 2500 |003f: invoke-virtual {v5, v2}, Lorg/purple/smoke/State;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@b967 │ │ +41a940: 0c05 |0042: move-result-object v5 │ │ +41a942: 6e20 b85c 1500 |0043: invoke-virtual {v5, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41a948: 0a05 |0046: move-result v5 │ │ +41a94a: 3805 4e00 |0047: if-eqz v5, 0095 // +004e │ │ +41a94e: 5445 5d5d |0049: iget-object v5, v4, Lorg/purple/smoke/Steam$6;.this$0:Lorg/purple/smoke/Steam; // field@5d5d │ │ +41a952: 7110 a9b9 0500 |004b: invoke-static {v5}, Lorg/purple/smoke/Steam;.access$900:(Lorg/purple/smoke/Steam;)Lorg/purple/smoke/Database; // method@b9a9 │ │ +41a958: 0c05 |004e: move-result-object v5 │ │ +41a95a: 5241 5f5d |004f: iget v1, v4, Lorg/purple/smoke/Steam$6;.val$itemId:I // field@5d5f │ │ +41a95e: 7110 d55c 0100 |0051: invoke-static {v1}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ +41a964: 0c01 |0054: move-result-object v1 │ │ +41a966: 6e30 e0b5 1500 |0055: invoke-virtual {v5, v1, v0}, Lorg/purple/smoke/Database;.deleteEntry:(Ljava/lang/String;Ljava/lang/String;)Z // method@b5e0 │ │ +41a96c: 0a05 |0058: move-result v5 │ │ +41a96e: 3805 3c00 |0059: if-eqz v5, 0095 // +003c │ │ +41a972: 7100 66b9 0000 |005b: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +41a978: 0c05 |005e: move-result-object v5 │ │ +41a97a: 5240 5f5d |005f: iget v0, v4, Lorg/purple/smoke/Steam$6;.val$itemId:I // field@5d5f │ │ +41a97e: 6e20 75b9 0500 |0061: invoke-virtual {v5, v0}, Lorg/purple/smoke/State;.removeSteamDetailsState:(I)V // method@b975 │ │ +41a984: 5445 5d5d |0064: iget-object v5, v4, Lorg/purple/smoke/Steam$6;.this$0:Lorg/purple/smoke/Steam; // field@5d5d │ │ +41a988: 7110 a2b9 0500 |0066: invoke-static {v5}, Lorg/purple/smoke/Steam;.access$200:(Lorg/purple/smoke/Steam;)Landroid/support/v7/widget/RecyclerView$Adapter; // method@b9a2 │ │ +41a98e: 0c05 |0069: move-result-object v5 │ │ +41a990: 6e10 364c 0500 |006a: invoke-virtual {v5}, Landroid/support/v7/widget/RecyclerView$Adapter;.notifyDataSetChanged:()V // method@4c36 │ │ +41a996: 2828 |006d: goto 0095 // +0028 │ │ +41a998: 7100 66b9 0000 |006e: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +41a99e: 0c05 |0071: move-result-object v5 │ │ +41a9a0: 6e20 67b9 2500 |0072: invoke-virtual {v5, v2}, Lorg/purple/smoke/State;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@b967 │ │ +41a9a6: 0c05 |0075: move-result-object v5 │ │ +41a9a8: 6e20 b85c 1500 |0076: invoke-virtual {v5, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41a9ae: 0a05 |0079: move-result v5 │ │ +41a9b0: 3805 1b00 |007a: if-eqz v5, 0095 // +001b │ │ +41a9b4: 7100 66b9 0000 |007c: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +41a9ba: 0c05 |007f: move-result-object v5 │ │ +41a9bc: 6e10 5fb9 0500 |0080: invoke-virtual {v5}, Lorg/purple/smoke/State;.clearSteamDetailsStates:()V // method@b95f │ │ +41a9c2: 5445 5d5d |0083: iget-object v5, v4, Lorg/purple/smoke/Steam$6;.this$0:Lorg/purple/smoke/Steam; // field@5d5d │ │ +41a9c6: 7110 a9b9 0500 |0085: invoke-static {v5}, Lorg/purple/smoke/Steam;.access$900:(Lorg/purple/smoke/Steam;)Lorg/purple/smoke/Database; // method@b9a9 │ │ +41a9cc: 0c05 |0088: move-result-object v5 │ │ +41a9ce: 6e20 dab5 0500 |0089: invoke-virtual {v5, v0}, Lorg/purple/smoke/Database;.clearTable:(Ljava/lang/String;)V // method@b5da │ │ +41a9d4: 5445 5d5d |008c: iget-object v5, v4, Lorg/purple/smoke/Steam$6;.this$0:Lorg/purple/smoke/Steam; // field@5d5d │ │ +41a9d8: 7110 a2b9 0500 |008e: invoke-static {v5}, Lorg/purple/smoke/Steam;.access$200:(Lorg/purple/smoke/Steam;)Landroid/support/v7/widget/RecyclerView$Adapter; // method@b9a2 │ │ +41a9de: 0c05 |0091: move-result-object v5 │ │ +41a9e0: 6e10 364c 0500 |0092: invoke-virtual {v5}, Landroid/support/v7/widget/RecyclerView$Adapter;.notifyDataSetChanged:()V // method@4c36 │ │ +41a9e6: 0e00 |0095: return-void │ │ catches : 2 │ │ 0x0049 - 0x006d │ │ Ljava/lang/Exception; -> 0x0095 │ │ 0x007c - 0x0095 │ │ Ljava/lang/Exception; -> 0x0095 │ │ positions : │ │ 0x0000 line=612 │ │ @@ -732088,17 +732087,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -41aa04: |[41aa04] org.purple.smoke.Steam$ContextMenuEnumerator.:()V │ │ -41aa14: 7010 8f5c 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41aa1a: 0e00 |0003: return-void │ │ +41aa00: |[41aa00] org.purple.smoke.Steam$ContextMenuEnumerator.:()V │ │ +41aa10: 7010 8f5c 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41aa16: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=149 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lorg/purple/smoke/Steam$ContextMenuEnumerator; │ │ │ │ Virtual methods - │ │ @@ -732136,18 +732135,18 @@ │ │ type : '(Lorg/purple/smoke/Steam;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -41aa1c: |[41aa1c] org.purple.smoke.Steam$SteamBroadcastReceiver.:(Lorg/purple/smoke/Steam;)V │ │ -41aa2c: 5b01 685d |0000: iput-object v1, v0, Lorg/purple/smoke/Steam$SteamBroadcastReceiver;.this$0:Lorg/purple/smoke/Steam; // field@5d68 │ │ -41aa30: 7010 4201 0000 |0002: invoke-direct {v0}, Landroid/content/BroadcastReceiver;.:()V // method@0142 │ │ -41aa36: 0e00 |0005: return-void │ │ +41aa18: |[41aa18] org.purple.smoke.Steam$SteamBroadcastReceiver.:(Lorg/purple/smoke/Steam;)V │ │ +41aa28: 5b01 685d |0000: iput-object v1, v0, Lorg/purple/smoke/Steam$SteamBroadcastReceiver;.this$0:Lorg/purple/smoke/Steam; // field@5d68 │ │ +41aa2c: 7010 4201 0000 |0002: invoke-direct {v0}, Landroid/content/BroadcastReceiver;.:()V // method@0142 │ │ +41aa32: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=62 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/Steam$SteamBroadcastReceiver; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/Steam; │ │ │ │ @@ -732157,114 +732156,114 @@ │ │ type : '(Landroid/content/Context;Landroid/content/Intent;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 228 16-bit code units │ │ -41aa38: |[41aa38] org.purple.smoke.Steam$SteamBroadcastReceiver.onReceive:(Landroid/content/Context;Landroid/content/Intent;)V │ │ -41aa48: 3804 ad00 |0000: if-eqz v4, 00ad // +00ad │ │ -41aa4c: 6e10 a501 0400 |0002: invoke-virtual {v4}, Landroid/content/Intent;.getAction:()Ljava/lang/String; // method@01a5 │ │ -41aa52: 0c03 |0005: move-result-object v3 │ │ -41aa54: 3903 0400 |0006: if-nez v3, 000a // +0004 │ │ -41aa58: 2900 a500 |0008: goto/16 00ad // +00a5 │ │ -41aa5c: 6e10 a501 0400 |000a: invoke-virtual {v4}, Landroid/content/Intent;.getAction:()Ljava/lang/String; // method@01a5 │ │ -41aa62: 0c03 |000d: move-result-object v3 │ │ -41aa64: 6e10 bf5c 0300 |000e: invoke-virtual {v3}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ -41aa6a: 12f0 |0011: const/4 v0, #int -1 // #ff │ │ -41aa6c: 6e10 bf5c 0300 |0012: invoke-virtual {v3}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ -41aa72: 0a01 |0015: move-result v1 │ │ -41aa74: 2c01 9800 0000 |0016: sparse-switch v1, 000000ae // +00000098 │ │ -41aa7a: 2900 5900 |0019: goto/16 0072 // +0059 │ │ -41aa7e: 1a01 d58f |001b: const-string v1, "org.purple.smoke.state_participants_populated" // string@8fd5 │ │ -41aa82: 6e20 b85c 1300 |001d: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41aa88: 0a03 |0020: move-result v3 │ │ -41aa8a: 3903 0300 |0021: if-nez v3, 0024 // +0003 │ │ -41aa8e: 284f |0023: goto 0072 // +004f │ │ -41aa90: 1270 |0024: const/4 v0, #int 7 // #7 │ │ -41aa92: 284d |0025: goto 0072 // +004d │ │ -41aa94: 1a01 d88f |0026: const-string v1, "org.purple.smoke.steam_status" // string@8fd8 │ │ -41aa98: 6e20 b85c 1300 |0028: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41aa9e: 0a03 |002b: move-result v3 │ │ -41aaa0: 3903 0300 |002c: if-nez v3, 002f // +0003 │ │ -41aaa4: 2844 |002e: goto 0072 // +0044 │ │ -41aaa6: 1260 |002f: const/4 v0, #int 6 // #6 │ │ -41aaa8: 2842 |0030: goto 0072 // +0042 │ │ -41aaaa: 1a01 cc8f |0031: const-string v1, "org.purple.smoke.network_connected" // string@8fcc │ │ -41aaae: 6e20 b85c 1300 |0033: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41aab4: 0a03 |0036: move-result v3 │ │ -41aab6: 3903 0300 |0037: if-nez v3, 003a // +0003 │ │ -41aaba: 2839 |0039: goto 0072 // +0039 │ │ -41aabc: 1250 |003a: const/4 v0, #int 5 // #5 │ │ -41aabe: 2837 |003b: goto 0072 // +0037 │ │ -41aac0: 1a01 c18f |003c: const-string v1, "org.purple.smoke.chat_message" // string@8fc1 │ │ -41aac4: 6e20 b85c 1300 |003e: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41aaca: 0a03 |0041: move-result v3 │ │ -41aacc: 3903 0300 |0042: if-nez v3, 0045 // +0003 │ │ -41aad0: 282e |0044: goto 0072 // +002e │ │ -41aad2: 1240 |0045: const/4 v0, #int 4 // #4 │ │ -41aad4: 282c |0046: goto 0072 // +002c │ │ -41aad6: 1a01 d98f |0047: const-string v1, "org.purple.smoke.time" // string@8fd9 │ │ -41aada: 6e20 b85c 1300 |0049: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41aae0: 0a03 |004c: move-result v3 │ │ -41aae2: 3903 0300 |004d: if-nez v3, 0050 // +0003 │ │ -41aae6: 2823 |004f: goto 0072 // +0023 │ │ -41aae8: 1230 |0050: const/4 v0, #int 3 // #3 │ │ -41aaea: 2821 |0051: goto 0072 // +0021 │ │ -41aaec: 1a01 d68f |0052: const-string v1, "org.purple.smoke.steam_added" // string@8fd6 │ │ -41aaf0: 6e20 b85c 1300 |0054: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41aaf6: 0a03 |0057: move-result v3 │ │ -41aaf8: 3903 0300 |0058: if-nez v3, 005b // +0003 │ │ -41aafc: 2818 |005a: goto 0072 // +0018 │ │ -41aafe: 1220 |005b: const/4 v0, #int 2 // #2 │ │ -41ab00: 2816 |005c: goto 0072 // +0016 │ │ -41ab02: 1a01 ca8f |005d: const-string v1, "org.purple.smoke.neighbor_connected" // string@8fca │ │ -41ab06: 6e20 b85c 1300 |005f: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41ab0c: 0a03 |0062: move-result v3 │ │ -41ab0e: 3903 0300 |0063: if-nez v3, 0066 // +0003 │ │ -41ab12: 280d |0065: goto 0072 // +000d │ │ -41ab14: 1210 |0066: const/4 v0, #int 1 // #1 │ │ -41ab16: 280b |0067: goto 0072 // +000b │ │ -41ab18: 1a01 cd8f |0068: const-string v1, "org.purple.smoke.network_disconnected" // string@8fcd │ │ -41ab1c: 6e20 b85c 1300 |006a: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41ab22: 0a03 |006d: move-result v3 │ │ -41ab24: 3903 0300 |006e: if-nez v3, 0071 // +0003 │ │ -41ab28: 2802 |0070: goto 0072 // +0002 │ │ -41ab2a: 1200 |0071: const/4 v0, #int 0 // #0 │ │ -41ab2c: 1403 9900 087f |0072: const v3, #float 1.80778e+38 // #7f080099 │ │ -41ab32: 2b00 5b00 0000 |0075: packed-switch v0, 000000d0 // +0000005b │ │ -41ab38: 2835 |0078: goto 00ad // +0035 │ │ -41ab3a: 5423 685d |0079: iget-object v3, v2, Lorg/purple/smoke/Steam$SteamBroadcastReceiver;.this$0:Lorg/purple/smoke/Steam; // field@5d68 │ │ -41ab3e: 6e10 b0b9 0300 |007b: invoke-virtual {v3}, Lorg/purple/smoke/Steam;.invalidateOptionsMenu:()V // method@b9b0 │ │ -41ab44: 5423 685d |007e: iget-object v3, v2, Lorg/purple/smoke/Steam$SteamBroadcastReceiver;.this$0:Lorg/purple/smoke/Steam; // field@5d68 │ │ -41ab48: 7110 a0b9 0300 |0080: invoke-static {v3}, Lorg/purple/smoke/Steam;.access$100:(Lorg/purple/smoke/Steam;)V // method@b9a0 │ │ -41ab4e: 282a |0083: goto 00ad // +002a │ │ -41ab50: 5420 685d |0084: iget-object v0, v2, Lorg/purple/smoke/Steam$SteamBroadcastReceiver;.this$0:Lorg/purple/smoke/Steam; // field@5d68 │ │ -41ab54: 6e20 aab9 3000 |0086: invoke-virtual {v0, v3}, Lorg/purple/smoke/Steam;.findViewById:(I)Landroid/view/View; // method@b9aa │ │ -41ab5a: 0c03 |0089: move-result-object v3 │ │ -41ab5c: 7130 edb7 4003 |008a: invoke-static {v0, v4, v3}, Lorg/purple/smoke/Miscellaneous;.showNotification:(Landroid/content/Context;Landroid/content/Intent;Landroid/view/View;)V // method@b7ed │ │ -41ab62: 2820 |008d: goto 00ad // +0020 │ │ -41ab64: 5420 685d |008e: iget-object v0, v2, Lorg/purple/smoke/Steam$SteamBroadcastReceiver;.this$0:Lorg/purple/smoke/Steam; // field@5d68 │ │ -41ab68: 6e20 aab9 3000 |0090: invoke-virtual {v0, v3}, Lorg/purple/smoke/Steam;.findViewById:(I)Landroid/view/View; // method@b9aa │ │ -41ab6e: 0c03 |0093: move-result-object v3 │ │ -41ab70: 7130 edb7 4003 |0094: invoke-static {v0, v4, v3}, Lorg/purple/smoke/Miscellaneous;.showNotification:(Landroid/content/Context;Landroid/content/Intent;Landroid/view/View;)V // method@b7ed │ │ -41ab76: 2816 |0097: goto 00ad // +0016 │ │ -41ab78: 5423 685d |0098: iget-object v3, v2, Lorg/purple/smoke/Steam$SteamBroadcastReceiver;.this$0:Lorg/purple/smoke/Steam; // field@5d68 │ │ -41ab7c: 7110 a2b9 0300 |009a: invoke-static {v3}, Lorg/purple/smoke/Steam;.access$200:(Lorg/purple/smoke/Steam;)Landroid/support/v7/widget/RecyclerView$Adapter; // method@b9a2 │ │ -41ab82: 0c03 |009d: move-result-object v3 │ │ -41ab84: 6e10 364c 0300 |009e: invoke-virtual {v3}, Landroid/support/v7/widget/RecyclerView$Adapter;.notifyDataSetChanged:()V // method@4c36 │ │ -41ab8a: 280c |00a1: goto 00ad // +000c │ │ -41ab8c: 5423 685d |00a2: iget-object v3, v2, Lorg/purple/smoke/Steam$SteamBroadcastReceiver;.this$0:Lorg/purple/smoke/Steam; // field@5d68 │ │ -41ab90: 7110 9fb9 0300 |00a4: invoke-static {v3}, Lorg/purple/smoke/Steam;.access$000:(Lorg/purple/smoke/Steam;)V // method@b99f │ │ -41ab96: 2806 |00a7: goto 00ad // +0006 │ │ -41ab98: 5423 685d |00a8: iget-object v3, v2, Lorg/purple/smoke/Steam$SteamBroadcastReceiver;.this$0:Lorg/purple/smoke/Steam; // field@5d68 │ │ -41ab9c: 7110 9fb9 0300 |00aa: invoke-static {v3}, Lorg/purple/smoke/Steam;.access$000:(Lorg/purple/smoke/Steam;)V // method@b99f │ │ -41aba2: 0e00 |00ad: return-void │ │ -41aba4: 0002 0800 b350 d3ac c38f deb3 6a4d ... |00ae: sparse-switch-data (34 units) │ │ -41abe8: 0001 0800 0000 0000 3300 0000 2d00 ... |00d0: packed-switch-data (20 units) │ │ +41aa34: |[41aa34] org.purple.smoke.Steam$SteamBroadcastReceiver.onReceive:(Landroid/content/Context;Landroid/content/Intent;)V │ │ +41aa44: 3804 ad00 |0000: if-eqz v4, 00ad // +00ad │ │ +41aa48: 6e10 a501 0400 |0002: invoke-virtual {v4}, Landroid/content/Intent;.getAction:()Ljava/lang/String; // method@01a5 │ │ +41aa4e: 0c03 |0005: move-result-object v3 │ │ +41aa50: 3903 0400 |0006: if-nez v3, 000a // +0004 │ │ +41aa54: 2900 a500 |0008: goto/16 00ad // +00a5 │ │ +41aa58: 6e10 a501 0400 |000a: invoke-virtual {v4}, Landroid/content/Intent;.getAction:()Ljava/lang/String; // method@01a5 │ │ +41aa5e: 0c03 |000d: move-result-object v3 │ │ +41aa60: 6e10 bf5c 0300 |000e: invoke-virtual {v3}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ +41aa66: 12f0 |0011: const/4 v0, #int -1 // #ff │ │ +41aa68: 6e10 bf5c 0300 |0012: invoke-virtual {v3}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ +41aa6e: 0a01 |0015: move-result v1 │ │ +41aa70: 2c01 9800 0000 |0016: sparse-switch v1, 000000ae // +00000098 │ │ +41aa76: 2900 5900 |0019: goto/16 0072 // +0059 │ │ +41aa7a: 1a01 d58f |001b: const-string v1, "org.purple.smoke.state_participants_populated" // string@8fd5 │ │ +41aa7e: 6e20 b85c 1300 |001d: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41aa84: 0a03 |0020: move-result v3 │ │ +41aa86: 3903 0300 |0021: if-nez v3, 0024 // +0003 │ │ +41aa8a: 284f |0023: goto 0072 // +004f │ │ +41aa8c: 1270 |0024: const/4 v0, #int 7 // #7 │ │ +41aa8e: 284d |0025: goto 0072 // +004d │ │ +41aa90: 1a01 d88f |0026: const-string v1, "org.purple.smoke.steam_status" // string@8fd8 │ │ +41aa94: 6e20 b85c 1300 |0028: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41aa9a: 0a03 |002b: move-result v3 │ │ +41aa9c: 3903 0300 |002c: if-nez v3, 002f // +0003 │ │ +41aaa0: 2844 |002e: goto 0072 // +0044 │ │ +41aaa2: 1260 |002f: const/4 v0, #int 6 // #6 │ │ +41aaa4: 2842 |0030: goto 0072 // +0042 │ │ +41aaa6: 1a01 cc8f |0031: const-string v1, "org.purple.smoke.network_connected" // string@8fcc │ │ +41aaaa: 6e20 b85c 1300 |0033: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41aab0: 0a03 |0036: move-result v3 │ │ +41aab2: 3903 0300 |0037: if-nez v3, 003a // +0003 │ │ +41aab6: 2839 |0039: goto 0072 // +0039 │ │ +41aab8: 1250 |003a: const/4 v0, #int 5 // #5 │ │ +41aaba: 2837 |003b: goto 0072 // +0037 │ │ +41aabc: 1a01 c18f |003c: const-string v1, "org.purple.smoke.chat_message" // string@8fc1 │ │ +41aac0: 6e20 b85c 1300 |003e: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41aac6: 0a03 |0041: move-result v3 │ │ +41aac8: 3903 0300 |0042: if-nez v3, 0045 // +0003 │ │ +41aacc: 282e |0044: goto 0072 // +002e │ │ +41aace: 1240 |0045: const/4 v0, #int 4 // #4 │ │ +41aad0: 282c |0046: goto 0072 // +002c │ │ +41aad2: 1a01 d98f |0047: const-string v1, "org.purple.smoke.time" // string@8fd9 │ │ +41aad6: 6e20 b85c 1300 |0049: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41aadc: 0a03 |004c: move-result v3 │ │ +41aade: 3903 0300 |004d: if-nez v3, 0050 // +0003 │ │ +41aae2: 2823 |004f: goto 0072 // +0023 │ │ +41aae4: 1230 |0050: const/4 v0, #int 3 // #3 │ │ +41aae6: 2821 |0051: goto 0072 // +0021 │ │ +41aae8: 1a01 d68f |0052: const-string v1, "org.purple.smoke.steam_added" // string@8fd6 │ │ +41aaec: 6e20 b85c 1300 |0054: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41aaf2: 0a03 |0057: move-result v3 │ │ +41aaf4: 3903 0300 |0058: if-nez v3, 005b // +0003 │ │ +41aaf8: 2818 |005a: goto 0072 // +0018 │ │ +41aafa: 1220 |005b: const/4 v0, #int 2 // #2 │ │ +41aafc: 2816 |005c: goto 0072 // +0016 │ │ +41aafe: 1a01 ca8f |005d: const-string v1, "org.purple.smoke.neighbor_connected" // string@8fca │ │ +41ab02: 6e20 b85c 1300 |005f: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41ab08: 0a03 |0062: move-result v3 │ │ +41ab0a: 3903 0300 |0063: if-nez v3, 0066 // +0003 │ │ +41ab0e: 280d |0065: goto 0072 // +000d │ │ +41ab10: 1210 |0066: const/4 v0, #int 1 // #1 │ │ +41ab12: 280b |0067: goto 0072 // +000b │ │ +41ab14: 1a01 cd8f |0068: const-string v1, "org.purple.smoke.network_disconnected" // string@8fcd │ │ +41ab18: 6e20 b85c 1300 |006a: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41ab1e: 0a03 |006d: move-result v3 │ │ +41ab20: 3903 0300 |006e: if-nez v3, 0071 // +0003 │ │ +41ab24: 2802 |0070: goto 0072 // +0002 │ │ +41ab26: 1200 |0071: const/4 v0, #int 0 // #0 │ │ +41ab28: 1403 9900 087f |0072: const v3, #float 1.80778e+38 // #7f080099 │ │ +41ab2e: 2b00 5b00 0000 |0075: packed-switch v0, 000000d0 // +0000005b │ │ +41ab34: 2835 |0078: goto 00ad // +0035 │ │ +41ab36: 5423 685d |0079: iget-object v3, v2, Lorg/purple/smoke/Steam$SteamBroadcastReceiver;.this$0:Lorg/purple/smoke/Steam; // field@5d68 │ │ +41ab3a: 6e10 b0b9 0300 |007b: invoke-virtual {v3}, Lorg/purple/smoke/Steam;.invalidateOptionsMenu:()V // method@b9b0 │ │ +41ab40: 5423 685d |007e: iget-object v3, v2, Lorg/purple/smoke/Steam$SteamBroadcastReceiver;.this$0:Lorg/purple/smoke/Steam; // field@5d68 │ │ +41ab44: 7110 a0b9 0300 |0080: invoke-static {v3}, Lorg/purple/smoke/Steam;.access$100:(Lorg/purple/smoke/Steam;)V // method@b9a0 │ │ +41ab4a: 282a |0083: goto 00ad // +002a │ │ +41ab4c: 5420 685d |0084: iget-object v0, v2, Lorg/purple/smoke/Steam$SteamBroadcastReceiver;.this$0:Lorg/purple/smoke/Steam; // field@5d68 │ │ +41ab50: 6e20 aab9 3000 |0086: invoke-virtual {v0, v3}, Lorg/purple/smoke/Steam;.findViewById:(I)Landroid/view/View; // method@b9aa │ │ +41ab56: 0c03 |0089: move-result-object v3 │ │ +41ab58: 7130 edb7 4003 |008a: invoke-static {v0, v4, v3}, Lorg/purple/smoke/Miscellaneous;.showNotification:(Landroid/content/Context;Landroid/content/Intent;Landroid/view/View;)V // method@b7ed │ │ +41ab5e: 2820 |008d: goto 00ad // +0020 │ │ +41ab60: 5420 685d |008e: iget-object v0, v2, Lorg/purple/smoke/Steam$SteamBroadcastReceiver;.this$0:Lorg/purple/smoke/Steam; // field@5d68 │ │ +41ab64: 6e20 aab9 3000 |0090: invoke-virtual {v0, v3}, Lorg/purple/smoke/Steam;.findViewById:(I)Landroid/view/View; // method@b9aa │ │ +41ab6a: 0c03 |0093: move-result-object v3 │ │ +41ab6c: 7130 edb7 4003 |0094: invoke-static {v0, v4, v3}, Lorg/purple/smoke/Miscellaneous;.showNotification:(Landroid/content/Context;Landroid/content/Intent;Landroid/view/View;)V // method@b7ed │ │ +41ab72: 2816 |0097: goto 00ad // +0016 │ │ +41ab74: 5423 685d |0098: iget-object v3, v2, Lorg/purple/smoke/Steam$SteamBroadcastReceiver;.this$0:Lorg/purple/smoke/Steam; // field@5d68 │ │ +41ab78: 7110 a2b9 0300 |009a: invoke-static {v3}, Lorg/purple/smoke/Steam;.access$200:(Lorg/purple/smoke/Steam;)Landroid/support/v7/widget/RecyclerView$Adapter; // method@b9a2 │ │ +41ab7e: 0c03 |009d: move-result-object v3 │ │ +41ab80: 6e10 364c 0300 |009e: invoke-virtual {v3}, Landroid/support/v7/widget/RecyclerView$Adapter;.notifyDataSetChanged:()V // method@4c36 │ │ +41ab86: 280c |00a1: goto 00ad // +000c │ │ +41ab88: 5423 685d |00a2: iget-object v3, v2, Lorg/purple/smoke/Steam$SteamBroadcastReceiver;.this$0:Lorg/purple/smoke/Steam; // field@5d68 │ │ +41ab8c: 7110 9fb9 0300 |00a4: invoke-static {v3}, Lorg/purple/smoke/Steam;.access$000:(Lorg/purple/smoke/Steam;)V // method@b99f │ │ +41ab92: 2806 |00a7: goto 00ad // +0006 │ │ +41ab94: 5423 685d |00a8: iget-object v3, v2, Lorg/purple/smoke/Steam$SteamBroadcastReceiver;.this$0:Lorg/purple/smoke/Steam; // field@5d68 │ │ +41ab98: 7110 9fb9 0300 |00aa: invoke-static {v3}, Lorg/purple/smoke/Steam;.access$000:(Lorg/purple/smoke/Steam;)V // method@b99f │ │ +41ab9e: 0e00 |00ad: return-void │ │ +41aba0: 0002 0800 b350 d3ac c38f deb3 6a4d ... |00ae: sparse-switch-data (34 units) │ │ +41abe4: 0001 0800 0000 0000 3300 0000 2d00 ... |00d0: packed-switch-data (20 units) │ │ catches : (none) │ │ positions : │ │ 0x0002 line=68 │ │ 0x000a line=71 │ │ 0x0079 line=85 │ │ 0x007e line=86 │ │ 0x0084 line=74 │ │ @@ -732314,18 +732313,18 @@ │ │ type : '(Lorg/purple/smoke/SteamBubble;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -41af2c: |[41af2c] org.purple.smoke.SteamBubble$1.:(Lorg/purple/smoke/SteamBubble;)V │ │ -41af3c: 5b01 815d |0000: iput-object v1, v0, Lorg/purple/smoke/SteamBubble$1;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d81 │ │ -41af40: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41af46: 0e00 |0005: return-void │ │ +41af28: |[41af28] org.purple.smoke.SteamBubble$1.:(Lorg/purple/smoke/SteamBubble;)V │ │ +41af38: 5b01 815d |0000: iput-object v1, v0, Lorg/purple/smoke/SteamBubble$1;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d81 │ │ +41af3c: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41af42: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=140 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/SteamBubble$1; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/SteamBubble; │ │ │ │ @@ -732335,88 +732334,88 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 14 │ │ ins : 2 │ │ outs : 7 │ │ insns size : 162 16-bit code units │ │ -41af48: |[41af48] org.purple.smoke.SteamBubble$1.onClick:(Landroid/view/View;)V │ │ -41af58: 54cd 815d |0000: iget-object v13, v12, Lorg/purple/smoke/SteamBubble$1;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d81 │ │ -41af5c: 7110 e9b9 0d00 |0002: invoke-static {v13}, Lorg/purple/smoke/SteamBubble;.access$000:(Lorg/purple/smoke/SteamBubble;)Ljava/lang/String; // method@b9e9 │ │ -41af62: 0c0d |0005: move-result-object v13 │ │ -41af64: 6e10 bf5c 0d00 |0006: invoke-virtual {v13}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ -41af6a: 6e10 bf5c 0d00 |0009: invoke-virtual {v13}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ -41af70: 0a00 |000c: move-result v0 │ │ -41af72: 12f1 |000d: const/4 v1, #int -1 // #ff │ │ -41af74: 2c00 7c00 0000 |000e: sparse-switch v0, 0000008a // +0000007c │ │ -41af7a: 2821 |0011: goto 0032 // +0021 │ │ -41af7c: 1a00 ed90 |0012: const-string v0, "pause" // string@90ed │ │ -41af80: 6e20 b85c 0d00 |0014: invoke-virtual {v13, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41af86: 0a0d |0017: move-result v13 │ │ -41af88: 390d 0300 |0018: if-nez v13, 001b // +0003 │ │ -41af8c: 2818 |001a: goto 0032 // +0018 │ │ -41af8e: 1221 |001b: const/4 v1, #int 2 // #2 │ │ -41af90: 2816 |001c: goto 0032 // +0016 │ │ -41af92: 1a00 0496 |001d: const-string v0, "rewind" // string@9604 │ │ -41af96: 6e20 b85c 0d00 |001f: invoke-virtual {v13, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41af9c: 0a0d |0022: move-result v13 │ │ -41af9e: 390d 0300 |0023: if-nez v13, 0026 // +0003 │ │ -41afa2: 280d |0025: goto 0032 // +000d │ │ -41afa4: 1211 |0026: const/4 v1, #int 1 // #1 │ │ -41afa6: 280b |0027: goto 0032 // +000b │ │ -41afa8: 1a00 e095 |0028: const-string v0, "resume" // string@95e0 │ │ -41afac: 6e20 b85c 0d00 |002a: invoke-virtual {v13, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41afb2: 0a0d |002d: move-result v13 │ │ -41afb4: 390d 0300 |002e: if-nez v13, 0031 // +0003 │ │ -41afb8: 2802 |0030: goto 0032 // +0002 │ │ -41afba: 1201 |0031: const/4 v1, #int 0 // #0 │ │ -41afbc: 1a0d d88f |0032: const-string v13, "org.purple.smoke.steam_status" // string@8fd8 │ │ -41afc0: 2b01 6400 0000 |0034: packed-switch v1, 00000098 // +00000064 │ │ -41afc6: 2852 |0037: goto 0089 // +0052 │ │ -41afc8: 54c0 815d |0038: iget-object v0, v12, Lorg/purple/smoke/SteamBubble$1;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d81 │ │ -41afcc: 7110 eab9 0000 |003a: invoke-static {v0}, Lorg/purple/smoke/SteamBubble;.access$100:(Lorg/purple/smoke/SteamBubble;)Landroid/widget/TextView; // method@b9ea │ │ -41afd2: 0c00 |003d: move-result-object v0 │ │ -41afd4: 1a01 8618 |003e: const-string v1, "ETA: stalled" // string@1886 │ │ -41afd8: 6e20 495b 1000 |0040: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41afde: 7100 edb9 0000 |0043: invoke-static {}, Lorg/purple/smoke/SteamBubble;.access$400:()Lorg/purple/smoke/Database; // method@b9ed │ │ -41afe4: 0c00 |0046: move-result-object v0 │ │ -41afe6: 7100 ebb9 0000 |0047: invoke-static {}, Lorg/purple/smoke/SteamBubble;.access$200:()Lorg/purple/smoke/Cryptography; // method@b9eb │ │ -41afec: 0c01 |004a: move-result-object v1 │ │ -41afee: 54c2 815d |004b: iget-object v2, v12, Lorg/purple/smoke/SteamBubble$1;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d81 │ │ -41aff2: 7110 ecb9 0200 |004d: invoke-static {v2}, Lorg/purple/smoke/SteamBubble;.access$300:(Lorg/purple/smoke/SteamBubble;)I // method@b9ec │ │ -41aff8: 0a02 |0050: move-result v2 │ │ -41affa: 1a03 f190 |0051: const-string v3, "paused" // string@90f1 │ │ -41affe: 1a04 c404 |0053: const-string v4, "0.00 B / s" // string@04c4 │ │ -41b002: 6e52 38b6 1043 |0055: invoke-virtual {v0, v1, v3, v4, v2}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;I)V // method@b638 │ │ -41b008: 7110 e9b7 0d00 |0058: invoke-static {v13}, Lorg/purple/smoke/Miscellaneous;.sendBroadcast:(Ljava/lang/String;)V // method@b7e9 │ │ -41b00e: 282e |005b: goto 0089 // +002e │ │ -41b010: 7100 edb9 0000 |005c: invoke-static {}, Lorg/purple/smoke/SteamBubble;.access$400:()Lorg/purple/smoke/Database; // method@b9ed │ │ -41b016: 0c05 |005f: move-result-object v5 │ │ -41b018: 7100 ebb9 0000 |0060: invoke-static {}, Lorg/purple/smoke/SteamBubble;.access$200:()Lorg/purple/smoke/Cryptography; // method@b9eb │ │ -41b01e: 0c06 |0063: move-result-object v6 │ │ -41b020: 54c0 815d |0064: iget-object v0, v12, Lorg/purple/smoke/SteamBubble$1;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d81 │ │ -41b024: 7110 ecb9 0000 |0066: invoke-static {v0}, Lorg/purple/smoke/SteamBubble;.access$300:(Lorg/purple/smoke/SteamBubble;)I // method@b9ec │ │ -41b02a: 0a09 |0069: move-result v9 │ │ -41b02c: 160a 0000 |006a: const-wide/16 v10, #int 0 // #0 │ │ -41b030: 1a07 0496 |006c: const-string v7, "rewind" // string@9604 │ │ -41b034: 1a08 c404 |006e: const-string v8, "0.00 B / s" // string@04c4 │ │ -41b038: 7407 39b6 0500 |0070: invoke-virtual/range {v5, v6, v7, v8, v9, v10, v11}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ -41b03e: 7110 e9b7 0d00 |0073: invoke-static {v13}, Lorg/purple/smoke/Miscellaneous;.sendBroadcast:(Ljava/lang/String;)V // method@b7e9 │ │ -41b044: 2813 |0076: goto 0089 // +0013 │ │ -41b046: 7100 edb9 0000 |0077: invoke-static {}, Lorg/purple/smoke/SteamBubble;.access$400:()Lorg/purple/smoke/Database; // method@b9ed │ │ -41b04c: 0c00 |007a: move-result-object v0 │ │ -41b04e: 54c1 815d |007b: iget-object v1, v12, Lorg/purple/smoke/SteamBubble$1;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d81 │ │ -41b052: 7110 ecb9 0100 |007d: invoke-static {v1}, Lorg/purple/smoke/SteamBubble;.access$300:(Lorg/purple/smoke/SteamBubble;)I // method@b9ec │ │ -41b058: 0a01 |0080: move-result v1 │ │ -41b05a: 1a02 d2a2 |0081: const-string v2, "transferring" // string@a2d2 │ │ -41b05e: 6e30 36b6 2001 |0083: invoke-virtual {v0, v2, v1}, Lorg/purple/smoke/Database;.writeSteamStatus:(Ljava/lang/String;I)V // method@b636 │ │ -41b064: 7110 e9b7 0d00 |0086: invoke-static {v13}, Lorg/purple/smoke/Miscellaneous;.sendBroadcast:(Ljava/lang/String;)V // method@b7e9 │ │ -41b06a: 0e00 |0089: return-void │ │ -41b06c: 0002 0300 2dc8 4dc8 bb6c 4fc8 f625 ... |008a: sparse-switch-data (14 units) │ │ -41b088: 0001 0300 0000 0000 4300 0000 2800 ... |0098: packed-switch-data (10 units) │ │ +41af44: |[41af44] org.purple.smoke.SteamBubble$1.onClick:(Landroid/view/View;)V │ │ +41af54: 54cd 815d |0000: iget-object v13, v12, Lorg/purple/smoke/SteamBubble$1;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d81 │ │ +41af58: 7110 e9b9 0d00 |0002: invoke-static {v13}, Lorg/purple/smoke/SteamBubble;.access$000:(Lorg/purple/smoke/SteamBubble;)Ljava/lang/String; // method@b9e9 │ │ +41af5e: 0c0d |0005: move-result-object v13 │ │ +41af60: 6e10 bf5c 0d00 |0006: invoke-virtual {v13}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ +41af66: 6e10 bf5c 0d00 |0009: invoke-virtual {v13}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ +41af6c: 0a00 |000c: move-result v0 │ │ +41af6e: 12f1 |000d: const/4 v1, #int -1 // #ff │ │ +41af70: 2c00 7c00 0000 |000e: sparse-switch v0, 0000008a // +0000007c │ │ +41af76: 2821 |0011: goto 0032 // +0021 │ │ +41af78: 1a00 ed90 |0012: const-string v0, "pause" // string@90ed │ │ +41af7c: 6e20 b85c 0d00 |0014: invoke-virtual {v13, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41af82: 0a0d |0017: move-result v13 │ │ +41af84: 390d 0300 |0018: if-nez v13, 001b // +0003 │ │ +41af88: 2818 |001a: goto 0032 // +0018 │ │ +41af8a: 1221 |001b: const/4 v1, #int 2 // #2 │ │ +41af8c: 2816 |001c: goto 0032 // +0016 │ │ +41af8e: 1a00 0496 |001d: const-string v0, "rewind" // string@9604 │ │ +41af92: 6e20 b85c 0d00 |001f: invoke-virtual {v13, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41af98: 0a0d |0022: move-result v13 │ │ +41af9a: 390d 0300 |0023: if-nez v13, 0026 // +0003 │ │ +41af9e: 280d |0025: goto 0032 // +000d │ │ +41afa0: 1211 |0026: const/4 v1, #int 1 // #1 │ │ +41afa2: 280b |0027: goto 0032 // +000b │ │ +41afa4: 1a00 e095 |0028: const-string v0, "resume" // string@95e0 │ │ +41afa8: 6e20 b85c 0d00 |002a: invoke-virtual {v13, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41afae: 0a0d |002d: move-result v13 │ │ +41afb0: 390d 0300 |002e: if-nez v13, 0031 // +0003 │ │ +41afb4: 2802 |0030: goto 0032 // +0002 │ │ +41afb6: 1201 |0031: const/4 v1, #int 0 // #0 │ │ +41afb8: 1a0d d88f |0032: const-string v13, "org.purple.smoke.steam_status" // string@8fd8 │ │ +41afbc: 2b01 6400 0000 |0034: packed-switch v1, 00000098 // +00000064 │ │ +41afc2: 2852 |0037: goto 0089 // +0052 │ │ +41afc4: 54c0 815d |0038: iget-object v0, v12, Lorg/purple/smoke/SteamBubble$1;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d81 │ │ +41afc8: 7110 eab9 0000 |003a: invoke-static {v0}, Lorg/purple/smoke/SteamBubble;.access$100:(Lorg/purple/smoke/SteamBubble;)Landroid/widget/TextView; // method@b9ea │ │ +41afce: 0c00 |003d: move-result-object v0 │ │ +41afd0: 1a01 8618 |003e: const-string v1, "ETA: stalled" // string@1886 │ │ +41afd4: 6e20 495b 1000 |0040: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41afda: 7100 edb9 0000 |0043: invoke-static {}, Lorg/purple/smoke/SteamBubble;.access$400:()Lorg/purple/smoke/Database; // method@b9ed │ │ +41afe0: 0c00 |0046: move-result-object v0 │ │ +41afe2: 7100 ebb9 0000 |0047: invoke-static {}, Lorg/purple/smoke/SteamBubble;.access$200:()Lorg/purple/smoke/Cryptography; // method@b9eb │ │ +41afe8: 0c01 |004a: move-result-object v1 │ │ +41afea: 54c2 815d |004b: iget-object v2, v12, Lorg/purple/smoke/SteamBubble$1;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d81 │ │ +41afee: 7110 ecb9 0200 |004d: invoke-static {v2}, Lorg/purple/smoke/SteamBubble;.access$300:(Lorg/purple/smoke/SteamBubble;)I // method@b9ec │ │ +41aff4: 0a02 |0050: move-result v2 │ │ +41aff6: 1a03 f190 |0051: const-string v3, "paused" // string@90f1 │ │ +41affa: 1a04 c404 |0053: const-string v4, "0.00 B / s" // string@04c4 │ │ +41affe: 6e52 38b6 1043 |0055: invoke-virtual {v0, v1, v3, v4, v2}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;I)V // method@b638 │ │ +41b004: 7110 e9b7 0d00 |0058: invoke-static {v13}, Lorg/purple/smoke/Miscellaneous;.sendBroadcast:(Ljava/lang/String;)V // method@b7e9 │ │ +41b00a: 282e |005b: goto 0089 // +002e │ │ +41b00c: 7100 edb9 0000 |005c: invoke-static {}, Lorg/purple/smoke/SteamBubble;.access$400:()Lorg/purple/smoke/Database; // method@b9ed │ │ +41b012: 0c05 |005f: move-result-object v5 │ │ +41b014: 7100 ebb9 0000 |0060: invoke-static {}, Lorg/purple/smoke/SteamBubble;.access$200:()Lorg/purple/smoke/Cryptography; // method@b9eb │ │ +41b01a: 0c06 |0063: move-result-object v6 │ │ +41b01c: 54c0 815d |0064: iget-object v0, v12, Lorg/purple/smoke/SteamBubble$1;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d81 │ │ +41b020: 7110 ecb9 0000 |0066: invoke-static {v0}, Lorg/purple/smoke/SteamBubble;.access$300:(Lorg/purple/smoke/SteamBubble;)I // method@b9ec │ │ +41b026: 0a09 |0069: move-result v9 │ │ +41b028: 160a 0000 |006a: const-wide/16 v10, #int 0 // #0 │ │ +41b02c: 1a07 0496 |006c: const-string v7, "rewind" // string@9604 │ │ +41b030: 1a08 c404 |006e: const-string v8, "0.00 B / s" // string@04c4 │ │ +41b034: 7407 39b6 0500 |0070: invoke-virtual/range {v5, v6, v7, v8, v9, v10, v11}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ +41b03a: 7110 e9b7 0d00 |0073: invoke-static {v13}, Lorg/purple/smoke/Miscellaneous;.sendBroadcast:(Ljava/lang/String;)V // method@b7e9 │ │ +41b040: 2813 |0076: goto 0089 // +0013 │ │ +41b042: 7100 edb9 0000 |0077: invoke-static {}, Lorg/purple/smoke/SteamBubble;.access$400:()Lorg/purple/smoke/Database; // method@b9ed │ │ +41b048: 0c00 |007a: move-result-object v0 │ │ +41b04a: 54c1 815d |007b: iget-object v1, v12, Lorg/purple/smoke/SteamBubble$1;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d81 │ │ +41b04e: 7110 ecb9 0100 |007d: invoke-static {v1}, Lorg/purple/smoke/SteamBubble;.access$300:(Lorg/purple/smoke/SteamBubble;)I // method@b9ec │ │ +41b054: 0a01 |0080: move-result v1 │ │ +41b056: 1a02 d2a2 |0081: const-string v2, "transferring" // string@a2d2 │ │ +41b05a: 6e30 36b6 2001 |0083: invoke-virtual {v0, v2, v1}, Lorg/purple/smoke/Database;.writeSteamStatus:(Ljava/lang/String;I)V // method@b636 │ │ +41b060: 7110 e9b7 0d00 |0086: invoke-static {v13}, Lorg/purple/smoke/Miscellaneous;.sendBroadcast:(Ljava/lang/String;)V // method@b7e9 │ │ +41b066: 0e00 |0089: return-void │ │ +41b068: 0002 0300 2dc8 4dc8 bb6c 4fc8 f625 ... |008a: sparse-switch-data (14 units) │ │ +41b084: 0001 0300 0000 0000 4300 0000 2800 ... |0098: packed-switch-data (10 units) │ │ catches : (none) │ │ positions : │ │ 0x0000 line=143 │ │ 0x0038 line=146 │ │ 0x0043 line=147 │ │ 0x0047 line=148 │ │ 0x0058 line=150 │ │ @@ -732466,18 +732465,18 @@ │ │ type : '(Lorg/purple/smoke/SteamBubble;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -41b09c: |[41b09c] org.purple.smoke.SteamBubble$2.:(Lorg/purple/smoke/SteamBubble;)V │ │ -41b0ac: 5b01 825d |0000: iput-object v1, v0, Lorg/purple/smoke/SteamBubble$2;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d82 │ │ -41b0b0: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41b0b6: 0e00 |0005: return-void │ │ +41b098: |[41b098] org.purple.smoke.SteamBubble$2.:(Lorg/purple/smoke/SteamBubble;)V │ │ +41b0a8: 5b01 825d |0000: iput-object v1, v0, Lorg/purple/smoke/SteamBubble$2;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d82 │ │ +41b0ac: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41b0b2: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=176 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/SteamBubble$2; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/SteamBubble; │ │ │ │ @@ -732487,42 +732486,42 @@ │ │ type : '(Landroid/widget/CompoundButton;Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 56 16-bit code units │ │ -41b0b8: |[41b0b8] org.purple.smoke.SteamBubble$2.onCheckedChanged:(Landroid/widget/CompoundButton;Z)V │ │ -41b0c8: 7100 66b9 0000 |0000: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -41b0ce: 0c02 |0003: move-result-object v2 │ │ -41b0d0: 5410 825d |0004: iget-object v0, v1, Lorg/purple/smoke/SteamBubble$2;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d82 │ │ -41b0d4: 7110 ecb9 0000 |0006: invoke-static {v0}, Lorg/purple/smoke/SteamBubble;.access$300:(Lorg/purple/smoke/SteamBubble;)I // method@b9ec │ │ -41b0da: 0a00 |0009: move-result v0 │ │ -41b0dc: 6e30 80b9 3200 |000a: invoke-virtual {v2, v3, v0}, Lorg/purple/smoke/State;.setSteamDetailsState:(ZI)V // method@b980 │ │ -41b0e2: 3803 1600 |000d: if-eqz v3, 0023 // +0016 │ │ -41b0e6: 5412 825d |000f: iget-object v2, v1, Lorg/purple/smoke/SteamBubble$2;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d82 │ │ -41b0ea: 7110 eeb9 0200 |0011: invoke-static {v2}, Lorg/purple/smoke/SteamBubble;.access$500:(Lorg/purple/smoke/SteamBubble;)Landroid/widget/LinearLayout; // method@b9ee │ │ -41b0f0: 0c02 |0014: move-result-object v2 │ │ -41b0f2: 1203 |0015: const/4 v3, #int 0 // #0 │ │ -41b0f4: 6e20 e859 3200 |0016: invoke-virtual {v2, v3}, Landroid/widget/LinearLayout;.setVisibility:(I)V // method@59e8 │ │ -41b0fa: 5412 825d |0019: iget-object v2, v1, Lorg/purple/smoke/SteamBubble$2;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d82 │ │ -41b0fe: 7110 efb9 0200 |001b: invoke-static {v2}, Lorg/purple/smoke/SteamBubble;.access$600:(Lorg/purple/smoke/SteamBubble;)Landroid/widget/LinearLayout; // method@b9ef │ │ -41b104: 0c02 |001e: move-result-object v2 │ │ -41b106: 6e20 e859 3200 |001f: invoke-virtual {v2, v3}, Landroid/widget/LinearLayout;.setVisibility:(I)V // method@59e8 │ │ -41b10c: 2815 |0022: goto 0037 // +0015 │ │ -41b10e: 5412 825d |0023: iget-object v2, v1, Lorg/purple/smoke/SteamBubble$2;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d82 │ │ -41b112: 7110 eeb9 0200 |0025: invoke-static {v2}, Lorg/purple/smoke/SteamBubble;.access$500:(Lorg/purple/smoke/SteamBubble;)Landroid/widget/LinearLayout; // method@b9ee │ │ -41b118: 0c02 |0028: move-result-object v2 │ │ -41b11a: 1303 0800 |0029: const/16 v3, #int 8 // #8 │ │ -41b11e: 6e20 e859 3200 |002b: invoke-virtual {v2, v3}, Landroid/widget/LinearLayout;.setVisibility:(I)V // method@59e8 │ │ -41b124: 5412 825d |002e: iget-object v2, v1, Lorg/purple/smoke/SteamBubble$2;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d82 │ │ -41b128: 7110 efb9 0200 |0030: invoke-static {v2}, Lorg/purple/smoke/SteamBubble;.access$600:(Lorg/purple/smoke/SteamBubble;)Landroid/widget/LinearLayout; // method@b9ef │ │ -41b12e: 0c02 |0033: move-result-object v2 │ │ -41b130: 6e20 e859 3200 |0034: invoke-virtual {v2, v3}, Landroid/widget/LinearLayout;.setVisibility:(I)V // method@59e8 │ │ -41b136: 0e00 |0037: return-void │ │ +41b0b4: |[41b0b4] org.purple.smoke.SteamBubble$2.onCheckedChanged:(Landroid/widget/CompoundButton;Z)V │ │ +41b0c4: 7100 66b9 0000 |0000: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +41b0ca: 0c02 |0003: move-result-object v2 │ │ +41b0cc: 5410 825d |0004: iget-object v0, v1, Lorg/purple/smoke/SteamBubble$2;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d82 │ │ +41b0d0: 7110 ecb9 0000 |0006: invoke-static {v0}, Lorg/purple/smoke/SteamBubble;.access$300:(Lorg/purple/smoke/SteamBubble;)I // method@b9ec │ │ +41b0d6: 0a00 |0009: move-result v0 │ │ +41b0d8: 6e30 80b9 3200 |000a: invoke-virtual {v2, v3, v0}, Lorg/purple/smoke/State;.setSteamDetailsState:(ZI)V // method@b980 │ │ +41b0de: 3803 1600 |000d: if-eqz v3, 0023 // +0016 │ │ +41b0e2: 5412 825d |000f: iget-object v2, v1, Lorg/purple/smoke/SteamBubble$2;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d82 │ │ +41b0e6: 7110 eeb9 0200 |0011: invoke-static {v2}, Lorg/purple/smoke/SteamBubble;.access$500:(Lorg/purple/smoke/SteamBubble;)Landroid/widget/LinearLayout; // method@b9ee │ │ +41b0ec: 0c02 |0014: move-result-object v2 │ │ +41b0ee: 1203 |0015: const/4 v3, #int 0 // #0 │ │ +41b0f0: 6e20 e859 3200 |0016: invoke-virtual {v2, v3}, Landroid/widget/LinearLayout;.setVisibility:(I)V // method@59e8 │ │ +41b0f6: 5412 825d |0019: iget-object v2, v1, Lorg/purple/smoke/SteamBubble$2;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d82 │ │ +41b0fa: 7110 efb9 0200 |001b: invoke-static {v2}, Lorg/purple/smoke/SteamBubble;.access$600:(Lorg/purple/smoke/SteamBubble;)Landroid/widget/LinearLayout; // method@b9ef │ │ +41b100: 0c02 |001e: move-result-object v2 │ │ +41b102: 6e20 e859 3200 |001f: invoke-virtual {v2, v3}, Landroid/widget/LinearLayout;.setVisibility:(I)V // method@59e8 │ │ +41b108: 2815 |0022: goto 0037 // +0015 │ │ +41b10a: 5412 825d |0023: iget-object v2, v1, Lorg/purple/smoke/SteamBubble$2;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d82 │ │ +41b10e: 7110 eeb9 0200 |0025: invoke-static {v2}, Lorg/purple/smoke/SteamBubble;.access$500:(Lorg/purple/smoke/SteamBubble;)Landroid/widget/LinearLayout; // method@b9ee │ │ +41b114: 0c02 |0028: move-result-object v2 │ │ +41b116: 1303 0800 |0029: const/16 v3, #int 8 // #8 │ │ +41b11a: 6e20 e859 3200 |002b: invoke-virtual {v2, v3}, Landroid/widget/LinearLayout;.setVisibility:(I)V // method@59e8 │ │ +41b120: 5412 825d |002e: iget-object v2, v1, Lorg/purple/smoke/SteamBubble$2;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d82 │ │ +41b124: 7110 efb9 0200 |0030: invoke-static {v2}, Lorg/purple/smoke/SteamBubble;.access$600:(Lorg/purple/smoke/SteamBubble;)Landroid/widget/LinearLayout; // method@b9ef │ │ +41b12a: 0c02 |0033: move-result-object v2 │ │ +41b12c: 6e20 e859 3200 |0034: invoke-virtual {v2, v3}, Landroid/widget/LinearLayout;.setVisibility:(I)V // method@59e8 │ │ +41b132: 0e00 |0037: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=181 │ │ 0x000f line=185 │ │ 0x0019 line=186 │ │ 0x0023 line=190 │ │ 0x002e line=191 │ │ @@ -732566,18 +732565,18 @@ │ │ type : '(Lorg/purple/smoke/SteamBubble;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -41b138: |[41b138] org.purple.smoke.SteamBubble$3.:(Lorg/purple/smoke/SteamBubble;)V │ │ -41b148: 5b01 835d |0000: iput-object v1, v0, Lorg/purple/smoke/SteamBubble$3;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d83 │ │ -41b14c: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41b152: 0e00 |0005: return-void │ │ +41b134: |[41b134] org.purple.smoke.SteamBubble$3.:(Lorg/purple/smoke/SteamBubble;)V │ │ +41b144: 5b01 835d |0000: iput-object v1, v0, Lorg/purple/smoke/SteamBubble$3;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d83 │ │ +41b148: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41b14e: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=213 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/SteamBubble$3; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/SteamBubble; │ │ │ │ @@ -732587,20 +732586,20 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 10 16-bit code units │ │ -41b154: |[41b154] org.purple.smoke.SteamBubble$3.onClick:(Landroid/view/View;)V │ │ -41b164: 5410 835d |0000: iget-object v0, v1, Lorg/purple/smoke/SteamBubble$3;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d83 │ │ -41b168: 7110 f0b9 0000 |0002: invoke-static {v0}, Lorg/purple/smoke/SteamBubble;.access$700:(Lorg/purple/smoke/SteamBubble;)Lorg/purple/smoke/Steam; // method@b9f0 │ │ -41b16e: 0c00 |0005: move-result-object v0 │ │ -41b170: 6e20 c9b9 2000 |0006: invoke-virtual {v0, v2}, Lorg/purple/smoke/Steam;.showContextMenu:(Landroid/view/View;)V // method@b9c9 │ │ -41b176: 0e00 |0009: return-void │ │ +41b150: |[41b150] org.purple.smoke.SteamBubble$3.onClick:(Landroid/view/View;)V │ │ +41b160: 5410 835d |0000: iget-object v0, v1, Lorg/purple/smoke/SteamBubble$3;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d83 │ │ +41b164: 7110 f0b9 0000 |0002: invoke-static {v0}, Lorg/purple/smoke/SteamBubble;.access$700:(Lorg/purple/smoke/SteamBubble;)Lorg/purple/smoke/Steam; // method@b9f0 │ │ +41b16a: 0c00 |0005: move-result-object v0 │ │ +41b16c: 6e20 c9b9 2000 |0006: invoke-virtual {v0, v2}, Lorg/purple/smoke/Steam;.showContextMenu:(Landroid/view/View;)V // method@b9c9 │ │ +41b172: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=216 │ │ locals : │ │ 0x0000 - 0x000a reg=1 this Lorg/purple/smoke/SteamBubble$3; │ │ 0x0000 - 0x000a reg=2 (null) Landroid/view/View; │ │ │ │ @@ -732639,18 +732638,18 @@ │ │ type : '(Lorg/purple/smoke/SteamBubble;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -41b178: |[41b178] org.purple.smoke.SteamBubble$4.:(Lorg/purple/smoke/SteamBubble;)V │ │ -41b188: 5b01 845d |0000: iput-object v1, v0, Lorg/purple/smoke/SteamBubble$4;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d84 │ │ -41b18c: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41b192: 0e00 |0005: return-void │ │ +41b174: |[41b174] org.purple.smoke.SteamBubble$4.:(Lorg/purple/smoke/SteamBubble;)V │ │ +41b184: 5b01 845d |0000: iput-object v1, v0, Lorg/purple/smoke/SteamBubble$4;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d84 │ │ +41b188: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41b18e: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=223 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/SteamBubble$4; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/SteamBubble; │ │ │ │ @@ -732660,61 +732659,61 @@ │ │ type : '(Landroid/widget/SeekBar;IZ)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 85 16-bit code units │ │ -41b194: |[41b194] org.purple.smoke.SteamBubble$4.onProgressChanged:(Landroid/widget/SeekBar;IZ)V │ │ -41b1a4: 1234 |0000: const/4 v4, #int 3 // #3 │ │ -41b1a6: 1220 |0001: const/4 v0, #int 2 // #2 │ │ -41b1a8: 1211 |0002: const/4 v1, #int 1 // #1 │ │ -41b1aa: 1242 |0003: const/4 v2, #int 4 // #4 │ │ -41b1ac: 3805 0b00 |0004: if-eqz v5, 000f // +000b │ │ -41b1b0: 3215 0900 |0006: if-eq v5, v1, 000f // +0009 │ │ -41b1b4: 3205 0700 |0008: if-eq v5, v0, 000f // +0007 │ │ -41b1b8: 3245 0500 |000a: if-eq v5, v4, 000f // +0005 │ │ -41b1bc: 3225 0300 |000c: if-eq v5, v2, 000f // +0003 │ │ -41b1c0: 2846 |000e: goto 0054 // +0046 │ │ -41b1c2: 3215 1a00 |000f: if-eq v5, v1, 0029 // +001a │ │ -41b1c6: 3205 1300 |0011: if-eq v5, v0, 0024 // +0013 │ │ -41b1ca: 3245 0c00 |0013: if-eq v5, v4, 001f // +000c │ │ -41b1ce: 3225 0500 |0015: if-eq v5, v2, 001a // +0005 │ │ -41b1d2: 1a04 bb07 |0017: const-string v4, "4 reads / s" // string@07bb │ │ -41b1d6: 2814 |0019: goto 002d // +0014 │ │ -41b1d8: 1302 6400 |001a: const/16 v2, #int 100 // #64 │ │ -41b1dc: 1a04 5706 |001c: const-string v4, "100 reads / s" // string@0657 │ │ -41b1e0: 280f |001e: goto 002d // +000f │ │ -41b1e2: 1302 3200 |001f: const/16 v2, #int 50 // #32 │ │ -41b1e6: 1a04 e107 |0021: const-string v4, "50 reads / s" // string@07e1 │ │ -41b1ea: 280a |0023: goto 002d // +000a │ │ -41b1ec: 1302 1400 |0024: const/16 v2, #int 20 // #14 │ │ -41b1f0: 1a04 3707 |0026: const-string v4, "20 reads / s" // string@0737 │ │ -41b1f4: 2805 |0028: goto 002d // +0005 │ │ -41b1f6: 1302 0a00 |0029: const/16 v2, #int 10 // #a │ │ -41b1fa: 1a04 5406 |002b: const-string v4, "10 reads / s" // string@0654 │ │ -41b1fe: 5435 845d |002d: iget-object v5, v3, Lorg/purple/smoke/SteamBubble$4;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d84 │ │ -41b202: 7110 f1b9 0500 |002f: invoke-static {v5}, Lorg/purple/smoke/SteamBubble;.access$800:(Lorg/purple/smoke/SteamBubble;)Landroid/widget/TextView; // method@b9f1 │ │ -41b208: 0c05 |0032: move-result-object v5 │ │ -41b20a: 6e20 495b 4500 |0033: invoke-virtual {v5, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41b210: 3806 1e00 |0036: if-eqz v6, 0054 // +001e │ │ -41b214: 7100 edb9 0000 |0038: invoke-static {}, Lorg/purple/smoke/SteamBubble;.access$400:()Lorg/purple/smoke/Database; // method@b9ed │ │ -41b21a: 0c04 |003b: move-result-object v4 │ │ -41b21c: 7100 ebb9 0000 |003c: invoke-static {}, Lorg/purple/smoke/SteamBubble;.access$200:()Lorg/purple/smoke/Cryptography; // method@b9eb │ │ -41b222: 0c05 |003f: move-result-object v5 │ │ -41b224: 5436 845d |0040: iget-object v6, v3, Lorg/purple/smoke/SteamBubble$4;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d84 │ │ -41b228: 7110 ecb9 0600 |0042: invoke-static {v6}, Lorg/purple/smoke/SteamBubble;.access$300:(Lorg/purple/smoke/SteamBubble;)I // method@b9ec │ │ -41b22e: 0a06 |0045: move-result v6 │ │ -41b230: 6e40 37b6 5426 |0046: invoke-virtual {v4, v5, v6, v2}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;II)V // method@b637 │ │ -41b236: 5434 845d |0049: iget-object v4, v3, Lorg/purple/smoke/SteamBubble$4;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d84 │ │ -41b23a: 7110 ecb9 0400 |004b: invoke-static {v4}, Lorg/purple/smoke/SteamBubble;.access$300:(Lorg/purple/smoke/SteamBubble;)I // method@b9ec │ │ -41b240: 0a04 |004e: move-result v4 │ │ -41b242: 1a05 d78f |004f: const-string v5, "org.purple.smoke.steam_read_interval_change" // string@8fd7 │ │ -41b246: 7130 eab7 4502 |0051: invoke-static {v5, v4, v2}, Lorg/purple/smoke/Miscellaneous;.sendBroadcast:(Ljava/lang/String;II)V // method@b7ea │ │ -41b24c: 0e00 |0054: return-void │ │ +41b190: |[41b190] org.purple.smoke.SteamBubble$4.onProgressChanged:(Landroid/widget/SeekBar;IZ)V │ │ +41b1a0: 1234 |0000: const/4 v4, #int 3 // #3 │ │ +41b1a2: 1220 |0001: const/4 v0, #int 2 // #2 │ │ +41b1a4: 1211 |0002: const/4 v1, #int 1 // #1 │ │ +41b1a6: 1242 |0003: const/4 v2, #int 4 // #4 │ │ +41b1a8: 3805 0b00 |0004: if-eqz v5, 000f // +000b │ │ +41b1ac: 3215 0900 |0006: if-eq v5, v1, 000f // +0009 │ │ +41b1b0: 3205 0700 |0008: if-eq v5, v0, 000f // +0007 │ │ +41b1b4: 3245 0500 |000a: if-eq v5, v4, 000f // +0005 │ │ +41b1b8: 3225 0300 |000c: if-eq v5, v2, 000f // +0003 │ │ +41b1bc: 2846 |000e: goto 0054 // +0046 │ │ +41b1be: 3215 1a00 |000f: if-eq v5, v1, 0029 // +001a │ │ +41b1c2: 3205 1300 |0011: if-eq v5, v0, 0024 // +0013 │ │ +41b1c6: 3245 0c00 |0013: if-eq v5, v4, 001f // +000c │ │ +41b1ca: 3225 0500 |0015: if-eq v5, v2, 001a // +0005 │ │ +41b1ce: 1a04 bb07 |0017: const-string v4, "4 reads / s" // string@07bb │ │ +41b1d2: 2814 |0019: goto 002d // +0014 │ │ +41b1d4: 1302 6400 |001a: const/16 v2, #int 100 // #64 │ │ +41b1d8: 1a04 5706 |001c: const-string v4, "100 reads / s" // string@0657 │ │ +41b1dc: 280f |001e: goto 002d // +000f │ │ +41b1de: 1302 3200 |001f: const/16 v2, #int 50 // #32 │ │ +41b1e2: 1a04 e107 |0021: const-string v4, "50 reads / s" // string@07e1 │ │ +41b1e6: 280a |0023: goto 002d // +000a │ │ +41b1e8: 1302 1400 |0024: const/16 v2, #int 20 // #14 │ │ +41b1ec: 1a04 3707 |0026: const-string v4, "20 reads / s" // string@0737 │ │ +41b1f0: 2805 |0028: goto 002d // +0005 │ │ +41b1f2: 1302 0a00 |0029: const/16 v2, #int 10 // #a │ │ +41b1f6: 1a04 5406 |002b: const-string v4, "10 reads / s" // string@0654 │ │ +41b1fa: 5435 845d |002d: iget-object v5, v3, Lorg/purple/smoke/SteamBubble$4;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d84 │ │ +41b1fe: 7110 f1b9 0500 |002f: invoke-static {v5}, Lorg/purple/smoke/SteamBubble;.access$800:(Lorg/purple/smoke/SteamBubble;)Landroid/widget/TextView; // method@b9f1 │ │ +41b204: 0c05 |0032: move-result-object v5 │ │ +41b206: 6e20 495b 4500 |0033: invoke-virtual {v5, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41b20c: 3806 1e00 |0036: if-eqz v6, 0054 // +001e │ │ +41b210: 7100 edb9 0000 |0038: invoke-static {}, Lorg/purple/smoke/SteamBubble;.access$400:()Lorg/purple/smoke/Database; // method@b9ed │ │ +41b216: 0c04 |003b: move-result-object v4 │ │ +41b218: 7100 ebb9 0000 |003c: invoke-static {}, Lorg/purple/smoke/SteamBubble;.access$200:()Lorg/purple/smoke/Cryptography; // method@b9eb │ │ +41b21e: 0c05 |003f: move-result-object v5 │ │ +41b220: 5436 845d |0040: iget-object v6, v3, Lorg/purple/smoke/SteamBubble$4;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d84 │ │ +41b224: 7110 ecb9 0600 |0042: invoke-static {v6}, Lorg/purple/smoke/SteamBubble;.access$300:(Lorg/purple/smoke/SteamBubble;)I // method@b9ec │ │ +41b22a: 0a06 |0045: move-result v6 │ │ +41b22c: 6e40 37b6 5426 |0046: invoke-virtual {v4, v5, v6, v2}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;II)V // method@b637 │ │ +41b232: 5434 845d |0049: iget-object v4, v3, Lorg/purple/smoke/SteamBubble$4;.this$0:Lorg/purple/smoke/SteamBubble; // field@5d84 │ │ +41b236: 7110 ecb9 0400 |004b: invoke-static {v4}, Lorg/purple/smoke/SteamBubble;.access$300:(Lorg/purple/smoke/SteamBubble;)I // method@b9ec │ │ +41b23c: 0a04 |004e: move-result v4 │ │ +41b23e: 1a05 d78f |004f: const-string v5, "org.purple.smoke.steam_read_interval_change" // string@8fd7 │ │ +41b242: 7130 eab7 4502 |0051: invoke-static {v5, v4, v2}, Lorg/purple/smoke/Miscellaneous;.sendBroadcast:(Ljava/lang/String;II)V // method@b7ea │ │ +41b248: 0e00 |0054: return-void │ │ catches : (none) │ │ positions : │ │ 0x002d line=259 │ │ 0x0038 line=263 │ │ 0x003c line=264 │ │ 0x0049 line=265 │ │ 0x004b line=267 │ │ @@ -732730,31 +732729,31 @@ │ │ type : '(Landroid/widget/SeekBar;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -41b250: |[41b250] org.purple.smoke.SteamBubble$4.onStartTrackingTouch:(Landroid/widget/SeekBar;)V │ │ -41b260: 0e00 |0000: return-void │ │ +41b24c: |[41b24c] org.purple.smoke.SteamBubble$4.onStartTrackingTouch:(Landroid/widget/SeekBar;)V │ │ +41b25c: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #2 : (in Lorg/purple/smoke/SteamBubble$4;) │ │ name : 'onStopTrackingTouch' │ │ type : '(Landroid/widget/SeekBar;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -41b264: |[41b264] org.purple.smoke.SteamBubble$4.onStopTrackingTouch:(Landroid/widget/SeekBar;)V │ │ -41b274: 0e00 |0000: return-void │ │ +41b260: |[41b260] org.purple.smoke.SteamBubble$4.onStopTrackingTouch:(Landroid/widget/SeekBar;)V │ │ +41b270: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ source_file_idx : 19285 (SteamBubble.java) │ │ │ │ Class #2692 header: │ │ @@ -732916,29 +732915,29 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 0 │ │ outs : 2 │ │ insns size : 28 16-bit code units │ │ -41b4a4: |[41b4a4] org.purple.smoke.SteamBubble.:()V │ │ -41b4b4: 7100 88b5 0000 |0000: invoke-static {}, Lorg/purple/smoke/Cryptography;.getInstance:()Lorg/purple/smoke/Cryptography; // method@b588 │ │ -41b4ba: 0c00 |0003: move-result-object v0 │ │ -41b4bc: 6900 a25d |0004: sput-object v0, Lorg/purple/smoke/SteamBubble;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5da2 │ │ -41b4c0: 7100 e8b5 0000 |0006: invoke-static {}, Lorg/purple/smoke/Database;.getInstance:()Lorg/purple/smoke/Database; // method@b5e8 │ │ -41b4c6: 0c00 |0009: move-result-object v0 │ │ -41b4c8: 6900 a35d |000a: sput-object v0, Lorg/purple/smoke/SteamBubble;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5da3 │ │ -41b4cc: 2200 a50b |000c: new-instance v0, Ljava/text/DecimalFormat; // type@0ba5 │ │ -41b4d0: 1a01 c304 |000e: const-string v1, "0.00" // string@04c3 │ │ -41b4d4: 7020 845f 1000 |0010: invoke-direct {v0, v1}, Ljava/text/DecimalFormat;.:(Ljava/lang/String;)V // method@5f84 │ │ -41b4da: 6900 a45d |0013: sput-object v0, Lorg/purple/smoke/SteamBubble;.s_decimalFormat:Ljava/text/DecimalFormat; // field@5da4 │ │ -41b4de: 7100 8e5f 0000 |0015: invoke-static {}, Ljava/text/NumberFormat;.getInstance:()Ljava/text/NumberFormat; // method@5f8e │ │ -41b4e4: 0c00 |0018: move-result-object v0 │ │ -41b4e6: 6900 a55d |0019: sput-object v0, Lorg/purple/smoke/SteamBubble;.s_numberFormat:Ljava/text/NumberFormat; // field@5da5 │ │ -41b4ea: 0e00 |001b: return-void │ │ +41b4a0: |[41b4a0] org.purple.smoke.SteamBubble.:()V │ │ +41b4b0: 7100 88b5 0000 |0000: invoke-static {}, Lorg/purple/smoke/Cryptography;.getInstance:()Lorg/purple/smoke/Cryptography; // method@b588 │ │ +41b4b6: 0c00 |0003: move-result-object v0 │ │ +41b4b8: 6900 a25d |0004: sput-object v0, Lorg/purple/smoke/SteamBubble;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5da2 │ │ +41b4bc: 7100 e8b5 0000 |0006: invoke-static {}, Lorg/purple/smoke/Database;.getInstance:()Lorg/purple/smoke/Database; // method@b5e8 │ │ +41b4c2: 0c00 |0009: move-result-object v0 │ │ +41b4c4: 6900 a35d |000a: sput-object v0, Lorg/purple/smoke/SteamBubble;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5da3 │ │ +41b4c8: 2200 a50b |000c: new-instance v0, Ljava/text/DecimalFormat; // type@0ba5 │ │ +41b4cc: 1a01 c304 |000e: const-string v1, "0.00" // string@04c3 │ │ +41b4d0: 7020 845f 1000 |0010: invoke-direct {v0, v1}, Ljava/text/DecimalFormat;.:(Ljava/lang/String;)V // method@5f84 │ │ +41b4d6: 6900 a45d |0013: sput-object v0, Lorg/purple/smoke/SteamBubble;.s_decimalFormat:Ljava/text/DecimalFormat; // field@5da4 │ │ +41b4da: 7100 8e5f 0000 |0015: invoke-static {}, Ljava/text/NumberFormat;.getInstance:()Ljava/text/NumberFormat; // method@5f8e │ │ +41b4e0: 0c00 |0018: move-result-object v0 │ │ +41b4e2: 6900 a55d |0019: sput-object v0, Lorg/purple/smoke/SteamBubble;.s_numberFormat:Ljava/text/NumberFormat; // field@5da5 │ │ +41b4e6: 0e00 |001b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=78 │ │ 0x0006 line=79 │ │ 0x000c line=80 │ │ 0x0015 line=83 │ │ locals : │ │ @@ -732948,227 +732947,227 @@ │ │ type : '(Landroid/content/Context;Lorg/purple/smoke/Steam;Landroid/view/ViewGroup;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 6 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 459 16-bit code units │ │ -41b4ec: |[41b4ec] org.purple.smoke.SteamBubble.:(Landroid/content/Context;Lorg/purple/smoke/Steam;Landroid/view/ViewGroup;)V │ │ -41b4fc: 7020 c755 3200 |0000: invoke-direct {v2, v3}, Landroid/view/View;.:(Landroid/content/Context;)V // method@55c7 │ │ -41b502: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -41b504: 5b20 865d |0004: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_control:Landroid/widget/Button; // field@5d86 │ │ -41b508: 5b20 965d |0006: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_menuButton:Landroid/widget/ImageButton; // field@5d96 │ │ -41b50c: 5b20 935d |0008: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_layoutA:Landroid/widget/LinearLayout; // field@5d93 │ │ -41b510: 5b20 945d |000a: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_layoutB:Landroid/widget/LinearLayout; // field@5d94 │ │ -41b514: 5b20 995d |000c: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_progress:Landroid/widget/ProgressBar; // field@5d99 │ │ -41b518: 5b20 9a5d |000e: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_readInterval:Landroid/widget/SeekBar; // field@5d9a │ │ -41b51c: 5b20 9f5d |0010: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_steam:Lorg/purple/smoke/Steam; // field@5d9f │ │ -41b520: 1a01 0000 |0012: const-string v1, "" // string@0000 │ │ -41b524: 5b21 875d |0014: iput-object v1, v2, Lorg/purple/smoke/SteamBubble;.m_controlString:Ljava/lang/String; // field@5d87 │ │ -41b528: 5b20 895d |0016: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_details:Landroid/widget/Switch; // field@5d89 │ │ -41b52c: 5b20 885d |0018: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_destination:Landroid/widget/TextView; // field@5d88 │ │ -41b530: 5b20 8a5d |001a: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_digest:Landroid/widget/TextView; // field@5d8a │ │ -41b534: 5b20 8c5d |001c: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_ephemeralKeyType:Landroid/widget/TextView; // field@5d8c │ │ -41b538: 5b20 8d5d |001e: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_eta:Landroid/widget/TextView; // field@5d8d │ │ -41b53c: 5b20 8e5d |0020: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_fileIdentity:Landroid/widget/TextView; // field@5d8e │ │ -41b540: 5b20 8f5d |0022: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_fileName:Landroid/widget/TextView; // field@5d8f │ │ -41b544: 5b20 905d |0024: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_fileSize:Landroid/widget/TextView; // field@5d90 │ │ -41b548: 5b20 925d |0026: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_keyStreamDigest:Landroid/widget/TextView; // field@5d92 │ │ -41b54c: 5b20 955d |0028: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_locked:Landroid/widget/TextView; // field@5d95 │ │ -41b550: 5b20 985d |002a: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_percent:Landroid/widget/TextView; // field@5d98 │ │ -41b554: 5b20 9b5d |002c: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_readIntervalLabel:Landroid/widget/TextView; // field@5d9b │ │ -41b558: 5b20 9c5d |002e: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_sent:Landroid/widget/TextView; // field@5d9c │ │ -41b55c: 5b20 9e5d |0030: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_status:Landroid/widget/TextView; // field@5d9e │ │ -41b560: 5b20 a05d |0032: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_transferRate:Landroid/widget/TextView; // field@5da0 │ │ -41b564: 5b20 8b5d |0034: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_direction:Landroid/view/View; // field@5d8b │ │ -41b568: 5b20 915d |0036: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_keyExchangeStatus:Landroid/view/View; // field@5d91 │ │ -41b56c: 5b20 9d5d |0038: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_separator:Landroid/view/View; // field@5d9d │ │ -41b570: 5b20 a15d |003a: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ -41b574: 5b20 855d |003c: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_context:Ljava/lang/ref/WeakReference; // field@5d85 │ │ -41b578: 12f0 |003e: const/4 v0, #int -1 // #ff │ │ -41b57a: 5920 975d |003f: iput v0, v2, Lorg/purple/smoke/SteamBubble;.m_oid:I // field@5d97 │ │ -41b57e: 2201 000b |0041: new-instance v1, Ljava/lang/ref/WeakReference; // type@0b00 │ │ -41b582: 7020 285d 3100 |0043: invoke-direct {v1, v3}, Ljava/lang/ref/WeakReference;.:(Ljava/lang/Object;)V // method@5d28 │ │ -41b588: 5b21 855d |0046: iput-object v1, v2, Lorg/purple/smoke/SteamBubble;.m_context:Ljava/lang/ref/WeakReference; // field@5d85 │ │ -41b58c: 5b24 9f5d |0048: iput-object v4, v2, Lorg/purple/smoke/SteamBubble;.m_steam:Lorg/purple/smoke/Steam; // field@5d9f │ │ -41b590: 6e10 295d 0100 |004a: invoke-virtual {v1}, Ljava/lang/ref/WeakReference;.get:()Ljava/lang/Object; // method@5d29 │ │ -41b596: 0c03 |004d: move-result-object v3 │ │ -41b598: 1f03 4100 |004e: check-cast v3, Landroid/content/Context; // type@0041 │ │ -41b59c: 1a04 8c7b |0050: const-string v4, "layout_inflater" // string@7b8c │ │ -41b5a0: 6e20 7f01 4300 |0052: invoke-virtual {v3, v4}, Landroid/content/Context;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@017f │ │ -41b5a6: 0c03 |0055: move-result-object v3 │ │ -41b5a8: 1f03 000a |0056: check-cast v3, Landroid/view/LayoutInflater; // type@0a00 │ │ -41b5ac: 1404 4900 0a7f |0058: const v4, #float 1.83435e+38 // #7f0a0049 │ │ -41b5b2: 1201 |005b: const/4 v1, #int 0 // #0 │ │ -41b5b4: 6e40 5555 4315 |005c: invoke-virtual {v3, v4, v5, v1}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;Z)Landroid/view/View; // method@5555 │ │ -41b5ba: 0c03 |005f: move-result-object v3 │ │ -41b5bc: 5b23 a15d |0060: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ -41b5c0: 1404 4700 087f |0062: const v4, #float 1.80776e+38 // #7f080047 │ │ -41b5c6: 6e20 dd55 4300 |0065: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ -41b5cc: 0c03 |0068: move-result-object v3 │ │ -41b5ce: 1f03 5e0a |0069: check-cast v3, Landroid/widget/Button; // type@0a5e │ │ -41b5d2: 5b23 865d |006b: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_control:Landroid/widget/Button; // field@5d86 │ │ -41b5d6: 2204 951a |006d: new-instance v4, Lorg/purple/smoke/SteamBubble$1; // type@1a95 │ │ -41b5da: 7020 ddb9 2400 |006f: invoke-direct {v4, v2}, Lorg/purple/smoke/SteamBubble$1;.:(Lorg/purple/smoke/SteamBubble;)V // method@b9dd │ │ -41b5e0: 6e20 e258 4300 |0072: invoke-virtual {v3, v4}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ -41b5e6: 5423 a15d |0075: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ -41b5ea: 1404 5300 087f |0077: const v4, #float 1.80777e+38 // #7f080053 │ │ -41b5f0: 6e20 dd55 4300 |007a: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ -41b5f6: 0c03 |007d: move-result-object v3 │ │ -41b5f8: 1f03 970a |007e: check-cast v3, Landroid/widget/TextView; // type@0a97 │ │ -41b5fc: 5b23 885d |0080: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_destination:Landroid/widget/TextView; // field@5d88 │ │ -41b600: 5423 a15d |0082: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ -41b604: 1404 5400 087f |0084: const v4, #float 1.80777e+38 // #7f080054 │ │ -41b60a: 6e20 dd55 4300 |0087: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ -41b610: 0c03 |008a: move-result-object v3 │ │ -41b612: 1f03 8d0a |008b: check-cast v3, Landroid/widget/Switch; // type@0a8d │ │ -41b616: 5b23 895d |008d: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_details:Landroid/widget/Switch; // field@5d89 │ │ -41b61a: 2204 961a |008f: new-instance v4, Lorg/purple/smoke/SteamBubble$2; // type@1a96 │ │ -41b61e: 7020 dfb9 2400 |0091: invoke-direct {v4, v2}, Lorg/purple/smoke/SteamBubble$2;.:(Lorg/purple/smoke/SteamBubble;)V // method@b9df │ │ -41b624: 6e20 e25a 4300 |0094: invoke-virtual {v3, v4}, Landroid/widget/Switch;.setOnCheckedChangeListener:(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V // method@5ae2 │ │ -41b62a: 5423 a15d |0097: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ -41b62e: 1404 5500 087f |0099: const v4, #float 1.80777e+38 // #7f080055 │ │ -41b634: 6e20 dd55 4300 |009c: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ -41b63a: 0c03 |009f: move-result-object v3 │ │ -41b63c: 1f03 970a |00a0: check-cast v3, Landroid/widget/TextView; // type@0a97 │ │ -41b640: 5b23 8a5d |00a2: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_digest:Landroid/widget/TextView; // field@5d8a │ │ -41b644: 5423 a15d |00a4: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ -41b648: 1404 5800 087f |00a6: const v4, #float 1.80777e+38 // #7f080058 │ │ -41b64e: 6e20 dd55 4300 |00a9: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ -41b654: 0c03 |00ac: move-result-object v3 │ │ -41b656: 5b23 8b5d |00ad: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_direction:Landroid/view/View; // field@5d8b │ │ -41b65a: 5423 a15d |00af: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ -41b65e: 1404 6300 087f |00b1: const v4, #float 1.80777e+38 // #7f080063 │ │ -41b664: 6e20 dd55 4300 |00b4: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ -41b66a: 0c03 |00b7: move-result-object v3 │ │ -41b66c: 1f03 970a |00b8: check-cast v3, Landroid/widget/TextView; // type@0a97 │ │ -41b670: 5b23 8c5d |00ba: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_ephemeralKeyType:Landroid/widget/TextView; // field@5d8c │ │ -41b674: 5423 a15d |00bc: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ -41b678: 1404 6500 087f |00be: const v4, #float 1.80777e+38 // #7f080065 │ │ -41b67e: 6e20 dd55 4300 |00c1: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ -41b684: 0c03 |00c4: move-result-object v3 │ │ -41b686: 1f03 970a |00c5: check-cast v3, Landroid/widget/TextView; // type@0a97 │ │ -41b68a: 5b23 8d5d |00c7: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_eta:Landroid/widget/TextView; // field@5d8d │ │ -41b68e: 5423 a15d |00c9: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ -41b692: 1404 6900 087f |00cb: const v4, #float 1.80777e+38 // #7f080069 │ │ -41b698: 6e20 dd55 4300 |00ce: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ -41b69e: 0c03 |00d1: move-result-object v3 │ │ -41b6a0: 1f03 970a |00d2: check-cast v3, Landroid/widget/TextView; // type@0a97 │ │ -41b6a4: 5b23 8e5d |00d4: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_fileIdentity:Landroid/widget/TextView; // field@5d8e │ │ -41b6a8: 5423 a15d |00d6: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ -41b6ac: 1404 6b00 087f |00d8: const v4, #float 1.80777e+38 // #7f08006b │ │ -41b6b2: 6e20 dd55 4300 |00db: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ -41b6b8: 0c03 |00de: move-result-object v3 │ │ -41b6ba: 1f03 970a |00df: check-cast v3, Landroid/widget/TextView; // type@0a97 │ │ -41b6be: 5b23 8f5d |00e1: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_fileName:Landroid/widget/TextView; // field@5d8f │ │ -41b6c2: 5423 a15d |00e3: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ -41b6c6: 1404 6a00 087f |00e5: const v4, #float 1.80777e+38 // #7f08006a │ │ -41b6cc: 6e20 dd55 4300 |00e8: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ -41b6d2: 0c03 |00eb: move-result-object v3 │ │ -41b6d4: 1f03 970a |00ec: check-cast v3, Landroid/widget/TextView; // type@0a97 │ │ -41b6d8: 5b23 905d |00ee: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_fileSize:Landroid/widget/TextView; // field@5d90 │ │ -41b6dc: 5423 a15d |00f0: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ -41b6e0: 1404 8800 087f |00f2: const v4, #float 1.80778e+38 // #7f080088 │ │ -41b6e6: 6e20 dd55 4300 |00f5: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ -41b6ec: 0c03 |00f8: move-result-object v3 │ │ -41b6ee: 5b23 915d |00f9: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_keyExchangeStatus:Landroid/view/View; // field@5d91 │ │ -41b6f2: 5423 a15d |00fb: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ -41b6f6: 1404 8a00 087f |00fd: const v4, #float 1.80778e+38 // #7f08008a │ │ -41b6fc: 6e20 dd55 4300 |0100: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ -41b702: 0c03 |0103: move-result-object v3 │ │ -41b704: 1f03 970a |0104: check-cast v3, Landroid/widget/TextView; // type@0a97 │ │ -41b708: 5b23 925d |0106: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_keyStreamDigest:Landroid/widget/TextView; // field@5d92 │ │ -41b70c: 5423 a15d |0108: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ -41b710: 1404 8d00 087f |010a: const v4, #float 1.80778e+38 // #7f08008d │ │ -41b716: 6e20 dd55 4300 |010d: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ -41b71c: 0c03 |0110: move-result-object v3 │ │ -41b71e: 1f03 730a |0111: check-cast v3, Landroid/widget/LinearLayout; // type@0a73 │ │ -41b722: 5b23 935d |0113: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_layoutA:Landroid/widget/LinearLayout; // field@5d93 │ │ -41b726: 1304 0800 |0115: const/16 v4, #int 8 // #8 │ │ -41b72a: 6e20 e859 4300 |0117: invoke-virtual {v3, v4}, Landroid/widget/LinearLayout;.setVisibility:(I)V // method@59e8 │ │ -41b730: 5423 a15d |011a: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ -41b734: 1405 8e00 087f |011c: const v5, #float 1.80778e+38 // #7f08008e │ │ -41b73a: 6e20 dd55 5300 |011f: invoke-virtual {v3, v5}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ -41b740: 0c03 |0122: move-result-object v3 │ │ -41b742: 1f03 730a |0123: check-cast v3, Landroid/widget/LinearLayout; // type@0a73 │ │ -41b746: 5b23 945d |0125: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_layoutB:Landroid/widget/LinearLayout; // field@5d94 │ │ -41b74a: 6e20 e859 4300 |0127: invoke-virtual {v3, v4}, Landroid/widget/LinearLayout;.setVisibility:(I)V // method@59e8 │ │ -41b750: 5423 a15d |012a: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ -41b754: 1404 9800 087f |012c: const v4, #float 1.80778e+38 // #7f080098 │ │ -41b75a: 6e20 dd55 4300 |012f: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ -41b760: 0c03 |0132: move-result-object v3 │ │ -41b762: 1f03 970a |0133: check-cast v3, Landroid/widget/TextView; // type@0a97 │ │ -41b766: 5b23 955d |0135: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_locked:Landroid/widget/TextView; // field@5d95 │ │ -41b76a: 5423 a15d |0137: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ -41b76e: 1404 9c00 087f |0139: const v4, #float 1.80778e+38 // #7f08009c │ │ -41b774: 6e20 dd55 4300 |013c: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ -41b77a: 0c03 |013f: move-result-object v3 │ │ -41b77c: 1f03 6f0a |0140: check-cast v3, Landroid/widget/ImageButton; // type@0a6f │ │ -41b780: 5b23 965d |0142: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_menuButton:Landroid/widget/ImageButton; // field@5d96 │ │ -41b784: 2204 971a |0144: new-instance v4, Lorg/purple/smoke/SteamBubble$3; // type@1a97 │ │ -41b788: 7020 e1b9 2400 |0146: invoke-direct {v4, v2}, Lorg/purple/smoke/SteamBubble$3;.:(Lorg/purple/smoke/SteamBubble;)V // method@b9e1 │ │ -41b78e: 6e20 9059 4300 |0149: invoke-virtual {v3, v4}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@5990 │ │ -41b794: 5423 a15d |014c: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ -41b798: 1404 c800 087f |014e: const v4, #float 1.80779e+38 // #7f0800c8 │ │ -41b79e: 6e20 dd55 4300 |0151: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ -41b7a4: 0c03 |0154: move-result-object v3 │ │ -41b7a6: 1f03 970a |0155: check-cast v3, Landroid/widget/TextView; // type@0a97 │ │ -41b7aa: 5b23 985d |0157: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_percent:Landroid/widget/TextView; // field@5d98 │ │ -41b7ae: 5423 a15d |0159: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ -41b7b2: 1404 cf00 087f |015b: const v4, #float 1.80779e+38 // #7f0800cf │ │ -41b7b8: 6e20 dd55 4300 |015e: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ -41b7be: 0c03 |0161: move-result-object v3 │ │ -41b7c0: 1f03 7c0a |0162: check-cast v3, Landroid/widget/ProgressBar; // type@0a7c │ │ -41b7c4: 5b23 995d |0164: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_progress:Landroid/widget/ProgressBar; // field@5d99 │ │ -41b7c8: 5423 a15d |0166: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ -41b7cc: 1404 d700 087f |0168: const v4, #float 1.80779e+38 // #7f0800d7 │ │ -41b7d2: 6e20 dd55 4300 |016b: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ -41b7d8: 0c03 |016e: move-result-object v3 │ │ -41b7da: 1f03 880a |016f: check-cast v3, Landroid/widget/SeekBar; // type@0a88 │ │ -41b7de: 5b23 9a5d |0171: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_readInterval:Landroid/widget/SeekBar; // field@5d9a │ │ -41b7e2: 2204 981a |0173: new-instance v4, Lorg/purple/smoke/SteamBubble$4; // type@1a98 │ │ -41b7e6: 7020 e3b9 2400 |0175: invoke-direct {v4, v2}, Lorg/purple/smoke/SteamBubble$4;.:(Lorg/purple/smoke/SteamBubble;)V // method@b9e3 │ │ -41b7ec: 6e20 a65a 4300 |0178: invoke-virtual {v3, v4}, Landroid/widget/SeekBar;.setOnSeekBarChangeListener:(Landroid/widget/SeekBar$OnSeekBarChangeListener;)V // method@5aa6 │ │ -41b7f2: 5423 a15d |017b: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ -41b7f6: 1404 d800 087f |017d: const v4, #float 1.80779e+38 // #7f0800d8 │ │ -41b7fc: 6e20 dd55 4300 |0180: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ -41b802: 0c03 |0183: move-result-object v3 │ │ -41b804: 1f03 970a |0184: check-cast v3, Landroid/widget/TextView; // type@0a97 │ │ -41b808: 5b23 9b5d |0186: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_readIntervalLabel:Landroid/widget/TextView; // field@5d9b │ │ -41b80c: 1a04 bb07 |0188: const-string v4, "4 reads / s" // string@07bb │ │ -41b810: 6e20 495b 4300 |018a: invoke-virtual {v3, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41b816: 5423 a15d |018d: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ -41b81a: 1404 fd00 087f |018f: const v4, #float 1.8078e+38 // #7f0800fd │ │ -41b820: 6e20 dd55 4300 |0192: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ -41b826: 0c03 |0195: move-result-object v3 │ │ -41b828: 1f03 970a |0196: check-cast v3, Landroid/widget/TextView; // type@0a97 │ │ -41b82c: 5b23 9c5d |0198: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_sent:Landroid/widget/TextView; // field@5d9c │ │ -41b830: 5423 a15d |019a: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ -41b834: 1404 fe00 087f |019c: const v4, #float 1.8078e+38 // #7f0800fe │ │ -41b83a: 6e20 dd55 4300 |019f: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ -41b840: 0c03 |01a2: move-result-object v3 │ │ -41b842: 5b23 9d5d |01a3: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_separator:Landroid/view/View; // field@5d9d │ │ -41b846: 5423 a15d |01a5: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ -41b84a: 1404 1a01 087f |01a7: const v4, #float 1.80781e+38 // #7f08011a │ │ -41b850: 6e20 dd55 4300 |01aa: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ -41b856: 0c03 |01ad: move-result-object v3 │ │ -41b858: 1f03 970a |01ae: check-cast v3, Landroid/widget/TextView; // type@0a97 │ │ -41b85c: 5b23 9e5d |01b0: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_status:Landroid/widget/TextView; // field@5d9e │ │ -41b860: 5423 a15d |01b2: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ -41b864: 1404 2f01 087f |01b4: const v4, #float 1.80781e+38 // #7f08012f │ │ -41b86a: 6e20 dd55 4300 |01b7: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ -41b870: 0c03 |01ba: move-result-object v3 │ │ -41b872: 1f03 970a |01bb: check-cast v3, Landroid/widget/TextView; // type@0a97 │ │ -41b876: 5b23 a05d |01bd: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_transferRate:Landroid/widget/TextView; // field@5da0 │ │ -41b87a: 5423 a15d |01bf: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ -41b87e: 6e20 8256 0300 |01c1: invoke-virtual {v3, v0}, Landroid/view/View;.setId:(I)V // method@5682 │ │ -41b884: 6203 a55d |01c4: sget-object v3, Lorg/purple/smoke/SteamBubble;.s_numberFormat:Ljava/text/NumberFormat; // field@5da5 │ │ -41b888: 1214 |01c6: const/4 v4, #int 1 // #1 │ │ -41b88a: 6e20 905f 4300 |01c7: invoke-virtual {v3, v4}, Ljava/text/NumberFormat;.setGroupingUsed:(Z)V // method@5f90 │ │ -41b890: 0e00 |01ca: return-void │ │ +41b4e8: |[41b4e8] org.purple.smoke.SteamBubble.:(Landroid/content/Context;Lorg/purple/smoke/Steam;Landroid/view/ViewGroup;)V │ │ +41b4f8: 7020 c755 3200 |0000: invoke-direct {v2, v3}, Landroid/view/View;.:(Landroid/content/Context;)V // method@55c7 │ │ +41b4fe: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +41b500: 5b20 865d |0004: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_control:Landroid/widget/Button; // field@5d86 │ │ +41b504: 5b20 965d |0006: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_menuButton:Landroid/widget/ImageButton; // field@5d96 │ │ +41b508: 5b20 935d |0008: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_layoutA:Landroid/widget/LinearLayout; // field@5d93 │ │ +41b50c: 5b20 945d |000a: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_layoutB:Landroid/widget/LinearLayout; // field@5d94 │ │ +41b510: 5b20 995d |000c: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_progress:Landroid/widget/ProgressBar; // field@5d99 │ │ +41b514: 5b20 9a5d |000e: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_readInterval:Landroid/widget/SeekBar; // field@5d9a │ │ +41b518: 5b20 9f5d |0010: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_steam:Lorg/purple/smoke/Steam; // field@5d9f │ │ +41b51c: 1a01 0000 |0012: const-string v1, "" // string@0000 │ │ +41b520: 5b21 875d |0014: iput-object v1, v2, Lorg/purple/smoke/SteamBubble;.m_controlString:Ljava/lang/String; // field@5d87 │ │ +41b524: 5b20 895d |0016: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_details:Landroid/widget/Switch; // field@5d89 │ │ +41b528: 5b20 885d |0018: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_destination:Landroid/widget/TextView; // field@5d88 │ │ +41b52c: 5b20 8a5d |001a: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_digest:Landroid/widget/TextView; // field@5d8a │ │ +41b530: 5b20 8c5d |001c: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_ephemeralKeyType:Landroid/widget/TextView; // field@5d8c │ │ +41b534: 5b20 8d5d |001e: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_eta:Landroid/widget/TextView; // field@5d8d │ │ +41b538: 5b20 8e5d |0020: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_fileIdentity:Landroid/widget/TextView; // field@5d8e │ │ +41b53c: 5b20 8f5d |0022: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_fileName:Landroid/widget/TextView; // field@5d8f │ │ +41b540: 5b20 905d |0024: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_fileSize:Landroid/widget/TextView; // field@5d90 │ │ +41b544: 5b20 925d |0026: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_keyStreamDigest:Landroid/widget/TextView; // field@5d92 │ │ +41b548: 5b20 955d |0028: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_locked:Landroid/widget/TextView; // field@5d95 │ │ +41b54c: 5b20 985d |002a: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_percent:Landroid/widget/TextView; // field@5d98 │ │ +41b550: 5b20 9b5d |002c: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_readIntervalLabel:Landroid/widget/TextView; // field@5d9b │ │ +41b554: 5b20 9c5d |002e: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_sent:Landroid/widget/TextView; // field@5d9c │ │ +41b558: 5b20 9e5d |0030: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_status:Landroid/widget/TextView; // field@5d9e │ │ +41b55c: 5b20 a05d |0032: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_transferRate:Landroid/widget/TextView; // field@5da0 │ │ +41b560: 5b20 8b5d |0034: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_direction:Landroid/view/View; // field@5d8b │ │ +41b564: 5b20 915d |0036: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_keyExchangeStatus:Landroid/view/View; // field@5d91 │ │ +41b568: 5b20 9d5d |0038: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_separator:Landroid/view/View; // field@5d9d │ │ +41b56c: 5b20 a15d |003a: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ +41b570: 5b20 855d |003c: iput-object v0, v2, Lorg/purple/smoke/SteamBubble;.m_context:Ljava/lang/ref/WeakReference; // field@5d85 │ │ +41b574: 12f0 |003e: const/4 v0, #int -1 // #ff │ │ +41b576: 5920 975d |003f: iput v0, v2, Lorg/purple/smoke/SteamBubble;.m_oid:I // field@5d97 │ │ +41b57a: 2201 000b |0041: new-instance v1, Ljava/lang/ref/WeakReference; // type@0b00 │ │ +41b57e: 7020 285d 3100 |0043: invoke-direct {v1, v3}, Ljava/lang/ref/WeakReference;.:(Ljava/lang/Object;)V // method@5d28 │ │ +41b584: 5b21 855d |0046: iput-object v1, v2, Lorg/purple/smoke/SteamBubble;.m_context:Ljava/lang/ref/WeakReference; // field@5d85 │ │ +41b588: 5b24 9f5d |0048: iput-object v4, v2, Lorg/purple/smoke/SteamBubble;.m_steam:Lorg/purple/smoke/Steam; // field@5d9f │ │ +41b58c: 6e10 295d 0100 |004a: invoke-virtual {v1}, Ljava/lang/ref/WeakReference;.get:()Ljava/lang/Object; // method@5d29 │ │ +41b592: 0c03 |004d: move-result-object v3 │ │ +41b594: 1f03 4100 |004e: check-cast v3, Landroid/content/Context; // type@0041 │ │ +41b598: 1a04 8c7b |0050: const-string v4, "layout_inflater" // string@7b8c │ │ +41b59c: 6e20 7f01 4300 |0052: invoke-virtual {v3, v4}, Landroid/content/Context;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@017f │ │ +41b5a2: 0c03 |0055: move-result-object v3 │ │ +41b5a4: 1f03 000a |0056: check-cast v3, Landroid/view/LayoutInflater; // type@0a00 │ │ +41b5a8: 1404 4900 0a7f |0058: const v4, #float 1.83435e+38 // #7f0a0049 │ │ +41b5ae: 1201 |005b: const/4 v1, #int 0 // #0 │ │ +41b5b0: 6e40 5555 4315 |005c: invoke-virtual {v3, v4, v5, v1}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;Z)Landroid/view/View; // method@5555 │ │ +41b5b6: 0c03 |005f: move-result-object v3 │ │ +41b5b8: 5b23 a15d |0060: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ +41b5bc: 1404 4700 087f |0062: const v4, #float 1.80776e+38 // #7f080047 │ │ +41b5c2: 6e20 dd55 4300 |0065: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ +41b5c8: 0c03 |0068: move-result-object v3 │ │ +41b5ca: 1f03 5e0a |0069: check-cast v3, Landroid/widget/Button; // type@0a5e │ │ +41b5ce: 5b23 865d |006b: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_control:Landroid/widget/Button; // field@5d86 │ │ +41b5d2: 2204 951a |006d: new-instance v4, Lorg/purple/smoke/SteamBubble$1; // type@1a95 │ │ +41b5d6: 7020 ddb9 2400 |006f: invoke-direct {v4, v2}, Lorg/purple/smoke/SteamBubble$1;.:(Lorg/purple/smoke/SteamBubble;)V // method@b9dd │ │ +41b5dc: 6e20 e258 4300 |0072: invoke-virtual {v3, v4}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ +41b5e2: 5423 a15d |0075: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ +41b5e6: 1404 5300 087f |0077: const v4, #float 1.80777e+38 // #7f080053 │ │ +41b5ec: 6e20 dd55 4300 |007a: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ +41b5f2: 0c03 |007d: move-result-object v3 │ │ +41b5f4: 1f03 970a |007e: check-cast v3, Landroid/widget/TextView; // type@0a97 │ │ +41b5f8: 5b23 885d |0080: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_destination:Landroid/widget/TextView; // field@5d88 │ │ +41b5fc: 5423 a15d |0082: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ +41b600: 1404 5400 087f |0084: const v4, #float 1.80777e+38 // #7f080054 │ │ +41b606: 6e20 dd55 4300 |0087: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ +41b60c: 0c03 |008a: move-result-object v3 │ │ +41b60e: 1f03 8d0a |008b: check-cast v3, Landroid/widget/Switch; // type@0a8d │ │ +41b612: 5b23 895d |008d: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_details:Landroid/widget/Switch; // field@5d89 │ │ +41b616: 2204 961a |008f: new-instance v4, Lorg/purple/smoke/SteamBubble$2; // type@1a96 │ │ +41b61a: 7020 dfb9 2400 |0091: invoke-direct {v4, v2}, Lorg/purple/smoke/SteamBubble$2;.:(Lorg/purple/smoke/SteamBubble;)V // method@b9df │ │ +41b620: 6e20 e25a 4300 |0094: invoke-virtual {v3, v4}, Landroid/widget/Switch;.setOnCheckedChangeListener:(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V // method@5ae2 │ │ +41b626: 5423 a15d |0097: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ +41b62a: 1404 5500 087f |0099: const v4, #float 1.80777e+38 // #7f080055 │ │ +41b630: 6e20 dd55 4300 |009c: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ +41b636: 0c03 |009f: move-result-object v3 │ │ +41b638: 1f03 970a |00a0: check-cast v3, Landroid/widget/TextView; // type@0a97 │ │ +41b63c: 5b23 8a5d |00a2: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_digest:Landroid/widget/TextView; // field@5d8a │ │ +41b640: 5423 a15d |00a4: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ +41b644: 1404 5800 087f |00a6: const v4, #float 1.80777e+38 // #7f080058 │ │ +41b64a: 6e20 dd55 4300 |00a9: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ +41b650: 0c03 |00ac: move-result-object v3 │ │ +41b652: 5b23 8b5d |00ad: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_direction:Landroid/view/View; // field@5d8b │ │ +41b656: 5423 a15d |00af: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ +41b65a: 1404 6300 087f |00b1: const v4, #float 1.80777e+38 // #7f080063 │ │ +41b660: 6e20 dd55 4300 |00b4: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ +41b666: 0c03 |00b7: move-result-object v3 │ │ +41b668: 1f03 970a |00b8: check-cast v3, Landroid/widget/TextView; // type@0a97 │ │ +41b66c: 5b23 8c5d |00ba: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_ephemeralKeyType:Landroid/widget/TextView; // field@5d8c │ │ +41b670: 5423 a15d |00bc: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ +41b674: 1404 6500 087f |00be: const v4, #float 1.80777e+38 // #7f080065 │ │ +41b67a: 6e20 dd55 4300 |00c1: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ +41b680: 0c03 |00c4: move-result-object v3 │ │ +41b682: 1f03 970a |00c5: check-cast v3, Landroid/widget/TextView; // type@0a97 │ │ +41b686: 5b23 8d5d |00c7: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_eta:Landroid/widget/TextView; // field@5d8d │ │ +41b68a: 5423 a15d |00c9: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ +41b68e: 1404 6900 087f |00cb: const v4, #float 1.80777e+38 // #7f080069 │ │ +41b694: 6e20 dd55 4300 |00ce: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ +41b69a: 0c03 |00d1: move-result-object v3 │ │ +41b69c: 1f03 970a |00d2: check-cast v3, Landroid/widget/TextView; // type@0a97 │ │ +41b6a0: 5b23 8e5d |00d4: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_fileIdentity:Landroid/widget/TextView; // field@5d8e │ │ +41b6a4: 5423 a15d |00d6: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ +41b6a8: 1404 6b00 087f |00d8: const v4, #float 1.80777e+38 // #7f08006b │ │ +41b6ae: 6e20 dd55 4300 |00db: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ +41b6b4: 0c03 |00de: move-result-object v3 │ │ +41b6b6: 1f03 970a |00df: check-cast v3, Landroid/widget/TextView; // type@0a97 │ │ +41b6ba: 5b23 8f5d |00e1: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_fileName:Landroid/widget/TextView; // field@5d8f │ │ +41b6be: 5423 a15d |00e3: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ +41b6c2: 1404 6a00 087f |00e5: const v4, #float 1.80777e+38 // #7f08006a │ │ +41b6c8: 6e20 dd55 4300 |00e8: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ +41b6ce: 0c03 |00eb: move-result-object v3 │ │ +41b6d0: 1f03 970a |00ec: check-cast v3, Landroid/widget/TextView; // type@0a97 │ │ +41b6d4: 5b23 905d |00ee: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_fileSize:Landroid/widget/TextView; // field@5d90 │ │ +41b6d8: 5423 a15d |00f0: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ +41b6dc: 1404 8800 087f |00f2: const v4, #float 1.80778e+38 // #7f080088 │ │ +41b6e2: 6e20 dd55 4300 |00f5: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ +41b6e8: 0c03 |00f8: move-result-object v3 │ │ +41b6ea: 5b23 915d |00f9: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_keyExchangeStatus:Landroid/view/View; // field@5d91 │ │ +41b6ee: 5423 a15d |00fb: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ +41b6f2: 1404 8a00 087f |00fd: const v4, #float 1.80778e+38 // #7f08008a │ │ +41b6f8: 6e20 dd55 4300 |0100: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ +41b6fe: 0c03 |0103: move-result-object v3 │ │ +41b700: 1f03 970a |0104: check-cast v3, Landroid/widget/TextView; // type@0a97 │ │ +41b704: 5b23 925d |0106: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_keyStreamDigest:Landroid/widget/TextView; // field@5d92 │ │ +41b708: 5423 a15d |0108: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ +41b70c: 1404 8d00 087f |010a: const v4, #float 1.80778e+38 // #7f08008d │ │ +41b712: 6e20 dd55 4300 |010d: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ +41b718: 0c03 |0110: move-result-object v3 │ │ +41b71a: 1f03 730a |0111: check-cast v3, Landroid/widget/LinearLayout; // type@0a73 │ │ +41b71e: 5b23 935d |0113: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_layoutA:Landroid/widget/LinearLayout; // field@5d93 │ │ +41b722: 1304 0800 |0115: const/16 v4, #int 8 // #8 │ │ +41b726: 6e20 e859 4300 |0117: invoke-virtual {v3, v4}, Landroid/widget/LinearLayout;.setVisibility:(I)V // method@59e8 │ │ +41b72c: 5423 a15d |011a: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ +41b730: 1405 8e00 087f |011c: const v5, #float 1.80778e+38 // #7f08008e │ │ +41b736: 6e20 dd55 5300 |011f: invoke-virtual {v3, v5}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ +41b73c: 0c03 |0122: move-result-object v3 │ │ +41b73e: 1f03 730a |0123: check-cast v3, Landroid/widget/LinearLayout; // type@0a73 │ │ +41b742: 5b23 945d |0125: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_layoutB:Landroid/widget/LinearLayout; // field@5d94 │ │ +41b746: 6e20 e859 4300 |0127: invoke-virtual {v3, v4}, Landroid/widget/LinearLayout;.setVisibility:(I)V // method@59e8 │ │ +41b74c: 5423 a15d |012a: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ +41b750: 1404 9800 087f |012c: const v4, #float 1.80778e+38 // #7f080098 │ │ +41b756: 6e20 dd55 4300 |012f: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ +41b75c: 0c03 |0132: move-result-object v3 │ │ +41b75e: 1f03 970a |0133: check-cast v3, Landroid/widget/TextView; // type@0a97 │ │ +41b762: 5b23 955d |0135: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_locked:Landroid/widget/TextView; // field@5d95 │ │ +41b766: 5423 a15d |0137: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ +41b76a: 1404 9c00 087f |0139: const v4, #float 1.80778e+38 // #7f08009c │ │ +41b770: 6e20 dd55 4300 |013c: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ +41b776: 0c03 |013f: move-result-object v3 │ │ +41b778: 1f03 6f0a |0140: check-cast v3, Landroid/widget/ImageButton; // type@0a6f │ │ +41b77c: 5b23 965d |0142: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_menuButton:Landroid/widget/ImageButton; // field@5d96 │ │ +41b780: 2204 971a |0144: new-instance v4, Lorg/purple/smoke/SteamBubble$3; // type@1a97 │ │ +41b784: 7020 e1b9 2400 |0146: invoke-direct {v4, v2}, Lorg/purple/smoke/SteamBubble$3;.:(Lorg/purple/smoke/SteamBubble;)V // method@b9e1 │ │ +41b78a: 6e20 9059 4300 |0149: invoke-virtual {v3, v4}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@5990 │ │ +41b790: 5423 a15d |014c: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ +41b794: 1404 c800 087f |014e: const v4, #float 1.80779e+38 // #7f0800c8 │ │ +41b79a: 6e20 dd55 4300 |0151: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ +41b7a0: 0c03 |0154: move-result-object v3 │ │ +41b7a2: 1f03 970a |0155: check-cast v3, Landroid/widget/TextView; // type@0a97 │ │ +41b7a6: 5b23 985d |0157: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_percent:Landroid/widget/TextView; // field@5d98 │ │ +41b7aa: 5423 a15d |0159: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ +41b7ae: 1404 cf00 087f |015b: const v4, #float 1.80779e+38 // #7f0800cf │ │ +41b7b4: 6e20 dd55 4300 |015e: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ +41b7ba: 0c03 |0161: move-result-object v3 │ │ +41b7bc: 1f03 7c0a |0162: check-cast v3, Landroid/widget/ProgressBar; // type@0a7c │ │ +41b7c0: 5b23 995d |0164: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_progress:Landroid/widget/ProgressBar; // field@5d99 │ │ +41b7c4: 5423 a15d |0166: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ +41b7c8: 1404 d700 087f |0168: const v4, #float 1.80779e+38 // #7f0800d7 │ │ +41b7ce: 6e20 dd55 4300 |016b: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ +41b7d4: 0c03 |016e: move-result-object v3 │ │ +41b7d6: 1f03 880a |016f: check-cast v3, Landroid/widget/SeekBar; // type@0a88 │ │ +41b7da: 5b23 9a5d |0171: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_readInterval:Landroid/widget/SeekBar; // field@5d9a │ │ +41b7de: 2204 981a |0173: new-instance v4, Lorg/purple/smoke/SteamBubble$4; // type@1a98 │ │ +41b7e2: 7020 e3b9 2400 |0175: invoke-direct {v4, v2}, Lorg/purple/smoke/SteamBubble$4;.:(Lorg/purple/smoke/SteamBubble;)V // method@b9e3 │ │ +41b7e8: 6e20 a65a 4300 |0178: invoke-virtual {v3, v4}, Landroid/widget/SeekBar;.setOnSeekBarChangeListener:(Landroid/widget/SeekBar$OnSeekBarChangeListener;)V // method@5aa6 │ │ +41b7ee: 5423 a15d |017b: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ +41b7f2: 1404 d800 087f |017d: const v4, #float 1.80779e+38 // #7f0800d8 │ │ +41b7f8: 6e20 dd55 4300 |0180: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ +41b7fe: 0c03 |0183: move-result-object v3 │ │ +41b800: 1f03 970a |0184: check-cast v3, Landroid/widget/TextView; // type@0a97 │ │ +41b804: 5b23 9b5d |0186: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_readIntervalLabel:Landroid/widget/TextView; // field@5d9b │ │ +41b808: 1a04 bb07 |0188: const-string v4, "4 reads / s" // string@07bb │ │ +41b80c: 6e20 495b 4300 |018a: invoke-virtual {v3, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41b812: 5423 a15d |018d: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ +41b816: 1404 fd00 087f |018f: const v4, #float 1.8078e+38 // #7f0800fd │ │ +41b81c: 6e20 dd55 4300 |0192: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ +41b822: 0c03 |0195: move-result-object v3 │ │ +41b824: 1f03 970a |0196: check-cast v3, Landroid/widget/TextView; // type@0a97 │ │ +41b828: 5b23 9c5d |0198: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_sent:Landroid/widget/TextView; // field@5d9c │ │ +41b82c: 5423 a15d |019a: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ +41b830: 1404 fe00 087f |019c: const v4, #float 1.8078e+38 // #7f0800fe │ │ +41b836: 6e20 dd55 4300 |019f: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ +41b83c: 0c03 |01a2: move-result-object v3 │ │ +41b83e: 5b23 9d5d |01a3: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_separator:Landroid/view/View; // field@5d9d │ │ +41b842: 5423 a15d |01a5: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ +41b846: 1404 1a01 087f |01a7: const v4, #float 1.80781e+38 // #7f08011a │ │ +41b84c: 6e20 dd55 4300 |01aa: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ +41b852: 0c03 |01ad: move-result-object v3 │ │ +41b854: 1f03 970a |01ae: check-cast v3, Landroid/widget/TextView; // type@0a97 │ │ +41b858: 5b23 9e5d |01b0: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_status:Landroid/widget/TextView; // field@5d9e │ │ +41b85c: 5423 a15d |01b2: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ +41b860: 1404 2f01 087f |01b4: const v4, #float 1.80781e+38 // #7f08012f │ │ +41b866: 6e20 dd55 4300 |01b7: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ +41b86c: 0c03 |01ba: move-result-object v3 │ │ +41b86e: 1f03 970a |01bb: check-cast v3, Landroid/widget/TextView; // type@0a97 │ │ +41b872: 5b23 a05d |01bd: iput-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_transferRate:Landroid/widget/TextView; // field@5da0 │ │ +41b876: 5423 a15d |01bf: iget-object v3, v2, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ +41b87a: 6e20 8256 0300 |01c1: invoke-virtual {v3, v0}, Landroid/view/View;.setId:(I)V // method@5682 │ │ +41b880: 6203 a55d |01c4: sget-object v3, Lorg/purple/smoke/SteamBubble;.s_numberFormat:Ljava/text/NumberFormat; // field@5da5 │ │ +41b884: 1214 |01c6: const/4 v4, #int 1 // #1 │ │ +41b886: 6e20 905f 4300 |01c7: invoke-virtual {v3, v4}, Ljava/text/NumberFormat;.setGroupingUsed:(Z)V // method@5f90 │ │ +41b88c: 0e00 |01ca: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=130 │ │ 0x0004 line=49 │ │ 0x0006 line=50 │ │ 0x0008 line=51 │ │ 0x000a line=52 │ │ @@ -733250,17 +733249,17 @@ │ │ type : '(Lorg/purple/smoke/SteamBubble;)Ljava/lang/String;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41b308: |[41b308] org.purple.smoke.SteamBubble.access$000:(Lorg/purple/smoke/SteamBubble;)Ljava/lang/String; │ │ -41b318: 5400 875d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamBubble;.m_controlString:Ljava/lang/String; // field@5d87 │ │ -41b31c: 1100 |0002: return-object v0 │ │ +41b304: |[41b304] org.purple.smoke.SteamBubble.access$000:(Lorg/purple/smoke/SteamBubble;)Ljava/lang/String; │ │ +41b314: 5400 875d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamBubble;.m_controlString:Ljava/lang/String; // field@5d87 │ │ +41b318: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=47 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/SteamBubble; │ │ │ │ #3 : (in Lorg/purple/smoke/SteamBubble;) │ │ @@ -733268,17 +733267,17 @@ │ │ type : '(Lorg/purple/smoke/SteamBubble;)Landroid/widget/TextView;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41b2c0: |[41b2c0] org.purple.smoke.SteamBubble.access$100:(Lorg/purple/smoke/SteamBubble;)Landroid/widget/TextView; │ │ -41b2d0: 5400 8d5d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamBubble;.m_eta:Landroid/widget/TextView; // field@5d8d │ │ -41b2d4: 1100 |0002: return-object v0 │ │ +41b2bc: |[41b2bc] org.purple.smoke.SteamBubble.access$100:(Lorg/purple/smoke/SteamBubble;)Landroid/widget/TextView; │ │ +41b2cc: 5400 8d5d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamBubble;.m_eta:Landroid/widget/TextView; // field@5d8d │ │ +41b2d0: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=47 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/SteamBubble; │ │ │ │ #4 : (in Lorg/purple/smoke/SteamBubble;) │ │ @@ -733286,34 +733285,34 @@ │ │ type : '()Lorg/purple/smoke/Cryptography;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41b45c: |[41b45c] org.purple.smoke.SteamBubble.access$200:()Lorg/purple/smoke/Cryptography; │ │ -41b46c: 6200 a25d |0000: sget-object v0, Lorg/purple/smoke/SteamBubble;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5da2 │ │ -41b470: 1100 |0002: return-object v0 │ │ +41b458: |[41b458] org.purple.smoke.SteamBubble.access$200:()Lorg/purple/smoke/Cryptography; │ │ +41b468: 6200 a25d |0000: sget-object v0, Lorg/purple/smoke/SteamBubble;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5da2 │ │ +41b46c: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=47 │ │ locals : │ │ │ │ #5 : (in Lorg/purple/smoke/SteamBubble;) │ │ name : 'access$300' │ │ type : '(Lorg/purple/smoke/SteamBubble;)I' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41b2f0: |[41b2f0] org.purple.smoke.SteamBubble.access$300:(Lorg/purple/smoke/SteamBubble;)I │ │ -41b300: 5200 975d |0000: iget v0, v0, Lorg/purple/smoke/SteamBubble;.m_oid:I // field@5d97 │ │ -41b304: 0f00 |0002: return v0 │ │ +41b2ec: |[41b2ec] org.purple.smoke.SteamBubble.access$300:(Lorg/purple/smoke/SteamBubble;)I │ │ +41b2fc: 5200 975d |0000: iget v0, v0, Lorg/purple/smoke/SteamBubble;.m_oid:I // field@5d97 │ │ +41b300: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=47 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/SteamBubble; │ │ │ │ #6 : (in Lorg/purple/smoke/SteamBubble;) │ │ @@ -733321,34 +733320,34 @@ │ │ type : '()Lorg/purple/smoke/Database;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41b474: |[41b474] org.purple.smoke.SteamBubble.access$400:()Lorg/purple/smoke/Database; │ │ -41b484: 6200 a35d |0000: sget-object v0, Lorg/purple/smoke/SteamBubble;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5da3 │ │ -41b488: 1100 |0002: return-object v0 │ │ +41b470: |[41b470] org.purple.smoke.SteamBubble.access$400:()Lorg/purple/smoke/Database; │ │ +41b480: 6200 a35d |0000: sget-object v0, Lorg/purple/smoke/SteamBubble;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5da3 │ │ +41b484: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=47 │ │ locals : │ │ │ │ #7 : (in Lorg/purple/smoke/SteamBubble;) │ │ name : 'access$500' │ │ type : '(Lorg/purple/smoke/SteamBubble;)Landroid/widget/LinearLayout;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41b290: |[41b290] org.purple.smoke.SteamBubble.access$500:(Lorg/purple/smoke/SteamBubble;)Landroid/widget/LinearLayout; │ │ -41b2a0: 5400 935d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamBubble;.m_layoutA:Landroid/widget/LinearLayout; // field@5d93 │ │ -41b2a4: 1100 |0002: return-object v0 │ │ +41b28c: |[41b28c] org.purple.smoke.SteamBubble.access$500:(Lorg/purple/smoke/SteamBubble;)Landroid/widget/LinearLayout; │ │ +41b29c: 5400 935d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamBubble;.m_layoutA:Landroid/widget/LinearLayout; // field@5d93 │ │ +41b2a0: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=47 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/SteamBubble; │ │ │ │ #8 : (in Lorg/purple/smoke/SteamBubble;) │ │ @@ -733356,17 +733355,17 @@ │ │ type : '(Lorg/purple/smoke/SteamBubble;)Landroid/widget/LinearLayout;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41b2a8: |[41b2a8] org.purple.smoke.SteamBubble.access$600:(Lorg/purple/smoke/SteamBubble;)Landroid/widget/LinearLayout; │ │ -41b2b8: 5400 945d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamBubble;.m_layoutB:Landroid/widget/LinearLayout; // field@5d94 │ │ -41b2bc: 1100 |0002: return-object v0 │ │ +41b2a4: |[41b2a4] org.purple.smoke.SteamBubble.access$600:(Lorg/purple/smoke/SteamBubble;)Landroid/widget/LinearLayout; │ │ +41b2b4: 5400 945d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamBubble;.m_layoutB:Landroid/widget/LinearLayout; // field@5d94 │ │ +41b2b8: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=47 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/SteamBubble; │ │ │ │ #9 : (in Lorg/purple/smoke/SteamBubble;) │ │ @@ -733374,17 +733373,17 @@ │ │ type : '(Lorg/purple/smoke/SteamBubble;)Lorg/purple/smoke/Steam;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41b48c: |[41b48c] org.purple.smoke.SteamBubble.access$700:(Lorg/purple/smoke/SteamBubble;)Lorg/purple/smoke/Steam; │ │ -41b49c: 5400 9f5d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamBubble;.m_steam:Lorg/purple/smoke/Steam; // field@5d9f │ │ -41b4a0: 1100 |0002: return-object v0 │ │ +41b488: |[41b488] org.purple.smoke.SteamBubble.access$700:(Lorg/purple/smoke/SteamBubble;)Lorg/purple/smoke/Steam; │ │ +41b498: 5400 9f5d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamBubble;.m_steam:Lorg/purple/smoke/Steam; // field@5d9f │ │ +41b49c: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=47 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/SteamBubble; │ │ │ │ #10 : (in Lorg/purple/smoke/SteamBubble;) │ │ @@ -733392,17 +733391,17 @@ │ │ type : '(Lorg/purple/smoke/SteamBubble;)Landroid/widget/TextView;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41b2d8: |[41b2d8] org.purple.smoke.SteamBubble.access$800:(Lorg/purple/smoke/SteamBubble;)Landroid/widget/TextView; │ │ -41b2e8: 5400 9b5d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamBubble;.m_readIntervalLabel:Landroid/widget/TextView; // field@5d9b │ │ -41b2ec: 1100 |0002: return-object v0 │ │ +41b2d4: |[41b2d4] org.purple.smoke.SteamBubble.access$800:(Lorg/purple/smoke/SteamBubble;)Landroid/widget/TextView; │ │ +41b2e4: 5400 9b5d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamBubble;.m_readIntervalLabel:Landroid/widget/TextView; // field@5d9b │ │ +41b2e8: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=47 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/SteamBubble; │ │ │ │ #11 : (in Lorg/purple/smoke/SteamBubble;) │ │ @@ -733410,20 +733409,20 @@ │ │ type : '(J)Ljava/lang/String;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 2 │ │ insns size : 9 16-bit code units │ │ -41b320: |[41b320] org.purple.smoke.SteamBubble.formatSize:(J)Ljava/lang/String; │ │ -41b330: 7120 d65c 2100 |0000: invoke-static {v1, v2}, Ljava/lang/String;.valueOf:(J)Ljava/lang/String; // method@5cd6 │ │ -41b336: 0c01 |0003: move-result-object v1 │ │ -41b338: 7110 dfb7 0100 |0004: invoke-static {v1}, Lorg/purple/smoke/Miscellaneous;.formattedDigitalInformation:(Ljava/lang/String;)Ljava/lang/String; // method@b7df │ │ -41b33e: 0c01 |0007: move-result-object v1 │ │ -41b340: 1101 |0008: return-object v1 │ │ +41b31c: |[41b31c] org.purple.smoke.SteamBubble.formatSize:(J)Ljava/lang/String; │ │ +41b32c: 7120 d65c 2100 |0000: invoke-static {v1, v2}, Ljava/lang/String;.valueOf:(J)Ljava/lang/String; // method@5cd6 │ │ +41b332: 0c01 |0003: move-result-object v1 │ │ +41b334: 7110 dfb7 0100 |0004: invoke-static {v1}, Lorg/purple/smoke/Miscellaneous;.formattedDigitalInformation:(Ljava/lang/String;)Ljava/lang/String; // method@b7df │ │ +41b33a: 0c01 |0007: move-result-object v1 │ │ +41b33c: 1101 |0008: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=88 │ │ locals : │ │ 0x0000 - 0x0009 reg=0 this Lorg/purple/smoke/SteamBubble; │ │ 0x0000 - 0x0009 reg=1 (null) J │ │ │ │ @@ -733432,19 +733431,19 @@ │ │ type : '(J)Ljava/lang/String;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 7 16-bit code units │ │ -41b344: |[41b344] org.purple.smoke.SteamBubble.niceBytes:(J)Ljava/lang/String; │ │ -41b354: 6200 a55d |0000: sget-object v0, Lorg/purple/smoke/SteamBubble;.s_numberFormat:Ljava/text/NumberFormat; // field@5da5 │ │ -41b358: 6e30 8d5f 2003 |0002: invoke-virtual {v0, v2, v3}, Ljava/text/NumberFormat;.format:(J)Ljava/lang/String; // method@5f8d │ │ -41b35e: 0c02 |0005: move-result-object v2 │ │ -41b360: 1102 |0006: return-object v2 │ │ +41b340: |[41b340] org.purple.smoke.SteamBubble.niceBytes:(J)Ljava/lang/String; │ │ +41b350: 6200 a55d |0000: sget-object v0, Lorg/purple/smoke/SteamBubble;.s_numberFormat:Ljava/text/NumberFormat; // field@5da5 │ │ +41b354: 6e30 8d5f 2003 |0002: invoke-virtual {v0, v2, v3}, Ljava/text/NumberFormat;.format:(J)Ljava/lang/String; // method@5f8d │ │ +41b35a: 0c02 |0005: move-result-object v2 │ │ +41b35c: 1102 |0006: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=93 │ │ locals : │ │ 0x0000 - 0x0007 reg=1 this Lorg/purple/smoke/SteamBubble; │ │ 0x0000 - 0x0007 reg=2 (null) J │ │ │ │ @@ -733453,70 +733452,70 @@ │ │ type : '(Ljava/lang/String;JJ)Ljava/lang/String;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 10 │ │ ins : 6 │ │ outs : 3 │ │ insns size : 104 16-bit code units │ │ -41b364: |[41b364] org.purple.smoke.SteamBubble.prettyEta:(Ljava/lang/String;JJ)Ljava/lang/String; │ │ -41b374: 3100 0608 |0000: cmp-long v0, v6, v8 │ │ -41b378: 3900 0500 |0002: if-nez v0, 0007 // +0005 │ │ -41b37c: 1a05 8518 |0004: const-string v5, "ETA: completed" // string@1885 │ │ -41b380: 1105 |0006: return-object v5 │ │ -41b382: 1200 |0007: const/4 v0, #int 0 // #0 │ │ -41b384: 1301 2000 |0008: const/16 v1, #int 32 // #20 │ │ -41b388: 6e20 c05c 1500 |000a: invoke-virtual {v5, v1}, Ljava/lang/String;.indexOf:(I)I // method@5cc0 │ │ -41b38e: 0a01 |000d: move-result v1 │ │ -41b390: 6e30 cd5c 0501 |000e: invoke-virtual {v5, v0, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@5ccd │ │ -41b396: 0c00 |0011: move-result-object v0 │ │ -41b398: 7110 2d5c 0000 |0012: invoke-static {v0}, Ljava/lang/Double;.parseDouble:(Ljava/lang/String;)D // method@5c2d │ │ -41b39e: 0b00 |0015: move-result-wide v0 │ │ -41b3a0: 1a02 801b |0016: const-string v2, "GiB" // string@1b80 │ │ -41b3a4: 6e20 b65c 2500 |0018: invoke-virtual {v5, v2}, Ljava/lang/String;.contains:(Ljava/lang/CharSequence;)Z // method@5cb6 │ │ -41b3aa: 0a02 |001b: move-result v2 │ │ -41b3ac: 3802 0700 |001c: if-eqz v2, 0023 // +0007 │ │ -41b3b0: 1902 d041 |001e: const-wide/high16 v2, #long 4742290407621132288 // #41d0 │ │ -41b3b4: ad00 0002 |0020: mul-double v0, v0, v2 │ │ -41b3b8: 2817 |0022: goto 0039 // +0017 │ │ -41b3ba: 1a02 5020 |0023: const-string v2, "KiB" // string@2050 │ │ -41b3be: 6e20 b65c 2500 |0025: invoke-virtual {v5, v2}, Ljava/lang/String;.contains:(Ljava/lang/CharSequence;)Z // method@5cb6 │ │ -41b3c4: 0a02 |0028: move-result v2 │ │ -41b3c6: 3802 0500 |0029: if-eqz v2, 002e // +0005 │ │ -41b3ca: 1902 9040 |002b: const-wide/high16 v2, #long 4652218415073722368 // #4090 │ │ -41b3ce: 28f3 |002d: goto 0020 // -000d │ │ -41b3d0: 1a02 b33f |002e: const-string v2, "MiB" // string@3fb3 │ │ -41b3d4: 6e20 b65c 2500 |0030: invoke-virtual {v5, v2}, Ljava/lang/String;.contains:(Ljava/lang/CharSequence;)Z // method@5cb6 │ │ -41b3da: 0a05 |0033: move-result v5 │ │ -41b3dc: 3805 0500 |0034: if-eqz v5, 0039 // +0005 │ │ -41b3e0: 1902 3041 |0036: const-wide/high16 v2, #long 4697254411347427328 // #4130 │ │ -41b3e4: 28e8 |0038: goto 0020 // -0018 │ │ -41b3e6: 1602 0000 |0039: const-wide/16 v2, #int 0 // #0 │ │ -41b3ea: 2f05 0002 |003b: cmpl-double v5, v0, v2 │ │ -41b3ee: 3d05 2800 |003d: if-lez v5, 0065 // +0028 │ │ -41b3f2: 2205 f10a |003f: new-instance v5, Ljava/lang/StringBuilder; // type@0af1 │ │ -41b3f6: 7010 ee5c 0500 |0041: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41b3fc: 1a02 8418 |0044: const-string v2, "ETA: " // string@1884 │ │ -41b400: 6e20 f95c 2500 |0046: invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41b406: 6202 a45d |0049: sget-object v2, Lorg/purple/smoke/SteamBubble;.s_decimalFormat:Ljava/text/DecimalFormat; // field@5da4 │ │ -41b40a: bc86 |004b: sub-long/2addr v6, v8 │ │ -41b40c: 8666 |004c: long-to-double v6, v6 │ │ -41b40e: 7120 2c5c 7600 |004d: invoke-static {v6, v7}, Ljava/lang/Double;.isNaN:(D)Z // method@5c2c │ │ -41b414: ce06 |0050: div-double/2addr v6, v0 │ │ -41b416: 1908 4e40 |0051: const-wide/high16 v8, #long 4633641066610819072 // #404e │ │ -41b41a: ce86 |0053: div-double/2addr v6, v8 │ │ -41b41c: 6e30 855f 6207 |0054: invoke-virtual {v2, v6, v7}, Ljava/text/DecimalFormat;.format:(D)Ljava/lang/String; // method@5f85 │ │ -41b422: 0c06 |0057: move-result-object v6 │ │ -41b424: 6e20 f95c 6500 |0058: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41b42a: 1a06 8401 |005b: const-string v6, " minute(s)" // string@0184 │ │ -41b42e: 6e20 f95c 6500 |005d: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41b434: 6e10 035d 0500 |0060: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41b43a: 0c05 |0063: move-result-object v5 │ │ -41b43c: 1105 |0064: return-object v5 │ │ -41b43e: 1a05 8618 |0065: const-string v5, "ETA: stalled" // string@1886 │ │ -41b442: 1105 |0067: return-object v5 │ │ +41b360: |[41b360] org.purple.smoke.SteamBubble.prettyEta:(Ljava/lang/String;JJ)Ljava/lang/String; │ │ +41b370: 3100 0608 |0000: cmp-long v0, v6, v8 │ │ +41b374: 3900 0500 |0002: if-nez v0, 0007 // +0005 │ │ +41b378: 1a05 8518 |0004: const-string v5, "ETA: completed" // string@1885 │ │ +41b37c: 1105 |0006: return-object v5 │ │ +41b37e: 1200 |0007: const/4 v0, #int 0 // #0 │ │ +41b380: 1301 2000 |0008: const/16 v1, #int 32 // #20 │ │ +41b384: 6e20 c05c 1500 |000a: invoke-virtual {v5, v1}, Ljava/lang/String;.indexOf:(I)I // method@5cc0 │ │ +41b38a: 0a01 |000d: move-result v1 │ │ +41b38c: 6e30 cd5c 0501 |000e: invoke-virtual {v5, v0, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@5ccd │ │ +41b392: 0c00 |0011: move-result-object v0 │ │ +41b394: 7110 2d5c 0000 |0012: invoke-static {v0}, Ljava/lang/Double;.parseDouble:(Ljava/lang/String;)D // method@5c2d │ │ +41b39a: 0b00 |0015: move-result-wide v0 │ │ +41b39c: 1a02 801b |0016: const-string v2, "GiB" // string@1b80 │ │ +41b3a0: 6e20 b65c 2500 |0018: invoke-virtual {v5, v2}, Ljava/lang/String;.contains:(Ljava/lang/CharSequence;)Z // method@5cb6 │ │ +41b3a6: 0a02 |001b: move-result v2 │ │ +41b3a8: 3802 0700 |001c: if-eqz v2, 0023 // +0007 │ │ +41b3ac: 1902 d041 |001e: const-wide/high16 v2, #long 4742290407621132288 // #41d0 │ │ +41b3b0: ad00 0002 |0020: mul-double v0, v0, v2 │ │ +41b3b4: 2817 |0022: goto 0039 // +0017 │ │ +41b3b6: 1a02 5020 |0023: const-string v2, "KiB" // string@2050 │ │ +41b3ba: 6e20 b65c 2500 |0025: invoke-virtual {v5, v2}, Ljava/lang/String;.contains:(Ljava/lang/CharSequence;)Z // method@5cb6 │ │ +41b3c0: 0a02 |0028: move-result v2 │ │ +41b3c2: 3802 0500 |0029: if-eqz v2, 002e // +0005 │ │ +41b3c6: 1902 9040 |002b: const-wide/high16 v2, #long 4652218415073722368 // #4090 │ │ +41b3ca: 28f3 |002d: goto 0020 // -000d │ │ +41b3cc: 1a02 b33f |002e: const-string v2, "MiB" // string@3fb3 │ │ +41b3d0: 6e20 b65c 2500 |0030: invoke-virtual {v5, v2}, Ljava/lang/String;.contains:(Ljava/lang/CharSequence;)Z // method@5cb6 │ │ +41b3d6: 0a05 |0033: move-result v5 │ │ +41b3d8: 3805 0500 |0034: if-eqz v5, 0039 // +0005 │ │ +41b3dc: 1902 3041 |0036: const-wide/high16 v2, #long 4697254411347427328 // #4130 │ │ +41b3e0: 28e8 |0038: goto 0020 // -0018 │ │ +41b3e2: 1602 0000 |0039: const-wide/16 v2, #int 0 // #0 │ │ +41b3e6: 2f05 0002 |003b: cmpl-double v5, v0, v2 │ │ +41b3ea: 3d05 2800 |003d: if-lez v5, 0065 // +0028 │ │ +41b3ee: 2205 f10a |003f: new-instance v5, Ljava/lang/StringBuilder; // type@0af1 │ │ +41b3f2: 7010 ee5c 0500 |0041: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41b3f8: 1a02 8418 |0044: const-string v2, "ETA: " // string@1884 │ │ +41b3fc: 6e20 f95c 2500 |0046: invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41b402: 6202 a45d |0049: sget-object v2, Lorg/purple/smoke/SteamBubble;.s_decimalFormat:Ljava/text/DecimalFormat; // field@5da4 │ │ +41b406: bc86 |004b: sub-long/2addr v6, v8 │ │ +41b408: 8666 |004c: long-to-double v6, v6 │ │ +41b40a: 7120 2c5c 7600 |004d: invoke-static {v6, v7}, Ljava/lang/Double;.isNaN:(D)Z // method@5c2c │ │ +41b410: ce06 |0050: div-double/2addr v6, v0 │ │ +41b412: 1908 4e40 |0051: const-wide/high16 v8, #long 4633641066610819072 // #404e │ │ +41b416: ce86 |0053: div-double/2addr v6, v8 │ │ +41b418: 6e30 855f 6207 |0054: invoke-virtual {v2, v6, v7}, Ljava/text/DecimalFormat;.format:(D)Ljava/lang/String; // method@5f85 │ │ +41b41e: 0c06 |0057: move-result-object v6 │ │ +41b420: 6e20 f95c 6500 |0058: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41b426: 1a06 8401 |005b: const-string v6, " minute(s)" // string@0184 │ │ +41b42a: 6e20 f95c 6500 |005d: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41b430: 6e10 035d 0500 |0060: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41b436: 0c05 |0063: move-result-object v5 │ │ +41b438: 1105 |0064: return-object v5 │ │ +41b43a: 1a05 8618 |0065: const-string v5, "ETA: stalled" // string@1886 │ │ +41b43e: 1105 |0067: return-object v5 │ │ catches : 2 │ │ 0x000a - 0x004b │ │ Ljava/lang/Exception; -> 0x0065 │ │ 0x0054 - 0x0064 │ │ Ljava/lang/Exception; -> 0x0065 │ │ positions : │ │ 0x000a line=106 │ │ @@ -733537,502 +733536,502 @@ │ │ type : '(Lorg/purple/smoke/SteamElement;II)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 20 │ │ ins : 4 │ │ outs : 6 │ │ insns size : 1080 16-bit code units │ │ -41b894: |[41b894] org.purple.smoke.SteamBubble.setData:(Lorg/purple/smoke/SteamElement;II)V │ │ -41b8a4: 0806 1000 |0000: move-object/from16 v6, v16 │ │ -41b8a8: 0807 1100 |0002: move-object/from16 v7, v17 │ │ -41b8ac: 3907 0300 |0004: if-nez v7, 0007 // +0003 │ │ -41b8b0: 0e00 |0006: return-void │ │ -41b8b2: 5270 b45d |0007: iget v0, v7, Lorg/purple/smoke/SteamElement;.m_oid:I // field@5db4 │ │ -41b8b6: 5960 975d |0009: iput v0, v6, Lorg/purple/smoke/SteamBubble;.m_oid:I // field@5d97 │ │ -41b8ba: 5470 b85d |000b: iget-object v0, v7, Lorg/purple/smoke/SteamElement;.m_status:Ljava/lang/String; // field@5db8 │ │ -41b8be: 6e10 bf5c 0000 |000d: invoke-virtual {v0}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ -41b8c4: 6e10 bf5c 0000 |0010: invoke-virtual {v0}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ -41b8ca: 0a01 |0013: move-result v1 │ │ -41b8cc: 1238 |0014: const/4 v8, #int 3 // #3 │ │ -41b8ce: 12f2 |0015: const/4 v2, #int -1 // #ff │ │ -41b8d0: 121a |0016: const/4 v10, #int 1 // #1 │ │ -41b8d2: 120b |0017: const/4 v11, #int 0 // #0 │ │ -41b8d4: 2c01 0204 0000 |0018: sparse-switch v1, 0000041a // +00000402 │ │ -41b8da: 12f0 |001b: const/4 v0, #int -1 // #ff │ │ -41b8dc: 282c |001c: goto 0048 // +002c │ │ -41b8de: 1a01 3794 |001d: const-string v1, "receiving" // string@9437 │ │ -41b8e2: 6e20 b85c 1000 |001f: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41b8e8: 0a00 |0022: move-result v0 │ │ -41b8ea: 3900 0300 |0023: if-nez v0, 0026 // +0003 │ │ -41b8ee: 28f6 |0025: goto 001b // -000a │ │ -41b8f0: 1230 |0026: const/4 v0, #int 3 // #3 │ │ -41b8f2: 2821 |0027: goto 0048 // +0021 │ │ -41b8f4: 1a01 f190 |0028: const-string v1, "paused" // string@90f1 │ │ -41b8f8: 6e20 b85c 1000 |002a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41b8fe: 0a00 |002d: move-result v0 │ │ -41b900: 3900 0300 |002e: if-nez v0, 0031 // +0003 │ │ -41b904: 28eb |0030: goto 001b // -0015 │ │ -41b906: 1220 |0031: const/4 v0, #int 2 // #2 │ │ -41b908: 2816 |0032: goto 0048 // +0016 │ │ -41b90a: 1a01 ae5e |0033: const-string v1, "completed" // string@5eae │ │ -41b90e: 6e20 b85c 1000 |0035: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41b914: 0a00 |0038: move-result v0 │ │ -41b916: 3900 0300 |0039: if-nez v0, 003c // +0003 │ │ -41b91a: 28e0 |003b: goto 001b // -0020 │ │ -41b91c: 1210 |003c: const/4 v0, #int 1 // #1 │ │ -41b91e: 280b |003d: goto 0048 // +000b │ │ -41b920: 1a01 d2a2 |003e: const-string v1, "transferring" // string@a2d2 │ │ -41b924: 6e20 b85c 1000 |0040: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41b92a: 0a00 |0043: move-result v0 │ │ -41b92c: 3900 0300 |0044: if-nez v0, 0047 // +0003 │ │ -41b930: 28d5 |0046: goto 001b // -002b │ │ -41b932: 1200 |0047: const/4 v0, #int 0 // #0 │ │ -41b934: 1a01 aa43 |0048: const-string v1, "Pause" // string@43aa │ │ -41b938: 130c 0800 |004a: const/16 v12, #int 8 // #8 │ │ -41b93c: 2b00 e003 0000 |004c: packed-switch v0, 0000042c // +000003e0 │ │ -41b942: 2859 |004f: goto 00a8 // +0059 │ │ -41b944: 5460 985d |0050: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_percent:Landroid/widget/TextView; // field@5d98 │ │ -41b948: 6e20 535b b000 |0052: invoke-virtual {v0, v11}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ -41b94e: 5460 995d |0055: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_progress:Landroid/widget/ProgressBar; // field@5d99 │ │ -41b952: 6e20 5f5a b000 |0057: invoke-virtual {v0, v11}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ -41b958: 284e |005a: goto 00a8 // +004e │ │ -41b95a: 5460 865d |005b: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_control:Landroid/widget/Button; // field@5d86 │ │ -41b95e: 1a01 0346 |005d: const-string v1, "Resume" // string@4603 │ │ -41b962: 6e20 e358 1000 |005f: invoke-virtual {v0, v1}, Landroid/widget/Button;.setText:(Ljava/lang/CharSequence;)V // method@58e3 │ │ -41b968: 1a00 e095 |0062: const-string v0, "resume" // string@95e0 │ │ -41b96c: 5b60 875d |0064: iput-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_controlString:Ljava/lang/String; // field@5d87 │ │ -41b970: 5460 985d |0066: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_percent:Landroid/widget/TextView; // field@5d98 │ │ -41b974: 6e20 535b c000 |0068: invoke-virtual {v0, v12}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ -41b97a: 5460 995d |006b: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_progress:Landroid/widget/ProgressBar; // field@5d99 │ │ -41b97e: 6e20 5f5a c000 |006d: invoke-virtual {v0, v12}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ -41b984: 2838 |0070: goto 00a8 // +0038 │ │ -41b986: 5870 a95d |0071: iget-short v0, v7, Lorg/purple/smoke/SteamElement;.m_direction:S // field@5da9 │ │ -41b98a: 3900 0c00 |0073: if-nez v0, 007f // +000c │ │ -41b98e: 5460 865d |0075: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_control:Landroid/widget/Button; // field@5d86 │ │ -41b992: 6e20 e358 1000 |0077: invoke-virtual {v0, v1}, Landroid/widget/Button;.setText:(Ljava/lang/CharSequence;)V // method@58e3 │ │ -41b998: 1a00 0000 |007a: const-string v0, "" // string@0000 │ │ -41b99c: 5b60 875d |007c: iput-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_controlString:Ljava/lang/String; // field@5d87 │ │ -41b9a0: 280c |007e: goto 008a // +000c │ │ -41b9a2: 5460 865d |007f: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_control:Landroid/widget/Button; // field@5d86 │ │ -41b9a6: 1a01 0846 |0081: const-string v1, "Rewind" // string@4608 │ │ -41b9aa: 6e20 e358 1000 |0083: invoke-virtual {v0, v1}, Landroid/widget/Button;.setText:(Ljava/lang/CharSequence;)V // method@58e3 │ │ -41b9b0: 1a00 0496 |0086: const-string v0, "rewind" // string@9604 │ │ -41b9b4: 5b60 875d |0088: iput-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_controlString:Ljava/lang/String; // field@5d87 │ │ -41b9b8: 5460 985d |008a: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_percent:Landroid/widget/TextView; // field@5d98 │ │ -41b9bc: 6e20 535b c000 |008c: invoke-virtual {v0, v12}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ -41b9c2: 5460 995d |008f: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_progress:Landroid/widget/ProgressBar; // field@5d99 │ │ -41b9c6: 6e20 5f5a c000 |0091: invoke-virtual {v0, v12}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ -41b9cc: 2814 |0094: goto 00a8 // +0014 │ │ -41b9ce: 5460 865d |0095: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_control:Landroid/widget/Button; // field@5d86 │ │ -41b9d2: 6e20 e358 1000 |0097: invoke-virtual {v0, v1}, Landroid/widget/Button;.setText:(Ljava/lang/CharSequence;)V // method@58e3 │ │ -41b9d8: 1a00 ed90 |009a: const-string v0, "pause" // string@90ed │ │ -41b9dc: 5b60 875d |009c: iput-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_controlString:Ljava/lang/String; // field@5d87 │ │ -41b9e0: 5460 985d |009e: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_percent:Landroid/widget/TextView; // field@5d98 │ │ -41b9e4: 6e20 535b b000 |00a0: invoke-virtual {v0, v11}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ -41b9ea: 5460 995d |00a3: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_progress:Landroid/widget/ProgressBar; // field@5d99 │ │ -41b9ee: 6e20 5f5a b000 |00a5: invoke-virtual {v0, v11}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ -41b9f4: 5470 a85d |00a8: iget-object v0, v7, Lorg/purple/smoke/SteamElement;.m_destination:Ljava/lang/String; // field@5da8 │ │ -41b9f8: 1a01 be41 |00aa: const-string v1, "Other (Non-Smoke)" // string@41be │ │ -41b9fc: 6e20 b85c 1000 |00ac: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41ba02: 0a00 |00af: move-result v0 │ │ -41ba04: 1a0d e403 |00b0: const-string v13, ")" // string@03e4 │ │ -41ba08: 1a0e 9800 |00b2: const-string v14, " (" // string@0098 │ │ -41ba0c: 1a01 fc49 |00b4: const-string v1, "Sent: " // string@49fc │ │ -41ba10: 1403 8a00 077f |00b6: const v3, #float 1.79449e+38 // #7f07008a │ │ -41ba16: 1a04 1217 |00b9: const-string v4, "Destination: " // string@1712 │ │ -41ba1a: 130f 6000 |00bb: const/16 v15, #int 96 // #60 │ │ -41ba1e: 3800 7300 |00bd: if-eqz v0, 0130 // +0073 │ │ -41ba22: 7100 02b7 0000 |00bf: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ -41ba28: 0c00 |00c2: move-result-object v0 │ │ -41ba2a: 6e10 07b7 0000 |00c3: invoke-virtual {v0}, Lorg/purple/smoke/Kernel;.nextSimpleSteamOid:()I // method@b707 │ │ -41ba30: 0a00 |00c6: move-result v0 │ │ -41ba32: 5465 865d |00c7: iget-object v5, v6, Lorg/purple/smoke/SteamBubble;.m_control:Landroid/widget/Button; // field@5d86 │ │ -41ba36: 5269 975d |00c9: iget v9, v6, Lorg/purple/smoke/SteamBubble;.m_oid:I // field@5d97 │ │ -41ba3a: 3209 0700 |00cb: if-eq v9, v0, 00d2 // +0007 │ │ -41ba3e: 3320 0300 |00cd: if-ne v0, v2, 00d0 // +0003 │ │ -41ba42: 2803 |00cf: goto 00d2 // +0003 │ │ -41ba44: 1200 |00d0: const/4 v0, #int 0 // #0 │ │ -41ba46: 2802 |00d1: goto 00d3 // +0002 │ │ -41ba48: 1210 |00d2: const/4 v0, #int 1 // #1 │ │ -41ba4a: 6e20 e058 0500 |00d3: invoke-virtual {v5, v0}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ -41ba50: 5460 865d |00d6: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_control:Landroid/widget/Button; // field@5d86 │ │ -41ba54: 6e20 e558 b000 |00d8: invoke-virtual {v0, v11}, Landroid/widget/Button;.setVisibility:(I)V // method@58e5 │ │ -41ba5a: 5460 885d |00db: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_destination:Landroid/widget/TextView; // field@5d88 │ │ -41ba5e: 2202 f10a |00dd: new-instance v2, Ljava/lang/StringBuilder; // type@0af1 │ │ -41ba62: 7010 ee5c 0200 |00df: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41ba68: 6e20 f95c 4200 |00e2: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41ba6e: 5474 a85d |00e5: iget-object v4, v7, Lorg/purple/smoke/SteamElement;.m_destination:Ljava/lang/String; // field@5da8 │ │ -41ba72: 6e20 f95c 4200 |00e7: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41ba78: 6e10 035d 0200 |00ea: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41ba7e: 0c02 |00ed: move-result-object v2 │ │ -41ba80: 6e20 495b 2000 |00ee: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41ba86: 5460 8b5d |00f1: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_direction:Landroid/view/View; // field@5d8b │ │ -41ba8a: 6e20 7756 3000 |00f3: invoke-virtual {v0, v3}, Landroid/view/View;.setBackgroundResource:(I)V // method@5677 │ │ -41ba90: 5460 8c5d |00f6: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_ephemeralKeyType:Landroid/widget/TextView; // field@5d8c │ │ -41ba94: 6e20 535b c000 |00f8: invoke-virtual {v0, v12}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ -41ba9a: 5460 915d |00fb: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_keyExchangeStatus:Landroid/view/View; // field@5d91 │ │ -41ba9e: 6e20 ac56 c000 |00fd: invoke-virtual {v0, v12}, Landroid/view/View;.setVisibility:(I)V // method@56ac │ │ -41baa4: 5460 925d |0100: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_keyStreamDigest:Landroid/widget/TextView; // field@5d92 │ │ -41baa8: 6e20 535b c000 |0102: invoke-virtual {v0, v12}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ -41baae: 5460 955d |0105: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_locked:Landroid/widget/TextView; // field@5d95 │ │ -41bab2: 6e20 535b c000 |0107: invoke-virtual {v0, v12}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ -41bab8: 5460 9a5d |010a: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_readInterval:Landroid/widget/SeekBar; // field@5d9a │ │ -41babc: 6e20 a95a b000 |010c: invoke-virtual {v0, v11}, Landroid/widget/SeekBar;.setVisibility:(I)V // method@5aa9 │ │ -41bac2: 5460 9b5d |010f: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_readIntervalLabel:Landroid/widget/TextView; // field@5d9b │ │ -41bac6: 6e20 535b b000 |0111: invoke-virtual {v0, v11}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ -41bacc: 5460 9c5d |0114: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_sent:Landroid/widget/TextView; // field@5d9c │ │ -41bad0: 2202 f10a |0116: new-instance v2, Ljava/lang/StringBuilder; // type@0af1 │ │ -41bad4: 7010 ee5c 0200 |0118: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41bada: 6e20 f95c 1200 |011b: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41bae0: 5373 b65d |011e: iget-wide v3, v7, Lorg/purple/smoke/SteamElement;.m_readOffset:J // field@5db6 │ │ -41bae4: 7030 f2b9 3604 |0120: invoke-direct {v6, v3, v4}, Lorg/purple/smoke/SteamBubble;.formatSize:(J)Ljava/lang/String; // method@b9f2 │ │ -41baea: 0c01 |0123: move-result-object v1 │ │ -41baec: 6e20 f95c 1200 |0124: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41baf2: 6e10 035d 0200 |0127: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41baf8: 0c01 |012a: move-result-object v1 │ │ -41bafa: 6e20 495b 1000 |012b: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41bb00: 2900 2301 |012e: goto/16 0251 // +0123 │ │ -41bb04: 5870 a95d |0130: iget-short v0, v7, Lorg/purple/smoke/SteamElement;.m_direction:S // field@5da9 │ │ -41bb08: 1402 7100 077f |0132: const v2, #float 1.79448e+38 // #7f070071 │ │ -41bb0e: 1405 8900 077f |0135: const v5, #float 1.79449e+38 // #7f070089 │ │ -41bb14: 3900 a300 |0138: if-nez v0, 01db // +00a3 │ │ -41bb18: 5460 865d |013a: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_control:Landroid/widget/Button; // field@5d86 │ │ -41bb1c: 6e20 e558 c000 |013c: invoke-virtual {v0, v12}, Landroid/widget/Button;.setVisibility:(I)V // method@58e5 │ │ -41bb22: 5460 885d |013f: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_destination:Landroid/widget/TextView; // field@5d88 │ │ -41bb26: 2201 f10a |0141: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ -41bb2a: 7010 ee5c 0100 |0143: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41bb30: 1a03 bd41 |0146: const-string v3, "Origin: " // string@41bd │ │ -41bb34: 6e20 f95c 3100 |0148: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41bb3a: 5473 a85d |014b: iget-object v3, v7, Lorg/purple/smoke/SteamElement;.m_destination:Ljava/lang/String; // field@5da8 │ │ -41bb3e: 6e20 f95c 3100 |014d: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41bb44: 6e10 035d 0100 |0150: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41bb4a: 0c01 |0153: move-result-object v1 │ │ -41bb4c: 6e20 495b 1000 |0154: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41bb52: 5460 8b5d |0157: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_direction:Landroid/view/View; // field@5d8b │ │ -41bb56: 1401 6900 077f |0159: const v1, #float 1.79448e+38 // #7f070069 │ │ -41bb5c: 6e20 7756 1000 |015c: invoke-virtual {v0, v1}, Landroid/view/View;.setBackgroundResource:(I)V // method@5677 │ │ -41bb62: 5460 8c5d |015f: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_ephemeralKeyType:Landroid/widget/TextView; // field@5d8c │ │ -41bb66: 6e20 535b b000 |0161: invoke-virtual {v0, v11}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ -41bb6c: 5460 915d |0164: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_keyExchangeStatus:Landroid/view/View; // field@5d91 │ │ -41bb70: 5471 b15d |0166: iget-object v1, v7, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ -41bb74: 3801 0800 |0168: if-eqz v1, 0170 // +0008 │ │ -41bb78: 5471 b15d |016a: iget-object v1, v7, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ -41bb7c: 2111 |016c: array-length v1, v1 │ │ -41bb7e: 33f1 0300 |016d: if-ne v1, v15, 0170 // +0003 │ │ -41bb82: 2804 |016f: goto 0173 // +0004 │ │ -41bb84: 1402 8900 077f |0170: const v2, #float 1.79449e+38 // #7f070089 │ │ -41bb8a: 6e20 7756 2000 |0173: invoke-virtual {v0, v2}, Landroid/view/View;.setBackgroundResource:(I)V // method@5677 │ │ -41bb90: 5460 915d |0176: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_keyExchangeStatus:Landroid/view/View; // field@5d91 │ │ -41bb94: 6e20 ac56 b000 |0178: invoke-virtual {v0, v11}, Landroid/view/View;.setVisibility:(I)V // method@56ac │ │ -41bb9a: 5460 925d |017b: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_keyStreamDigest:Landroid/widget/TextView; // field@5d92 │ │ -41bb9e: 6e20 535b b000 |017d: invoke-virtual {v0, v11}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ -41bba4: 5460 955d |0180: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_locked:Landroid/widget/TextView; // field@5d95 │ │ -41bba8: 6e20 535b b000 |0182: invoke-virtual {v0, v11}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ -41bbae: 5460 955d |0185: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_locked:Landroid/widget/TextView; // field@5d95 │ │ -41bbb2: 2201 f10a |0187: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ -41bbb6: 7010 ee5c 0100 |0189: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41bbbc: 1a02 8d2e |018c: const-string v2, "Locked: " // string@2e8d │ │ -41bbc0: 6e20 f95c 2100 |018e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41bbc6: 5572 b35d |0191: iget-boolean v2, v7, Lorg/purple/smoke/SteamElement;.m_locked:Z // field@5db3 │ │ -41bbca: 3802 0500 |0193: if-eqz v2, 0198 // +0005 │ │ -41bbce: 1a02 fe52 |0195: const-string v2, "Yes" // string@52fe │ │ -41bbd2: 2803 |0197: goto 019a // +0003 │ │ -41bbd4: 1a02 5b40 |0198: const-string v2, "No" // string@405b │ │ -41bbd8: 6e20 f95c 2100 |019a: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41bbde: 6e10 035d 0100 |019d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41bbe4: 0c01 |01a0: move-result-object v1 │ │ -41bbe6: 6e20 495b 1000 |01a1: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41bbec: 5460 9a5d |01a4: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_readInterval:Landroid/widget/SeekBar; // field@5d9a │ │ -41bbf0: 6e20 a95a c000 |01a6: invoke-virtual {v0, v12}, Landroid/widget/SeekBar;.setVisibility:(I)V // method@5aa9 │ │ -41bbf6: 5460 9b5d |01a9: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_readIntervalLabel:Landroid/widget/TextView; // field@5d9b │ │ -41bbfa: 6e20 535b c000 |01ab: invoke-virtual {v0, v12}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ -41bc00: 5460 9c5d |01ae: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_sent:Landroid/widget/TextView; // field@5d9c │ │ -41bc04: 2201 f10a |01b0: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ -41bc08: 7010 ee5c 0100 |01b2: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41bc0e: 1a02 af45 |01b5: const-string v2, "Received: " // string@45af │ │ -41bc12: 6e20 f95c 2100 |01b7: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41bc18: 5372 b65d |01ba: iget-wide v2, v7, Lorg/purple/smoke/SteamElement;.m_readOffset:J // field@5db6 │ │ -41bc1c: 7030 f2b9 2603 |01bc: invoke-direct {v6, v2, v3}, Lorg/purple/smoke/SteamBubble;.formatSize:(J)Ljava/lang/String; // method@b9f2 │ │ -41bc22: 0c02 |01bf: move-result-object v2 │ │ -41bc24: 6e20 f95c 2100 |01c0: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41bc2a: 6e20 f95c e100 |01c3: invoke-virtual {v1, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41bc30: 5372 b65d |01c6: iget-wide v2, v7, Lorg/purple/smoke/SteamElement;.m_readOffset:J // field@5db6 │ │ -41bc34: 7030 f3b9 2603 |01c8: invoke-direct {v6, v2, v3}, Lorg/purple/smoke/SteamBubble;.niceBytes:(J)Ljava/lang/String; // method@b9f3 │ │ -41bc3a: 0c02 |01cb: move-result-object v2 │ │ -41bc3c: 6e20 f95c 2100 |01cc: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41bc42: 6e20 f95c d100 |01cf: invoke-virtual {v1, v13}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41bc48: 6e10 035d 0100 |01d2: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41bc4e: 0c01 |01d5: move-result-object v1 │ │ -41bc50: 6e20 495b 1000 |01d6: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41bc56: 2900 7800 |01d9: goto/16 0251 // +0078 │ │ -41bc5a: 5460 865d |01db: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_control:Landroid/widget/Button; // field@5d86 │ │ -41bc5e: 5479 b15d |01dd: iget-object v9, v7, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ -41bc62: 3809 0900 |01df: if-eqz v9, 01e8 // +0009 │ │ -41bc66: 5479 b15d |01e1: iget-object v9, v7, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ -41bc6a: 2199 |01e3: array-length v9, v9 │ │ -41bc6c: 33f9 0400 |01e4: if-ne v9, v15, 01e8 // +0004 │ │ -41bc70: 1219 |01e6: const/4 v9, #int 1 // #1 │ │ -41bc72: 2802 |01e7: goto 01e9 // +0002 │ │ -41bc74: 1209 |01e8: const/4 v9, #int 0 // #0 │ │ -41bc76: 6e20 e058 9000 |01e9: invoke-virtual {v0, v9}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ -41bc7c: 5460 865d |01ec: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_control:Landroid/widget/Button; // field@5d86 │ │ -41bc80: 6e20 e558 b000 |01ee: invoke-virtual {v0, v11}, Landroid/widget/Button;.setVisibility:(I)V // method@58e5 │ │ -41bc86: 5460 885d |01f1: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_destination:Landroid/widget/TextView; // field@5d88 │ │ -41bc8a: 2209 f10a |01f3: new-instance v9, Ljava/lang/StringBuilder; // type@0af1 │ │ -41bc8e: 7010 ee5c 0900 |01f5: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41bc94: 6e20 f95c 4900 |01f8: invoke-virtual {v9, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41bc9a: 5474 a85d |01fb: iget-object v4, v7, Lorg/purple/smoke/SteamElement;.m_destination:Ljava/lang/String; // field@5da8 │ │ -41bc9e: 6e20 f95c 4900 |01fd: invoke-virtual {v9, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41bca4: 6e10 035d 0900 |0200: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41bcaa: 0c04 |0203: move-result-object v4 │ │ -41bcac: 6e20 495b 4000 |0204: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41bcb2: 5460 8b5d |0207: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_direction:Landroid/view/View; // field@5d8b │ │ -41bcb6: 6e20 7756 3000 |0209: invoke-virtual {v0, v3}, Landroid/view/View;.setBackgroundResource:(I)V // method@5677 │ │ -41bcbc: 5460 8c5d |020c: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_ephemeralKeyType:Landroid/widget/TextView; // field@5d8c │ │ -41bcc0: 6e20 535b b000 |020e: invoke-virtual {v0, v11}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ -41bcc6: 5460 915d |0211: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_keyExchangeStatus:Landroid/view/View; // field@5d91 │ │ -41bcca: 5473 b15d |0213: iget-object v3, v7, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ -41bcce: 3803 0800 |0215: if-eqz v3, 021d // +0008 │ │ -41bcd2: 5473 b15d |0217: iget-object v3, v7, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ -41bcd6: 2133 |0219: array-length v3, v3 │ │ -41bcd8: 33f3 0300 |021a: if-ne v3, v15, 021d // +0003 │ │ -41bcdc: 2804 |021c: goto 0220 // +0004 │ │ -41bcde: 1402 8900 077f |021d: const v2, #float 1.79449e+38 // #7f070089 │ │ -41bce4: 6e20 7756 2000 |0220: invoke-virtual {v0, v2}, Landroid/view/View;.setBackgroundResource:(I)V // method@5677 │ │ -41bcea: 5460 915d |0223: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_keyExchangeStatus:Landroid/view/View; // field@5d91 │ │ -41bcee: 6e20 ac56 b000 |0225: invoke-virtual {v0, v11}, Landroid/view/View;.setVisibility:(I)V // method@56ac │ │ -41bcf4: 5460 925d |0228: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_keyStreamDigest:Landroid/widget/TextView; // field@5d92 │ │ -41bcf8: 6e20 535b b000 |022a: invoke-virtual {v0, v11}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ -41bcfe: 5460 955d |022d: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_locked:Landroid/widget/TextView; // field@5d95 │ │ -41bd02: 6e20 535b c000 |022f: invoke-virtual {v0, v12}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ -41bd08: 5460 9a5d |0232: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_readInterval:Landroid/widget/SeekBar; // field@5d9a │ │ -41bd0c: 6e20 a95a c000 |0234: invoke-virtual {v0, v12}, Landroid/widget/SeekBar;.setVisibility:(I)V // method@5aa9 │ │ -41bd12: 5460 9c5d |0237: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_sent:Landroid/widget/TextView; // field@5d9c │ │ -41bd16: 2202 f10a |0239: new-instance v2, Ljava/lang/StringBuilder; // type@0af1 │ │ -41bd1a: 7010 ee5c 0200 |023b: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41bd20: 6e20 f95c 1200 |023e: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41bd26: 5373 b65d |0241: iget-wide v3, v7, Lorg/purple/smoke/SteamElement;.m_readOffset:J // field@5db6 │ │ -41bd2a: 7030 f2b9 3604 |0243: invoke-direct {v6, v3, v4}, Lorg/purple/smoke/SteamBubble;.formatSize:(J)Ljava/lang/String; // method@b9f2 │ │ -41bd30: 0c01 |0246: move-result-object v1 │ │ -41bd32: 6e20 f95c 1200 |0247: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41bd38: 6e10 035d 0200 |024a: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41bd3e: 0c01 |024d: move-result-object v1 │ │ -41bd40: 6e20 495b 1000 |024e: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41bd46: 5460 895d |0251: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_details:Landroid/widget/Switch; // field@5d89 │ │ -41bd4a: 7100 66b9 0000 |0253: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -41bd50: 0c01 |0256: move-result-object v1 │ │ -41bd52: 5262 975d |0257: iget v2, v6, Lorg/purple/smoke/SteamBubble;.m_oid:I // field@5d97 │ │ -41bd56: 6e20 83b9 2100 |0259: invoke-virtual {v1, v2}, Lorg/purple/smoke/State;.steamDetailsState:(I)Z // method@b983 │ │ -41bd5c: 0a01 |025c: move-result v1 │ │ -41bd5e: 6e20 db5a 1000 |025d: invoke-virtual {v0, v1}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ -41bd64: 5460 8a5d |0260: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_digest:Landroid/widget/TextView; // field@5d8a │ │ -41bd68: 2201 f10a |0262: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ -41bd6c: 7010 ee5c 0100 |0264: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41bd72: 1a02 2947 |0267: const-string v2, "SHA-256: " // string@4729 │ │ -41bd76: 6e20 f95c 2100 |0269: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41bd7c: 5472 ad5d |026c: iget-object v2, v7, Lorg/purple/smoke/SteamElement;.m_fileDigest:[B // field@5dad │ │ -41bd80: 7110 d6b7 0200 |026e: invoke-static {v2}, Lorg/purple/smoke/Miscellaneous;.byteArrayAsHexString:([B)Ljava/lang/String; // method@b7d6 │ │ -41bd86: 0c02 |0271: move-result-object v2 │ │ -41bd88: 6e20 f95c 2100 |0272: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41bd8e: 6e10 035d 0100 |0275: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41bd94: 0c01 |0278: move-result-object v1 │ │ -41bd96: 6e20 495b 1000 |0279: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41bd9c: 5460 8c5d |027c: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_ephemeralKeyType:Landroid/widget/TextView; // field@5d8c │ │ -41bda0: 2201 f10a |027e: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ -41bda4: 7010 ee5c 0100 |0280: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41bdaa: 1a02 1619 |0283: const-string v2, "Ephemeral Key Type: " // string@1916 │ │ -41bdae: 6e20 f95c 2100 |0285: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41bdb4: 5472 b25d |0288: iget-object v2, v7, Lorg/purple/smoke/SteamElement;.m_keyType:Ljava/lang/String; // field@5db2 │ │ -41bdb8: 6e20 f95c 2100 |028a: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41bdbe: 6e10 035d 0100 |028d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41bdc4: 0c01 |0290: move-result-object v1 │ │ -41bdc6: 6e20 495b 1000 |0291: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41bdcc: 5469 8d5d |0294: iget-object v9, v6, Lorg/purple/smoke/SteamBubble;.m_eta:Landroid/widget/TextView; // field@5d8d │ │ -41bdd0: 5471 b95d |0296: iget-object v1, v7, Lorg/purple/smoke/SteamElement;.m_transferRate:Ljava/lang/String; // field@5db9 │ │ -41bdd4: 5372 b05d |0298: iget-wide v2, v7, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ -41bdd8: 5374 b65d |029a: iget-wide v4, v7, Lorg/purple/smoke/SteamElement;.m_readOffset:J // field@5db6 │ │ -41bddc: 0800 1000 |029c: move-object/from16 v0, v16 │ │ -41bde0: 7606 f4b9 0000 |029e: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lorg/purple/smoke/SteamBubble;.prettyEta:(Ljava/lang/String;JJ)Ljava/lang/String; // method@b9f4 │ │ -41bde6: 0c00 |02a1: move-result-object v0 │ │ -41bde8: 6e20 495b 0900 |02a2: invoke-virtual {v9, v0}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41bdee: 5460 8e5d |02a5: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_fileIdentity:Landroid/widget/TextView; // field@5d8e │ │ -41bdf2: 2201 f10a |02a7: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ -41bdf6: 7010 ee5c 0100 |02a9: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41bdfc: 1a02 a61a |02ac: const-string v2, "File Identity: " // string@1aa6 │ │ -41be00: 6e20 f95c 2100 |02ae: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41be06: 5472 ae5d |02b1: iget-object v2, v7, Lorg/purple/smoke/SteamElement;.m_fileIdentity:[B // field@5dae │ │ -41be0a: 7110 d6b7 0200 |02b3: invoke-static {v2}, Lorg/purple/smoke/Miscellaneous;.byteArrayAsHexString:([B)Ljava/lang/String; // method@b7d6 │ │ -41be10: 0c02 |02b6: move-result-object v2 │ │ -41be12: 6e20 f95c 2100 |02b7: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41be18: 6e10 035d 0100 |02ba: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41be1e: 0c01 |02bd: move-result-object v1 │ │ -41be20: 6e20 495b 1000 |02be: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41be26: 5460 8f5d |02c1: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_fileName:Landroid/widget/TextView; // field@5d8f │ │ -41be2a: 2201 f10a |02c3: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ -41be2e: 7010 ee5c 0100 |02c5: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41be34: 1a02 a81a |02c8: const-string v2, "File: " // string@1aa8 │ │ -41be38: 6e20 f95c 2100 |02ca: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41be3e: 5472 aa5d |02cd: iget-object v2, v7, Lorg/purple/smoke/SteamElement;.m_displayFileName:Ljava/lang/String; // field@5daa │ │ -41be42: 6e20 f95c 2100 |02cf: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41be48: 6e10 035d 0100 |02d2: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41be4e: 0c01 |02d5: move-result-object v1 │ │ -41be50: 6e20 495b 1000 |02d6: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41be56: 5460 905d |02d9: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_fileSize:Landroid/widget/TextView; // field@5d90 │ │ -41be5a: 2201 f10a |02db: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ -41be5e: 7010 ee5c 0100 |02dd: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41be64: 1a02 b24a |02e0: const-string v2, "Size: " // string@4ab2 │ │ -41be68: 6e20 f95c 2100 |02e2: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41be6e: 5372 b05d |02e5: iget-wide v2, v7, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ -41be72: 7030 f2b9 2603 |02e7: invoke-direct {v6, v2, v3}, Lorg/purple/smoke/SteamBubble;.formatSize:(J)Ljava/lang/String; // method@b9f2 │ │ -41be78: 0c02 |02ea: move-result-object v2 │ │ -41be7a: 6e20 f95c 2100 |02eb: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41be80: 6e20 f95c e100 |02ee: invoke-virtual {v1, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41be86: 5372 b05d |02f1: iget-wide v2, v7, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ -41be8a: 7030 f3b9 2603 |02f3: invoke-direct {v6, v2, v3}, Lorg/purple/smoke/SteamBubble;.niceBytes:(J)Ljava/lang/String; // method@b9f3 │ │ -41be90: 0c02 |02f6: move-result-object v2 │ │ -41be92: 6e20 f95c 2100 |02f7: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41be98: 6e20 f95c d100 |02fa: invoke-virtual {v1, v13}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41be9e: 6e10 035d 0100 |02fd: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41bea4: 0c01 |0300: move-result-object v1 │ │ -41bea6: 6e20 495b 1000 |0301: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41beac: 5470 b15d |0304: iget-object v0, v7, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ -41beb0: 3800 2d00 |0306: if-eqz v0, 0333 // +002d │ │ -41beb4: 5470 b15d |0308: iget-object v0, v7, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ -41beb8: 2100 |030a: array-length v0, v0 │ │ -41beba: 32f0 0300 |030b: if-eq v0, v15, 030e // +0003 │ │ -41bebe: 2826 |030d: goto 0333 // +0026 │ │ -41bec0: 5460 925d |030e: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_keyStreamDigest:Landroid/widget/TextView; // field@5d92 │ │ -41bec4: 2201 f10a |0310: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ -41bec8: 7010 ee5c 0100 |0312: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41bece: 1a02 291f |0315: const-string v2, "Key Stream SHA-256: " // string@1f29 │ │ -41bed2: 6e20 f95c 2100 |0317: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41bed8: 23a2 811b |031a: new-array v2, v10, [[B // type@1b81 │ │ -41bedc: 5473 b15d |031c: iget-object v3, v7, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ -41bee0: 4d03 020b |031e: aput-object v3, v2, v11 │ │ -41bee4: 7110 b0b5 0200 |0320: invoke-static {v2}, Lorg/purple/smoke/Cryptography;.sha256:([[B)[B // method@b5b0 │ │ -41beea: 0c02 |0323: move-result-object v2 │ │ -41beec: 7110 d6b7 0200 |0324: invoke-static {v2}, Lorg/purple/smoke/Miscellaneous;.byteArrayAsHexString:([B)Ljava/lang/String; // method@b7d6 │ │ -41bef2: 0c02 |0327: move-result-object v2 │ │ -41bef4: 6e20 f95c 2100 |0328: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41befa: 6e10 035d 0100 |032b: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41bf00: 0c01 |032e: move-result-object v1 │ │ -41bf02: 6e20 495b 1000 |032f: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41bf08: 2808 |0332: goto 033a // +0008 │ │ -41bf0a: 5460 925d |0333: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_keyStreamDigest:Landroid/widget/TextView; // field@5d92 │ │ -41bf0e: 1a01 2a1f |0335: const-string v1, "Key Stream SHA-256: N/A" // string@1f2a │ │ -41bf12: 6e20 495b 1000 |0337: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41bf18: 5370 b05d |033a: iget-wide v0, v7, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ -41bf1c: 1602 0000 |033c: const-wide/16 v2, #int 0 // #0 │ │ -41bf20: 3104 0002 |033e: cmp-long v4, v0, v2 │ │ -41bf24: 3d04 2b00 |0340: if-lez v4, 036b // +002b │ │ -41bf28: 5460 985d |0342: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_percent:Landroid/widget/TextView; // field@5d98 │ │ -41bf2c: 2201 f10a |0344: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ -41bf30: 7010 ee5c 0100 |0346: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41bf36: 1902 5940 |0349: const-wide/high16 v2, #long 4636737291354636288 // #4059 │ │ -41bf3a: 5374 b65d |034b: iget-wide v4, v7, Lorg/purple/smoke/SteamElement;.m_readOffset:J // field@5db6 │ │ -41bf3e: 8644 |034d: long-to-double v4, v4 │ │ -41bf40: 7120 2c5c 5400 |034e: invoke-static {v4, v5}, Ljava/lang/Double;.isNaN:(D)Z // method@5c2c │ │ -41bf46: ad04 0402 |0351: mul-double v4, v4, v2 │ │ -41bf4a: 5372 b05d |0353: iget-wide v2, v7, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ -41bf4e: 8622 |0355: long-to-double v2, v2 │ │ -41bf50: 7120 2c5c 3200 |0356: invoke-static {v2, v3}, Ljava/lang/Double;.isNaN:(D)Z // method@5c2c │ │ -41bf56: ce24 |0359: div-double/2addr v4, v2 │ │ -41bf58: 8a42 |035a: double-to-int v2, v4 │ │ -41bf5a: 6e20 f45c 2100 |035b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@5cf4 │ │ -41bf60: 1a02 0803 |035e: const-string v2, "%" // string@0308 │ │ -41bf64: 6e20 f95c 2100 |0360: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41bf6a: 6e10 035d 0100 |0363: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41bf70: 0c01 |0366: move-result-object v1 │ │ -41bf72: 6e20 495b 1000 |0367: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41bf78: 2808 |036a: goto 0372 // +0008 │ │ -41bf7a: 5460 985d |036b: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_percent:Landroid/widget/TextView; // field@5d98 │ │ -41bf7e: 1a01 c004 |036d: const-string v1, "0%" // string@04c0 │ │ -41bf82: 6e20 495b 1000 |036f: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41bf88: 5460 995d |0372: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_progress:Landroid/widget/ProgressBar; // field@5d99 │ │ -41bf8c: 5371 b05d |0374: iget-wide v1, v7, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ -41bf90: 8412 |0376: long-to-int v2, v1 │ │ -41bf92: 6e20 5c5a 2000 |0377: invoke-virtual {v0, v2}, Landroid/widget/ProgressBar;.setMax:(I)V // method@5a5c │ │ -41bf98: 5460 995d |037a: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_progress:Landroid/widget/ProgressBar; // field@5d99 │ │ -41bf9c: 5371 b65d |037c: iget-wide v1, v7, Lorg/purple/smoke/SteamElement;.m_readOffset:J // field@5db6 │ │ -41bfa0: 8412 |037e: long-to-int v2, v1 │ │ -41bfa2: 6e20 5d5a 2000 |037f: invoke-virtual {v0, v2}, Landroid/widget/ProgressBar;.setProgress:(I)V // method@5a5d │ │ -41bfa8: 5370 b55d |0382: iget-wide v0, v7, Lorg/purple/smoke/SteamElement;.m_readInterval:J // field@5db5 │ │ -41bfac: 8401 |0384: long-to-int v1, v0 │ │ -41bfae: 1240 |0385: const/4 v0, #int 4 // #4 │ │ -41bfb0: 3201 2c00 |0386: if-eq v1, v0, 03b2 // +002c │ │ -41bfb4: 1302 0a00 |0388: const/16 v2, #int 10 // #a │ │ -41bfb8: 3221 2200 |038a: if-eq v1, v2, 03ac // +0022 │ │ -41bfbc: 1302 1400 |038c: const/16 v2, #int 20 // #14 │ │ -41bfc0: 3221 1700 |038e: if-eq v1, v2, 03a5 // +0017 │ │ -41bfc4: 1302 3200 |0390: const/16 v2, #int 50 // #32 │ │ -41bfc8: 3221 0d00 |0392: if-eq v1, v2, 039f // +000d │ │ -41bfcc: 1302 6400 |0394: const/16 v2, #int 100 // #64 │ │ -41bfd0: 3221 0300 |0396: if-eq v1, v2, 0399 // +0003 │ │ -41bfd4: 281f |0398: goto 03b7 // +001f │ │ -41bfd6: 5461 9a5d |0399: iget-object v1, v6, Lorg/purple/smoke/SteamBubble;.m_readInterval:Landroid/widget/SeekBar; // field@5d9a │ │ -41bfda: 6e20 a75a 0100 |039b: invoke-virtual {v1, v0}, Landroid/widget/SeekBar;.setProgress:(I)V // method@5aa7 │ │ -41bfe0: 2819 |039e: goto 03b7 // +0019 │ │ -41bfe2: 5460 9a5d |039f: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_readInterval:Landroid/widget/SeekBar; // field@5d9a │ │ -41bfe6: 6e20 a75a 8000 |03a1: invoke-virtual {v0, v8}, Landroid/widget/SeekBar;.setProgress:(I)V // method@5aa7 │ │ -41bfec: 2813 |03a4: goto 03b7 // +0013 │ │ -41bfee: 5460 9a5d |03a5: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_readInterval:Landroid/widget/SeekBar; // field@5d9a │ │ -41bff2: 1221 |03a7: const/4 v1, #int 2 // #2 │ │ -41bff4: 6e20 a75a 1000 |03a8: invoke-virtual {v0, v1}, Landroid/widget/SeekBar;.setProgress:(I)V // method@5aa7 │ │ -41bffa: 280c |03ab: goto 03b7 // +000c │ │ -41bffc: 5460 9a5d |03ac: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_readInterval:Landroid/widget/SeekBar; // field@5d9a │ │ -41c000: 6e20 a75a a000 |03ae: invoke-virtual {v0, v10}, Landroid/widget/SeekBar;.setProgress:(I)V // method@5aa7 │ │ -41c006: 2806 |03b1: goto 03b7 // +0006 │ │ -41c008: 5460 9a5d |03b2: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_readInterval:Landroid/widget/SeekBar; // field@5d9a │ │ -41c00c: 6e20 a75a b000 |03b4: invoke-virtual {v0, v11}, Landroid/widget/SeekBar;.setProgress:(I)V // method@5aa7 │ │ -41c012: 5460 9d5d |03b7: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_separator:Landroid/view/View; // field@5d9d │ │ -41c016: d801 12ff |03b9: add-int/lit8 v1, v18, #int -1 // #ff │ │ -41c01a: 0202 1300 |03bb: move/from16 v2, v19 │ │ -41c01e: 3321 0400 |03bd: if-ne v1, v2, 03c1 // +0004 │ │ -41c022: 130b 0800 |03bf: const/16 v11, #int 8 // #8 │ │ -41c026: 6e20 ac56 b000 |03c1: invoke-virtual {v0, v11}, Landroid/view/View;.setVisibility:(I)V // method@56ac │ │ -41c02c: 5460 9e5d |03c4: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_status:Landroid/widget/TextView; // field@5d9e │ │ -41c030: 2201 f10a |03c6: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ -41c034: 7010 ee5c 0100 |03c8: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41c03a: 1a02 4c4b |03cb: const-string v2, "Status: " // string@4b4c │ │ -41c03e: 6e20 f95c 2100 |03cd: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41c044: 5472 b85d |03d0: iget-object v2, v7, Lorg/purple/smoke/SteamElement;.m_status:Ljava/lang/String; // field@5db8 │ │ -41c048: 6e20 f95c 2100 |03d2: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41c04e: 6e10 035d 0100 |03d5: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41c054: 0c01 |03d8: move-result-object v1 │ │ -41c056: 6e20 495b 1000 |03d9: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41c05c: 5870 a95d |03dc: iget-short v0, v7, Lorg/purple/smoke/SteamElement;.m_direction:S // field@5da9 │ │ -41c060: 3900 1b00 |03de: if-nez v0, 03f9 // +001b │ │ -41c064: 5460 a05d |03e0: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_transferRate:Landroid/widget/TextView; // field@5da0 │ │ -41c068: 2201 f10a |03e2: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ -41c06c: 7010 ee5c 0100 |03e4: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41c072: 1a02 a745 |03e7: const-string v2, "Receive Rate: " // string@45a7 │ │ -41c076: 6e20 f95c 2100 |03e9: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41c07c: 5472 b95d |03ec: iget-object v2, v7, Lorg/purple/smoke/SteamElement;.m_transferRate:Ljava/lang/String; // field@5db9 │ │ -41c080: 6e20 f95c 2100 |03ee: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41c086: 6e10 035d 0100 |03f1: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41c08c: 0c01 |03f4: move-result-object v1 │ │ -41c08e: 6e20 495b 1000 |03f5: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41c094: 2819 |03f8: goto 0411 // +0019 │ │ -41c096: 5460 a05d |03f9: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_transferRate:Landroid/widget/TextView; // field@5da0 │ │ -41c09a: 2201 f10a |03fb: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ -41c09e: 7010 ee5c 0100 |03fd: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41c0a4: 1a02 854e |0400: const-string v2, "Transfer Rate: " // string@4e85 │ │ -41c0a8: 6e20 f95c 2100 |0402: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41c0ae: 5472 b95d |0405: iget-object v2, v7, Lorg/purple/smoke/SteamElement;.m_transferRate:Ljava/lang/String; // field@5db9 │ │ -41c0b2: 6e20 f95c 2100 |0407: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41c0b8: 6e10 035d 0100 |040a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41c0be: 0c01 |040d: move-result-object v1 │ │ -41c0c0: 6e20 495b 1000 |040e: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41c0c6: 5460 a15d |0411: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ -41c0ca: 5261 975d |0413: iget v1, v6, Lorg/purple/smoke/SteamBubble;.m_oid:I // field@5d97 │ │ -41c0ce: 6e20 8256 1000 |0415: invoke-virtual {v0, v1}, Landroid/view/View;.setId:(I)V // method@5682 │ │ -41c0d4: 0e00 |0418: return-void │ │ -41c0d6: 0000 |0419: nop // spacer │ │ -41c0d8: 0002 0400 9b34 4a80 4bf6 60ac 2e99 ... |041a: sparse-switch-data (18 units) │ │ -41c0fc: 0001 0400 0000 0000 4900 0000 2500 ... |042c: packed-switch-data (12 units) │ │ +41b890: |[41b890] org.purple.smoke.SteamBubble.setData:(Lorg/purple/smoke/SteamElement;II)V │ │ +41b8a0: 0806 1000 |0000: move-object/from16 v6, v16 │ │ +41b8a4: 0807 1100 |0002: move-object/from16 v7, v17 │ │ +41b8a8: 3907 0300 |0004: if-nez v7, 0007 // +0003 │ │ +41b8ac: 0e00 |0006: return-void │ │ +41b8ae: 5270 b45d |0007: iget v0, v7, Lorg/purple/smoke/SteamElement;.m_oid:I // field@5db4 │ │ +41b8b2: 5960 975d |0009: iput v0, v6, Lorg/purple/smoke/SteamBubble;.m_oid:I // field@5d97 │ │ +41b8b6: 5470 b85d |000b: iget-object v0, v7, Lorg/purple/smoke/SteamElement;.m_status:Ljava/lang/String; // field@5db8 │ │ +41b8ba: 6e10 bf5c 0000 |000d: invoke-virtual {v0}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ +41b8c0: 6e10 bf5c 0000 |0010: invoke-virtual {v0}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ +41b8c6: 0a01 |0013: move-result v1 │ │ +41b8c8: 1238 |0014: const/4 v8, #int 3 // #3 │ │ +41b8ca: 12f2 |0015: const/4 v2, #int -1 // #ff │ │ +41b8cc: 121a |0016: const/4 v10, #int 1 // #1 │ │ +41b8ce: 120b |0017: const/4 v11, #int 0 // #0 │ │ +41b8d0: 2c01 0204 0000 |0018: sparse-switch v1, 0000041a // +00000402 │ │ +41b8d6: 12f0 |001b: const/4 v0, #int -1 // #ff │ │ +41b8d8: 282c |001c: goto 0048 // +002c │ │ +41b8da: 1a01 3794 |001d: const-string v1, "receiving" // string@9437 │ │ +41b8de: 6e20 b85c 1000 |001f: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41b8e4: 0a00 |0022: move-result v0 │ │ +41b8e6: 3900 0300 |0023: if-nez v0, 0026 // +0003 │ │ +41b8ea: 28f6 |0025: goto 001b // -000a │ │ +41b8ec: 1230 |0026: const/4 v0, #int 3 // #3 │ │ +41b8ee: 2821 |0027: goto 0048 // +0021 │ │ +41b8f0: 1a01 f190 |0028: const-string v1, "paused" // string@90f1 │ │ +41b8f4: 6e20 b85c 1000 |002a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41b8fa: 0a00 |002d: move-result v0 │ │ +41b8fc: 3900 0300 |002e: if-nez v0, 0031 // +0003 │ │ +41b900: 28eb |0030: goto 001b // -0015 │ │ +41b902: 1220 |0031: const/4 v0, #int 2 // #2 │ │ +41b904: 2816 |0032: goto 0048 // +0016 │ │ +41b906: 1a01 ae5e |0033: const-string v1, "completed" // string@5eae │ │ +41b90a: 6e20 b85c 1000 |0035: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41b910: 0a00 |0038: move-result v0 │ │ +41b912: 3900 0300 |0039: if-nez v0, 003c // +0003 │ │ +41b916: 28e0 |003b: goto 001b // -0020 │ │ +41b918: 1210 |003c: const/4 v0, #int 1 // #1 │ │ +41b91a: 280b |003d: goto 0048 // +000b │ │ +41b91c: 1a01 d2a2 |003e: const-string v1, "transferring" // string@a2d2 │ │ +41b920: 6e20 b85c 1000 |0040: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41b926: 0a00 |0043: move-result v0 │ │ +41b928: 3900 0300 |0044: if-nez v0, 0047 // +0003 │ │ +41b92c: 28d5 |0046: goto 001b // -002b │ │ +41b92e: 1200 |0047: const/4 v0, #int 0 // #0 │ │ +41b930: 1a01 aa43 |0048: const-string v1, "Pause" // string@43aa │ │ +41b934: 130c 0800 |004a: const/16 v12, #int 8 // #8 │ │ +41b938: 2b00 e003 0000 |004c: packed-switch v0, 0000042c // +000003e0 │ │ +41b93e: 2859 |004f: goto 00a8 // +0059 │ │ +41b940: 5460 985d |0050: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_percent:Landroid/widget/TextView; // field@5d98 │ │ +41b944: 6e20 535b b000 |0052: invoke-virtual {v0, v11}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ +41b94a: 5460 995d |0055: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_progress:Landroid/widget/ProgressBar; // field@5d99 │ │ +41b94e: 6e20 5f5a b000 |0057: invoke-virtual {v0, v11}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ +41b954: 284e |005a: goto 00a8 // +004e │ │ +41b956: 5460 865d |005b: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_control:Landroid/widget/Button; // field@5d86 │ │ +41b95a: 1a01 0346 |005d: const-string v1, "Resume" // string@4603 │ │ +41b95e: 6e20 e358 1000 |005f: invoke-virtual {v0, v1}, Landroid/widget/Button;.setText:(Ljava/lang/CharSequence;)V // method@58e3 │ │ +41b964: 1a00 e095 |0062: const-string v0, "resume" // string@95e0 │ │ +41b968: 5b60 875d |0064: iput-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_controlString:Ljava/lang/String; // field@5d87 │ │ +41b96c: 5460 985d |0066: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_percent:Landroid/widget/TextView; // field@5d98 │ │ +41b970: 6e20 535b c000 |0068: invoke-virtual {v0, v12}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ +41b976: 5460 995d |006b: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_progress:Landroid/widget/ProgressBar; // field@5d99 │ │ +41b97a: 6e20 5f5a c000 |006d: invoke-virtual {v0, v12}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ +41b980: 2838 |0070: goto 00a8 // +0038 │ │ +41b982: 5870 a95d |0071: iget-short v0, v7, Lorg/purple/smoke/SteamElement;.m_direction:S // field@5da9 │ │ +41b986: 3900 0c00 |0073: if-nez v0, 007f // +000c │ │ +41b98a: 5460 865d |0075: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_control:Landroid/widget/Button; // field@5d86 │ │ +41b98e: 6e20 e358 1000 |0077: invoke-virtual {v0, v1}, Landroid/widget/Button;.setText:(Ljava/lang/CharSequence;)V // method@58e3 │ │ +41b994: 1a00 0000 |007a: const-string v0, "" // string@0000 │ │ +41b998: 5b60 875d |007c: iput-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_controlString:Ljava/lang/String; // field@5d87 │ │ +41b99c: 280c |007e: goto 008a // +000c │ │ +41b99e: 5460 865d |007f: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_control:Landroid/widget/Button; // field@5d86 │ │ +41b9a2: 1a01 0846 |0081: const-string v1, "Rewind" // string@4608 │ │ +41b9a6: 6e20 e358 1000 |0083: invoke-virtual {v0, v1}, Landroid/widget/Button;.setText:(Ljava/lang/CharSequence;)V // method@58e3 │ │ +41b9ac: 1a00 0496 |0086: const-string v0, "rewind" // string@9604 │ │ +41b9b0: 5b60 875d |0088: iput-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_controlString:Ljava/lang/String; // field@5d87 │ │ +41b9b4: 5460 985d |008a: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_percent:Landroid/widget/TextView; // field@5d98 │ │ +41b9b8: 6e20 535b c000 |008c: invoke-virtual {v0, v12}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ +41b9be: 5460 995d |008f: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_progress:Landroid/widget/ProgressBar; // field@5d99 │ │ +41b9c2: 6e20 5f5a c000 |0091: invoke-virtual {v0, v12}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ +41b9c8: 2814 |0094: goto 00a8 // +0014 │ │ +41b9ca: 5460 865d |0095: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_control:Landroid/widget/Button; // field@5d86 │ │ +41b9ce: 6e20 e358 1000 |0097: invoke-virtual {v0, v1}, Landroid/widget/Button;.setText:(Ljava/lang/CharSequence;)V // method@58e3 │ │ +41b9d4: 1a00 ed90 |009a: const-string v0, "pause" // string@90ed │ │ +41b9d8: 5b60 875d |009c: iput-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_controlString:Ljava/lang/String; // field@5d87 │ │ +41b9dc: 5460 985d |009e: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_percent:Landroid/widget/TextView; // field@5d98 │ │ +41b9e0: 6e20 535b b000 |00a0: invoke-virtual {v0, v11}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ +41b9e6: 5460 995d |00a3: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_progress:Landroid/widget/ProgressBar; // field@5d99 │ │ +41b9ea: 6e20 5f5a b000 |00a5: invoke-virtual {v0, v11}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ +41b9f0: 5470 a85d |00a8: iget-object v0, v7, Lorg/purple/smoke/SteamElement;.m_destination:Ljava/lang/String; // field@5da8 │ │ +41b9f4: 1a01 be41 |00aa: const-string v1, "Other (Non-Smoke)" // string@41be │ │ +41b9f8: 6e20 b85c 1000 |00ac: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41b9fe: 0a00 |00af: move-result v0 │ │ +41ba00: 1a0d e403 |00b0: const-string v13, ")" // string@03e4 │ │ +41ba04: 1a0e 9800 |00b2: const-string v14, " (" // string@0098 │ │ +41ba08: 1a01 fc49 |00b4: const-string v1, "Sent: " // string@49fc │ │ +41ba0c: 1403 8a00 077f |00b6: const v3, #float 1.79449e+38 // #7f07008a │ │ +41ba12: 1a04 1217 |00b9: const-string v4, "Destination: " // string@1712 │ │ +41ba16: 130f 6000 |00bb: const/16 v15, #int 96 // #60 │ │ +41ba1a: 3800 7300 |00bd: if-eqz v0, 0130 // +0073 │ │ +41ba1e: 7100 02b7 0000 |00bf: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ +41ba24: 0c00 |00c2: move-result-object v0 │ │ +41ba26: 6e10 07b7 0000 |00c3: invoke-virtual {v0}, Lorg/purple/smoke/Kernel;.nextSimpleSteamOid:()I // method@b707 │ │ +41ba2c: 0a00 |00c6: move-result v0 │ │ +41ba2e: 5465 865d |00c7: iget-object v5, v6, Lorg/purple/smoke/SteamBubble;.m_control:Landroid/widget/Button; // field@5d86 │ │ +41ba32: 5269 975d |00c9: iget v9, v6, Lorg/purple/smoke/SteamBubble;.m_oid:I // field@5d97 │ │ +41ba36: 3209 0700 |00cb: if-eq v9, v0, 00d2 // +0007 │ │ +41ba3a: 3320 0300 |00cd: if-ne v0, v2, 00d0 // +0003 │ │ +41ba3e: 2803 |00cf: goto 00d2 // +0003 │ │ +41ba40: 1200 |00d0: const/4 v0, #int 0 // #0 │ │ +41ba42: 2802 |00d1: goto 00d3 // +0002 │ │ +41ba44: 1210 |00d2: const/4 v0, #int 1 // #1 │ │ +41ba46: 6e20 e058 0500 |00d3: invoke-virtual {v5, v0}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ +41ba4c: 5460 865d |00d6: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_control:Landroid/widget/Button; // field@5d86 │ │ +41ba50: 6e20 e558 b000 |00d8: invoke-virtual {v0, v11}, Landroid/widget/Button;.setVisibility:(I)V // method@58e5 │ │ +41ba56: 5460 885d |00db: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_destination:Landroid/widget/TextView; // field@5d88 │ │ +41ba5a: 2202 f10a |00dd: new-instance v2, Ljava/lang/StringBuilder; // type@0af1 │ │ +41ba5e: 7010 ee5c 0200 |00df: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41ba64: 6e20 f95c 4200 |00e2: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41ba6a: 5474 a85d |00e5: iget-object v4, v7, Lorg/purple/smoke/SteamElement;.m_destination:Ljava/lang/String; // field@5da8 │ │ +41ba6e: 6e20 f95c 4200 |00e7: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41ba74: 6e10 035d 0200 |00ea: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41ba7a: 0c02 |00ed: move-result-object v2 │ │ +41ba7c: 6e20 495b 2000 |00ee: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41ba82: 5460 8b5d |00f1: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_direction:Landroid/view/View; // field@5d8b │ │ +41ba86: 6e20 7756 3000 |00f3: invoke-virtual {v0, v3}, Landroid/view/View;.setBackgroundResource:(I)V // method@5677 │ │ +41ba8c: 5460 8c5d |00f6: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_ephemeralKeyType:Landroid/widget/TextView; // field@5d8c │ │ +41ba90: 6e20 535b c000 |00f8: invoke-virtual {v0, v12}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ +41ba96: 5460 915d |00fb: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_keyExchangeStatus:Landroid/view/View; // field@5d91 │ │ +41ba9a: 6e20 ac56 c000 |00fd: invoke-virtual {v0, v12}, Landroid/view/View;.setVisibility:(I)V // method@56ac │ │ +41baa0: 5460 925d |0100: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_keyStreamDigest:Landroid/widget/TextView; // field@5d92 │ │ +41baa4: 6e20 535b c000 |0102: invoke-virtual {v0, v12}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ +41baaa: 5460 955d |0105: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_locked:Landroid/widget/TextView; // field@5d95 │ │ +41baae: 6e20 535b c000 |0107: invoke-virtual {v0, v12}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ +41bab4: 5460 9a5d |010a: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_readInterval:Landroid/widget/SeekBar; // field@5d9a │ │ +41bab8: 6e20 a95a b000 |010c: invoke-virtual {v0, v11}, Landroid/widget/SeekBar;.setVisibility:(I)V // method@5aa9 │ │ +41babe: 5460 9b5d |010f: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_readIntervalLabel:Landroid/widget/TextView; // field@5d9b │ │ +41bac2: 6e20 535b b000 |0111: invoke-virtual {v0, v11}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ +41bac8: 5460 9c5d |0114: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_sent:Landroid/widget/TextView; // field@5d9c │ │ +41bacc: 2202 f10a |0116: new-instance v2, Ljava/lang/StringBuilder; // type@0af1 │ │ +41bad0: 7010 ee5c 0200 |0118: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41bad6: 6e20 f95c 1200 |011b: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41badc: 5373 b65d |011e: iget-wide v3, v7, Lorg/purple/smoke/SteamElement;.m_readOffset:J // field@5db6 │ │ +41bae0: 7030 f2b9 3604 |0120: invoke-direct {v6, v3, v4}, Lorg/purple/smoke/SteamBubble;.formatSize:(J)Ljava/lang/String; // method@b9f2 │ │ +41bae6: 0c01 |0123: move-result-object v1 │ │ +41bae8: 6e20 f95c 1200 |0124: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41baee: 6e10 035d 0200 |0127: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41baf4: 0c01 |012a: move-result-object v1 │ │ +41baf6: 6e20 495b 1000 |012b: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41bafc: 2900 2301 |012e: goto/16 0251 // +0123 │ │ +41bb00: 5870 a95d |0130: iget-short v0, v7, Lorg/purple/smoke/SteamElement;.m_direction:S // field@5da9 │ │ +41bb04: 1402 7100 077f |0132: const v2, #float 1.79448e+38 // #7f070071 │ │ +41bb0a: 1405 8900 077f |0135: const v5, #float 1.79449e+38 // #7f070089 │ │ +41bb10: 3900 a300 |0138: if-nez v0, 01db // +00a3 │ │ +41bb14: 5460 865d |013a: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_control:Landroid/widget/Button; // field@5d86 │ │ +41bb18: 6e20 e558 c000 |013c: invoke-virtual {v0, v12}, Landroid/widget/Button;.setVisibility:(I)V // method@58e5 │ │ +41bb1e: 5460 885d |013f: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_destination:Landroid/widget/TextView; // field@5d88 │ │ +41bb22: 2201 f10a |0141: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ +41bb26: 7010 ee5c 0100 |0143: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41bb2c: 1a03 bd41 |0146: const-string v3, "Origin: " // string@41bd │ │ +41bb30: 6e20 f95c 3100 |0148: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41bb36: 5473 a85d |014b: iget-object v3, v7, Lorg/purple/smoke/SteamElement;.m_destination:Ljava/lang/String; // field@5da8 │ │ +41bb3a: 6e20 f95c 3100 |014d: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41bb40: 6e10 035d 0100 |0150: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41bb46: 0c01 |0153: move-result-object v1 │ │ +41bb48: 6e20 495b 1000 |0154: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41bb4e: 5460 8b5d |0157: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_direction:Landroid/view/View; // field@5d8b │ │ +41bb52: 1401 6900 077f |0159: const v1, #float 1.79448e+38 // #7f070069 │ │ +41bb58: 6e20 7756 1000 |015c: invoke-virtual {v0, v1}, Landroid/view/View;.setBackgroundResource:(I)V // method@5677 │ │ +41bb5e: 5460 8c5d |015f: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_ephemeralKeyType:Landroid/widget/TextView; // field@5d8c │ │ +41bb62: 6e20 535b b000 |0161: invoke-virtual {v0, v11}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ +41bb68: 5460 915d |0164: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_keyExchangeStatus:Landroid/view/View; // field@5d91 │ │ +41bb6c: 5471 b15d |0166: iget-object v1, v7, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ +41bb70: 3801 0800 |0168: if-eqz v1, 0170 // +0008 │ │ +41bb74: 5471 b15d |016a: iget-object v1, v7, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ +41bb78: 2111 |016c: array-length v1, v1 │ │ +41bb7a: 33f1 0300 |016d: if-ne v1, v15, 0170 // +0003 │ │ +41bb7e: 2804 |016f: goto 0173 // +0004 │ │ +41bb80: 1402 8900 077f |0170: const v2, #float 1.79449e+38 // #7f070089 │ │ +41bb86: 6e20 7756 2000 |0173: invoke-virtual {v0, v2}, Landroid/view/View;.setBackgroundResource:(I)V // method@5677 │ │ +41bb8c: 5460 915d |0176: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_keyExchangeStatus:Landroid/view/View; // field@5d91 │ │ +41bb90: 6e20 ac56 b000 |0178: invoke-virtual {v0, v11}, Landroid/view/View;.setVisibility:(I)V // method@56ac │ │ +41bb96: 5460 925d |017b: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_keyStreamDigest:Landroid/widget/TextView; // field@5d92 │ │ +41bb9a: 6e20 535b b000 |017d: invoke-virtual {v0, v11}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ +41bba0: 5460 955d |0180: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_locked:Landroid/widget/TextView; // field@5d95 │ │ +41bba4: 6e20 535b b000 |0182: invoke-virtual {v0, v11}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ +41bbaa: 5460 955d |0185: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_locked:Landroid/widget/TextView; // field@5d95 │ │ +41bbae: 2201 f10a |0187: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ +41bbb2: 7010 ee5c 0100 |0189: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41bbb8: 1a02 8d2e |018c: const-string v2, "Locked: " // string@2e8d │ │ +41bbbc: 6e20 f95c 2100 |018e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41bbc2: 5572 b35d |0191: iget-boolean v2, v7, Lorg/purple/smoke/SteamElement;.m_locked:Z // field@5db3 │ │ +41bbc6: 3802 0500 |0193: if-eqz v2, 0198 // +0005 │ │ +41bbca: 1a02 fe52 |0195: const-string v2, "Yes" // string@52fe │ │ +41bbce: 2803 |0197: goto 019a // +0003 │ │ +41bbd0: 1a02 5b40 |0198: const-string v2, "No" // string@405b │ │ +41bbd4: 6e20 f95c 2100 |019a: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41bbda: 6e10 035d 0100 |019d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41bbe0: 0c01 |01a0: move-result-object v1 │ │ +41bbe2: 6e20 495b 1000 |01a1: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41bbe8: 5460 9a5d |01a4: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_readInterval:Landroid/widget/SeekBar; // field@5d9a │ │ +41bbec: 6e20 a95a c000 |01a6: invoke-virtual {v0, v12}, Landroid/widget/SeekBar;.setVisibility:(I)V // method@5aa9 │ │ +41bbf2: 5460 9b5d |01a9: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_readIntervalLabel:Landroid/widget/TextView; // field@5d9b │ │ +41bbf6: 6e20 535b c000 |01ab: invoke-virtual {v0, v12}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ +41bbfc: 5460 9c5d |01ae: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_sent:Landroid/widget/TextView; // field@5d9c │ │ +41bc00: 2201 f10a |01b0: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ +41bc04: 7010 ee5c 0100 |01b2: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41bc0a: 1a02 af45 |01b5: const-string v2, "Received: " // string@45af │ │ +41bc0e: 6e20 f95c 2100 |01b7: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41bc14: 5372 b65d |01ba: iget-wide v2, v7, Lorg/purple/smoke/SteamElement;.m_readOffset:J // field@5db6 │ │ +41bc18: 7030 f2b9 2603 |01bc: invoke-direct {v6, v2, v3}, Lorg/purple/smoke/SteamBubble;.formatSize:(J)Ljava/lang/String; // method@b9f2 │ │ +41bc1e: 0c02 |01bf: move-result-object v2 │ │ +41bc20: 6e20 f95c 2100 |01c0: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41bc26: 6e20 f95c e100 |01c3: invoke-virtual {v1, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41bc2c: 5372 b65d |01c6: iget-wide v2, v7, Lorg/purple/smoke/SteamElement;.m_readOffset:J // field@5db6 │ │ +41bc30: 7030 f3b9 2603 |01c8: invoke-direct {v6, v2, v3}, Lorg/purple/smoke/SteamBubble;.niceBytes:(J)Ljava/lang/String; // method@b9f3 │ │ +41bc36: 0c02 |01cb: move-result-object v2 │ │ +41bc38: 6e20 f95c 2100 |01cc: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41bc3e: 6e20 f95c d100 |01cf: invoke-virtual {v1, v13}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41bc44: 6e10 035d 0100 |01d2: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41bc4a: 0c01 |01d5: move-result-object v1 │ │ +41bc4c: 6e20 495b 1000 |01d6: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41bc52: 2900 7800 |01d9: goto/16 0251 // +0078 │ │ +41bc56: 5460 865d |01db: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_control:Landroid/widget/Button; // field@5d86 │ │ +41bc5a: 5479 b15d |01dd: iget-object v9, v7, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ +41bc5e: 3809 0900 |01df: if-eqz v9, 01e8 // +0009 │ │ +41bc62: 5479 b15d |01e1: iget-object v9, v7, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ +41bc66: 2199 |01e3: array-length v9, v9 │ │ +41bc68: 33f9 0400 |01e4: if-ne v9, v15, 01e8 // +0004 │ │ +41bc6c: 1219 |01e6: const/4 v9, #int 1 // #1 │ │ +41bc6e: 2802 |01e7: goto 01e9 // +0002 │ │ +41bc70: 1209 |01e8: const/4 v9, #int 0 // #0 │ │ +41bc72: 6e20 e058 9000 |01e9: invoke-virtual {v0, v9}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ +41bc78: 5460 865d |01ec: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_control:Landroid/widget/Button; // field@5d86 │ │ +41bc7c: 6e20 e558 b000 |01ee: invoke-virtual {v0, v11}, Landroid/widget/Button;.setVisibility:(I)V // method@58e5 │ │ +41bc82: 5460 885d |01f1: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_destination:Landroid/widget/TextView; // field@5d88 │ │ +41bc86: 2209 f10a |01f3: new-instance v9, Ljava/lang/StringBuilder; // type@0af1 │ │ +41bc8a: 7010 ee5c 0900 |01f5: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41bc90: 6e20 f95c 4900 |01f8: invoke-virtual {v9, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41bc96: 5474 a85d |01fb: iget-object v4, v7, Lorg/purple/smoke/SteamElement;.m_destination:Ljava/lang/String; // field@5da8 │ │ +41bc9a: 6e20 f95c 4900 |01fd: invoke-virtual {v9, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41bca0: 6e10 035d 0900 |0200: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41bca6: 0c04 |0203: move-result-object v4 │ │ +41bca8: 6e20 495b 4000 |0204: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41bcae: 5460 8b5d |0207: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_direction:Landroid/view/View; // field@5d8b │ │ +41bcb2: 6e20 7756 3000 |0209: invoke-virtual {v0, v3}, Landroid/view/View;.setBackgroundResource:(I)V // method@5677 │ │ +41bcb8: 5460 8c5d |020c: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_ephemeralKeyType:Landroid/widget/TextView; // field@5d8c │ │ +41bcbc: 6e20 535b b000 |020e: invoke-virtual {v0, v11}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ +41bcc2: 5460 915d |0211: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_keyExchangeStatus:Landroid/view/View; // field@5d91 │ │ +41bcc6: 5473 b15d |0213: iget-object v3, v7, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ +41bcca: 3803 0800 |0215: if-eqz v3, 021d // +0008 │ │ +41bcce: 5473 b15d |0217: iget-object v3, v7, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ +41bcd2: 2133 |0219: array-length v3, v3 │ │ +41bcd4: 33f3 0300 |021a: if-ne v3, v15, 021d // +0003 │ │ +41bcd8: 2804 |021c: goto 0220 // +0004 │ │ +41bcda: 1402 8900 077f |021d: const v2, #float 1.79449e+38 // #7f070089 │ │ +41bce0: 6e20 7756 2000 |0220: invoke-virtual {v0, v2}, Landroid/view/View;.setBackgroundResource:(I)V // method@5677 │ │ +41bce6: 5460 915d |0223: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_keyExchangeStatus:Landroid/view/View; // field@5d91 │ │ +41bcea: 6e20 ac56 b000 |0225: invoke-virtual {v0, v11}, Landroid/view/View;.setVisibility:(I)V // method@56ac │ │ +41bcf0: 5460 925d |0228: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_keyStreamDigest:Landroid/widget/TextView; // field@5d92 │ │ +41bcf4: 6e20 535b b000 |022a: invoke-virtual {v0, v11}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ +41bcfa: 5460 955d |022d: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_locked:Landroid/widget/TextView; // field@5d95 │ │ +41bcfe: 6e20 535b c000 |022f: invoke-virtual {v0, v12}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ +41bd04: 5460 9a5d |0232: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_readInterval:Landroid/widget/SeekBar; // field@5d9a │ │ +41bd08: 6e20 a95a c000 |0234: invoke-virtual {v0, v12}, Landroid/widget/SeekBar;.setVisibility:(I)V // method@5aa9 │ │ +41bd0e: 5460 9c5d |0237: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_sent:Landroid/widget/TextView; // field@5d9c │ │ +41bd12: 2202 f10a |0239: new-instance v2, Ljava/lang/StringBuilder; // type@0af1 │ │ +41bd16: 7010 ee5c 0200 |023b: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41bd1c: 6e20 f95c 1200 |023e: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41bd22: 5373 b65d |0241: iget-wide v3, v7, Lorg/purple/smoke/SteamElement;.m_readOffset:J // field@5db6 │ │ +41bd26: 7030 f2b9 3604 |0243: invoke-direct {v6, v3, v4}, Lorg/purple/smoke/SteamBubble;.formatSize:(J)Ljava/lang/String; // method@b9f2 │ │ +41bd2c: 0c01 |0246: move-result-object v1 │ │ +41bd2e: 6e20 f95c 1200 |0247: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41bd34: 6e10 035d 0200 |024a: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41bd3a: 0c01 |024d: move-result-object v1 │ │ +41bd3c: 6e20 495b 1000 |024e: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41bd42: 5460 895d |0251: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_details:Landroid/widget/Switch; // field@5d89 │ │ +41bd46: 7100 66b9 0000 |0253: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +41bd4c: 0c01 |0256: move-result-object v1 │ │ +41bd4e: 5262 975d |0257: iget v2, v6, Lorg/purple/smoke/SteamBubble;.m_oid:I // field@5d97 │ │ +41bd52: 6e20 83b9 2100 |0259: invoke-virtual {v1, v2}, Lorg/purple/smoke/State;.steamDetailsState:(I)Z // method@b983 │ │ +41bd58: 0a01 |025c: move-result v1 │ │ +41bd5a: 6e20 db5a 1000 |025d: invoke-virtual {v0, v1}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ +41bd60: 5460 8a5d |0260: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_digest:Landroid/widget/TextView; // field@5d8a │ │ +41bd64: 2201 f10a |0262: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ +41bd68: 7010 ee5c 0100 |0264: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41bd6e: 1a02 2947 |0267: const-string v2, "SHA-256: " // string@4729 │ │ +41bd72: 6e20 f95c 2100 |0269: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41bd78: 5472 ad5d |026c: iget-object v2, v7, Lorg/purple/smoke/SteamElement;.m_fileDigest:[B // field@5dad │ │ +41bd7c: 7110 d6b7 0200 |026e: invoke-static {v2}, Lorg/purple/smoke/Miscellaneous;.byteArrayAsHexString:([B)Ljava/lang/String; // method@b7d6 │ │ +41bd82: 0c02 |0271: move-result-object v2 │ │ +41bd84: 6e20 f95c 2100 |0272: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41bd8a: 6e10 035d 0100 |0275: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41bd90: 0c01 |0278: move-result-object v1 │ │ +41bd92: 6e20 495b 1000 |0279: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41bd98: 5460 8c5d |027c: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_ephemeralKeyType:Landroid/widget/TextView; // field@5d8c │ │ +41bd9c: 2201 f10a |027e: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ +41bda0: 7010 ee5c 0100 |0280: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41bda6: 1a02 1619 |0283: const-string v2, "Ephemeral Key Type: " // string@1916 │ │ +41bdaa: 6e20 f95c 2100 |0285: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41bdb0: 5472 b25d |0288: iget-object v2, v7, Lorg/purple/smoke/SteamElement;.m_keyType:Ljava/lang/String; // field@5db2 │ │ +41bdb4: 6e20 f95c 2100 |028a: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41bdba: 6e10 035d 0100 |028d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41bdc0: 0c01 |0290: move-result-object v1 │ │ +41bdc2: 6e20 495b 1000 |0291: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41bdc8: 5469 8d5d |0294: iget-object v9, v6, Lorg/purple/smoke/SteamBubble;.m_eta:Landroid/widget/TextView; // field@5d8d │ │ +41bdcc: 5471 b95d |0296: iget-object v1, v7, Lorg/purple/smoke/SteamElement;.m_transferRate:Ljava/lang/String; // field@5db9 │ │ +41bdd0: 5372 b05d |0298: iget-wide v2, v7, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ +41bdd4: 5374 b65d |029a: iget-wide v4, v7, Lorg/purple/smoke/SteamElement;.m_readOffset:J // field@5db6 │ │ +41bdd8: 0800 1000 |029c: move-object/from16 v0, v16 │ │ +41bddc: 7606 f4b9 0000 |029e: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lorg/purple/smoke/SteamBubble;.prettyEta:(Ljava/lang/String;JJ)Ljava/lang/String; // method@b9f4 │ │ +41bde2: 0c00 |02a1: move-result-object v0 │ │ +41bde4: 6e20 495b 0900 |02a2: invoke-virtual {v9, v0}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41bdea: 5460 8e5d |02a5: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_fileIdentity:Landroid/widget/TextView; // field@5d8e │ │ +41bdee: 2201 f10a |02a7: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ +41bdf2: 7010 ee5c 0100 |02a9: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41bdf8: 1a02 a61a |02ac: const-string v2, "File Identity: " // string@1aa6 │ │ +41bdfc: 6e20 f95c 2100 |02ae: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41be02: 5472 ae5d |02b1: iget-object v2, v7, Lorg/purple/smoke/SteamElement;.m_fileIdentity:[B // field@5dae │ │ +41be06: 7110 d6b7 0200 |02b3: invoke-static {v2}, Lorg/purple/smoke/Miscellaneous;.byteArrayAsHexString:([B)Ljava/lang/String; // method@b7d6 │ │ +41be0c: 0c02 |02b6: move-result-object v2 │ │ +41be0e: 6e20 f95c 2100 |02b7: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41be14: 6e10 035d 0100 |02ba: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41be1a: 0c01 |02bd: move-result-object v1 │ │ +41be1c: 6e20 495b 1000 |02be: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41be22: 5460 8f5d |02c1: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_fileName:Landroid/widget/TextView; // field@5d8f │ │ +41be26: 2201 f10a |02c3: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ +41be2a: 7010 ee5c 0100 |02c5: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41be30: 1a02 a81a |02c8: const-string v2, "File: " // string@1aa8 │ │ +41be34: 6e20 f95c 2100 |02ca: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41be3a: 5472 aa5d |02cd: iget-object v2, v7, Lorg/purple/smoke/SteamElement;.m_displayFileName:Ljava/lang/String; // field@5daa │ │ +41be3e: 6e20 f95c 2100 |02cf: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41be44: 6e10 035d 0100 |02d2: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41be4a: 0c01 |02d5: move-result-object v1 │ │ +41be4c: 6e20 495b 1000 |02d6: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41be52: 5460 905d |02d9: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_fileSize:Landroid/widget/TextView; // field@5d90 │ │ +41be56: 2201 f10a |02db: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ +41be5a: 7010 ee5c 0100 |02dd: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41be60: 1a02 b24a |02e0: const-string v2, "Size: " // string@4ab2 │ │ +41be64: 6e20 f95c 2100 |02e2: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41be6a: 5372 b05d |02e5: iget-wide v2, v7, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ +41be6e: 7030 f2b9 2603 |02e7: invoke-direct {v6, v2, v3}, Lorg/purple/smoke/SteamBubble;.formatSize:(J)Ljava/lang/String; // method@b9f2 │ │ +41be74: 0c02 |02ea: move-result-object v2 │ │ +41be76: 6e20 f95c 2100 |02eb: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41be7c: 6e20 f95c e100 |02ee: invoke-virtual {v1, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41be82: 5372 b05d |02f1: iget-wide v2, v7, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ +41be86: 7030 f3b9 2603 |02f3: invoke-direct {v6, v2, v3}, Lorg/purple/smoke/SteamBubble;.niceBytes:(J)Ljava/lang/String; // method@b9f3 │ │ +41be8c: 0c02 |02f6: move-result-object v2 │ │ +41be8e: 6e20 f95c 2100 |02f7: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41be94: 6e20 f95c d100 |02fa: invoke-virtual {v1, v13}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41be9a: 6e10 035d 0100 |02fd: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41bea0: 0c01 |0300: move-result-object v1 │ │ +41bea2: 6e20 495b 1000 |0301: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41bea8: 5470 b15d |0304: iget-object v0, v7, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ +41beac: 3800 2d00 |0306: if-eqz v0, 0333 // +002d │ │ +41beb0: 5470 b15d |0308: iget-object v0, v7, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ +41beb4: 2100 |030a: array-length v0, v0 │ │ +41beb6: 32f0 0300 |030b: if-eq v0, v15, 030e // +0003 │ │ +41beba: 2826 |030d: goto 0333 // +0026 │ │ +41bebc: 5460 925d |030e: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_keyStreamDigest:Landroid/widget/TextView; // field@5d92 │ │ +41bec0: 2201 f10a |0310: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ +41bec4: 7010 ee5c 0100 |0312: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41beca: 1a02 291f |0315: const-string v2, "Key Stream SHA-256: " // string@1f29 │ │ +41bece: 6e20 f95c 2100 |0317: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41bed4: 23a2 811b |031a: new-array v2, v10, [[B // type@1b81 │ │ +41bed8: 5473 b15d |031c: iget-object v3, v7, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ +41bedc: 4d03 020b |031e: aput-object v3, v2, v11 │ │ +41bee0: 7110 b0b5 0200 |0320: invoke-static {v2}, Lorg/purple/smoke/Cryptography;.sha256:([[B)[B // method@b5b0 │ │ +41bee6: 0c02 |0323: move-result-object v2 │ │ +41bee8: 7110 d6b7 0200 |0324: invoke-static {v2}, Lorg/purple/smoke/Miscellaneous;.byteArrayAsHexString:([B)Ljava/lang/String; // method@b7d6 │ │ +41beee: 0c02 |0327: move-result-object v2 │ │ +41bef0: 6e20 f95c 2100 |0328: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41bef6: 6e10 035d 0100 |032b: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41befc: 0c01 |032e: move-result-object v1 │ │ +41befe: 6e20 495b 1000 |032f: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41bf04: 2808 |0332: goto 033a // +0008 │ │ +41bf06: 5460 925d |0333: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_keyStreamDigest:Landroid/widget/TextView; // field@5d92 │ │ +41bf0a: 1a01 2a1f |0335: const-string v1, "Key Stream SHA-256: N/A" // string@1f2a │ │ +41bf0e: 6e20 495b 1000 |0337: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41bf14: 5370 b05d |033a: iget-wide v0, v7, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ +41bf18: 1602 0000 |033c: const-wide/16 v2, #int 0 // #0 │ │ +41bf1c: 3104 0002 |033e: cmp-long v4, v0, v2 │ │ +41bf20: 3d04 2b00 |0340: if-lez v4, 036b // +002b │ │ +41bf24: 5460 985d |0342: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_percent:Landroid/widget/TextView; // field@5d98 │ │ +41bf28: 2201 f10a |0344: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ +41bf2c: 7010 ee5c 0100 |0346: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41bf32: 1902 5940 |0349: const-wide/high16 v2, #long 4636737291354636288 // #4059 │ │ +41bf36: 5374 b65d |034b: iget-wide v4, v7, Lorg/purple/smoke/SteamElement;.m_readOffset:J // field@5db6 │ │ +41bf3a: 8644 |034d: long-to-double v4, v4 │ │ +41bf3c: 7120 2c5c 5400 |034e: invoke-static {v4, v5}, Ljava/lang/Double;.isNaN:(D)Z // method@5c2c │ │ +41bf42: ad04 0402 |0351: mul-double v4, v4, v2 │ │ +41bf46: 5372 b05d |0353: iget-wide v2, v7, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ +41bf4a: 8622 |0355: long-to-double v2, v2 │ │ +41bf4c: 7120 2c5c 3200 |0356: invoke-static {v2, v3}, Ljava/lang/Double;.isNaN:(D)Z // method@5c2c │ │ +41bf52: ce24 |0359: div-double/2addr v4, v2 │ │ +41bf54: 8a42 |035a: double-to-int v2, v4 │ │ +41bf56: 6e20 f45c 2100 |035b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@5cf4 │ │ +41bf5c: 1a02 0803 |035e: const-string v2, "%" // string@0308 │ │ +41bf60: 6e20 f95c 2100 |0360: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41bf66: 6e10 035d 0100 |0363: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41bf6c: 0c01 |0366: move-result-object v1 │ │ +41bf6e: 6e20 495b 1000 |0367: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41bf74: 2808 |036a: goto 0372 // +0008 │ │ +41bf76: 5460 985d |036b: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_percent:Landroid/widget/TextView; // field@5d98 │ │ +41bf7a: 1a01 c004 |036d: const-string v1, "0%" // string@04c0 │ │ +41bf7e: 6e20 495b 1000 |036f: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41bf84: 5460 995d |0372: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_progress:Landroid/widget/ProgressBar; // field@5d99 │ │ +41bf88: 5371 b05d |0374: iget-wide v1, v7, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ +41bf8c: 8412 |0376: long-to-int v2, v1 │ │ +41bf8e: 6e20 5c5a 2000 |0377: invoke-virtual {v0, v2}, Landroid/widget/ProgressBar;.setMax:(I)V // method@5a5c │ │ +41bf94: 5460 995d |037a: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_progress:Landroid/widget/ProgressBar; // field@5d99 │ │ +41bf98: 5371 b65d |037c: iget-wide v1, v7, Lorg/purple/smoke/SteamElement;.m_readOffset:J // field@5db6 │ │ +41bf9c: 8412 |037e: long-to-int v2, v1 │ │ +41bf9e: 6e20 5d5a 2000 |037f: invoke-virtual {v0, v2}, Landroid/widget/ProgressBar;.setProgress:(I)V // method@5a5d │ │ +41bfa4: 5370 b55d |0382: iget-wide v0, v7, Lorg/purple/smoke/SteamElement;.m_readInterval:J // field@5db5 │ │ +41bfa8: 8401 |0384: long-to-int v1, v0 │ │ +41bfaa: 1240 |0385: const/4 v0, #int 4 // #4 │ │ +41bfac: 3201 2c00 |0386: if-eq v1, v0, 03b2 // +002c │ │ +41bfb0: 1302 0a00 |0388: const/16 v2, #int 10 // #a │ │ +41bfb4: 3221 2200 |038a: if-eq v1, v2, 03ac // +0022 │ │ +41bfb8: 1302 1400 |038c: const/16 v2, #int 20 // #14 │ │ +41bfbc: 3221 1700 |038e: if-eq v1, v2, 03a5 // +0017 │ │ +41bfc0: 1302 3200 |0390: const/16 v2, #int 50 // #32 │ │ +41bfc4: 3221 0d00 |0392: if-eq v1, v2, 039f // +000d │ │ +41bfc8: 1302 6400 |0394: const/16 v2, #int 100 // #64 │ │ +41bfcc: 3221 0300 |0396: if-eq v1, v2, 0399 // +0003 │ │ +41bfd0: 281f |0398: goto 03b7 // +001f │ │ +41bfd2: 5461 9a5d |0399: iget-object v1, v6, Lorg/purple/smoke/SteamBubble;.m_readInterval:Landroid/widget/SeekBar; // field@5d9a │ │ +41bfd6: 6e20 a75a 0100 |039b: invoke-virtual {v1, v0}, Landroid/widget/SeekBar;.setProgress:(I)V // method@5aa7 │ │ +41bfdc: 2819 |039e: goto 03b7 // +0019 │ │ +41bfde: 5460 9a5d |039f: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_readInterval:Landroid/widget/SeekBar; // field@5d9a │ │ +41bfe2: 6e20 a75a 8000 |03a1: invoke-virtual {v0, v8}, Landroid/widget/SeekBar;.setProgress:(I)V // method@5aa7 │ │ +41bfe8: 2813 |03a4: goto 03b7 // +0013 │ │ +41bfea: 5460 9a5d |03a5: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_readInterval:Landroid/widget/SeekBar; // field@5d9a │ │ +41bfee: 1221 |03a7: const/4 v1, #int 2 // #2 │ │ +41bff0: 6e20 a75a 1000 |03a8: invoke-virtual {v0, v1}, Landroid/widget/SeekBar;.setProgress:(I)V // method@5aa7 │ │ +41bff6: 280c |03ab: goto 03b7 // +000c │ │ +41bff8: 5460 9a5d |03ac: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_readInterval:Landroid/widget/SeekBar; // field@5d9a │ │ +41bffc: 6e20 a75a a000 |03ae: invoke-virtual {v0, v10}, Landroid/widget/SeekBar;.setProgress:(I)V // method@5aa7 │ │ +41c002: 2806 |03b1: goto 03b7 // +0006 │ │ +41c004: 5460 9a5d |03b2: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_readInterval:Landroid/widget/SeekBar; // field@5d9a │ │ +41c008: 6e20 a75a b000 |03b4: invoke-virtual {v0, v11}, Landroid/widget/SeekBar;.setProgress:(I)V // method@5aa7 │ │ +41c00e: 5460 9d5d |03b7: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_separator:Landroid/view/View; // field@5d9d │ │ +41c012: d801 12ff |03b9: add-int/lit8 v1, v18, #int -1 // #ff │ │ +41c016: 0202 1300 |03bb: move/from16 v2, v19 │ │ +41c01a: 3321 0400 |03bd: if-ne v1, v2, 03c1 // +0004 │ │ +41c01e: 130b 0800 |03bf: const/16 v11, #int 8 // #8 │ │ +41c022: 6e20 ac56 b000 |03c1: invoke-virtual {v0, v11}, Landroid/view/View;.setVisibility:(I)V // method@56ac │ │ +41c028: 5460 9e5d |03c4: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_status:Landroid/widget/TextView; // field@5d9e │ │ +41c02c: 2201 f10a |03c6: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ +41c030: 7010 ee5c 0100 |03c8: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41c036: 1a02 4c4b |03cb: const-string v2, "Status: " // string@4b4c │ │ +41c03a: 6e20 f95c 2100 |03cd: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41c040: 5472 b85d |03d0: iget-object v2, v7, Lorg/purple/smoke/SteamElement;.m_status:Ljava/lang/String; // field@5db8 │ │ +41c044: 6e20 f95c 2100 |03d2: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41c04a: 6e10 035d 0100 |03d5: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41c050: 0c01 |03d8: move-result-object v1 │ │ +41c052: 6e20 495b 1000 |03d9: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41c058: 5870 a95d |03dc: iget-short v0, v7, Lorg/purple/smoke/SteamElement;.m_direction:S // field@5da9 │ │ +41c05c: 3900 1b00 |03de: if-nez v0, 03f9 // +001b │ │ +41c060: 5460 a05d |03e0: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_transferRate:Landroid/widget/TextView; // field@5da0 │ │ +41c064: 2201 f10a |03e2: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ +41c068: 7010 ee5c 0100 |03e4: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41c06e: 1a02 a745 |03e7: const-string v2, "Receive Rate: " // string@45a7 │ │ +41c072: 6e20 f95c 2100 |03e9: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41c078: 5472 b95d |03ec: iget-object v2, v7, Lorg/purple/smoke/SteamElement;.m_transferRate:Ljava/lang/String; // field@5db9 │ │ +41c07c: 6e20 f95c 2100 |03ee: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41c082: 6e10 035d 0100 |03f1: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41c088: 0c01 |03f4: move-result-object v1 │ │ +41c08a: 6e20 495b 1000 |03f5: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41c090: 2819 |03f8: goto 0411 // +0019 │ │ +41c092: 5460 a05d |03f9: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_transferRate:Landroid/widget/TextView; // field@5da0 │ │ +41c096: 2201 f10a |03fb: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ +41c09a: 7010 ee5c 0100 |03fd: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41c0a0: 1a02 854e |0400: const-string v2, "Transfer Rate: " // string@4e85 │ │ +41c0a4: 6e20 f95c 2100 |0402: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41c0aa: 5472 b95d |0405: iget-object v2, v7, Lorg/purple/smoke/SteamElement;.m_transferRate:Ljava/lang/String; // field@5db9 │ │ +41c0ae: 6e20 f95c 2100 |0407: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41c0b4: 6e10 035d 0100 |040a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41c0ba: 0c01 |040d: move-result-object v1 │ │ +41c0bc: 6e20 495b 1000 |040e: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41c0c2: 5460 a15d |0411: iget-object v0, v6, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ +41c0c6: 5261 975d |0413: iget v1, v6, Lorg/purple/smoke/SteamBubble;.m_oid:I // field@5d97 │ │ +41c0ca: 6e20 8256 1000 |0415: invoke-virtual {v0, v1}, Landroid/view/View;.setId:(I)V // method@5682 │ │ +41c0d0: 0e00 |0418: return-void │ │ +41c0d2: 0000 |0419: nop // spacer │ │ +41c0d4: 0002 0400 9b34 4a80 4bf6 60ac 2e99 ... |041a: sparse-switch-data (18 units) │ │ +41c0f8: 0001 0400 0000 0000 4900 0000 2500 ... |042c: packed-switch-data (12 units) │ │ catches : (none) │ │ positions : │ │ 0x0007 line=308 │ │ 0x000b line=310 │ │ 0x0050 line=334 │ │ 0x0055 line=335 │ │ 0x005b line=328 │ │ @@ -734147,17 +734146,17 @@ │ │ type : '()Landroid/view/View;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41b278: |[41b278] org.purple.smoke.SteamBubble.view:()Landroid/view/View; │ │ -41b288: 5410 a15d |0000: iget-object v0, v1, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ -41b28c: 1100 |0002: return-object v0 │ │ +41b274: |[41b274] org.purple.smoke.SteamBubble.view:()Landroid/view/View; │ │ +41b284: 5410 a15d |0000: iget-object v0, v1, Lorg/purple/smoke/SteamBubble;.m_view:Landroid/view/View; // field@5da1 │ │ +41b288: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=300 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lorg/purple/smoke/SteamBubble; │ │ │ │ source_file_idx : 19285 (SteamBubble.java) │ │ @@ -734267,44 +734266,44 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 54 16-bit code units │ │ -41c114: |[41c114] org.purple.smoke.SteamElement.:()V │ │ -41c124: 7010 8f5c 0400 |0000: invoke-direct {v4}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41c12a: 1a00 0000 |0003: const-string v0, "" // string@0000 │ │ -41c12e: 5b40 a85d |0005: iput-object v0, v4, Lorg/purple/smoke/SteamElement;.m_destination:Ljava/lang/String; // field@5da8 │ │ -41c132: 5b40 aa5d |0007: iput-object v0, v4, Lorg/purple/smoke/SteamElement;.m_displayFileName:Ljava/lang/String; // field@5daa │ │ -41c136: 5b40 af5d |0009: iput-object v0, v4, Lorg/purple/smoke/SteamElement;.m_fileName:Ljava/lang/String; // field@5daf │ │ -41c13a: 1a01 c93e |000b: const-string v1, "McEliece" // string@3ec9 │ │ -41c13e: 5b41 b25d |000d: iput-object v1, v4, Lorg/purple/smoke/SteamElement;.m_keyType:Ljava/lang/String; // field@5db2 │ │ -41c142: 1a01 f190 |000f: const-string v1, "paused" // string@90f1 │ │ -41c146: 5b41 b85d |0011: iput-object v1, v4, Lorg/purple/smoke/SteamElement;.m_status:Ljava/lang/String; // field@5db8 │ │ -41c14a: 5b40 b95d |0013: iput-object v0, v4, Lorg/purple/smoke/SteamElement;.m_transferRate:Ljava/lang/String; // field@5db9 │ │ -41c14e: 1210 |0015: const/4 v0, #int 1 // #1 │ │ -41c150: 5c40 b35d |0016: iput-boolean v0, v4, Lorg/purple/smoke/SteamElement;.m_locked:Z // field@5db3 │ │ -41c154: 1200 |0018: const/4 v0, #int 0 // #0 │ │ -41c156: 5b40 ab5d |0019: iput-object v0, v4, Lorg/purple/smoke/SteamElement;.m_ephemeralPrivateKey:[B // field@5dab │ │ -41c15a: 5b40 ac5d |001b: iput-object v0, v4, Lorg/purple/smoke/SteamElement;.m_ephemeralPublicKey:[B // field@5dac │ │ -41c15e: 5b40 ad5d |001d: iput-object v0, v4, Lorg/purple/smoke/SteamElement;.m_fileDigest:[B // field@5dad │ │ -41c162: 5b40 ae5d |001f: iput-object v0, v4, Lorg/purple/smoke/SteamElement;.m_fileIdentity:[B // field@5dae │ │ -41c166: 5b40 b15d |0021: iput-object v0, v4, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ -41c16a: 12f0 |0023: const/4 v0, #int -1 // #ff │ │ -41c16c: 5940 b45d |0024: iput v0, v4, Lorg/purple/smoke/SteamElement;.m_oid:I // field@5db4 │ │ -41c170: 5940 b75d |0026: iput v0, v4, Lorg/purple/smoke/SteamElement;.m_someOid:I // field@5db7 │ │ -41c174: 1600 0000 |0028: const-wide/16 v0, #int 0 // #0 │ │ -41c178: 5a40 b05d |002a: iput-wide v0, v4, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ -41c17c: 1602 0400 |002c: const-wide/16 v2, #int 4 // #4 │ │ -41c180: 5a42 b55d |002e: iput-wide v2, v4, Lorg/purple/smoke/SteamElement;.m_readInterval:J // field@5db5 │ │ -41c184: 5a40 b65d |0030: iput-wide v0, v4, Lorg/purple/smoke/SteamElement;.m_readOffset:J // field@5db6 │ │ -41c188: 1200 |0032: const/4 v0, #int 0 // #0 │ │ -41c18a: 5f40 a95d |0033: iput-short v0, v4, Lorg/purple/smoke/SteamElement;.m_direction:S // field@5da9 │ │ -41c18e: 0e00 |0035: return-void │ │ +41c110: |[41c110] org.purple.smoke.SteamElement.:()V │ │ +41c120: 7010 8f5c 0400 |0000: invoke-direct {v4}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41c126: 1a00 0000 |0003: const-string v0, "" // string@0000 │ │ +41c12a: 5b40 a85d |0005: iput-object v0, v4, Lorg/purple/smoke/SteamElement;.m_destination:Ljava/lang/String; // field@5da8 │ │ +41c12e: 5b40 aa5d |0007: iput-object v0, v4, Lorg/purple/smoke/SteamElement;.m_displayFileName:Ljava/lang/String; // field@5daa │ │ +41c132: 5b40 af5d |0009: iput-object v0, v4, Lorg/purple/smoke/SteamElement;.m_fileName:Ljava/lang/String; // field@5daf │ │ +41c136: 1a01 c93e |000b: const-string v1, "McEliece" // string@3ec9 │ │ +41c13a: 5b41 b25d |000d: iput-object v1, v4, Lorg/purple/smoke/SteamElement;.m_keyType:Ljava/lang/String; // field@5db2 │ │ +41c13e: 1a01 f190 |000f: const-string v1, "paused" // string@90f1 │ │ +41c142: 5b41 b85d |0011: iput-object v1, v4, Lorg/purple/smoke/SteamElement;.m_status:Ljava/lang/String; // field@5db8 │ │ +41c146: 5b40 b95d |0013: iput-object v0, v4, Lorg/purple/smoke/SteamElement;.m_transferRate:Ljava/lang/String; // field@5db9 │ │ +41c14a: 1210 |0015: const/4 v0, #int 1 // #1 │ │ +41c14c: 5c40 b35d |0016: iput-boolean v0, v4, Lorg/purple/smoke/SteamElement;.m_locked:Z // field@5db3 │ │ +41c150: 1200 |0018: const/4 v0, #int 0 // #0 │ │ +41c152: 5b40 ab5d |0019: iput-object v0, v4, Lorg/purple/smoke/SteamElement;.m_ephemeralPrivateKey:[B // field@5dab │ │ +41c156: 5b40 ac5d |001b: iput-object v0, v4, Lorg/purple/smoke/SteamElement;.m_ephemeralPublicKey:[B // field@5dac │ │ +41c15a: 5b40 ad5d |001d: iput-object v0, v4, Lorg/purple/smoke/SteamElement;.m_fileDigest:[B // field@5dad │ │ +41c15e: 5b40 ae5d |001f: iput-object v0, v4, Lorg/purple/smoke/SteamElement;.m_fileIdentity:[B // field@5dae │ │ +41c162: 5b40 b15d |0021: iput-object v0, v4, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ +41c166: 12f0 |0023: const/4 v0, #int -1 // #ff │ │ +41c168: 5940 b45d |0024: iput v0, v4, Lorg/purple/smoke/SteamElement;.m_oid:I // field@5db4 │ │ +41c16c: 5940 b75d |0026: iput v0, v4, Lorg/purple/smoke/SteamElement;.m_someOid:I // field@5db7 │ │ +41c170: 1600 0000 |0028: const-wide/16 v0, #int 0 // #0 │ │ +41c174: 5a40 b05d |002a: iput-wide v0, v4, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ +41c178: 1602 0400 |002c: const-wide/16 v2, #int 4 // #4 │ │ +41c17c: 5a42 b55d |002e: iput-wide v2, v4, Lorg/purple/smoke/SteamElement;.m_readInterval:J // field@5db5 │ │ +41c180: 5a40 b65d |0030: iput-wide v0, v4, Lorg/purple/smoke/SteamElement;.m_readOffset:J // field@5db6 │ │ +41c184: 1200 |0032: const/4 v0, #int 0 // #0 │ │ +41c186: 5f40 a95d |0033: iput-short v0, v4, Lorg/purple/smoke/SteamElement;.m_direction:S // field@5da9 │ │ +41c18a: 0e00 |0035: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=54 │ │ 0x0005 line=32 │ │ 0x0007 line=33 │ │ 0x0009 line=34 │ │ 0x000d line=35 │ │ @@ -734330,59 +734329,59 @@ │ │ type : '(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 9 │ │ ins : 4 │ │ outs : 3 │ │ insns size : 84 16-bit code units │ │ -41c190: |[41c190] org.purple.smoke.SteamElement.:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V │ │ -41c1a0: 7010 8f5c 0500 |0000: invoke-direct {v5}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41c1a6: 1a00 0000 |0003: const-string v0, "" // string@0000 │ │ -41c1aa: 5b50 a85d |0005: iput-object v0, v5, Lorg/purple/smoke/SteamElement;.m_destination:Ljava/lang/String; // field@5da8 │ │ -41c1ae: 5b50 aa5d |0007: iput-object v0, v5, Lorg/purple/smoke/SteamElement;.m_displayFileName:Ljava/lang/String; // field@5daa │ │ -41c1b2: 5b50 af5d |0009: iput-object v0, v5, Lorg/purple/smoke/SteamElement;.m_fileName:Ljava/lang/String; // field@5daf │ │ -41c1b6: 1a01 c93e |000b: const-string v1, "McEliece" // string@3ec9 │ │ -41c1ba: 5b51 b25d |000d: iput-object v1, v5, Lorg/purple/smoke/SteamElement;.m_keyType:Ljava/lang/String; // field@5db2 │ │ -41c1be: 1a01 f190 |000f: const-string v1, "paused" // string@90f1 │ │ -41c1c2: 5b51 b85d |0011: iput-object v1, v5, Lorg/purple/smoke/SteamElement;.m_status:Ljava/lang/String; // field@5db8 │ │ -41c1c6: 5b50 b95d |0013: iput-object v0, v5, Lorg/purple/smoke/SteamElement;.m_transferRate:Ljava/lang/String; // field@5db9 │ │ -41c1ca: 1210 |0015: const/4 v0, #int 1 // #1 │ │ -41c1cc: 5c50 b35d |0016: iput-boolean v0, v5, Lorg/purple/smoke/SteamElement;.m_locked:Z // field@5db3 │ │ -41c1d0: 1201 |0018: const/4 v1, #int 0 // #0 │ │ -41c1d2: 5b51 ab5d |0019: iput-object v1, v5, Lorg/purple/smoke/SteamElement;.m_ephemeralPrivateKey:[B // field@5dab │ │ -41c1d6: 5b51 ac5d |001b: iput-object v1, v5, Lorg/purple/smoke/SteamElement;.m_ephemeralPublicKey:[B // field@5dac │ │ -41c1da: 5b51 ad5d |001d: iput-object v1, v5, Lorg/purple/smoke/SteamElement;.m_fileDigest:[B // field@5dad │ │ -41c1de: 5b51 ae5d |001f: iput-object v1, v5, Lorg/purple/smoke/SteamElement;.m_fileIdentity:[B // field@5dae │ │ -41c1e2: 5b51 b15d |0021: iput-object v1, v5, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ -41c1e6: 12f1 |0023: const/4 v1, #int -1 // #ff │ │ -41c1e8: 5951 b45d |0024: iput v1, v5, Lorg/purple/smoke/SteamElement;.m_oid:I // field@5db4 │ │ -41c1ec: 5951 b75d |0026: iput v1, v5, Lorg/purple/smoke/SteamElement;.m_someOid:I // field@5db7 │ │ -41c1f0: 1601 0000 |0028: const-wide/16 v1, #int 0 // #0 │ │ -41c1f4: 5a51 b05d |002a: iput-wide v1, v5, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ -41c1f8: 1603 0400 |002c: const-wide/16 v3, #int 4 // #4 │ │ -41c1fc: 5a53 b55d |002e: iput-wide v3, v5, Lorg/purple/smoke/SteamElement;.m_readInterval:J // field@5db5 │ │ -41c200: 5a51 b65d |0030: iput-wide v1, v5, Lorg/purple/smoke/SteamElement;.m_readOffset:J // field@5db6 │ │ -41c204: 1201 |0032: const/4 v1, #int 0 // #0 │ │ -41c206: 5f51 a95d |0033: iput-short v1, v5, Lorg/purple/smoke/SteamElement;.m_direction:S // field@5da9 │ │ -41c20a: 5f50 a95d |0035: iput-short v0, v5, Lorg/purple/smoke/SteamElement;.m_direction:S // field@5da9 │ │ -41c20e: 5b56 aa5d |0037: iput-object v6, v5, Lorg/purple/smoke/SteamElement;.m_displayFileName:Ljava/lang/String; // field@5daa │ │ -41c212: 5b57 af5d |0039: iput-object v7, v5, Lorg/purple/smoke/SteamElement;.m_fileName:Ljava/lang/String; // field@5daf │ │ -41c216: 1306 2e00 |003b: const/16 v6, #int 46 // #2e │ │ -41c21a: 6e20 c45c 6700 |003d: invoke-virtual {v7, v6}, Ljava/lang/String;.lastIndexOf:(I)I // method@5cc4 │ │ -41c220: 0a00 |0040: move-result v0 │ │ -41c222: 3d00 0a00 |0041: if-lez v0, 004b // +000a │ │ -41c226: 6e20 c45c 6700 |0043: invoke-virtual {v7, v6}, Ljava/lang/String;.lastIndexOf:(I)I // method@5cc4 │ │ -41c22c: 0a06 |0046: move-result v6 │ │ -41c22e: 6e30 cd5c 1706 |0047: invoke-virtual {v7, v1, v6}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@5ccd │ │ -41c234: 0c07 |004a: move-result-object v7 │ │ -41c236: 7110 deb7 0700 |004b: invoke-static {v7}, Lorg/purple/smoke/Miscellaneous;.fileSize:(Ljava/lang/String;)J // method@b7de │ │ -41c23c: 0b06 |004e: move-result-wide v6 │ │ -41c23e: 5a56 b05d |004f: iput-wide v6, v5, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ -41c242: 5b58 b25d |0051: iput-object v8, v5, Lorg/purple/smoke/SteamElement;.m_keyType:Ljava/lang/String; // field@5db2 │ │ -41c246: 0e00 |0053: return-void │ │ +41c18c: |[41c18c] org.purple.smoke.SteamElement.:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V │ │ +41c19c: 7010 8f5c 0500 |0000: invoke-direct {v5}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41c1a2: 1a00 0000 |0003: const-string v0, "" // string@0000 │ │ +41c1a6: 5b50 a85d |0005: iput-object v0, v5, Lorg/purple/smoke/SteamElement;.m_destination:Ljava/lang/String; // field@5da8 │ │ +41c1aa: 5b50 aa5d |0007: iput-object v0, v5, Lorg/purple/smoke/SteamElement;.m_displayFileName:Ljava/lang/String; // field@5daa │ │ +41c1ae: 5b50 af5d |0009: iput-object v0, v5, Lorg/purple/smoke/SteamElement;.m_fileName:Ljava/lang/String; // field@5daf │ │ +41c1b2: 1a01 c93e |000b: const-string v1, "McEliece" // string@3ec9 │ │ +41c1b6: 5b51 b25d |000d: iput-object v1, v5, Lorg/purple/smoke/SteamElement;.m_keyType:Ljava/lang/String; // field@5db2 │ │ +41c1ba: 1a01 f190 |000f: const-string v1, "paused" // string@90f1 │ │ +41c1be: 5b51 b85d |0011: iput-object v1, v5, Lorg/purple/smoke/SteamElement;.m_status:Ljava/lang/String; // field@5db8 │ │ +41c1c2: 5b50 b95d |0013: iput-object v0, v5, Lorg/purple/smoke/SteamElement;.m_transferRate:Ljava/lang/String; // field@5db9 │ │ +41c1c6: 1210 |0015: const/4 v0, #int 1 // #1 │ │ +41c1c8: 5c50 b35d |0016: iput-boolean v0, v5, Lorg/purple/smoke/SteamElement;.m_locked:Z // field@5db3 │ │ +41c1cc: 1201 |0018: const/4 v1, #int 0 // #0 │ │ +41c1ce: 5b51 ab5d |0019: iput-object v1, v5, Lorg/purple/smoke/SteamElement;.m_ephemeralPrivateKey:[B // field@5dab │ │ +41c1d2: 5b51 ac5d |001b: iput-object v1, v5, Lorg/purple/smoke/SteamElement;.m_ephemeralPublicKey:[B // field@5dac │ │ +41c1d6: 5b51 ad5d |001d: iput-object v1, v5, Lorg/purple/smoke/SteamElement;.m_fileDigest:[B // field@5dad │ │ +41c1da: 5b51 ae5d |001f: iput-object v1, v5, Lorg/purple/smoke/SteamElement;.m_fileIdentity:[B // field@5dae │ │ +41c1de: 5b51 b15d |0021: iput-object v1, v5, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ +41c1e2: 12f1 |0023: const/4 v1, #int -1 // #ff │ │ +41c1e4: 5951 b45d |0024: iput v1, v5, Lorg/purple/smoke/SteamElement;.m_oid:I // field@5db4 │ │ +41c1e8: 5951 b75d |0026: iput v1, v5, Lorg/purple/smoke/SteamElement;.m_someOid:I // field@5db7 │ │ +41c1ec: 1601 0000 |0028: const-wide/16 v1, #int 0 // #0 │ │ +41c1f0: 5a51 b05d |002a: iput-wide v1, v5, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ +41c1f4: 1603 0400 |002c: const-wide/16 v3, #int 4 // #4 │ │ +41c1f8: 5a53 b55d |002e: iput-wide v3, v5, Lorg/purple/smoke/SteamElement;.m_readInterval:J // field@5db5 │ │ +41c1fc: 5a51 b65d |0030: iput-wide v1, v5, Lorg/purple/smoke/SteamElement;.m_readOffset:J // field@5db6 │ │ +41c200: 1201 |0032: const/4 v1, #int 0 // #0 │ │ +41c202: 5f51 a95d |0033: iput-short v1, v5, Lorg/purple/smoke/SteamElement;.m_direction:S // field@5da9 │ │ +41c206: 5f50 a95d |0035: iput-short v0, v5, Lorg/purple/smoke/SteamElement;.m_direction:S // field@5da9 │ │ +41c20a: 5b56 aa5d |0037: iput-object v6, v5, Lorg/purple/smoke/SteamElement;.m_displayFileName:Ljava/lang/String; // field@5daa │ │ +41c20e: 5b57 af5d |0039: iput-object v7, v5, Lorg/purple/smoke/SteamElement;.m_fileName:Ljava/lang/String; // field@5daf │ │ +41c212: 1306 2e00 |003b: const/16 v6, #int 46 // #2e │ │ +41c216: 6e20 c45c 6700 |003d: invoke-virtual {v7, v6}, Ljava/lang/String;.lastIndexOf:(I)I // method@5cc4 │ │ +41c21c: 0a00 |0040: move-result v0 │ │ +41c21e: 3d00 0a00 |0041: if-lez v0, 004b // +000a │ │ +41c222: 6e20 c45c 6700 |0043: invoke-virtual {v7, v6}, Ljava/lang/String;.lastIndexOf:(I)I // method@5cc4 │ │ +41c228: 0a06 |0046: move-result v6 │ │ +41c22a: 6e30 cd5c 1706 |0047: invoke-virtual {v7, v1, v6}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@5ccd │ │ +41c230: 0c07 |004a: move-result-object v7 │ │ +41c232: 7110 deb7 0700 |004b: invoke-static {v7}, Lorg/purple/smoke/Miscellaneous;.fileSize:(Ljava/lang/String;)J // method@b7de │ │ +41c238: 0b06 |004e: move-result-wide v6 │ │ +41c23a: 5a56 b05d |004f: iput-wide v6, v5, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ +41c23e: 5b58 b25d |0051: iput-object v8, v5, Lorg/purple/smoke/SteamElement;.m_keyType:Ljava/lang/String; // field@5db2 │ │ +41c242: 0e00 |0053: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=60 │ │ 0x0005 line=32 │ │ 0x0007 line=33 │ │ 0x0009 line=34 │ │ 0x000d line=35 │ │ @@ -734449,18 +734448,18 @@ │ │ type : '(Lorg/purple/smoke/SteamKeyExchange;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -41c248: |[41c248] org.purple.smoke.SteamKeyExchange$1.:(Lorg/purple/smoke/SteamKeyExchange;)V │ │ -41c258: 5b01 ba5d |0000: iput-object v1, v0, Lorg/purple/smoke/SteamKeyExchange$1;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dba │ │ -41c25c: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41c262: 0e00 |0005: return-void │ │ +41c244: |[41c244] org.purple.smoke.SteamKeyExchange$1.:(Lorg/purple/smoke/SteamKeyExchange;)V │ │ +41c254: 5b01 ba5d |0000: iput-object v1, v0, Lorg/purple/smoke/SteamKeyExchange$1;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dba │ │ +41c258: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41c25e: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=372 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/SteamKeyExchange$1; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/SteamKeyExchange; │ │ │ │ @@ -734470,95 +734469,95 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 147 16-bit code units │ │ -41c264: |[41c264] org.purple.smoke.SteamKeyExchange$1.run:()V │ │ -41c274: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -41c276: 5461 ba5d |0001: iget-object v1, v6, Lorg/purple/smoke/SteamKeyExchange$1;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dba │ │ -41c27a: 7110 00ba 0100 |0003: invoke-static {v1}, Lorg/purple/smoke/SteamKeyExchange;.access$000:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/concurrent/locks/ReentrantReadWriteLock; // method@ba00 │ │ -41c280: 0c01 |0006: move-result-object v1 │ │ -41c282: 6e10 eb60 0100 |0007: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41c288: 0c01 |000a: move-result-object v1 │ │ -41c28a: 6e10 e760 0100 |000b: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ -41c290: 1211 |000e: const/4 v1, #int 1 // #1 │ │ -41c292: 5462 ba5d |000f: iget-object v2, v6, Lorg/purple/smoke/SteamKeyExchange$1;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dba │ │ -41c296: 7110 01ba 0200 |0011: invoke-static {v2}, Lorg/purple/smoke/SteamKeyExchange;.access$100:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/ArrayList; // method@ba01 │ │ -41c29c: 0c02 |0014: move-result-object v2 │ │ -41c29e: 6e10 a45f 0200 |0015: invoke-virtual {v2}, Ljava/util/ArrayList;.isEmpty:()Z // method@5fa4 │ │ -41c2a4: 0a02 |0018: move-result v2 │ │ -41c2a6: 3902 1a00 |0019: if-nez v2, 0033 // +001a │ │ -41c2aa: 5462 ba5d |001b: iget-object v2, v6, Lorg/purple/smoke/SteamKeyExchange$1;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dba │ │ -41c2ae: 7110 01ba 0200 |001d: invoke-static {v2}, Lorg/purple/smoke/SteamKeyExchange;.access$100:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/ArrayList; // method@ba01 │ │ -41c2b4: 0c02 |0020: move-result-object v2 │ │ -41c2b6: 5463 ba5d |0021: iget-object v3, v6, Lorg/purple/smoke/SteamKeyExchange$1;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dba │ │ -41c2ba: 7110 01ba 0300 |0023: invoke-static {v3}, Lorg/purple/smoke/SteamKeyExchange;.access$100:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/ArrayList; // method@ba01 │ │ -41c2c0: 0c03 |0026: move-result-object v3 │ │ -41c2c2: 6e10 ab5f 0300 |0027: invoke-virtual {v3}, Ljava/util/ArrayList;.size:()I // method@5fab │ │ -41c2c8: 0a03 |002a: move-result v3 │ │ -41c2ca: b113 |002b: sub-int/2addr v3, v1 │ │ -41c2cc: 6e20 a75f 3200 |002c: invoke-virtual {v2, v3}, Ljava/util/ArrayList;.remove:(I)Ljava/lang/Object; // method@5fa7 │ │ -41c2d2: 0c02 |002f: move-result-object v2 │ │ -41c2d4: 1f02 9d1a |0030: check-cast v2, Lorg/purple/smoke/SteamKeyExchange$Pair; // type@1a9d │ │ -41c2d8: 0720 |0032: move-object v0, v2 │ │ -41c2da: 5462 ba5d |0033: iget-object v2, v6, Lorg/purple/smoke/SteamKeyExchange$1;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dba │ │ -41c2de: 7110 00ba 0200 |0035: invoke-static {v2}, Lorg/purple/smoke/SteamKeyExchange;.access$000:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/concurrent/locks/ReentrantReadWriteLock; // method@ba00 │ │ -41c2e4: 0c02 |0038: move-result-object v2 │ │ -41c2e6: 6e10 eb60 0200 |0039: invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41c2ec: 0c02 |003c: move-result-object v2 │ │ -41c2ee: 6e10 e860 0200 |003d: invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -41c2f4: 2817 |0040: goto 0057 // +0017 │ │ -41c2f6: 0d00 |0041: move-exception v0 │ │ -41c2f8: 5461 ba5d |0042: iget-object v1, v6, Lorg/purple/smoke/SteamKeyExchange$1;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dba │ │ -41c2fc: 7110 00ba 0100 |0044: invoke-static {v1}, Lorg/purple/smoke/SteamKeyExchange;.access$000:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/concurrent/locks/ReentrantReadWriteLock; // method@ba00 │ │ -41c302: 0c01 |0047: move-result-object v1 │ │ -41c304: 6e10 eb60 0100 |0048: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41c30a: 0c01 |004b: move-result-object v1 │ │ -41c30c: 6e10 e860 0100 |004c: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -41c312: 2700 |004f: throw v0 │ │ -41c314: 5462 ba5d |0050: iget-object v2, v6, Lorg/purple/smoke/SteamKeyExchange$1;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dba │ │ -41c318: 7110 00ba 0200 |0052: invoke-static {v2}, Lorg/purple/smoke/SteamKeyExchange;.access$000:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/concurrent/locks/ReentrantReadWriteLock; // method@ba00 │ │ -41c31e: 0c02 |0055: move-result-object v2 │ │ -41c320: 28e3 |0056: goto 0039 // -001d │ │ -41c322: 3900 1b00 |0057: if-nez v0, 0072 // +001b │ │ -41c326: 5462 ba5d |0059: iget-object v2, v6, Lorg/purple/smoke/SteamKeyExchange$1;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dba │ │ -41c32a: 7110 02ba 0200 |005b: invoke-static {v2}, Lorg/purple/smoke/SteamKeyExchange;.access$200:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/lang/Object; // method@ba02 │ │ -41c330: 0c02 |005e: move-result-object v2 │ │ -41c332: 1d02 |005f: monitor-enter v2 │ │ -41c334: 5463 ba5d |0060: iget-object v3, v6, Lorg/purple/smoke/SteamKeyExchange$1;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dba │ │ -41c338: 7110 02ba 0300 |0062: invoke-static {v3}, Lorg/purple/smoke/SteamKeyExchange;.access$200:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/lang/Object; // method@ba02 │ │ -41c33e: 0c03 |0065: move-result-object v3 │ │ -41c340: 1604 1027 |0066: const-wide/16 v4, #int 10000 // #2710 │ │ -41c344: 6e30 985c 4305 |0068: invoke-virtual {v3, v4, v5}, Ljava/lang/Object;.wait:(J)V // method@5c98 │ │ -41c34a: 2803 |006b: goto 006e // +0003 │ │ -41c34c: 0d00 |006c: move-exception v0 │ │ -41c34e: 2803 |006d: goto 0070 // +0003 │ │ -41c350: 1e02 |006e: monitor-exit v2 │ │ -41c352: 2803 |006f: goto 0072 // +0003 │ │ -41c354: 1e02 |0070: monitor-exit v2 │ │ -41c356: 2700 |0071: throw v0 │ │ -41c358: 3800 2000 |0072: if-eqz v0, 0092 // +0020 │ │ -41c35c: 5402 bc5d |0074: iget-object v2, v0, Lorg/purple/smoke/SteamKeyExchange$Pair;.m_ciphertext:[B // field@5dbc │ │ -41c360: 1203 |0076: const/4 v3, #int 0 // #0 │ │ -41c362: 4802 0203 |0077: aget-byte v2, v2, v3 │ │ -41c366: 6204 2c53 |0079: sget-object v4, Lorg/purple/smoke/Messages;.STEAM_KEY_EXCHANGE:[B // field@532c │ │ -41c36a: 4804 0403 |007b: aget-byte v4, v4, v3 │ │ -41c36e: 3242 0c00 |007d: if-eq v2, v4, 0089 // +000c │ │ -41c372: 5402 bc5d |007f: iget-object v2, v0, Lorg/purple/smoke/SteamKeyExchange$Pair;.m_ciphertext:[B // field@5dbc │ │ -41c376: 4802 0203 |0081: aget-byte v2, v2, v3 │ │ -41c37a: 6203 2c53 |0083: sget-object v3, Lorg/purple/smoke/Messages;.STEAM_KEY_EXCHANGE:[B // field@532c │ │ -41c37e: 4801 0301 |0085: aget-byte v1, v3, v1 │ │ -41c382: 3312 0b00 |0087: if-ne v2, v1, 0092 // +000b │ │ -41c386: 5461 ba5d |0089: iget-object v1, v6, Lorg/purple/smoke/SteamKeyExchange$1;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dba │ │ -41c38a: 5402 bc5d |008b: iget-object v2, v0, Lorg/purple/smoke/SteamKeyExchange$Pair;.m_ciphertext:[B // field@5dbc │ │ -41c38e: 5400 bd5d |008d: iget-object v0, v0, Lorg/purple/smoke/SteamKeyExchange$Pair;.m_pki:[B // field@5dbd │ │ -41c392: 7130 03ba 2100 |008f: invoke-static {v1, v2, v0}, Lorg/purple/smoke/SteamKeyExchange;.access$300:(Lorg/purple/smoke/SteamKeyExchange;[B[B)V // method@ba03 │ │ -41c398: 0e00 |0092: return-void │ │ +41c260: |[41c260] org.purple.smoke.SteamKeyExchange$1.run:()V │ │ +41c270: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +41c272: 5461 ba5d |0001: iget-object v1, v6, Lorg/purple/smoke/SteamKeyExchange$1;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dba │ │ +41c276: 7110 00ba 0100 |0003: invoke-static {v1}, Lorg/purple/smoke/SteamKeyExchange;.access$000:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/concurrent/locks/ReentrantReadWriteLock; // method@ba00 │ │ +41c27c: 0c01 |0006: move-result-object v1 │ │ +41c27e: 6e10 eb60 0100 |0007: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41c284: 0c01 |000a: move-result-object v1 │ │ +41c286: 6e10 e760 0100 |000b: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ +41c28c: 1211 |000e: const/4 v1, #int 1 // #1 │ │ +41c28e: 5462 ba5d |000f: iget-object v2, v6, Lorg/purple/smoke/SteamKeyExchange$1;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dba │ │ +41c292: 7110 01ba 0200 |0011: invoke-static {v2}, Lorg/purple/smoke/SteamKeyExchange;.access$100:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/ArrayList; // method@ba01 │ │ +41c298: 0c02 |0014: move-result-object v2 │ │ +41c29a: 6e10 a45f 0200 |0015: invoke-virtual {v2}, Ljava/util/ArrayList;.isEmpty:()Z // method@5fa4 │ │ +41c2a0: 0a02 |0018: move-result v2 │ │ +41c2a2: 3902 1a00 |0019: if-nez v2, 0033 // +001a │ │ +41c2a6: 5462 ba5d |001b: iget-object v2, v6, Lorg/purple/smoke/SteamKeyExchange$1;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dba │ │ +41c2aa: 7110 01ba 0200 |001d: invoke-static {v2}, Lorg/purple/smoke/SteamKeyExchange;.access$100:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/ArrayList; // method@ba01 │ │ +41c2b0: 0c02 |0020: move-result-object v2 │ │ +41c2b2: 5463 ba5d |0021: iget-object v3, v6, Lorg/purple/smoke/SteamKeyExchange$1;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dba │ │ +41c2b6: 7110 01ba 0300 |0023: invoke-static {v3}, Lorg/purple/smoke/SteamKeyExchange;.access$100:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/ArrayList; // method@ba01 │ │ +41c2bc: 0c03 |0026: move-result-object v3 │ │ +41c2be: 6e10 ab5f 0300 |0027: invoke-virtual {v3}, Ljava/util/ArrayList;.size:()I // method@5fab │ │ +41c2c4: 0a03 |002a: move-result v3 │ │ +41c2c6: b113 |002b: sub-int/2addr v3, v1 │ │ +41c2c8: 6e20 a75f 3200 |002c: invoke-virtual {v2, v3}, Ljava/util/ArrayList;.remove:(I)Ljava/lang/Object; // method@5fa7 │ │ +41c2ce: 0c02 |002f: move-result-object v2 │ │ +41c2d0: 1f02 9d1a |0030: check-cast v2, Lorg/purple/smoke/SteamKeyExchange$Pair; // type@1a9d │ │ +41c2d4: 0720 |0032: move-object v0, v2 │ │ +41c2d6: 5462 ba5d |0033: iget-object v2, v6, Lorg/purple/smoke/SteamKeyExchange$1;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dba │ │ +41c2da: 7110 00ba 0200 |0035: invoke-static {v2}, Lorg/purple/smoke/SteamKeyExchange;.access$000:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/concurrent/locks/ReentrantReadWriteLock; // method@ba00 │ │ +41c2e0: 0c02 |0038: move-result-object v2 │ │ +41c2e2: 6e10 eb60 0200 |0039: invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41c2e8: 0c02 |003c: move-result-object v2 │ │ +41c2ea: 6e10 e860 0200 |003d: invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +41c2f0: 2817 |0040: goto 0057 // +0017 │ │ +41c2f2: 0d00 |0041: move-exception v0 │ │ +41c2f4: 5461 ba5d |0042: iget-object v1, v6, Lorg/purple/smoke/SteamKeyExchange$1;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dba │ │ +41c2f8: 7110 00ba 0100 |0044: invoke-static {v1}, Lorg/purple/smoke/SteamKeyExchange;.access$000:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/concurrent/locks/ReentrantReadWriteLock; // method@ba00 │ │ +41c2fe: 0c01 |0047: move-result-object v1 │ │ +41c300: 6e10 eb60 0100 |0048: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41c306: 0c01 |004b: move-result-object v1 │ │ +41c308: 6e10 e860 0100 |004c: invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +41c30e: 2700 |004f: throw v0 │ │ +41c310: 5462 ba5d |0050: iget-object v2, v6, Lorg/purple/smoke/SteamKeyExchange$1;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dba │ │ +41c314: 7110 00ba 0200 |0052: invoke-static {v2}, Lorg/purple/smoke/SteamKeyExchange;.access$000:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/concurrent/locks/ReentrantReadWriteLock; // method@ba00 │ │ +41c31a: 0c02 |0055: move-result-object v2 │ │ +41c31c: 28e3 |0056: goto 0039 // -001d │ │ +41c31e: 3900 1b00 |0057: if-nez v0, 0072 // +001b │ │ +41c322: 5462 ba5d |0059: iget-object v2, v6, Lorg/purple/smoke/SteamKeyExchange$1;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dba │ │ +41c326: 7110 02ba 0200 |005b: invoke-static {v2}, Lorg/purple/smoke/SteamKeyExchange;.access$200:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/lang/Object; // method@ba02 │ │ +41c32c: 0c02 |005e: move-result-object v2 │ │ +41c32e: 1d02 |005f: monitor-enter v2 │ │ +41c330: 5463 ba5d |0060: iget-object v3, v6, Lorg/purple/smoke/SteamKeyExchange$1;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dba │ │ +41c334: 7110 02ba 0300 |0062: invoke-static {v3}, Lorg/purple/smoke/SteamKeyExchange;.access$200:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/lang/Object; // method@ba02 │ │ +41c33a: 0c03 |0065: move-result-object v3 │ │ +41c33c: 1604 1027 |0066: const-wide/16 v4, #int 10000 // #2710 │ │ +41c340: 6e30 985c 4305 |0068: invoke-virtual {v3, v4, v5}, Ljava/lang/Object;.wait:(J)V // method@5c98 │ │ +41c346: 2803 |006b: goto 006e // +0003 │ │ +41c348: 0d00 |006c: move-exception v0 │ │ +41c34a: 2803 |006d: goto 0070 // +0003 │ │ +41c34c: 1e02 |006e: monitor-exit v2 │ │ +41c34e: 2803 |006f: goto 0072 // +0003 │ │ +41c350: 1e02 |0070: monitor-exit v2 │ │ +41c352: 2700 |0071: throw v0 │ │ +41c354: 3800 2000 |0072: if-eqz v0, 0092 // +0020 │ │ +41c358: 5402 bc5d |0074: iget-object v2, v0, Lorg/purple/smoke/SteamKeyExchange$Pair;.m_ciphertext:[B // field@5dbc │ │ +41c35c: 1203 |0076: const/4 v3, #int 0 // #0 │ │ +41c35e: 4802 0203 |0077: aget-byte v2, v2, v3 │ │ +41c362: 6204 2c53 |0079: sget-object v4, Lorg/purple/smoke/Messages;.STEAM_KEY_EXCHANGE:[B // field@532c │ │ +41c366: 4804 0403 |007b: aget-byte v4, v4, v3 │ │ +41c36a: 3242 0c00 |007d: if-eq v2, v4, 0089 // +000c │ │ +41c36e: 5402 bc5d |007f: iget-object v2, v0, Lorg/purple/smoke/SteamKeyExchange$Pair;.m_ciphertext:[B // field@5dbc │ │ +41c372: 4802 0203 |0081: aget-byte v2, v2, v3 │ │ +41c376: 6203 2c53 |0083: sget-object v3, Lorg/purple/smoke/Messages;.STEAM_KEY_EXCHANGE:[B // field@532c │ │ +41c37a: 4801 0301 |0085: aget-byte v1, v3, v1 │ │ +41c37e: 3312 0b00 |0087: if-ne v2, v1, 0092 // +000b │ │ +41c382: 5461 ba5d |0089: iget-object v1, v6, Lorg/purple/smoke/SteamKeyExchange$1;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dba │ │ +41c386: 5402 bc5d |008b: iget-object v2, v0, Lorg/purple/smoke/SteamKeyExchange$Pair;.m_ciphertext:[B // field@5dbc │ │ +41c38a: 5400 bd5d |008d: iget-object v0, v0, Lorg/purple/smoke/SteamKeyExchange$Pair;.m_pki:[B // field@5dbd │ │ +41c38e: 7130 03ba 2100 |008f: invoke-static {v1, v2, v0}, Lorg/purple/smoke/SteamKeyExchange;.access$300:(Lorg/purple/smoke/SteamKeyExchange;[B[B)V // method@ba03 │ │ +41c394: 0e00 |0092: return-void │ │ catches : 6 │ │ 0x0001 - 0x000e │ │ Ljava/lang/Exception; -> 0x0092 │ │ 0x000f - 0x0032 │ │ Ljava/lang/Exception; -> 0x0050 │ │ -> 0x0041 │ │ 0x0033 - 0x0060 │ │ @@ -734620,18 +734619,18 @@ │ │ type : '(Lorg/purple/smoke/SteamKeyExchange;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -41c3e0: |[41c3e0] org.purple.smoke.SteamKeyExchange$2.:(Lorg/purple/smoke/SteamKeyExchange;)V │ │ -41c3f0: 5b01 bb5d |0000: iput-object v1, v0, Lorg/purple/smoke/SteamKeyExchange$2;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dbb │ │ -41c3f4: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41c3fa: 0e00 |0005: return-void │ │ +41c3dc: |[41c3dc] org.purple.smoke.SteamKeyExchange$2.:(Lorg/purple/smoke/SteamKeyExchange;)V │ │ +41c3ec: 5b01 bb5d |0000: iput-object v1, v0, Lorg/purple/smoke/SteamKeyExchange$2;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dbb │ │ +41c3f0: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41c3f6: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=421 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/SteamKeyExchange$2; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/SteamKeyExchange; │ │ │ │ @@ -734641,176 +734640,176 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 18 │ │ ins : 1 │ │ outs : 10 │ │ insns size : 304 16-bit code units │ │ -41c3fc: |[41c3fc] org.purple.smoke.SteamKeyExchange$2.run:()V │ │ -41c40c: 0800 1100 |0000: move-object/from16 v0, v17 │ │ -41c410: 7100 66b9 0000 |0002: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -41c416: 0c01 |0005: move-result-object v1 │ │ -41c418: 6e10 69b9 0100 |0006: invoke-virtual {v1}, Lorg/purple/smoke/State;.isAuthenticated:()Z // method@b969 │ │ -41c41e: 0a01 |0009: move-result v1 │ │ -41c420: 3901 0300 |000a: if-nez v1, 000d // +0003 │ │ -41c424: 0e00 |000c: return-void │ │ -41c426: 7100 06ba 0000 |000d: invoke-static {}, Lorg/purple/smoke/SteamKeyExchange;.access$600:()Lorg/purple/smoke/Database; // method@ba06 │ │ -41c42c: 0c01 |0010: move-result-object v1 │ │ -41c42e: 7100 04ba 0000 |0011: invoke-static {}, Lorg/purple/smoke/SteamKeyExchange;.access$400:()Lorg/purple/smoke/Cryptography; // method@ba04 │ │ -41c434: 0c02 |0014: move-result-object v2 │ │ -41c436: 5403 bb5d |0015: iget-object v3, v0, Lorg/purple/smoke/SteamKeyExchange$2;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dbb │ │ -41c43a: 7110 05ba 0300 |0017: invoke-static {v3}, Lorg/purple/smoke/SteamKeyExchange;.access$500:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/concurrent/atomic/AtomicInteger; // method@ba05 │ │ -41c440: 0c03 |001a: move-result-object v3 │ │ -41c442: 6e10 da60 0300 |001b: invoke-virtual {v3}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -41c448: 0a03 |001e: move-result v3 │ │ -41c44a: 12f4 |001f: const/4 v4, #int -1 // #ff │ │ -41c44c: 6e40 13b6 2134 |0020: invoke-virtual {v1, v2, v4, v3}, Lorg/purple/smoke/Database;.readSteam:(Lorg/purple/smoke/Cryptography;II)Lorg/purple/smoke/SteamElement; // method@b613 │ │ -41c452: 0c01 |0023: move-result-object v1 │ │ -41c454: 3801 f400 |0024: if-eqz v1, 0118 // +00f4 │ │ -41c458: 5412 a85d |0026: iget-object v2, v1, Lorg/purple/smoke/SteamElement;.m_destination:Ljava/lang/String; // field@5da8 │ │ -41c45c: 1a03 be41 |0028: const-string v3, "Other (Non-Smoke)" // string@41be │ │ -41c460: 6e20 b85c 3200 |002a: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41c466: 0a02 |002d: move-result v2 │ │ -41c468: 3902 ea00 |002e: if-nez v2, 0118 // +00ea │ │ -41c46c: 5812 a95d |0030: iget-short v2, v1, Lorg/purple/smoke/SteamElement;.m_direction:S // field@5da9 │ │ -41c470: 3802 e600 |0032: if-eqz v2, 0118 // +00e6 │ │ -41c474: 5312 b05d |0034: iget-wide v2, v1, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ -41c478: 1605 0000 |0036: const-wide/16 v5, #int 0 // #0 │ │ -41c47c: 3107 0205 |0038: cmp-long v7, v2, v5 │ │ -41c480: 3907 0400 |003a: if-nez v7, 003e // +0004 │ │ -41c484: 2900 dc00 |003c: goto/16 0118 // +00dc │ │ -41c488: 5412 b15d |003e: iget-object v2, v1, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ -41c48c: 3802 1500 |0040: if-eqz v2, 0055 // +0015 │ │ -41c490: 5412 b15d |0042: iget-object v2, v1, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ -41c494: 2122 |0044: array-length v2, v2 │ │ -41c496: 1303 6000 |0045: const/16 v3, #int 96 // #60 │ │ -41c49a: 3332 0e00 |0047: if-ne v2, v3, 0055 // +000e │ │ -41c49e: 5402 bb5d |0049: iget-object v2, v0, Lorg/purple/smoke/SteamKeyExchange$2;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dbb │ │ -41c4a2: 7110 05ba 0200 |004b: invoke-static {v2}, Lorg/purple/smoke/SteamKeyExchange;.access$500:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/concurrent/atomic/AtomicInteger; // method@ba05 │ │ -41c4a8: 0c02 |004e: move-result-object v2 │ │ -41c4aa: 5211 b75d |004f: iget v1, v1, Lorg/purple/smoke/SteamElement;.m_someOid:I // field@5db7 │ │ -41c4ae: 6e20 dc60 1200 |0051: invoke-virtual {v2, v1}, Ljava/util/concurrent/atomic/AtomicInteger;.set:(I)V // method@60dc │ │ -41c4b4: 0e00 |0054: return-void │ │ -41c4b6: 5412 ab5d |0055: iget-object v2, v1, Lorg/purple/smoke/SteamElement;.m_ephemeralPrivateKey:[B // field@5dab │ │ -41c4ba: 1a03 6945 |0057: const-string v3, "RSA" // string@4569 │ │ -41c4be: 1204 |0059: const/4 v4, #int 0 // #0 │ │ -41c4c0: 1a05 c93e |005a: const-string v5, "McEliece" // string@3ec9 │ │ -41c4c4: 1206 |005c: const/4 v6, #int 0 // #0 │ │ -41c4c6: 3802 3500 |005d: if-eqz v2, 0092 // +0035 │ │ -41c4ca: 5412 ab5d |005f: iget-object v2, v1, Lorg/purple/smoke/SteamElement;.m_ephemeralPrivateKey:[B // field@5dab │ │ -41c4ce: 2122 |0061: array-length v2, v2 │ │ -41c4d0: 3802 3000 |0062: if-eqz v2, 0092 // +0030 │ │ -41c4d4: 5412 ac5d |0064: iget-object v2, v1, Lorg/purple/smoke/SteamElement;.m_ephemeralPublicKey:[B // field@5dac │ │ -41c4d8: 3802 2c00 |0066: if-eqz v2, 0092 // +002c │ │ -41c4dc: 5412 ac5d |0068: iget-object v2, v1, Lorg/purple/smoke/SteamElement;.m_ephemeralPublicKey:[B // field@5dac │ │ -41c4e0: 2122 |006a: array-length v2, v2 │ │ -41c4e2: 3902 0300 |006b: if-nez v2, 006e // +0003 │ │ -41c4e6: 2825 |006d: goto 0092 // +0025 │ │ -41c4e8: 7100 02b7 0000 |006e: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ -41c4ee: 0c02 |0071: move-result-object v2 │ │ -41c4f0: 6e10 05b7 0200 |0072: invoke-virtual {v2}, Lorg/purple/smoke/Kernel;.isNetworkConnected:()Z // method@b705 │ │ -41c4f6: 0a02 |0075: move-result v2 │ │ -41c4f8: 3802 4600 |0076: if-eqz v2, 00bc // +0046 │ │ -41c4fc: 5412 b25d |0078: iget-object v2, v1, Lorg/purple/smoke/SteamElement;.m_keyType:Ljava/lang/String; // field@5db2 │ │ -41c500: 6e20 b85c 5200 |007a: invoke-virtual {v2, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41c506: 0a02 |007d: move-result v2 │ │ -41c508: 3802 0b00 |007e: if-eqz v2, 0089 // +000b │ │ -41c50c: 5412 ab5d |0080: iget-object v2, v1, Lorg/purple/smoke/SteamElement;.m_ephemeralPrivateKey:[B // field@5dab │ │ -41c510: 5413 ac5d |0082: iget-object v3, v1, Lorg/purple/smoke/SteamElement;.m_ephemeralPublicKey:[B // field@5dac │ │ -41c514: 7130 87b5 2503 |0084: invoke-static {v5, v2, v3}, Lorg/purple/smoke/Cryptography;.generatePrivatePublicKeyPair:(Ljava/lang/String;[B[B)Ljava/security/KeyPair; // method@b587 │ │ -41c51a: 0c04 |0087: move-result-object v4 │ │ -41c51c: 2834 |0088: goto 00bc // +0034 │ │ -41c51e: 5412 ab5d |0089: iget-object v2, v1, Lorg/purple/smoke/SteamElement;.m_ephemeralPrivateKey:[B // field@5dab │ │ -41c522: 5414 ac5d |008b: iget-object v4, v1, Lorg/purple/smoke/SteamElement;.m_ephemeralPublicKey:[B // field@5dac │ │ -41c526: 7130 87b5 2304 |008d: invoke-static {v3, v2, v4}, Lorg/purple/smoke/Cryptography;.generatePrivatePublicKeyPair:(Ljava/lang/String;[B[B)Ljava/security/KeyPair; // method@b587 │ │ -41c52c: 0c04 |0090: move-result-object v4 │ │ -41c52e: 282b |0091: goto 00bc // +002b │ │ -41c530: 5412 b25d |0092: iget-object v2, v1, Lorg/purple/smoke/SteamElement;.m_keyType:Ljava/lang/String; // field@5db2 │ │ -41c534: 6e20 b85c 5200 |0094: invoke-virtual {v2, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41c53a: 0a02 |0097: move-result v2 │ │ -41c53c: 3802 0900 |0098: if-eqz v2, 00a1 // +0009 │ │ -41c540: 1a02 cd3e |009a: const-string v2, "McEliece-Fujisaki (11, 50)" // string@3ecd │ │ -41c544: 7130 86b5 6206 |009c: invoke-static {v2, v6, v6}, Lorg/purple/smoke/Cryptography;.generatePrivatePublicKeyPair:(Ljava/lang/String;II)Ljava/security/KeyPair; // method@b586 │ │ -41c54a: 0c02 |009f: move-result-object v2 │ │ -41c54c: 2807 |00a0: goto 00a7 // +0007 │ │ -41c54e: 1302 000c |00a1: const/16 v2, #int 3072 // #c00 │ │ -41c552: 7130 86b5 2306 |00a3: invoke-static {v3, v2, v6}, Lorg/purple/smoke/Cryptography;.generatePrivatePublicKeyPair:(Ljava/lang/String;II)Ljava/security/KeyPair; // method@b586 │ │ -41c558: 0c02 |00a6: move-result-object v2 │ │ -41c55a: 3902 0300 |00a7: if-nez v2, 00aa // +0003 │ │ -41c55e: 0e00 |00a9: return-void │ │ -41c560: 7100 06ba 0000 |00aa: invoke-static {}, Lorg/purple/smoke/SteamKeyExchange;.access$600:()Lorg/purple/smoke/Database; // method@ba06 │ │ -41c566: 0c03 |00ad: move-result-object v3 │ │ -41c568: 7100 04ba 0000 |00ae: invoke-static {}, Lorg/purple/smoke/SteamKeyExchange;.access$400:()Lorg/purple/smoke/Cryptography; // method@ba04 │ │ -41c56e: 0c07 |00b1: move-result-object v7 │ │ -41c570: 5218 b75d |00b2: iget v8, v1, Lorg/purple/smoke/SteamElement;.m_someOid:I // field@5db7 │ │ -41c574: 6e58 34b6 7342 |00b4: invoke-virtual {v3, v7, v2, v4, v8}, Lorg/purple/smoke/Database;.writeSteamKeys:(Lorg/purple/smoke/Cryptography;Ljava/security/KeyPair;[BI)Z // method@b634 │ │ -41c57a: 0a03 |00b7: move-result v3 │ │ -41c57c: 3903 0300 |00b8: if-nez v3, 00bb // +0003 │ │ -41c580: 0e00 |00ba: return-void │ │ -41c582: 0724 |00bb: move-object v4, v2 │ │ -41c584: 7100 02b7 0000 |00bc: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ -41c58a: 0c02 |00bf: move-result-object v2 │ │ -41c58c: 6e10 05b7 0200 |00c0: invoke-virtual {v2}, Lorg/purple/smoke/Kernel;.isNetworkConnected:()Z // method@b705 │ │ -41c592: 0a02 |00c3: move-result v2 │ │ -41c594: 3802 4800 |00c4: if-eqz v2, 010c // +0048 │ │ -41c598: 3804 4600 |00c6: if-eqz v4, 010c // +0046 │ │ -41c59c: 5412 a85d |00c8: iget-object v2, v1, Lorg/purple/smoke/SteamElement;.m_destination:Ljava/lang/String; // field@5da8 │ │ -41c5a0: 7110 f2b7 0200 |00ca: invoke-static {v2}, Lorg/purple/smoke/Miscellaneous;.sipHashIdFromDestination:(Ljava/lang/String;)Ljava/lang/String; // method@b7f2 │ │ -41c5a6: 0c02 |00cd: move-result-object v2 │ │ -41c5a8: 7100 04ba 0000 |00ce: invoke-static {}, Lorg/purple/smoke/SteamKeyExchange;.access$400:()Lorg/purple/smoke/Cryptography; // method@ba04 │ │ -41c5ae: 0c07 |00d1: move-result-object v7 │ │ -41c5b0: 5418 aa5d |00d2: iget-object v8, v1, Lorg/purple/smoke/SteamElement;.m_displayFileName:Ljava/lang/String; // field@5daa │ │ -41c5b4: 541a ad5d |00d4: iget-object v10, v1, Lorg/purple/smoke/SteamElement;.m_fileDigest:[B // field@5dad │ │ -41c5b8: 541b ae5d |00d6: iget-object v11, v1, Lorg/purple/smoke/SteamElement;.m_fileIdentity:[B // field@5dae │ │ -41c5bc: 6e10 fc5d 0400 |00d8: invoke-virtual {v4}, Ljava/security/KeyPair;.getPublic:()Ljava/security/PublicKey; // method@5dfc │ │ -41c5c2: 0c03 |00db: move-result-object v3 │ │ -41c5c4: 7210 3b5e 0300 |00dc: invoke-interface {v3}, Ljava/security/PublicKey;.getEncoded:()[B // method@5e3b │ │ -41c5ca: 0c0c |00df: move-result-object v12 │ │ -41c5cc: 5413 b25d |00e0: iget-object v3, v1, Lorg/purple/smoke/SteamElement;.m_keyType:Ljava/lang/String; // field@5db2 │ │ -41c5d0: 6e20 b85c 5300 |00e2: invoke-virtual {v3, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41c5d6: 0a03 |00e5: move-result v3 │ │ -41c5d8: 3803 0700 |00e6: if-eqz v3, 00ed // +0007 │ │ -41c5dc: 6203 ca51 |00e8: sget-object v3, Lorg/purple/smoke/Cryptography;.MESSAGES_KEY_TYPES:[B // field@51ca │ │ -41c5e0: 4803 0306 |00ea: aget-byte v3, v3, v6 │ │ -41c5e4: 2806 |00ec: goto 00f2 // +0006 │ │ -41c5e6: 6203 ca51 |00ed: sget-object v3, Lorg/purple/smoke/Cryptography;.MESSAGES_KEY_TYPES:[B // field@51ca │ │ -41c5ea: 1214 |00ef: const/4 v4, #int 1 // #1 │ │ -41c5ec: 4803 0304 |00f0: aget-byte v3, v3, v4 │ │ -41c5f0: 013d |00f2: move v13, v3 │ │ -41c5f2: 6203 2c53 |00f3: sget-object v3, Lorg/purple/smoke/Messages;.STEAM_KEY_EXCHANGE:[B // field@532c │ │ -41c5f6: 480e 0306 |00f5: aget-byte v14, v3, v6 │ │ -41c5fa: 5313 b05d |00f7: iget-wide v3, v1, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ -41c5fe: 0729 |00f9: move-object v9, v2 │ │ -41c600: 043f |00fa: move-wide v15, v3 │ │ -41c602: 770a b9b7 0700 |00fb: invoke-static/range {v7, v8, v9, v10, v11, v12, v13, v14, v15, v16}, Lorg/purple/smoke/Messages;.steamCall:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;[B[B[BBBJ)[B // method@b7b9 │ │ -41c608: 0c03 |00fe: move-result-object v3 │ │ -41c60a: 3803 0d00 |00ff: if-eqz v3, 010c // +000d │ │ -41c60e: 7100 02b7 0000 |0101: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ -41c614: 0c04 |0104: move-result-object v4 │ │ -41c616: 7110 a8b7 0300 |0105: invoke-static {v3}, Lorg/purple/smoke/Messages;.bytesToMessageString:([B)Ljava/lang/String; // method@b7a8 │ │ -41c61c: 0c03 |0108: move-result-object v3 │ │ -41c61e: 6e30 ffb6 3402 |0109: invoke-virtual {v4, v3, v2}, Lorg/purple/smoke/Kernel;.enqueueSteamKeyExchange:(Ljava/lang/String;Ljava/lang/String;)V // method@b6ff │ │ -41c624: 5402 bb5d |010c: iget-object v2, v0, Lorg/purple/smoke/SteamKeyExchange$2;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dbb │ │ -41c628: 7110 05ba 0200 |010e: invoke-static {v2}, Lorg/purple/smoke/SteamKeyExchange;.access$500:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/concurrent/atomic/AtomicInteger; // method@ba05 │ │ -41c62e: 0c02 |0111: move-result-object v2 │ │ -41c630: 5211 b75d |0112: iget v1, v1, Lorg/purple/smoke/SteamElement;.m_someOid:I // field@5db7 │ │ -41c634: 6e20 dc60 1200 |0114: invoke-virtual {v2, v1}, Ljava/util/concurrent/atomic/AtomicInteger;.set:(I)V // method@60dc │ │ -41c63a: 2818 |0117: goto 012f // +0018 │ │ -41c63c: 3801 0e00 |0118: if-eqz v1, 0126 // +000e │ │ -41c640: 5402 bb5d |011a: iget-object v2, v0, Lorg/purple/smoke/SteamKeyExchange$2;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dbb │ │ -41c644: 7110 05ba 0200 |011c: invoke-static {v2}, Lorg/purple/smoke/SteamKeyExchange;.access$500:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/concurrent/atomic/AtomicInteger; // method@ba05 │ │ -41c64a: 0c02 |011f: move-result-object v2 │ │ -41c64c: 5211 b75d |0120: iget v1, v1, Lorg/purple/smoke/SteamElement;.m_someOid:I // field@5db7 │ │ -41c650: 6e20 dc60 1200 |0122: invoke-virtual {v2, v1}, Ljava/util/concurrent/atomic/AtomicInteger;.set:(I)V // method@60dc │ │ -41c656: 280a |0125: goto 012f // +000a │ │ -41c658: 5401 bb5d |0126: iget-object v1, v0, Lorg/purple/smoke/SteamKeyExchange$2;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dbb │ │ -41c65c: 7110 05ba 0100 |0128: invoke-static {v1}, Lorg/purple/smoke/SteamKeyExchange;.access$500:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/concurrent/atomic/AtomicInteger; // method@ba05 │ │ -41c662: 0c01 |012b: move-result-object v1 │ │ -41c664: 6e20 dc60 4100 |012c: invoke-virtual {v1, v4}, Ljava/util/concurrent/atomic/AtomicInteger;.set:(I)V // method@60dc │ │ -41c66a: 0e00 |012f: return-void │ │ +41c3f8: |[41c3f8] org.purple.smoke.SteamKeyExchange$2.run:()V │ │ +41c408: 0800 1100 |0000: move-object/from16 v0, v17 │ │ +41c40c: 7100 66b9 0000 |0002: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +41c412: 0c01 |0005: move-result-object v1 │ │ +41c414: 6e10 69b9 0100 |0006: invoke-virtual {v1}, Lorg/purple/smoke/State;.isAuthenticated:()Z // method@b969 │ │ +41c41a: 0a01 |0009: move-result v1 │ │ +41c41c: 3901 0300 |000a: if-nez v1, 000d // +0003 │ │ +41c420: 0e00 |000c: return-void │ │ +41c422: 7100 06ba 0000 |000d: invoke-static {}, Lorg/purple/smoke/SteamKeyExchange;.access$600:()Lorg/purple/smoke/Database; // method@ba06 │ │ +41c428: 0c01 |0010: move-result-object v1 │ │ +41c42a: 7100 04ba 0000 |0011: invoke-static {}, Lorg/purple/smoke/SteamKeyExchange;.access$400:()Lorg/purple/smoke/Cryptography; // method@ba04 │ │ +41c430: 0c02 |0014: move-result-object v2 │ │ +41c432: 5403 bb5d |0015: iget-object v3, v0, Lorg/purple/smoke/SteamKeyExchange$2;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dbb │ │ +41c436: 7110 05ba 0300 |0017: invoke-static {v3}, Lorg/purple/smoke/SteamKeyExchange;.access$500:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/concurrent/atomic/AtomicInteger; // method@ba05 │ │ +41c43c: 0c03 |001a: move-result-object v3 │ │ +41c43e: 6e10 da60 0300 |001b: invoke-virtual {v3}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +41c444: 0a03 |001e: move-result v3 │ │ +41c446: 12f4 |001f: const/4 v4, #int -1 // #ff │ │ +41c448: 6e40 13b6 2134 |0020: invoke-virtual {v1, v2, v4, v3}, Lorg/purple/smoke/Database;.readSteam:(Lorg/purple/smoke/Cryptography;II)Lorg/purple/smoke/SteamElement; // method@b613 │ │ +41c44e: 0c01 |0023: move-result-object v1 │ │ +41c450: 3801 f400 |0024: if-eqz v1, 0118 // +00f4 │ │ +41c454: 5412 a85d |0026: iget-object v2, v1, Lorg/purple/smoke/SteamElement;.m_destination:Ljava/lang/String; // field@5da8 │ │ +41c458: 1a03 be41 |0028: const-string v3, "Other (Non-Smoke)" // string@41be │ │ +41c45c: 6e20 b85c 3200 |002a: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41c462: 0a02 |002d: move-result v2 │ │ +41c464: 3902 ea00 |002e: if-nez v2, 0118 // +00ea │ │ +41c468: 5812 a95d |0030: iget-short v2, v1, Lorg/purple/smoke/SteamElement;.m_direction:S // field@5da9 │ │ +41c46c: 3802 e600 |0032: if-eqz v2, 0118 // +00e6 │ │ +41c470: 5312 b05d |0034: iget-wide v2, v1, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ +41c474: 1605 0000 |0036: const-wide/16 v5, #int 0 // #0 │ │ +41c478: 3107 0205 |0038: cmp-long v7, v2, v5 │ │ +41c47c: 3907 0400 |003a: if-nez v7, 003e // +0004 │ │ +41c480: 2900 dc00 |003c: goto/16 0118 // +00dc │ │ +41c484: 5412 b15d |003e: iget-object v2, v1, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ +41c488: 3802 1500 |0040: if-eqz v2, 0055 // +0015 │ │ +41c48c: 5412 b15d |0042: iget-object v2, v1, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ +41c490: 2122 |0044: array-length v2, v2 │ │ +41c492: 1303 6000 |0045: const/16 v3, #int 96 // #60 │ │ +41c496: 3332 0e00 |0047: if-ne v2, v3, 0055 // +000e │ │ +41c49a: 5402 bb5d |0049: iget-object v2, v0, Lorg/purple/smoke/SteamKeyExchange$2;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dbb │ │ +41c49e: 7110 05ba 0200 |004b: invoke-static {v2}, Lorg/purple/smoke/SteamKeyExchange;.access$500:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/concurrent/atomic/AtomicInteger; // method@ba05 │ │ +41c4a4: 0c02 |004e: move-result-object v2 │ │ +41c4a6: 5211 b75d |004f: iget v1, v1, Lorg/purple/smoke/SteamElement;.m_someOid:I // field@5db7 │ │ +41c4aa: 6e20 dc60 1200 |0051: invoke-virtual {v2, v1}, Ljava/util/concurrent/atomic/AtomicInteger;.set:(I)V // method@60dc │ │ +41c4b0: 0e00 |0054: return-void │ │ +41c4b2: 5412 ab5d |0055: iget-object v2, v1, Lorg/purple/smoke/SteamElement;.m_ephemeralPrivateKey:[B // field@5dab │ │ +41c4b6: 1a03 6945 |0057: const-string v3, "RSA" // string@4569 │ │ +41c4ba: 1204 |0059: const/4 v4, #int 0 // #0 │ │ +41c4bc: 1a05 c93e |005a: const-string v5, "McEliece" // string@3ec9 │ │ +41c4c0: 1206 |005c: const/4 v6, #int 0 // #0 │ │ +41c4c2: 3802 3500 |005d: if-eqz v2, 0092 // +0035 │ │ +41c4c6: 5412 ab5d |005f: iget-object v2, v1, Lorg/purple/smoke/SteamElement;.m_ephemeralPrivateKey:[B // field@5dab │ │ +41c4ca: 2122 |0061: array-length v2, v2 │ │ +41c4cc: 3802 3000 |0062: if-eqz v2, 0092 // +0030 │ │ +41c4d0: 5412 ac5d |0064: iget-object v2, v1, Lorg/purple/smoke/SteamElement;.m_ephemeralPublicKey:[B // field@5dac │ │ +41c4d4: 3802 2c00 |0066: if-eqz v2, 0092 // +002c │ │ +41c4d8: 5412 ac5d |0068: iget-object v2, v1, Lorg/purple/smoke/SteamElement;.m_ephemeralPublicKey:[B // field@5dac │ │ +41c4dc: 2122 |006a: array-length v2, v2 │ │ +41c4de: 3902 0300 |006b: if-nez v2, 006e // +0003 │ │ +41c4e2: 2825 |006d: goto 0092 // +0025 │ │ +41c4e4: 7100 02b7 0000 |006e: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ +41c4ea: 0c02 |0071: move-result-object v2 │ │ +41c4ec: 6e10 05b7 0200 |0072: invoke-virtual {v2}, Lorg/purple/smoke/Kernel;.isNetworkConnected:()Z // method@b705 │ │ +41c4f2: 0a02 |0075: move-result v2 │ │ +41c4f4: 3802 4600 |0076: if-eqz v2, 00bc // +0046 │ │ +41c4f8: 5412 b25d |0078: iget-object v2, v1, Lorg/purple/smoke/SteamElement;.m_keyType:Ljava/lang/String; // field@5db2 │ │ +41c4fc: 6e20 b85c 5200 |007a: invoke-virtual {v2, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41c502: 0a02 |007d: move-result v2 │ │ +41c504: 3802 0b00 |007e: if-eqz v2, 0089 // +000b │ │ +41c508: 5412 ab5d |0080: iget-object v2, v1, Lorg/purple/smoke/SteamElement;.m_ephemeralPrivateKey:[B // field@5dab │ │ +41c50c: 5413 ac5d |0082: iget-object v3, v1, Lorg/purple/smoke/SteamElement;.m_ephemeralPublicKey:[B // field@5dac │ │ +41c510: 7130 87b5 2503 |0084: invoke-static {v5, v2, v3}, Lorg/purple/smoke/Cryptography;.generatePrivatePublicKeyPair:(Ljava/lang/String;[B[B)Ljava/security/KeyPair; // method@b587 │ │ +41c516: 0c04 |0087: move-result-object v4 │ │ +41c518: 2834 |0088: goto 00bc // +0034 │ │ +41c51a: 5412 ab5d |0089: iget-object v2, v1, Lorg/purple/smoke/SteamElement;.m_ephemeralPrivateKey:[B // field@5dab │ │ +41c51e: 5414 ac5d |008b: iget-object v4, v1, Lorg/purple/smoke/SteamElement;.m_ephemeralPublicKey:[B // field@5dac │ │ +41c522: 7130 87b5 2304 |008d: invoke-static {v3, v2, v4}, Lorg/purple/smoke/Cryptography;.generatePrivatePublicKeyPair:(Ljava/lang/String;[B[B)Ljava/security/KeyPair; // method@b587 │ │ +41c528: 0c04 |0090: move-result-object v4 │ │ +41c52a: 282b |0091: goto 00bc // +002b │ │ +41c52c: 5412 b25d |0092: iget-object v2, v1, Lorg/purple/smoke/SteamElement;.m_keyType:Ljava/lang/String; // field@5db2 │ │ +41c530: 6e20 b85c 5200 |0094: invoke-virtual {v2, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41c536: 0a02 |0097: move-result v2 │ │ +41c538: 3802 0900 |0098: if-eqz v2, 00a1 // +0009 │ │ +41c53c: 1a02 cd3e |009a: const-string v2, "McEliece-Fujisaki (11, 50)" // string@3ecd │ │ +41c540: 7130 86b5 6206 |009c: invoke-static {v2, v6, v6}, Lorg/purple/smoke/Cryptography;.generatePrivatePublicKeyPair:(Ljava/lang/String;II)Ljava/security/KeyPair; // method@b586 │ │ +41c546: 0c02 |009f: move-result-object v2 │ │ +41c548: 2807 |00a0: goto 00a7 // +0007 │ │ +41c54a: 1302 000c |00a1: const/16 v2, #int 3072 // #c00 │ │ +41c54e: 7130 86b5 2306 |00a3: invoke-static {v3, v2, v6}, Lorg/purple/smoke/Cryptography;.generatePrivatePublicKeyPair:(Ljava/lang/String;II)Ljava/security/KeyPair; // method@b586 │ │ +41c554: 0c02 |00a6: move-result-object v2 │ │ +41c556: 3902 0300 |00a7: if-nez v2, 00aa // +0003 │ │ +41c55a: 0e00 |00a9: return-void │ │ +41c55c: 7100 06ba 0000 |00aa: invoke-static {}, Lorg/purple/smoke/SteamKeyExchange;.access$600:()Lorg/purple/smoke/Database; // method@ba06 │ │ +41c562: 0c03 |00ad: move-result-object v3 │ │ +41c564: 7100 04ba 0000 |00ae: invoke-static {}, Lorg/purple/smoke/SteamKeyExchange;.access$400:()Lorg/purple/smoke/Cryptography; // method@ba04 │ │ +41c56a: 0c07 |00b1: move-result-object v7 │ │ +41c56c: 5218 b75d |00b2: iget v8, v1, Lorg/purple/smoke/SteamElement;.m_someOid:I // field@5db7 │ │ +41c570: 6e58 34b6 7342 |00b4: invoke-virtual {v3, v7, v2, v4, v8}, Lorg/purple/smoke/Database;.writeSteamKeys:(Lorg/purple/smoke/Cryptography;Ljava/security/KeyPair;[BI)Z // method@b634 │ │ +41c576: 0a03 |00b7: move-result v3 │ │ +41c578: 3903 0300 |00b8: if-nez v3, 00bb // +0003 │ │ +41c57c: 0e00 |00ba: return-void │ │ +41c57e: 0724 |00bb: move-object v4, v2 │ │ +41c580: 7100 02b7 0000 |00bc: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ +41c586: 0c02 |00bf: move-result-object v2 │ │ +41c588: 6e10 05b7 0200 |00c0: invoke-virtual {v2}, Lorg/purple/smoke/Kernel;.isNetworkConnected:()Z // method@b705 │ │ +41c58e: 0a02 |00c3: move-result v2 │ │ +41c590: 3802 4800 |00c4: if-eqz v2, 010c // +0048 │ │ +41c594: 3804 4600 |00c6: if-eqz v4, 010c // +0046 │ │ +41c598: 5412 a85d |00c8: iget-object v2, v1, Lorg/purple/smoke/SteamElement;.m_destination:Ljava/lang/String; // field@5da8 │ │ +41c59c: 7110 f2b7 0200 |00ca: invoke-static {v2}, Lorg/purple/smoke/Miscellaneous;.sipHashIdFromDestination:(Ljava/lang/String;)Ljava/lang/String; // method@b7f2 │ │ +41c5a2: 0c02 |00cd: move-result-object v2 │ │ +41c5a4: 7100 04ba 0000 |00ce: invoke-static {}, Lorg/purple/smoke/SteamKeyExchange;.access$400:()Lorg/purple/smoke/Cryptography; // method@ba04 │ │ +41c5aa: 0c07 |00d1: move-result-object v7 │ │ +41c5ac: 5418 aa5d |00d2: iget-object v8, v1, Lorg/purple/smoke/SteamElement;.m_displayFileName:Ljava/lang/String; // field@5daa │ │ +41c5b0: 541a ad5d |00d4: iget-object v10, v1, Lorg/purple/smoke/SteamElement;.m_fileDigest:[B // field@5dad │ │ +41c5b4: 541b ae5d |00d6: iget-object v11, v1, Lorg/purple/smoke/SteamElement;.m_fileIdentity:[B // field@5dae │ │ +41c5b8: 6e10 fc5d 0400 |00d8: invoke-virtual {v4}, Ljava/security/KeyPair;.getPublic:()Ljava/security/PublicKey; // method@5dfc │ │ +41c5be: 0c03 |00db: move-result-object v3 │ │ +41c5c0: 7210 3b5e 0300 |00dc: invoke-interface {v3}, Ljava/security/PublicKey;.getEncoded:()[B // method@5e3b │ │ +41c5c6: 0c0c |00df: move-result-object v12 │ │ +41c5c8: 5413 b25d |00e0: iget-object v3, v1, Lorg/purple/smoke/SteamElement;.m_keyType:Ljava/lang/String; // field@5db2 │ │ +41c5cc: 6e20 b85c 5300 |00e2: invoke-virtual {v3, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41c5d2: 0a03 |00e5: move-result v3 │ │ +41c5d4: 3803 0700 |00e6: if-eqz v3, 00ed // +0007 │ │ +41c5d8: 6203 ca51 |00e8: sget-object v3, Lorg/purple/smoke/Cryptography;.MESSAGES_KEY_TYPES:[B // field@51ca │ │ +41c5dc: 4803 0306 |00ea: aget-byte v3, v3, v6 │ │ +41c5e0: 2806 |00ec: goto 00f2 // +0006 │ │ +41c5e2: 6203 ca51 |00ed: sget-object v3, Lorg/purple/smoke/Cryptography;.MESSAGES_KEY_TYPES:[B // field@51ca │ │ +41c5e6: 1214 |00ef: const/4 v4, #int 1 // #1 │ │ +41c5e8: 4803 0304 |00f0: aget-byte v3, v3, v4 │ │ +41c5ec: 013d |00f2: move v13, v3 │ │ +41c5ee: 6203 2c53 |00f3: sget-object v3, Lorg/purple/smoke/Messages;.STEAM_KEY_EXCHANGE:[B // field@532c │ │ +41c5f2: 480e 0306 |00f5: aget-byte v14, v3, v6 │ │ +41c5f6: 5313 b05d |00f7: iget-wide v3, v1, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ +41c5fa: 0729 |00f9: move-object v9, v2 │ │ +41c5fc: 043f |00fa: move-wide v15, v3 │ │ +41c5fe: 770a b9b7 0700 |00fb: invoke-static/range {v7, v8, v9, v10, v11, v12, v13, v14, v15, v16}, Lorg/purple/smoke/Messages;.steamCall:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;[B[B[BBBJ)[B // method@b7b9 │ │ +41c604: 0c03 |00fe: move-result-object v3 │ │ +41c606: 3803 0d00 |00ff: if-eqz v3, 010c // +000d │ │ +41c60a: 7100 02b7 0000 |0101: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ +41c610: 0c04 |0104: move-result-object v4 │ │ +41c612: 7110 a8b7 0300 |0105: invoke-static {v3}, Lorg/purple/smoke/Messages;.bytesToMessageString:([B)Ljava/lang/String; // method@b7a8 │ │ +41c618: 0c03 |0108: move-result-object v3 │ │ +41c61a: 6e30 ffb6 3402 |0109: invoke-virtual {v4, v3, v2}, Lorg/purple/smoke/Kernel;.enqueueSteamKeyExchange:(Ljava/lang/String;Ljava/lang/String;)V // method@b6ff │ │ +41c620: 5402 bb5d |010c: iget-object v2, v0, Lorg/purple/smoke/SteamKeyExchange$2;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dbb │ │ +41c624: 7110 05ba 0200 |010e: invoke-static {v2}, Lorg/purple/smoke/SteamKeyExchange;.access$500:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/concurrent/atomic/AtomicInteger; // method@ba05 │ │ +41c62a: 0c02 |0111: move-result-object v2 │ │ +41c62c: 5211 b75d |0112: iget v1, v1, Lorg/purple/smoke/SteamElement;.m_someOid:I // field@5db7 │ │ +41c630: 6e20 dc60 1200 |0114: invoke-virtual {v2, v1}, Ljava/util/concurrent/atomic/AtomicInteger;.set:(I)V // method@60dc │ │ +41c636: 2818 |0117: goto 012f // +0018 │ │ +41c638: 3801 0e00 |0118: if-eqz v1, 0126 // +000e │ │ +41c63c: 5402 bb5d |011a: iget-object v2, v0, Lorg/purple/smoke/SteamKeyExchange$2;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dbb │ │ +41c640: 7110 05ba 0200 |011c: invoke-static {v2}, Lorg/purple/smoke/SteamKeyExchange;.access$500:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/concurrent/atomic/AtomicInteger; // method@ba05 │ │ +41c646: 0c02 |011f: move-result-object v2 │ │ +41c648: 5211 b75d |0120: iget v1, v1, Lorg/purple/smoke/SteamElement;.m_someOid:I // field@5db7 │ │ +41c64c: 6e20 dc60 1200 |0122: invoke-virtual {v2, v1}, Ljava/util/concurrent/atomic/AtomicInteger;.set:(I)V // method@60dc │ │ +41c652: 280a |0125: goto 012f // +000a │ │ +41c654: 5401 bb5d |0126: iget-object v1, v0, Lorg/purple/smoke/SteamKeyExchange$2;.this$0:Lorg/purple/smoke/SteamKeyExchange; // field@5dbb │ │ +41c658: 7110 05ba 0100 |0128: invoke-static {v1}, Lorg/purple/smoke/SteamKeyExchange;.access$500:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/concurrent/atomic/AtomicInteger; // method@ba05 │ │ +41c65e: 0c01 |012b: move-result-object v1 │ │ +41c660: 6e20 dc60 4100 |012c: invoke-virtual {v1, v4}, Ljava/util/concurrent/atomic/AtomicInteger;.set:(I)V // method@60dc │ │ +41c666: 0e00 |012f: return-void │ │ catches : 2 │ │ 0x0002 - 0x0057 │ │ Ljava/lang/Exception; -> 0x012f │ │ 0x005f - 0x012f │ │ Ljava/lang/Exception; -> 0x012f │ │ positions : │ │ 0x0002 line=427 │ │ @@ -734887,22 +734886,22 @@ │ │ type : '([B[B)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 13 16-bit code units │ │ -41c684: |[41c684] org.purple.smoke.SteamKeyExchange$Pair.:([B[B)V │ │ -41c694: 7010 8f5c 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41c69a: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -41c69c: 5b10 bc5d |0004: iput-object v0, v1, Lorg/purple/smoke/SteamKeyExchange$Pair;.m_ciphertext:[B // field@5dbc │ │ -41c6a0: 5b10 bd5d |0006: iput-object v0, v1, Lorg/purple/smoke/SteamKeyExchange$Pair;.m_pki:[B // field@5dbd │ │ -41c6a4: 5b12 bc5d |0008: iput-object v2, v1, Lorg/purple/smoke/SteamKeyExchange$Pair;.m_ciphertext:[B // field@5dbc │ │ -41c6a8: 5b13 bd5d |000a: iput-object v3, v1, Lorg/purple/smoke/SteamKeyExchange$Pair;.m_pki:[B // field@5dbd │ │ -41c6ac: 0e00 |000c: return-void │ │ +41c680: |[41c680] org.purple.smoke.SteamKeyExchange$Pair.:([B[B)V │ │ +41c690: 7010 8f5c 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41c696: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +41c698: 5b10 bc5d |0004: iput-object v0, v1, Lorg/purple/smoke/SteamKeyExchange$Pair;.m_ciphertext:[B // field@5dbc │ │ +41c69c: 5b10 bd5d |0006: iput-object v0, v1, Lorg/purple/smoke/SteamKeyExchange$Pair;.m_pki:[B // field@5dbd │ │ +41c6a0: 5b12 bc5d |0008: iput-object v2, v1, Lorg/purple/smoke/SteamKeyExchange$Pair;.m_ciphertext:[B // field@5dbc │ │ +41c6a4: 5b13 bd5d |000a: iput-object v3, v1, Lorg/purple/smoke/SteamKeyExchange$Pair;.m_pki:[B // field@5dbd │ │ +41c6a8: 0e00 |000c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=51 │ │ 0x0004 line=47 │ │ 0x0006 line=48 │ │ 0x0008 line=52 │ │ 0x000a line=53 │ │ @@ -734995,22 +734994,22 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 13 16-bit code units │ │ -41c740: |[41c740] org.purple.smoke.SteamKeyExchange.:()V │ │ -41c750: 7100 88b5 0000 |0000: invoke-static {}, Lorg/purple/smoke/Cryptography;.getInstance:()Lorg/purple/smoke/Cryptography; // method@b588 │ │ -41c756: 0c00 |0003: move-result-object v0 │ │ -41c758: 6900 c85d |0004: sput-object v0, Lorg/purple/smoke/SteamKeyExchange;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dc8 │ │ -41c75c: 7100 e8b5 0000 |0006: invoke-static {}, Lorg/purple/smoke/Database;.getInstance:()Lorg/purple/smoke/Database; // method@b5e8 │ │ -41c762: 0c00 |0009: move-result-object v0 │ │ -41c764: 6900 c95d |000a: sput-object v0, Lorg/purple/smoke/SteamKeyExchange;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dc9 │ │ -41c768: 0e00 |000c: return-void │ │ +41c73c: |[41c73c] org.purple.smoke.SteamKeyExchange.:()V │ │ +41c74c: 7100 88b5 0000 |0000: invoke-static {}, Lorg/purple/smoke/Cryptography;.getInstance:()Lorg/purple/smoke/Cryptography; // method@b588 │ │ +41c752: 0c00 |0003: move-result-object v0 │ │ +41c754: 6900 c85d |0004: sput-object v0, Lorg/purple/smoke/SteamKeyExchange;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dc8 │ │ +41c758: 7100 e8b5 0000 |0006: invoke-static {}, Lorg/purple/smoke/Database;.getInstance:()Lorg/purple/smoke/Database; // method@b5e8 │ │ +41c75e: 0c00 |0009: move-result-object v0 │ │ +41c760: 6900 c95d |000a: sput-object v0, Lorg/purple/smoke/SteamKeyExchange;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dc9 │ │ +41c764: 0e00 |000c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=65 │ │ 0x0006 line=66 │ │ locals : │ │ │ │ #1 : (in Lorg/purple/smoke/SteamKeyExchange;) │ │ @@ -735018,53 +735017,53 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 16 │ │ ins : 1 │ │ outs : 7 │ │ insns size : 82 16-bit code units │ │ -41c76c: |[41c76c] org.purple.smoke.SteamKeyExchange.:()V │ │ -41c77c: 7010 8f5c 0f00 |0000: invoke-direct {v15}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41c782: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -41c784: 5bf0 c35d |0004: iput-object v0, v15, Lorg/purple/smoke/SteamKeyExchange;.m_pairs:Ljava/util/ArrayList; // field@5dc3 │ │ -41c788: 5bf0 c25d |0006: iput-object v0, v15, Lorg/purple/smoke/SteamKeyExchange;.m_lastReadSteamOid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5dc2 │ │ -41c78c: 5bf0 c55d |0008: iput-object v0, v15, Lorg/purple/smoke/SteamKeyExchange;.m_parseScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5dc5 │ │ -41c790: 5bf0 c75d |000a: iput-object v0, v15, Lorg/purple/smoke/SteamKeyExchange;.m_readScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5dc7 │ │ -41c794: 2200 e60a |000c: new-instance v0, Ljava/lang/Object; // type@0ae6 │ │ -41c798: 7010 8f5c 0000 |000e: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41c79e: 5bf0 c65d |0011: iput-object v0, v15, Lorg/purple/smoke/SteamKeyExchange;.m_parseSchedulerMutex:Ljava/lang/Object; // field@5dc6 │ │ -41c7a2: 2200 eb0b |0013: new-instance v0, Ljava/util/concurrent/locks/ReentrantReadWriteLock; // type@0beb │ │ -41c7a6: 7010 e960 0000 |0015: invoke-direct {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.:()V // method@60e9 │ │ -41c7ac: 5bf0 c45d |0018: iput-object v0, v15, Lorg/purple/smoke/SteamKeyExchange;.m_pairsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5dc4 │ │ -41c7b0: 2200 e60b |001a: new-instance v0, Ljava/util/concurrent/atomic/AtomicInteger; // type@0be6 │ │ -41c7b4: 12f1 |001c: const/4 v1, #int -1 // #ff │ │ -41c7b6: 7020 d960 1000 |001d: invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicInteger;.:(I)V // method@60d9 │ │ -41c7bc: 5bf0 c25d |0020: iput-object v0, v15, Lorg/purple/smoke/SteamKeyExchange;.m_lastReadSteamOid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5dc2 │ │ -41c7c0: 2200 ab0b |0022: new-instance v0, Ljava/util/ArrayList; // type@0bab │ │ -41c7c4: 7010 975f 0000 |0024: invoke-direct {v0}, Ljava/util/ArrayList;.:()V // method@5f97 │ │ -41c7ca: 5bf0 c35d |0027: iput-object v0, v15, Lorg/purple/smoke/SteamKeyExchange;.m_pairs:Ljava/util/ArrayList; // field@5dc3 │ │ -41c7ce: 7100 c460 0000 |0029: invoke-static {}, Ljava/util/concurrent/Executors;.newSingleThreadScheduledExecutor:()Ljava/util/concurrent/ScheduledExecutorService; // method@60c4 │ │ -41c7d4: 0c01 |002c: move-result-object v1 │ │ -41c7d6: 5bf1 c55d |002d: iput-object v1, v15, Lorg/purple/smoke/SteamKeyExchange;.m_parseScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5dc5 │ │ -41c7da: 2202 9b1a |002f: new-instance v2, Lorg/purple/smoke/SteamKeyExchange$1; // type@1a9b │ │ -41c7de: 7020 f9b9 f200 |0031: invoke-direct {v2, v15}, Lorg/purple/smoke/SteamKeyExchange$1;.:(Lorg/purple/smoke/SteamKeyExchange;)V // method@b9f9 │ │ -41c7e4: 6207 eb2c |0034: sget-object v7, Ljava/util/concurrent/TimeUnit;.MILLISECONDS:Ljava/util/concurrent/TimeUnit; // field@2ceb │ │ -41c7e8: 1603 dc05 |0036: const-wide/16 v3, #int 1500 // #5dc │ │ -41c7ec: 1605 3200 |0038: const-wide/16 v5, #int 50 // #32 │ │ -41c7f0: 7807 cc60 0100 |003a: invoke-interface/range {v1, v2, v3, v4, v5, v6, v7}, Ljava/util/concurrent/ScheduledExecutorService;.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; // method@60cc │ │ -41c7f6: 7100 c460 0000 |003d: invoke-static {}, Ljava/util/concurrent/Executors;.newSingleThreadScheduledExecutor:()Ljava/util/concurrent/ScheduledExecutorService; // method@60c4 │ │ -41c7fc: 0c08 |0040: move-result-object v8 │ │ -41c7fe: 5bf8 c75d |0041: iput-object v8, v15, Lorg/purple/smoke/SteamKeyExchange;.m_readScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5dc7 │ │ -41c802: 2209 9c1a |0043: new-instance v9, Lorg/purple/smoke/SteamKeyExchange$2; // type@1a9c │ │ -41c806: 7020 fbb9 f900 |0045: invoke-direct {v9, v15}, Lorg/purple/smoke/SteamKeyExchange$2;.:(Lorg/purple/smoke/SteamKeyExchange;)V // method@b9fb │ │ -41c80c: 620e eb2c |0048: sget-object v14, Ljava/util/concurrent/TimeUnit;.MILLISECONDS:Ljava/util/concurrent/TimeUnit; // field@2ceb │ │ -41c810: 160a dc05 |004a: const-wide/16 v10, #int 1500 // #5dc │ │ -41c814: 160c 4c1d |004c: const-wide/16 v12, #int 7500 // #1d4c │ │ -41c818: 7807 cc60 0800 |004e: invoke-interface/range {v8, v9, v10, v11, v12, v13, v14}, Ljava/util/concurrent/ScheduledExecutorService;.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; // method@60cc │ │ -41c81e: 0e00 |0051: return-void │ │ +41c768: |[41c768] org.purple.smoke.SteamKeyExchange.:()V │ │ +41c778: 7010 8f5c 0f00 |0000: invoke-direct {v15}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41c77e: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +41c780: 5bf0 c35d |0004: iput-object v0, v15, Lorg/purple/smoke/SteamKeyExchange;.m_pairs:Ljava/util/ArrayList; // field@5dc3 │ │ +41c784: 5bf0 c25d |0006: iput-object v0, v15, Lorg/purple/smoke/SteamKeyExchange;.m_lastReadSteamOid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5dc2 │ │ +41c788: 5bf0 c55d |0008: iput-object v0, v15, Lorg/purple/smoke/SteamKeyExchange;.m_parseScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5dc5 │ │ +41c78c: 5bf0 c75d |000a: iput-object v0, v15, Lorg/purple/smoke/SteamKeyExchange;.m_readScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5dc7 │ │ +41c790: 2200 e60a |000c: new-instance v0, Ljava/lang/Object; // type@0ae6 │ │ +41c794: 7010 8f5c 0000 |000e: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41c79a: 5bf0 c65d |0011: iput-object v0, v15, Lorg/purple/smoke/SteamKeyExchange;.m_parseSchedulerMutex:Ljava/lang/Object; // field@5dc6 │ │ +41c79e: 2200 eb0b |0013: new-instance v0, Ljava/util/concurrent/locks/ReentrantReadWriteLock; // type@0beb │ │ +41c7a2: 7010 e960 0000 |0015: invoke-direct {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.:()V // method@60e9 │ │ +41c7a8: 5bf0 c45d |0018: iput-object v0, v15, Lorg/purple/smoke/SteamKeyExchange;.m_pairsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5dc4 │ │ +41c7ac: 2200 e60b |001a: new-instance v0, Ljava/util/concurrent/atomic/AtomicInteger; // type@0be6 │ │ +41c7b0: 12f1 |001c: const/4 v1, #int -1 // #ff │ │ +41c7b2: 7020 d960 1000 |001d: invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicInteger;.:(I)V // method@60d9 │ │ +41c7b8: 5bf0 c25d |0020: iput-object v0, v15, Lorg/purple/smoke/SteamKeyExchange;.m_lastReadSteamOid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5dc2 │ │ +41c7bc: 2200 ab0b |0022: new-instance v0, Ljava/util/ArrayList; // type@0bab │ │ +41c7c0: 7010 975f 0000 |0024: invoke-direct {v0}, Ljava/util/ArrayList;.:()V // method@5f97 │ │ +41c7c6: 5bf0 c35d |0027: iput-object v0, v15, Lorg/purple/smoke/SteamKeyExchange;.m_pairs:Ljava/util/ArrayList; // field@5dc3 │ │ +41c7ca: 7100 c460 0000 |0029: invoke-static {}, Ljava/util/concurrent/Executors;.newSingleThreadScheduledExecutor:()Ljava/util/concurrent/ScheduledExecutorService; // method@60c4 │ │ +41c7d0: 0c01 |002c: move-result-object v1 │ │ +41c7d2: 5bf1 c55d |002d: iput-object v1, v15, Lorg/purple/smoke/SteamKeyExchange;.m_parseScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5dc5 │ │ +41c7d6: 2202 9b1a |002f: new-instance v2, Lorg/purple/smoke/SteamKeyExchange$1; // type@1a9b │ │ +41c7da: 7020 f9b9 f200 |0031: invoke-direct {v2, v15}, Lorg/purple/smoke/SteamKeyExchange$1;.:(Lorg/purple/smoke/SteamKeyExchange;)V // method@b9f9 │ │ +41c7e0: 6207 eb2c |0034: sget-object v7, Ljava/util/concurrent/TimeUnit;.MILLISECONDS:Ljava/util/concurrent/TimeUnit; // field@2ceb │ │ +41c7e4: 1603 dc05 |0036: const-wide/16 v3, #int 1500 // #5dc │ │ +41c7e8: 1605 3200 |0038: const-wide/16 v5, #int 50 // #32 │ │ +41c7ec: 7807 cc60 0100 |003a: invoke-interface/range {v1, v2, v3, v4, v5, v6, v7}, Ljava/util/concurrent/ScheduledExecutorService;.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; // method@60cc │ │ +41c7f2: 7100 c460 0000 |003d: invoke-static {}, Ljava/util/concurrent/Executors;.newSingleThreadScheduledExecutor:()Ljava/util/concurrent/ScheduledExecutorService; // method@60c4 │ │ +41c7f8: 0c08 |0040: move-result-object v8 │ │ +41c7fa: 5bf8 c75d |0041: iput-object v8, v15, Lorg/purple/smoke/SteamKeyExchange;.m_readScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5dc7 │ │ +41c7fe: 2209 9c1a |0043: new-instance v9, Lorg/purple/smoke/SteamKeyExchange$2; // type@1a9c │ │ +41c802: 7020 fbb9 f900 |0045: invoke-direct {v9, v15}, Lorg/purple/smoke/SteamKeyExchange$2;.:(Lorg/purple/smoke/SteamKeyExchange;)V // method@b9fb │ │ +41c808: 620e eb2c |0048: sget-object v14, Ljava/util/concurrent/TimeUnit;.MILLISECONDS:Ljava/util/concurrent/TimeUnit; // field@2ceb │ │ +41c80c: 160a dc05 |004a: const-wide/16 v10, #int 1500 // #5dc │ │ +41c810: 160c 4c1d |004c: const-wide/16 v12, #int 7500 // #1d4c │ │ +41c814: 7807 cc60 0800 |004e: invoke-interface/range {v8, v9, v10, v11, v12, v13, v14}, Ljava/util/concurrent/ScheduledExecutorService;.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; // method@60cc │ │ +41c81a: 0e00 |0051: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=367 │ │ 0x0004 line=57 │ │ 0x0006 line=58 │ │ 0x0008 line=59 │ │ 0x000a line=60 │ │ @@ -735084,17 +735083,17 @@ │ │ type : '(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/concurrent/locks/ReentrantReadWriteLock;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41c6f8: |[41c6f8] org.purple.smoke.SteamKeyExchange.access$000:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/concurrent/locks/ReentrantReadWriteLock; │ │ -41c708: 5400 c45d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamKeyExchange;.m_pairsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5dc4 │ │ -41c70c: 1100 |0002: return-object v0 │ │ +41c6f4: |[41c6f4] org.purple.smoke.SteamKeyExchange.access$000:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/concurrent/locks/ReentrantReadWriteLock; │ │ +41c704: 5400 c45d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamKeyExchange;.m_pairsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5dc4 │ │ +41c708: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=43 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/SteamKeyExchange; │ │ │ │ #3 : (in Lorg/purple/smoke/SteamKeyExchange;) │ │ @@ -735102,17 +735101,17 @@ │ │ type : '(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/ArrayList;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41c6c8: |[41c6c8] org.purple.smoke.SteamKeyExchange.access$100:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/ArrayList; │ │ -41c6d8: 5400 c35d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamKeyExchange;.m_pairs:Ljava/util/ArrayList; // field@5dc3 │ │ -41c6dc: 1100 |0002: return-object v0 │ │ +41c6c4: |[41c6c4] org.purple.smoke.SteamKeyExchange.access$100:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/ArrayList; │ │ +41c6d4: 5400 c35d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamKeyExchange;.m_pairs:Ljava/util/ArrayList; // field@5dc3 │ │ +41c6d8: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=43 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/SteamKeyExchange; │ │ │ │ #4 : (in Lorg/purple/smoke/SteamKeyExchange;) │ │ @@ -735120,17 +735119,17 @@ │ │ type : '(Lorg/purple/smoke/SteamKeyExchange;)Ljava/lang/Object;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41c6b0: |[41c6b0] org.purple.smoke.SteamKeyExchange.access$200:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/lang/Object; │ │ -41c6c0: 5400 c65d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamKeyExchange;.m_parseSchedulerMutex:Ljava/lang/Object; // field@5dc6 │ │ -41c6c4: 1100 |0002: return-object v0 │ │ +41c6ac: |[41c6ac] org.purple.smoke.SteamKeyExchange.access$200:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/lang/Object; │ │ +41c6bc: 5400 c65d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamKeyExchange;.m_parseSchedulerMutex:Ljava/lang/Object; // field@5dc6 │ │ +41c6c0: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=43 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/SteamKeyExchange; │ │ │ │ #5 : (in Lorg/purple/smoke/SteamKeyExchange;) │ │ @@ -735138,17 +735137,17 @@ │ │ type : '(Lorg/purple/smoke/SteamKeyExchange;[B[B)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 4 16-bit code units │ │ -41c820: |[41c820] org.purple.smoke.SteamKeyExchange.access$300:(Lorg/purple/smoke/SteamKeyExchange;[B[B)V │ │ -41c830: 7030 09ba 1002 |0000: invoke-direct {v0, v1, v2}, Lorg/purple/smoke/SteamKeyExchange;.steamAorB:([B[B)V // method@ba09 │ │ -41c836: 0e00 |0003: return-void │ │ +41c81c: |[41c81c] org.purple.smoke.SteamKeyExchange.access$300:(Lorg/purple/smoke/SteamKeyExchange;[B[B)V │ │ +41c82c: 7030 09ba 1002 |0000: invoke-direct {v0, v1, v2}, Lorg/purple/smoke/SteamKeyExchange;.steamAorB:([B[B)V // method@ba09 │ │ +41c832: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=43 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/SteamKeyExchange; │ │ 0x0000 - 0x0004 reg=1 (null) [B │ │ 0x0000 - 0x0004 reg=2 (null) [B │ │ @@ -735158,34 +735157,34 @@ │ │ type : '()Lorg/purple/smoke/Cryptography;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41c710: |[41c710] org.purple.smoke.SteamKeyExchange.access$400:()Lorg/purple/smoke/Cryptography; │ │ -41c720: 6200 c85d |0000: sget-object v0, Lorg/purple/smoke/SteamKeyExchange;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dc8 │ │ -41c724: 1100 |0002: return-object v0 │ │ +41c70c: |[41c70c] org.purple.smoke.SteamKeyExchange.access$400:()Lorg/purple/smoke/Cryptography; │ │ +41c71c: 6200 c85d |0000: sget-object v0, Lorg/purple/smoke/SteamKeyExchange;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dc8 │ │ +41c720: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=43 │ │ locals : │ │ │ │ #7 : (in Lorg/purple/smoke/SteamKeyExchange;) │ │ name : 'access$500' │ │ type : '(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/concurrent/atomic/AtomicInteger;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41c6e0: |[41c6e0] org.purple.smoke.SteamKeyExchange.access$500:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/concurrent/atomic/AtomicInteger; │ │ -41c6f0: 5400 c25d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamKeyExchange;.m_lastReadSteamOid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5dc2 │ │ -41c6f4: 1100 |0002: return-object v0 │ │ +41c6dc: |[41c6dc] org.purple.smoke.SteamKeyExchange.access$500:(Lorg/purple/smoke/SteamKeyExchange;)Ljava/util/concurrent/atomic/AtomicInteger; │ │ +41c6ec: 5400 c25d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamKeyExchange;.m_lastReadSteamOid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5dc2 │ │ +41c6f0: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=43 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/SteamKeyExchange; │ │ │ │ #8 : (in Lorg/purple/smoke/SteamKeyExchange;) │ │ @@ -735193,76 +735192,76 @@ │ │ type : '()Lorg/purple/smoke/Database;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41c728: |[41c728] org.purple.smoke.SteamKeyExchange.access$600:()Lorg/purple/smoke/Database; │ │ -41c738: 6200 c95d |0000: sget-object v0, Lorg/purple/smoke/SteamKeyExchange;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dc9 │ │ -41c73c: 1100 |0002: return-object v0 │ │ +41c724: |[41c724] org.purple.smoke.SteamKeyExchange.access$600:()Lorg/purple/smoke/Database; │ │ +41c734: 6200 c95d |0000: sget-object v0, Lorg/purple/smoke/SteamKeyExchange;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dc9 │ │ +41c738: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=43 │ │ locals : │ │ │ │ #9 : (in Lorg/purple/smoke/SteamKeyExchange;) │ │ name : 'shareB' │ │ type : '(Lorg/purple/smoke/SteamElement;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 14 │ │ ins : 2 │ │ outs : 10 │ │ insns size : 81 16-bit code units │ │ -41c904: |[41c904] org.purple.smoke.SteamKeyExchange.shareB:(Lorg/purple/smoke/SteamElement;)V │ │ -41c914: 390d 0300 |0000: if-nez v13, 0003 // +0003 │ │ -41c918: 0e00 |0002: return-void │ │ -41c91a: 54d0 ac5d |0003: iget-object v0, v13, Lorg/purple/smoke/SteamElement;.m_ephemeralPublicKey:[B // field@5dac │ │ -41c91e: 7110 a1b5 0000 |0005: invoke-static {v0}, Lorg/purple/smoke/Cryptography;.publicKeyFromBytes:([B)Ljava/security/PublicKey; // method@b5a1 │ │ -41c924: 0c00 |0008: move-result-object v0 │ │ -41c926: 3900 0300 |0009: if-nez v0, 000c // +0003 │ │ -41c92a: 0e00 |000b: return-void │ │ -41c92c: 54d1 a85d |000c: iget-object v1, v13, Lorg/purple/smoke/SteamElement;.m_destination:Ljava/lang/String; // field@5da8 │ │ -41c930: 7110 f2b7 0100 |000e: invoke-static {v1}, Lorg/purple/smoke/Miscellaneous;.sipHashIdFromDestination:(Ljava/lang/String;)Ljava/lang/String; // method@b7f2 │ │ -41c936: 0c01 |0011: move-result-object v1 │ │ -41c938: 6202 c85d |0012: sget-object v2, Lorg/purple/smoke/SteamKeyExchange;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dc8 │ │ -41c93c: 54d3 aa5d |0014: iget-object v3, v13, Lorg/purple/smoke/SteamElement;.m_displayFileName:Ljava/lang/String; // field@5daa │ │ -41c940: 54d5 ad5d |0016: iget-object v5, v13, Lorg/purple/smoke/SteamElement;.m_fileDigest:[B // field@5dad │ │ -41c944: 54d6 ae5d |0018: iget-object v6, v13, Lorg/purple/smoke/SteamElement;.m_fileIdentity:[B // field@5dae │ │ -41c948: 54d4 b15d |001a: iget-object v4, v13, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ -41c94c: 1a07 cd3e |001c: const-string v7, "McEliece-Fujisaki (11, 50)" // string@3ecd │ │ -41c950: 7130 9ab5 7004 |001e: invoke-static {v0, v7, v4}, Lorg/purple/smoke/Cryptography;.pkiEncrypt:(Ljava/security/PublicKey;Ljava/lang/String;[B)[B // method@b59a │ │ -41c956: 0c07 |0021: move-result-object v7 │ │ -41c958: 54d0 b25d |0022: iget-object v0, v13, Lorg/purple/smoke/SteamElement;.m_keyType:Ljava/lang/String; // field@5db2 │ │ -41c95c: 1a04 c93e |0024: const-string v4, "McEliece" // string@3ec9 │ │ -41c960: 6e20 b85c 4000 |0026: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41c966: 0a00 |0029: move-result v0 │ │ -41c968: 1214 |002a: const/4 v4, #int 1 // #1 │ │ -41c96a: 3800 0800 |002b: if-eqz v0, 0033 // +0008 │ │ -41c96e: 6200 ca51 |002d: sget-object v0, Lorg/purple/smoke/Cryptography;.MESSAGES_KEY_TYPES:[B // field@51ca │ │ -41c972: 1208 |002f: const/4 v8, #int 0 // #0 │ │ -41c974: 4800 0008 |0030: aget-byte v0, v0, v8 │ │ -41c978: 2805 |0032: goto 0037 // +0005 │ │ -41c97a: 6200 ca51 |0033: sget-object v0, Lorg/purple/smoke/Cryptography;.MESSAGES_KEY_TYPES:[B // field@51ca │ │ -41c97e: 4800 0004 |0035: aget-byte v0, v0, v4 │ │ -41c982: 0108 |0037: move v8, v0 │ │ -41c984: 6200 2c53 |0038: sget-object v0, Lorg/purple/smoke/Messages;.STEAM_KEY_EXCHANGE:[B // field@532c │ │ -41c988: 4809 0004 |003a: aget-byte v9, v0, v4 │ │ -41c98c: 53da b05d |003c: iget-wide v10, v13, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ -41c990: 0714 |003e: move-object v4, v1 │ │ -41c992: 770a b9b7 0200 |003f: invoke-static/range {v2, v3, v4, v5, v6, v7, v8, v9, v10, v11}, Lorg/purple/smoke/Messages;.steamCall:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;[B[B[BBBJ)[B // method@b7b9 │ │ -41c998: 0c0d |0042: move-result-object v13 │ │ -41c99a: 380d 0d00 |0043: if-eqz v13, 0050 // +000d │ │ -41c99e: 7100 02b7 0000 |0045: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ -41c9a4: 0c00 |0048: move-result-object v0 │ │ -41c9a6: 7110 a8b7 0d00 |0049: invoke-static {v13}, Lorg/purple/smoke/Messages;.bytesToMessageString:([B)Ljava/lang/String; // method@b7a8 │ │ -41c9ac: 0c0d |004c: move-result-object v13 │ │ -41c9ae: 6e30 ffb6 d001 |004d: invoke-virtual {v0, v13, v1}, Lorg/purple/smoke/Kernel;.enqueueSteamKeyExchange:(Ljava/lang/String;Ljava/lang/String;)V // method@b6ff │ │ -41c9b4: 0e00 |0050: return-void │ │ +41c900: |[41c900] org.purple.smoke.SteamKeyExchange.shareB:(Lorg/purple/smoke/SteamElement;)V │ │ +41c910: 390d 0300 |0000: if-nez v13, 0003 // +0003 │ │ +41c914: 0e00 |0002: return-void │ │ +41c916: 54d0 ac5d |0003: iget-object v0, v13, Lorg/purple/smoke/SteamElement;.m_ephemeralPublicKey:[B // field@5dac │ │ +41c91a: 7110 a1b5 0000 |0005: invoke-static {v0}, Lorg/purple/smoke/Cryptography;.publicKeyFromBytes:([B)Ljava/security/PublicKey; // method@b5a1 │ │ +41c920: 0c00 |0008: move-result-object v0 │ │ +41c922: 3900 0300 |0009: if-nez v0, 000c // +0003 │ │ +41c926: 0e00 |000b: return-void │ │ +41c928: 54d1 a85d |000c: iget-object v1, v13, Lorg/purple/smoke/SteamElement;.m_destination:Ljava/lang/String; // field@5da8 │ │ +41c92c: 7110 f2b7 0100 |000e: invoke-static {v1}, Lorg/purple/smoke/Miscellaneous;.sipHashIdFromDestination:(Ljava/lang/String;)Ljava/lang/String; // method@b7f2 │ │ +41c932: 0c01 |0011: move-result-object v1 │ │ +41c934: 6202 c85d |0012: sget-object v2, Lorg/purple/smoke/SteamKeyExchange;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dc8 │ │ +41c938: 54d3 aa5d |0014: iget-object v3, v13, Lorg/purple/smoke/SteamElement;.m_displayFileName:Ljava/lang/String; // field@5daa │ │ +41c93c: 54d5 ad5d |0016: iget-object v5, v13, Lorg/purple/smoke/SteamElement;.m_fileDigest:[B // field@5dad │ │ +41c940: 54d6 ae5d |0018: iget-object v6, v13, Lorg/purple/smoke/SteamElement;.m_fileIdentity:[B // field@5dae │ │ +41c944: 54d4 b15d |001a: iget-object v4, v13, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ +41c948: 1a07 cd3e |001c: const-string v7, "McEliece-Fujisaki (11, 50)" // string@3ecd │ │ +41c94c: 7130 9ab5 7004 |001e: invoke-static {v0, v7, v4}, Lorg/purple/smoke/Cryptography;.pkiEncrypt:(Ljava/security/PublicKey;Ljava/lang/String;[B)[B // method@b59a │ │ +41c952: 0c07 |0021: move-result-object v7 │ │ +41c954: 54d0 b25d |0022: iget-object v0, v13, Lorg/purple/smoke/SteamElement;.m_keyType:Ljava/lang/String; // field@5db2 │ │ +41c958: 1a04 c93e |0024: const-string v4, "McEliece" // string@3ec9 │ │ +41c95c: 6e20 b85c 4000 |0026: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41c962: 0a00 |0029: move-result v0 │ │ +41c964: 1214 |002a: const/4 v4, #int 1 // #1 │ │ +41c966: 3800 0800 |002b: if-eqz v0, 0033 // +0008 │ │ +41c96a: 6200 ca51 |002d: sget-object v0, Lorg/purple/smoke/Cryptography;.MESSAGES_KEY_TYPES:[B // field@51ca │ │ +41c96e: 1208 |002f: const/4 v8, #int 0 // #0 │ │ +41c970: 4800 0008 |0030: aget-byte v0, v0, v8 │ │ +41c974: 2805 |0032: goto 0037 // +0005 │ │ +41c976: 6200 ca51 |0033: sget-object v0, Lorg/purple/smoke/Cryptography;.MESSAGES_KEY_TYPES:[B // field@51ca │ │ +41c97a: 4800 0004 |0035: aget-byte v0, v0, v4 │ │ +41c97e: 0108 |0037: move v8, v0 │ │ +41c980: 6200 2c53 |0038: sget-object v0, Lorg/purple/smoke/Messages;.STEAM_KEY_EXCHANGE:[B // field@532c │ │ +41c984: 4809 0004 |003a: aget-byte v9, v0, v4 │ │ +41c988: 53da b05d |003c: iget-wide v10, v13, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ +41c98c: 0714 |003e: move-object v4, v1 │ │ +41c98e: 770a b9b7 0200 |003f: invoke-static/range {v2, v3, v4, v5, v6, v7, v8, v9, v10, v11}, Lorg/purple/smoke/Messages;.steamCall:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;[B[B[BBBJ)[B // method@b7b9 │ │ +41c994: 0c0d |0042: move-result-object v13 │ │ +41c996: 380d 0d00 |0043: if-eqz v13, 0050 // +000d │ │ +41c99a: 7100 02b7 0000 |0045: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ +41c9a0: 0c00 |0048: move-result-object v0 │ │ +41c9a2: 7110 a8b7 0d00 |0049: invoke-static {v13}, Lorg/purple/smoke/Messages;.bytesToMessageString:([B)Ljava/lang/String; // method@b7a8 │ │ +41c9a8: 0c0d |004c: move-result-object v13 │ │ +41c9aa: 6e30 ffb6 d001 |004d: invoke-virtual {v0, v13, v1}, Lorg/purple/smoke/Kernel;.enqueueSteamKeyExchange:(Ljava/lang/String;Ljava/lang/String;)V // method@b6ff │ │ +41c9b0: 0e00 |0050: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=81 │ │ 0x0005 line=82 │ │ 0x000c line=87 │ │ 0x000e line=88 │ │ 0x0012 line=91 │ │ @@ -735282,429 +735281,429 @@ │ │ type : '([B[B)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 31 │ │ ins : 3 │ │ outs : 6 │ │ insns size : 796 16-bit code units │ │ -41c9b8: |[41c9b8] org.purple.smoke.SteamKeyExchange.steamAorB:([B[B)V │ │ -41c9c8: 0800 1c00 |0000: move-object/from16 v0, v28 │ │ -41c9cc: 0801 1d00 |0002: move-object/from16 v1, v29 │ │ -41c9d0: 0802 1e00 |0004: move-object/from16 v2, v30 │ │ -41c9d4: 3801 ff02 |0006: if-eqz v1, 0305 // +02ff │ │ -41c9d8: 2113 |0008: array-length v3, v1 │ │ -41c9da: 3803 fc02 |0009: if-eqz v3, 0305 // +02fc │ │ -41c9de: 3802 fa02 |000b: if-eqz v2, 0305 // +02fa │ │ -41c9e2: 2123 |000d: array-length v3, v2 │ │ -41c9e4: 3903 0400 |000e: if-nez v3, 0012 // +0004 │ │ -41c9e8: 2900 f502 |0010: goto/16 0305 // +02f5 │ │ -41c9ec: 1203 |0012: const/4 v3, #int 0 // #0 │ │ -41c9ee: 4804 0103 |0013: aget-byte v4, v1, v3 │ │ -41c9f2: 2115 |0015: array-length v5, v1 │ │ -41c9f4: 1216 |0016: const/4 v6, #int 1 // #1 │ │ -41c9f6: 7130 b45f 6105 |0017: invoke-static {v1, v6, v5}, Ljava/util/Arrays;.copyOfRange:([BII)[B // method@5fb4 │ │ -41c9fc: 0c01 |001a: move-result-object v1 │ │ -41c9fe: 2205 ef0a |001b: new-instance v5, Ljava/lang/String; // type@0aef │ │ -41ca02: 7020 ac5c 1500 |001d: invoke-direct {v5, v1}, Ljava/lang/String;.:([B)V // method@5cac │ │ -41ca08: 1a01 8b54 |0020: const-string v1, "\n" // string@548b │ │ -41ca0c: 6e20 c95c 1500 |0022: invoke-virtual {v5, v1}, Ljava/lang/String;.split:(Ljava/lang/String;)[Ljava/lang/String; // method@5cc9 │ │ -41ca12: 0c01 |0025: move-result-object v1 │ │ -41ca14: 2115 |0026: array-length v5, v1 │ │ -41ca16: 1307 0900 |0027: const/16 v7, #int 9 // #9 │ │ -41ca1a: 3275 0300 |0029: if-eq v5, v7, 002c // +0003 │ │ -41ca1e: 0e00 |002b: return-void │ │ -41ca20: 2115 |002c: array-length v5, v1 │ │ -41ca22: 1a0a 0000 |002d: const-string v10, "" // string@0000 │ │ -41ca26: 120b |002f: const/4 v11, #int 0 // #0 │ │ -41ca28: 0810 0a00 |0030: move-object/from16 v16, v10 │ │ -41ca2c: 0811 1000 |0032: move-object/from16 v17, v16 │ │ -41ca30: 07bc |0034: move-object v12, v11 │ │ -41ca32: 07cd |0035: move-object v13, v12 │ │ -41ca34: 07de |0036: move-object v14, v13 │ │ -41ca36: 07ef |0037: move-object v15, v14 │ │ -41ca38: 1208 |0038: const/4 v8, #int 0 // #0 │ │ -41ca3a: 1209 |0039: const/4 v9, #int 0 // #0 │ │ -41ca3c: 1612 0000 |003a: const-wide/16 v18, #int 0 // #0 │ │ -41ca40: 1227 |003c: const/4 v7, #int 2 // #2 │ │ -41ca42: 3558 d001 |003d: if-ge v8, v5, 020d // +01d0 │ │ -41ca46: 4616 0108 |003f: aget-object v22, v1, v8 │ │ -41ca4a: 2b09 c502 0000 |0041: packed-switch v9, 00000306 // +000002c5 │ │ -41ca50: 0217 0500 |0044: move/from16 v23, v5 │ │ -41ca54: 0819 0a00 |0046: move-object/from16 v25, v10 │ │ -41ca58: 131b 0900 |0048: const/16 v27, #int 9 // #9 │ │ -41ca5c: 2900 b701 |004a: goto/16 0201 // +01b7 │ │ -41ca60: 6206 c95d |004c: sget-object v6, Lorg/purple/smoke/SteamKeyExchange;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dc9 │ │ -41ca64: 6203 c85d |004e: sget-object v3, Lorg/purple/smoke/SteamKeyExchange;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dc8 │ │ -41ca68: 6e30 1db6 360c |0050: invoke-virtual {v6, v3, v12}, Lorg/purple/smoke/Database;.signatureKeyForDigest:(Lorg/purple/smoke/Cryptography;[B)Ljava/security/PublicKey; // method@b61d │ │ -41ca6e: 0c06 |0053: move-result-object v6 │ │ -41ca70: 3906 0300 |0054: if-nez v6, 0057 // +0003 │ │ -41ca74: 0e00 |0056: return-void │ │ -41ca76: 0217 0500 |0057: move/from16 v23, v5 │ │ -41ca7a: 7401 bc5c 1600 |0059: invoke-virtual/range {v22}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -41ca80: 0c05 |005c: move-result-object v5 │ │ -41ca82: 7120 c254 7500 |005d: invoke-static {v5, v7}, Landroid/util/Base64;.decode:([BI)[B // method@54c2 │ │ -41ca88: 0c05 |0060: move-result-object v5 │ │ -41ca8a: 1307 1300 |0061: const/16 v7, #int 19 // #13 │ │ -41ca8e: 2377 811b |0063: new-array v7, v7, [[B // type@1b81 │ │ -41ca92: 1314 0000 |0065: const/16 v20, #int 0 // #0 │ │ -41ca96: 4d02 0714 |0067: aput-object v2, v7, v20 │ │ -41ca9a: 0819 0a00 |0069: move-object/from16 v25, v10 │ │ -41ca9e: 1212 |006b: const/4 v2, #int 1 // #1 │ │ -41caa0: 232a ba1a |006c: new-array v10, v2, [B // type@1aba │ │ -41caa4: 4f04 0a14 |006e: aput-byte v4, v10, v20 │ │ -41caa8: 4d0a 0702 |0070: aput-object v10, v7, v2 │ │ -41caac: 460a 0114 |0072: aget-object v10, v1, v20 │ │ -41cab0: 6e10 bc5c 0a00 |0074: invoke-virtual {v10}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -41cab6: 0c0a |0077: move-result-object v10 │ │ -41cab8: 1314 0200 |0078: const/16 v20, #int 2 // #2 │ │ -41cabc: 4d0a 0714 |007a: aput-object v10, v7, v20 │ │ -41cac0: 1a0a 0100 |007c: const-string v10, " │ │ +41c9b4: |[41c9b4] org.purple.smoke.SteamKeyExchange.steamAorB:([B[B)V │ │ +41c9c4: 0800 1c00 |0000: move-object/from16 v0, v28 │ │ +41c9c8: 0801 1d00 |0002: move-object/from16 v1, v29 │ │ +41c9cc: 0802 1e00 |0004: move-object/from16 v2, v30 │ │ +41c9d0: 3801 ff02 |0006: if-eqz v1, 0305 // +02ff │ │ +41c9d4: 2113 |0008: array-length v3, v1 │ │ +41c9d6: 3803 fc02 |0009: if-eqz v3, 0305 // +02fc │ │ +41c9da: 3802 fa02 |000b: if-eqz v2, 0305 // +02fa │ │ +41c9de: 2123 |000d: array-length v3, v2 │ │ +41c9e0: 3903 0400 |000e: if-nez v3, 0012 // +0004 │ │ +41c9e4: 2900 f502 |0010: goto/16 0305 // +02f5 │ │ +41c9e8: 1203 |0012: const/4 v3, #int 0 // #0 │ │ +41c9ea: 4804 0103 |0013: aget-byte v4, v1, v3 │ │ +41c9ee: 2115 |0015: array-length v5, v1 │ │ +41c9f0: 1216 |0016: const/4 v6, #int 1 // #1 │ │ +41c9f2: 7130 b45f 6105 |0017: invoke-static {v1, v6, v5}, Ljava/util/Arrays;.copyOfRange:([BII)[B // method@5fb4 │ │ +41c9f8: 0c01 |001a: move-result-object v1 │ │ +41c9fa: 2205 ef0a |001b: new-instance v5, Ljava/lang/String; // type@0aef │ │ +41c9fe: 7020 ac5c 1500 |001d: invoke-direct {v5, v1}, Ljava/lang/String;.:([B)V // method@5cac │ │ +41ca04: 1a01 8b54 |0020: const-string v1, "\n" // string@548b │ │ +41ca08: 6e20 c95c 1500 |0022: invoke-virtual {v5, v1}, Ljava/lang/String;.split:(Ljava/lang/String;)[Ljava/lang/String; // method@5cc9 │ │ +41ca0e: 0c01 |0025: move-result-object v1 │ │ +41ca10: 2115 |0026: array-length v5, v1 │ │ +41ca12: 1307 0900 |0027: const/16 v7, #int 9 // #9 │ │ +41ca16: 3275 0300 |0029: if-eq v5, v7, 002c // +0003 │ │ +41ca1a: 0e00 |002b: return-void │ │ +41ca1c: 2115 |002c: array-length v5, v1 │ │ +41ca1e: 1a0a 0000 |002d: const-string v10, "" // string@0000 │ │ +41ca22: 120b |002f: const/4 v11, #int 0 // #0 │ │ +41ca24: 0810 0a00 |0030: move-object/from16 v16, v10 │ │ +41ca28: 0811 1000 |0032: move-object/from16 v17, v16 │ │ +41ca2c: 07bc |0034: move-object v12, v11 │ │ +41ca2e: 07cd |0035: move-object v13, v12 │ │ +41ca30: 07de |0036: move-object v14, v13 │ │ +41ca32: 07ef |0037: move-object v15, v14 │ │ +41ca34: 1208 |0038: const/4 v8, #int 0 // #0 │ │ +41ca36: 1209 |0039: const/4 v9, #int 0 // #0 │ │ +41ca38: 1612 0000 |003a: const-wide/16 v18, #int 0 // #0 │ │ +41ca3c: 1227 |003c: const/4 v7, #int 2 // #2 │ │ +41ca3e: 3558 d001 |003d: if-ge v8, v5, 020d // +01d0 │ │ +41ca42: 4616 0108 |003f: aget-object v22, v1, v8 │ │ +41ca46: 2b09 c502 0000 |0041: packed-switch v9, 00000306 // +000002c5 │ │ +41ca4c: 0217 0500 |0044: move/from16 v23, v5 │ │ +41ca50: 0819 0a00 |0046: move-object/from16 v25, v10 │ │ +41ca54: 131b 0900 |0048: const/16 v27, #int 9 // #9 │ │ +41ca58: 2900 b701 |004a: goto/16 0201 // +01b7 │ │ +41ca5c: 6206 c95d |004c: sget-object v6, Lorg/purple/smoke/SteamKeyExchange;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dc9 │ │ +41ca60: 6203 c85d |004e: sget-object v3, Lorg/purple/smoke/SteamKeyExchange;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dc8 │ │ +41ca64: 6e30 1db6 360c |0050: invoke-virtual {v6, v3, v12}, Lorg/purple/smoke/Database;.signatureKeyForDigest:(Lorg/purple/smoke/Cryptography;[B)Ljava/security/PublicKey; // method@b61d │ │ +41ca6a: 0c06 |0053: move-result-object v6 │ │ +41ca6c: 3906 0300 |0054: if-nez v6, 0057 // +0003 │ │ +41ca70: 0e00 |0056: return-void │ │ +41ca72: 0217 0500 |0057: move/from16 v23, v5 │ │ +41ca76: 7401 bc5c 1600 |0059: invoke-virtual/range {v22}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +41ca7c: 0c05 |005c: move-result-object v5 │ │ +41ca7e: 7120 c254 7500 |005d: invoke-static {v5, v7}, Landroid/util/Base64;.decode:([BI)[B // method@54c2 │ │ +41ca84: 0c05 |0060: move-result-object v5 │ │ +41ca86: 1307 1300 |0061: const/16 v7, #int 19 // #13 │ │ +41ca8a: 2377 811b |0063: new-array v7, v7, [[B // type@1b81 │ │ +41ca8e: 1314 0000 |0065: const/16 v20, #int 0 // #0 │ │ +41ca92: 4d02 0714 |0067: aput-object v2, v7, v20 │ │ +41ca96: 0819 0a00 |0069: move-object/from16 v25, v10 │ │ +41ca9a: 1212 |006b: const/4 v2, #int 1 // #1 │ │ +41ca9c: 232a ba1a |006c: new-array v10, v2, [B // type@1aba │ │ +41caa0: 4f04 0a14 |006e: aput-byte v4, v10, v20 │ │ +41caa4: 4d0a 0702 |0070: aput-object v10, v7, v2 │ │ +41caa8: 460a 0114 |0072: aget-object v10, v1, v20 │ │ +41caac: 6e10 bc5c 0a00 |0074: invoke-virtual {v10}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +41cab2: 0c0a |0077: move-result-object v10 │ │ +41cab4: 1314 0200 |0078: const/16 v20, #int 2 // #2 │ │ +41cab8: 4d0a 0714 |007a: aput-object v10, v7, v20 │ │ +41cabc: 1a0a 0100 |007c: const-string v10, " │ │ " // string@0001 │ │ -41cac4: 6e10 bc5c 0a00 |007e: invoke-virtual {v10}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -41caca: 0c14 |0081: move-result-object v20 │ │ -41cacc: 1315 0300 |0082: const/16 v21, #int 3 // #3 │ │ -41cad0: 4d14 0715 |0084: aput-object v20, v7, v21 │ │ -41cad4: 4614 0102 |0086: aget-object v20, v1, v2 │ │ -41cad8: 7401 bc5c 1400 |0088: invoke-virtual/range {v20}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -41cade: 0c02 |008b: move-result-object v2 │ │ -41cae0: 1314 0400 |008c: const/16 v20, #int 4 // #4 │ │ -41cae4: 4d02 0714 |008e: aput-object v2, v7, v20 │ │ -41cae8: 6e10 bc5c 0a00 |0090: invoke-virtual {v10}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -41caee: 0c02 |0093: move-result-object v2 │ │ -41caf0: 1316 0500 |0094: const/16 v22, #int 5 // #5 │ │ -41caf4: 4d02 0716 |0096: aput-object v2, v7, v22 │ │ -41caf8: 1222 |0098: const/4 v2, #int 2 // #2 │ │ -41cafa: 4602 0102 |0099: aget-object v2, v1, v2 │ │ -41cafe: 6e10 bc5c 0200 |009b: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -41cb04: 0c02 |009e: move-result-object v2 │ │ -41cb06: 1318 0600 |009f: const/16 v24, #int 6 // #6 │ │ -41cb0a: 4d02 0718 |00a1: aput-object v2, v7, v24 │ │ -41cb0e: 6e10 bc5c 0a00 |00a3: invoke-virtual {v10}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -41cb14: 0c02 |00a6: move-result-object v2 │ │ -41cb16: 131a 0700 |00a7: const/16 v26, #int 7 // #7 │ │ -41cb1a: 4d02 071a |00a9: aput-object v2, v7, v26 │ │ -41cb1e: 1302 0800 |00ab: const/16 v2, #int 8 // #8 │ │ -41cb22: 4615 0115 |00ad: aget-object v21, v1, v21 │ │ -41cb26: 7401 bc5c 1500 |00af: invoke-virtual/range {v21}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -41cb2c: 0c15 |00b2: move-result-object v21 │ │ -41cb2e: 4d15 0702 |00b3: aput-object v21, v7, v2 │ │ -41cb32: 6e10 bc5c 0a00 |00b5: invoke-virtual {v10}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -41cb38: 0c02 |00b8: move-result-object v2 │ │ -41cb3a: 131b 0900 |00b9: const/16 v27, #int 9 // #9 │ │ -41cb3e: 4d02 071b |00bb: aput-object v2, v7, v27 │ │ -41cb42: 1302 0a00 |00bd: const/16 v2, #int 10 // #a │ │ -41cb46: 4614 0114 |00bf: aget-object v20, v1, v20 │ │ -41cb4a: 7401 bc5c 1400 |00c1: invoke-virtual/range {v20}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -41cb50: 0c14 |00c4: move-result-object v20 │ │ -41cb52: 4d14 0702 |00c5: aput-object v20, v7, v2 │ │ -41cb56: 1302 0b00 |00c7: const/16 v2, #int 11 // #b │ │ -41cb5a: 6e10 bc5c 0a00 |00c9: invoke-virtual {v10}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -41cb60: 0c14 |00cc: move-result-object v20 │ │ -41cb62: 4d14 0702 |00cd: aput-object v20, v7, v2 │ │ -41cb66: 1302 0c00 |00cf: const/16 v2, #int 12 // #c │ │ -41cb6a: 4614 0116 |00d1: aget-object v20, v1, v22 │ │ -41cb6e: 7401 bc5c 1400 |00d3: invoke-virtual/range {v20}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -41cb74: 0c14 |00d6: move-result-object v20 │ │ -41cb76: 4d14 0702 |00d7: aput-object v20, v7, v2 │ │ -41cb7a: 1302 0d00 |00d9: const/16 v2, #int 13 // #d │ │ -41cb7e: 6e10 bc5c 0a00 |00db: invoke-virtual {v10}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -41cb84: 0c14 |00de: move-result-object v20 │ │ -41cb86: 4d14 0702 |00df: aput-object v20, v7, v2 │ │ -41cb8a: 1302 0e00 |00e1: const/16 v2, #int 14 // #e │ │ -41cb8e: 4614 0118 |00e3: aget-object v20, v1, v24 │ │ -41cb92: 7401 bc5c 1400 |00e5: invoke-virtual/range {v20}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -41cb98: 0c14 |00e8: move-result-object v20 │ │ -41cb9a: 4d14 0702 |00e9: aput-object v20, v7, v2 │ │ -41cb9e: 1302 0f00 |00eb: const/16 v2, #int 15 // #f │ │ -41cba2: 6e10 bc5c 0a00 |00ed: invoke-virtual {v10}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -41cba8: 0c14 |00f0: move-result-object v20 │ │ -41cbaa: 4d14 0702 |00f1: aput-object v20, v7, v2 │ │ -41cbae: 1302 1000 |00f3: const/16 v2, #int 16 // #10 │ │ -41cbb2: 4614 011a |00f5: aget-object v20, v1, v26 │ │ -41cbb6: 7401 bc5c 1400 |00f7: invoke-virtual/range {v20}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -41cbbc: 0c14 |00fa: move-result-object v20 │ │ -41cbbe: 4d14 0702 |00fb: aput-object v20, v7, v2 │ │ -41cbc2: 1302 1100 |00fd: const/16 v2, #int 17 // #11 │ │ -41cbc6: 6e10 bc5c 0a00 |00ff: invoke-virtual {v10}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -41cbcc: 0c0a |0102: move-result-object v10 │ │ -41cbce: 4d0a 0702 |0103: aput-object v10, v7, v2 │ │ -41cbd2: 1302 1200 |0105: const/16 v2, #int 18 // #12 │ │ -41cbd6: 6e10 6ab5 0300 |0107: invoke-virtual {v3}, Lorg/purple/smoke/Cryptography;.chatEncryptionPublicKeyDigest:()[B // method@b56a │ │ -41cbdc: 0c03 |010a: move-result-object v3 │ │ -41cbde: 4d03 0702 |010b: aput-object v3, v7, v2 │ │ -41cbe2: 7110 e2b7 0700 |010d: invoke-static {v7}, Lorg/purple/smoke/Miscellaneous;.joinByteArrays:([[B)[B // method@b7e2 │ │ -41cbe8: 0c02 |0110: move-result-object v2 │ │ -41cbea: 7130 bab5 5602 |0111: invoke-static {v6, v5, v2}, Lorg/purple/smoke/Cryptography;.verifySignature:(Ljava/security/PublicKey;[B[B)Z // method@b5ba │ │ -41cbf0: 0a02 |0114: move-result v2 │ │ -41cbf2: 3902 ea00 |0115: if-nez v2, 01ff // +00ea │ │ -41cbf6: 0e00 |0117: return-void │ │ -41cbf8: 0217 0500 |0118: move/from16 v23, v5 │ │ -41cbfc: 0819 0a00 |011a: move-object/from16 v25, v10 │ │ -41cc00: 131b 0900 |011c: const/16 v27, #int 9 // #9 │ │ -41cc04: 7401 bc5c 1600 |011e: invoke-virtual/range {v22}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -41cc0a: 0c02 |0121: move-result-object v2 │ │ -41cc0c: 1223 |0122: const/4 v3, #int 2 // #2 │ │ -41cc0e: 7120 c254 3200 |0123: invoke-static {v2, v3}, Landroid/util/Base64;.decode:([BI)[B // method@54c2 │ │ -41cc14: 0c02 |0126: move-result-object v2 │ │ -41cc16: d809 0901 |0127: add-int/lit8 v9, v9, #int 1 // #01 │ │ -41cc1a: 072c |0129: move-object v12, v2 │ │ -41cc1c: 2900 d700 |012a: goto/16 0201 // +00d7 │ │ -41cc20: 0217 0500 |012c: move/from16 v23, v5 │ │ -41cc24: 0819 0a00 |012e: move-object/from16 v25, v10 │ │ -41cc28: 1223 |0130: const/4 v3, #int 2 // #2 │ │ -41cc2a: 131b 0900 |0131: const/16 v27, #int 9 // #9 │ │ -41cc2e: 7401 bc5c 1600 |0133: invoke-virtual/range {v22}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -41cc34: 0c02 |0136: move-result-object v2 │ │ -41cc36: 7120 c254 3200 |0137: invoke-static {v2, v3}, Landroid/util/Base64;.decode:([BI)[B // method@54c2 │ │ -41cc3c: 0c02 |013a: move-result-object v2 │ │ -41cc3e: 7110 d8b7 0200 |013b: invoke-static {v2}, Lorg/purple/smoke/Miscellaneous;.byteArrayToLong:([B)J // method@b7d8 │ │ -41cc44: 0b12 |013e: move-result-wide v18 │ │ -41cc46: 1602 0000 |013f: const-wide/16 v2, #int 0 // #0 │ │ -41cc4a: 3105 1202 |0141: cmp-long v5, v18, v2 │ │ -41cc4e: 3b05 bc00 |0143: if-gez v5, 01ff // +00bc │ │ -41cc52: 0e00 |0145: return-void │ │ -41cc54: 0217 0500 |0146: move/from16 v23, v5 │ │ -41cc58: 0819 0a00 |0148: move-object/from16 v25, v10 │ │ -41cc5c: 1223 |014a: const/4 v3, #int 2 // #2 │ │ -41cc5e: 131b 0900 |014b: const/16 v27, #int 9 // #9 │ │ -41cc62: 2202 ef0a |014d: new-instance v2, Ljava/lang/String; // type@0aef │ │ -41cc66: 7401 bc5c 1600 |014f: invoke-virtual/range {v22}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -41cc6c: 0c05 |0152: move-result-object v5 │ │ -41cc6e: 7120 c254 3500 |0153: invoke-static {v5, v3}, Landroid/util/Base64;.decode:([BI)[B // method@54c2 │ │ -41cc74: 0c03 |0156: move-result-object v3 │ │ -41cc76: 6205 e02c |0157: sget-object v5, Ljava/nio/charset/StandardCharsets;.UTF_8:Ljava/nio/charset/Charset; // field@2ce0 │ │ -41cc7a: 7030 af5c 3205 |0159: invoke-direct {v2, v3, v5}, Ljava/lang/String;.:([BLjava/nio/charset/Charset;)V // method@5caf │ │ -41cc80: 1303 2e00 |015c: const/16 v3, #int 46 // #2e │ │ -41cc84: 6e20 c05c 3200 |015e: invoke-virtual {v2, v3}, Ljava/lang/String;.indexOf:(I)I // method@5cc0 │ │ -41cc8a: 0a05 |0161: move-result v5 │ │ -41cc8c: 3905 0a00 |0162: if-nez v5, 016c // +000a │ │ -41cc90: 6e20 c05c 3200 |0164: invoke-virtual {v2, v3}, Ljava/lang/String;.indexOf:(I)I // method@5cc0 │ │ -41cc96: 0a03 |0167: move-result v3 │ │ -41cc98: 6e20 cc5c 3200 |0168: invoke-virtual {v2, v3}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@5ccc │ │ -41cc9e: 0c11 |016b: move-result-object v17 │ │ -41cca0: d809 0901 |016c: add-int/lit8 v9, v9, #int 1 // #01 │ │ -41cca4: 0810 0200 |016e: move-object/from16 v16, v2 │ │ -41cca8: 2900 9100 |0170: goto/16 0201 // +0091 │ │ -41ccac: 0217 0500 |0172: move/from16 v23, v5 │ │ -41ccb0: 0819 0a00 |0174: move-object/from16 v25, v10 │ │ -41ccb4: 131b 0900 |0176: const/16 v27, #int 9 // #9 │ │ -41ccb8: 7401 bc5c 1600 |0178: invoke-virtual/range {v22}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -41ccbe: 0c02 |017b: move-result-object v2 │ │ -41ccc0: 1223 |017c: const/4 v3, #int 2 // #2 │ │ -41ccc2: 7120 c254 3200 |017d: invoke-static {v2, v3}, Landroid/util/Base64;.decode:([BI)[B // method@54c2 │ │ -41ccc8: 0c02 |0180: move-result-object v2 │ │ -41ccca: 6203 2c53 |0181: sget-object v3, Lorg/purple/smoke/Messages;.STEAM_KEY_EXCHANGE:[B // field@532c │ │ -41ccce: 1205 |0183: const/4 v5, #int 0 // #0 │ │ -41ccd0: 4803 0305 |0184: aget-byte v3, v3, v5 │ │ -41ccd4: 3334 1900 |0186: if-ne v4, v3, 019f // +0019 │ │ -41ccd8: 6203 c95d |0188: sget-object v3, Lorg/purple/smoke/SteamKeyExchange;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dc9 │ │ -41ccdc: 6205 c85d |018a: sget-object v5, Lorg/purple/smoke/SteamKeyExchange;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dc8 │ │ -41cce0: 6e30 1fb6 5302 |018c: invoke-virtual {v3, v5, v2}, Lorg/purple/smoke/Database;.steamOidFromFileIdentity:(Lorg/purple/smoke/Cryptography;[B)I // method@b61f │ │ -41cce6: 0a06 |018f: move-result v6 │ │ -41cce8: 12f7 |0190: const/4 v7, #int -1 // #ff │ │ -41ccea: 3776 0e00 |0191: if-le v6, v7, 019f // +000e │ │ -41ccee: d806 06ff |0193: add-int/lit8 v6, v6, #int -1 // #ff │ │ -41ccf2: 6e40 13b6 5367 |0195: invoke-virtual {v3, v5, v7, v6}, Lorg/purple/smoke/Database;.readSteam:(Lorg/purple/smoke/Cryptography;II)Lorg/purple/smoke/SteamElement; // method@b613 │ │ -41ccf8: 0c03 |0198: move-result-object v3 │ │ -41ccfa: 3803 0600 |0199: if-eqz v3, 019f // +0006 │ │ -41ccfe: 7020 08ba 3000 |019b: invoke-direct {v0, v3}, Lorg/purple/smoke/SteamKeyExchange;.shareB:(Lorg/purple/smoke/SteamElement;)V // method@ba08 │ │ -41cd04: 0e00 |019e: return-void │ │ -41cd06: d809 0901 |019f: add-int/lit8 v9, v9, #int 1 // #01 │ │ -41cd0a: 072b |01a1: move-object v11, v2 │ │ -41cd0c: 285f |01a2: goto 0201 // +005f │ │ -41cd0e: 0217 0500 |01a3: move/from16 v23, v5 │ │ -41cd12: 0819 0a00 |01a5: move-object/from16 v25, v10 │ │ -41cd16: 131b 0900 |01a7: const/16 v27, #int 9 // #9 │ │ -41cd1a: 7401 bc5c 1600 |01a9: invoke-virtual/range {v22}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -41cd20: 0c02 |01ac: move-result-object v2 │ │ -41cd22: 1223 |01ad: const/4 v3, #int 2 // #2 │ │ -41cd24: 7120 c254 3200 |01ae: invoke-static {v2, v3}, Landroid/util/Base64;.decode:([BI)[B // method@54c2 │ │ -41cd2a: 0c02 |01b1: move-result-object v2 │ │ -41cd2c: d809 0901 |01b2: add-int/lit8 v9, v9, #int 1 // #01 │ │ -41cd30: 072e |01b4: move-object v14, v2 │ │ -41cd32: 284c |01b5: goto 0201 // +004c │ │ -41cd34: 0217 0500 |01b6: move/from16 v23, v5 │ │ -41cd38: 0819 0a00 |01b8: move-object/from16 v25, v10 │ │ -41cd3c: 1223 |01ba: const/4 v3, #int 2 // #2 │ │ -41cd3e: 131b 0900 |01bb: const/16 v27, #int 9 // #9 │ │ -41cd42: 7401 bc5c 1600 |01bd: invoke-virtual/range {v22}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -41cd48: 0c02 |01c0: move-result-object v2 │ │ -41cd4a: 7120 c254 3200 |01c1: invoke-static {v2, v3}, Landroid/util/Base64;.decode:([BI)[B // method@54c2 │ │ -41cd50: 0c02 |01c4: move-result-object v2 │ │ -41cd52: d809 0901 |01c5: add-int/lit8 v9, v9, #int 1 // #01 │ │ -41cd56: 072f |01c7: move-object v15, v2 │ │ -41cd58: 2839 |01c8: goto 0201 // +0039 │ │ -41cd5a: 0217 0500 |01c9: move/from16 v23, v5 │ │ -41cd5e: 0819 0a00 |01cb: move-object/from16 v25, v10 │ │ -41cd62: 1223 |01cd: const/4 v3, #int 2 // #2 │ │ -41cd64: 131b 0900 |01ce: const/16 v27, #int 9 // #9 │ │ -41cd68: 7401 bc5c 1600 |01d0: invoke-virtual/range {v22}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -41cd6e: 0c02 |01d3: move-result-object v2 │ │ -41cd70: 7120 c254 3200 |01d4: invoke-static {v2, v3}, Landroid/util/Base64;.decode:([BI)[B // method@54c2 │ │ -41cd76: 0c02 |01d7: move-result-object v2 │ │ -41cd78: d809 0901 |01d8: add-int/lit8 v9, v9, #int 1 // #01 │ │ -41cd7c: 072d |01da: move-object v13, v2 │ │ -41cd7e: 2826 |01db: goto 0201 // +0026 │ │ -41cd80: 0217 0500 |01dc: move/from16 v23, v5 │ │ -41cd84: 0819 0a00 |01de: move-object/from16 v25, v10 │ │ -41cd88: 1223 |01e0: const/4 v3, #int 2 // #2 │ │ -41cd8a: 131b 0900 |01e1: const/16 v27, #int 9 // #9 │ │ -41cd8e: 7401 bc5c 1600 |01e3: invoke-virtual/range {v22}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -41cd94: 0c02 |01e6: move-result-object v2 │ │ -41cd96: 7120 c254 3200 |01e7: invoke-static {v2, v3}, Landroid/util/Base64;.decode:([BI)[B // method@54c2 │ │ -41cd9c: 0c02 |01ea: move-result-object v2 │ │ -41cd9e: 7110 d8b7 0200 |01eb: invoke-static {v2}, Lorg/purple/smoke/Miscellaneous;.byteArrayToLong:([B)J // method@b7d8 │ │ -41cda4: 0b02 |01ee: move-result-wide v2 │ │ -41cda6: 7100 065d 0000 |01ef: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ -41cdac: 0b05 |01f2: move-result-wide v5 │ │ -41cdae: bc25 |01f3: sub-long/2addr v5, v2 │ │ -41cdb0: 7120 735c 6500 |01f4: invoke-static {v5, v6}, Ljava/lang/Math;.abs:(J)J // method@5c73 │ │ -41cdb6: 0b02 |01f7: move-result-wide v2 │ │ -41cdb8: 1605 3075 |01f8: const-wide/16 v5, #int 30000 // #7530 │ │ -41cdbc: 3107 0205 |01fa: cmp-long v7, v2, v5 │ │ -41cdc0: 3d07 0300 |01fc: if-lez v7, 01ff // +0003 │ │ -41cdc4: 0e00 |01fe: return-void │ │ -41cdc6: d809 0901 |01ff: add-int/lit8 v9, v9, #int 1 // #01 │ │ -41cdca: d808 0801 |0201: add-int/lit8 v8, v8, #int 1 // #01 │ │ -41cdce: 0802 1e00 |0203: move-object/from16 v2, v30 │ │ -41cdd2: 0205 1700 |0205: move/from16 v5, v23 │ │ -41cdd6: 080a 1900 |0207: move-object/from16 v10, v25 │ │ -41cdda: 1203 |0209: const/4 v3, #int 0 // #0 │ │ -41cddc: 1216 |020a: const/4 v6, #int 1 // #1 │ │ -41cdde: 2900 31fe |020b: goto/16 003c // -01cf │ │ -41cde2: 0819 0a00 |020d: move-object/from16 v25, v10 │ │ -41cde6: 6201 2c53 |020f: sget-object v1, Lorg/purple/smoke/Messages;.STEAM_KEY_EXCHANGE:[B // field@532c │ │ -41cdea: 1202 |0211: const/4 v2, #int 0 // #0 │ │ -41cdec: 4801 0102 |0212: aget-byte v1, v1, v2 │ │ -41cdf0: 3314 c000 |0214: if-ne v4, v1, 02d4 // +00c0 │ │ -41cdf4: 6201 c95d |0216: sget-object v1, Lorg/purple/smoke/SteamKeyExchange;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dc9 │ │ -41cdf8: 6202 c85d |0218: sget-object v2, Lorg/purple/smoke/SteamKeyExchange;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dc8 │ │ -41cdfc: 6e30 f1b5 210c |021a: invoke-virtual {v1, v2, v12}, Lorg/purple/smoke/Database;.nameSipHashIdFromDigest:(Lorg/purple/smoke/Cryptography;[B)[Ljava/lang/String; // method@b5f1 │ │ -41ce02: 0c03 |021d: move-result-object v3 │ │ -41ce04: 1214 |021e: const/4 v4, #int 1 // #1 │ │ -41ce06: 4605 0304 |021f: aget-object v5, v3, v4 │ │ -41ce0a: 6e30 0cb6 2105 |0221: invoke-virtual {v1, v2, v5}, Lorg/purple/smoke/Database;.readParticipantOptions:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60c │ │ -41ce10: 0c05 |0224: move-result-object v5 │ │ -41ce12: 1a06 da8d |0225: const-string v6, "optional_steam = true" // string@8dda │ │ -41ce16: 6e20 b65c 6500 |0227: invoke-virtual {v5, v6}, Ljava/lang/String;.contains:(Ljava/lang/CharSequence;)Z // method@5cb6 │ │ -41ce1c: 0a05 |022a: move-result v5 │ │ -41ce1e: 3805 0300 |022b: if-eqz v5, 022e // +0003 │ │ -41ce22: 0e00 |022d: return-void │ │ -41ce24: 2205 9a1a |022e: new-instance v5, Lorg/purple/smoke/SteamElement; // type@1a9a │ │ -41ce28: 7010 f7b9 0500 |0230: invoke-direct {v5}, Lorg/purple/smoke/SteamElement;.:()V // method@b9f7 │ │ -41ce2e: 4606 0304 |0233: aget-object v6, v3, v4 │ │ -41ce32: 6e10 c35c 0600 |0235: invoke-virtual {v6}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -41ce38: 0a04 |0238: move-result v4 │ │ -41ce3a: 3804 0800 |0239: if-eqz v4, 0241 // +0008 │ │ -41ce3e: 1204 |023b: const/4 v4, #int 0 // #0 │ │ -41ce40: 4603 0304 |023c: aget-object v3, v3, v4 │ │ -41ce44: 5b53 a85d |023e: iput-object v3, v5, Lorg/purple/smoke/SteamElement;.m_destination:Ljava/lang/String; // field@5da8 │ │ -41ce48: 2822 |0240: goto 0262 // +0022 │ │ -41ce4a: 1204 |0241: const/4 v4, #int 0 // #0 │ │ -41ce4c: 2206 f10a |0242: new-instance v6, Ljava/lang/StringBuilder; // type@0af1 │ │ -41ce50: 7010 ee5c 0600 |0244: invoke-direct {v6}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41ce56: 4607 0304 |0247: aget-object v7, v3, v4 │ │ -41ce5a: 6e20 f95c 7600 |0249: invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41ce60: 1a04 9800 |024c: const-string v4, " (" // string@0098 │ │ -41ce64: 6e20 f95c 4600 |024e: invoke-virtual {v6, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41ce6a: 1214 |0251: const/4 v4, #int 1 // #1 │ │ -41ce6c: 4603 0304 |0252: aget-object v3, v3, v4 │ │ -41ce70: 6e20 f95c 3600 |0254: invoke-virtual {v6, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41ce76: 1a03 e403 |0257: const-string v3, ")" // string@03e4 │ │ -41ce7a: 6e20 f95c 3600 |0259: invoke-virtual {v6, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41ce80: 6e10 035d 0600 |025c: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41ce86: 0c03 |025f: move-result-object v3 │ │ -41ce88: 5b53 a85d |0260: iput-object v3, v5, Lorg/purple/smoke/SteamElement;.m_destination:Ljava/lang/String; // field@5da8 │ │ -41ce8c: 080a 1000 |0262: move-object/from16 v10, v16 │ │ -41ce90: 1303 2e00 |0264: const/16 v3, #int 46 // #2e │ │ -41ce94: 6e20 c05c 3a00 |0266: invoke-virtual {v10, v3}, Ljava/lang/String;.indexOf:(I)I // method@5cc0 │ │ -41ce9a: 0a03 |0269: move-result v3 │ │ -41ce9c: 3903 2500 |026a: if-nez v3, 028f // +0025 │ │ -41cea0: 2203 f10a |026c: new-instance v3, Ljava/lang/StringBuilder; // type@0af1 │ │ -41cea4: 7010 ee5c 0300 |026e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41ceaa: 1a04 0e4b |0271: const-string v4, "Smoke_" // string@4b0e │ │ -41ceae: 6e20 f95c 4300 |0273: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41ceb4: 1304 2000 |0276: const/16 v4, #int 32 // #20 │ │ -41ceb8: 7110 a4b5 0400 |0278: invoke-static {v4}, Lorg/purple/smoke/Cryptography;.randomBytes:(I)[B // method@b5a4 │ │ -41cebe: 0c04 |027b: move-result-object v4 │ │ -41cec0: 7110 d6b7 0400 |027c: invoke-static {v4}, Lorg/purple/smoke/Miscellaneous;.byteArrayAsHexString:([B)Ljava/lang/String; // method@b7d6 │ │ -41cec6: 0c04 |027f: move-result-object v4 │ │ -41cec8: 6e20 f95c 4300 |0280: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41cece: 080a 1100 |0283: move-object/from16 v10, v17 │ │ -41ced2: 6e20 f95c a300 |0285: invoke-virtual {v3, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41ced8: 6e10 035d 0300 |0288: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41cede: 0c03 |028b: move-result-object v3 │ │ -41cee0: 5b53 aa5d |028c: iput-object v3, v5, Lorg/purple/smoke/SteamElement;.m_displayFileName:Ljava/lang/String; // field@5daa │ │ -41cee4: 2803 |028e: goto 0291 // +0003 │ │ -41cee6: 5b5a aa5d |028f: iput-object v10, v5, Lorg/purple/smoke/SteamElement;.m_displayFileName:Ljava/lang/String; // field@5daa │ │ -41ceea: 5b5d ac5d |0291: iput-object v13, v5, Lorg/purple/smoke/SteamElement;.m_ephemeralPublicKey:[B // field@5dac │ │ -41ceee: 5b5e ad5d |0293: iput-object v14, v5, Lorg/purple/smoke/SteamElement;.m_fileDigest:[B // field@5dad │ │ -41cef2: 5b5b ae5d |0295: iput-object v11, v5, Lorg/purple/smoke/SteamElement;.m_fileIdentity:[B // field@5dae │ │ -41cef6: 5453 aa5d |0297: iget-object v3, v5, Lorg/purple/smoke/SteamElement;.m_displayFileName:Ljava/lang/String; // field@5daa │ │ -41cefa: 5b53 af5d |0299: iput-object v3, v5, Lorg/purple/smoke/SteamElement;.m_fileName:Ljava/lang/String; // field@5daf │ │ -41cefe: 0508 1200 |029b: move-wide/from16 v8, v18 │ │ -41cf02: 5a58 b05d |029d: iput-wide v8, v5, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ -41cf06: 1223 |029f: const/4 v3, #int 2 // #2 │ │ -41cf08: 2333 811b |02a0: new-array v3, v3, [[B // type@1b81 │ │ -41cf0c: 7100 66b5 0000 |02a2: invoke-static {}, Lorg/purple/smoke/Cryptography;.aes256KeyBytes:()[B // method@b566 │ │ -41cf12: 0c04 |02a5: move-result-object v4 │ │ -41cf14: 1206 |02a6: const/4 v6, #int 0 // #0 │ │ -41cf16: 4d04 0306 |02a7: aput-object v4, v3, v6 │ │ -41cf1a: 7100 b3b5 0000 |02a9: invoke-static {}, Lorg/purple/smoke/Cryptography;.sha512KeyBytes:()[B // method@b5b3 │ │ -41cf20: 0c04 |02ac: move-result-object v4 │ │ -41cf22: 1217 |02ad: const/4 v7, #int 1 // #1 │ │ -41cf24: 4d04 0307 |02ae: aput-object v4, v3, v7 │ │ -41cf28: 7110 e2b7 0300 |02b0: invoke-static {v3}, Lorg/purple/smoke/Miscellaneous;.joinByteArrays:([[B)[B // method@b7e2 │ │ -41cf2e: 0c03 |02b3: move-result-object v3 │ │ -41cf30: 5b53 b15d |02b4: iput-object v3, v5, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ -41cf34: 4803 0f06 |02b6: aget-byte v3, v15, v6 │ │ -41cf38: 6204 ca51 |02b8: sget-object v4, Lorg/purple/smoke/Cryptography;.MESSAGES_KEY_TYPES:[B // field@51ca │ │ -41cf3c: 4804 0406 |02ba: aget-byte v4, v4, v6 │ │ -41cf40: 3343 0500 |02bc: if-ne v3, v4, 02c1 // +0005 │ │ -41cf44: 1a03 c93e |02be: const-string v3, "McEliece" // string@3ec9 │ │ -41cf48: 2803 |02c0: goto 02c3 // +0003 │ │ -41cf4a: 1a03 6945 |02c1: const-string v3, "RSA" // string@4569 │ │ -41cf4e: 5b53 b25d |02c3: iput-object v3, v5, Lorg/purple/smoke/SteamElement;.m_keyType:Ljava/lang/String; // field@5db2 │ │ -41cf52: 1603 0000 |02c5: const-wide/16 v3, #int 0 // #0 │ │ -41cf56: 5a53 b55d |02c7: iput-wide v3, v5, Lorg/purple/smoke/SteamElement;.m_readInterval:J // field@5db5 │ │ -41cf5a: 1a03 af60 |02c9: const-string v3, "created private-key pair" // string@60af │ │ -41cf5e: 5b53 b85d |02cb: iput-object v3, v5, Lorg/purple/smoke/SteamElement;.m_status:Ljava/lang/String; // field@5db8 │ │ -41cf62: 6e30 32b6 2105 |02cd: invoke-virtual {v1, v2, v5}, Lorg/purple/smoke/Database;.writeSteam:(Lorg/purple/smoke/Cryptography;Lorg/purple/smoke/SteamElement;)V // method@b632 │ │ -41cf68: 7020 08ba 5000 |02d0: invoke-direct {v0, v5}, Lorg/purple/smoke/SteamKeyExchange;.shareB:(Lorg/purple/smoke/SteamElement;)V // method@ba08 │ │ -41cf6e: 2832 |02d3: goto 0305 // +0032 │ │ -41cf70: 6201 c95d |02d4: sget-object v1, Lorg/purple/smoke/SteamKeyExchange;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dc9 │ │ -41cf74: 6202 c85d |02d6: sget-object v2, Lorg/purple/smoke/SteamKeyExchange;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dc8 │ │ -41cf78: 6e30 1fb6 210b |02d8: invoke-virtual {v1, v2, v11}, Lorg/purple/smoke/Database;.steamOidFromFileIdentity:(Lorg/purple/smoke/Cryptography;[B)I // method@b61f │ │ -41cf7e: 0a03 |02db: move-result v3 │ │ -41cf80: d804 03ff |02dc: add-int/lit8 v4, v3, #int -1 // #ff │ │ -41cf84: 12f5 |02de: const/4 v5, #int -1 // #ff │ │ -41cf86: 6e40 13b6 2145 |02df: invoke-virtual {v1, v2, v5, v4}, Lorg/purple/smoke/Database;.readSteam:(Lorg/purple/smoke/Cryptography;II)Lorg/purple/smoke/SteamElement; // method@b613 │ │ -41cf8c: 0c04 |02e2: move-result-object v4 │ │ -41cf8e: 3904 0300 |02e3: if-nez v4, 02e6 // +0003 │ │ -41cf92: 0e00 |02e5: return-void │ │ -41cf94: 5444 ab5d |02e6: iget-object v4, v4, Lorg/purple/smoke/SteamElement;.m_ephemeralPrivateKey:[B // field@5dab │ │ -41cf98: 7110 9eb5 0400 |02e8: invoke-static {v4}, Lorg/purple/smoke/Cryptography;.privateKeyFromBytes:([B)Ljava/security/PrivateKey; // method@b59e │ │ -41cf9e: 0c04 |02eb: move-result-object v4 │ │ -41cfa0: 3904 0300 |02ec: if-nez v4, 02ef // +0003 │ │ -41cfa4: 0e00 |02ee: return-void │ │ -41cfa6: 7120 98b5 d400 |02ef: invoke-static {v4, v13}, Lorg/purple/smoke/Cryptography;.pkiDecrypt:(Ljava/security/PrivateKey;[B)[B // method@b598 │ │ -41cfac: 0c08 |02f2: move-result-object v8 │ │ -41cfae: 3908 0300 |02f3: if-nez v8, 02f6 // +0003 │ │ -41cfb2: 0e00 |02f5: return-void │ │ -41cfb4: 1209 |02f6: const/4 v9, #int 0 // #0 │ │ -41cfb6: 120a |02f7: const/4 v10, #int 0 // #0 │ │ -41cfb8: 0716 |02f8: move-object v6, v1 │ │ -41cfba: 0727 |02f9: move-object v7, v2 │ │ -41cfbc: 013b |02fa: move v11, v3 │ │ -41cfbe: 7406 35b6 0600 |02fb: invoke-virtual/range {v6, v7, v8, v9, v10, v11}, Lorg/purple/smoke/Database;.writeSteamKeys:(Lorg/purple/smoke/Cryptography;[B[B[BI)Z // method@b635 │ │ -41cfc4: 1a04 3494 |02fe: const-string v4, "received private-key pair" // string@9434 │ │ -41cfc8: 0805 1900 |0300: move-object/from16 v5, v25 │ │ -41cfcc: 6e53 38b6 2154 |0302: invoke-virtual {v1, v2, v4, v5, v3}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;I)V // method@b638 │ │ -41cfd2: 0e00 |0305: return-void │ │ -41cfd4: 0001 0900 0000 0000 9b01 0000 8801 ... |0306: packed-switch-data (22 units) │ │ +41cac0: 6e10 bc5c 0a00 |007e: invoke-virtual {v10}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +41cac6: 0c14 |0081: move-result-object v20 │ │ +41cac8: 1315 0300 |0082: const/16 v21, #int 3 // #3 │ │ +41cacc: 4d14 0715 |0084: aput-object v20, v7, v21 │ │ +41cad0: 4614 0102 |0086: aget-object v20, v1, v2 │ │ +41cad4: 7401 bc5c 1400 |0088: invoke-virtual/range {v20}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +41cada: 0c02 |008b: move-result-object v2 │ │ +41cadc: 1314 0400 |008c: const/16 v20, #int 4 // #4 │ │ +41cae0: 4d02 0714 |008e: aput-object v2, v7, v20 │ │ +41cae4: 6e10 bc5c 0a00 |0090: invoke-virtual {v10}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +41caea: 0c02 |0093: move-result-object v2 │ │ +41caec: 1316 0500 |0094: const/16 v22, #int 5 // #5 │ │ +41caf0: 4d02 0716 |0096: aput-object v2, v7, v22 │ │ +41caf4: 1222 |0098: const/4 v2, #int 2 // #2 │ │ +41caf6: 4602 0102 |0099: aget-object v2, v1, v2 │ │ +41cafa: 6e10 bc5c 0200 |009b: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +41cb00: 0c02 |009e: move-result-object v2 │ │ +41cb02: 1318 0600 |009f: const/16 v24, #int 6 // #6 │ │ +41cb06: 4d02 0718 |00a1: aput-object v2, v7, v24 │ │ +41cb0a: 6e10 bc5c 0a00 |00a3: invoke-virtual {v10}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +41cb10: 0c02 |00a6: move-result-object v2 │ │ +41cb12: 131a 0700 |00a7: const/16 v26, #int 7 // #7 │ │ +41cb16: 4d02 071a |00a9: aput-object v2, v7, v26 │ │ +41cb1a: 1302 0800 |00ab: const/16 v2, #int 8 // #8 │ │ +41cb1e: 4615 0115 |00ad: aget-object v21, v1, v21 │ │ +41cb22: 7401 bc5c 1500 |00af: invoke-virtual/range {v21}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +41cb28: 0c15 |00b2: move-result-object v21 │ │ +41cb2a: 4d15 0702 |00b3: aput-object v21, v7, v2 │ │ +41cb2e: 6e10 bc5c 0a00 |00b5: invoke-virtual {v10}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +41cb34: 0c02 |00b8: move-result-object v2 │ │ +41cb36: 131b 0900 |00b9: const/16 v27, #int 9 // #9 │ │ +41cb3a: 4d02 071b |00bb: aput-object v2, v7, v27 │ │ +41cb3e: 1302 0a00 |00bd: const/16 v2, #int 10 // #a │ │ +41cb42: 4614 0114 |00bf: aget-object v20, v1, v20 │ │ +41cb46: 7401 bc5c 1400 |00c1: invoke-virtual/range {v20}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +41cb4c: 0c14 |00c4: move-result-object v20 │ │ +41cb4e: 4d14 0702 |00c5: aput-object v20, v7, v2 │ │ +41cb52: 1302 0b00 |00c7: const/16 v2, #int 11 // #b │ │ +41cb56: 6e10 bc5c 0a00 |00c9: invoke-virtual {v10}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +41cb5c: 0c14 |00cc: move-result-object v20 │ │ +41cb5e: 4d14 0702 |00cd: aput-object v20, v7, v2 │ │ +41cb62: 1302 0c00 |00cf: const/16 v2, #int 12 // #c │ │ +41cb66: 4614 0116 |00d1: aget-object v20, v1, v22 │ │ +41cb6a: 7401 bc5c 1400 |00d3: invoke-virtual/range {v20}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +41cb70: 0c14 |00d6: move-result-object v20 │ │ +41cb72: 4d14 0702 |00d7: aput-object v20, v7, v2 │ │ +41cb76: 1302 0d00 |00d9: const/16 v2, #int 13 // #d │ │ +41cb7a: 6e10 bc5c 0a00 |00db: invoke-virtual {v10}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +41cb80: 0c14 |00de: move-result-object v20 │ │ +41cb82: 4d14 0702 |00df: aput-object v20, v7, v2 │ │ +41cb86: 1302 0e00 |00e1: const/16 v2, #int 14 // #e │ │ +41cb8a: 4614 0118 |00e3: aget-object v20, v1, v24 │ │ +41cb8e: 7401 bc5c 1400 |00e5: invoke-virtual/range {v20}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +41cb94: 0c14 |00e8: move-result-object v20 │ │ +41cb96: 4d14 0702 |00e9: aput-object v20, v7, v2 │ │ +41cb9a: 1302 0f00 |00eb: const/16 v2, #int 15 // #f │ │ +41cb9e: 6e10 bc5c 0a00 |00ed: invoke-virtual {v10}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +41cba4: 0c14 |00f0: move-result-object v20 │ │ +41cba6: 4d14 0702 |00f1: aput-object v20, v7, v2 │ │ +41cbaa: 1302 1000 |00f3: const/16 v2, #int 16 // #10 │ │ +41cbae: 4614 011a |00f5: aget-object v20, v1, v26 │ │ +41cbb2: 7401 bc5c 1400 |00f7: invoke-virtual/range {v20}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +41cbb8: 0c14 |00fa: move-result-object v20 │ │ +41cbba: 4d14 0702 |00fb: aput-object v20, v7, v2 │ │ +41cbbe: 1302 1100 |00fd: const/16 v2, #int 17 // #11 │ │ +41cbc2: 6e10 bc5c 0a00 |00ff: invoke-virtual {v10}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +41cbc8: 0c0a |0102: move-result-object v10 │ │ +41cbca: 4d0a 0702 |0103: aput-object v10, v7, v2 │ │ +41cbce: 1302 1200 |0105: const/16 v2, #int 18 // #12 │ │ +41cbd2: 6e10 6ab5 0300 |0107: invoke-virtual {v3}, Lorg/purple/smoke/Cryptography;.chatEncryptionPublicKeyDigest:()[B // method@b56a │ │ +41cbd8: 0c03 |010a: move-result-object v3 │ │ +41cbda: 4d03 0702 |010b: aput-object v3, v7, v2 │ │ +41cbde: 7110 e2b7 0700 |010d: invoke-static {v7}, Lorg/purple/smoke/Miscellaneous;.joinByteArrays:([[B)[B // method@b7e2 │ │ +41cbe4: 0c02 |0110: move-result-object v2 │ │ +41cbe6: 7130 bab5 5602 |0111: invoke-static {v6, v5, v2}, Lorg/purple/smoke/Cryptography;.verifySignature:(Ljava/security/PublicKey;[B[B)Z // method@b5ba │ │ +41cbec: 0a02 |0114: move-result v2 │ │ +41cbee: 3902 ea00 |0115: if-nez v2, 01ff // +00ea │ │ +41cbf2: 0e00 |0117: return-void │ │ +41cbf4: 0217 0500 |0118: move/from16 v23, v5 │ │ +41cbf8: 0819 0a00 |011a: move-object/from16 v25, v10 │ │ +41cbfc: 131b 0900 |011c: const/16 v27, #int 9 // #9 │ │ +41cc00: 7401 bc5c 1600 |011e: invoke-virtual/range {v22}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +41cc06: 0c02 |0121: move-result-object v2 │ │ +41cc08: 1223 |0122: const/4 v3, #int 2 // #2 │ │ +41cc0a: 7120 c254 3200 |0123: invoke-static {v2, v3}, Landroid/util/Base64;.decode:([BI)[B // method@54c2 │ │ +41cc10: 0c02 |0126: move-result-object v2 │ │ +41cc12: d809 0901 |0127: add-int/lit8 v9, v9, #int 1 // #01 │ │ +41cc16: 072c |0129: move-object v12, v2 │ │ +41cc18: 2900 d700 |012a: goto/16 0201 // +00d7 │ │ +41cc1c: 0217 0500 |012c: move/from16 v23, v5 │ │ +41cc20: 0819 0a00 |012e: move-object/from16 v25, v10 │ │ +41cc24: 1223 |0130: const/4 v3, #int 2 // #2 │ │ +41cc26: 131b 0900 |0131: const/16 v27, #int 9 // #9 │ │ +41cc2a: 7401 bc5c 1600 |0133: invoke-virtual/range {v22}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +41cc30: 0c02 |0136: move-result-object v2 │ │ +41cc32: 7120 c254 3200 |0137: invoke-static {v2, v3}, Landroid/util/Base64;.decode:([BI)[B // method@54c2 │ │ +41cc38: 0c02 |013a: move-result-object v2 │ │ +41cc3a: 7110 d8b7 0200 |013b: invoke-static {v2}, Lorg/purple/smoke/Miscellaneous;.byteArrayToLong:([B)J // method@b7d8 │ │ +41cc40: 0b12 |013e: move-result-wide v18 │ │ +41cc42: 1602 0000 |013f: const-wide/16 v2, #int 0 // #0 │ │ +41cc46: 3105 1202 |0141: cmp-long v5, v18, v2 │ │ +41cc4a: 3b05 bc00 |0143: if-gez v5, 01ff // +00bc │ │ +41cc4e: 0e00 |0145: return-void │ │ +41cc50: 0217 0500 |0146: move/from16 v23, v5 │ │ +41cc54: 0819 0a00 |0148: move-object/from16 v25, v10 │ │ +41cc58: 1223 |014a: const/4 v3, #int 2 // #2 │ │ +41cc5a: 131b 0900 |014b: const/16 v27, #int 9 // #9 │ │ +41cc5e: 2202 ef0a |014d: new-instance v2, Ljava/lang/String; // type@0aef │ │ +41cc62: 7401 bc5c 1600 |014f: invoke-virtual/range {v22}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +41cc68: 0c05 |0152: move-result-object v5 │ │ +41cc6a: 7120 c254 3500 |0153: invoke-static {v5, v3}, Landroid/util/Base64;.decode:([BI)[B // method@54c2 │ │ +41cc70: 0c03 |0156: move-result-object v3 │ │ +41cc72: 6205 e02c |0157: sget-object v5, Ljava/nio/charset/StandardCharsets;.UTF_8:Ljava/nio/charset/Charset; // field@2ce0 │ │ +41cc76: 7030 af5c 3205 |0159: invoke-direct {v2, v3, v5}, Ljava/lang/String;.:([BLjava/nio/charset/Charset;)V // method@5caf │ │ +41cc7c: 1303 2e00 |015c: const/16 v3, #int 46 // #2e │ │ +41cc80: 6e20 c05c 3200 |015e: invoke-virtual {v2, v3}, Ljava/lang/String;.indexOf:(I)I // method@5cc0 │ │ +41cc86: 0a05 |0161: move-result v5 │ │ +41cc88: 3905 0a00 |0162: if-nez v5, 016c // +000a │ │ +41cc8c: 6e20 c05c 3200 |0164: invoke-virtual {v2, v3}, Ljava/lang/String;.indexOf:(I)I // method@5cc0 │ │ +41cc92: 0a03 |0167: move-result v3 │ │ +41cc94: 6e20 cc5c 3200 |0168: invoke-virtual {v2, v3}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@5ccc │ │ +41cc9a: 0c11 |016b: move-result-object v17 │ │ +41cc9c: d809 0901 |016c: add-int/lit8 v9, v9, #int 1 // #01 │ │ +41cca0: 0810 0200 |016e: move-object/from16 v16, v2 │ │ +41cca4: 2900 9100 |0170: goto/16 0201 // +0091 │ │ +41cca8: 0217 0500 |0172: move/from16 v23, v5 │ │ +41ccac: 0819 0a00 |0174: move-object/from16 v25, v10 │ │ +41ccb0: 131b 0900 |0176: const/16 v27, #int 9 // #9 │ │ +41ccb4: 7401 bc5c 1600 |0178: invoke-virtual/range {v22}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +41ccba: 0c02 |017b: move-result-object v2 │ │ +41ccbc: 1223 |017c: const/4 v3, #int 2 // #2 │ │ +41ccbe: 7120 c254 3200 |017d: invoke-static {v2, v3}, Landroid/util/Base64;.decode:([BI)[B // method@54c2 │ │ +41ccc4: 0c02 |0180: move-result-object v2 │ │ +41ccc6: 6203 2c53 |0181: sget-object v3, Lorg/purple/smoke/Messages;.STEAM_KEY_EXCHANGE:[B // field@532c │ │ +41ccca: 1205 |0183: const/4 v5, #int 0 // #0 │ │ +41cccc: 4803 0305 |0184: aget-byte v3, v3, v5 │ │ +41ccd0: 3334 1900 |0186: if-ne v4, v3, 019f // +0019 │ │ +41ccd4: 6203 c95d |0188: sget-object v3, Lorg/purple/smoke/SteamKeyExchange;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dc9 │ │ +41ccd8: 6205 c85d |018a: sget-object v5, Lorg/purple/smoke/SteamKeyExchange;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dc8 │ │ +41ccdc: 6e30 1fb6 5302 |018c: invoke-virtual {v3, v5, v2}, Lorg/purple/smoke/Database;.steamOidFromFileIdentity:(Lorg/purple/smoke/Cryptography;[B)I // method@b61f │ │ +41cce2: 0a06 |018f: move-result v6 │ │ +41cce4: 12f7 |0190: const/4 v7, #int -1 // #ff │ │ +41cce6: 3776 0e00 |0191: if-le v6, v7, 019f // +000e │ │ +41ccea: d806 06ff |0193: add-int/lit8 v6, v6, #int -1 // #ff │ │ +41ccee: 6e40 13b6 5367 |0195: invoke-virtual {v3, v5, v7, v6}, Lorg/purple/smoke/Database;.readSteam:(Lorg/purple/smoke/Cryptography;II)Lorg/purple/smoke/SteamElement; // method@b613 │ │ +41ccf4: 0c03 |0198: move-result-object v3 │ │ +41ccf6: 3803 0600 |0199: if-eqz v3, 019f // +0006 │ │ +41ccfa: 7020 08ba 3000 |019b: invoke-direct {v0, v3}, Lorg/purple/smoke/SteamKeyExchange;.shareB:(Lorg/purple/smoke/SteamElement;)V // method@ba08 │ │ +41cd00: 0e00 |019e: return-void │ │ +41cd02: d809 0901 |019f: add-int/lit8 v9, v9, #int 1 // #01 │ │ +41cd06: 072b |01a1: move-object v11, v2 │ │ +41cd08: 285f |01a2: goto 0201 // +005f │ │ +41cd0a: 0217 0500 |01a3: move/from16 v23, v5 │ │ +41cd0e: 0819 0a00 |01a5: move-object/from16 v25, v10 │ │ +41cd12: 131b 0900 |01a7: const/16 v27, #int 9 // #9 │ │ +41cd16: 7401 bc5c 1600 |01a9: invoke-virtual/range {v22}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +41cd1c: 0c02 |01ac: move-result-object v2 │ │ +41cd1e: 1223 |01ad: const/4 v3, #int 2 // #2 │ │ +41cd20: 7120 c254 3200 |01ae: invoke-static {v2, v3}, Landroid/util/Base64;.decode:([BI)[B // method@54c2 │ │ +41cd26: 0c02 |01b1: move-result-object v2 │ │ +41cd28: d809 0901 |01b2: add-int/lit8 v9, v9, #int 1 // #01 │ │ +41cd2c: 072e |01b4: move-object v14, v2 │ │ +41cd2e: 284c |01b5: goto 0201 // +004c │ │ +41cd30: 0217 0500 |01b6: move/from16 v23, v5 │ │ +41cd34: 0819 0a00 |01b8: move-object/from16 v25, v10 │ │ +41cd38: 1223 |01ba: const/4 v3, #int 2 // #2 │ │ +41cd3a: 131b 0900 |01bb: const/16 v27, #int 9 // #9 │ │ +41cd3e: 7401 bc5c 1600 |01bd: invoke-virtual/range {v22}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +41cd44: 0c02 |01c0: move-result-object v2 │ │ +41cd46: 7120 c254 3200 |01c1: invoke-static {v2, v3}, Landroid/util/Base64;.decode:([BI)[B // method@54c2 │ │ +41cd4c: 0c02 |01c4: move-result-object v2 │ │ +41cd4e: d809 0901 |01c5: add-int/lit8 v9, v9, #int 1 // #01 │ │ +41cd52: 072f |01c7: move-object v15, v2 │ │ +41cd54: 2839 |01c8: goto 0201 // +0039 │ │ +41cd56: 0217 0500 |01c9: move/from16 v23, v5 │ │ +41cd5a: 0819 0a00 |01cb: move-object/from16 v25, v10 │ │ +41cd5e: 1223 |01cd: const/4 v3, #int 2 // #2 │ │ +41cd60: 131b 0900 |01ce: const/16 v27, #int 9 // #9 │ │ +41cd64: 7401 bc5c 1600 |01d0: invoke-virtual/range {v22}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +41cd6a: 0c02 |01d3: move-result-object v2 │ │ +41cd6c: 7120 c254 3200 |01d4: invoke-static {v2, v3}, Landroid/util/Base64;.decode:([BI)[B // method@54c2 │ │ +41cd72: 0c02 |01d7: move-result-object v2 │ │ +41cd74: d809 0901 |01d8: add-int/lit8 v9, v9, #int 1 // #01 │ │ +41cd78: 072d |01da: move-object v13, v2 │ │ +41cd7a: 2826 |01db: goto 0201 // +0026 │ │ +41cd7c: 0217 0500 |01dc: move/from16 v23, v5 │ │ +41cd80: 0819 0a00 |01de: move-object/from16 v25, v10 │ │ +41cd84: 1223 |01e0: const/4 v3, #int 2 // #2 │ │ +41cd86: 131b 0900 |01e1: const/16 v27, #int 9 // #9 │ │ +41cd8a: 7401 bc5c 1600 |01e3: invoke-virtual/range {v22}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +41cd90: 0c02 |01e6: move-result-object v2 │ │ +41cd92: 7120 c254 3200 |01e7: invoke-static {v2, v3}, Landroid/util/Base64;.decode:([BI)[B // method@54c2 │ │ +41cd98: 0c02 |01ea: move-result-object v2 │ │ +41cd9a: 7110 d8b7 0200 |01eb: invoke-static {v2}, Lorg/purple/smoke/Miscellaneous;.byteArrayToLong:([B)J // method@b7d8 │ │ +41cda0: 0b02 |01ee: move-result-wide v2 │ │ +41cda2: 7100 065d 0000 |01ef: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ +41cda8: 0b05 |01f2: move-result-wide v5 │ │ +41cdaa: bc25 |01f3: sub-long/2addr v5, v2 │ │ +41cdac: 7120 735c 6500 |01f4: invoke-static {v5, v6}, Ljava/lang/Math;.abs:(J)J // method@5c73 │ │ +41cdb2: 0b02 |01f7: move-result-wide v2 │ │ +41cdb4: 1605 3075 |01f8: const-wide/16 v5, #int 30000 // #7530 │ │ +41cdb8: 3107 0205 |01fa: cmp-long v7, v2, v5 │ │ +41cdbc: 3d07 0300 |01fc: if-lez v7, 01ff // +0003 │ │ +41cdc0: 0e00 |01fe: return-void │ │ +41cdc2: d809 0901 |01ff: add-int/lit8 v9, v9, #int 1 // #01 │ │ +41cdc6: d808 0801 |0201: add-int/lit8 v8, v8, #int 1 // #01 │ │ +41cdca: 0802 1e00 |0203: move-object/from16 v2, v30 │ │ +41cdce: 0205 1700 |0205: move/from16 v5, v23 │ │ +41cdd2: 080a 1900 |0207: move-object/from16 v10, v25 │ │ +41cdd6: 1203 |0209: const/4 v3, #int 0 // #0 │ │ +41cdd8: 1216 |020a: const/4 v6, #int 1 // #1 │ │ +41cdda: 2900 31fe |020b: goto/16 003c // -01cf │ │ +41cdde: 0819 0a00 |020d: move-object/from16 v25, v10 │ │ +41cde2: 6201 2c53 |020f: sget-object v1, Lorg/purple/smoke/Messages;.STEAM_KEY_EXCHANGE:[B // field@532c │ │ +41cde6: 1202 |0211: const/4 v2, #int 0 // #0 │ │ +41cde8: 4801 0102 |0212: aget-byte v1, v1, v2 │ │ +41cdec: 3314 c000 |0214: if-ne v4, v1, 02d4 // +00c0 │ │ +41cdf0: 6201 c95d |0216: sget-object v1, Lorg/purple/smoke/SteamKeyExchange;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dc9 │ │ +41cdf4: 6202 c85d |0218: sget-object v2, Lorg/purple/smoke/SteamKeyExchange;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dc8 │ │ +41cdf8: 6e30 f1b5 210c |021a: invoke-virtual {v1, v2, v12}, Lorg/purple/smoke/Database;.nameSipHashIdFromDigest:(Lorg/purple/smoke/Cryptography;[B)[Ljava/lang/String; // method@b5f1 │ │ +41cdfe: 0c03 |021d: move-result-object v3 │ │ +41ce00: 1214 |021e: const/4 v4, #int 1 // #1 │ │ +41ce02: 4605 0304 |021f: aget-object v5, v3, v4 │ │ +41ce06: 6e30 0cb6 2105 |0221: invoke-virtual {v1, v2, v5}, Lorg/purple/smoke/Database;.readParticipantOptions:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60c │ │ +41ce0c: 0c05 |0224: move-result-object v5 │ │ +41ce0e: 1a06 da8d |0225: const-string v6, "optional_steam = true" // string@8dda │ │ +41ce12: 6e20 b65c 6500 |0227: invoke-virtual {v5, v6}, Ljava/lang/String;.contains:(Ljava/lang/CharSequence;)Z // method@5cb6 │ │ +41ce18: 0a05 |022a: move-result v5 │ │ +41ce1a: 3805 0300 |022b: if-eqz v5, 022e // +0003 │ │ +41ce1e: 0e00 |022d: return-void │ │ +41ce20: 2205 9a1a |022e: new-instance v5, Lorg/purple/smoke/SteamElement; // type@1a9a │ │ +41ce24: 7010 f7b9 0500 |0230: invoke-direct {v5}, Lorg/purple/smoke/SteamElement;.:()V // method@b9f7 │ │ +41ce2a: 4606 0304 |0233: aget-object v6, v3, v4 │ │ +41ce2e: 6e10 c35c 0600 |0235: invoke-virtual {v6}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +41ce34: 0a04 |0238: move-result v4 │ │ +41ce36: 3804 0800 |0239: if-eqz v4, 0241 // +0008 │ │ +41ce3a: 1204 |023b: const/4 v4, #int 0 // #0 │ │ +41ce3c: 4603 0304 |023c: aget-object v3, v3, v4 │ │ +41ce40: 5b53 a85d |023e: iput-object v3, v5, Lorg/purple/smoke/SteamElement;.m_destination:Ljava/lang/String; // field@5da8 │ │ +41ce44: 2822 |0240: goto 0262 // +0022 │ │ +41ce46: 1204 |0241: const/4 v4, #int 0 // #0 │ │ +41ce48: 2206 f10a |0242: new-instance v6, Ljava/lang/StringBuilder; // type@0af1 │ │ +41ce4c: 7010 ee5c 0600 |0244: invoke-direct {v6}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41ce52: 4607 0304 |0247: aget-object v7, v3, v4 │ │ +41ce56: 6e20 f95c 7600 |0249: invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41ce5c: 1a04 9800 |024c: const-string v4, " (" // string@0098 │ │ +41ce60: 6e20 f95c 4600 |024e: invoke-virtual {v6, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41ce66: 1214 |0251: const/4 v4, #int 1 // #1 │ │ +41ce68: 4603 0304 |0252: aget-object v3, v3, v4 │ │ +41ce6c: 6e20 f95c 3600 |0254: invoke-virtual {v6, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41ce72: 1a03 e403 |0257: const-string v3, ")" // string@03e4 │ │ +41ce76: 6e20 f95c 3600 |0259: invoke-virtual {v6, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41ce7c: 6e10 035d 0600 |025c: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41ce82: 0c03 |025f: move-result-object v3 │ │ +41ce84: 5b53 a85d |0260: iput-object v3, v5, Lorg/purple/smoke/SteamElement;.m_destination:Ljava/lang/String; // field@5da8 │ │ +41ce88: 080a 1000 |0262: move-object/from16 v10, v16 │ │ +41ce8c: 1303 2e00 |0264: const/16 v3, #int 46 // #2e │ │ +41ce90: 6e20 c05c 3a00 |0266: invoke-virtual {v10, v3}, Ljava/lang/String;.indexOf:(I)I // method@5cc0 │ │ +41ce96: 0a03 |0269: move-result v3 │ │ +41ce98: 3903 2500 |026a: if-nez v3, 028f // +0025 │ │ +41ce9c: 2203 f10a |026c: new-instance v3, Ljava/lang/StringBuilder; // type@0af1 │ │ +41cea0: 7010 ee5c 0300 |026e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41cea6: 1a04 0e4b |0271: const-string v4, "Smoke_" // string@4b0e │ │ +41ceaa: 6e20 f95c 4300 |0273: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41ceb0: 1304 2000 |0276: const/16 v4, #int 32 // #20 │ │ +41ceb4: 7110 a4b5 0400 |0278: invoke-static {v4}, Lorg/purple/smoke/Cryptography;.randomBytes:(I)[B // method@b5a4 │ │ +41ceba: 0c04 |027b: move-result-object v4 │ │ +41cebc: 7110 d6b7 0400 |027c: invoke-static {v4}, Lorg/purple/smoke/Miscellaneous;.byteArrayAsHexString:([B)Ljava/lang/String; // method@b7d6 │ │ +41cec2: 0c04 |027f: move-result-object v4 │ │ +41cec4: 6e20 f95c 4300 |0280: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41ceca: 080a 1100 |0283: move-object/from16 v10, v17 │ │ +41cece: 6e20 f95c a300 |0285: invoke-virtual {v3, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41ced4: 6e10 035d 0300 |0288: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41ceda: 0c03 |028b: move-result-object v3 │ │ +41cedc: 5b53 aa5d |028c: iput-object v3, v5, Lorg/purple/smoke/SteamElement;.m_displayFileName:Ljava/lang/String; // field@5daa │ │ +41cee0: 2803 |028e: goto 0291 // +0003 │ │ +41cee2: 5b5a aa5d |028f: iput-object v10, v5, Lorg/purple/smoke/SteamElement;.m_displayFileName:Ljava/lang/String; // field@5daa │ │ +41cee6: 5b5d ac5d |0291: iput-object v13, v5, Lorg/purple/smoke/SteamElement;.m_ephemeralPublicKey:[B // field@5dac │ │ +41ceea: 5b5e ad5d |0293: iput-object v14, v5, Lorg/purple/smoke/SteamElement;.m_fileDigest:[B // field@5dad │ │ +41ceee: 5b5b ae5d |0295: iput-object v11, v5, Lorg/purple/smoke/SteamElement;.m_fileIdentity:[B // field@5dae │ │ +41cef2: 5453 aa5d |0297: iget-object v3, v5, Lorg/purple/smoke/SteamElement;.m_displayFileName:Ljava/lang/String; // field@5daa │ │ +41cef6: 5b53 af5d |0299: iput-object v3, v5, Lorg/purple/smoke/SteamElement;.m_fileName:Ljava/lang/String; // field@5daf │ │ +41cefa: 0508 1200 |029b: move-wide/from16 v8, v18 │ │ +41cefe: 5a58 b05d |029d: iput-wide v8, v5, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ +41cf02: 1223 |029f: const/4 v3, #int 2 // #2 │ │ +41cf04: 2333 811b |02a0: new-array v3, v3, [[B // type@1b81 │ │ +41cf08: 7100 66b5 0000 |02a2: invoke-static {}, Lorg/purple/smoke/Cryptography;.aes256KeyBytes:()[B // method@b566 │ │ +41cf0e: 0c04 |02a5: move-result-object v4 │ │ +41cf10: 1206 |02a6: const/4 v6, #int 0 // #0 │ │ +41cf12: 4d04 0306 |02a7: aput-object v4, v3, v6 │ │ +41cf16: 7100 b3b5 0000 |02a9: invoke-static {}, Lorg/purple/smoke/Cryptography;.sha512KeyBytes:()[B // method@b5b3 │ │ +41cf1c: 0c04 |02ac: move-result-object v4 │ │ +41cf1e: 1217 |02ad: const/4 v7, #int 1 // #1 │ │ +41cf20: 4d04 0307 |02ae: aput-object v4, v3, v7 │ │ +41cf24: 7110 e2b7 0300 |02b0: invoke-static {v3}, Lorg/purple/smoke/Miscellaneous;.joinByteArrays:([[B)[B // method@b7e2 │ │ +41cf2a: 0c03 |02b3: move-result-object v3 │ │ +41cf2c: 5b53 b15d |02b4: iput-object v3, v5, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ +41cf30: 4803 0f06 |02b6: aget-byte v3, v15, v6 │ │ +41cf34: 6204 ca51 |02b8: sget-object v4, Lorg/purple/smoke/Cryptography;.MESSAGES_KEY_TYPES:[B // field@51ca │ │ +41cf38: 4804 0406 |02ba: aget-byte v4, v4, v6 │ │ +41cf3c: 3343 0500 |02bc: if-ne v3, v4, 02c1 // +0005 │ │ +41cf40: 1a03 c93e |02be: const-string v3, "McEliece" // string@3ec9 │ │ +41cf44: 2803 |02c0: goto 02c3 // +0003 │ │ +41cf46: 1a03 6945 |02c1: const-string v3, "RSA" // string@4569 │ │ +41cf4a: 5b53 b25d |02c3: iput-object v3, v5, Lorg/purple/smoke/SteamElement;.m_keyType:Ljava/lang/String; // field@5db2 │ │ +41cf4e: 1603 0000 |02c5: const-wide/16 v3, #int 0 // #0 │ │ +41cf52: 5a53 b55d |02c7: iput-wide v3, v5, Lorg/purple/smoke/SteamElement;.m_readInterval:J // field@5db5 │ │ +41cf56: 1a03 af60 |02c9: const-string v3, "created private-key pair" // string@60af │ │ +41cf5a: 5b53 b85d |02cb: iput-object v3, v5, Lorg/purple/smoke/SteamElement;.m_status:Ljava/lang/String; // field@5db8 │ │ +41cf5e: 6e30 32b6 2105 |02cd: invoke-virtual {v1, v2, v5}, Lorg/purple/smoke/Database;.writeSteam:(Lorg/purple/smoke/Cryptography;Lorg/purple/smoke/SteamElement;)V // method@b632 │ │ +41cf64: 7020 08ba 5000 |02d0: invoke-direct {v0, v5}, Lorg/purple/smoke/SteamKeyExchange;.shareB:(Lorg/purple/smoke/SteamElement;)V // method@ba08 │ │ +41cf6a: 2832 |02d3: goto 0305 // +0032 │ │ +41cf6c: 6201 c95d |02d4: sget-object v1, Lorg/purple/smoke/SteamKeyExchange;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dc9 │ │ +41cf70: 6202 c85d |02d6: sget-object v2, Lorg/purple/smoke/SteamKeyExchange;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dc8 │ │ +41cf74: 6e30 1fb6 210b |02d8: invoke-virtual {v1, v2, v11}, Lorg/purple/smoke/Database;.steamOidFromFileIdentity:(Lorg/purple/smoke/Cryptography;[B)I // method@b61f │ │ +41cf7a: 0a03 |02db: move-result v3 │ │ +41cf7c: d804 03ff |02dc: add-int/lit8 v4, v3, #int -1 // #ff │ │ +41cf80: 12f5 |02de: const/4 v5, #int -1 // #ff │ │ +41cf82: 6e40 13b6 2145 |02df: invoke-virtual {v1, v2, v5, v4}, Lorg/purple/smoke/Database;.readSteam:(Lorg/purple/smoke/Cryptography;II)Lorg/purple/smoke/SteamElement; // method@b613 │ │ +41cf88: 0c04 |02e2: move-result-object v4 │ │ +41cf8a: 3904 0300 |02e3: if-nez v4, 02e6 // +0003 │ │ +41cf8e: 0e00 |02e5: return-void │ │ +41cf90: 5444 ab5d |02e6: iget-object v4, v4, Lorg/purple/smoke/SteamElement;.m_ephemeralPrivateKey:[B // field@5dab │ │ +41cf94: 7110 9eb5 0400 |02e8: invoke-static {v4}, Lorg/purple/smoke/Cryptography;.privateKeyFromBytes:([B)Ljava/security/PrivateKey; // method@b59e │ │ +41cf9a: 0c04 |02eb: move-result-object v4 │ │ +41cf9c: 3904 0300 |02ec: if-nez v4, 02ef // +0003 │ │ +41cfa0: 0e00 |02ee: return-void │ │ +41cfa2: 7120 98b5 d400 |02ef: invoke-static {v4, v13}, Lorg/purple/smoke/Cryptography;.pkiDecrypt:(Ljava/security/PrivateKey;[B)[B // method@b598 │ │ +41cfa8: 0c08 |02f2: move-result-object v8 │ │ +41cfaa: 3908 0300 |02f3: if-nez v8, 02f6 // +0003 │ │ +41cfae: 0e00 |02f5: return-void │ │ +41cfb0: 1209 |02f6: const/4 v9, #int 0 // #0 │ │ +41cfb2: 120a |02f7: const/4 v10, #int 0 // #0 │ │ +41cfb4: 0716 |02f8: move-object v6, v1 │ │ +41cfb6: 0727 |02f9: move-object v7, v2 │ │ +41cfb8: 013b |02fa: move v11, v3 │ │ +41cfba: 7406 35b6 0600 |02fb: invoke-virtual/range {v6, v7, v8, v9, v10, v11}, Lorg/purple/smoke/Database;.writeSteamKeys:(Lorg/purple/smoke/Cryptography;[B[B[BI)Z // method@b635 │ │ +41cfc0: 1a04 3494 |02fe: const-string v4, "received private-key pair" // string@9434 │ │ +41cfc4: 0805 1900 |0300: move-object/from16 v5, v25 │ │ +41cfc8: 6e53 38b6 2154 |0302: invoke-virtual {v1, v2, v4, v5, v3}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;I)V // method@b638 │ │ +41cfce: 0e00 |0305: return-void │ │ +41cfd0: 0001 0900 0000 0000 9b01 0000 8801 ... |0306: packed-switch-data (22 units) │ │ catches : (none) │ │ positions : │ │ 0x0008 line=114 │ │ 0x0013 line=120 │ │ 0x0015 line=122 │ │ 0x001b line=124 │ │ 0x0026 line=126 │ │ @@ -735793,53 +735792,53 @@ │ │ type : '([B[B)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 68 16-bit code units │ │ -41c838: |[41c838] org.purple.smoke.SteamKeyExchange.append:([B[B)V │ │ -41c848: 3803 4300 |0000: if-eqz v3, 0043 // +0043 │ │ -41c84c: 2130 |0002: array-length v0, v3 │ │ -41c84e: 3800 4000 |0003: if-eqz v0, 0043 // +0040 │ │ -41c852: 3804 3e00 |0005: if-eqz v4, 0043 // +003e │ │ -41c856: 2140 |0007: array-length v0, v4 │ │ -41c858: 3900 0300 |0008: if-nez v0, 000b // +0003 │ │ -41c85c: 2839 |000a: goto 0043 // +0039 │ │ -41c85e: 5420 c45d |000b: iget-object v0, v2, Lorg/purple/smoke/SteamKeyExchange;.m_pairsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5dc4 │ │ -41c862: 6e10 eb60 0000 |000d: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41c868: 0c00 |0010: move-result-object v0 │ │ -41c86a: 6e10 e760 0000 |0011: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ -41c870: 5420 c35d |0014: iget-object v0, v2, Lorg/purple/smoke/SteamKeyExchange;.m_pairs:Ljava/util/ArrayList; // field@5dc3 │ │ -41c874: 2201 9d1a |0016: new-instance v1, Lorg/purple/smoke/SteamKeyExchange$Pair; // type@1a9d │ │ -41c878: 7030 fdb9 3104 |0018: invoke-direct {v1, v3, v4}, Lorg/purple/smoke/SteamKeyExchange$Pair;.:([B[B)V // method@b9fd │ │ -41c87e: 6e20 9b5f 1000 |001b: invoke-virtual {v0, v1}, Ljava/util/ArrayList;.add:(Ljava/lang/Object;)Z // method@5f9b │ │ -41c884: 5423 c45d |001e: iget-object v3, v2, Lorg/purple/smoke/SteamKeyExchange;.m_pairsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5dc4 │ │ -41c888: 6e10 eb60 0300 |0020: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41c88e: 0c03 |0023: move-result-object v3 │ │ -41c890: 6e10 e860 0300 |0024: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -41c896: 280f |0027: goto 0036 // +000f │ │ -41c898: 0d03 |0028: move-exception v3 │ │ -41c89a: 5424 c45d |0029: iget-object v4, v2, Lorg/purple/smoke/SteamKeyExchange;.m_pairsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5dc4 │ │ -41c89e: 6e10 eb60 0400 |002b: invoke-virtual {v4}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ -41c8a4: 0c04 |002e: move-result-object v4 │ │ -41c8a6: 6e10 e860 0400 |002f: invoke-virtual {v4}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ -41c8ac: 2703 |0032: throw v3 │ │ -41c8ae: 5423 c45d |0033: iget-object v3, v2, Lorg/purple/smoke/SteamKeyExchange;.m_pairsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5dc4 │ │ -41c8b2: 28eb |0035: goto 0020 // -0015 │ │ -41c8b4: 5423 c65d |0036: iget-object v3, v2, Lorg/purple/smoke/SteamKeyExchange;.m_parseSchedulerMutex:Ljava/lang/Object; // field@5dc6 │ │ -41c8b8: 1d03 |0038: monitor-enter v3 │ │ -41c8ba: 5424 c65d |0039: iget-object v4, v2, Lorg/purple/smoke/SteamKeyExchange;.m_parseSchedulerMutex:Ljava/lang/Object; // field@5dc6 │ │ -41c8be: 6e10 945c 0400 |003b: invoke-virtual {v4}, Ljava/lang/Object;.notify:()V // method@5c94 │ │ -41c8c4: 1e03 |003e: monitor-exit v3 │ │ -41c8c6: 2804 |003f: goto 0043 // +0004 │ │ -41c8c8: 0d04 |0040: move-exception v4 │ │ -41c8ca: 1e03 |0041: monitor-exit v3 │ │ -41c8cc: 2704 |0042: throw v4 │ │ -41c8ce: 0e00 |0043: return-void │ │ +41c834: |[41c834] org.purple.smoke.SteamKeyExchange.append:([B[B)V │ │ +41c844: 3803 4300 |0000: if-eqz v3, 0043 // +0043 │ │ +41c848: 2130 |0002: array-length v0, v3 │ │ +41c84a: 3800 4000 |0003: if-eqz v0, 0043 // +0040 │ │ +41c84e: 3804 3e00 |0005: if-eqz v4, 0043 // +003e │ │ +41c852: 2140 |0007: array-length v0, v4 │ │ +41c854: 3900 0300 |0008: if-nez v0, 000b // +0003 │ │ +41c858: 2839 |000a: goto 0043 // +0039 │ │ +41c85a: 5420 c45d |000b: iget-object v0, v2, Lorg/purple/smoke/SteamKeyExchange;.m_pairsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5dc4 │ │ +41c85e: 6e10 eb60 0000 |000d: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41c864: 0c00 |0010: move-result-object v0 │ │ +41c866: 6e10 e760 0000 |0011: invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.lock:()V // method@60e7 │ │ +41c86c: 5420 c35d |0014: iget-object v0, v2, Lorg/purple/smoke/SteamKeyExchange;.m_pairs:Ljava/util/ArrayList; // field@5dc3 │ │ +41c870: 2201 9d1a |0016: new-instance v1, Lorg/purple/smoke/SteamKeyExchange$Pair; // type@1a9d │ │ +41c874: 7030 fdb9 3104 |0018: invoke-direct {v1, v3, v4}, Lorg/purple/smoke/SteamKeyExchange$Pair;.:([B[B)V // method@b9fd │ │ +41c87a: 6e20 9b5f 1000 |001b: invoke-virtual {v0, v1}, Ljava/util/ArrayList;.add:(Ljava/lang/Object;)Z // method@5f9b │ │ +41c880: 5423 c45d |001e: iget-object v3, v2, Lorg/purple/smoke/SteamKeyExchange;.m_pairsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5dc4 │ │ +41c884: 6e10 eb60 0300 |0020: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41c88a: 0c03 |0023: move-result-object v3 │ │ +41c88c: 6e10 e860 0300 |0024: invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +41c892: 280f |0027: goto 0036 // +000f │ │ +41c894: 0d03 |0028: move-exception v3 │ │ +41c896: 5424 c45d |0029: iget-object v4, v2, Lorg/purple/smoke/SteamKeyExchange;.m_pairsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5dc4 │ │ +41c89a: 6e10 eb60 0400 |002b: invoke-virtual {v4}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; // method@60eb │ │ +41c8a0: 0c04 |002e: move-result-object v4 │ │ +41c8a2: 6e10 e860 0400 |002f: invoke-virtual {v4}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;.unlock:()V // method@60e8 │ │ +41c8a8: 2703 |0032: throw v3 │ │ +41c8aa: 5423 c45d |0033: iget-object v3, v2, Lorg/purple/smoke/SteamKeyExchange;.m_pairsMutex:Ljava/util/concurrent/locks/ReentrantReadWriteLock; // field@5dc4 │ │ +41c8ae: 28eb |0035: goto 0020 // -0015 │ │ +41c8b0: 5423 c65d |0036: iget-object v3, v2, Lorg/purple/smoke/SteamKeyExchange;.m_parseSchedulerMutex:Ljava/lang/Object; // field@5dc6 │ │ +41c8b4: 1d03 |0038: monitor-enter v3 │ │ +41c8b6: 5424 c65d |0039: iget-object v4, v2, Lorg/purple/smoke/SteamKeyExchange;.m_parseSchedulerMutex:Ljava/lang/Object; // field@5dc6 │ │ +41c8ba: 6e10 945c 0400 |003b: invoke-virtual {v4}, Ljava/lang/Object;.notify:()V // method@5c94 │ │ +41c8c0: 1e03 |003e: monitor-exit v3 │ │ +41c8c2: 2804 |003f: goto 0043 // +0004 │ │ +41c8c4: 0d04 |0040: move-exception v4 │ │ +41c8c6: 1e03 |0041: monitor-exit v3 │ │ +41c8c8: 2704 |0042: throw v4 │ │ +41c8ca: 0e00 |0043: return-void │ │ catches : 5 │ │ 0x000b - 0x0014 │ │ Ljava/lang/Exception; -> 0x0043 │ │ 0x0014 - 0x001e │ │ Ljava/lang/Exception; -> 0x0033 │ │ -> 0x0028 │ │ 0x001e - 0x0039 │ │ @@ -735941,22 +735940,22 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 13 16-bit code units │ │ -41e370: |[41e370] org.purple.smoke.SteamReader.:()V │ │ -41e380: 7100 88b5 0000 |0000: invoke-static {}, Lorg/purple/smoke/Cryptography;.getInstance:()Lorg/purple/smoke/Cryptography; // method@b588 │ │ -41e386: 0c00 |0003: move-result-object v0 │ │ -41e388: 6900 d55d |0004: sput-object v0, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ -41e38c: 7100 e8b5 0000 |0006: invoke-static {}, Lorg/purple/smoke/Database;.getInstance:()Lorg/purple/smoke/Database; // method@b5e8 │ │ -41e392: 0c00 |0009: move-result-object v0 │ │ -41e394: 6900 d65d |000a: sput-object v0, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ -41e398: 0e00 |000c: return-void │ │ +41e36c: |[41e36c] org.purple.smoke.SteamReader.:()V │ │ +41e37c: 7100 88b5 0000 |0000: invoke-static {}, Lorg/purple/smoke/Cryptography;.getInstance:()Lorg/purple/smoke/Cryptography; // method@b588 │ │ +41e382: 0c00 |0003: move-result-object v0 │ │ +41e384: 6900 d55d |0004: sput-object v0, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ +41e388: 7100 e8b5 0000 |0006: invoke-static {}, Lorg/purple/smoke/Database;.getInstance:()Lorg/purple/smoke/Database; // method@b5e8 │ │ +41e38e: 0c00 |0009: move-result-object v0 │ │ +41e390: 6900 d65d |000a: sput-object v0, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ +41e394: 0e00 |000c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=53 │ │ 0x0006 line=54 │ │ locals : │ │ │ │ #1 : (in Lorg/purple/smoke/SteamReader;) │ │ @@ -735964,106 +735963,106 @@ │ │ type : '(Ljava/lang/String;IJ)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 12 │ │ ins : 5 │ │ outs : 4 │ │ insns size : 183 16-bit code units │ │ -41e39c: |[41e39c] org.purple.smoke.SteamReader.:(Ljava/lang/String;IJ)V │ │ -41e3ac: 7010 8f5c 0700 |0000: invoke-direct {v7}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41e3b2: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -41e3b4: 5b70 cb5d |0004: iput-object v0, v7, Lorg/purple/smoke/SteamReader;.m_assetFileDescriptor:Landroid/content/res/AssetFileDescriptor; // field@5dcb │ │ -41e3b8: 5b70 cc5d |0006: iput-object v0, v7, Lorg/purple/smoke/SteamReader;.m_canceled:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5dcc │ │ -41e3bc: 5b70 cd5d |0008: iput-object v0, v7, Lorg/purple/smoke/SteamReader;.m_completed:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5dcd │ │ -41e3c0: 5b70 d05d |000a: iput-object v0, v7, Lorg/purple/smoke/SteamReader;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5dd0 │ │ -41e3c4: 5b70 d15d |000c: iput-object v0, v7, Lorg/purple/smoke/SteamReader;.m_rate:Ljava/util/concurrent/atomic/AtomicLong; // field@5dd1 │ │ -41e3c8: 5b70 d25d |000e: iput-object v0, v7, Lorg/purple/smoke/SteamReader;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5dd2 │ │ -41e3cc: 5b70 d45d |0010: iput-object v0, v7, Lorg/purple/smoke/SteamReader;.m_time0:Ljava/util/concurrent/atomic/AtomicLong; // field@5dd4 │ │ -41e3d0: 5b70 ce5d |0012: iput-object v0, v7, Lorg/purple/smoke/SteamReader;.m_fileInputStream:Ljava/io/FileInputStream; // field@5dce │ │ -41e3d4: 5b70 d35d |0014: iput-object v0, v7, Lorg/purple/smoke/SteamReader;.m_reader:Ljava/util/concurrent/ScheduledExecutorService; // field@5dd3 │ │ -41e3d8: 2201 e60a |0016: new-instance v1, Ljava/lang/Object; // type@0ae6 │ │ -41e3dc: 7010 8f5c 0100 |0018: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41e3e2: 5b71 cf5d |001b: iput-object v1, v7, Lorg/purple/smoke/SteamReader;.m_fileInputStreamMutex:Ljava/lang/Object; // field@5dcf │ │ -41e3e6: 1301 2e00 |001d: const/16 v1, #int 46 // #2e │ │ -41e3ea: 1602 0000 |001f: const-wide/16 v2, #int 0 // #0 │ │ -41e3ee: 1204 |0021: const/4 v4, #int 0 // #0 │ │ -41e3f0: 6e20 c45c 1800 |0022: invoke-virtual {v8, v1}, Ljava/lang/String;.lastIndexOf:(I)I // method@5cc4 │ │ -41e3f6: 0a05 |0025: move-result v5 │ │ -41e3f8: 3d05 2d00 |0026: if-lez v5, 0053 // +002d │ │ -41e3fc: 1a05 3d5f |0028: const-string v5, "content://" // string@5f3d │ │ -41e400: 6e20 ca5c 5800 |002a: invoke-virtual {v8, v5}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@5cca │ │ -41e406: 0a05 |002d: move-result v5 │ │ -41e408: 3805 2500 |002e: if-eqz v5, 0053 // +0025 │ │ -41e40c: 6e20 c45c 1800 |0030: invoke-virtual {v8, v1}, Ljava/lang/String;.lastIndexOf:(I)I // method@5cc4 │ │ -41e412: 0a01 |0033: move-result v1 │ │ -41e414: 6e30 cd5c 4801 |0034: invoke-virtual {v8, v4, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@5ccd │ │ -41e41a: 0c08 |0037: move-result-object v8 │ │ -41e41c: 7110 ac04 0800 |0038: invoke-static {v8}, Landroid/net/Uri;.parse:(Ljava/lang/String;)Landroid/net/Uri; // method@04ac │ │ -41e422: 0c08 |003b: move-result-object v8 │ │ -41e424: 7100 1db9 0000 |003c: invoke-static {}, Lorg/purple/smoke/Smoke;.getApplication:()Lorg/purple/smoke/Smoke; // method@b91d │ │ -41e42a: 0c01 |003f: move-result-object v1 │ │ -41e42c: 6e10 1eb9 0100 |0040: invoke-virtual {v1}, Lorg/purple/smoke/Smoke;.getContentResolver:()Landroid/content/ContentResolver; // method@b91e │ │ -41e432: 0c01 |0043: move-result-object v1 │ │ -41e434: 1a05 b793 |0044: const-string v5, "r" // string@93b7 │ │ -41e438: 6e30 5801 8105 |0046: invoke-virtual {v1, v8, v5}, Landroid/content/ContentResolver;.openAssetFileDescriptor:(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor; // method@0158 │ │ -41e43e: 0c08 |0049: move-result-object v8 │ │ -41e440: 5b78 cb5d |004a: iput-object v8, v7, Lorg/purple/smoke/SteamReader;.m_assetFileDescriptor:Landroid/content/res/AssetFileDescriptor; // field@5dcb │ │ -41e444: 6e10 f101 0800 |004c: invoke-virtual {v8}, Landroid/content/res/AssetFileDescriptor;.createInputStream:()Ljava/io/FileInputStream; // method@01f1 │ │ -41e44a: 0c08 |004f: move-result-object v8 │ │ -41e44c: 5b78 ce5d |0050: iput-object v8, v7, Lorg/purple/smoke/SteamReader;.m_fileInputStream:Ljava/io/FileInputStream; // field@5dce │ │ -41e450: 2808 |0052: goto 005a // +0008 │ │ -41e452: 2201 ac0a |0053: new-instance v1, Ljava/io/FileInputStream; // type@0aac │ │ -41e456: 7020 a55b 8100 |0055: invoke-direct {v1, v8}, Ljava/io/FileInputStream;.:(Ljava/lang/String;)V // method@5ba5 │ │ -41e45c: 5b71 ce5d |0058: iput-object v1, v7, Lorg/purple/smoke/SteamReader;.m_fileInputStream:Ljava/io/FileInputStream; // field@5dce │ │ -41e460: 5478 ce5d |005a: iget-object v8, v7, Lorg/purple/smoke/SteamReader;.m_fileInputStream:Ljava/io/FileInputStream; // field@5dce │ │ -41e464: 6e10 a85b 0800 |005c: invoke-virtual {v8}, Ljava/io/FileInputStream;.getChannel:()Ljava/nio/channels/FileChannel; // method@5ba8 │ │ -41e46a: 0c08 |005f: move-result-object v8 │ │ -41e46c: 7140 7f5c 32ba |0060: invoke-static {v2, v3, v10, v11}, Ljava/lang/Math;.max:(JJ)J // method@5c7f │ │ -41e472: 0b05 |0063: move-result-wide v5 │ │ -41e474: 6e30 cb5d 5806 |0064: invoke-virtual {v8, v5, v6}, Ljava/nio/channels/FileChannel;.position:(J)Ljava/nio/channels/FileChannel; // method@5dcb │ │ -41e47a: 281d |0067: goto 0084 // +001d │ │ -41e47c: 5478 cb5d |0068: iget-object v8, v7, Lorg/purple/smoke/SteamReader;.m_assetFileDescriptor:Landroid/content/res/AssetFileDescriptor; // field@5dcb │ │ -41e480: 3808 0a00 |006a: if-eqz v8, 0074 // +000a │ │ -41e484: 6e10 f001 0800 |006c: invoke-virtual {v8}, Landroid/content/res/AssetFileDescriptor;.close:()V // method@01f0 │ │ -41e48a: 2805 |006f: goto 0074 // +0005 │ │ -41e48c: 0d08 |0070: move-exception v8 │ │ -41e48e: 5b70 cb5d |0071: iput-object v0, v7, Lorg/purple/smoke/SteamReader;.m_assetFileDescriptor:Landroid/content/res/AssetFileDescriptor; // field@5dcb │ │ -41e492: 2708 |0073: throw v8 │ │ -41e494: 5b70 cb5d |0074: iput-object v0, v7, Lorg/purple/smoke/SteamReader;.m_assetFileDescriptor:Landroid/content/res/AssetFileDescriptor; // field@5dcb │ │ -41e498: 5478 ce5d |0076: iget-object v8, v7, Lorg/purple/smoke/SteamReader;.m_fileInputStream:Ljava/io/FileInputStream; // field@5dce │ │ -41e49c: 3808 0a00 |0078: if-eqz v8, 0082 // +000a │ │ -41e4a0: 6e10 a75b 0800 |007a: invoke-virtual {v8}, Ljava/io/FileInputStream;.close:()V // method@5ba7 │ │ -41e4a6: 2805 |007d: goto 0082 // +0005 │ │ -41e4a8: 0d08 |007e: move-exception v8 │ │ -41e4aa: 5b70 ce5d |007f: iput-object v0, v7, Lorg/purple/smoke/SteamReader;.m_fileInputStream:Ljava/io/FileInputStream; // field@5dce │ │ -41e4ae: 2708 |0081: throw v8 │ │ -41e4b0: 5b70 ce5d |0082: iput-object v0, v7, Lorg/purple/smoke/SteamReader;.m_fileInputStream:Ljava/io/FileInputStream; // field@5dce │ │ -41e4b4: 2208 e50b |0084: new-instance v8, Ljava/util/concurrent/atomic/AtomicBoolean; // type@0be5 │ │ -41e4b8: 7020 d460 4800 |0086: invoke-direct {v8, v4}, Ljava/util/concurrent/atomic/AtomicBoolean;.:(Z)V // method@60d4 │ │ -41e4be: 5b78 cc5d |0089: iput-object v8, v7, Lorg/purple/smoke/SteamReader;.m_canceled:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5dcc │ │ -41e4c2: 2208 e50b |008b: new-instance v8, Ljava/util/concurrent/atomic/AtomicBoolean; // type@0be5 │ │ -41e4c6: 7020 d460 4800 |008d: invoke-direct {v8, v4}, Ljava/util/concurrent/atomic/AtomicBoolean;.:(Z)V // method@60d4 │ │ -41e4cc: 5b78 cd5d |0090: iput-object v8, v7, Lorg/purple/smoke/SteamReader;.m_completed:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5dcd │ │ -41e4d0: 2208 e60b |0092: new-instance v8, Ljava/util/concurrent/atomic/AtomicInteger; // type@0be6 │ │ -41e4d4: 7020 d960 9800 |0094: invoke-direct {v8, v9}, Ljava/util/concurrent/atomic/AtomicInteger;.:(I)V // method@60d9 │ │ -41e4da: 5b78 d05d |0097: iput-object v8, v7, Lorg/purple/smoke/SteamReader;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5dd0 │ │ -41e4de: 2208 e70b |0099: new-instance v8, Ljava/util/concurrent/atomic/AtomicLong; // type@0be7 │ │ -41e4e2: 7030 dd60 2803 |009b: invoke-direct {v8, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.:(J)V // method@60dd │ │ -41e4e8: 5b78 d15d |009e: iput-object v8, v7, Lorg/purple/smoke/SteamReader;.m_rate:Ljava/util/concurrent/atomic/AtomicLong; // field@5dd1 │ │ -41e4ec: 2208 e70b |00a0: new-instance v8, Ljava/util/concurrent/atomic/AtomicLong; // type@0be7 │ │ -41e4f0: 7140 7f5c 32ba |00a2: invoke-static {v2, v3, v10, v11}, Ljava/lang/Math;.max:(JJ)J // method@5c7f │ │ -41e4f6: 0b09 |00a5: move-result-wide v9 │ │ -41e4f8: 7030 dd60 980a |00a6: invoke-direct {v8, v9, v10}, Ljava/util/concurrent/atomic/AtomicLong;.:(J)V // method@60dd │ │ -41e4fe: 5b78 d25d |00a9: iput-object v8, v7, Lorg/purple/smoke/SteamReader;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5dd2 │ │ -41e502: 2208 e70b |00ab: new-instance v8, Ljava/util/concurrent/atomic/AtomicLong; // type@0be7 │ │ -41e506: 7100 065d 0000 |00ad: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ -41e50c: 0b09 |00b0: move-result-wide v9 │ │ -41e50e: 7030 dd60 980a |00b1: invoke-direct {v8, v9, v10}, Ljava/util/concurrent/atomic/AtomicLong;.:(J)V // method@60dd │ │ -41e514: 5b78 d45d |00b4: iput-object v8, v7, Lorg/purple/smoke/SteamReader;.m_time0:Ljava/util/concurrent/atomic/AtomicLong; // field@5dd4 │ │ -41e518: 0e00 |00b6: return-void │ │ +41e398: |[41e398] org.purple.smoke.SteamReader.:(Ljava/lang/String;IJ)V │ │ +41e3a8: 7010 8f5c 0700 |0000: invoke-direct {v7}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41e3ae: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +41e3b0: 5b70 cb5d |0004: iput-object v0, v7, Lorg/purple/smoke/SteamReader;.m_assetFileDescriptor:Landroid/content/res/AssetFileDescriptor; // field@5dcb │ │ +41e3b4: 5b70 cc5d |0006: iput-object v0, v7, Lorg/purple/smoke/SteamReader;.m_canceled:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5dcc │ │ +41e3b8: 5b70 cd5d |0008: iput-object v0, v7, Lorg/purple/smoke/SteamReader;.m_completed:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5dcd │ │ +41e3bc: 5b70 d05d |000a: iput-object v0, v7, Lorg/purple/smoke/SteamReader;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5dd0 │ │ +41e3c0: 5b70 d15d |000c: iput-object v0, v7, Lorg/purple/smoke/SteamReader;.m_rate:Ljava/util/concurrent/atomic/AtomicLong; // field@5dd1 │ │ +41e3c4: 5b70 d25d |000e: iput-object v0, v7, Lorg/purple/smoke/SteamReader;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5dd2 │ │ +41e3c8: 5b70 d45d |0010: iput-object v0, v7, Lorg/purple/smoke/SteamReader;.m_time0:Ljava/util/concurrent/atomic/AtomicLong; // field@5dd4 │ │ +41e3cc: 5b70 ce5d |0012: iput-object v0, v7, Lorg/purple/smoke/SteamReader;.m_fileInputStream:Ljava/io/FileInputStream; // field@5dce │ │ +41e3d0: 5b70 d35d |0014: iput-object v0, v7, Lorg/purple/smoke/SteamReader;.m_reader:Ljava/util/concurrent/ScheduledExecutorService; // field@5dd3 │ │ +41e3d4: 2201 e60a |0016: new-instance v1, Ljava/lang/Object; // type@0ae6 │ │ +41e3d8: 7010 8f5c 0100 |0018: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41e3de: 5b71 cf5d |001b: iput-object v1, v7, Lorg/purple/smoke/SteamReader;.m_fileInputStreamMutex:Ljava/lang/Object; // field@5dcf │ │ +41e3e2: 1301 2e00 |001d: const/16 v1, #int 46 // #2e │ │ +41e3e6: 1602 0000 |001f: const-wide/16 v2, #int 0 // #0 │ │ +41e3ea: 1204 |0021: const/4 v4, #int 0 // #0 │ │ +41e3ec: 6e20 c45c 1800 |0022: invoke-virtual {v8, v1}, Ljava/lang/String;.lastIndexOf:(I)I // method@5cc4 │ │ +41e3f2: 0a05 |0025: move-result v5 │ │ +41e3f4: 3d05 2d00 |0026: if-lez v5, 0053 // +002d │ │ +41e3f8: 1a05 3d5f |0028: const-string v5, "content://" // string@5f3d │ │ +41e3fc: 6e20 ca5c 5800 |002a: invoke-virtual {v8, v5}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@5cca │ │ +41e402: 0a05 |002d: move-result v5 │ │ +41e404: 3805 2500 |002e: if-eqz v5, 0053 // +0025 │ │ +41e408: 6e20 c45c 1800 |0030: invoke-virtual {v8, v1}, Ljava/lang/String;.lastIndexOf:(I)I // method@5cc4 │ │ +41e40e: 0a01 |0033: move-result v1 │ │ +41e410: 6e30 cd5c 4801 |0034: invoke-virtual {v8, v4, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@5ccd │ │ +41e416: 0c08 |0037: move-result-object v8 │ │ +41e418: 7110 ac04 0800 |0038: invoke-static {v8}, Landroid/net/Uri;.parse:(Ljava/lang/String;)Landroid/net/Uri; // method@04ac │ │ +41e41e: 0c08 |003b: move-result-object v8 │ │ +41e420: 7100 1db9 0000 |003c: invoke-static {}, Lorg/purple/smoke/Smoke;.getApplication:()Lorg/purple/smoke/Smoke; // method@b91d │ │ +41e426: 0c01 |003f: move-result-object v1 │ │ +41e428: 6e10 1eb9 0100 |0040: invoke-virtual {v1}, Lorg/purple/smoke/Smoke;.getContentResolver:()Landroid/content/ContentResolver; // method@b91e │ │ +41e42e: 0c01 |0043: move-result-object v1 │ │ +41e430: 1a05 b793 |0044: const-string v5, "r" // string@93b7 │ │ +41e434: 6e30 5801 8105 |0046: invoke-virtual {v1, v8, v5}, Landroid/content/ContentResolver;.openAssetFileDescriptor:(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor; // method@0158 │ │ +41e43a: 0c08 |0049: move-result-object v8 │ │ +41e43c: 5b78 cb5d |004a: iput-object v8, v7, Lorg/purple/smoke/SteamReader;.m_assetFileDescriptor:Landroid/content/res/AssetFileDescriptor; // field@5dcb │ │ +41e440: 6e10 f101 0800 |004c: invoke-virtual {v8}, Landroid/content/res/AssetFileDescriptor;.createInputStream:()Ljava/io/FileInputStream; // method@01f1 │ │ +41e446: 0c08 |004f: move-result-object v8 │ │ +41e448: 5b78 ce5d |0050: iput-object v8, v7, Lorg/purple/smoke/SteamReader;.m_fileInputStream:Ljava/io/FileInputStream; // field@5dce │ │ +41e44c: 2808 |0052: goto 005a // +0008 │ │ +41e44e: 2201 ac0a |0053: new-instance v1, Ljava/io/FileInputStream; // type@0aac │ │ +41e452: 7020 a55b 8100 |0055: invoke-direct {v1, v8}, Ljava/io/FileInputStream;.:(Ljava/lang/String;)V // method@5ba5 │ │ +41e458: 5b71 ce5d |0058: iput-object v1, v7, Lorg/purple/smoke/SteamReader;.m_fileInputStream:Ljava/io/FileInputStream; // field@5dce │ │ +41e45c: 5478 ce5d |005a: iget-object v8, v7, Lorg/purple/smoke/SteamReader;.m_fileInputStream:Ljava/io/FileInputStream; // field@5dce │ │ +41e460: 6e10 a85b 0800 |005c: invoke-virtual {v8}, Ljava/io/FileInputStream;.getChannel:()Ljava/nio/channels/FileChannel; // method@5ba8 │ │ +41e466: 0c08 |005f: move-result-object v8 │ │ +41e468: 7140 7f5c 32ba |0060: invoke-static {v2, v3, v10, v11}, Ljava/lang/Math;.max:(JJ)J // method@5c7f │ │ +41e46e: 0b05 |0063: move-result-wide v5 │ │ +41e470: 6e30 cb5d 5806 |0064: invoke-virtual {v8, v5, v6}, Ljava/nio/channels/FileChannel;.position:(J)Ljava/nio/channels/FileChannel; // method@5dcb │ │ +41e476: 281d |0067: goto 0084 // +001d │ │ +41e478: 5478 cb5d |0068: iget-object v8, v7, Lorg/purple/smoke/SteamReader;.m_assetFileDescriptor:Landroid/content/res/AssetFileDescriptor; // field@5dcb │ │ +41e47c: 3808 0a00 |006a: if-eqz v8, 0074 // +000a │ │ +41e480: 6e10 f001 0800 |006c: invoke-virtual {v8}, Landroid/content/res/AssetFileDescriptor;.close:()V // method@01f0 │ │ +41e486: 2805 |006f: goto 0074 // +0005 │ │ +41e488: 0d08 |0070: move-exception v8 │ │ +41e48a: 5b70 cb5d |0071: iput-object v0, v7, Lorg/purple/smoke/SteamReader;.m_assetFileDescriptor:Landroid/content/res/AssetFileDescriptor; // field@5dcb │ │ +41e48e: 2708 |0073: throw v8 │ │ +41e490: 5b70 cb5d |0074: iput-object v0, v7, Lorg/purple/smoke/SteamReader;.m_assetFileDescriptor:Landroid/content/res/AssetFileDescriptor; // field@5dcb │ │ +41e494: 5478 ce5d |0076: iget-object v8, v7, Lorg/purple/smoke/SteamReader;.m_fileInputStream:Ljava/io/FileInputStream; // field@5dce │ │ +41e498: 3808 0a00 |0078: if-eqz v8, 0082 // +000a │ │ +41e49c: 6e10 a75b 0800 |007a: invoke-virtual {v8}, Ljava/io/FileInputStream;.close:()V // method@5ba7 │ │ +41e4a2: 2805 |007d: goto 0082 // +0005 │ │ +41e4a4: 0d08 |007e: move-exception v8 │ │ +41e4a6: 5b70 ce5d |007f: iput-object v0, v7, Lorg/purple/smoke/SteamReader;.m_fileInputStream:Ljava/io/FileInputStream; // field@5dce │ │ +41e4aa: 2708 |0081: throw v8 │ │ +41e4ac: 5b70 ce5d |0082: iput-object v0, v7, Lorg/purple/smoke/SteamReader;.m_fileInputStream:Ljava/io/FileInputStream; // field@5dce │ │ +41e4b0: 2208 e50b |0084: new-instance v8, Ljava/util/concurrent/atomic/AtomicBoolean; // type@0be5 │ │ +41e4b4: 7020 d460 4800 |0086: invoke-direct {v8, v4}, Ljava/util/concurrent/atomic/AtomicBoolean;.:(Z)V // method@60d4 │ │ +41e4ba: 5b78 cc5d |0089: iput-object v8, v7, Lorg/purple/smoke/SteamReader;.m_canceled:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5dcc │ │ +41e4be: 2208 e50b |008b: new-instance v8, Ljava/util/concurrent/atomic/AtomicBoolean; // type@0be5 │ │ +41e4c2: 7020 d460 4800 |008d: invoke-direct {v8, v4}, Ljava/util/concurrent/atomic/AtomicBoolean;.:(Z)V // method@60d4 │ │ +41e4c8: 5b78 cd5d |0090: iput-object v8, v7, Lorg/purple/smoke/SteamReader;.m_completed:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5dcd │ │ +41e4cc: 2208 e60b |0092: new-instance v8, Ljava/util/concurrent/atomic/AtomicInteger; // type@0be6 │ │ +41e4d0: 7020 d960 9800 |0094: invoke-direct {v8, v9}, Ljava/util/concurrent/atomic/AtomicInteger;.:(I)V // method@60d9 │ │ +41e4d6: 5b78 d05d |0097: iput-object v8, v7, Lorg/purple/smoke/SteamReader;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5dd0 │ │ +41e4da: 2208 e70b |0099: new-instance v8, Ljava/util/concurrent/atomic/AtomicLong; // type@0be7 │ │ +41e4de: 7030 dd60 2803 |009b: invoke-direct {v8, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.:(J)V // method@60dd │ │ +41e4e4: 5b78 d15d |009e: iput-object v8, v7, Lorg/purple/smoke/SteamReader;.m_rate:Ljava/util/concurrent/atomic/AtomicLong; // field@5dd1 │ │ +41e4e8: 2208 e70b |00a0: new-instance v8, Ljava/util/concurrent/atomic/AtomicLong; // type@0be7 │ │ +41e4ec: 7140 7f5c 32ba |00a2: invoke-static {v2, v3, v10, v11}, Ljava/lang/Math;.max:(JJ)J // method@5c7f │ │ +41e4f2: 0b09 |00a5: move-result-wide v9 │ │ +41e4f4: 7030 dd60 980a |00a6: invoke-direct {v8, v9, v10}, Ljava/util/concurrent/atomic/AtomicLong;.:(J)V // method@60dd │ │ +41e4fa: 5b78 d25d |00a9: iput-object v8, v7, Lorg/purple/smoke/SteamReader;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5dd2 │ │ +41e4fe: 2208 e70b |00ab: new-instance v8, Ljava/util/concurrent/atomic/AtomicLong; // type@0be7 │ │ +41e502: 7100 065d 0000 |00ad: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ +41e508: 0b09 |00b0: move-result-wide v9 │ │ +41e50a: 7030 dd60 980a |00b1: invoke-direct {v8, v9, v10}, Ljava/util/concurrent/atomic/AtomicLong;.:(J)V // method@60dd │ │ +41e510: 5b78 d45d |00b4: iput-object v8, v7, Lorg/purple/smoke/SteamReader;.m_time0:Ljava/util/concurrent/atomic/AtomicLong; // field@5dd4 │ │ +41e514: 0e00 |00b6: return-void │ │ catches : 3 │ │ 0x0022 - 0x0067 │ │ Ljava/lang/Exception; -> 0x0068 │ │ 0x0068 - 0x006f │ │ Ljava/lang/Exception; -> 0x0074 │ │ -> 0x0070 │ │ 0x0076 - 0x007d │ │ @@ -736118,33 +736117,33 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 33 16-bit code units │ │ -41e544: |[41e544] org.purple.smoke.SteamReader.cancelReader:()V │ │ -41e554: 5450 d35d |0000: iget-object v0, v5, Lorg/purple/smoke/SteamReader;.m_reader:Ljava/util/concurrent/ScheduledExecutorService; // field@5dd3 │ │ -41e558: 3800 1e00 |0002: if-eqz v0, 0020 // +001e │ │ -41e55c: 7210 cd60 0000 |0004: invoke-interface {v0}, Ljava/util/concurrent/ScheduledExecutorService;.shutdown:()V // method@60cd │ │ -41e562: 1200 |0007: const/4 v0, #int 0 // #0 │ │ -41e564: 5451 d35d |0008: iget-object v1, v5, Lorg/purple/smoke/SteamReader;.m_reader:Ljava/util/concurrent/ScheduledExecutorService; // field@5dd3 │ │ -41e568: 1602 0500 |000a: const-wide/16 v2, #int 5 // #5 │ │ -41e56c: 6204 ee2c |000c: sget-object v4, Ljava/util/concurrent/TimeUnit;.SECONDS:Ljava/util/concurrent/TimeUnit; // field@2cee │ │ -41e570: 7240 ca60 2143 |000e: invoke-interface {v1, v2, v3, v4}, Ljava/util/concurrent/ScheduledExecutorService;.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z // method@60ca │ │ -41e576: 0a01 |0011: move-result v1 │ │ -41e578: 3901 0c00 |0012: if-nez v1, 001e // +000c │ │ -41e57c: 5451 d35d |0014: iget-object v1, v5, Lorg/purple/smoke/SteamReader;.m_reader:Ljava/util/concurrent/ScheduledExecutorService; // field@5dd3 │ │ -41e580: 7210 ce60 0100 |0016: invoke-interface {v1}, Ljava/util/concurrent/ScheduledExecutorService;.shutdownNow:()Ljava/util/List; // method@60ce │ │ -41e586: 2805 |0019: goto 001e // +0005 │ │ -41e588: 0d01 |001a: move-exception v1 │ │ -41e58a: 5b50 d35d |001b: iput-object v0, v5, Lorg/purple/smoke/SteamReader;.m_reader:Ljava/util/concurrent/ScheduledExecutorService; // field@5dd3 │ │ -41e58e: 2701 |001d: throw v1 │ │ -41e590: 5b50 d35d |001e: iput-object v0, v5, Lorg/purple/smoke/SteamReader;.m_reader:Ljava/util/concurrent/ScheduledExecutorService; // field@5dd3 │ │ -41e594: 0e00 |0020: return-void │ │ +41e540: |[41e540] org.purple.smoke.SteamReader.cancelReader:()V │ │ +41e550: 5450 d35d |0000: iget-object v0, v5, Lorg/purple/smoke/SteamReader;.m_reader:Ljava/util/concurrent/ScheduledExecutorService; // field@5dd3 │ │ +41e554: 3800 1e00 |0002: if-eqz v0, 0020 // +001e │ │ +41e558: 7210 cd60 0000 |0004: invoke-interface {v0}, Ljava/util/concurrent/ScheduledExecutorService;.shutdown:()V // method@60cd │ │ +41e55e: 1200 |0007: const/4 v0, #int 0 // #0 │ │ +41e560: 5451 d35d |0008: iget-object v1, v5, Lorg/purple/smoke/SteamReader;.m_reader:Ljava/util/concurrent/ScheduledExecutorService; // field@5dd3 │ │ +41e564: 1602 0500 |000a: const-wide/16 v2, #int 5 // #5 │ │ +41e568: 6204 ee2c |000c: sget-object v4, Ljava/util/concurrent/TimeUnit;.SECONDS:Ljava/util/concurrent/TimeUnit; // field@2cee │ │ +41e56c: 7240 ca60 2143 |000e: invoke-interface {v1, v2, v3, v4}, Ljava/util/concurrent/ScheduledExecutorService;.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z // method@60ca │ │ +41e572: 0a01 |0011: move-result v1 │ │ +41e574: 3901 0c00 |0012: if-nez v1, 001e // +000c │ │ +41e578: 5451 d35d |0014: iget-object v1, v5, Lorg/purple/smoke/SteamReader;.m_reader:Ljava/util/concurrent/ScheduledExecutorService; // field@5dd3 │ │ +41e57c: 7210 ce60 0100 |0016: invoke-interface {v1}, Ljava/util/concurrent/ScheduledExecutorService;.shutdownNow:()Ljava/util/List; // method@60ce │ │ +41e582: 2805 |0019: goto 001e // +0005 │ │ +41e584: 0d01 |001a: move-exception v1 │ │ +41e586: 5b50 d35d |001b: iput-object v0, v5, Lorg/purple/smoke/SteamReader;.m_reader:Ljava/util/concurrent/ScheduledExecutorService; // field@5dd3 │ │ +41e58a: 2701 |001d: throw v1 │ │ +41e58c: 5b50 d35d |001e: iput-object v0, v5, Lorg/purple/smoke/SteamReader;.m_reader:Ljava/util/concurrent/ScheduledExecutorService; // field@5dd3 │ │ +41e590: 0e00 |0020: return-void │ │ catches : 2 │ │ 0x0004 - 0x0007 │ │ Ljava/lang/Exception; -> 0x0007 │ │ 0x0008 - 0x0019 │ │ Ljava/lang/Exception; -> 0x001e │ │ -> 0x001a │ │ positions : │ │ @@ -736164,19 +736163,19 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -41e2e0: |[41e2e0] org.purple.smoke.SteamReader.completed:()Z │ │ -41e2f0: 5410 cd5d |0000: iget-object v0, v1, Lorg/purple/smoke/SteamReader;.m_completed:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5dcd │ │ -41e2f4: 6e10 d660 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ -41e2fa: 0a00 |0005: move-result v0 │ │ -41e2fc: 0f00 |0006: return v0 │ │ +41e2dc: |[41e2dc] org.purple.smoke.SteamReader.completed:()Z │ │ +41e2ec: 5410 cd5d |0000: iget-object v0, v1, Lorg/purple/smoke/SteamReader;.m_completed:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5dcd │ │ +41e2f0: 6e10 d660 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ +41e2f6: 0a00 |0005: move-result v0 │ │ +41e2f8: 0f00 |0006: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=159 │ │ locals : │ │ 0x0000 - 0x0007 reg=1 this Lorg/purple/smoke/SteamReader; │ │ │ │ #2 : (in Lorg/purple/smoke/SteamReader;) │ │ @@ -736184,70 +736183,70 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 87 16-bit code units │ │ -41e5b4: |[41e5b4] org.purple.smoke.SteamReader.delete:()V │ │ -41e5c4: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -41e5c6: 5431 cb5d |0001: iget-object v1, v3, Lorg/purple/smoke/SteamReader;.m_assetFileDescriptor:Landroid/content/res/AssetFileDescriptor; // field@5dcb │ │ -41e5ca: 3801 0a00 |0003: if-eqz v1, 000d // +000a │ │ -41e5ce: 6e10 f001 0100 |0005: invoke-virtual {v1}, Landroid/content/res/AssetFileDescriptor;.close:()V // method@01f0 │ │ -41e5d4: 2805 |0008: goto 000d // +0005 │ │ -41e5d6: 0d01 |0009: move-exception v1 │ │ -41e5d8: 5b30 cb5d |000a: iput-object v0, v3, Lorg/purple/smoke/SteamReader;.m_assetFileDescriptor:Landroid/content/res/AssetFileDescriptor; // field@5dcb │ │ -41e5dc: 2701 |000c: throw v1 │ │ -41e5de: 5b30 cb5d |000d: iput-object v0, v3, Lorg/purple/smoke/SteamReader;.m_assetFileDescriptor:Landroid/content/res/AssetFileDescriptor; // field@5dcb │ │ -41e5e2: 5431 cc5d |000f: iget-object v1, v3, Lorg/purple/smoke/SteamReader;.m_canceled:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5dcc │ │ -41e5e6: 1212 |0011: const/4 v2, #int 1 // #1 │ │ -41e5e8: 6e20 d860 2100 |0012: invoke-virtual {v1, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -41e5ee: 5431 cd5d |0015: iget-object v1, v3, Lorg/purple/smoke/SteamReader;.m_completed:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5dcd │ │ -41e5f2: 1202 |0017: const/4 v2, #int 0 // #0 │ │ -41e5f4: 6e20 d860 2100 |0018: invoke-virtual {v1, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -41e5fa: 5431 cf5d |001b: iget-object v1, v3, Lorg/purple/smoke/SteamReader;.m_fileInputStreamMutex:Ljava/lang/Object; // field@5dcf │ │ -41e5fe: 1d01 |001d: monitor-enter v1 │ │ -41e600: 5432 ce5d |001e: iget-object v2, v3, Lorg/purple/smoke/SteamReader;.m_fileInputStream:Ljava/io/FileInputStream; // field@5dce │ │ -41e604: 3802 0500 |0020: if-eqz v2, 0025 // +0005 │ │ -41e608: 6e10 a75b 0200 |0022: invoke-virtual {v2}, Ljava/io/FileInputStream;.close:()V // method@5ba7 │ │ -41e60e: 1e01 |0025: monitor-exit v1 │ │ -41e610: 5432 cf5d |0026: iget-object v2, v3, Lorg/purple/smoke/SteamReader;.m_fileInputStreamMutex:Ljava/lang/Object; // field@5dcf │ │ -41e614: 1d02 |0028: monitor-enter v2 │ │ -41e616: 5b30 ce5d |0029: iput-object v0, v3, Lorg/purple/smoke/SteamReader;.m_fileInputStream:Ljava/io/FileInputStream; // field@5dce │ │ -41e61a: 1e02 |002b: monitor-exit v2 │ │ -41e61c: 2818 |002c: goto 0044 // +0018 │ │ -41e61e: 0d00 |002d: move-exception v0 │ │ -41e620: 1e02 |002e: monitor-exit v2 │ │ -41e622: 2700 |002f: throw v0 │ │ -41e624: 0d02 |0030: move-exception v2 │ │ -41e626: 1e01 |0031: monitor-exit v1 │ │ -41e628: 2702 |0032: throw v2 │ │ -41e62a: 0d01 |0033: move-exception v1 │ │ -41e62c: 5432 cf5d |0034: iget-object v2, v3, Lorg/purple/smoke/SteamReader;.m_fileInputStreamMutex:Ljava/lang/Object; // field@5dcf │ │ -41e630: 1d02 |0036: monitor-enter v2 │ │ -41e632: 5b30 ce5d |0037: iput-object v0, v3, Lorg/purple/smoke/SteamReader;.m_fileInputStream:Ljava/io/FileInputStream; // field@5dce │ │ -41e636: 1e02 |0039: monitor-exit v2 │ │ -41e638: 2701 |003a: throw v1 │ │ -41e63a: 0d00 |003b: move-exception v0 │ │ -41e63c: 1e02 |003c: monitor-exit v2 │ │ -41e63e: 2700 |003d: throw v0 │ │ -41e640: 5431 cf5d |003e: iget-object v1, v3, Lorg/purple/smoke/SteamReader;.m_fileInputStreamMutex:Ljava/lang/Object; // field@5dcf │ │ -41e644: 1d01 |0040: monitor-enter v1 │ │ -41e646: 5b30 ce5d |0041: iput-object v0, v3, Lorg/purple/smoke/SteamReader;.m_fileInputStream:Ljava/io/FileInputStream; // field@5dce │ │ -41e64a: 1e01 |0043: monitor-exit v1 │ │ -41e64c: 5430 d15d |0044: iget-object v0, v3, Lorg/purple/smoke/SteamReader;.m_rate:Ljava/util/concurrent/atomic/AtomicLong; // field@5dd1 │ │ -41e650: 1601 0000 |0046: const-wide/16 v1, #int 0 // #0 │ │ -41e654: 6e30 e160 1002 |0048: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -41e65a: 5430 d25d |004b: iget-object v0, v3, Lorg/purple/smoke/SteamReader;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5dd2 │ │ -41e65e: 6e30 e160 1002 |004d: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -41e664: 6e10 0cba 0300 |0050: invoke-virtual {v3}, Lorg/purple/smoke/SteamReader;.cancelReader:()V // method@ba0c │ │ -41e66a: 0e00 |0053: return-void │ │ -41e66c: 0d00 |0054: move-exception v0 │ │ -41e66e: 1e01 |0055: monitor-exit v1 │ │ -41e670: 2700 |0056: throw v0 │ │ +41e5b0: |[41e5b0] org.purple.smoke.SteamReader.delete:()V │ │ +41e5c0: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +41e5c2: 5431 cb5d |0001: iget-object v1, v3, Lorg/purple/smoke/SteamReader;.m_assetFileDescriptor:Landroid/content/res/AssetFileDescriptor; // field@5dcb │ │ +41e5c6: 3801 0a00 |0003: if-eqz v1, 000d // +000a │ │ +41e5ca: 6e10 f001 0100 |0005: invoke-virtual {v1}, Landroid/content/res/AssetFileDescriptor;.close:()V // method@01f0 │ │ +41e5d0: 2805 |0008: goto 000d // +0005 │ │ +41e5d2: 0d01 |0009: move-exception v1 │ │ +41e5d4: 5b30 cb5d |000a: iput-object v0, v3, Lorg/purple/smoke/SteamReader;.m_assetFileDescriptor:Landroid/content/res/AssetFileDescriptor; // field@5dcb │ │ +41e5d8: 2701 |000c: throw v1 │ │ +41e5da: 5b30 cb5d |000d: iput-object v0, v3, Lorg/purple/smoke/SteamReader;.m_assetFileDescriptor:Landroid/content/res/AssetFileDescriptor; // field@5dcb │ │ +41e5de: 5431 cc5d |000f: iget-object v1, v3, Lorg/purple/smoke/SteamReader;.m_canceled:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5dcc │ │ +41e5e2: 1212 |0011: const/4 v2, #int 1 // #1 │ │ +41e5e4: 6e20 d860 2100 |0012: invoke-virtual {v1, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +41e5ea: 5431 cd5d |0015: iget-object v1, v3, Lorg/purple/smoke/SteamReader;.m_completed:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5dcd │ │ +41e5ee: 1202 |0017: const/4 v2, #int 0 // #0 │ │ +41e5f0: 6e20 d860 2100 |0018: invoke-virtual {v1, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +41e5f6: 5431 cf5d |001b: iget-object v1, v3, Lorg/purple/smoke/SteamReader;.m_fileInputStreamMutex:Ljava/lang/Object; // field@5dcf │ │ +41e5fa: 1d01 |001d: monitor-enter v1 │ │ +41e5fc: 5432 ce5d |001e: iget-object v2, v3, Lorg/purple/smoke/SteamReader;.m_fileInputStream:Ljava/io/FileInputStream; // field@5dce │ │ +41e600: 3802 0500 |0020: if-eqz v2, 0025 // +0005 │ │ +41e604: 6e10 a75b 0200 |0022: invoke-virtual {v2}, Ljava/io/FileInputStream;.close:()V // method@5ba7 │ │ +41e60a: 1e01 |0025: monitor-exit v1 │ │ +41e60c: 5432 cf5d |0026: iget-object v2, v3, Lorg/purple/smoke/SteamReader;.m_fileInputStreamMutex:Ljava/lang/Object; // field@5dcf │ │ +41e610: 1d02 |0028: monitor-enter v2 │ │ +41e612: 5b30 ce5d |0029: iput-object v0, v3, Lorg/purple/smoke/SteamReader;.m_fileInputStream:Ljava/io/FileInputStream; // field@5dce │ │ +41e616: 1e02 |002b: monitor-exit v2 │ │ +41e618: 2818 |002c: goto 0044 // +0018 │ │ +41e61a: 0d00 |002d: move-exception v0 │ │ +41e61c: 1e02 |002e: monitor-exit v2 │ │ +41e61e: 2700 |002f: throw v0 │ │ +41e620: 0d02 |0030: move-exception v2 │ │ +41e622: 1e01 |0031: monitor-exit v1 │ │ +41e624: 2702 |0032: throw v2 │ │ +41e626: 0d01 |0033: move-exception v1 │ │ +41e628: 5432 cf5d |0034: iget-object v2, v3, Lorg/purple/smoke/SteamReader;.m_fileInputStreamMutex:Ljava/lang/Object; // field@5dcf │ │ +41e62c: 1d02 |0036: monitor-enter v2 │ │ +41e62e: 5b30 ce5d |0037: iput-object v0, v3, Lorg/purple/smoke/SteamReader;.m_fileInputStream:Ljava/io/FileInputStream; // field@5dce │ │ +41e632: 1e02 |0039: monitor-exit v2 │ │ +41e634: 2701 |003a: throw v1 │ │ +41e636: 0d00 |003b: move-exception v0 │ │ +41e638: 1e02 |003c: monitor-exit v2 │ │ +41e63a: 2700 |003d: throw v0 │ │ +41e63c: 5431 cf5d |003e: iget-object v1, v3, Lorg/purple/smoke/SteamReader;.m_fileInputStreamMutex:Ljava/lang/Object; // field@5dcf │ │ +41e640: 1d01 |0040: monitor-enter v1 │ │ +41e642: 5b30 ce5d |0041: iput-object v0, v3, Lorg/purple/smoke/SteamReader;.m_fileInputStream:Ljava/io/FileInputStream; // field@5dce │ │ +41e646: 1e01 |0043: monitor-exit v1 │ │ +41e648: 5430 d15d |0044: iget-object v0, v3, Lorg/purple/smoke/SteamReader;.m_rate:Ljava/util/concurrent/atomic/AtomicLong; // field@5dd1 │ │ +41e64c: 1601 0000 |0046: const-wide/16 v1, #int 0 // #0 │ │ +41e650: 6e30 e160 1002 |0048: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +41e656: 5430 d25d |004b: iget-object v0, v3, Lorg/purple/smoke/SteamReader;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5dd2 │ │ +41e65a: 6e30 e160 1002 |004d: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +41e660: 6e10 0cba 0300 |0050: invoke-virtual {v3}, Lorg/purple/smoke/SteamReader;.cancelReader:()V // method@ba0c │ │ +41e666: 0e00 |0053: return-void │ │ +41e668: 0d00 |0054: move-exception v0 │ │ +41e66a: 1e01 |0055: monitor-exit v1 │ │ +41e66c: 2700 |0056: throw v0 │ │ catches : 10 │ │ 0x0001 - 0x0008 │ │ Ljava/lang/Exception; -> 0x000d │ │ -> 0x0009 │ │ 0x001b - 0x001e │ │ Ljava/lang/Exception; -> 0x003e │ │ -> 0x0033 │ │ @@ -736304,19 +736303,19 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -41e300: |[41e300] org.purple.smoke.SteamReader.getOid:()I │ │ -41e310: 5410 d05d |0000: iget-object v0, v1, Lorg/purple/smoke/SteamReader;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5dd0 │ │ -41e314: 6e10 da60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -41e31a: 0a00 |0005: move-result v0 │ │ -41e31c: 0f00 |0006: return v0 │ │ +41e2fc: |[41e2fc] org.purple.smoke.SteamReader.getOid:()I │ │ +41e30c: 5410 d05d |0000: iget-object v0, v1, Lorg/purple/smoke/SteamReader;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5dd0 │ │ +41e310: 6e10 da60 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +41e316: 0a00 |0005: move-result v0 │ │ +41e318: 0f00 |0006: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=164 │ │ locals : │ │ 0x0000 - 0x0007 reg=1 this Lorg/purple/smoke/SteamReader; │ │ │ │ #4 : (in Lorg/purple/smoke/SteamReader;) │ │ @@ -736324,30 +736323,30 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 32 16-bit code units │ │ -41e320: |[41e320] org.purple.smoke.SteamReader.prettyRate:()Ljava/lang/String; │ │ -41e330: 2200 f10a |0000: new-instance v0, Ljava/lang/StringBuilder; // type@0af1 │ │ -41e334: 7010 ee5c 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41e33a: 5431 d15d |0005: iget-object v1, v3, Lorg/purple/smoke/SteamReader;.m_rate:Ljava/util/concurrent/atomic/AtomicLong; // field@5dd1 │ │ -41e33e: 6e10 df60 0100 |0007: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ -41e344: 0b01 |000a: move-result-wide v1 │ │ -41e346: 7120 d65c 2100 |000b: invoke-static {v1, v2}, Ljava/lang/String;.valueOf:(J)Ljava/lang/String; // method@5cd6 │ │ -41e34c: 0c01 |000e: move-result-object v1 │ │ -41e34e: 7110 dfb7 0100 |000f: invoke-static {v1}, Lorg/purple/smoke/Miscellaneous;.formattedDigitalInformation:(Ljava/lang/String;)Ljava/lang/String; // method@b7df │ │ -41e354: 0c01 |0012: move-result-object v1 │ │ -41e356: 6e20 f95c 1000 |0013: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41e35c: 1a01 a800 |0016: const-string v1, " / s" // string@00a8 │ │ -41e360: 6e20 f95c 1000 |0018: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41e366: 6e10 035d 0000 |001b: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41e36c: 0c00 |001e: move-result-object v0 │ │ -41e36e: 1100 |001f: return-object v0 │ │ +41e31c: |[41e31c] org.purple.smoke.SteamReader.prettyRate:()Ljava/lang/String; │ │ +41e32c: 2200 f10a |0000: new-instance v0, Ljava/lang/StringBuilder; // type@0af1 │ │ +41e330: 7010 ee5c 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41e336: 5431 d15d |0005: iget-object v1, v3, Lorg/purple/smoke/SteamReader;.m_rate:Ljava/util/concurrent/atomic/AtomicLong; // field@5dd1 │ │ +41e33a: 6e10 df60 0100 |0007: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ +41e340: 0b01 |000a: move-result-wide v1 │ │ +41e342: 7120 d65c 2100 |000b: invoke-static {v1, v2}, Ljava/lang/String;.valueOf:(J)Ljava/lang/String; // method@5cd6 │ │ +41e348: 0c01 |000e: move-result-object v1 │ │ +41e34a: 7110 dfb7 0100 |000f: invoke-static {v1}, Lorg/purple/smoke/Miscellaneous;.formattedDigitalInformation:(Ljava/lang/String;)Ljava/lang/String; // method@b7df │ │ +41e350: 0c01 |0012: move-result-object v1 │ │ +41e352: 6e20 f95c 1000 |0013: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41e358: 1a01 a800 |0016: const-string v1, " / s" // string@00a8 │ │ +41e35c: 6e20 f95c 1000 |0018: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41e362: 6e10 035d 0000 |001b: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41e368: 0c00 |001e: move-result-object v0 │ │ +41e36a: 1100 |001f: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=58 │ │ 0x0007 line=59 │ │ locals : │ │ 0x0000 - 0x0020 reg=3 this Lorg/purple/smoke/SteamReader; │ │ │ │ @@ -736396,20 +736395,20 @@ │ │ type : '(Lorg/purple/smoke/SteamReaderFull;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -41d000: |[41d000] org.purple.smoke.SteamReaderFull$1.:(Lorg/purple/smoke/SteamReaderFull;)V │ │ -41d010: 5b01 d85d |0000: iput-object v1, v0, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d014: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41d01a: 1201 |0005: const/4 v1, #int 0 // #0 │ │ -41d01c: 5b01 d75d |0006: iput-object v1, v0, Lorg/purple/smoke/SteamReaderFull$1;.m_keyStream:[B // field@5dd7 │ │ -41d020: 0e00 |0008: return-void │ │ +41cffc: |[41cffc] org.purple.smoke.SteamReaderFull$1.:(Lorg/purple/smoke/SteamReaderFull;)V │ │ +41d00c: 5b01 d85d |0000: iput-object v1, v0, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d010: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41d016: 1201 |0005: const/4 v1, #int 0 // #0 │ │ +41d018: 5b01 d75d |0006: iput-object v1, v0, Lorg/purple/smoke/SteamReaderFull$1;.m_keyStream:[B // field@5dd7 │ │ +41d01c: 0e00 |0008: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=82 │ │ 0x0006 line=83 │ │ locals : │ │ 0x0000 - 0x0009 reg=0 this Lorg/purple/smoke/SteamReaderFull$1; │ │ 0x0000 - 0x0009 reg=1 (null) Lorg/purple/smoke/SteamReaderFull; │ │ @@ -736420,353 +736419,353 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 25 │ │ ins : 1 │ │ outs : 8 │ │ insns size : 690 16-bit code units │ │ -41d024: |[41d024] org.purple.smoke.SteamReaderFull$1.run:()V │ │ -41d034: 0801 1800 |0000: move-object/from16 v1, v24 │ │ -41d038: 1202 |0002: const/4 v2, #int 0 // #0 │ │ -41d03a: 5410 d85d |0003: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d03e: 5400 dc5d |0005: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_canceled:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5ddc │ │ -41d042: 6e10 d660 0000 |0007: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ -41d048: 0a00 |000a: move-result v0 │ │ -41d04a: 3800 0300 |000b: if-eqz v0, 000e // +0003 │ │ -41d04e: 0e00 |000d: return-void │ │ -41d050: 6200 d65d |000e: sget-object v0, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ -41d054: 5413 d85d |0010: iget-object v3, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d058: 5433 e45d |0012: iget-object v3, v3, Lorg/purple/smoke/SteamReaderFull;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5de4 │ │ -41d05c: 6e10 da60 0300 |0014: invoke-virtual {v3}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -41d062: 0a03 |0017: move-result v3 │ │ -41d064: 6e20 22b6 3000 |0018: invoke-virtual {v0, v3}, Lorg/purple/smoke/Database;.steamStatus:(I)Ljava/lang/String; // method@b622 │ │ -41d06a: 0c00 |001b: move-result-object v0 │ │ -41d06c: 6e10 cf5c 0000 |001c: invoke-virtual {v0}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@5ccf │ │ -41d072: 0c00 |001f: move-result-object v0 │ │ -41d074: 6e10 d35c 0000 |0020: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ -41d07a: 0c00 |0023: move-result-object v0 │ │ -41d07c: 6e10 bf5c 0000 |0024: invoke-virtual {v0}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ -41d082: 0a03 |0027: move-result v3 │ │ -41d084: 12f4 |0028: const/4 v4, #int -1 // #ff │ │ -41d086: 1215 |0029: const/4 v5, #int 1 // #1 │ │ -41d088: 2c03 5202 0000 |002a: sparse-switch v3, 0000027c // +00000252 │ │ -41d08e: 2851 |002d: goto 007e // +0051 │ │ -41d090: 1a03 ab61 |002e: const-string v3, "deleted" // string@61ab │ │ -41d094: 6e20 b85c 3000 |0030: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41d09a: 0a00 |0033: move-result v0 │ │ -41d09c: 3800 4a00 |0034: if-eqz v0, 007e // +004a │ │ -41d0a0: 1220 |0036: const/4 v0, #int 2 // #2 │ │ -41d0a2: 2848 |0037: goto 007f // +0048 │ │ -41d0a4: 1a03 3494 |0038: const-string v3, "received private-key pair" // string@9434 │ │ -41d0a8: 6e20 b85c 3000 |003a: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41d0ae: 0a00 |003d: move-result v0 │ │ -41d0b0: 3800 4000 |003e: if-eqz v0, 007e // +0040 │ │ -41d0b4: 1240 |0040: const/4 v0, #int 4 // #4 │ │ -41d0b6: 283e |0041: goto 007f // +003e │ │ -41d0b8: 1a03 0000 |0042: const-string v3, "" // string@0000 │ │ -41d0bc: 6e20 b85c 3000 |0044: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41d0c2: 0a00 |0047: move-result v0 │ │ -41d0c4: 3800 3600 |0048: if-eqz v0, 007e // +0036 │ │ -41d0c8: 1200 |004a: const/4 v0, #int 0 // #0 │ │ -41d0ca: 2834 |004b: goto 007f // +0034 │ │ -41d0cc: 1a03 0596 |004c: const-string v3, "rewind & resume" // string@9605 │ │ -41d0d0: 6e20 b85c 3000 |004e: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41d0d6: 0a00 |0051: move-result v0 │ │ -41d0d8: 3800 2c00 |0052: if-eqz v0, 007e // +002c │ │ -41d0dc: 1270 |0054: const/4 v0, #int 7 // #7 │ │ -41d0de: 282a |0055: goto 007f // +002a │ │ -41d0e0: 1a03 0496 |0056: const-string v3, "rewind" // string@9604 │ │ -41d0e4: 6e20 b85c 3000 |0058: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41d0ea: 0a00 |005b: move-result v0 │ │ -41d0ec: 3800 2200 |005c: if-eqz v0, 007e // +0022 │ │ -41d0f0: 1260 |005e: const/4 v0, #int 6 // #6 │ │ -41d0f2: 2820 |005f: goto 007f // +0020 │ │ -41d0f4: 1a03 e095 |0060: const-string v3, "resume" // string@95e0 │ │ -41d0f8: 6e20 b85c 3000 |0062: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41d0fe: 0a00 |0065: move-result v0 │ │ -41d100: 3800 1800 |0066: if-eqz v0, 007e // +0018 │ │ -41d104: 1250 |0068: const/4 v0, #int 5 // #5 │ │ -41d106: 2816 |0069: goto 007f // +0016 │ │ -41d108: 1a03 f190 |006a: const-string v3, "paused" // string@90f1 │ │ -41d10c: 6e20 b85c 3000 |006c: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41d112: 0a00 |006f: move-result v0 │ │ -41d114: 3800 0e00 |0070: if-eqz v0, 007e // +000e │ │ -41d118: 1230 |0072: const/4 v0, #int 3 // #3 │ │ -41d11a: 280c |0073: goto 007f // +000c │ │ -41d11c: 1a03 ae5e |0074: const-string v3, "completed" // string@5eae │ │ -41d120: 6e20 b85c 3000 |0076: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41d126: 0a00 |0079: move-result v0 │ │ -41d128: 3800 0400 |007a: if-eqz v0, 007e // +0004 │ │ -41d12c: 1210 |007c: const/4 v0, #int 1 // #1 │ │ -41d12e: 2802 |007d: goto 007f // +0002 │ │ -41d130: 12f0 |007e: const/4 v0, #int -1 // #ff │ │ -41d132: 2b00 1f02 0000 |007f: packed-switch v0, 0000029e // +0000021f │ │ -41d138: 5410 d85d |0082: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d13c: 2900 8100 |0084: goto/16 0105 // +0081 │ │ -41d140: 5410 d85d |0086: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d144: 7110 15ba 0000 |0088: invoke-static {v0}, Lorg/purple/smoke/SteamReaderFull;.access$000:(Lorg/purple/smoke/SteamReaderFull;)V // method@ba15 │ │ -41d14a: 6206 d65d |008b: sget-object v6, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ -41d14e: 6207 d55d |008d: sget-object v7, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ -41d152: 1a08 d2a2 |008f: const-string v8, "transferring" // string@a2d2 │ │ -41d156: 1a09 0000 |0091: const-string v9, "" // string@0000 │ │ -41d15a: 5410 d85d |0093: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d15e: 5400 e45d |0095: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5de4 │ │ -41d162: 6e10 da60 0000 |0097: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -41d168: 0a0a |009a: move-result v10 │ │ -41d16a: 160b 0000 |009b: const-wide/16 v11, #int 0 // #0 │ │ -41d16e: 7407 39b6 0600 |009d: invoke-virtual/range {v6, v7, v8, v9, v10, v11, v12}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ -41d174: 2900 9b00 |00a0: goto/16 013b // +009b │ │ -41d178: 5410 d85d |00a2: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d17c: 7110 15ba 0000 |00a4: invoke-static {v0}, Lorg/purple/smoke/SteamReaderFull;.access$000:(Lorg/purple/smoke/SteamReaderFull;)V // method@ba15 │ │ -41d182: 6203 d65d |00a7: sget-object v3, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ -41d186: 6204 d55d |00a9: sget-object v4, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ -41d18a: 1a05 f190 |00ab: const-string v5, "paused" // string@90f1 │ │ -41d18e: 1a06 0000 |00ad: const-string v6, "" // string@0000 │ │ -41d192: 5410 d85d |00af: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d196: 5400 e45d |00b1: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5de4 │ │ -41d19a: 6e10 da60 0000 |00b3: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -41d1a0: 0a07 |00b6: move-result v7 │ │ -41d1a2: 1608 0000 |00b7: const-wide/16 v8, #int 0 // #0 │ │ -41d1a6: 7407 39b6 0300 |00b9: invoke-virtual/range {v3, v4, v5, v6, v7, v8, v9}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ -41d1ac: 0e00 |00bc: return-void │ │ -41d1ae: 620a d65d |00bd: sget-object v10, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ -41d1b2: 620b d55d |00bf: sget-object v11, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ -41d1b6: 1a0c d2a2 |00c1: const-string v12, "transferring" // string@a2d2 │ │ -41d1ba: 1a0d 0000 |00c3: const-string v13, "" // string@0000 │ │ -41d1be: 5410 d85d |00c5: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d1c2: 5400 e45d |00c7: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5de4 │ │ -41d1c6: 6e10 da60 0000 |00c9: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -41d1cc: 0a0e |00cc: move-result v14 │ │ -41d1ce: 160f 0000 |00cd: const-wide/16 v15, #int 0 // #0 │ │ -41d1d2: 7407 39b6 0a00 |00cf: invoke-virtual/range {v10, v11, v12, v13, v14, v15, v16}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ -41d1d8: 2869 |00d2: goto 013b // +0069 │ │ -41d1da: 6211 d65d |00d3: sget-object v17, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ -41d1de: 6212 d55d |00d5: sget-object v18, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ -41d1e2: 1a13 d2a2 |00d7: const-string v19, "transferring" // string@a2d2 │ │ -41d1e6: 1a14 0000 |00d9: const-string v20, "" // string@0000 │ │ -41d1ea: 5410 d85d |00db: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d1ee: 5400 e45d |00dd: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5de4 │ │ -41d1f2: 6e10 da60 0000 |00df: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -41d1f8: 0a15 |00e2: move-result v21 │ │ -41d1fa: 1616 0000 |00e3: const-wide/16 v22, #int 0 // #0 │ │ -41d1fe: 7407 39b6 1100 |00e5: invoke-virtual/range {v17, v18, v19, v20, v21, v22, v23}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ -41d204: 2853 |00e8: goto 013b // +0053 │ │ -41d206: 6200 d65d |00e9: sget-object v0, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ -41d20a: 6203 d55d |00eb: sget-object v3, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ -41d20e: 1a04 0000 |00ed: const-string v4, "" // string@0000 │ │ -41d212: 1a05 c404 |00ef: const-string v5, "0.00 B / s" // string@04c4 │ │ -41d216: 5416 d85d |00f1: iget-object v6, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d21a: 5466 e45d |00f3: iget-object v6, v6, Lorg/purple/smoke/SteamReaderFull;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5de4 │ │ -41d21e: 6e10 da60 0600 |00f5: invoke-virtual {v6}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -41d224: 0a06 |00f8: move-result v6 │ │ -41d226: 6e56 38b6 3054 |00f9: invoke-virtual {v0, v3, v4, v5, v6}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;I)V // method@b638 │ │ -41d22c: 0e00 |00fc: return-void │ │ -41d22e: 5410 d85d |00fd: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d232: 5400 dd5d |00ff: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_completed:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5ddd │ │ -41d236: 6e20 d860 5000 |0101: invoke-virtual {v0, v5}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -41d23c: 0e00 |0104: return-void │ │ -41d23e: 7110 16ba 0000 |0105: invoke-static {v0}, Lorg/purple/smoke/SteamReaderFull;.access$100:(Lorg/purple/smoke/SteamReaderFull;)Ljava/util/concurrent/atomic/AtomicLong; // method@ba16 │ │ -41d244: 0c00 |0108: move-result-object v0 │ │ -41d246: 6e10 df60 0000 |0109: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ -41d24c: 0b06 |010c: move-result-wide v6 │ │ -41d24e: 5410 d85d |010d: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d252: 5400 e85d |010f: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de8 │ │ -41d256: 6e10 df60 0000 |0111: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ -41d25c: 0b08 |0114: move-result-wide v8 │ │ -41d25e: 3100 0608 |0115: cmp-long v0, v6, v8 │ │ -41d262: 3900 2400 |0117: if-nez v0, 013b // +0024 │ │ -41d266: 5410 d85d |0119: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d26a: 5400 dd5d |011b: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_completed:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5ddd │ │ -41d26e: 6e20 d860 5000 |011d: invoke-virtual {v0, v5}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -41d274: 6206 d65d |0120: sget-object v6, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ -41d278: 6207 d55d |0122: sget-object v7, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ -41d27c: 1a08 ae5e |0124: const-string v8, "completed" // string@5eae │ │ -41d280: 1a09 0000 |0126: const-string v9, "" // string@0000 │ │ -41d284: 5410 d85d |0128: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d288: 5400 e45d |012a: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5de4 │ │ -41d28c: 6e10 da60 0000 |012c: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -41d292: 0a0a |012f: move-result v10 │ │ -41d294: 5410 d85d |0130: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d298: 5400 e85d |0132: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de8 │ │ -41d29c: 6e10 df60 0000 |0134: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ -41d2a2: 0b0b |0137: move-result-wide v11 │ │ -41d2a4: 7407 39b6 0600 |0138: invoke-virtual/range {v6, v7, v8, v9, v10, v11, v12}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ -41d2aa: 5410 d85d |013b: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d2ae: 7110 17ba 0000 |013d: invoke-static {v0}, Lorg/purple/smoke/SteamReaderFull;.access$200:(Lorg/purple/smoke/SteamReaderFull;)V // method@ba17 │ │ -41d2b4: 5410 d85d |0140: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d2b8: 7110 18ba 0000 |0142: invoke-static {v0}, Lorg/purple/smoke/SteamReaderFull;.access$300:(Lorg/purple/smoke/SteamReaderFull;)V // method@ba18 │ │ -41d2be: 5410 d85d |0145: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d2c2: 5400 dc5d |0147: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_canceled:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5ddc │ │ -41d2c6: 6e10 d660 0000 |0149: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ -41d2cc: 0a00 |014c: move-result v0 │ │ -41d2ce: 3900 2401 |014d: if-nez v0, 0271 // +0124 │ │ -41d2d2: 5410 d85d |014f: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d2d6: 5400 dd5d |0151: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_completed:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5ddd │ │ -41d2da: 6e10 d660 0000 |0153: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ -41d2e0: 0a00 |0156: move-result v0 │ │ -41d2e2: 3800 0400 |0157: if-eqz v0, 015b // +0004 │ │ -41d2e6: 2900 1801 |0159: goto/16 0271 // +0118 │ │ -41d2ea: 5410 d85d |015b: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d2ee: 5403 e05d |015d: iget-object v3, v0, Lorg/purple/smoke/SteamReaderFull;.m_fileInputStreamMutex:Ljava/lang/Object; // field@5de0 │ │ -41d2f2: 1d03 |015f: monitor-enter v3 │ │ -41d2f4: 5410 d85d |0160: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d2f8: 5400 df5d |0162: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_fileInputStream:Ljava/io/FileInputStream; // field@5ddf │ │ -41d2fc: 3900 0400 |0164: if-nez v0, 0168 // +0004 │ │ -41d300: 1e03 |0166: monitor-exit v3 │ │ -41d302: 0e00 |0167: return-void │ │ -41d304: 1e03 |0168: monitor-exit v3 │ │ -41d306: 5410 d75d |0169: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.m_keyStream:[B // field@5dd7 │ │ -41d30a: 1303 6000 |016b: const/16 v3, #int 96 // #60 │ │ -41d30e: 3800 0500 |016d: if-eqz v0, 0172 // +0005 │ │ -41d312: 2100 |016f: array-length v0, v0 │ │ -41d314: 3230 1e00 |0170: if-eq v0, v3, 018e // +001e │ │ -41d318: 6200 d65d |0172: sget-object v0, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ -41d31c: 6206 d55d |0174: sget-object v6, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ -41d320: 5417 d85d |0176: iget-object v7, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d324: 5477 e45d |0178: iget-object v7, v7, Lorg/purple/smoke/SteamReaderFull;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5de4 │ │ -41d328: 6e10 da60 0700 |017a: invoke-virtual {v7}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -41d32e: 0a07 |017d: move-result v7 │ │ -41d330: b157 |017e: sub-int/2addr v7, v5 │ │ -41d332: 6e40 13b6 6074 |017f: invoke-virtual {v0, v6, v4, v7}, Lorg/purple/smoke/Database;.readSteam:(Lorg/purple/smoke/Cryptography;II)Lorg/purple/smoke/SteamElement; // method@b613 │ │ -41d338: 0c00 |0182: move-result-object v0 │ │ -41d33a: 5400 b15d |0183: iget-object v0, v0, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ -41d33e: 5b10 d75d |0185: iput-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.m_keyStream:[B // field@5dd7 │ │ -41d342: 3800 e600 |0187: if-eqz v0, 026d // +00e6 │ │ -41d346: 2100 |0189: array-length v0, v0 │ │ -41d348: 3230 0400 |018a: if-eq v0, v3, 018e // +0004 │ │ -41d34c: 2900 e100 |018c: goto/16 026d // +00e1 │ │ -41d350: 5410 d85d |018e: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d354: 7110 19ba 0000 |0190: invoke-static {v0}, Lorg/purple/smoke/SteamReaderFull;.access$400:(Lorg/purple/smoke/SteamReaderFull;)Ljava/lang/Object; // method@ba19 │ │ -41d35a: 0c03 |0193: move-result-object v3 │ │ -41d35c: 1d03 |0194: monitor-enter v3 │ │ -41d35e: 5410 d85d |0195: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d362: 7110 19ba 0000 |0197: invoke-static {v0}, Lorg/purple/smoke/SteamReaderFull;.access$400:(Lorg/purple/smoke/SteamReaderFull;)Ljava/lang/Object; // method@ba19 │ │ -41d368: 0c00 |019a: move-result-object v0 │ │ -41d36a: 1605 4c1d |019b: const-wide/16 v5, #int 7500 // #1d4c │ │ -41d36e: 6e30 985c 5006 |019d: invoke-virtual {v0, v5, v6}, Ljava/lang/Object;.wait:(J)V // method@5c98 │ │ -41d374: 1e03 |01a0: monitor-exit v3 │ │ -41d376: 5410 d85d |01a1: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d37a: 7110 1aba 0000 |01a3: invoke-static {v0}, Lorg/purple/smoke/SteamReaderFull;.access$500:(Lorg/purple/smoke/SteamReaderFull;)Ljava/util/concurrent/atomic/AtomicBoolean; // method@ba1a │ │ -41d380: 0c00 |01a6: move-result-object v0 │ │ -41d382: 6e10 d660 0000 |01a7: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ -41d388: 0a00 |01aa: move-result v0 │ │ -41d38a: 3900 3900 |01ab: if-nez v0, 01e4 // +0039 │ │ -41d38e: 7100 065d 0000 |01ad: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ -41d394: 0b07 |01b0: move-result-wide v7 │ │ -41d396: 5410 d85d |01b1: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d39a: 7110 1bba 0000 |01b3: invoke-static {v0}, Lorg/purple/smoke/SteamReaderFull;.access$600:(Lorg/purple/smoke/SteamReaderFull;)Ljava/util/concurrent/atomic/AtomicLong; // method@ba1b │ │ -41d3a0: 0c00 |01b6: move-result-object v0 │ │ -41d3a2: 6e10 df60 0000 |01b7: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ -41d3a8: 0b09 |01ba: move-result-wide v9 │ │ -41d3aa: bc97 |01bb: sub-long/2addr v7, v9 │ │ -41d3ac: 3100 0705 |01bc: cmp-long v0, v7, v5 │ │ -41d3b0: 3d00 2500 |01be: if-lez v0, 01e3 // +0025 │ │ -41d3b4: 5410 d85d |01c0: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d3b8: 5400 dc5d |01c2: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_canceled:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5ddc │ │ -41d3bc: 6e10 d660 0000 |01c4: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ -41d3c2: 0a00 |01c7: move-result v0 │ │ -41d3c4: 3900 1b00 |01c8: if-nez v0, 01e3 // +001b │ │ -41d3c8: 5410 d85d |01ca: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d3cc: 5400 dd5d |01cc: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_completed:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5ddd │ │ -41d3d0: 6e10 d660 0000 |01ce: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ -41d3d6: 0a00 |01d1: move-result v0 │ │ -41d3d8: 3800 0300 |01d2: if-eqz v0, 01d5 // +0003 │ │ -41d3dc: 280f |01d4: goto 01e3 // +000f │ │ -41d3de: 5410 d85d |01d5: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d3e2: 7110 1bba 0000 |01d7: invoke-static {v0}, Lorg/purple/smoke/SteamReaderFull;.access$600:(Lorg/purple/smoke/SteamReaderFull;)Ljava/util/concurrent/atomic/AtomicLong; // method@ba1b │ │ -41d3e8: 0c00 |01da: move-result-object v0 │ │ -41d3ea: 7100 065d 0000 |01db: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ -41d3f0: 0b05 |01de: move-result-wide v5 │ │ -41d3f2: 6e30 e160 5006 |01df: invoke-virtual {v0, v5, v6}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -41d3f8: 2802 |01e2: goto 01e4 // +0002 │ │ -41d3fa: 0e00 |01e3: return-void │ │ -41d3fc: 1400 0080 0000 |01e4: const v0, #float 4.59177e-41 // #00008000 │ │ -41d402: 2300 ba1a |01e7: new-array v0, v0, [B // type@1aba │ │ -41d406: 5413 d85d |01e9: iget-object v3, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d40a: 5433 e05d |01eb: iget-object v3, v3, Lorg/purple/smoke/SteamReaderFull;.m_fileInputStreamMutex:Ljava/lang/Object; // field@5de0 │ │ -41d40e: 1d03 |01ed: monitor-enter v3 │ │ -41d410: 5415 d85d |01ee: iget-object v5, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d414: 5455 df5d |01f0: iget-object v5, v5, Lorg/purple/smoke/SteamReaderFull;.m_fileInputStream:Ljava/io/FileInputStream; // field@5ddf │ │ -41d418: 3905 0400 |01f2: if-nez v5, 01f6 // +0004 │ │ -41d41c: 1e03 |01f4: monitor-exit v3 │ │ -41d41e: 0e00 |01f5: return-void │ │ -41d420: 5415 d85d |01f6: iget-object v5, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d424: 5455 df5d |01f8: iget-object v5, v5, Lorg/purple/smoke/SteamReaderFull;.m_fileInputStream:Ljava/io/FileInputStream; // field@5ddf │ │ -41d428: 6e10 a85b 0500 |01fa: invoke-virtual {v5}, Ljava/io/FileInputStream;.getChannel:()Ljava/nio/channels/FileChannel; // method@5ba8 │ │ -41d42e: 0c05 |01fd: move-result-object v5 │ │ -41d430: 5416 d85d |01fe: iget-object v6, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d434: 5466 e85d |0200: iget-object v6, v6, Lorg/purple/smoke/SteamReaderFull;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de8 │ │ -41d438: 6e10 df60 0600 |0202: invoke-virtual {v6}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ -41d43e: 0b06 |0205: move-result-wide v6 │ │ -41d440: 6e30 cb5d 6507 |0206: invoke-virtual {v5, v6, v7}, Ljava/nio/channels/FileChannel;.position:(J)Ljava/nio/channels/FileChannel; // method@5dcb │ │ -41d446: 5415 d85d |0209: iget-object v5, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d44a: 5455 df5d |020b: iget-object v5, v5, Lorg/purple/smoke/SteamReaderFull;.m_fileInputStream:Ljava/io/FileInputStream; // field@5ddf │ │ -41d44e: 6e20 a95b 0500 |020d: invoke-virtual {v5, v0}, Ljava/io/FileInputStream;.read:([B)I // method@5ba9 │ │ -41d454: 0a05 |0210: move-result v5 │ │ -41d456: 1e03 |0211: monitor-exit v3 │ │ -41d458: 3345 0c00 |0212: if-ne v5, v4, 021e // +000c │ │ -41d45c: 5410 d85d |0214: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d460: 7110 1aba 0000 |0216: invoke-static {v0}, Lorg/purple/smoke/SteamReaderFull;.access$500:(Lorg/purple/smoke/SteamReaderFull;)Ljava/util/concurrent/atomic/AtomicBoolean; // method@ba1a │ │ -41d466: 0c00 |0219: move-result-object v0 │ │ -41d468: 6e20 d860 2000 |021a: invoke-virtual {v0, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -41d46e: 0e00 |021d: return-void │ │ -41d470: 5413 d85d |021e: iget-object v3, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d474: 7110 1cba 0300 |0220: invoke-static {v3}, Lorg/purple/smoke/SteamReaderFull;.access$700:(Lorg/purple/smoke/SteamReaderFull;)Ljava/util/concurrent/atomic/AtomicLong; // method@ba1c │ │ -41d47a: 0c03 |0223: move-result-object v3 │ │ -41d47c: 8156 |0224: int-to-long v6, v5 │ │ -41d47e: 6e30 e160 6307 |0225: invoke-virtual {v3, v6, v7}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -41d484: 5413 d85d |0228: iget-object v3, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d488: 7110 1aba 0300 |022a: invoke-static {v3}, Lorg/purple/smoke/SteamReaderFull;.access$500:(Lorg/purple/smoke/SteamReaderFull;)Ljava/util/concurrent/atomic/AtomicBoolean; // method@ba1a │ │ -41d48e: 0c03 |022d: move-result-object v3 │ │ -41d490: 6e20 d860 2300 |022e: invoke-virtual {v3, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -41d496: 6206 d55d |0231: sget-object v6, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ -41d49a: 5413 d85d |0233: iget-object v3, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d49e: 7110 1dba 0300 |0235: invoke-static {v3}, Lorg/purple/smoke/SteamReaderFull;.access$800:(Lorg/purple/smoke/SteamReaderFull;)Ljava/lang/String; // method@ba1d │ │ -41d4a4: 0c07 |0238: move-result-object v7 │ │ -41d4a6: 5413 d85d |0239: iget-object v3, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d4aa: 7110 1eba 0300 |023b: invoke-static {v3}, Lorg/purple/smoke/SteamReaderFull;.access$900:(Lorg/purple/smoke/SteamReaderFull;)[B // method@ba1e │ │ -41d4b0: 0c08 |023e: move-result-object v8 │ │ -41d4b2: 5419 d75d |023f: iget-object v9, v1, Lorg/purple/smoke/SteamReaderFull$1;.m_keyStream:[B // field@5dd7 │ │ -41d4b6: 7130 b45f 2005 |0241: invoke-static {v0, v2, v5}, Ljava/util/Arrays;.copyOfRange:([BII)[B // method@5fb4 │ │ -41d4bc: 0c0a |0244: move-result-object v10 │ │ -41d4be: 6200 2e53 |0245: sget-object v0, Lorg/purple/smoke/Messages;.STEAM_SHARE:[B // field@532e │ │ -41d4c2: 480b 0002 |0247: aget-byte v11, v0, v2 │ │ -41d4c6: 5410 d85d |0249: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d4ca: 5400 e85d |024b: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de8 │ │ -41d4ce: 6e10 df60 0000 |024d: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ -41d4d4: 0b0c |0250: move-result-wide v12 │ │ -41d4d6: 7708 bab7 0600 |0251: invoke-static/range {v6, v7, v8, v9, v10, v11, v12, v13}, Lorg/purple/smoke/Messages;.steamShare:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;[B[B[BBJ)[B // method@b7ba │ │ -41d4dc: 0c00 |0254: move-result-object v0 │ │ -41d4de: 3800 2600 |0255: if-eqz v0, 027b // +0026 │ │ -41d4e2: 7100 02b7 0000 |0257: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ -41d4e8: 0c03 |025a: move-result-object v3 │ │ -41d4ea: 7110 a8b7 0000 |025b: invoke-static {v0}, Lorg/purple/smoke/Messages;.bytesToMessageString:([B)Ljava/lang/String; // method@b7a8 │ │ -41d4f0: 0c00 |025e: move-result-object v0 │ │ -41d4f2: 6e10 bc5c 0000 |025f: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -41d4f8: 0c00 |0262: move-result-object v0 │ │ -41d4fa: 6e30 14b7 2300 |0263: invoke-virtual {v3, v2, v0}, Lorg/purple/smoke/Kernel;.sendSteam:(Z[B)I // method@b714 │ │ -41d500: 2815 |0266: goto 027b // +0015 │ │ -41d502: 0d00 |0267: move-exception v0 │ │ -41d504: 1e03 |0268: monitor-exit v3 │ │ -41d506: 2700 |0269: throw v0 │ │ -41d508: 0d00 |026a: move-exception v0 │ │ -41d50a: 1e03 |026b: monitor-exit v3 │ │ -41d50c: 2700 |026c: throw v0 │ │ -41d50e: 0e00 |026d: return-void │ │ -41d510: 0d00 |026e: move-exception v0 │ │ -41d512: 1e03 |026f: monitor-exit v3 │ │ -41d514: 2700 |0270: throw v0 │ │ -41d516: 0e00 |0271: return-void │ │ -41d518: 5410 d85d |0272: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ -41d51c: 7110 1aba 0000 |0274: invoke-static {v0}, Lorg/purple/smoke/SteamReaderFull;.access$500:(Lorg/purple/smoke/SteamReaderFull;)Ljava/util/concurrent/atomic/AtomicBoolean; // method@ba1a │ │ -41d522: 0c00 |0277: move-result-object v0 │ │ -41d524: 6e20 d860 2000 |0278: invoke-virtual {v0, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -41d52a: 0e00 |027b: return-void │ │ -41d52c: 0002 0800 4bf6 60ac 2e99 acc4 2dc8 ... |027c: sparse-switch-data (34 units) │ │ -41d570: 0001 0800 0000 0000 8500 0000 7e00 ... |029e: packed-switch-data (20 units) │ │ +41d020: |[41d020] org.purple.smoke.SteamReaderFull$1.run:()V │ │ +41d030: 0801 1800 |0000: move-object/from16 v1, v24 │ │ +41d034: 1202 |0002: const/4 v2, #int 0 // #0 │ │ +41d036: 5410 d85d |0003: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d03a: 5400 dc5d |0005: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_canceled:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5ddc │ │ +41d03e: 6e10 d660 0000 |0007: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ +41d044: 0a00 |000a: move-result v0 │ │ +41d046: 3800 0300 |000b: if-eqz v0, 000e // +0003 │ │ +41d04a: 0e00 |000d: return-void │ │ +41d04c: 6200 d65d |000e: sget-object v0, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ +41d050: 5413 d85d |0010: iget-object v3, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d054: 5433 e45d |0012: iget-object v3, v3, Lorg/purple/smoke/SteamReaderFull;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5de4 │ │ +41d058: 6e10 da60 0300 |0014: invoke-virtual {v3}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +41d05e: 0a03 |0017: move-result v3 │ │ +41d060: 6e20 22b6 3000 |0018: invoke-virtual {v0, v3}, Lorg/purple/smoke/Database;.steamStatus:(I)Ljava/lang/String; // method@b622 │ │ +41d066: 0c00 |001b: move-result-object v0 │ │ +41d068: 6e10 cf5c 0000 |001c: invoke-virtual {v0}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@5ccf │ │ +41d06e: 0c00 |001f: move-result-object v0 │ │ +41d070: 6e10 d35c 0000 |0020: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ +41d076: 0c00 |0023: move-result-object v0 │ │ +41d078: 6e10 bf5c 0000 |0024: invoke-virtual {v0}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ +41d07e: 0a03 |0027: move-result v3 │ │ +41d080: 12f4 |0028: const/4 v4, #int -1 // #ff │ │ +41d082: 1215 |0029: const/4 v5, #int 1 // #1 │ │ +41d084: 2c03 5202 0000 |002a: sparse-switch v3, 0000027c // +00000252 │ │ +41d08a: 2851 |002d: goto 007e // +0051 │ │ +41d08c: 1a03 ab61 |002e: const-string v3, "deleted" // string@61ab │ │ +41d090: 6e20 b85c 3000 |0030: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41d096: 0a00 |0033: move-result v0 │ │ +41d098: 3800 4a00 |0034: if-eqz v0, 007e // +004a │ │ +41d09c: 1220 |0036: const/4 v0, #int 2 // #2 │ │ +41d09e: 2848 |0037: goto 007f // +0048 │ │ +41d0a0: 1a03 3494 |0038: const-string v3, "received private-key pair" // string@9434 │ │ +41d0a4: 6e20 b85c 3000 |003a: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41d0aa: 0a00 |003d: move-result v0 │ │ +41d0ac: 3800 4000 |003e: if-eqz v0, 007e // +0040 │ │ +41d0b0: 1240 |0040: const/4 v0, #int 4 // #4 │ │ +41d0b2: 283e |0041: goto 007f // +003e │ │ +41d0b4: 1a03 0000 |0042: const-string v3, "" // string@0000 │ │ +41d0b8: 6e20 b85c 3000 |0044: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41d0be: 0a00 |0047: move-result v0 │ │ +41d0c0: 3800 3600 |0048: if-eqz v0, 007e // +0036 │ │ +41d0c4: 1200 |004a: const/4 v0, #int 0 // #0 │ │ +41d0c6: 2834 |004b: goto 007f // +0034 │ │ +41d0c8: 1a03 0596 |004c: const-string v3, "rewind & resume" // string@9605 │ │ +41d0cc: 6e20 b85c 3000 |004e: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41d0d2: 0a00 |0051: move-result v0 │ │ +41d0d4: 3800 2c00 |0052: if-eqz v0, 007e // +002c │ │ +41d0d8: 1270 |0054: const/4 v0, #int 7 // #7 │ │ +41d0da: 282a |0055: goto 007f // +002a │ │ +41d0dc: 1a03 0496 |0056: const-string v3, "rewind" // string@9604 │ │ +41d0e0: 6e20 b85c 3000 |0058: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41d0e6: 0a00 |005b: move-result v0 │ │ +41d0e8: 3800 2200 |005c: if-eqz v0, 007e // +0022 │ │ +41d0ec: 1260 |005e: const/4 v0, #int 6 // #6 │ │ +41d0ee: 2820 |005f: goto 007f // +0020 │ │ +41d0f0: 1a03 e095 |0060: const-string v3, "resume" // string@95e0 │ │ +41d0f4: 6e20 b85c 3000 |0062: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41d0fa: 0a00 |0065: move-result v0 │ │ +41d0fc: 3800 1800 |0066: if-eqz v0, 007e // +0018 │ │ +41d100: 1250 |0068: const/4 v0, #int 5 // #5 │ │ +41d102: 2816 |0069: goto 007f // +0016 │ │ +41d104: 1a03 f190 |006a: const-string v3, "paused" // string@90f1 │ │ +41d108: 6e20 b85c 3000 |006c: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41d10e: 0a00 |006f: move-result v0 │ │ +41d110: 3800 0e00 |0070: if-eqz v0, 007e // +000e │ │ +41d114: 1230 |0072: const/4 v0, #int 3 // #3 │ │ +41d116: 280c |0073: goto 007f // +000c │ │ +41d118: 1a03 ae5e |0074: const-string v3, "completed" // string@5eae │ │ +41d11c: 6e20 b85c 3000 |0076: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41d122: 0a00 |0079: move-result v0 │ │ +41d124: 3800 0400 |007a: if-eqz v0, 007e // +0004 │ │ +41d128: 1210 |007c: const/4 v0, #int 1 // #1 │ │ +41d12a: 2802 |007d: goto 007f // +0002 │ │ +41d12c: 12f0 |007e: const/4 v0, #int -1 // #ff │ │ +41d12e: 2b00 1f02 0000 |007f: packed-switch v0, 0000029e // +0000021f │ │ +41d134: 5410 d85d |0082: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d138: 2900 8100 |0084: goto/16 0105 // +0081 │ │ +41d13c: 5410 d85d |0086: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d140: 7110 15ba 0000 |0088: invoke-static {v0}, Lorg/purple/smoke/SteamReaderFull;.access$000:(Lorg/purple/smoke/SteamReaderFull;)V // method@ba15 │ │ +41d146: 6206 d65d |008b: sget-object v6, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ +41d14a: 6207 d55d |008d: sget-object v7, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ +41d14e: 1a08 d2a2 |008f: const-string v8, "transferring" // string@a2d2 │ │ +41d152: 1a09 0000 |0091: const-string v9, "" // string@0000 │ │ +41d156: 5410 d85d |0093: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d15a: 5400 e45d |0095: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5de4 │ │ +41d15e: 6e10 da60 0000 |0097: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +41d164: 0a0a |009a: move-result v10 │ │ +41d166: 160b 0000 |009b: const-wide/16 v11, #int 0 // #0 │ │ +41d16a: 7407 39b6 0600 |009d: invoke-virtual/range {v6, v7, v8, v9, v10, v11, v12}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ +41d170: 2900 9b00 |00a0: goto/16 013b // +009b │ │ +41d174: 5410 d85d |00a2: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d178: 7110 15ba 0000 |00a4: invoke-static {v0}, Lorg/purple/smoke/SteamReaderFull;.access$000:(Lorg/purple/smoke/SteamReaderFull;)V // method@ba15 │ │ +41d17e: 6203 d65d |00a7: sget-object v3, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ +41d182: 6204 d55d |00a9: sget-object v4, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ +41d186: 1a05 f190 |00ab: const-string v5, "paused" // string@90f1 │ │ +41d18a: 1a06 0000 |00ad: const-string v6, "" // string@0000 │ │ +41d18e: 5410 d85d |00af: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d192: 5400 e45d |00b1: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5de4 │ │ +41d196: 6e10 da60 0000 |00b3: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +41d19c: 0a07 |00b6: move-result v7 │ │ +41d19e: 1608 0000 |00b7: const-wide/16 v8, #int 0 // #0 │ │ +41d1a2: 7407 39b6 0300 |00b9: invoke-virtual/range {v3, v4, v5, v6, v7, v8, v9}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ +41d1a8: 0e00 |00bc: return-void │ │ +41d1aa: 620a d65d |00bd: sget-object v10, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ +41d1ae: 620b d55d |00bf: sget-object v11, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ +41d1b2: 1a0c d2a2 |00c1: const-string v12, "transferring" // string@a2d2 │ │ +41d1b6: 1a0d 0000 |00c3: const-string v13, "" // string@0000 │ │ +41d1ba: 5410 d85d |00c5: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d1be: 5400 e45d |00c7: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5de4 │ │ +41d1c2: 6e10 da60 0000 |00c9: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +41d1c8: 0a0e |00cc: move-result v14 │ │ +41d1ca: 160f 0000 |00cd: const-wide/16 v15, #int 0 // #0 │ │ +41d1ce: 7407 39b6 0a00 |00cf: invoke-virtual/range {v10, v11, v12, v13, v14, v15, v16}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ +41d1d4: 2869 |00d2: goto 013b // +0069 │ │ +41d1d6: 6211 d65d |00d3: sget-object v17, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ +41d1da: 6212 d55d |00d5: sget-object v18, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ +41d1de: 1a13 d2a2 |00d7: const-string v19, "transferring" // string@a2d2 │ │ +41d1e2: 1a14 0000 |00d9: const-string v20, "" // string@0000 │ │ +41d1e6: 5410 d85d |00db: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d1ea: 5400 e45d |00dd: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5de4 │ │ +41d1ee: 6e10 da60 0000 |00df: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +41d1f4: 0a15 |00e2: move-result v21 │ │ +41d1f6: 1616 0000 |00e3: const-wide/16 v22, #int 0 // #0 │ │ +41d1fa: 7407 39b6 1100 |00e5: invoke-virtual/range {v17, v18, v19, v20, v21, v22, v23}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ +41d200: 2853 |00e8: goto 013b // +0053 │ │ +41d202: 6200 d65d |00e9: sget-object v0, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ +41d206: 6203 d55d |00eb: sget-object v3, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ +41d20a: 1a04 0000 |00ed: const-string v4, "" // string@0000 │ │ +41d20e: 1a05 c404 |00ef: const-string v5, "0.00 B / s" // string@04c4 │ │ +41d212: 5416 d85d |00f1: iget-object v6, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d216: 5466 e45d |00f3: iget-object v6, v6, Lorg/purple/smoke/SteamReaderFull;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5de4 │ │ +41d21a: 6e10 da60 0600 |00f5: invoke-virtual {v6}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +41d220: 0a06 |00f8: move-result v6 │ │ +41d222: 6e56 38b6 3054 |00f9: invoke-virtual {v0, v3, v4, v5, v6}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;I)V // method@b638 │ │ +41d228: 0e00 |00fc: return-void │ │ +41d22a: 5410 d85d |00fd: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d22e: 5400 dd5d |00ff: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_completed:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5ddd │ │ +41d232: 6e20 d860 5000 |0101: invoke-virtual {v0, v5}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +41d238: 0e00 |0104: return-void │ │ +41d23a: 7110 16ba 0000 |0105: invoke-static {v0}, Lorg/purple/smoke/SteamReaderFull;.access$100:(Lorg/purple/smoke/SteamReaderFull;)Ljava/util/concurrent/atomic/AtomicLong; // method@ba16 │ │ +41d240: 0c00 |0108: move-result-object v0 │ │ +41d242: 6e10 df60 0000 |0109: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ +41d248: 0b06 |010c: move-result-wide v6 │ │ +41d24a: 5410 d85d |010d: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d24e: 5400 e85d |010f: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de8 │ │ +41d252: 6e10 df60 0000 |0111: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ +41d258: 0b08 |0114: move-result-wide v8 │ │ +41d25a: 3100 0608 |0115: cmp-long v0, v6, v8 │ │ +41d25e: 3900 2400 |0117: if-nez v0, 013b // +0024 │ │ +41d262: 5410 d85d |0119: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d266: 5400 dd5d |011b: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_completed:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5ddd │ │ +41d26a: 6e20 d860 5000 |011d: invoke-virtual {v0, v5}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +41d270: 6206 d65d |0120: sget-object v6, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ +41d274: 6207 d55d |0122: sget-object v7, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ +41d278: 1a08 ae5e |0124: const-string v8, "completed" // string@5eae │ │ +41d27c: 1a09 0000 |0126: const-string v9, "" // string@0000 │ │ +41d280: 5410 d85d |0128: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d284: 5400 e45d |012a: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5de4 │ │ +41d288: 6e10 da60 0000 |012c: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +41d28e: 0a0a |012f: move-result v10 │ │ +41d290: 5410 d85d |0130: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d294: 5400 e85d |0132: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de8 │ │ +41d298: 6e10 df60 0000 |0134: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ +41d29e: 0b0b |0137: move-result-wide v11 │ │ +41d2a0: 7407 39b6 0600 |0138: invoke-virtual/range {v6, v7, v8, v9, v10, v11, v12}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ +41d2a6: 5410 d85d |013b: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d2aa: 7110 17ba 0000 |013d: invoke-static {v0}, Lorg/purple/smoke/SteamReaderFull;.access$200:(Lorg/purple/smoke/SteamReaderFull;)V // method@ba17 │ │ +41d2b0: 5410 d85d |0140: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d2b4: 7110 18ba 0000 |0142: invoke-static {v0}, Lorg/purple/smoke/SteamReaderFull;.access$300:(Lorg/purple/smoke/SteamReaderFull;)V // method@ba18 │ │ +41d2ba: 5410 d85d |0145: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d2be: 5400 dc5d |0147: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_canceled:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5ddc │ │ +41d2c2: 6e10 d660 0000 |0149: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ +41d2c8: 0a00 |014c: move-result v0 │ │ +41d2ca: 3900 2401 |014d: if-nez v0, 0271 // +0124 │ │ +41d2ce: 5410 d85d |014f: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d2d2: 5400 dd5d |0151: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_completed:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5ddd │ │ +41d2d6: 6e10 d660 0000 |0153: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ +41d2dc: 0a00 |0156: move-result v0 │ │ +41d2de: 3800 0400 |0157: if-eqz v0, 015b // +0004 │ │ +41d2e2: 2900 1801 |0159: goto/16 0271 // +0118 │ │ +41d2e6: 5410 d85d |015b: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d2ea: 5403 e05d |015d: iget-object v3, v0, Lorg/purple/smoke/SteamReaderFull;.m_fileInputStreamMutex:Ljava/lang/Object; // field@5de0 │ │ +41d2ee: 1d03 |015f: monitor-enter v3 │ │ +41d2f0: 5410 d85d |0160: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d2f4: 5400 df5d |0162: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_fileInputStream:Ljava/io/FileInputStream; // field@5ddf │ │ +41d2f8: 3900 0400 |0164: if-nez v0, 0168 // +0004 │ │ +41d2fc: 1e03 |0166: monitor-exit v3 │ │ +41d2fe: 0e00 |0167: return-void │ │ +41d300: 1e03 |0168: monitor-exit v3 │ │ +41d302: 5410 d75d |0169: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.m_keyStream:[B // field@5dd7 │ │ +41d306: 1303 6000 |016b: const/16 v3, #int 96 // #60 │ │ +41d30a: 3800 0500 |016d: if-eqz v0, 0172 // +0005 │ │ +41d30e: 2100 |016f: array-length v0, v0 │ │ +41d310: 3230 1e00 |0170: if-eq v0, v3, 018e // +001e │ │ +41d314: 6200 d65d |0172: sget-object v0, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ +41d318: 6206 d55d |0174: sget-object v6, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ +41d31c: 5417 d85d |0176: iget-object v7, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d320: 5477 e45d |0178: iget-object v7, v7, Lorg/purple/smoke/SteamReaderFull;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5de4 │ │ +41d324: 6e10 da60 0700 |017a: invoke-virtual {v7}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +41d32a: 0a07 |017d: move-result v7 │ │ +41d32c: b157 |017e: sub-int/2addr v7, v5 │ │ +41d32e: 6e40 13b6 6074 |017f: invoke-virtual {v0, v6, v4, v7}, Lorg/purple/smoke/Database;.readSteam:(Lorg/purple/smoke/Cryptography;II)Lorg/purple/smoke/SteamElement; // method@b613 │ │ +41d334: 0c00 |0182: move-result-object v0 │ │ +41d336: 5400 b15d |0183: iget-object v0, v0, Lorg/purple/smoke/SteamElement;.m_keyStream:[B // field@5db1 │ │ +41d33a: 5b10 d75d |0185: iput-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.m_keyStream:[B // field@5dd7 │ │ +41d33e: 3800 e600 |0187: if-eqz v0, 026d // +00e6 │ │ +41d342: 2100 |0189: array-length v0, v0 │ │ +41d344: 3230 0400 |018a: if-eq v0, v3, 018e // +0004 │ │ +41d348: 2900 e100 |018c: goto/16 026d // +00e1 │ │ +41d34c: 5410 d85d |018e: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d350: 7110 19ba 0000 |0190: invoke-static {v0}, Lorg/purple/smoke/SteamReaderFull;.access$400:(Lorg/purple/smoke/SteamReaderFull;)Ljava/lang/Object; // method@ba19 │ │ +41d356: 0c03 |0193: move-result-object v3 │ │ +41d358: 1d03 |0194: monitor-enter v3 │ │ +41d35a: 5410 d85d |0195: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d35e: 7110 19ba 0000 |0197: invoke-static {v0}, Lorg/purple/smoke/SteamReaderFull;.access$400:(Lorg/purple/smoke/SteamReaderFull;)Ljava/lang/Object; // method@ba19 │ │ +41d364: 0c00 |019a: move-result-object v0 │ │ +41d366: 1605 4c1d |019b: const-wide/16 v5, #int 7500 // #1d4c │ │ +41d36a: 6e30 985c 5006 |019d: invoke-virtual {v0, v5, v6}, Ljava/lang/Object;.wait:(J)V // method@5c98 │ │ +41d370: 1e03 |01a0: monitor-exit v3 │ │ +41d372: 5410 d85d |01a1: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d376: 7110 1aba 0000 |01a3: invoke-static {v0}, Lorg/purple/smoke/SteamReaderFull;.access$500:(Lorg/purple/smoke/SteamReaderFull;)Ljava/util/concurrent/atomic/AtomicBoolean; // method@ba1a │ │ +41d37c: 0c00 |01a6: move-result-object v0 │ │ +41d37e: 6e10 d660 0000 |01a7: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ +41d384: 0a00 |01aa: move-result v0 │ │ +41d386: 3900 3900 |01ab: if-nez v0, 01e4 // +0039 │ │ +41d38a: 7100 065d 0000 |01ad: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ +41d390: 0b07 |01b0: move-result-wide v7 │ │ +41d392: 5410 d85d |01b1: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d396: 7110 1bba 0000 |01b3: invoke-static {v0}, Lorg/purple/smoke/SteamReaderFull;.access$600:(Lorg/purple/smoke/SteamReaderFull;)Ljava/util/concurrent/atomic/AtomicLong; // method@ba1b │ │ +41d39c: 0c00 |01b6: move-result-object v0 │ │ +41d39e: 6e10 df60 0000 |01b7: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ +41d3a4: 0b09 |01ba: move-result-wide v9 │ │ +41d3a6: bc97 |01bb: sub-long/2addr v7, v9 │ │ +41d3a8: 3100 0705 |01bc: cmp-long v0, v7, v5 │ │ +41d3ac: 3d00 2500 |01be: if-lez v0, 01e3 // +0025 │ │ +41d3b0: 5410 d85d |01c0: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d3b4: 5400 dc5d |01c2: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_canceled:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5ddc │ │ +41d3b8: 6e10 d660 0000 |01c4: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ +41d3be: 0a00 |01c7: move-result v0 │ │ +41d3c0: 3900 1b00 |01c8: if-nez v0, 01e3 // +001b │ │ +41d3c4: 5410 d85d |01ca: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d3c8: 5400 dd5d |01cc: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_completed:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5ddd │ │ +41d3cc: 6e10 d660 0000 |01ce: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ +41d3d2: 0a00 |01d1: move-result v0 │ │ +41d3d4: 3800 0300 |01d2: if-eqz v0, 01d5 // +0003 │ │ +41d3d8: 280f |01d4: goto 01e3 // +000f │ │ +41d3da: 5410 d85d |01d5: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d3de: 7110 1bba 0000 |01d7: invoke-static {v0}, Lorg/purple/smoke/SteamReaderFull;.access$600:(Lorg/purple/smoke/SteamReaderFull;)Ljava/util/concurrent/atomic/AtomicLong; // method@ba1b │ │ +41d3e4: 0c00 |01da: move-result-object v0 │ │ +41d3e6: 7100 065d 0000 |01db: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ +41d3ec: 0b05 |01de: move-result-wide v5 │ │ +41d3ee: 6e30 e160 5006 |01df: invoke-virtual {v0, v5, v6}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +41d3f4: 2802 |01e2: goto 01e4 // +0002 │ │ +41d3f6: 0e00 |01e3: return-void │ │ +41d3f8: 1400 0080 0000 |01e4: const v0, #float 4.59177e-41 // #00008000 │ │ +41d3fe: 2300 ba1a |01e7: new-array v0, v0, [B // type@1aba │ │ +41d402: 5413 d85d |01e9: iget-object v3, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d406: 5433 e05d |01eb: iget-object v3, v3, Lorg/purple/smoke/SteamReaderFull;.m_fileInputStreamMutex:Ljava/lang/Object; // field@5de0 │ │ +41d40a: 1d03 |01ed: monitor-enter v3 │ │ +41d40c: 5415 d85d |01ee: iget-object v5, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d410: 5455 df5d |01f0: iget-object v5, v5, Lorg/purple/smoke/SteamReaderFull;.m_fileInputStream:Ljava/io/FileInputStream; // field@5ddf │ │ +41d414: 3905 0400 |01f2: if-nez v5, 01f6 // +0004 │ │ +41d418: 1e03 |01f4: monitor-exit v3 │ │ +41d41a: 0e00 |01f5: return-void │ │ +41d41c: 5415 d85d |01f6: iget-object v5, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d420: 5455 df5d |01f8: iget-object v5, v5, Lorg/purple/smoke/SteamReaderFull;.m_fileInputStream:Ljava/io/FileInputStream; // field@5ddf │ │ +41d424: 6e10 a85b 0500 |01fa: invoke-virtual {v5}, Ljava/io/FileInputStream;.getChannel:()Ljava/nio/channels/FileChannel; // method@5ba8 │ │ +41d42a: 0c05 |01fd: move-result-object v5 │ │ +41d42c: 5416 d85d |01fe: iget-object v6, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d430: 5466 e85d |0200: iget-object v6, v6, Lorg/purple/smoke/SteamReaderFull;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de8 │ │ +41d434: 6e10 df60 0600 |0202: invoke-virtual {v6}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ +41d43a: 0b06 |0205: move-result-wide v6 │ │ +41d43c: 6e30 cb5d 6507 |0206: invoke-virtual {v5, v6, v7}, Ljava/nio/channels/FileChannel;.position:(J)Ljava/nio/channels/FileChannel; // method@5dcb │ │ +41d442: 5415 d85d |0209: iget-object v5, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d446: 5455 df5d |020b: iget-object v5, v5, Lorg/purple/smoke/SteamReaderFull;.m_fileInputStream:Ljava/io/FileInputStream; // field@5ddf │ │ +41d44a: 6e20 a95b 0500 |020d: invoke-virtual {v5, v0}, Ljava/io/FileInputStream;.read:([B)I // method@5ba9 │ │ +41d450: 0a05 |0210: move-result v5 │ │ +41d452: 1e03 |0211: monitor-exit v3 │ │ +41d454: 3345 0c00 |0212: if-ne v5, v4, 021e // +000c │ │ +41d458: 5410 d85d |0214: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d45c: 7110 1aba 0000 |0216: invoke-static {v0}, Lorg/purple/smoke/SteamReaderFull;.access$500:(Lorg/purple/smoke/SteamReaderFull;)Ljava/util/concurrent/atomic/AtomicBoolean; // method@ba1a │ │ +41d462: 0c00 |0219: move-result-object v0 │ │ +41d464: 6e20 d860 2000 |021a: invoke-virtual {v0, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +41d46a: 0e00 |021d: return-void │ │ +41d46c: 5413 d85d |021e: iget-object v3, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d470: 7110 1cba 0300 |0220: invoke-static {v3}, Lorg/purple/smoke/SteamReaderFull;.access$700:(Lorg/purple/smoke/SteamReaderFull;)Ljava/util/concurrent/atomic/AtomicLong; // method@ba1c │ │ +41d476: 0c03 |0223: move-result-object v3 │ │ +41d478: 8156 |0224: int-to-long v6, v5 │ │ +41d47a: 6e30 e160 6307 |0225: invoke-virtual {v3, v6, v7}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +41d480: 5413 d85d |0228: iget-object v3, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d484: 7110 1aba 0300 |022a: invoke-static {v3}, Lorg/purple/smoke/SteamReaderFull;.access$500:(Lorg/purple/smoke/SteamReaderFull;)Ljava/util/concurrent/atomic/AtomicBoolean; // method@ba1a │ │ +41d48a: 0c03 |022d: move-result-object v3 │ │ +41d48c: 6e20 d860 2300 |022e: invoke-virtual {v3, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +41d492: 6206 d55d |0231: sget-object v6, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ +41d496: 5413 d85d |0233: iget-object v3, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d49a: 7110 1dba 0300 |0235: invoke-static {v3}, Lorg/purple/smoke/SteamReaderFull;.access$800:(Lorg/purple/smoke/SteamReaderFull;)Ljava/lang/String; // method@ba1d │ │ +41d4a0: 0c07 |0238: move-result-object v7 │ │ +41d4a2: 5413 d85d |0239: iget-object v3, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d4a6: 7110 1eba 0300 |023b: invoke-static {v3}, Lorg/purple/smoke/SteamReaderFull;.access$900:(Lorg/purple/smoke/SteamReaderFull;)[B // method@ba1e │ │ +41d4ac: 0c08 |023e: move-result-object v8 │ │ +41d4ae: 5419 d75d |023f: iget-object v9, v1, Lorg/purple/smoke/SteamReaderFull$1;.m_keyStream:[B // field@5dd7 │ │ +41d4b2: 7130 b45f 2005 |0241: invoke-static {v0, v2, v5}, Ljava/util/Arrays;.copyOfRange:([BII)[B // method@5fb4 │ │ +41d4b8: 0c0a |0244: move-result-object v10 │ │ +41d4ba: 6200 2e53 |0245: sget-object v0, Lorg/purple/smoke/Messages;.STEAM_SHARE:[B // field@532e │ │ +41d4be: 480b 0002 |0247: aget-byte v11, v0, v2 │ │ +41d4c2: 5410 d85d |0249: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d4c6: 5400 e85d |024b: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de8 │ │ +41d4ca: 6e10 df60 0000 |024d: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ +41d4d0: 0b0c |0250: move-result-wide v12 │ │ +41d4d2: 7708 bab7 0600 |0251: invoke-static/range {v6, v7, v8, v9, v10, v11, v12, v13}, Lorg/purple/smoke/Messages;.steamShare:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;[B[B[BBJ)[B // method@b7ba │ │ +41d4d8: 0c00 |0254: move-result-object v0 │ │ +41d4da: 3800 2600 |0255: if-eqz v0, 027b // +0026 │ │ +41d4de: 7100 02b7 0000 |0257: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ +41d4e4: 0c03 |025a: move-result-object v3 │ │ +41d4e6: 7110 a8b7 0000 |025b: invoke-static {v0}, Lorg/purple/smoke/Messages;.bytesToMessageString:([B)Ljava/lang/String; // method@b7a8 │ │ +41d4ec: 0c00 |025e: move-result-object v0 │ │ +41d4ee: 6e10 bc5c 0000 |025f: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +41d4f4: 0c00 |0262: move-result-object v0 │ │ +41d4f6: 6e30 14b7 2300 |0263: invoke-virtual {v3, v2, v0}, Lorg/purple/smoke/Kernel;.sendSteam:(Z[B)I // method@b714 │ │ +41d4fc: 2815 |0266: goto 027b // +0015 │ │ +41d4fe: 0d00 |0267: move-exception v0 │ │ +41d500: 1e03 |0268: monitor-exit v3 │ │ +41d502: 2700 |0269: throw v0 │ │ +41d504: 0d00 |026a: move-exception v0 │ │ +41d506: 1e03 |026b: monitor-exit v3 │ │ +41d508: 2700 |026c: throw v0 │ │ +41d50a: 0e00 |026d: return-void │ │ +41d50c: 0d00 |026e: move-exception v0 │ │ +41d50e: 1e03 |026f: monitor-exit v3 │ │ +41d510: 2700 |0270: throw v0 │ │ +41d512: 0e00 |0271: return-void │ │ +41d514: 5410 d85d |0272: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull$1;.this$0:Lorg/purple/smoke/SteamReaderFull; // field@5dd8 │ │ +41d518: 7110 1aba 0000 |0274: invoke-static {v0}, Lorg/purple/smoke/SteamReaderFull;.access$500:(Lorg/purple/smoke/SteamReaderFull;)Ljava/util/concurrent/atomic/AtomicBoolean; // method@ba1a │ │ +41d51e: 0c00 |0277: move-result-object v0 │ │ +41d520: 6e20 d860 2000 |0278: invoke-virtual {v0, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +41d526: 0e00 |027b: return-void │ │ +41d528: 0002 0800 4bf6 60ac 2e99 acc4 2dc8 ... |027c: sparse-switch-data (34 units) │ │ +41d56c: 0001 0800 0000 0000 8500 0000 7e00 ... |029e: packed-switch-data (20 units) │ │ catches : 13 │ │ 0x0003 - 0x0160 │ │ Ljava/lang/Exception; -> 0x0272 │ │ 0x0160 - 0x0169 │ │ -> 0x026e │ │ 0x0169 - 0x0195 │ │ Ljava/lang/Exception; -> 0x0272 │ │ @@ -736902,18 +736901,18 @@ │ │ type : '(Lorg/purple/smoke/SteamReaderSimple;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -41dbf8: |[41dbf8] org.purple.smoke.SteamReaderSimple$1.:(Lorg/purple/smoke/SteamReaderSimple;)V │ │ -41dc08: 5b01 f15d |0000: iput-object v1, v0, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ -41dc0c: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41dc12: 0e00 |0005: return-void │ │ +41dbf4: |[41dbf4] org.purple.smoke.SteamReaderSimple$1.:(Lorg/purple/smoke/SteamReaderSimple;)V │ │ +41dc04: 5b01 f15d |0000: iput-object v1, v0, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ +41dc08: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41dc0e: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=67 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/SteamReaderSimple$1; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/SteamReaderSimple; │ │ │ │ @@ -736923,241 +736922,241 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 13 │ │ ins : 1 │ │ outs : 7 │ │ insns size : 464 16-bit code units │ │ -41dc14: |[41dc14] org.purple.smoke.SteamReaderSimple$1.run:()V │ │ -41dc24: 54c0 f15d |0000: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ -41dc28: 5400 f35d |0002: iget-object v0, v0, Lorg/purple/smoke/SteamReaderSimple;.m_canceled:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5df3 │ │ -41dc2c: 6e10 d660 0000 |0004: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ -41dc32: 0a00 |0007: move-result v0 │ │ -41dc34: 3800 0300 |0008: if-eqz v0, 000b // +0003 │ │ -41dc38: 0e00 |000a: return-void │ │ -41dc3a: 6200 d65d |000b: sget-object v0, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ -41dc3e: 54c1 f15d |000d: iget-object v1, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ -41dc42: 5411 f85d |000f: iget-object v1, v1, Lorg/purple/smoke/SteamReaderSimple;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5df8 │ │ -41dc46: 6e10 da60 0100 |0011: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -41dc4c: 0a01 |0014: move-result v1 │ │ -41dc4e: 6e20 22b6 1000 |0015: invoke-virtual {v0, v1}, Lorg/purple/smoke/Database;.steamStatus:(I)Ljava/lang/String; // method@b622 │ │ -41dc54: 0c00 |0018: move-result-object v0 │ │ -41dc56: 6e10 cf5c 0000 |0019: invoke-virtual {v0}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@5ccf │ │ -41dc5c: 0c00 |001c: move-result-object v0 │ │ -41dc5e: 6e10 d35c 0000 |001d: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ -41dc64: 0c00 |0020: move-result-object v0 │ │ -41dc66: 6e10 bf5c 0000 |0021: invoke-virtual {v0}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ -41dc6c: 0a01 |0024: move-result v1 │ │ -41dc6e: 1202 |0025: const/4 v2, #int 0 // #0 │ │ -41dc70: 12f3 |0026: const/4 v3, #int -1 // #ff │ │ -41dc72: 1214 |0027: const/4 v4, #int 1 // #1 │ │ -41dc74: 2c01 7801 0000 |0028: sparse-switch v1, 000001a0 // +00000178 │ │ -41dc7a: 2847 |002b: goto 0072 // +0047 │ │ -41dc7c: 1a01 ab61 |002c: const-string v1, "deleted" // string@61ab │ │ -41dc80: 6e20 b85c 1000 |002e: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41dc86: 0a00 |0031: move-result v0 │ │ -41dc88: 3800 4000 |0032: if-eqz v0, 0072 // +0040 │ │ -41dc8c: 1220 |0034: const/4 v0, #int 2 // #2 │ │ -41dc8e: 283e |0035: goto 0073 // +003e │ │ -41dc90: 1a01 0000 |0036: const-string v1, "" // string@0000 │ │ -41dc94: 6e20 b85c 1000 |0038: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41dc9a: 0a00 |003b: move-result v0 │ │ -41dc9c: 3800 3600 |003c: if-eqz v0, 0072 // +0036 │ │ -41dca0: 1200 |003e: const/4 v0, #int 0 // #0 │ │ -41dca2: 2834 |003f: goto 0073 // +0034 │ │ -41dca4: 1a01 0596 |0040: const-string v1, "rewind & resume" // string@9605 │ │ -41dca8: 6e20 b85c 1000 |0042: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41dcae: 0a00 |0045: move-result v0 │ │ -41dcb0: 3800 2c00 |0046: if-eqz v0, 0072 // +002c │ │ -41dcb4: 1260 |0048: const/4 v0, #int 6 // #6 │ │ -41dcb6: 282a |0049: goto 0073 // +002a │ │ -41dcb8: 1a01 0496 |004a: const-string v1, "rewind" // string@9604 │ │ -41dcbc: 6e20 b85c 1000 |004c: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41dcc2: 0a00 |004f: move-result v0 │ │ -41dcc4: 3800 2200 |0050: if-eqz v0, 0072 // +0022 │ │ -41dcc8: 1250 |0052: const/4 v0, #int 5 // #5 │ │ -41dcca: 2820 |0053: goto 0073 // +0020 │ │ -41dccc: 1a01 e095 |0054: const-string v1, "resume" // string@95e0 │ │ -41dcd0: 6e20 b85c 1000 |0056: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41dcd6: 0a00 |0059: move-result v0 │ │ -41dcd8: 3800 1800 |005a: if-eqz v0, 0072 // +0018 │ │ -41dcdc: 1240 |005c: const/4 v0, #int 4 // #4 │ │ -41dcde: 2816 |005d: goto 0073 // +0016 │ │ -41dce0: 1a01 f190 |005e: const-string v1, "paused" // string@90f1 │ │ -41dce4: 6e20 b85c 1000 |0060: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41dcea: 0a00 |0063: move-result v0 │ │ -41dcec: 3800 0e00 |0064: if-eqz v0, 0072 // +000e │ │ -41dcf0: 1230 |0066: const/4 v0, #int 3 // #3 │ │ -41dcf2: 280c |0067: goto 0073 // +000c │ │ -41dcf4: 1a01 ae5e |0068: const-string v1, "completed" // string@5eae │ │ -41dcf8: 6e20 b85c 1000 |006a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41dcfe: 0a00 |006d: move-result v0 │ │ -41dd00: 3800 0400 |006e: if-eqz v0, 0072 // +0004 │ │ -41dd04: 1210 |0070: const/4 v0, #int 1 // #1 │ │ -41dd06: 2802 |0071: goto 0073 // +0002 │ │ -41dd08: 12f0 |0072: const/4 v0, #int -1 // #ff │ │ -41dd0a: 2b00 4b01 0000 |0073: packed-switch v0, 000001be // +0000014b │ │ -41dd10: 2869 |0076: goto 00df // +0069 │ │ -41dd12: 54c0 f15d |0077: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ -41dd16: 7110 2bba 0000 |0079: invoke-static {v0}, Lorg/purple/smoke/SteamReaderSimple;.access$000:(Lorg/purple/smoke/SteamReaderSimple;)V // method@ba2b │ │ -41dd1c: 6205 d65d |007c: sget-object v5, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ -41dd20: 6206 d55d |007e: sget-object v6, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ -41dd24: 1a07 d2a2 |0080: const-string v7, "transferring" // string@a2d2 │ │ -41dd28: 1a08 0000 |0082: const-string v8, "" // string@0000 │ │ -41dd2c: 54c0 f15d |0084: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ -41dd30: 5400 f85d |0086: iget-object v0, v0, Lorg/purple/smoke/SteamReaderSimple;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5df8 │ │ -41dd34: 6e10 da60 0000 |0088: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -41dd3a: 0a09 |008b: move-result v9 │ │ -41dd3c: 160a 0000 |008c: const-wide/16 v10, #int 0 // #0 │ │ -41dd40: 7407 39b6 0500 |008e: invoke-virtual/range {v5, v6, v7, v8, v9, v10, v11}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ -41dd46: 284e |0091: goto 00df // +004e │ │ -41dd48: 54c0 f15d |0092: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ -41dd4c: 7110 2bba 0000 |0094: invoke-static {v0}, Lorg/purple/smoke/SteamReaderSimple;.access$000:(Lorg/purple/smoke/SteamReaderSimple;)V // method@ba2b │ │ -41dd52: 6201 d65d |0097: sget-object v1, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ -41dd56: 6202 d55d |0099: sget-object v2, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ -41dd5a: 1a03 f190 |009b: const-string v3, "paused" // string@90f1 │ │ -41dd5e: 1a04 0000 |009d: const-string v4, "" // string@0000 │ │ -41dd62: 54c0 f15d |009f: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ -41dd66: 5400 f85d |00a1: iget-object v0, v0, Lorg/purple/smoke/SteamReaderSimple;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5df8 │ │ -41dd6a: 6e10 da60 0000 |00a3: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -41dd70: 0a05 |00a6: move-result v5 │ │ -41dd72: 1606 0000 |00a7: const-wide/16 v6, #int 0 // #0 │ │ -41dd76: 7407 39b6 0100 |00a9: invoke-virtual/range {v1, v2, v3, v4, v5, v6, v7}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ -41dd7c: 0e00 |00ac: return-void │ │ -41dd7e: 6205 d65d |00ad: sget-object v5, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ -41dd82: 6206 d55d |00af: sget-object v6, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ -41dd86: 1a07 d2a2 |00b1: const-string v7, "transferring" // string@a2d2 │ │ -41dd8a: 1a08 0000 |00b3: const-string v8, "" // string@0000 │ │ -41dd8e: 54c0 f15d |00b5: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ -41dd92: 5400 f85d |00b7: iget-object v0, v0, Lorg/purple/smoke/SteamReaderSimple;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5df8 │ │ -41dd96: 6e10 da60 0000 |00b9: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -41dd9c: 0a09 |00bc: move-result v9 │ │ -41dd9e: 160a 0000 |00bd: const-wide/16 v10, #int 0 // #0 │ │ -41dda2: 7407 39b6 0500 |00bf: invoke-virtual/range {v5, v6, v7, v8, v9, v10, v11}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ -41dda8: 281d |00c2: goto 00df // +001d │ │ -41ddaa: 6200 d65d |00c3: sget-object v0, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ -41ddae: 6201 d55d |00c5: sget-object v1, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ -41ddb2: 1a02 0000 |00c7: const-string v2, "" // string@0000 │ │ -41ddb6: 1a03 c404 |00c9: const-string v3, "0.00 B / s" // string@04c4 │ │ -41ddba: 54c4 f15d |00cb: iget-object v4, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ -41ddbe: 5444 f85d |00cd: iget-object v4, v4, Lorg/purple/smoke/SteamReaderSimple;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5df8 │ │ -41ddc2: 6e10 da60 0400 |00cf: invoke-virtual {v4}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -41ddc8: 0a04 |00d2: move-result v4 │ │ -41ddca: 6e54 38b6 1032 |00d3: invoke-virtual {v0, v1, v2, v3, v4}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;I)V // method@b638 │ │ -41ddd0: 0e00 |00d6: return-void │ │ -41ddd2: 54c0 f15d |00d7: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ -41ddd6: 5400 f45d |00d9: iget-object v0, v0, Lorg/purple/smoke/SteamReaderSimple;.m_completed:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5df4 │ │ -41ddda: 6e20 d860 4000 |00db: invoke-virtual {v0, v4}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -41dde0: 0e00 |00de: return-void │ │ -41dde2: 7100 02b7 0000 |00df: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ -41dde8: 0c00 |00e2: move-result-object v0 │ │ -41ddea: 6e10 07b7 0000 |00e3: invoke-virtual {v0}, Lorg/purple/smoke/Kernel;.nextSimpleSteamOid:()I // method@b707 │ │ -41ddf0: 0a00 |00e6: move-result v0 │ │ -41ddf2: 54c1 f15d |00e7: iget-object v1, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ -41ddf6: 5411 f85d |00e9: iget-object v1, v1, Lorg/purple/smoke/SteamReaderSimple;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5df8 │ │ -41ddfa: 6e10 da60 0100 |00eb: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -41de00: 0a01 |00ee: move-result v1 │ │ -41de02: 3310 ad00 |00ef: if-ne v0, v1, 019c // +00ad │ │ -41de06: 54c0 f15d |00f1: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ -41de0a: 5400 f35d |00f3: iget-object v0, v0, Lorg/purple/smoke/SteamReaderSimple;.m_canceled:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5df3 │ │ -41de0e: 6e10 d660 0000 |00f5: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ -41de14: 0a00 |00f8: move-result v0 │ │ -41de16: 3800 0400 |00f9: if-eqz v0, 00fd // +0004 │ │ -41de1a: 2900 a100 |00fb: goto/16 019c // +00a1 │ │ -41de1e: 54c0 f15d |00fd: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ -41de22: 5400 f65d |00ff: iget-object v0, v0, Lorg/purple/smoke/SteamReaderSimple;.m_fileInputStreamMutex:Ljava/lang/Object; // field@5df6 │ │ -41de26: 1d00 |0101: monitor-enter v0 │ │ -41de28: 54c1 f15d |0102: iget-object v1, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ -41de2c: 5411 f55d |0104: iget-object v1, v1, Lorg/purple/smoke/SteamReaderSimple;.m_fileInputStream:Ljava/io/FileInputStream; // field@5df5 │ │ -41de30: 3901 0400 |0106: if-nez v1, 010a // +0004 │ │ -41de34: 1e00 |0108: monitor-exit v0 │ │ -41de36: 0e00 |0109: return-void │ │ -41de38: 54c1 f15d |010a: iget-object v1, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ -41de3c: 5411 f55d |010c: iget-object v1, v1, Lorg/purple/smoke/SteamReaderSimple;.m_fileInputStream:Ljava/io/FileInputStream; // field@5df5 │ │ -41de40: 6e10 a85b 0100 |010e: invoke-virtual {v1}, Ljava/io/FileInputStream;.getChannel:()Ljava/nio/channels/FileChannel; // method@5ba8 │ │ -41de46: 0c01 |0111: move-result-object v1 │ │ -41de48: 54c5 f15d |0112: iget-object v5, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ -41de4c: 5455 fb5d |0114: iget-object v5, v5, Lorg/purple/smoke/SteamReaderSimple;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5dfb │ │ -41de50: 6e10 df60 0500 |0116: invoke-virtual {v5}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ -41de56: 0b05 |0119: move-result-wide v5 │ │ -41de58: 6e30 cb5d 5106 |011a: invoke-virtual {v1, v5, v6}, Ljava/nio/channels/FileChannel;.position:(J)Ljava/nio/channels/FileChannel; // method@5dcb │ │ -41de5e: 1e00 |011d: monitor-exit v0 │ │ -41de60: 1300 0020 |011e: const/16 v0, #int 8192 // #2000 │ │ -41de64: 2300 ba1a |0120: new-array v0, v0, [B // type@1aba │ │ -41de68: 54c1 f15d |0122: iget-object v1, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ -41de6c: 5411 f65d |0124: iget-object v1, v1, Lorg/purple/smoke/SteamReaderSimple;.m_fileInputStreamMutex:Ljava/lang/Object; // field@5df6 │ │ -41de70: 1d01 |0126: monitor-enter v1 │ │ -41de72: 54c5 f15d |0127: iget-object v5, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ -41de76: 5455 f55d |0129: iget-object v5, v5, Lorg/purple/smoke/SteamReaderSimple;.m_fileInputStream:Ljava/io/FileInputStream; // field@5df5 │ │ -41de7a: 3905 0400 |012b: if-nez v5, 012f // +0004 │ │ -41de7e: 1e01 |012d: monitor-exit v1 │ │ -41de80: 0e00 |012e: return-void │ │ -41de82: 54c5 f15d |012f: iget-object v5, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ -41de86: 5455 f55d |0131: iget-object v5, v5, Lorg/purple/smoke/SteamReaderSimple;.m_fileInputStream:Ljava/io/FileInputStream; // field@5df5 │ │ -41de8a: 6e20 a95b 0500 |0133: invoke-virtual {v5, v0}, Ljava/io/FileInputStream;.read:([B)I // method@5ba9 │ │ -41de90: 0a05 |0136: move-result v5 │ │ -41de92: 1e01 |0137: monitor-exit v1 │ │ -41de94: 3335 2500 |0138: if-ne v5, v3, 015d // +0025 │ │ -41de98: 54c0 f15d |013a: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ -41de9c: 5400 f45d |013c: iget-object v0, v0, Lorg/purple/smoke/SteamReaderSimple;.m_completed:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5df4 │ │ -41dea0: 6e20 d860 4000 |013e: invoke-virtual {v0, v4}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -41dea6: 6205 d65d |0141: sget-object v5, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ -41deaa: 6206 d55d |0143: sget-object v6, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ -41deae: 1a07 ae5e |0145: const-string v7, "completed" // string@5eae │ │ -41deb2: 1a08 0000 |0147: const-string v8, "" // string@0000 │ │ -41deb6: 54c0 f15d |0149: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ -41deba: 5400 f85d |014b: iget-object v0, v0, Lorg/purple/smoke/SteamReaderSimple;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5df8 │ │ -41debe: 6e10 da60 0000 |014d: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -41dec4: 0a09 |0150: move-result v9 │ │ -41dec6: 54c0 f15d |0151: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ -41deca: 5400 fb5d |0153: iget-object v0, v0, Lorg/purple/smoke/SteamReaderSimple;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5dfb │ │ -41dece: 6e10 df60 0000 |0155: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ -41ded4: 0b0a |0158: move-result-wide v10 │ │ -41ded6: 7407 39b6 0500 |0159: invoke-virtual/range {v5, v6, v7, v8, v9, v10, v11}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ -41dedc: 0e00 |015c: return-void │ │ -41dede: 7100 02b7 0000 |015d: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ -41dee4: 0c01 |0160: move-result-object v1 │ │ -41dee6: 7130 b45f 2005 |0161: invoke-static {v0, v2, v5}, Ljava/util/Arrays;.copyOfRange:([BII)[B // method@5fb4 │ │ -41deec: 0c00 |0164: move-result-object v0 │ │ -41deee: 6e30 14b7 4100 |0165: invoke-virtual {v1, v4, v0}, Lorg/purple/smoke/Kernel;.sendSteam:(Z[B)I // method@b714 │ │ -41def4: 0a00 |0168: move-result v0 │ │ -41def6: 54c1 f15d |0169: iget-object v1, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ -41defa: 8102 |016b: int-to-long v2, v0 │ │ -41defc: 7130 2cba 2103 |016c: invoke-static {v1, v2, v3}, Lorg/purple/smoke/SteamReaderSimple;.access$100:(Lorg/purple/smoke/SteamReaderSimple;J)V // method@ba2c │ │ -41df02: 54c0 f15d |016f: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ -41df06: 5400 fb5d |0171: iget-object v0, v0, Lorg/purple/smoke/SteamReaderSimple;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5dfb │ │ -41df0a: 6e30 de60 2003 |0173: invoke-virtual {v0, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.addAndGet:(J)J // method@60de │ │ -41df10: 6204 d65d |0176: sget-object v4, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ -41df14: 6205 d55d |0178: sget-object v5, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ -41df18: 1a06 0000 |017a: const-string v6, "" // string@0000 │ │ -41df1c: 54c0 f15d |017c: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ -41df20: 6e10 31ba 0000 |017e: invoke-virtual {v0}, Lorg/purple/smoke/SteamReaderSimple;.prettyRate:()Ljava/lang/String; // method@ba31 │ │ -41df26: 0c07 |0181: move-result-object v7 │ │ -41df28: 54c0 f15d |0182: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ -41df2c: 5400 f85d |0184: iget-object v0, v0, Lorg/purple/smoke/SteamReaderSimple;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5df8 │ │ -41df30: 6e10 da60 0000 |0186: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -41df36: 0a08 |0189: move-result v8 │ │ -41df38: 54c0 f15d |018a: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ -41df3c: 5400 fb5d |018c: iget-object v0, v0, Lorg/purple/smoke/SteamReaderSimple;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5dfb │ │ -41df40: 6e10 df60 0000 |018e: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ -41df46: 0b09 |0191: move-result-wide v9 │ │ -41df48: 7407 39b6 0400 |0192: invoke-virtual/range {v4, v5, v6, v7, v8, v9, v10}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ -41df4e: 280a |0195: goto 019f // +000a │ │ -41df50: 0d00 |0196: move-exception v0 │ │ -41df52: 1e01 |0197: monitor-exit v1 │ │ -41df54: 2700 |0198: throw v0 │ │ -41df56: 0d01 |0199: move-exception v1 │ │ -41df58: 1e00 |019a: monitor-exit v0 │ │ -41df5a: 2701 |019b: throw v1 │ │ -41df5c: 0e00 |019c: return-void │ │ -41df5e: 0d00 |019d: move-exception v0 │ │ -41df60: 2700 |019e: throw v0 │ │ -41df62: 0e00 |019f: return-void │ │ -41df64: 0002 0700 4bf6 60ac 2e99 acc4 2dc8 ... |01a0: sparse-switch-data (30 units) │ │ -41dfa0: 0001 0700 0000 0000 6b00 0000 6400 ... |01be: packed-switch-data (18 units) │ │ +41dc10: |[41dc10] org.purple.smoke.SteamReaderSimple$1.run:()V │ │ +41dc20: 54c0 f15d |0000: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ +41dc24: 5400 f35d |0002: iget-object v0, v0, Lorg/purple/smoke/SteamReaderSimple;.m_canceled:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5df3 │ │ +41dc28: 6e10 d660 0000 |0004: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ +41dc2e: 0a00 |0007: move-result v0 │ │ +41dc30: 3800 0300 |0008: if-eqz v0, 000b // +0003 │ │ +41dc34: 0e00 |000a: return-void │ │ +41dc36: 6200 d65d |000b: sget-object v0, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ +41dc3a: 54c1 f15d |000d: iget-object v1, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ +41dc3e: 5411 f85d |000f: iget-object v1, v1, Lorg/purple/smoke/SteamReaderSimple;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5df8 │ │ +41dc42: 6e10 da60 0100 |0011: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +41dc48: 0a01 |0014: move-result v1 │ │ +41dc4a: 6e20 22b6 1000 |0015: invoke-virtual {v0, v1}, Lorg/purple/smoke/Database;.steamStatus:(I)Ljava/lang/String; // method@b622 │ │ +41dc50: 0c00 |0018: move-result-object v0 │ │ +41dc52: 6e10 cf5c 0000 |0019: invoke-virtual {v0}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@5ccf │ │ +41dc58: 0c00 |001c: move-result-object v0 │ │ +41dc5a: 6e10 d35c 0000 |001d: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ +41dc60: 0c00 |0020: move-result-object v0 │ │ +41dc62: 6e10 bf5c 0000 |0021: invoke-virtual {v0}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ +41dc68: 0a01 |0024: move-result v1 │ │ +41dc6a: 1202 |0025: const/4 v2, #int 0 // #0 │ │ +41dc6c: 12f3 |0026: const/4 v3, #int -1 // #ff │ │ +41dc6e: 1214 |0027: const/4 v4, #int 1 // #1 │ │ +41dc70: 2c01 7801 0000 |0028: sparse-switch v1, 000001a0 // +00000178 │ │ +41dc76: 2847 |002b: goto 0072 // +0047 │ │ +41dc78: 1a01 ab61 |002c: const-string v1, "deleted" // string@61ab │ │ +41dc7c: 6e20 b85c 1000 |002e: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41dc82: 0a00 |0031: move-result v0 │ │ +41dc84: 3800 4000 |0032: if-eqz v0, 0072 // +0040 │ │ +41dc88: 1220 |0034: const/4 v0, #int 2 // #2 │ │ +41dc8a: 283e |0035: goto 0073 // +003e │ │ +41dc8c: 1a01 0000 |0036: const-string v1, "" // string@0000 │ │ +41dc90: 6e20 b85c 1000 |0038: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41dc96: 0a00 |003b: move-result v0 │ │ +41dc98: 3800 3600 |003c: if-eqz v0, 0072 // +0036 │ │ +41dc9c: 1200 |003e: const/4 v0, #int 0 // #0 │ │ +41dc9e: 2834 |003f: goto 0073 // +0034 │ │ +41dca0: 1a01 0596 |0040: const-string v1, "rewind & resume" // string@9605 │ │ +41dca4: 6e20 b85c 1000 |0042: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41dcaa: 0a00 |0045: move-result v0 │ │ +41dcac: 3800 2c00 |0046: if-eqz v0, 0072 // +002c │ │ +41dcb0: 1260 |0048: const/4 v0, #int 6 // #6 │ │ +41dcb2: 282a |0049: goto 0073 // +002a │ │ +41dcb4: 1a01 0496 |004a: const-string v1, "rewind" // string@9604 │ │ +41dcb8: 6e20 b85c 1000 |004c: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41dcbe: 0a00 |004f: move-result v0 │ │ +41dcc0: 3800 2200 |0050: if-eqz v0, 0072 // +0022 │ │ +41dcc4: 1250 |0052: const/4 v0, #int 5 // #5 │ │ +41dcc6: 2820 |0053: goto 0073 // +0020 │ │ +41dcc8: 1a01 e095 |0054: const-string v1, "resume" // string@95e0 │ │ +41dccc: 6e20 b85c 1000 |0056: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41dcd2: 0a00 |0059: move-result v0 │ │ +41dcd4: 3800 1800 |005a: if-eqz v0, 0072 // +0018 │ │ +41dcd8: 1240 |005c: const/4 v0, #int 4 // #4 │ │ +41dcda: 2816 |005d: goto 0073 // +0016 │ │ +41dcdc: 1a01 f190 |005e: const-string v1, "paused" // string@90f1 │ │ +41dce0: 6e20 b85c 1000 |0060: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41dce6: 0a00 |0063: move-result v0 │ │ +41dce8: 3800 0e00 |0064: if-eqz v0, 0072 // +000e │ │ +41dcec: 1230 |0066: const/4 v0, #int 3 // #3 │ │ +41dcee: 280c |0067: goto 0073 // +000c │ │ +41dcf0: 1a01 ae5e |0068: const-string v1, "completed" // string@5eae │ │ +41dcf4: 6e20 b85c 1000 |006a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41dcfa: 0a00 |006d: move-result v0 │ │ +41dcfc: 3800 0400 |006e: if-eqz v0, 0072 // +0004 │ │ +41dd00: 1210 |0070: const/4 v0, #int 1 // #1 │ │ +41dd02: 2802 |0071: goto 0073 // +0002 │ │ +41dd04: 12f0 |0072: const/4 v0, #int -1 // #ff │ │ +41dd06: 2b00 4b01 0000 |0073: packed-switch v0, 000001be // +0000014b │ │ +41dd0c: 2869 |0076: goto 00df // +0069 │ │ +41dd0e: 54c0 f15d |0077: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ +41dd12: 7110 2bba 0000 |0079: invoke-static {v0}, Lorg/purple/smoke/SteamReaderSimple;.access$000:(Lorg/purple/smoke/SteamReaderSimple;)V // method@ba2b │ │ +41dd18: 6205 d65d |007c: sget-object v5, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ +41dd1c: 6206 d55d |007e: sget-object v6, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ +41dd20: 1a07 d2a2 |0080: const-string v7, "transferring" // string@a2d2 │ │ +41dd24: 1a08 0000 |0082: const-string v8, "" // string@0000 │ │ +41dd28: 54c0 f15d |0084: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ +41dd2c: 5400 f85d |0086: iget-object v0, v0, Lorg/purple/smoke/SteamReaderSimple;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5df8 │ │ +41dd30: 6e10 da60 0000 |0088: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +41dd36: 0a09 |008b: move-result v9 │ │ +41dd38: 160a 0000 |008c: const-wide/16 v10, #int 0 // #0 │ │ +41dd3c: 7407 39b6 0500 |008e: invoke-virtual/range {v5, v6, v7, v8, v9, v10, v11}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ +41dd42: 284e |0091: goto 00df // +004e │ │ +41dd44: 54c0 f15d |0092: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ +41dd48: 7110 2bba 0000 |0094: invoke-static {v0}, Lorg/purple/smoke/SteamReaderSimple;.access$000:(Lorg/purple/smoke/SteamReaderSimple;)V // method@ba2b │ │ +41dd4e: 6201 d65d |0097: sget-object v1, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ +41dd52: 6202 d55d |0099: sget-object v2, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ +41dd56: 1a03 f190 |009b: const-string v3, "paused" // string@90f1 │ │ +41dd5a: 1a04 0000 |009d: const-string v4, "" // string@0000 │ │ +41dd5e: 54c0 f15d |009f: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ +41dd62: 5400 f85d |00a1: iget-object v0, v0, Lorg/purple/smoke/SteamReaderSimple;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5df8 │ │ +41dd66: 6e10 da60 0000 |00a3: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +41dd6c: 0a05 |00a6: move-result v5 │ │ +41dd6e: 1606 0000 |00a7: const-wide/16 v6, #int 0 // #0 │ │ +41dd72: 7407 39b6 0100 |00a9: invoke-virtual/range {v1, v2, v3, v4, v5, v6, v7}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ +41dd78: 0e00 |00ac: return-void │ │ +41dd7a: 6205 d65d |00ad: sget-object v5, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ +41dd7e: 6206 d55d |00af: sget-object v6, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ +41dd82: 1a07 d2a2 |00b1: const-string v7, "transferring" // string@a2d2 │ │ +41dd86: 1a08 0000 |00b3: const-string v8, "" // string@0000 │ │ +41dd8a: 54c0 f15d |00b5: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ +41dd8e: 5400 f85d |00b7: iget-object v0, v0, Lorg/purple/smoke/SteamReaderSimple;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5df8 │ │ +41dd92: 6e10 da60 0000 |00b9: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +41dd98: 0a09 |00bc: move-result v9 │ │ +41dd9a: 160a 0000 |00bd: const-wide/16 v10, #int 0 // #0 │ │ +41dd9e: 7407 39b6 0500 |00bf: invoke-virtual/range {v5, v6, v7, v8, v9, v10, v11}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ +41dda4: 281d |00c2: goto 00df // +001d │ │ +41dda6: 6200 d65d |00c3: sget-object v0, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ +41ddaa: 6201 d55d |00c5: sget-object v1, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ +41ddae: 1a02 0000 |00c7: const-string v2, "" // string@0000 │ │ +41ddb2: 1a03 c404 |00c9: const-string v3, "0.00 B / s" // string@04c4 │ │ +41ddb6: 54c4 f15d |00cb: iget-object v4, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ +41ddba: 5444 f85d |00cd: iget-object v4, v4, Lorg/purple/smoke/SteamReaderSimple;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5df8 │ │ +41ddbe: 6e10 da60 0400 |00cf: invoke-virtual {v4}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +41ddc4: 0a04 |00d2: move-result v4 │ │ +41ddc6: 6e54 38b6 1032 |00d3: invoke-virtual {v0, v1, v2, v3, v4}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;I)V // method@b638 │ │ +41ddcc: 0e00 |00d6: return-void │ │ +41ddce: 54c0 f15d |00d7: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ +41ddd2: 5400 f45d |00d9: iget-object v0, v0, Lorg/purple/smoke/SteamReaderSimple;.m_completed:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5df4 │ │ +41ddd6: 6e20 d860 4000 |00db: invoke-virtual {v0, v4}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +41dddc: 0e00 |00de: return-void │ │ +41ddde: 7100 02b7 0000 |00df: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ +41dde4: 0c00 |00e2: move-result-object v0 │ │ +41dde6: 6e10 07b7 0000 |00e3: invoke-virtual {v0}, Lorg/purple/smoke/Kernel;.nextSimpleSteamOid:()I // method@b707 │ │ +41ddec: 0a00 |00e6: move-result v0 │ │ +41ddee: 54c1 f15d |00e7: iget-object v1, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ +41ddf2: 5411 f85d |00e9: iget-object v1, v1, Lorg/purple/smoke/SteamReaderSimple;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5df8 │ │ +41ddf6: 6e10 da60 0100 |00eb: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +41ddfc: 0a01 |00ee: move-result v1 │ │ +41ddfe: 3310 ad00 |00ef: if-ne v0, v1, 019c // +00ad │ │ +41de02: 54c0 f15d |00f1: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ +41de06: 5400 f35d |00f3: iget-object v0, v0, Lorg/purple/smoke/SteamReaderSimple;.m_canceled:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5df3 │ │ +41de0a: 6e10 d660 0000 |00f5: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ +41de10: 0a00 |00f8: move-result v0 │ │ +41de12: 3800 0400 |00f9: if-eqz v0, 00fd // +0004 │ │ +41de16: 2900 a100 |00fb: goto/16 019c // +00a1 │ │ +41de1a: 54c0 f15d |00fd: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ +41de1e: 5400 f65d |00ff: iget-object v0, v0, Lorg/purple/smoke/SteamReaderSimple;.m_fileInputStreamMutex:Ljava/lang/Object; // field@5df6 │ │ +41de22: 1d00 |0101: monitor-enter v0 │ │ +41de24: 54c1 f15d |0102: iget-object v1, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ +41de28: 5411 f55d |0104: iget-object v1, v1, Lorg/purple/smoke/SteamReaderSimple;.m_fileInputStream:Ljava/io/FileInputStream; // field@5df5 │ │ +41de2c: 3901 0400 |0106: if-nez v1, 010a // +0004 │ │ +41de30: 1e00 |0108: monitor-exit v0 │ │ +41de32: 0e00 |0109: return-void │ │ +41de34: 54c1 f15d |010a: iget-object v1, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ +41de38: 5411 f55d |010c: iget-object v1, v1, Lorg/purple/smoke/SteamReaderSimple;.m_fileInputStream:Ljava/io/FileInputStream; // field@5df5 │ │ +41de3c: 6e10 a85b 0100 |010e: invoke-virtual {v1}, Ljava/io/FileInputStream;.getChannel:()Ljava/nio/channels/FileChannel; // method@5ba8 │ │ +41de42: 0c01 |0111: move-result-object v1 │ │ +41de44: 54c5 f15d |0112: iget-object v5, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ +41de48: 5455 fb5d |0114: iget-object v5, v5, Lorg/purple/smoke/SteamReaderSimple;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5dfb │ │ +41de4c: 6e10 df60 0500 |0116: invoke-virtual {v5}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ +41de52: 0b05 |0119: move-result-wide v5 │ │ +41de54: 6e30 cb5d 5106 |011a: invoke-virtual {v1, v5, v6}, Ljava/nio/channels/FileChannel;.position:(J)Ljava/nio/channels/FileChannel; // method@5dcb │ │ +41de5a: 1e00 |011d: monitor-exit v0 │ │ +41de5c: 1300 0020 |011e: const/16 v0, #int 8192 // #2000 │ │ +41de60: 2300 ba1a |0120: new-array v0, v0, [B // type@1aba │ │ +41de64: 54c1 f15d |0122: iget-object v1, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ +41de68: 5411 f65d |0124: iget-object v1, v1, Lorg/purple/smoke/SteamReaderSimple;.m_fileInputStreamMutex:Ljava/lang/Object; // field@5df6 │ │ +41de6c: 1d01 |0126: monitor-enter v1 │ │ +41de6e: 54c5 f15d |0127: iget-object v5, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ +41de72: 5455 f55d |0129: iget-object v5, v5, Lorg/purple/smoke/SteamReaderSimple;.m_fileInputStream:Ljava/io/FileInputStream; // field@5df5 │ │ +41de76: 3905 0400 |012b: if-nez v5, 012f // +0004 │ │ +41de7a: 1e01 |012d: monitor-exit v1 │ │ +41de7c: 0e00 |012e: return-void │ │ +41de7e: 54c5 f15d |012f: iget-object v5, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ +41de82: 5455 f55d |0131: iget-object v5, v5, Lorg/purple/smoke/SteamReaderSimple;.m_fileInputStream:Ljava/io/FileInputStream; // field@5df5 │ │ +41de86: 6e20 a95b 0500 |0133: invoke-virtual {v5, v0}, Ljava/io/FileInputStream;.read:([B)I // method@5ba9 │ │ +41de8c: 0a05 |0136: move-result v5 │ │ +41de8e: 1e01 |0137: monitor-exit v1 │ │ +41de90: 3335 2500 |0138: if-ne v5, v3, 015d // +0025 │ │ +41de94: 54c0 f15d |013a: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ +41de98: 5400 f45d |013c: iget-object v0, v0, Lorg/purple/smoke/SteamReaderSimple;.m_completed:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5df4 │ │ +41de9c: 6e20 d860 4000 |013e: invoke-virtual {v0, v4}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +41dea2: 6205 d65d |0141: sget-object v5, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ +41dea6: 6206 d55d |0143: sget-object v6, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ +41deaa: 1a07 ae5e |0145: const-string v7, "completed" // string@5eae │ │ +41deae: 1a08 0000 |0147: const-string v8, "" // string@0000 │ │ +41deb2: 54c0 f15d |0149: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ +41deb6: 5400 f85d |014b: iget-object v0, v0, Lorg/purple/smoke/SteamReaderSimple;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5df8 │ │ +41deba: 6e10 da60 0000 |014d: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +41dec0: 0a09 |0150: move-result v9 │ │ +41dec2: 54c0 f15d |0151: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ +41dec6: 5400 fb5d |0153: iget-object v0, v0, Lorg/purple/smoke/SteamReaderSimple;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5dfb │ │ +41deca: 6e10 df60 0000 |0155: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ +41ded0: 0b0a |0158: move-result-wide v10 │ │ +41ded2: 7407 39b6 0500 |0159: invoke-virtual/range {v5, v6, v7, v8, v9, v10, v11}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ +41ded8: 0e00 |015c: return-void │ │ +41deda: 7100 02b7 0000 |015d: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ +41dee0: 0c01 |0160: move-result-object v1 │ │ +41dee2: 7130 b45f 2005 |0161: invoke-static {v0, v2, v5}, Ljava/util/Arrays;.copyOfRange:([BII)[B // method@5fb4 │ │ +41dee8: 0c00 |0164: move-result-object v0 │ │ +41deea: 6e30 14b7 4100 |0165: invoke-virtual {v1, v4, v0}, Lorg/purple/smoke/Kernel;.sendSteam:(Z[B)I // method@b714 │ │ +41def0: 0a00 |0168: move-result v0 │ │ +41def2: 54c1 f15d |0169: iget-object v1, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ +41def6: 8102 |016b: int-to-long v2, v0 │ │ +41def8: 7130 2cba 2103 |016c: invoke-static {v1, v2, v3}, Lorg/purple/smoke/SteamReaderSimple;.access$100:(Lorg/purple/smoke/SteamReaderSimple;J)V // method@ba2c │ │ +41defe: 54c0 f15d |016f: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ +41df02: 5400 fb5d |0171: iget-object v0, v0, Lorg/purple/smoke/SteamReaderSimple;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5dfb │ │ +41df06: 6e30 de60 2003 |0173: invoke-virtual {v0, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.addAndGet:(J)J // method@60de │ │ +41df0c: 6204 d65d |0176: sget-object v4, Lorg/purple/smoke/SteamReader;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5dd6 │ │ +41df10: 6205 d55d |0178: sget-object v5, Lorg/purple/smoke/SteamReader;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5dd5 │ │ +41df14: 1a06 0000 |017a: const-string v6, "" // string@0000 │ │ +41df18: 54c0 f15d |017c: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ +41df1c: 6e10 31ba 0000 |017e: invoke-virtual {v0}, Lorg/purple/smoke/SteamReaderSimple;.prettyRate:()Ljava/lang/String; // method@ba31 │ │ +41df22: 0c07 |0181: move-result-object v7 │ │ +41df24: 54c0 f15d |0182: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ +41df28: 5400 f85d |0184: iget-object v0, v0, Lorg/purple/smoke/SteamReaderSimple;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5df8 │ │ +41df2c: 6e10 da60 0000 |0186: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +41df32: 0a08 |0189: move-result v8 │ │ +41df34: 54c0 f15d |018a: iget-object v0, v12, Lorg/purple/smoke/SteamReaderSimple$1;.this$0:Lorg/purple/smoke/SteamReaderSimple; // field@5df1 │ │ +41df38: 5400 fb5d |018c: iget-object v0, v0, Lorg/purple/smoke/SteamReaderSimple;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5dfb │ │ +41df3c: 6e10 df60 0000 |018e: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ +41df42: 0b09 |0191: move-result-wide v9 │ │ +41df44: 7407 39b6 0400 |0192: invoke-virtual/range {v4, v5, v6, v7, v8, v9, v10}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ +41df4a: 280a |0195: goto 019f // +000a │ │ +41df4c: 0d00 |0196: move-exception v0 │ │ +41df4e: 1e01 |0197: monitor-exit v1 │ │ +41df50: 2700 |0198: throw v0 │ │ +41df52: 0d01 |0199: move-exception v1 │ │ +41df54: 1e00 |019a: monitor-exit v0 │ │ +41df56: 2701 |019b: throw v1 │ │ +41df58: 0e00 |019c: return-void │ │ +41df5a: 0d00 |019d: move-exception v0 │ │ +41df5c: 2700 |019e: throw v0 │ │ +41df5e: 0e00 |019f: return-void │ │ +41df60: 0002 0700 4bf6 60ac 2e99 acc4 2dc8 ... |01a0: sparse-switch-data (30 units) │ │ +41df9c: 0001 0700 0000 0000 6b00 0000 6400 ... |01be: packed-switch-data (18 units) │ │ catches : 9 │ │ 0x0000 - 0x0102 │ │ Ljava/lang/Exception; -> 0x019f │ │ -> 0x019d │ │ 0x0102 - 0x011e │ │ -> 0x0199 │ │ 0x0120 - 0x0127 │ │ @@ -737267,18 +737266,18 @@ │ │ type : '(Lorg/purple/smoke/SteamWriter;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -41e6d8: |[41e6d8] org.purple.smoke.SteamWriter$1.:(Lorg/purple/smoke/SteamWriter;)V │ │ -41e6e8: 5b01 fe5d |0000: iput-object v1, v0, Lorg/purple/smoke/SteamWriter$1;.this$0:Lorg/purple/smoke/SteamWriter; // field@5dfe │ │ -41e6ec: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41e6f2: 0e00 |0005: return-void │ │ +41e6d4: |[41e6d4] org.purple.smoke.SteamWriter$1.:(Lorg/purple/smoke/SteamWriter;)V │ │ +41e6e4: 5b01 fe5d |0000: iput-object v1, v0, Lorg/purple/smoke/SteamWriter$1;.this$0:Lorg/purple/smoke/SteamWriter; // field@5dfe │ │ +41e6e8: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41e6ee: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=114 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/SteamWriter$1; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/SteamWriter; │ │ │ │ @@ -737288,99 +737287,99 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 13 │ │ ins : 1 │ │ outs : 7 │ │ insns size : 158 16-bit code units │ │ -41e6f4: |[41e6f4] org.purple.smoke.SteamWriter$1.run:()V │ │ -41e704: 54c0 fe5d |0000: iget-object v0, v12, Lorg/purple/smoke/SteamWriter$1;.this$0:Lorg/purple/smoke/SteamWriter; // field@5dfe │ │ -41e708: 7110 3bba 0000 |0002: invoke-static {v0}, Lorg/purple/smoke/SteamWriter;.access$000:(Lorg/purple/smoke/SteamWriter;)Ljava/util/concurrent/ConcurrentHashMap; // method@ba3b │ │ -41e70e: 0c00 |0005: move-result-object v0 │ │ -41e710: 6e10 ac60 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/ConcurrentHashMap;.isEmpty:()Z // method@60ac │ │ -41e716: 0a00 |0009: move-result v0 │ │ -41e718: 3800 1b00 |000a: if-eqz v0, 0025 // +001b │ │ -41e71c: 54c0 fe5d |000c: iget-object v0, v12, Lorg/purple/smoke/SteamWriter$1;.this$0:Lorg/purple/smoke/SteamWriter; // field@5dfe │ │ -41e720: 7110 3cba 0000 |000e: invoke-static {v0}, Lorg/purple/smoke/SteamWriter;.access$100:(Lorg/purple/smoke/SteamWriter;)Ljava/lang/Object; // method@ba3c │ │ -41e726: 0c00 |0011: move-result-object v0 │ │ -41e728: 1d00 |0012: monitor-enter v0 │ │ -41e72a: 54c1 fe5d |0013: iget-object v1, v12, Lorg/purple/smoke/SteamWriter$1;.this$0:Lorg/purple/smoke/SteamWriter; // field@5dfe │ │ -41e72e: 7110 3cba 0100 |0015: invoke-static {v1}, Lorg/purple/smoke/SteamWriter;.access$100:(Lorg/purple/smoke/SteamWriter;)Ljava/lang/Object; // method@ba3c │ │ -41e734: 0c01 |0018: move-result-object v1 │ │ -41e736: 1602 dc05 |0019: const-wide/16 v2, #int 1500 // #5dc │ │ -41e73a: 6e30 985c 2103 |001b: invoke-virtual {v1, v2, v3}, Ljava/lang/Object;.wait:(J)V // method@5c98 │ │ -41e740: 2803 |001e: goto 0021 // +0003 │ │ -41e742: 0d01 |001f: move-exception v1 │ │ -41e744: 2803 |0020: goto 0023 // +0003 │ │ -41e746: 1e00 |0021: monitor-exit v0 │ │ -41e748: 2803 |0022: goto 0025 // +0003 │ │ -41e74a: 1e00 |0023: monitor-exit v0 │ │ -41e74c: 2701 |0024: throw v1 │ │ -41e74e: 54c0 fe5d |0025: iget-object v0, v12, Lorg/purple/smoke/SteamWriter$1;.this$0:Lorg/purple/smoke/SteamWriter; // field@5dfe │ │ -41e752: 7110 3bba 0000 |0027: invoke-static {v0}, Lorg/purple/smoke/SteamWriter;.access$000:(Lorg/purple/smoke/SteamWriter;)Ljava/util/concurrent/ConcurrentHashMap; // method@ba3b │ │ -41e758: 0c00 |002a: move-result-object v0 │ │ -41e75a: 6e10 ad60 0000 |002b: invoke-virtual {v0}, Ljava/util/concurrent/ConcurrentHashMap;.keySet:()Ljava/util/Set; // method@60ad │ │ -41e760: 0c00 |002e: move-result-object v0 │ │ -41e762: 7210 7160 0000 |002f: invoke-interface {v0}, Ljava/util/Set;.iterator:()Ljava/util/Iterator; // method@6071 │ │ -41e768: 0c00 |0032: move-result-object v0 │ │ -41e76a: 7210 1860 0000 |0033: invoke-interface {v0}, Ljava/util/Iterator;.hasNext:()Z // method@6018 │ │ -41e770: 0a01 |0036: move-result v1 │ │ -41e772: 3801 6600 |0037: if-eqz v1, 009d // +0066 │ │ -41e776: 7210 1960 0000 |0039: invoke-interface {v0}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@6019 │ │ -41e77c: 0c01 |003c: move-result-object v1 │ │ -41e77e: 1f01 db0a |003d: check-cast v1, Ljava/lang/Integer; // type@0adb │ │ -41e782: 54c2 fe5d |003f: iget-object v2, v12, Lorg/purple/smoke/SteamWriter$1;.this$0:Lorg/purple/smoke/SteamWriter; // field@5dfe │ │ -41e786: 7110 3bba 0200 |0041: invoke-static {v2}, Lorg/purple/smoke/SteamWriter;.access$000:(Lorg/purple/smoke/SteamWriter;)Ljava/util/concurrent/ConcurrentHashMap; // method@ba3b │ │ -41e78c: 0c02 |0044: move-result-object v2 │ │ -41e78e: 6e20 ab60 1200 |0045: invoke-virtual {v2, v1}, Ljava/util/concurrent/ConcurrentHashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@60ab │ │ -41e794: 0c02 |0048: move-result-object v2 │ │ -41e796: 1f02 a51a |0049: check-cast v2, Lorg/purple/smoke/SteamWriter$FileInformation; // type@1aa5 │ │ -41e79a: 3902 0c00 |004b: if-nez v2, 0057 // +000c │ │ -41e79e: 54c2 fe5d |004d: iget-object v2, v12, Lorg/purple/smoke/SteamWriter$1;.this$0:Lorg/purple/smoke/SteamWriter; // field@5dfe │ │ -41e7a2: 7110 3bba 0200 |004f: invoke-static {v2}, Lorg/purple/smoke/SteamWriter;.access$000:(Lorg/purple/smoke/SteamWriter;)Ljava/util/concurrent/ConcurrentHashMap; // method@ba3b │ │ -41e7a8: 0c02 |0052: move-result-object v2 │ │ -41e7aa: 6e20 af60 1200 |0053: invoke-virtual {v2, v1}, Ljava/util/concurrent/ConcurrentHashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@60af │ │ -41e7b0: 28dd |0056: goto 0033 // -0023 │ │ -41e7b2: 7100 3eba 0000 |0057: invoke-static {}, Lorg/purple/smoke/SteamWriter;.access$300:()Lorg/purple/smoke/Database; // method@ba3e │ │ -41e7b8: 0c03 |005a: move-result-object v3 │ │ -41e7ba: 7100 3dba 0000 |005b: invoke-static {}, Lorg/purple/smoke/SteamWriter;.access$200:()Lorg/purple/smoke/Cryptography; // method@ba3d │ │ -41e7c0: 0c04 |005e: move-result-object v4 │ │ -41e7c2: 5425 ff5d |005f: iget-object v5, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_fileIdentity:[B // field@5dff │ │ -41e7c6: 6e30 1fb6 4305 |0061: invoke-virtual {v3, v4, v5}, Lorg/purple/smoke/Database;.steamOidFromFileIdentity:(Lorg/purple/smoke/Cryptography;[B)I // method@b61f │ │ -41e7cc: 0a03 |0064: move-result v3 │ │ -41e7ce: 7100 065d 0000 |0065: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ -41e7d4: 0b04 |0068: move-result-wide v4 │ │ -41e7d6: 5326 005e |0069: iget-wide v6, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_lastStatusTimestamp:J // field@5e00 │ │ -41e7da: bc64 |006b: sub-long/2addr v4, v6 │ │ -41e7dc: 7120 735c 5400 |006c: invoke-static {v4, v5}, Ljava/lang/Math;.abs:(J)J // method@5c73 │ │ -41e7e2: 0b04 |006f: move-result-wide v4 │ │ -41e7e4: 1606 983a |0070: const-wide/16 v6, #int 15000 // #3a98 │ │ -41e7e8: 3108 0406 |0072: cmp-long v8, v4, v6 │ │ -41e7ec: 3c08 1f00 |0074: if-gtz v8, 0093 // +001f │ │ -41e7f0: 12f4 |0076: const/4 v4, #int -1 // #ff │ │ -41e7f2: 3343 0300 |0077: if-ne v3, v4, 007a // +0003 │ │ -41e7f6: 281a |0079: goto 0093 // +001a │ │ -41e7f8: 6e10 37ba 0200 |007a: invoke-virtual {v2}, Lorg/purple/smoke/SteamWriter$FileInformation;.computeRate:()V // method@ba37 │ │ -41e7fe: 7100 3eba 0000 |007d: invoke-static {}, Lorg/purple/smoke/SteamWriter;.access$300:()Lorg/purple/smoke/Database; // method@ba3e │ │ -41e804: 0c05 |0080: move-result-object v5 │ │ -41e806: 7100 3dba 0000 |0081: invoke-static {}, Lorg/purple/smoke/SteamWriter;.access$200:()Lorg/purple/smoke/Cryptography; // method@ba3d │ │ -41e80c: 0c06 |0084: move-result-object v6 │ │ -41e80e: 1a07 3794 |0085: const-string v7, "receiving" // string@9437 │ │ -41e812: 6e10 38ba 0200 |0087: invoke-virtual {v2}, Lorg/purple/smoke/SteamWriter$FileInformation;.prettyRate:()Ljava/lang/String; // method@ba38 │ │ -41e818: 0c08 |008a: move-result-object v8 │ │ -41e81a: 5229 025e |008b: iget v9, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_oid:I // field@5e02 │ │ -41e81e: 532a 015e |008d: iget-wide v10, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_offset:J // field@5e01 │ │ -41e822: 7407 39b6 0500 |008f: invoke-virtual/range {v5, v6, v7, v8, v9, v10, v11}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ -41e828: 28a1 |0092: goto 0033 // -005f │ │ -41e82a: 54c2 fe5d |0093: iget-object v2, v12, Lorg/purple/smoke/SteamWriter$1;.this$0:Lorg/purple/smoke/SteamWriter; // field@5dfe │ │ -41e82e: 7110 3bba 0200 |0095: invoke-static {v2}, Lorg/purple/smoke/SteamWriter;.access$000:(Lorg/purple/smoke/SteamWriter;)Ljava/util/concurrent/ConcurrentHashMap; // method@ba3b │ │ -41e834: 0c02 |0098: move-result-object v2 │ │ -41e836: 6e20 af60 1200 |0099: invoke-virtual {v2, v1}, Ljava/util/concurrent/ConcurrentHashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@60af │ │ -41e83c: 2897 |009c: goto 0033 // -0069 │ │ -41e83e: 0e00 |009d: return-void │ │ +41e6f0: |[41e6f0] org.purple.smoke.SteamWriter$1.run:()V │ │ +41e700: 54c0 fe5d |0000: iget-object v0, v12, Lorg/purple/smoke/SteamWriter$1;.this$0:Lorg/purple/smoke/SteamWriter; // field@5dfe │ │ +41e704: 7110 3bba 0000 |0002: invoke-static {v0}, Lorg/purple/smoke/SteamWriter;.access$000:(Lorg/purple/smoke/SteamWriter;)Ljava/util/concurrent/ConcurrentHashMap; // method@ba3b │ │ +41e70a: 0c00 |0005: move-result-object v0 │ │ +41e70c: 6e10 ac60 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/ConcurrentHashMap;.isEmpty:()Z // method@60ac │ │ +41e712: 0a00 |0009: move-result v0 │ │ +41e714: 3800 1b00 |000a: if-eqz v0, 0025 // +001b │ │ +41e718: 54c0 fe5d |000c: iget-object v0, v12, Lorg/purple/smoke/SteamWriter$1;.this$0:Lorg/purple/smoke/SteamWriter; // field@5dfe │ │ +41e71c: 7110 3cba 0000 |000e: invoke-static {v0}, Lorg/purple/smoke/SteamWriter;.access$100:(Lorg/purple/smoke/SteamWriter;)Ljava/lang/Object; // method@ba3c │ │ +41e722: 0c00 |0011: move-result-object v0 │ │ +41e724: 1d00 |0012: monitor-enter v0 │ │ +41e726: 54c1 fe5d |0013: iget-object v1, v12, Lorg/purple/smoke/SteamWriter$1;.this$0:Lorg/purple/smoke/SteamWriter; // field@5dfe │ │ +41e72a: 7110 3cba 0100 |0015: invoke-static {v1}, Lorg/purple/smoke/SteamWriter;.access$100:(Lorg/purple/smoke/SteamWriter;)Ljava/lang/Object; // method@ba3c │ │ +41e730: 0c01 |0018: move-result-object v1 │ │ +41e732: 1602 dc05 |0019: const-wide/16 v2, #int 1500 // #5dc │ │ +41e736: 6e30 985c 2103 |001b: invoke-virtual {v1, v2, v3}, Ljava/lang/Object;.wait:(J)V // method@5c98 │ │ +41e73c: 2803 |001e: goto 0021 // +0003 │ │ +41e73e: 0d01 |001f: move-exception v1 │ │ +41e740: 2803 |0020: goto 0023 // +0003 │ │ +41e742: 1e00 |0021: monitor-exit v0 │ │ +41e744: 2803 |0022: goto 0025 // +0003 │ │ +41e746: 1e00 |0023: monitor-exit v0 │ │ +41e748: 2701 |0024: throw v1 │ │ +41e74a: 54c0 fe5d |0025: iget-object v0, v12, Lorg/purple/smoke/SteamWriter$1;.this$0:Lorg/purple/smoke/SteamWriter; // field@5dfe │ │ +41e74e: 7110 3bba 0000 |0027: invoke-static {v0}, Lorg/purple/smoke/SteamWriter;.access$000:(Lorg/purple/smoke/SteamWriter;)Ljava/util/concurrent/ConcurrentHashMap; // method@ba3b │ │ +41e754: 0c00 |002a: move-result-object v0 │ │ +41e756: 6e10 ad60 0000 |002b: invoke-virtual {v0}, Ljava/util/concurrent/ConcurrentHashMap;.keySet:()Ljava/util/Set; // method@60ad │ │ +41e75c: 0c00 |002e: move-result-object v0 │ │ +41e75e: 7210 7160 0000 |002f: invoke-interface {v0}, Ljava/util/Set;.iterator:()Ljava/util/Iterator; // method@6071 │ │ +41e764: 0c00 |0032: move-result-object v0 │ │ +41e766: 7210 1860 0000 |0033: invoke-interface {v0}, Ljava/util/Iterator;.hasNext:()Z // method@6018 │ │ +41e76c: 0a01 |0036: move-result v1 │ │ +41e76e: 3801 6600 |0037: if-eqz v1, 009d // +0066 │ │ +41e772: 7210 1960 0000 |0039: invoke-interface {v0}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@6019 │ │ +41e778: 0c01 |003c: move-result-object v1 │ │ +41e77a: 1f01 db0a |003d: check-cast v1, Ljava/lang/Integer; // type@0adb │ │ +41e77e: 54c2 fe5d |003f: iget-object v2, v12, Lorg/purple/smoke/SteamWriter$1;.this$0:Lorg/purple/smoke/SteamWriter; // field@5dfe │ │ +41e782: 7110 3bba 0200 |0041: invoke-static {v2}, Lorg/purple/smoke/SteamWriter;.access$000:(Lorg/purple/smoke/SteamWriter;)Ljava/util/concurrent/ConcurrentHashMap; // method@ba3b │ │ +41e788: 0c02 |0044: move-result-object v2 │ │ +41e78a: 6e20 ab60 1200 |0045: invoke-virtual {v2, v1}, Ljava/util/concurrent/ConcurrentHashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@60ab │ │ +41e790: 0c02 |0048: move-result-object v2 │ │ +41e792: 1f02 a51a |0049: check-cast v2, Lorg/purple/smoke/SteamWriter$FileInformation; // type@1aa5 │ │ +41e796: 3902 0c00 |004b: if-nez v2, 0057 // +000c │ │ +41e79a: 54c2 fe5d |004d: iget-object v2, v12, Lorg/purple/smoke/SteamWriter$1;.this$0:Lorg/purple/smoke/SteamWriter; // field@5dfe │ │ +41e79e: 7110 3bba 0200 |004f: invoke-static {v2}, Lorg/purple/smoke/SteamWriter;.access$000:(Lorg/purple/smoke/SteamWriter;)Ljava/util/concurrent/ConcurrentHashMap; // method@ba3b │ │ +41e7a4: 0c02 |0052: move-result-object v2 │ │ +41e7a6: 6e20 af60 1200 |0053: invoke-virtual {v2, v1}, Ljava/util/concurrent/ConcurrentHashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@60af │ │ +41e7ac: 28dd |0056: goto 0033 // -0023 │ │ +41e7ae: 7100 3eba 0000 |0057: invoke-static {}, Lorg/purple/smoke/SteamWriter;.access$300:()Lorg/purple/smoke/Database; // method@ba3e │ │ +41e7b4: 0c03 |005a: move-result-object v3 │ │ +41e7b6: 7100 3dba 0000 |005b: invoke-static {}, Lorg/purple/smoke/SteamWriter;.access$200:()Lorg/purple/smoke/Cryptography; // method@ba3d │ │ +41e7bc: 0c04 |005e: move-result-object v4 │ │ +41e7be: 5425 ff5d |005f: iget-object v5, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_fileIdentity:[B // field@5dff │ │ +41e7c2: 6e30 1fb6 4305 |0061: invoke-virtual {v3, v4, v5}, Lorg/purple/smoke/Database;.steamOidFromFileIdentity:(Lorg/purple/smoke/Cryptography;[B)I // method@b61f │ │ +41e7c8: 0a03 |0064: move-result v3 │ │ +41e7ca: 7100 065d 0000 |0065: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ +41e7d0: 0b04 |0068: move-result-wide v4 │ │ +41e7d2: 5326 005e |0069: iget-wide v6, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_lastStatusTimestamp:J // field@5e00 │ │ +41e7d6: bc64 |006b: sub-long/2addr v4, v6 │ │ +41e7d8: 7120 735c 5400 |006c: invoke-static {v4, v5}, Ljava/lang/Math;.abs:(J)J // method@5c73 │ │ +41e7de: 0b04 |006f: move-result-wide v4 │ │ +41e7e0: 1606 983a |0070: const-wide/16 v6, #int 15000 // #3a98 │ │ +41e7e4: 3108 0406 |0072: cmp-long v8, v4, v6 │ │ +41e7e8: 3c08 1f00 |0074: if-gtz v8, 0093 // +001f │ │ +41e7ec: 12f4 |0076: const/4 v4, #int -1 // #ff │ │ +41e7ee: 3343 0300 |0077: if-ne v3, v4, 007a // +0003 │ │ +41e7f2: 281a |0079: goto 0093 // +001a │ │ +41e7f4: 6e10 37ba 0200 |007a: invoke-virtual {v2}, Lorg/purple/smoke/SteamWriter$FileInformation;.computeRate:()V // method@ba37 │ │ +41e7fa: 7100 3eba 0000 |007d: invoke-static {}, Lorg/purple/smoke/SteamWriter;.access$300:()Lorg/purple/smoke/Database; // method@ba3e │ │ +41e800: 0c05 |0080: move-result-object v5 │ │ +41e802: 7100 3dba 0000 |0081: invoke-static {}, Lorg/purple/smoke/SteamWriter;.access$200:()Lorg/purple/smoke/Cryptography; // method@ba3d │ │ +41e808: 0c06 |0084: move-result-object v6 │ │ +41e80a: 1a07 3794 |0085: const-string v7, "receiving" // string@9437 │ │ +41e80e: 6e10 38ba 0200 |0087: invoke-virtual {v2}, Lorg/purple/smoke/SteamWriter$FileInformation;.prettyRate:()Ljava/lang/String; // method@ba38 │ │ +41e814: 0c08 |008a: move-result-object v8 │ │ +41e816: 5229 025e |008b: iget v9, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_oid:I // field@5e02 │ │ +41e81a: 532a 015e |008d: iget-wide v10, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_offset:J // field@5e01 │ │ +41e81e: 7407 39b6 0500 |008f: invoke-virtual/range {v5, v6, v7, v8, v9, v10, v11}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ +41e824: 28a1 |0092: goto 0033 // -005f │ │ +41e826: 54c2 fe5d |0093: iget-object v2, v12, Lorg/purple/smoke/SteamWriter$1;.this$0:Lorg/purple/smoke/SteamWriter; // field@5dfe │ │ +41e82a: 7110 3bba 0200 |0095: invoke-static {v2}, Lorg/purple/smoke/SteamWriter;.access$000:(Lorg/purple/smoke/SteamWriter;)Ljava/util/concurrent/ConcurrentHashMap; // method@ba3b │ │ +41e830: 0c02 |0098: move-result-object v2 │ │ +41e832: 6e20 af60 1200 |0099: invoke-virtual {v2, v1}, Ljava/util/concurrent/ConcurrentHashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@60af │ │ +41e838: 2897 |009c: goto 0033 // -0069 │ │ +41e83a: 0e00 |009d: return-void │ │ catches : 4 │ │ 0x0000 - 0x0013 │ │ Ljava/lang/Exception; -> 0x009d │ │ 0x0013 - 0x001e │ │ Ljava/lang/Exception; -> 0x0021 │ │ -> 0x001f │ │ 0x0021 - 0x0024 │ │ @@ -737469,38 +737468,38 @@ │ │ type : '([BIJ)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 7 │ │ ins : 5 │ │ outs : 1 │ │ insns size : 43 16-bit code units │ │ -41e8b8: |[41e8b8] org.purple.smoke.SteamWriter$FileInformation.:([BIJ)V │ │ -41e8c8: 7010 8f5c 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41e8ce: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -41e8d0: 5b20 ff5d |0004: iput-object v0, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_fileIdentity:[B // field@5dff │ │ -41e8d4: 12f0 |0006: const/4 v0, #int -1 // #ff │ │ -41e8d6: 5920 025e |0007: iput v0, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_oid:I // field@5e02 │ │ -41e8da: 1600 0000 |0009: const-wide/16 v0, #int 0 // #0 │ │ -41e8de: 5a20 005e |000b: iput-wide v0, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_lastStatusTimestamp:J // field@5e00 │ │ -41e8e2: 5a20 015e |000d: iput-wide v0, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_offset:J // field@5e01 │ │ -41e8e6: 5a20 035e |000f: iput-wide v0, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_previousOffset:J // field@5e03 │ │ -41e8ea: 5a20 045e |0011: iput-wide v0, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_rate:J // field@5e04 │ │ -41e8ee: 5a20 065e |0013: iput-wide v0, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_time0:J // field@5e06 │ │ -41e8f2: 1200 |0015: const/4 v0, #int 0 // #0 │ │ -41e8f4: 5f20 055e |0016: iput-short v0, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_stalled:S // field@5e05 │ │ -41e8f8: 5b23 ff5d |0018: iput-object v3, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_fileIdentity:[B // field@5dff │ │ -41e8fc: 7100 065d 0000 |001a: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ -41e902: 0b00 |001d: move-result-wide v0 │ │ -41e904: 5a20 005e |001e: iput-wide v0, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_lastStatusTimestamp:J // field@5e00 │ │ -41e908: 5a25 015e |0020: iput-wide v5, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_offset:J // field@5e01 │ │ -41e90c: 5924 025e |0022: iput v4, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_oid:I // field@5e02 │ │ -41e910: 7100 065d 0000 |0024: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ -41e916: 0b03 |0027: move-result-wide v3 │ │ -41e918: 5a23 065e |0028: iput-wide v3, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_time0:J // field@5e06 │ │ -41e91c: 0e00 |002a: return-void │ │ +41e8b4: |[41e8b4] org.purple.smoke.SteamWriter$FileInformation.:([BIJ)V │ │ +41e8c4: 7010 8f5c 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41e8ca: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +41e8cc: 5b20 ff5d |0004: iput-object v0, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_fileIdentity:[B // field@5dff │ │ +41e8d0: 12f0 |0006: const/4 v0, #int -1 // #ff │ │ +41e8d2: 5920 025e |0007: iput v0, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_oid:I // field@5e02 │ │ +41e8d6: 1600 0000 |0009: const-wide/16 v0, #int 0 // #0 │ │ +41e8da: 5a20 005e |000b: iput-wide v0, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_lastStatusTimestamp:J // field@5e00 │ │ +41e8de: 5a20 015e |000d: iput-wide v0, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_offset:J // field@5e01 │ │ +41e8e2: 5a20 035e |000f: iput-wide v0, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_previousOffset:J // field@5e03 │ │ +41e8e6: 5a20 045e |0011: iput-wide v0, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_rate:J // field@5e04 │ │ +41e8ea: 5a20 065e |0013: iput-wide v0, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_time0:J // field@5e06 │ │ +41e8ee: 1200 |0015: const/4 v0, #int 0 // #0 │ │ +41e8f0: 5f20 055e |0016: iput-short v0, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_stalled:S // field@5e05 │ │ +41e8f4: 5b23 ff5d |0018: iput-object v3, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_fileIdentity:[B // field@5dff │ │ +41e8f8: 7100 065d 0000 |001a: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ +41e8fe: 0b00 |001d: move-result-wide v0 │ │ +41e900: 5a20 005e |001e: iput-wide v0, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_lastStatusTimestamp:J // field@5e00 │ │ +41e904: 5a25 015e |0020: iput-wide v5, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_offset:J // field@5e01 │ │ +41e908: 5924 025e |0022: iput v4, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_oid:I // field@5e02 │ │ +41e90c: 7100 065d 0000 |0024: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ +41e912: 0b03 |0027: move-result-wide v3 │ │ +41e914: 5a23 065e |0028: iput-wide v3, v2, Lorg/purple/smoke/SteamWriter$FileInformation;.m_time0:J // field@5e06 │ │ +41e918: 0e00 |002a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=52 │ │ 0x0004 line=42 │ │ 0x0007 line=43 │ │ 0x000b line=44 │ │ 0x000d line=45 │ │ @@ -737525,56 +737524,56 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 12 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 72 16-bit code units │ │ -41e920: |[41e920] org.purple.smoke.SteamWriter$FileInformation.computeRate:()V │ │ -41e930: 7100 065d 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ -41e936: 0b00 |0003: move-result-wide v0 │ │ -41e938: 1602 e803 |0004: const-wide/16 v2, #int 1000 // #3e8 │ │ -41e93c: be20 |0006: div-long/2addr v0, v2 │ │ -41e93e: 53b4 065e |0007: iget-wide v4, v11, Lorg/purple/smoke/SteamWriter$FileInformation;.m_time0:J // field@5e06 │ │ -41e942: bc40 |0009: sub-long/2addr v0, v4 │ │ -41e944: 7120 735c 1000 |000a: invoke-static {v0, v1}, Ljava/lang/Math;.abs:(J)J // method@5c73 │ │ -41e94a: 0b00 |000d: move-result-wide v0 │ │ -41e94c: 1604 0100 |000e: const-wide/16 v4, #int 1 // #1 │ │ -41e950: 3106 0004 |0010: cmp-long v6, v0, v4 │ │ -41e954: 3a06 3500 |0012: if-ltz v6, 0047 // +0035 │ │ -41e958: 53b4 045e |0014: iget-wide v4, v11, Lorg/purple/smoke/SteamWriter$FileInformation;.m_rate:J // field@5e04 │ │ -41e95c: 53b6 015e |0016: iget-wide v6, v11, Lorg/purple/smoke/SteamWriter$FileInformation;.m_offset:J // field@5e01 │ │ -41e960: 53b8 035e |0018: iget-wide v8, v11, Lorg/purple/smoke/SteamWriter$FileInformation;.m_previousOffset:J // field@5e03 │ │ -41e964: 9c08 0608 |001a: sub-long v8, v6, v8 │ │ -41e968: 8688 |001c: long-to-double v8, v8 │ │ -41e96a: 8600 |001d: long-to-double v0, v0 │ │ -41e96c: 7120 2c5c 9800 |001e: invoke-static {v8, v9}, Ljava/lang/Double;.isNaN:(D)Z // method@5c2c │ │ -41e972: 7120 2c5c 1000 |0021: invoke-static {v0, v1}, Ljava/lang/Double;.isNaN:(D)Z // method@5c2c │ │ -41e978: ce08 |0024: div-double/2addr v8, v0 │ │ -41e97a: 8b80 |0025: double-to-long v0, v8 │ │ -41e97c: 5ab0 045e |0026: iput-wide v0, v11, Lorg/purple/smoke/SteamWriter$FileInformation;.m_rate:J // field@5e04 │ │ -41e980: 1608 0000 |0028: const-wide/16 v8, #int 0 // #0 │ │ -41e984: 310a 0008 |002a: cmp-long v10, v0, v8 │ │ -41e988: 3d0a 0600 |002c: if-lez v10, 0032 // +0006 │ │ -41e98c: 1200 |002e: const/4 v0, #int 0 // #0 │ │ -41e98e: 5fb0 055e |002f: iput-short v0, v11, Lorg/purple/smoke/SteamWriter$FileInformation;.m_stalled:S // field@5e05 │ │ -41e992: 280d |0031: goto 003e // +000d │ │ -41e994: 58b0 055e |0032: iget-short v0, v11, Lorg/purple/smoke/SteamWriter$FileInformation;.m_stalled:S // field@5e05 │ │ -41e998: d801 0001 |0034: add-int/lit8 v1, v0, #int 1 // #01 │ │ -41e99c: 8f11 |0036: int-to-short v1, v1 │ │ -41e99e: 5fb1 055e |0037: iput-short v1, v11, Lorg/purple/smoke/SteamWriter$FileInformation;.m_stalled:S // field@5e05 │ │ -41e9a2: 1251 |0039: const/4 v1, #int 5 // #5 │ │ -41e9a4: 3610 0400 |003a: if-gt v0, v1, 003e // +0004 │ │ -41e9a8: 5ab4 045e |003c: iput-wide v4, v11, Lorg/purple/smoke/SteamWriter$FileInformation;.m_rate:J // field@5e04 │ │ -41e9ac: 5ab6 035e |003e: iput-wide v6, v11, Lorg/purple/smoke/SteamWriter$FileInformation;.m_previousOffset:J // field@5e03 │ │ -41e9b0: 7100 065d 0000 |0040: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ -41e9b6: 0b00 |0043: move-result-wide v0 │ │ -41e9b8: be20 |0044: div-long/2addr v0, v2 │ │ -41e9ba: 5ab0 065e |0045: iput-wide v0, v11, Lorg/purple/smoke/SteamWriter$FileInformation;.m_time0:J // field@5e06 │ │ -41e9be: 0e00 |0047: return-void │ │ +41e91c: |[41e91c] org.purple.smoke.SteamWriter$FileInformation.computeRate:()V │ │ +41e92c: 7100 065d 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ +41e932: 0b00 |0003: move-result-wide v0 │ │ +41e934: 1602 e803 |0004: const-wide/16 v2, #int 1000 // #3e8 │ │ +41e938: be20 |0006: div-long/2addr v0, v2 │ │ +41e93a: 53b4 065e |0007: iget-wide v4, v11, Lorg/purple/smoke/SteamWriter$FileInformation;.m_time0:J // field@5e06 │ │ +41e93e: bc40 |0009: sub-long/2addr v0, v4 │ │ +41e940: 7120 735c 1000 |000a: invoke-static {v0, v1}, Ljava/lang/Math;.abs:(J)J // method@5c73 │ │ +41e946: 0b00 |000d: move-result-wide v0 │ │ +41e948: 1604 0100 |000e: const-wide/16 v4, #int 1 // #1 │ │ +41e94c: 3106 0004 |0010: cmp-long v6, v0, v4 │ │ +41e950: 3a06 3500 |0012: if-ltz v6, 0047 // +0035 │ │ +41e954: 53b4 045e |0014: iget-wide v4, v11, Lorg/purple/smoke/SteamWriter$FileInformation;.m_rate:J // field@5e04 │ │ +41e958: 53b6 015e |0016: iget-wide v6, v11, Lorg/purple/smoke/SteamWriter$FileInformation;.m_offset:J // field@5e01 │ │ +41e95c: 53b8 035e |0018: iget-wide v8, v11, Lorg/purple/smoke/SteamWriter$FileInformation;.m_previousOffset:J // field@5e03 │ │ +41e960: 9c08 0608 |001a: sub-long v8, v6, v8 │ │ +41e964: 8688 |001c: long-to-double v8, v8 │ │ +41e966: 8600 |001d: long-to-double v0, v0 │ │ +41e968: 7120 2c5c 9800 |001e: invoke-static {v8, v9}, Ljava/lang/Double;.isNaN:(D)Z // method@5c2c │ │ +41e96e: 7120 2c5c 1000 |0021: invoke-static {v0, v1}, Ljava/lang/Double;.isNaN:(D)Z // method@5c2c │ │ +41e974: ce08 |0024: div-double/2addr v8, v0 │ │ +41e976: 8b80 |0025: double-to-long v0, v8 │ │ +41e978: 5ab0 045e |0026: iput-wide v0, v11, Lorg/purple/smoke/SteamWriter$FileInformation;.m_rate:J // field@5e04 │ │ +41e97c: 1608 0000 |0028: const-wide/16 v8, #int 0 // #0 │ │ +41e980: 310a 0008 |002a: cmp-long v10, v0, v8 │ │ +41e984: 3d0a 0600 |002c: if-lez v10, 0032 // +0006 │ │ +41e988: 1200 |002e: const/4 v0, #int 0 // #0 │ │ +41e98a: 5fb0 055e |002f: iput-short v0, v11, Lorg/purple/smoke/SteamWriter$FileInformation;.m_stalled:S // field@5e05 │ │ +41e98e: 280d |0031: goto 003e // +000d │ │ +41e990: 58b0 055e |0032: iget-short v0, v11, Lorg/purple/smoke/SteamWriter$FileInformation;.m_stalled:S // field@5e05 │ │ +41e994: d801 0001 |0034: add-int/lit8 v1, v0, #int 1 // #01 │ │ +41e998: 8f11 |0036: int-to-short v1, v1 │ │ +41e99a: 5fb1 055e |0037: iput-short v1, v11, Lorg/purple/smoke/SteamWriter$FileInformation;.m_stalled:S // field@5e05 │ │ +41e99e: 1251 |0039: const/4 v1, #int 5 // #5 │ │ +41e9a0: 3610 0400 |003a: if-gt v0, v1, 003e // +0004 │ │ +41e9a4: 5ab4 045e |003c: iput-wide v4, v11, Lorg/purple/smoke/SteamWriter$FileInformation;.m_rate:J // field@5e04 │ │ +41e9a8: 5ab6 035e |003e: iput-wide v6, v11, Lorg/purple/smoke/SteamWriter$FileInformation;.m_previousOffset:J // field@5e03 │ │ +41e9ac: 7100 065d 0000 |0040: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ +41e9b2: 0b00 |0043: move-result-wide v0 │ │ +41e9b4: be20 |0044: div-long/2addr v0, v2 │ │ +41e9b6: 5ab0 065e |0045: iput-wide v0, v11, Lorg/purple/smoke/SteamWriter$FileInformation;.m_time0:J // field@5e06 │ │ +41e9ba: 0e00 |0047: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=69 │ │ 0x0014 line=73 │ │ 0x0016 line=75 │ │ 0x002f line=79 │ │ 0x0032 line=80 │ │ @@ -737589,28 +737588,28 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 28 16-bit code units │ │ -41e870: |[41e870] org.purple.smoke.SteamWriter$FileInformation.prettyRate:()Ljava/lang/String; │ │ -41e880: 2200 f10a |0000: new-instance v0, Ljava/lang/StringBuilder; // type@0af1 │ │ -41e884: 7010 ee5c 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41e88a: 5331 045e |0005: iget-wide v1, v3, Lorg/purple/smoke/SteamWriter$FileInformation;.m_rate:J // field@5e04 │ │ -41e88e: 7120 d65c 2100 |0007: invoke-static {v1, v2}, Ljava/lang/String;.valueOf:(J)Ljava/lang/String; // method@5cd6 │ │ -41e894: 0c01 |000a: move-result-object v1 │ │ -41e896: 7110 dfb7 0100 |000b: invoke-static {v1}, Lorg/purple/smoke/Miscellaneous;.formattedDigitalInformation:(Ljava/lang/String;)Ljava/lang/String; // method@b7df │ │ -41e89c: 0c01 |000e: move-result-object v1 │ │ -41e89e: 6e20 f95c 1000 |000f: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41e8a4: 1a01 a800 |0012: const-string v1, " / s" // string@00a8 │ │ -41e8a8: 6e20 f95c 1000 |0014: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41e8ae: 6e10 035d 0000 |0017: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41e8b4: 0c00 |001a: move-result-object v0 │ │ -41e8b6: 1100 |001b: return-object v0 │ │ +41e86c: |[41e86c] org.purple.smoke.SteamWriter$FileInformation.prettyRate:()Ljava/lang/String; │ │ +41e87c: 2200 f10a |0000: new-instance v0, Ljava/lang/StringBuilder; // type@0af1 │ │ +41e880: 7010 ee5c 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41e886: 5331 045e |0005: iget-wide v1, v3, Lorg/purple/smoke/SteamWriter$FileInformation;.m_rate:J // field@5e04 │ │ +41e88a: 7120 d65c 2100 |0007: invoke-static {v1, v2}, Ljava/lang/String;.valueOf:(J)Ljava/lang/String; // method@5cd6 │ │ +41e890: 0c01 |000a: move-result-object v1 │ │ +41e892: 7110 dfb7 0100 |000b: invoke-static {v1}, Lorg/purple/smoke/Miscellaneous;.formattedDigitalInformation:(Ljava/lang/String;)Ljava/lang/String; // method@b7df │ │ +41e898: 0c01 |000e: move-result-object v1 │ │ +41e89a: 6e20 f95c 1000 |000f: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41e8a0: 1a01 a800 |0012: const-string v1, " / s" // string@00a8 │ │ +41e8a4: 6e20 f95c 1000 |0014: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41e8aa: 6e10 035d 0000 |0017: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41e8b0: 0c00 |001a: move-result-object v0 │ │ +41e8b2: 1100 |001b: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=62 │ │ 0x0007 line=63 │ │ locals : │ │ 0x0000 - 0x001c reg=3 this Lorg/purple/smoke/SteamWriter$FileInformation; │ │ │ │ @@ -737675,22 +737674,22 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 13 16-bit code units │ │ -41ecec: |[41ecec] org.purple.smoke.SteamWriter.:()V │ │ -41ecfc: 7100 88b5 0000 |0000: invoke-static {}, Lorg/purple/smoke/Cryptography;.getInstance:()Lorg/purple/smoke/Cryptography; // method@b588 │ │ -41ed02: 0c00 |0003: move-result-object v0 │ │ -41ed04: 6900 0c5e |0004: sput-object v0, Lorg/purple/smoke/SteamWriter;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5e0c │ │ -41ed08: 7100 e8b5 0000 |0006: invoke-static {}, Lorg/purple/smoke/Database;.getInstance:()Lorg/purple/smoke/Database; // method@b5e8 │ │ -41ed0e: 0c00 |0009: move-result-object v0 │ │ -41ed10: 6900 0d5e |000a: sput-object v0, Lorg/purple/smoke/SteamWriter;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5e0d │ │ -41ed14: 0e00 |000c: return-void │ │ +41ece8: |[41ece8] org.purple.smoke.SteamWriter.:()V │ │ +41ecf8: 7100 88b5 0000 |0000: invoke-static {}, Lorg/purple/smoke/Cryptography;.getInstance:()Lorg/purple/smoke/Cryptography; // method@b588 │ │ +41ecfe: 0c00 |0003: move-result-object v0 │ │ +41ed00: 6900 0c5e |0004: sput-object v0, Lorg/purple/smoke/SteamWriter;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5e0c │ │ +41ed04: 7100 e8b5 0000 |0006: invoke-static {}, Lorg/purple/smoke/Database;.getInstance:()Lorg/purple/smoke/Database; // method@b5e8 │ │ +41ed0a: 0c00 |0009: move-result-object v0 │ │ +41ed0c: 6900 0d5e |000a: sput-object v0, Lorg/purple/smoke/SteamWriter;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5e0d │ │ +41ed10: 0e00 |000c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=93 │ │ 0x0006 line=94 │ │ locals : │ │ │ │ #1 : (in Lorg/purple/smoke/SteamWriter;) │ │ @@ -737698,34 +737697,34 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 9 │ │ ins : 1 │ │ outs : 7 │ │ insns size : 41 16-bit code units │ │ -41ed18: |[41ed18] org.purple.smoke.SteamWriter.:()V │ │ -41ed28: 7010 8f5c 0800 |0000: invoke-direct {v8}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41ed2e: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -41ed30: 5b80 0a5e |0004: iput-object v0, v8, Lorg/purple/smoke/SteamWriter;.m_scheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e0a │ │ -41ed34: 2200 e60a |0006: new-instance v0, Ljava/lang/Object; // type@0ae6 │ │ -41ed38: 7010 8f5c 0000 |0008: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41ed3e: 5b80 0b5e |000b: iput-object v0, v8, Lorg/purple/smoke/SteamWriter;.m_schedulerMutex:Ljava/lang/Object; // field@5e0b │ │ -41ed42: 2200 d50b |000d: new-instance v0, Ljava/util/concurrent/ConcurrentHashMap; // type@0bd5 │ │ -41ed46: 7010 a860 0000 |000f: invoke-direct {v0}, Ljava/util/concurrent/ConcurrentHashMap;.:()V // method@60a8 │ │ -41ed4c: 5b80 095e |0012: iput-object v0, v8, Lorg/purple/smoke/SteamWriter;.m_files:Ljava/util/concurrent/ConcurrentHashMap; // field@5e09 │ │ -41ed50: 7100 c460 0000 |0014: invoke-static {}, Ljava/util/concurrent/Executors;.newSingleThreadScheduledExecutor:()Ljava/util/concurrent/ScheduledExecutorService; // method@60c4 │ │ -41ed56: 0c01 |0017: move-result-object v1 │ │ -41ed58: 5b81 0a5e |0018: iput-object v1, v8, Lorg/purple/smoke/SteamWriter;.m_scheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e0a │ │ -41ed5c: 2202 a41a |001a: new-instance v2, Lorg/purple/smoke/SteamWriter$1; // type@1aa4 │ │ -41ed60: 7020 34ba 8200 |001c: invoke-direct {v2, v8}, Lorg/purple/smoke/SteamWriter$1;.:(Lorg/purple/smoke/SteamWriter;)V // method@ba34 │ │ -41ed66: 6207 eb2c |001f: sget-object v7, Ljava/util/concurrent/TimeUnit;.MILLISECONDS:Ljava/util/concurrent/TimeUnit; // field@2ceb │ │ -41ed6a: 1603 dc05 |0021: const-wide/16 v3, #int 1500 // #5dc │ │ -41ed6e: 1605 dc05 |0023: const-wide/16 v5, #int 1500 // #5dc │ │ -41ed72: 7807 cc60 0100 |0025: invoke-interface/range {v1, v2, v3, v4, v5, v6, v7}, Ljava/util/concurrent/ScheduledExecutorService;.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; // method@60cc │ │ -41ed78: 0e00 |0028: return-void │ │ +41ed14: |[41ed14] org.purple.smoke.SteamWriter.:()V │ │ +41ed24: 7010 8f5c 0800 |0000: invoke-direct {v8}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41ed2a: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +41ed2c: 5b80 0a5e |0004: iput-object v0, v8, Lorg/purple/smoke/SteamWriter;.m_scheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e0a │ │ +41ed30: 2200 e60a |0006: new-instance v0, Ljava/lang/Object; // type@0ae6 │ │ +41ed34: 7010 8f5c 0000 |0008: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41ed3a: 5b80 0b5e |000b: iput-object v0, v8, Lorg/purple/smoke/SteamWriter;.m_schedulerMutex:Ljava/lang/Object; // field@5e0b │ │ +41ed3e: 2200 d50b |000d: new-instance v0, Ljava/util/concurrent/ConcurrentHashMap; // type@0bd5 │ │ +41ed42: 7010 a860 0000 |000f: invoke-direct {v0}, Ljava/util/concurrent/ConcurrentHashMap;.:()V // method@60a8 │ │ +41ed48: 5b80 095e |0012: iput-object v0, v8, Lorg/purple/smoke/SteamWriter;.m_files:Ljava/util/concurrent/ConcurrentHashMap; // field@5e09 │ │ +41ed4c: 7100 c460 0000 |0014: invoke-static {}, Ljava/util/concurrent/Executors;.newSingleThreadScheduledExecutor:()Ljava/util/concurrent/ScheduledExecutorService; // method@60c4 │ │ +41ed52: 0c01 |0017: move-result-object v1 │ │ +41ed54: 5b81 0a5e |0018: iput-object v1, v8, Lorg/purple/smoke/SteamWriter;.m_scheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e0a │ │ +41ed58: 2202 a41a |001a: new-instance v2, Lorg/purple/smoke/SteamWriter$1; // type@1aa4 │ │ +41ed5c: 7020 34ba 8200 |001c: invoke-direct {v2, v8}, Lorg/purple/smoke/SteamWriter$1;.:(Lorg/purple/smoke/SteamWriter;)V // method@ba34 │ │ +41ed62: 6207 eb2c |001f: sget-object v7, Ljava/util/concurrent/TimeUnit;.MILLISECONDS:Ljava/util/concurrent/TimeUnit; // field@2ceb │ │ +41ed66: 1603 dc05 |0021: const-wide/16 v3, #int 1500 // #5dc │ │ +41ed6a: 1605 dc05 |0023: const-wide/16 v5, #int 1500 // #5dc │ │ +41ed6e: 7807 cc60 0100 |0025: invoke-interface/range {v1, v2, v3, v4, v5, v6, v7}, Ljava/util/concurrent/ScheduledExecutorService;.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; // method@60cc │ │ +41ed74: 0e00 |0028: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=110 │ │ 0x0004 line=89 │ │ 0x0006 line=91 │ │ 0x000d line=111 │ │ 0x0014 line=112 │ │ @@ -737738,17 +737737,17 @@ │ │ type : '(Lorg/purple/smoke/SteamWriter;)Ljava/util/concurrent/ConcurrentHashMap;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41e9f8: |[41e9f8] org.purple.smoke.SteamWriter.access$000:(Lorg/purple/smoke/SteamWriter;)Ljava/util/concurrent/ConcurrentHashMap; │ │ -41ea08: 5400 095e |0000: iget-object v0, v0, Lorg/purple/smoke/SteamWriter;.m_files:Ljava/util/concurrent/ConcurrentHashMap; // field@5e09 │ │ -41ea0c: 1100 |0002: return-object v0 │ │ +41e9f4: |[41e9f4] org.purple.smoke.SteamWriter.access$000:(Lorg/purple/smoke/SteamWriter;)Ljava/util/concurrent/ConcurrentHashMap; │ │ +41ea04: 5400 095e |0000: iget-object v0, v0, Lorg/purple/smoke/SteamWriter;.m_files:Ljava/util/concurrent/ConcurrentHashMap; // field@5e09 │ │ +41ea08: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=38 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/SteamWriter; │ │ │ │ #3 : (in Lorg/purple/smoke/SteamWriter;) │ │ @@ -737756,17 +737755,17 @@ │ │ type : '(Lorg/purple/smoke/SteamWriter;)Ljava/lang/Object;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41e9e0: |[41e9e0] org.purple.smoke.SteamWriter.access$100:(Lorg/purple/smoke/SteamWriter;)Ljava/lang/Object; │ │ -41e9f0: 5400 0b5e |0000: iget-object v0, v0, Lorg/purple/smoke/SteamWriter;.m_schedulerMutex:Ljava/lang/Object; // field@5e0b │ │ -41e9f4: 1100 |0002: return-object v0 │ │ +41e9dc: |[41e9dc] org.purple.smoke.SteamWriter.access$100:(Lorg/purple/smoke/SteamWriter;)Ljava/lang/Object; │ │ +41e9ec: 5400 0b5e |0000: iget-object v0, v0, Lorg/purple/smoke/SteamWriter;.m_schedulerMutex:Ljava/lang/Object; // field@5e0b │ │ +41e9f0: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=38 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/SteamWriter; │ │ │ │ #4 : (in Lorg/purple/smoke/SteamWriter;) │ │ @@ -737774,54 +737773,54 @@ │ │ type : '()Lorg/purple/smoke/Cryptography;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41ecbc: |[41ecbc] org.purple.smoke.SteamWriter.access$200:()Lorg/purple/smoke/Cryptography; │ │ -41eccc: 6200 0c5e |0000: sget-object v0, Lorg/purple/smoke/SteamWriter;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5e0c │ │ -41ecd0: 1100 |0002: return-object v0 │ │ +41ecb8: |[41ecb8] org.purple.smoke.SteamWriter.access$200:()Lorg/purple/smoke/Cryptography; │ │ +41ecc8: 6200 0c5e |0000: sget-object v0, Lorg/purple/smoke/SteamWriter;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5e0c │ │ +41eccc: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=38 │ │ locals : │ │ │ │ #5 : (in Lorg/purple/smoke/SteamWriter;) │ │ name : 'access$300' │ │ type : '()Lorg/purple/smoke/Database;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41ecd4: |[41ecd4] org.purple.smoke.SteamWriter.access$300:()Lorg/purple/smoke/Database; │ │ -41ece4: 6200 0d5e |0000: sget-object v0, Lorg/purple/smoke/SteamWriter;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5e0d │ │ -41ece8: 1100 |0002: return-object v0 │ │ +41ecd0: |[41ecd0] org.purple.smoke.SteamWriter.access$300:()Lorg/purple/smoke/Database; │ │ +41ece0: 6200 0d5e |0000: sget-object v0, Lorg/purple/smoke/SteamWriter;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5e0d │ │ +41ece4: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=38 │ │ locals : │ │ │ │ #6 : (in Lorg/purple/smoke/SteamWriter;) │ │ name : 'removeFileInformation' │ │ type : '(I)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 10 16-bit code units │ │ -41ed7c: |[41ed7c] org.purple.smoke.SteamWriter.removeFileInformation:(I)V │ │ -41ed8c: 5410 095e |0000: iget-object v0, v1, Lorg/purple/smoke/SteamWriter;.m_files:Ljava/util/concurrent/ConcurrentHashMap; // field@5e09 │ │ -41ed90: 7110 605c 0200 |0002: invoke-static {v2}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@5c60 │ │ -41ed96: 0c02 |0005: move-result-object v2 │ │ -41ed98: 6e20 af60 2000 |0006: invoke-virtual {v0, v2}, Ljava/util/concurrent/ConcurrentHashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@60af │ │ -41ed9e: 0e00 |0009: return-void │ │ +41ed78: |[41ed78] org.purple.smoke.SteamWriter.removeFileInformation:(I)V │ │ +41ed88: 5410 095e |0000: iget-object v0, v1, Lorg/purple/smoke/SteamWriter;.m_files:Ljava/util/concurrent/ConcurrentHashMap; // field@5e09 │ │ +41ed8c: 7110 605c 0200 |0002: invoke-static {v2}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@5c60 │ │ +41ed92: 0c02 |0005: move-result-object v2 │ │ +41ed94: 6e20 af60 2000 |0006: invoke-virtual {v0, v2}, Ljava/util/concurrent/ConcurrentHashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@60af │ │ +41ed9a: 0e00 |0009: return-void │ │ catches : 1 │ │ 0x0000 - 0x0009 │ │ Ljava/lang/Exception; -> 0x0009 │ │ positions : │ │ 0x0000 line=102 │ │ locals : │ │ 0x0000 - 0x000a reg=1 this Lorg/purple/smoke/SteamWriter; │ │ @@ -737833,19 +737832,19 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -41e9c0: |[41e9c0] org.purple.smoke.SteamWriter.size:()I │ │ -41e9d0: 5410 095e |0000: iget-object v0, v1, Lorg/purple/smoke/SteamWriter;.m_files:Ljava/util/concurrent/ConcurrentHashMap; // field@5e09 │ │ -41e9d4: 6e10 b060 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/ConcurrentHashMap;.size:()I // method@60b0 │ │ -41e9da: 0a00 |0005: move-result v0 │ │ -41e9dc: 0f00 |0006: return v0 │ │ +41e9bc: |[41e9bc] org.purple.smoke.SteamWriter.size:()I │ │ +41e9cc: 5410 095e |0000: iget-object v0, v1, Lorg/purple/smoke/SteamWriter;.m_files:Ljava/util/concurrent/ConcurrentHashMap; // field@5e09 │ │ +41e9d0: 6e10 b060 0000 |0002: invoke-virtual {v0}, Ljava/util/concurrent/ConcurrentHashMap;.size:()I // method@60b0 │ │ +41e9d6: 0a00 |0005: move-result v0 │ │ +41e9d8: 0f00 |0006: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=178 │ │ locals : │ │ 0x0000 - 0x0007 reg=1 this Lorg/purple/smoke/SteamWriter; │ │ │ │ #1 : (in Lorg/purple/smoke/SteamWriter;) │ │ @@ -737853,157 +737852,157 @@ │ │ type : '([B[BJ)J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 23 │ │ ins : 5 │ │ outs : 7 │ │ insns size : 247 16-bit code units │ │ -41ea10: |[41ea10] org.purple.smoke.SteamWriter.write:([B[BJ)J │ │ -41ea20: 0801 1200 |0000: move-object/from16 v1, v18 │ │ -41ea24: 0800 1300 |0002: move-object/from16 v0, v19 │ │ -41ea28: 0802 1400 |0004: move-object/from16 v2, v20 │ │ -41ea2c: 0503 1500 |0006: move-wide/from16 v3, v21 │ │ -41ea30: 1605 ffff |0008: const-wide/16 v5, #int -1 // #ffff │ │ -41ea34: 3800 eb00 |000a: if-eqz v0, 00f5 // +00eb │ │ -41ea38: 2107 |000c: array-length v7, v0 │ │ -41ea3a: 3807 e800 |000d: if-eqz v7, 00f5 // +00e8 │ │ -41ea3e: 1607 0000 |000f: const-wide/16 v7, #int 0 // #0 │ │ -41ea42: 3109 0307 |0011: cmp-long v9, v3, v7 │ │ -41ea46: 3a09 e200 |0013: if-ltz v9, 00f5 // +00e2 │ │ -41ea4a: 3802 e000 |0015: if-eqz v2, 00f5 // +00e0 │ │ -41ea4e: 2129 |0017: array-length v9, v2 │ │ -41ea50: 3909 0400 |0018: if-nez v9, 001c // +0004 │ │ -41ea54: 2900 db00 |001a: goto/16 00f5 // +00db │ │ -41ea58: 620a 0d5e |001c: sget-object v10, Lorg/purple/smoke/SteamWriter;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5e0d │ │ -41ea5c: 620b 0c5e |001e: sget-object v11, Lorg/purple/smoke/SteamWriter;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5e0c │ │ -41ea60: 6e30 1fb6 ba00 |0020: invoke-virtual {v10, v11, v0}, Lorg/purple/smoke/Database;.steamOidFromFileIdentity:(Lorg/purple/smoke/Cryptography;[B)I // method@b61f │ │ -41ea66: 0a0e |0023: move-result v14 │ │ -41ea68: 12f9 |0024: const/4 v9, #int -1 // #ff │ │ -41ea6a: 339e 0300 |0025: if-ne v14, v9, 0028 // +0003 │ │ -41ea6e: 1005 |0027: return-wide v5 │ │ -41ea70: d80c 0eff |0028: add-int/lit8 v12, v14, #int -1 // #ff │ │ -41ea74: 6e40 13b6 bac9 |002a: invoke-virtual {v10, v11, v9, v12}, Lorg/purple/smoke/Database;.readSteam:(Lorg/purple/smoke/Cryptography;II)Lorg/purple/smoke/SteamElement; // method@b613 │ │ -41ea7a: 0c09 |002d: move-result-object v9 │ │ -41ea7c: 3909 0300 |002e: if-nez v9, 0031 // +0003 │ │ -41ea80: 1005 |0030: return-wide v5 │ │ -41ea82: 212c |0031: array-length v12, v2 │ │ -41ea84: 81cc |0032: int-to-long v12, v12 │ │ -41ea86: bb3c |0033: add-long/2addr v12, v3 │ │ -41ea88: 5397 b05d |0034: iget-wide v7, v9, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ -41ea8c: 3111 0c07 |0036: cmp-long v17, v12, v7 │ │ -41ea90: 3d11 0300 |0038: if-lez v17, 003b // +0003 │ │ -41ea94: 1005 |003a: return-wide v5 │ │ -41ea96: 5497 b85d |003b: iget-object v7, v9, Lorg/purple/smoke/SteamElement;.m_status:Ljava/lang/String; // field@5db8 │ │ -41ea9a: 1a08 ae5e |003d: const-string v8, "completed" // string@5eae │ │ -41ea9e: 6e20 b85c 8700 |003f: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41eaa4: 0a07 |0042: move-result v7 │ │ -41eaa6: 3807 0b00 |0043: if-eqz v7, 004e // +000b │ │ -41eaaa: 6e20 ecb5 ea00 |0045: invoke-virtual {v10, v14}, Lorg/purple/smoke/Database;.isSteamLocked:(I)Z // method@b5ec │ │ -41eab0: 0a07 |0048: move-result v7 │ │ -41eab2: 3807 0500 |0049: if-eqz v7, 004e // +0005 │ │ -41eab6: 5392 b05d |004b: iget-wide v2, v9, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ -41eaba: 1002 |004d: return-wide v2 │ │ -41eabc: 1207 |004e: const/4 v7, #int 0 // #0 │ │ -41eabe: 2208 aa0a |004f: new-instance v8, Ljava/io/File; // type@0aaa │ │ -41eac2: 620c 6f00 |0051: sget-object v12, Landroid/os/Environment;.DIRECTORY_DOWNLOADS:Ljava/lang/String; // field@006f │ │ -41eac6: 7110 f304 0c00 |0053: invoke-static {v12}, Landroid/os/Environment;.getExternalStoragePublicDirectory:(Ljava/lang/String;)Ljava/io/File; // method@04f3 │ │ -41eacc: 0c0c |0056: move-result-object v12 │ │ -41eace: 549d af5d |0057: iget-object v13, v9, Lorg/purple/smoke/SteamElement;.m_fileName:Ljava/lang/String; // field@5daf │ │ -41ead2: 7030 8d5b c80d |0059: invoke-direct {v8, v12, v13}, Ljava/io/File;.:(Ljava/io/File;Ljava/lang/String;)V // method@5b8d │ │ -41ead8: 6e10 945b 0800 |005c: invoke-virtual {v8}, Ljava/io/File;.exists:()Z // method@5b94 │ │ -41eade: 0a0c |005f: move-result v12 │ │ -41eae0: 390c 0500 |0060: if-nez v12, 0065 // +0005 │ │ -41eae4: 6e10 925b 0800 |0062: invoke-virtual {v8}, Ljava/io/File;.createNewFile:()Z // method@5b92 │ │ -41eaea: 220d bc0a |0065: new-instance v13, Ljava/io/RandomAccessFile; // type@0abc │ │ -41eaee: 1a0c a796 |0067: const-string v12, "rwd" // string@96a7 │ │ -41eaf2: 7030 f05b 8d0c |0069: invoke-direct {v13, v8, v12}, Ljava/io/RandomAccessFile;.:(Ljava/io/File;Ljava/lang/String;)V // method@5bf0 │ │ -41eaf8: 6e30 f25b 3d04 |006c: invoke-virtual {v13, v3, v4}, Ljava/io/RandomAccessFile;.seek:(J)V // method@5bf2 │ │ -41eafe: 6e20 f35b 2d00 |006f: invoke-virtual {v13, v2}, Ljava/io/RandomAccessFile;.write:([B)V // method@5bf3 │ │ -41eb04: 160f 0000 |0072: const-wide/16 v15, #int 0 // #0 │ │ -41eb08: 3108 030f |0074: cmp-long v8, v3, v15 │ │ -41eb0c: 3908 0d00 |0076: if-nez v8, 0083 // +000d │ │ -41eb10: 6e5e 27b6 ba77 |0078: invoke-virtual {v10, v11, v7, v7, v14}, Lorg/purple/smoke/Database;.writeEphemeralSteamKeys:(Lorg/purple/smoke/Cryptography;[B[BI)Z // method@b627 │ │ -41eb16: 2808 |007b: goto 0083 // +0008 │ │ -41eb18: 0d00 |007c: move-exception v0 │ │ -41eb1a: 07d7 |007d: move-object v7, v13 │ │ -41eb1c: 2900 6900 |007e: goto/16 00e7 // +0069 │ │ -41eb20: 07d7 |0080: move-object v7, v13 │ │ -41eb22: 2900 6c00 |0081: goto/16 00ed // +006c │ │ -41eb26: 2127 |0083: array-length v7, v2 │ │ -41eb28: 8177 |0084: int-to-long v7, v7 │ │ -41eb2a: bb37 |0085: add-long/2addr v7, v3 │ │ -41eb2c: 5395 b05d |0086: iget-wide v5, v9, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ -41eb30: 3109 0705 |0088: cmp-long v9, v7, v5 │ │ -41eb34: 3909 1600 |008a: if-nez v9, 00a0 // +0016 │ │ -41eb38: 7020 3fba e100 |008c: invoke-direct {v1, v14}, Lorg/purple/smoke/SteamWriter;.removeFileInformation:(I)V // method@ba3f │ │ -41eb3e: 1a0c ae5e |008f: const-string v12, "completed" // string@5eae │ │ -41eb42: 1a00 0000 |0091: const-string v0, "" // string@0000 │ │ -41eb46: 2122 |0093: array-length v2, v2 │ │ -41eb48: 8125 |0094: int-to-long v5, v2 │ │ -41eb4a: 9b0f 0305 |0095: add-long v15, v3, v5 │ │ -41eb4e: 07d5 |0097: move-object v5, v13 │ │ -41eb50: 070d |0098: move-object v13, v0 │ │ -41eb52: 7407 39b6 0a00 |0099: invoke-virtual/range {v10, v11, v12, v13, v14, v15, v16}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ -41eb58: 6e10 f15b 0500 |009c: invoke-virtual {v5}, Ljava/io/RandomAccessFile;.close:()V // method@5bf1 │ │ -41eb5e: 1003 |009f: return-wide v3 │ │ -41eb60: 07d5 |00a0: move-object v5, v13 │ │ -41eb62: 5416 095e |00a1: iget-object v6, v1, Lorg/purple/smoke/SteamWriter;.m_files:Ljava/util/concurrent/ConcurrentHashMap; // field@5e09 │ │ -41eb66: 7110 605c 0e00 |00a3: invoke-static {v14}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@5c60 │ │ -41eb6c: 0c07 |00a6: move-result-object v7 │ │ -41eb6e: 6e20 ab60 7600 |00a7: invoke-virtual {v6, v7}, Ljava/util/concurrent/ConcurrentHashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@60ab │ │ -41eb74: 0c06 |00aa: move-result-object v6 │ │ -41eb76: 1f06 a51a |00ab: check-cast v6, Lorg/purple/smoke/SteamWriter$FileInformation; // type@1aa5 │ │ -41eb7a: 3906 0b00 |00ad: if-nez v6, 00b8 // +000b │ │ -41eb7e: 2206 a51a |00af: new-instance v6, Lorg/purple/smoke/SteamWriter$FileInformation; // type@1aa5 │ │ -41eb82: 2122 |00b1: array-length v2, v2 │ │ -41eb84: 8127 |00b2: int-to-long v7, v2 │ │ -41eb86: bb37 |00b3: add-long/2addr v7, v3 │ │ -41eb88: 7058 36ba 067e |00b4: invoke-direct {v6, v0, v14, v7, v8}, Lorg/purple/smoke/SteamWriter$FileInformation;.:([BIJ)V // method@ba36 │ │ -41eb8e: 280c |00b7: goto 00c3 // +000c │ │ -41eb90: 7100 065d 0000 |00b8: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ -41eb96: 0b07 |00bb: move-result-wide v7 │ │ -41eb98: 5a67 005e |00bc: iput-wide v7, v6, Lorg/purple/smoke/SteamWriter$FileInformation;.m_lastStatusTimestamp:J // field@5e00 │ │ -41eb9c: 2120 |00be: array-length v0, v2 │ │ -41eb9e: 8107 |00bf: int-to-long v7, v0 │ │ -41eba0: bb37 |00c0: add-long/2addr v7, v3 │ │ -41eba2: 5a67 015e |00c1: iput-wide v7, v6, Lorg/purple/smoke/SteamWriter$FileInformation;.m_offset:J // field@5e01 │ │ -41eba6: 5410 095e |00c3: iget-object v0, v1, Lorg/purple/smoke/SteamWriter;.m_files:Ljava/util/concurrent/ConcurrentHashMap; // field@5e09 │ │ -41ebaa: 7110 605c 0e00 |00c5: invoke-static {v14}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@5c60 │ │ -41ebb0: 0c02 |00c8: move-result-object v2 │ │ -41ebb2: 6e30 ae60 2006 |00c9: invoke-virtual {v0, v2, v6}, Ljava/util/concurrent/ConcurrentHashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@60ae │ │ -41ebb8: 2803 |00cc: goto 00cf // +0003 │ │ -41ebba: 0d00 |00cd: move-exception v0 │ │ -41ebbc: 2813 |00ce: goto 00e1 // +0013 │ │ -41ebbe: 5412 0b5e |00cf: iget-object v2, v1, Lorg/purple/smoke/SteamWriter;.m_schedulerMutex:Ljava/lang/Object; // field@5e0b │ │ -41ebc2: 1d02 |00d1: monitor-enter v2 │ │ -41ebc4: 5410 0b5e |00d2: iget-object v0, v1, Lorg/purple/smoke/SteamWriter;.m_schedulerMutex:Ljava/lang/Object; // field@5e0b │ │ -41ebc8: 6e10 945c 0000 |00d4: invoke-virtual {v0}, Ljava/lang/Object;.notify:()V // method@5c94 │ │ -41ebce: 1e02 |00d7: monitor-exit v2 │ │ -41ebd0: 6e10 f15b 0500 |00d8: invoke-virtual {v5}, Ljava/io/RandomAccessFile;.close:()V // method@5bf1 │ │ -41ebd6: 1003 |00db: return-wide v3 │ │ -41ebd8: 0d00 |00dc: move-exception v0 │ │ -41ebda: 1e02 |00dd: monitor-exit v2 │ │ -41ebdc: 2700 |00de: throw v0 │ │ -41ebde: 0d00 |00df: move-exception v0 │ │ -41ebe0: 07d5 |00e0: move-object v5, v13 │ │ -41ebe2: 0757 |00e1: move-object v7, v5 │ │ -41ebe4: 2805 |00e2: goto 00e7 // +0005 │ │ -41ebe6: 07d5 |00e3: move-object v5, v13 │ │ -41ebe8: 0757 |00e4: move-object v7, v5 │ │ -41ebea: 2808 |00e5: goto 00ed // +0008 │ │ -41ebec: 0d00 |00e6: move-exception v0 │ │ -41ebee: 3807 0500 |00e7: if-eqz v7, 00ec // +0005 │ │ -41ebf2: 6e10 f15b 0700 |00e9: invoke-virtual {v7}, Ljava/io/RandomAccessFile;.close:()V // method@5bf1 │ │ -41ebf8: 2700 |00ec: throw v0 │ │ -41ebfa: 3807 0500 |00ed: if-eqz v7, 00f2 // +0005 │ │ -41ebfe: 6e10 f15b 0700 |00ef: invoke-virtual {v7}, Ljava/io/RandomAccessFile;.close:()V // method@5bf1 │ │ -41ec04: 1602 ffff |00f2: const-wide/16 v2, #int -1 // #ffff │ │ -41ec08: 1002 |00f4: return-wide v2 │ │ -41ec0a: 0452 |00f5: move-wide v2, v5 │ │ -41ec0c: 1002 |00f6: return-wide v2 │ │ +41ea0c: |[41ea0c] org.purple.smoke.SteamWriter.write:([B[BJ)J │ │ +41ea1c: 0801 1200 |0000: move-object/from16 v1, v18 │ │ +41ea20: 0800 1300 |0002: move-object/from16 v0, v19 │ │ +41ea24: 0802 1400 |0004: move-object/from16 v2, v20 │ │ +41ea28: 0503 1500 |0006: move-wide/from16 v3, v21 │ │ +41ea2c: 1605 ffff |0008: const-wide/16 v5, #int -1 // #ffff │ │ +41ea30: 3800 eb00 |000a: if-eqz v0, 00f5 // +00eb │ │ +41ea34: 2107 |000c: array-length v7, v0 │ │ +41ea36: 3807 e800 |000d: if-eqz v7, 00f5 // +00e8 │ │ +41ea3a: 1607 0000 |000f: const-wide/16 v7, #int 0 // #0 │ │ +41ea3e: 3109 0307 |0011: cmp-long v9, v3, v7 │ │ +41ea42: 3a09 e200 |0013: if-ltz v9, 00f5 // +00e2 │ │ +41ea46: 3802 e000 |0015: if-eqz v2, 00f5 // +00e0 │ │ +41ea4a: 2129 |0017: array-length v9, v2 │ │ +41ea4c: 3909 0400 |0018: if-nez v9, 001c // +0004 │ │ +41ea50: 2900 db00 |001a: goto/16 00f5 // +00db │ │ +41ea54: 620a 0d5e |001c: sget-object v10, Lorg/purple/smoke/SteamWriter;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5e0d │ │ +41ea58: 620b 0c5e |001e: sget-object v11, Lorg/purple/smoke/SteamWriter;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5e0c │ │ +41ea5c: 6e30 1fb6 ba00 |0020: invoke-virtual {v10, v11, v0}, Lorg/purple/smoke/Database;.steamOidFromFileIdentity:(Lorg/purple/smoke/Cryptography;[B)I // method@b61f │ │ +41ea62: 0a0e |0023: move-result v14 │ │ +41ea64: 12f9 |0024: const/4 v9, #int -1 // #ff │ │ +41ea66: 339e 0300 |0025: if-ne v14, v9, 0028 // +0003 │ │ +41ea6a: 1005 |0027: return-wide v5 │ │ +41ea6c: d80c 0eff |0028: add-int/lit8 v12, v14, #int -1 // #ff │ │ +41ea70: 6e40 13b6 bac9 |002a: invoke-virtual {v10, v11, v9, v12}, Lorg/purple/smoke/Database;.readSteam:(Lorg/purple/smoke/Cryptography;II)Lorg/purple/smoke/SteamElement; // method@b613 │ │ +41ea76: 0c09 |002d: move-result-object v9 │ │ +41ea78: 3909 0300 |002e: if-nez v9, 0031 // +0003 │ │ +41ea7c: 1005 |0030: return-wide v5 │ │ +41ea7e: 212c |0031: array-length v12, v2 │ │ +41ea80: 81cc |0032: int-to-long v12, v12 │ │ +41ea82: bb3c |0033: add-long/2addr v12, v3 │ │ +41ea84: 5397 b05d |0034: iget-wide v7, v9, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ +41ea88: 3111 0c07 |0036: cmp-long v17, v12, v7 │ │ +41ea8c: 3d11 0300 |0038: if-lez v17, 003b // +0003 │ │ +41ea90: 1005 |003a: return-wide v5 │ │ +41ea92: 5497 b85d |003b: iget-object v7, v9, Lorg/purple/smoke/SteamElement;.m_status:Ljava/lang/String; // field@5db8 │ │ +41ea96: 1a08 ae5e |003d: const-string v8, "completed" // string@5eae │ │ +41ea9a: 6e20 b85c 8700 |003f: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41eaa0: 0a07 |0042: move-result v7 │ │ +41eaa2: 3807 0b00 |0043: if-eqz v7, 004e // +000b │ │ +41eaa6: 6e20 ecb5 ea00 |0045: invoke-virtual {v10, v14}, Lorg/purple/smoke/Database;.isSteamLocked:(I)Z // method@b5ec │ │ +41eaac: 0a07 |0048: move-result v7 │ │ +41eaae: 3807 0500 |0049: if-eqz v7, 004e // +0005 │ │ +41eab2: 5392 b05d |004b: iget-wide v2, v9, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ +41eab6: 1002 |004d: return-wide v2 │ │ +41eab8: 1207 |004e: const/4 v7, #int 0 // #0 │ │ +41eaba: 2208 aa0a |004f: new-instance v8, Ljava/io/File; // type@0aaa │ │ +41eabe: 620c 6f00 |0051: sget-object v12, Landroid/os/Environment;.DIRECTORY_DOWNLOADS:Ljava/lang/String; // field@006f │ │ +41eac2: 7110 f304 0c00 |0053: invoke-static {v12}, Landroid/os/Environment;.getExternalStoragePublicDirectory:(Ljava/lang/String;)Ljava/io/File; // method@04f3 │ │ +41eac8: 0c0c |0056: move-result-object v12 │ │ +41eaca: 549d af5d |0057: iget-object v13, v9, Lorg/purple/smoke/SteamElement;.m_fileName:Ljava/lang/String; // field@5daf │ │ +41eace: 7030 8d5b c80d |0059: invoke-direct {v8, v12, v13}, Ljava/io/File;.:(Ljava/io/File;Ljava/lang/String;)V // method@5b8d │ │ +41ead4: 6e10 945b 0800 |005c: invoke-virtual {v8}, Ljava/io/File;.exists:()Z // method@5b94 │ │ +41eada: 0a0c |005f: move-result v12 │ │ +41eadc: 390c 0500 |0060: if-nez v12, 0065 // +0005 │ │ +41eae0: 6e10 925b 0800 |0062: invoke-virtual {v8}, Ljava/io/File;.createNewFile:()Z // method@5b92 │ │ +41eae6: 220d bc0a |0065: new-instance v13, Ljava/io/RandomAccessFile; // type@0abc │ │ +41eaea: 1a0c a796 |0067: const-string v12, "rwd" // string@96a7 │ │ +41eaee: 7030 f05b 8d0c |0069: invoke-direct {v13, v8, v12}, Ljava/io/RandomAccessFile;.:(Ljava/io/File;Ljava/lang/String;)V // method@5bf0 │ │ +41eaf4: 6e30 f25b 3d04 |006c: invoke-virtual {v13, v3, v4}, Ljava/io/RandomAccessFile;.seek:(J)V // method@5bf2 │ │ +41eafa: 6e20 f35b 2d00 |006f: invoke-virtual {v13, v2}, Ljava/io/RandomAccessFile;.write:([B)V // method@5bf3 │ │ +41eb00: 160f 0000 |0072: const-wide/16 v15, #int 0 // #0 │ │ +41eb04: 3108 030f |0074: cmp-long v8, v3, v15 │ │ +41eb08: 3908 0d00 |0076: if-nez v8, 0083 // +000d │ │ +41eb0c: 6e5e 27b6 ba77 |0078: invoke-virtual {v10, v11, v7, v7, v14}, Lorg/purple/smoke/Database;.writeEphemeralSteamKeys:(Lorg/purple/smoke/Cryptography;[B[BI)Z // method@b627 │ │ +41eb12: 2808 |007b: goto 0083 // +0008 │ │ +41eb14: 0d00 |007c: move-exception v0 │ │ +41eb16: 07d7 |007d: move-object v7, v13 │ │ +41eb18: 2900 6900 |007e: goto/16 00e7 // +0069 │ │ +41eb1c: 07d7 |0080: move-object v7, v13 │ │ +41eb1e: 2900 6c00 |0081: goto/16 00ed // +006c │ │ +41eb22: 2127 |0083: array-length v7, v2 │ │ +41eb24: 8177 |0084: int-to-long v7, v7 │ │ +41eb26: bb37 |0085: add-long/2addr v7, v3 │ │ +41eb28: 5395 b05d |0086: iget-wide v5, v9, Lorg/purple/smoke/SteamElement;.m_fileSize:J // field@5db0 │ │ +41eb2c: 3109 0705 |0088: cmp-long v9, v7, v5 │ │ +41eb30: 3909 1600 |008a: if-nez v9, 00a0 // +0016 │ │ +41eb34: 7020 3fba e100 |008c: invoke-direct {v1, v14}, Lorg/purple/smoke/SteamWriter;.removeFileInformation:(I)V // method@ba3f │ │ +41eb3a: 1a0c ae5e |008f: const-string v12, "completed" // string@5eae │ │ +41eb3e: 1a00 0000 |0091: const-string v0, "" // string@0000 │ │ +41eb42: 2122 |0093: array-length v2, v2 │ │ +41eb44: 8125 |0094: int-to-long v5, v2 │ │ +41eb46: 9b0f 0305 |0095: add-long v15, v3, v5 │ │ +41eb4a: 07d5 |0097: move-object v5, v13 │ │ +41eb4c: 070d |0098: move-object v13, v0 │ │ +41eb4e: 7407 39b6 0a00 |0099: invoke-virtual/range {v10, v11, v12, v13, v14, v15, v16}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ +41eb54: 6e10 f15b 0500 |009c: invoke-virtual {v5}, Ljava/io/RandomAccessFile;.close:()V // method@5bf1 │ │ +41eb5a: 1003 |009f: return-wide v3 │ │ +41eb5c: 07d5 |00a0: move-object v5, v13 │ │ +41eb5e: 5416 095e |00a1: iget-object v6, v1, Lorg/purple/smoke/SteamWriter;.m_files:Ljava/util/concurrent/ConcurrentHashMap; // field@5e09 │ │ +41eb62: 7110 605c 0e00 |00a3: invoke-static {v14}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@5c60 │ │ +41eb68: 0c07 |00a6: move-result-object v7 │ │ +41eb6a: 6e20 ab60 7600 |00a7: invoke-virtual {v6, v7}, Ljava/util/concurrent/ConcurrentHashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@60ab │ │ +41eb70: 0c06 |00aa: move-result-object v6 │ │ +41eb72: 1f06 a51a |00ab: check-cast v6, Lorg/purple/smoke/SteamWriter$FileInformation; // type@1aa5 │ │ +41eb76: 3906 0b00 |00ad: if-nez v6, 00b8 // +000b │ │ +41eb7a: 2206 a51a |00af: new-instance v6, Lorg/purple/smoke/SteamWriter$FileInformation; // type@1aa5 │ │ +41eb7e: 2122 |00b1: array-length v2, v2 │ │ +41eb80: 8127 |00b2: int-to-long v7, v2 │ │ +41eb82: bb37 |00b3: add-long/2addr v7, v3 │ │ +41eb84: 7058 36ba 067e |00b4: invoke-direct {v6, v0, v14, v7, v8}, Lorg/purple/smoke/SteamWriter$FileInformation;.:([BIJ)V // method@ba36 │ │ +41eb8a: 280c |00b7: goto 00c3 // +000c │ │ +41eb8c: 7100 065d 0000 |00b8: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ +41eb92: 0b07 |00bb: move-result-wide v7 │ │ +41eb94: 5a67 005e |00bc: iput-wide v7, v6, Lorg/purple/smoke/SteamWriter$FileInformation;.m_lastStatusTimestamp:J // field@5e00 │ │ +41eb98: 2120 |00be: array-length v0, v2 │ │ +41eb9a: 8107 |00bf: int-to-long v7, v0 │ │ +41eb9c: bb37 |00c0: add-long/2addr v7, v3 │ │ +41eb9e: 5a67 015e |00c1: iput-wide v7, v6, Lorg/purple/smoke/SteamWriter$FileInformation;.m_offset:J // field@5e01 │ │ +41eba2: 5410 095e |00c3: iget-object v0, v1, Lorg/purple/smoke/SteamWriter;.m_files:Ljava/util/concurrent/ConcurrentHashMap; // field@5e09 │ │ +41eba6: 7110 605c 0e00 |00c5: invoke-static {v14}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@5c60 │ │ +41ebac: 0c02 |00c8: move-result-object v2 │ │ +41ebae: 6e30 ae60 2006 |00c9: invoke-virtual {v0, v2, v6}, Ljava/util/concurrent/ConcurrentHashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@60ae │ │ +41ebb4: 2803 |00cc: goto 00cf // +0003 │ │ +41ebb6: 0d00 |00cd: move-exception v0 │ │ +41ebb8: 2813 |00ce: goto 00e1 // +0013 │ │ +41ebba: 5412 0b5e |00cf: iget-object v2, v1, Lorg/purple/smoke/SteamWriter;.m_schedulerMutex:Ljava/lang/Object; // field@5e0b │ │ +41ebbe: 1d02 |00d1: monitor-enter v2 │ │ +41ebc0: 5410 0b5e |00d2: iget-object v0, v1, Lorg/purple/smoke/SteamWriter;.m_schedulerMutex:Ljava/lang/Object; // field@5e0b │ │ +41ebc4: 6e10 945c 0000 |00d4: invoke-virtual {v0}, Ljava/lang/Object;.notify:()V // method@5c94 │ │ +41ebca: 1e02 |00d7: monitor-exit v2 │ │ +41ebcc: 6e10 f15b 0500 |00d8: invoke-virtual {v5}, Ljava/io/RandomAccessFile;.close:()V // method@5bf1 │ │ +41ebd2: 1003 |00db: return-wide v3 │ │ +41ebd4: 0d00 |00dc: move-exception v0 │ │ +41ebd6: 1e02 |00dd: monitor-exit v2 │ │ +41ebd8: 2700 |00de: throw v0 │ │ +41ebda: 0d00 |00df: move-exception v0 │ │ +41ebdc: 07d5 |00e0: move-object v5, v13 │ │ +41ebde: 0757 |00e1: move-object v7, v5 │ │ +41ebe0: 2805 |00e2: goto 00e7 // +0005 │ │ +41ebe2: 07d5 |00e3: move-object v5, v13 │ │ +41ebe4: 0757 |00e4: move-object v7, v5 │ │ +41ebe6: 2808 |00e5: goto 00ed // +0008 │ │ +41ebe8: 0d00 |00e6: move-exception v0 │ │ +41ebea: 3807 0500 |00e7: if-eqz v7, 00ec // +0005 │ │ +41ebee: 6e10 f15b 0700 |00e9: invoke-virtual {v7}, Ljava/io/RandomAccessFile;.close:()V // method@5bf1 │ │ +41ebf4: 2700 |00ec: throw v0 │ │ +41ebf6: 3807 0500 |00ed: if-eqz v7, 00f2 // +0005 │ │ +41ebfa: 6e10 f15b 0700 |00ef: invoke-virtual {v7}, Ljava/io/RandomAccessFile;.close:()V // method@5bf1 │ │ +41ec00: 1602 ffff |00f2: const-wide/16 v2, #int -1 // #ffff │ │ +41ec04: 1002 |00f4: return-wide v2 │ │ +41ec06: 0452 |00f5: move-wide v2, v5 │ │ +41ec08: 1002 |00f6: return-wide v2 │ │ catches : 14 │ │ 0x004f - 0x006c │ │ Ljava/lang/Exception; -> 0x00ed │ │ -> 0x00e6 │ │ 0x006c - 0x0072 │ │ Ljava/lang/Exception; -> 0x00e3 │ │ -> 0x00df │ │ @@ -738117,20 +738116,20 @@ │ │ type : '(Lorg/purple/smoke/TcpNeighbor;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -41fc10: |[41fc10] org.purple.smoke.TcpNeighbor$1.:(Lorg/purple/smoke/TcpNeighbor;)V │ │ -41fc20: 5b01 0f5e |0000: iput-object v1, v0, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ -41fc24: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41fc2a: 1201 |0005: const/4 v1, #int 0 // #0 │ │ -41fc2c: 5c01 0e5e |0006: iput-boolean v1, v0, Lorg/purple/smoke/TcpNeighbor$1;.m_error:Z // field@5e0e │ │ -41fc30: 0e00 |0008: return-void │ │ +41fc0c: |[41fc0c] org.purple.smoke.TcpNeighbor$1.:(Lorg/purple/smoke/TcpNeighbor;)V │ │ +41fc1c: 5b01 0f5e |0000: iput-object v1, v0, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ +41fc20: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41fc26: 1201 |0005: const/4 v1, #int 0 // #0 │ │ +41fc28: 5c01 0e5e |0006: iput-boolean v1, v0, Lorg/purple/smoke/TcpNeighbor$1;.m_error:Z // field@5e0e │ │ +41fc2c: 0e00 |0008: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=287 │ │ 0x0006 line=288 │ │ locals : │ │ 0x0000 - 0x0009 reg=0 this Lorg/purple/smoke/TcpNeighbor$1; │ │ 0x0000 - 0x0009 reg=1 (null) Lorg/purple/smoke/TcpNeighbor; │ │ @@ -738141,137 +738140,137 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 9 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 227 16-bit code units │ │ -41fc34: |[41fc34] org.purple.smoke.TcpNeighbor$1.run:()V │ │ -41fc44: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -41fc46: 5481 0f5e |0001: iget-object v1, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ -41fc4a: 6e10 48ba 0100 |0003: invoke-virtual {v1}, Lorg/purple/smoke/TcpNeighbor;.connected:()Z // method@ba48 │ │ -41fc50: 0a01 |0006: move-result v1 │ │ -41fc52: 3901 2100 |0007: if-nez v1, 0028 // +0021 │ │ -41fc56: 5481 0f5e |0009: iget-object v1, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ -41fc5a: 5411 145e |000b: iget-object v1, v1, Lorg/purple/smoke/TcpNeighbor;.m_disconnected:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e14 │ │ -41fc5e: 6e10 d660 0100 |000d: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ -41fc64: 0a01 |0010: move-result v1 │ │ -41fc66: 3901 1700 |0011: if-nez v1, 0028 // +0017 │ │ -41fc6a: 5481 0f5e |0013: iget-object v1, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ -41fc6e: 5411 195e |0015: iget-object v1, v1, Lorg/purple/smoke/TcpNeighbor;.m_mutex:Ljava/lang/Object; // field@5e19 │ │ -41fc72: 1d01 |0017: monitor-enter v1 │ │ -41fc74: 5482 0f5e |0018: iget-object v2, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ -41fc78: 5422 195e |001a: iget-object v2, v2, Lorg/purple/smoke/TcpNeighbor;.m_mutex:Ljava/lang/Object; // field@5e19 │ │ -41fc7c: 1603 1027 |001c: const-wide/16 v3, #int 10000 // #2710 │ │ -41fc80: 6e30 985c 3204 |001e: invoke-virtual {v2, v3, v4}, Ljava/lang/Object;.wait:(J)V // method@5c98 │ │ -41fc86: 2803 |0021: goto 0024 // +0003 │ │ -41fc88: 0d02 |0022: move-exception v2 │ │ -41fc8a: 2803 |0023: goto 0026 // +0003 │ │ -41fc8c: 1e01 |0024: monitor-exit v1 │ │ -41fc8e: 2803 |0025: goto 0028 // +0003 │ │ -41fc90: 1e01 |0026: monitor-exit v1 │ │ -41fc92: 2702 |0027: throw v2 │ │ -41fc94: 5481 0f5e |0028: iget-object v1, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ -41fc98: 6e10 48ba 0100 |002a: invoke-virtual {v1}, Lorg/purple/smoke/TcpNeighbor;.connected:()Z // method@ba48 │ │ -41fc9e: 0a01 |002d: move-result v1 │ │ -41fca0: 3801 a500 |002e: if-eqz v1, 00d3 // +00a5 │ │ -41fca4: 5481 0f5e |0030: iget-object v1, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ -41fca8: 5411 145e |0032: iget-object v1, v1, Lorg/purple/smoke/TcpNeighbor;.m_disconnected:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e14 │ │ -41fcac: 6e10 d660 0100 |0034: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ -41fcb2: 0a01 |0037: move-result v1 │ │ -41fcb4: 3801 0400 |0038: if-eqz v1, 003c // +0004 │ │ -41fcb8: 2900 9900 |003a: goto/16 00d3 // +0099 │ │ -41fcbc: 5581 0e5e |003c: iget-boolean v1, v8, Lorg/purple/smoke/TcpNeighbor$1;.m_error:Z // field@5e0e │ │ -41fcc0: 1202 |003e: const/4 v2, #int 0 // #0 │ │ -41fcc2: 3801 0e00 |003f: if-eqz v1, 004d // +000e │ │ -41fcc6: 5481 0f5e |0041: iget-object v1, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ -41fcca: 6e10 48ba 0100 |0043: invoke-virtual {v1}, Lorg/purple/smoke/TcpNeighbor;.connected:()Z // method@ba48 │ │ -41fcd0: 0a01 |0046: move-result v1 │ │ -41fcd2: 3801 0500 |0047: if-eqz v1, 004c // +0005 │ │ -41fcd6: 5c82 0e5e |0049: iput-boolean v2, v8, Lorg/purple/smoke/TcpNeighbor$1;.m_error:Z // field@5e0e │ │ -41fcda: 2817 |004b: goto 0062 // +0017 │ │ -41fcdc: 0e00 |004c: return-void │ │ -41fcde: 5481 0f5e |004d: iget-object v1, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ -41fce2: 7110 46ba 0100 |004f: invoke-static {v1}, Lorg/purple/smoke/TcpNeighbor;.access$000:(Lorg/purple/smoke/TcpNeighbor;)Ljava/net/Socket; // method@ba46 │ │ -41fce8: 0c01 |0052: move-result-object v1 │ │ -41fcea: 3801 8000 |0053: if-eqz v1, 00d3 // +0080 │ │ -41fcee: 5481 0f5e |0055: iget-object v1, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ -41fcf2: 7110 46ba 0100 |0057: invoke-static {v1}, Lorg/purple/smoke/TcpNeighbor;.access$000:(Lorg/purple/smoke/TcpNeighbor;)Ljava/net/Socket; // method@ba46 │ │ -41fcf8: 0c01 |005a: move-result-object v1 │ │ -41fcfa: 6e10 a45d 0100 |005b: invoke-virtual {v1}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@5da4 │ │ -41fd00: 0c01 |005e: move-result-object v1 │ │ -41fd02: 3901 0300 |005f: if-nez v1, 0062 // +0003 │ │ -41fd06: 2872 |0061: goto 00d3 // +0072 │ │ -41fd08: 1501 1000 |0062: const/high16 v1, #int 1048576 // #10 │ │ -41fd0c: 2311 ba1a |0064: new-array v1, v1, [B // type@1aba │ │ -41fd10: 5483 0f5e |0066: iget-object v3, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ -41fd14: 7110 46ba 0300 |0068: invoke-static {v3}, Lorg/purple/smoke/TcpNeighbor;.access$000:(Lorg/purple/smoke/TcpNeighbor;)Ljava/net/Socket; // method@ba46 │ │ -41fd1a: 0c03 |006b: move-result-object v3 │ │ -41fd1c: 6e10 a45d 0300 |006c: invoke-virtual {v3}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@5da4 │ │ -41fd22: 0c03 |006f: move-result-object v3 │ │ -41fd24: 6e20 c15b 1300 |0070: invoke-virtual {v3, v1}, Ljava/io/InputStream;.read:([B)I // method@5bc1 │ │ -41fd2a: 0a03 |0073: move-result v3 │ │ -41fd2c: 2804 |0074: goto 0078 // +0004 │ │ -41fd2e: 5c80 0e5e |0075: iput-boolean v0, v8, Lorg/purple/smoke/TcpNeighbor$1;.m_error:Z // field@5e0e │ │ -41fd32: 1203 |0077: const/4 v3, #int 0 // #0 │ │ -41fd34: 8133 |0078: int-to-long v3, v3 │ │ -41fd36: 1605 0000 |0079: const-wide/16 v5, #int 0 // #0 │ │ -41fd3a: 3107 0305 |007b: cmp-long v7, v3, v5 │ │ -41fd3e: 3a07 4800 |007d: if-ltz v7, 00c5 // +0048 │ │ -41fd42: 5587 0e5e |007f: iget-boolean v7, v8, Lorg/purple/smoke/TcpNeighbor$1;.m_error:Z // field@5e0e │ │ -41fd46: 3807 0300 |0081: if-eqz v7, 0084 // +0003 │ │ -41fd4a: 2842 |0083: goto 00c5 // +0042 │ │ -41fd4c: 3107 0305 |0084: cmp-long v7, v3, v5 │ │ -41fd50: 3907 0300 |0086: if-nez v7, 0089 // +0003 │ │ -41fd54: 0e00 |0088: return-void │ │ -41fd56: 5485 0f5e |0089: iget-object v5, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ -41fd5a: 5455 115e |008b: iget-object v5, v5, Lorg/purple/smoke/TcpNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e11 │ │ -41fd5e: 6e30 e060 3504 |008d: invoke-virtual {v5, v3, v4}, Ljava/util/concurrent/atomic/AtomicLong;.getAndAdd:(J)J // method@60e0 │ │ -41fd64: 5485 0f5e |0090: iget-object v5, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ -41fd68: 5455 185e |0092: iget-object v5, v5, Lorg/purple/smoke/TcpNeighbor;.m_lastTimeRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e18 │ │ -41fd6c: 7100 0b5d 0000 |0094: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ -41fd72: 0b06 |0097: move-result-wide v6 │ │ -41fd74: 6e30 e160 6507 |0098: invoke-virtual {v5, v6, v7}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -41fd7a: 5485 0f5e |009b: iget-object v5, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ -41fd7e: 5455 235e |009d: iget-object v5, v5, Lorg/purple/smoke/TcpNeighbor;.m_stringBuffer:Ljava/lang/StringBuffer; // field@5e23 │ │ -41fd82: 6e10 e85c 0500 |009f: invoke-virtual {v5}, Ljava/lang/StringBuffer;.length:()I // method@5ce8 │ │ -41fd88: 0a05 |00a2: move-result v5 │ │ -41fd8a: 1506 8000 |00a3: const/high16 v6, #int 8388608 // #80 │ │ -41fd8e: 3565 0f00 |00a5: if-ge v5, v6, 00b4 // +000f │ │ -41fd92: 5485 0f5e |00a7: iget-object v5, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ -41fd96: 5455 235e |00a9: iget-object v5, v5, Lorg/purple/smoke/TcpNeighbor;.m_stringBuffer:Ljava/lang/StringBuffer; // field@5e23 │ │ -41fd9a: 2206 ef0a |00ab: new-instance v6, Ljava/lang/String; // type@0aef │ │ -41fd9e: 8434 |00ad: long-to-int v4, v3 │ │ -41fda0: 7040 ad5c 1642 |00ae: invoke-direct {v6, v1, v2, v4}, Ljava/lang/String;.:([BII)V // method@5cad │ │ -41fda6: 6e20 e05c 6500 |00b1: invoke-virtual {v5, v6}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@5ce0 │ │ -41fdac: 5481 0f5e |00b4: iget-object v1, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ -41fdb0: 5411 1a5e |00b6: iget-object v1, v1, Lorg/purple/smoke/TcpNeighbor;.m_parsingSchedulerMutex:Ljava/lang/Object; // field@5e1a │ │ -41fdb4: 1d01 |00b8: monitor-enter v1 │ │ -41fdb6: 5482 0f5e |00b9: iget-object v2, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ -41fdba: 5422 1a5e |00bb: iget-object v2, v2, Lorg/purple/smoke/TcpNeighbor;.m_parsingSchedulerMutex:Ljava/lang/Object; // field@5e1a │ │ -41fdbe: 6e10 945c 0200 |00bd: invoke-virtual {v2}, Ljava/lang/Object;.notify:()V // method@5c94 │ │ -41fdc4: 1e01 |00c0: monitor-exit v1 │ │ -41fdc6: 2821 |00c1: goto 00e2 // +0021 │ │ -41fdc8: 0d02 |00c2: move-exception v2 │ │ -41fdca: 1e01 |00c3: monitor-exit v1 │ │ -41fdcc: 2702 |00c4: throw v2 │ │ -41fdce: 5c80 0e5e |00c5: iput-boolean v0, v8, Lorg/purple/smoke/TcpNeighbor$1;.m_error:Z // field@5e0e │ │ -41fdd2: 5481 0f5e |00c7: iget-object v1, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ -41fdd6: 1a02 0509 |00c9: const-string v2, "A socket read() error occurred." // string@0905 │ │ -41fdda: 6e20 53ba 2100 |00cb: invoke-virtual {v1, v2}, Lorg/purple/smoke/TcpNeighbor;.setError:(Ljava/lang/String;)V // method@ba53 │ │ -41fde0: 5481 0f5e |00ce: iget-object v1, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ -41fde4: 6e10 49ba 0100 |00d0: invoke-virtual {v1}, Lorg/purple/smoke/TcpNeighbor;.disconnect:()V // method@ba49 │ │ -41fdea: 0e00 |00d3: return-void │ │ -41fdec: 5c80 0e5e |00d4: iput-boolean v0, v8, Lorg/purple/smoke/TcpNeighbor$1;.m_error:Z // field@5e0e │ │ -41fdf0: 5480 0f5e |00d6: iget-object v0, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ -41fdf4: 1a01 0409 |00d8: const-string v1, "A socket error occurred while reading data." // string@0904 │ │ -41fdf8: 6e20 53ba 1000 |00da: invoke-virtual {v0, v1}, Lorg/purple/smoke/TcpNeighbor;.setError:(Ljava/lang/String;)V // method@ba53 │ │ -41fdfe: 5480 0f5e |00dd: iget-object v0, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ -41fe02: 6e10 49ba 0000 |00df: invoke-virtual {v0}, Lorg/purple/smoke/TcpNeighbor;.disconnect:()V // method@ba49 │ │ -41fe08: 0e00 |00e2: return-void │ │ +41fc30: |[41fc30] org.purple.smoke.TcpNeighbor$1.run:()V │ │ +41fc40: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +41fc42: 5481 0f5e |0001: iget-object v1, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ +41fc46: 6e10 48ba 0100 |0003: invoke-virtual {v1}, Lorg/purple/smoke/TcpNeighbor;.connected:()Z // method@ba48 │ │ +41fc4c: 0a01 |0006: move-result v1 │ │ +41fc4e: 3901 2100 |0007: if-nez v1, 0028 // +0021 │ │ +41fc52: 5481 0f5e |0009: iget-object v1, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ +41fc56: 5411 145e |000b: iget-object v1, v1, Lorg/purple/smoke/TcpNeighbor;.m_disconnected:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e14 │ │ +41fc5a: 6e10 d660 0100 |000d: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ +41fc60: 0a01 |0010: move-result v1 │ │ +41fc62: 3901 1700 |0011: if-nez v1, 0028 // +0017 │ │ +41fc66: 5481 0f5e |0013: iget-object v1, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ +41fc6a: 5411 195e |0015: iget-object v1, v1, Lorg/purple/smoke/TcpNeighbor;.m_mutex:Ljava/lang/Object; // field@5e19 │ │ +41fc6e: 1d01 |0017: monitor-enter v1 │ │ +41fc70: 5482 0f5e |0018: iget-object v2, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ +41fc74: 5422 195e |001a: iget-object v2, v2, Lorg/purple/smoke/TcpNeighbor;.m_mutex:Ljava/lang/Object; // field@5e19 │ │ +41fc78: 1603 1027 |001c: const-wide/16 v3, #int 10000 // #2710 │ │ +41fc7c: 6e30 985c 3204 |001e: invoke-virtual {v2, v3, v4}, Ljava/lang/Object;.wait:(J)V // method@5c98 │ │ +41fc82: 2803 |0021: goto 0024 // +0003 │ │ +41fc84: 0d02 |0022: move-exception v2 │ │ +41fc86: 2803 |0023: goto 0026 // +0003 │ │ +41fc88: 1e01 |0024: monitor-exit v1 │ │ +41fc8a: 2803 |0025: goto 0028 // +0003 │ │ +41fc8c: 1e01 |0026: monitor-exit v1 │ │ +41fc8e: 2702 |0027: throw v2 │ │ +41fc90: 5481 0f5e |0028: iget-object v1, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ +41fc94: 6e10 48ba 0100 |002a: invoke-virtual {v1}, Lorg/purple/smoke/TcpNeighbor;.connected:()Z // method@ba48 │ │ +41fc9a: 0a01 |002d: move-result v1 │ │ +41fc9c: 3801 a500 |002e: if-eqz v1, 00d3 // +00a5 │ │ +41fca0: 5481 0f5e |0030: iget-object v1, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ +41fca4: 5411 145e |0032: iget-object v1, v1, Lorg/purple/smoke/TcpNeighbor;.m_disconnected:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e14 │ │ +41fca8: 6e10 d660 0100 |0034: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ +41fcae: 0a01 |0037: move-result v1 │ │ +41fcb0: 3801 0400 |0038: if-eqz v1, 003c // +0004 │ │ +41fcb4: 2900 9900 |003a: goto/16 00d3 // +0099 │ │ +41fcb8: 5581 0e5e |003c: iget-boolean v1, v8, Lorg/purple/smoke/TcpNeighbor$1;.m_error:Z // field@5e0e │ │ +41fcbc: 1202 |003e: const/4 v2, #int 0 // #0 │ │ +41fcbe: 3801 0e00 |003f: if-eqz v1, 004d // +000e │ │ +41fcc2: 5481 0f5e |0041: iget-object v1, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ +41fcc6: 6e10 48ba 0100 |0043: invoke-virtual {v1}, Lorg/purple/smoke/TcpNeighbor;.connected:()Z // method@ba48 │ │ +41fccc: 0a01 |0046: move-result v1 │ │ +41fcce: 3801 0500 |0047: if-eqz v1, 004c // +0005 │ │ +41fcd2: 5c82 0e5e |0049: iput-boolean v2, v8, Lorg/purple/smoke/TcpNeighbor$1;.m_error:Z // field@5e0e │ │ +41fcd6: 2817 |004b: goto 0062 // +0017 │ │ +41fcd8: 0e00 |004c: return-void │ │ +41fcda: 5481 0f5e |004d: iget-object v1, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ +41fcde: 7110 46ba 0100 |004f: invoke-static {v1}, Lorg/purple/smoke/TcpNeighbor;.access$000:(Lorg/purple/smoke/TcpNeighbor;)Ljava/net/Socket; // method@ba46 │ │ +41fce4: 0c01 |0052: move-result-object v1 │ │ +41fce6: 3801 8000 |0053: if-eqz v1, 00d3 // +0080 │ │ +41fcea: 5481 0f5e |0055: iget-object v1, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ +41fcee: 7110 46ba 0100 |0057: invoke-static {v1}, Lorg/purple/smoke/TcpNeighbor;.access$000:(Lorg/purple/smoke/TcpNeighbor;)Ljava/net/Socket; // method@ba46 │ │ +41fcf4: 0c01 |005a: move-result-object v1 │ │ +41fcf6: 6e10 a45d 0100 |005b: invoke-virtual {v1}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@5da4 │ │ +41fcfc: 0c01 |005e: move-result-object v1 │ │ +41fcfe: 3901 0300 |005f: if-nez v1, 0062 // +0003 │ │ +41fd02: 2872 |0061: goto 00d3 // +0072 │ │ +41fd04: 1501 1000 |0062: const/high16 v1, #int 1048576 // #10 │ │ +41fd08: 2311 ba1a |0064: new-array v1, v1, [B // type@1aba │ │ +41fd0c: 5483 0f5e |0066: iget-object v3, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ +41fd10: 7110 46ba 0300 |0068: invoke-static {v3}, Lorg/purple/smoke/TcpNeighbor;.access$000:(Lorg/purple/smoke/TcpNeighbor;)Ljava/net/Socket; // method@ba46 │ │ +41fd16: 0c03 |006b: move-result-object v3 │ │ +41fd18: 6e10 a45d 0300 |006c: invoke-virtual {v3}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@5da4 │ │ +41fd1e: 0c03 |006f: move-result-object v3 │ │ +41fd20: 6e20 c15b 1300 |0070: invoke-virtual {v3, v1}, Ljava/io/InputStream;.read:([B)I // method@5bc1 │ │ +41fd26: 0a03 |0073: move-result v3 │ │ +41fd28: 2804 |0074: goto 0078 // +0004 │ │ +41fd2a: 5c80 0e5e |0075: iput-boolean v0, v8, Lorg/purple/smoke/TcpNeighbor$1;.m_error:Z // field@5e0e │ │ +41fd2e: 1203 |0077: const/4 v3, #int 0 // #0 │ │ +41fd30: 8133 |0078: int-to-long v3, v3 │ │ +41fd32: 1605 0000 |0079: const-wide/16 v5, #int 0 // #0 │ │ +41fd36: 3107 0305 |007b: cmp-long v7, v3, v5 │ │ +41fd3a: 3a07 4800 |007d: if-ltz v7, 00c5 // +0048 │ │ +41fd3e: 5587 0e5e |007f: iget-boolean v7, v8, Lorg/purple/smoke/TcpNeighbor$1;.m_error:Z // field@5e0e │ │ +41fd42: 3807 0300 |0081: if-eqz v7, 0084 // +0003 │ │ +41fd46: 2842 |0083: goto 00c5 // +0042 │ │ +41fd48: 3107 0305 |0084: cmp-long v7, v3, v5 │ │ +41fd4c: 3907 0300 |0086: if-nez v7, 0089 // +0003 │ │ +41fd50: 0e00 |0088: return-void │ │ +41fd52: 5485 0f5e |0089: iget-object v5, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ +41fd56: 5455 115e |008b: iget-object v5, v5, Lorg/purple/smoke/TcpNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e11 │ │ +41fd5a: 6e30 e060 3504 |008d: invoke-virtual {v5, v3, v4}, Ljava/util/concurrent/atomic/AtomicLong;.getAndAdd:(J)J // method@60e0 │ │ +41fd60: 5485 0f5e |0090: iget-object v5, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ +41fd64: 5455 185e |0092: iget-object v5, v5, Lorg/purple/smoke/TcpNeighbor;.m_lastTimeRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e18 │ │ +41fd68: 7100 0b5d 0000 |0094: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ +41fd6e: 0b06 |0097: move-result-wide v6 │ │ +41fd70: 6e30 e160 6507 |0098: invoke-virtual {v5, v6, v7}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +41fd76: 5485 0f5e |009b: iget-object v5, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ +41fd7a: 5455 235e |009d: iget-object v5, v5, Lorg/purple/smoke/TcpNeighbor;.m_stringBuffer:Ljava/lang/StringBuffer; // field@5e23 │ │ +41fd7e: 6e10 e85c 0500 |009f: invoke-virtual {v5}, Ljava/lang/StringBuffer;.length:()I // method@5ce8 │ │ +41fd84: 0a05 |00a2: move-result v5 │ │ +41fd86: 1506 8000 |00a3: const/high16 v6, #int 8388608 // #80 │ │ +41fd8a: 3565 0f00 |00a5: if-ge v5, v6, 00b4 // +000f │ │ +41fd8e: 5485 0f5e |00a7: iget-object v5, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ +41fd92: 5455 235e |00a9: iget-object v5, v5, Lorg/purple/smoke/TcpNeighbor;.m_stringBuffer:Ljava/lang/StringBuffer; // field@5e23 │ │ +41fd96: 2206 ef0a |00ab: new-instance v6, Ljava/lang/String; // type@0aef │ │ +41fd9a: 8434 |00ad: long-to-int v4, v3 │ │ +41fd9c: 7040 ad5c 1642 |00ae: invoke-direct {v6, v1, v2, v4}, Ljava/lang/String;.:([BII)V // method@5cad │ │ +41fda2: 6e20 e05c 6500 |00b1: invoke-virtual {v5, v6}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@5ce0 │ │ +41fda8: 5481 0f5e |00b4: iget-object v1, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ +41fdac: 5411 1a5e |00b6: iget-object v1, v1, Lorg/purple/smoke/TcpNeighbor;.m_parsingSchedulerMutex:Ljava/lang/Object; // field@5e1a │ │ +41fdb0: 1d01 |00b8: monitor-enter v1 │ │ +41fdb2: 5482 0f5e |00b9: iget-object v2, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ +41fdb6: 5422 1a5e |00bb: iget-object v2, v2, Lorg/purple/smoke/TcpNeighbor;.m_parsingSchedulerMutex:Ljava/lang/Object; // field@5e1a │ │ +41fdba: 6e10 945c 0200 |00bd: invoke-virtual {v2}, Ljava/lang/Object;.notify:()V // method@5c94 │ │ +41fdc0: 1e01 |00c0: monitor-exit v1 │ │ +41fdc2: 2821 |00c1: goto 00e2 // +0021 │ │ +41fdc4: 0d02 |00c2: move-exception v2 │ │ +41fdc6: 1e01 |00c3: monitor-exit v1 │ │ +41fdc8: 2702 |00c4: throw v2 │ │ +41fdca: 5c80 0e5e |00c5: iput-boolean v0, v8, Lorg/purple/smoke/TcpNeighbor$1;.m_error:Z // field@5e0e │ │ +41fdce: 5481 0f5e |00c7: iget-object v1, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ +41fdd2: 1a02 0509 |00c9: const-string v2, "A socket read() error occurred." // string@0905 │ │ +41fdd6: 6e20 53ba 2100 |00cb: invoke-virtual {v1, v2}, Lorg/purple/smoke/TcpNeighbor;.setError:(Ljava/lang/String;)V // method@ba53 │ │ +41fddc: 5481 0f5e |00ce: iget-object v1, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ +41fde0: 6e10 49ba 0100 |00d0: invoke-virtual {v1}, Lorg/purple/smoke/TcpNeighbor;.disconnect:()V // method@ba49 │ │ +41fde6: 0e00 |00d3: return-void │ │ +41fde8: 5c80 0e5e |00d4: iput-boolean v0, v8, Lorg/purple/smoke/TcpNeighbor$1;.m_error:Z // field@5e0e │ │ +41fdec: 5480 0f5e |00d6: iget-object v0, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ +41fdf0: 1a01 0409 |00d8: const-string v1, "A socket error occurred while reading data." // string@0904 │ │ +41fdf4: 6e20 53ba 1000 |00da: invoke-virtual {v0, v1}, Lorg/purple/smoke/TcpNeighbor;.setError:(Ljava/lang/String;)V // method@ba53 │ │ +41fdfa: 5480 0f5e |00dd: iget-object v0, v8, Lorg/purple/smoke/TcpNeighbor$1;.this$0:Lorg/purple/smoke/TcpNeighbor; // field@5e0f │ │ +41fdfe: 6e10 49ba 0000 |00df: invoke-virtual {v0}, Lorg/purple/smoke/TcpNeighbor;.disconnect:()V // method@ba49 │ │ +41fe04: 0e00 |00e2: return-void │ │ catches : 8 │ │ 0x0001 - 0x0018 │ │ Ljava/net/SocketException; -> 0x00d4 │ │ Ljava/lang/Exception; -> 0x00e2 │ │ 0x0018 - 0x0021 │ │ Ljava/lang/Exception; -> 0x0024 │ │ -> 0x0022 │ │ @@ -738358,18 +738357,18 @@ │ │ type : '(Lorg/purple/smoke/TcpTlsNeighbor;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -4205c0: |[4205c0] org.purple.smoke.TcpTlsNeighbor$1.:(Lorg/purple/smoke/TcpTlsNeighbor;)V │ │ -4205d0: 5b01 255e |0000: iput-object v1, v0, Lorg/purple/smoke/TcpTlsNeighbor$1;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e25 │ │ -4205d4: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -4205da: 0e00 |0005: return-void │ │ +4205bc: |[4205bc] org.purple.smoke.TcpTlsNeighbor$1.:(Lorg/purple/smoke/TcpTlsNeighbor;)V │ │ +4205cc: 5b01 255e |0000: iput-object v1, v0, Lorg/purple/smoke/TcpTlsNeighbor$1;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e25 │ │ +4205d0: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +4205d6: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=248 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/TcpTlsNeighbor$1; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/TcpTlsNeighbor; │ │ │ │ @@ -738379,52 +738378,52 @@ │ │ type : '(Ljavax/net/ssl/HandshakeCompletedEvent;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 73 16-bit code units │ │ -4205dc: |[4205dc] org.purple.smoke.TcpTlsNeighbor$1.handshakeCompleted:(Ljavax/net/ssl/HandshakeCompletedEvent;)V │ │ -4205ec: 5412 255e |0000: iget-object v2, v1, Lorg/purple/smoke/TcpTlsNeighbor$1;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e25 │ │ -4205f0: 5422 2f5e |0002: iget-object v2, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_disconnected:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e2f │ │ -4205f4: 1200 |0004: const/4 v0, #int 0 // #0 │ │ -4205f6: 6e20 d860 0200 |0005: invoke-virtual {v2, v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -4205fc: 5412 255e |0008: iget-object v2, v1, Lorg/purple/smoke/TcpTlsNeighbor$1;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e25 │ │ -420600: 7110 5fba 0200 |000a: invoke-static {v2}, Lorg/purple/smoke/TcpTlsNeighbor;.access$000:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljava/util/concurrent/atomic/AtomicBoolean; // method@ba5f │ │ -420606: 0c02 |000d: move-result-object v2 │ │ -420608: 1210 |000e: const/4 v0, #int 1 // #1 │ │ -42060a: 6e20 d860 0200 |000f: invoke-virtual {v2, v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -420610: 5412 255e |0012: iget-object v2, v1, Lorg/purple/smoke/TcpTlsNeighbor$1;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e25 │ │ -420614: 6e10 65ba 0200 |0014: invoke-virtual {v2}, Lorg/purple/smoke/TcpTlsNeighbor;.getCapabilities:()Ljava/lang/String; // method@ba65 │ │ -42061a: 0c00 |0017: move-result-object v0 │ │ -42061c: 6e20 6eba 0200 |0018: invoke-virtual {v2, v0}, Lorg/purple/smoke/TcpTlsNeighbor;.scheduleSend:(Ljava/lang/String;)V // method@ba6e │ │ -420622: 5412 255e |001b: iget-object v2, v1, Lorg/purple/smoke/TcpTlsNeighbor$1;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e25 │ │ -420626: 6e10 66ba 0200 |001d: invoke-virtual {v2}, Lorg/purple/smoke/TcpTlsNeighbor;.getIdentities:()Ljava/lang/String; // method@ba66 │ │ -42062c: 0c00 |0020: move-result-object v0 │ │ -42062e: 6e20 6eba 0200 |0021: invoke-virtual {v2, v0}, Lorg/purple/smoke/TcpTlsNeighbor;.scheduleSend:(Ljava/lang/String;)V // method@ba6e │ │ -420634: 7100 02b7 0000 |0024: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ -42063a: 0c02 |0027: move-result-object v2 │ │ -42063c: 5410 255e |0028: iget-object v0, v1, Lorg/purple/smoke/TcpTlsNeighbor$1;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e25 │ │ -420640: 5400 2d5e |002a: iget-object v0, v0, Lorg/purple/smoke/TcpTlsNeighbor;.m_cryptography:Lorg/purple/smoke/Cryptography; // field@5e2d │ │ -420644: 6e10 b7b5 0000 |002c: invoke-virtual {v0}, Lorg/purple/smoke/Cryptography;.sipHashId:()Ljava/lang/String; // method@b5b7 │ │ -42064a: 0c00 |002f: move-result-object v0 │ │ -42064c: 6e20 12b7 0200 |0030: invoke-virtual {v2, v0}, Lorg/purple/smoke/Kernel;.retrieveChatMessages:(Ljava/lang/String;)V // method@b712 │ │ -420652: 1a02 ca8f |0033: const-string v2, "org.purple.smoke.neighbor_connected" // string@8fca │ │ -420656: 7110 e9b7 0200 |0035: invoke-static {v2}, Lorg/purple/smoke/Miscellaneous;.sendBroadcast:(Ljava/lang/String;)V // method@b7e9 │ │ -42065c: 5412 255e |0038: iget-object v2, v1, Lorg/purple/smoke/TcpTlsNeighbor$1;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e25 │ │ -420660: 5422 385e |003a: iget-object v2, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_mutex:Ljava/lang/Object; // field@5e38 │ │ -420664: 1d02 |003c: monitor-enter v2 │ │ -420666: 5410 255e |003d: iget-object v0, v1, Lorg/purple/smoke/TcpTlsNeighbor$1;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e25 │ │ -42066a: 5400 385e |003f: iget-object v0, v0, Lorg/purple/smoke/TcpTlsNeighbor;.m_mutex:Ljava/lang/Object; // field@5e38 │ │ -42066e: 6e10 955c 0000 |0041: invoke-virtual {v0}, Ljava/lang/Object;.notifyAll:()V // method@5c95 │ │ -420674: 1e02 |0044: monitor-exit v2 │ │ -420676: 0e00 |0045: return-void │ │ -420678: 0d00 |0046: move-exception v0 │ │ -42067a: 1e02 |0047: monitor-exit v2 │ │ -42067c: 2700 |0048: throw v0 │ │ +4205d8: |[4205d8] org.purple.smoke.TcpTlsNeighbor$1.handshakeCompleted:(Ljavax/net/ssl/HandshakeCompletedEvent;)V │ │ +4205e8: 5412 255e |0000: iget-object v2, v1, Lorg/purple/smoke/TcpTlsNeighbor$1;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e25 │ │ +4205ec: 5422 2f5e |0002: iget-object v2, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_disconnected:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e2f │ │ +4205f0: 1200 |0004: const/4 v0, #int 0 // #0 │ │ +4205f2: 6e20 d860 0200 |0005: invoke-virtual {v2, v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +4205f8: 5412 255e |0008: iget-object v2, v1, Lorg/purple/smoke/TcpTlsNeighbor$1;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e25 │ │ +4205fc: 7110 5fba 0200 |000a: invoke-static {v2}, Lorg/purple/smoke/TcpTlsNeighbor;.access$000:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljava/util/concurrent/atomic/AtomicBoolean; // method@ba5f │ │ +420602: 0c02 |000d: move-result-object v2 │ │ +420604: 1210 |000e: const/4 v0, #int 1 // #1 │ │ +420606: 6e20 d860 0200 |000f: invoke-virtual {v2, v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +42060c: 5412 255e |0012: iget-object v2, v1, Lorg/purple/smoke/TcpTlsNeighbor$1;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e25 │ │ +420610: 6e10 65ba 0200 |0014: invoke-virtual {v2}, Lorg/purple/smoke/TcpTlsNeighbor;.getCapabilities:()Ljava/lang/String; // method@ba65 │ │ +420616: 0c00 |0017: move-result-object v0 │ │ +420618: 6e20 6eba 0200 |0018: invoke-virtual {v2, v0}, Lorg/purple/smoke/TcpTlsNeighbor;.scheduleSend:(Ljava/lang/String;)V // method@ba6e │ │ +42061e: 5412 255e |001b: iget-object v2, v1, Lorg/purple/smoke/TcpTlsNeighbor$1;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e25 │ │ +420622: 6e10 66ba 0200 |001d: invoke-virtual {v2}, Lorg/purple/smoke/TcpTlsNeighbor;.getIdentities:()Ljava/lang/String; // method@ba66 │ │ +420628: 0c00 |0020: move-result-object v0 │ │ +42062a: 6e20 6eba 0200 |0021: invoke-virtual {v2, v0}, Lorg/purple/smoke/TcpTlsNeighbor;.scheduleSend:(Ljava/lang/String;)V // method@ba6e │ │ +420630: 7100 02b7 0000 |0024: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ +420636: 0c02 |0027: move-result-object v2 │ │ +420638: 5410 255e |0028: iget-object v0, v1, Lorg/purple/smoke/TcpTlsNeighbor$1;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e25 │ │ +42063c: 5400 2d5e |002a: iget-object v0, v0, Lorg/purple/smoke/TcpTlsNeighbor;.m_cryptography:Lorg/purple/smoke/Cryptography; // field@5e2d │ │ +420640: 6e10 b7b5 0000 |002c: invoke-virtual {v0}, Lorg/purple/smoke/Cryptography;.sipHashId:()Ljava/lang/String; // method@b5b7 │ │ +420646: 0c00 |002f: move-result-object v0 │ │ +420648: 6e20 12b7 0200 |0030: invoke-virtual {v2, v0}, Lorg/purple/smoke/Kernel;.retrieveChatMessages:(Ljava/lang/String;)V // method@b712 │ │ +42064e: 1a02 ca8f |0033: const-string v2, "org.purple.smoke.neighbor_connected" // string@8fca │ │ +420652: 7110 e9b7 0200 |0035: invoke-static {v2}, Lorg/purple/smoke/Miscellaneous;.sendBroadcast:(Ljava/lang/String;)V // method@b7e9 │ │ +420658: 5412 255e |0038: iget-object v2, v1, Lorg/purple/smoke/TcpTlsNeighbor$1;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e25 │ │ +42065c: 5422 385e |003a: iget-object v2, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_mutex:Ljava/lang/Object; // field@5e38 │ │ +420660: 1d02 |003c: monitor-enter v2 │ │ +420662: 5410 255e |003d: iget-object v0, v1, Lorg/purple/smoke/TcpTlsNeighbor$1;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e25 │ │ +420666: 5400 385e |003f: iget-object v0, v0, Lorg/purple/smoke/TcpTlsNeighbor;.m_mutex:Ljava/lang/Object; // field@5e38 │ │ +42066a: 6e10 955c 0000 |0041: invoke-virtual {v0}, Ljava/lang/Object;.notifyAll:()V // method@5c95 │ │ +420670: 1e02 |0044: monitor-exit v2 │ │ +420672: 0e00 |0045: return-void │ │ +420674: 0d00 |0046: move-exception v0 │ │ +420676: 1e02 |0047: monitor-exit v2 │ │ +420678: 2700 |0048: throw v0 │ │ catches : 1 │ │ 0x003d - 0x0048 │ │ -> 0x0046 │ │ positions : │ │ 0x0000 line=253 │ │ 0x0008 line=254 │ │ 0x0012 line=255 │ │ @@ -738478,20 +738477,20 @@ │ │ type : '(Lorg/purple/smoke/TcpTlsNeighbor;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -42068c: |[42068c] org.purple.smoke.TcpTlsNeighbor$2.:(Lorg/purple/smoke/TcpTlsNeighbor;)V │ │ -42069c: 5b01 275e |0000: iput-object v1, v0, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ -4206a0: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -4206a6: 1201 |0005: const/4 v1, #int 0 // #0 │ │ -4206a8: 5c01 265e |0006: iput-boolean v1, v0, Lorg/purple/smoke/TcpTlsNeighbor$2;.m_error:Z // field@5e26 │ │ -4206ac: 0e00 |0008: return-void │ │ +420688: |[420688] org.purple.smoke.TcpTlsNeighbor$2.:(Lorg/purple/smoke/TcpTlsNeighbor;)V │ │ +420698: 5b01 275e |0000: iput-object v1, v0, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ +42069c: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +4206a2: 1201 |0005: const/4 v1, #int 0 // #0 │ │ +4206a4: 5c01 265e |0006: iput-boolean v1, v0, Lorg/purple/smoke/TcpTlsNeighbor$2;.m_error:Z // field@5e26 │ │ +4206a8: 0e00 |0008: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=365 │ │ 0x0006 line=366 │ │ locals : │ │ 0x0000 - 0x0009 reg=0 this Lorg/purple/smoke/TcpTlsNeighbor$2; │ │ 0x0000 - 0x0009 reg=1 (null) Lorg/purple/smoke/TcpTlsNeighbor; │ │ @@ -738502,148 +738501,148 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 9 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 251 16-bit code units │ │ -4206b0: |[4206b0] org.purple.smoke.TcpTlsNeighbor$2.run:()V │ │ -4206c0: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -4206c2: 5481 275e |0001: iget-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ -4206c6: 6e10 63ba 0100 |0003: invoke-virtual {v1}, Lorg/purple/smoke/TcpTlsNeighbor;.connected:()Z // method@ba63 │ │ -4206cc: 0a01 |0006: move-result v1 │ │ -4206ce: 3901 2100 |0007: if-nez v1, 0028 // +0021 │ │ -4206d2: 5481 275e |0009: iget-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ -4206d6: 5411 2f5e |000b: iget-object v1, v1, Lorg/purple/smoke/TcpTlsNeighbor;.m_disconnected:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e2f │ │ -4206da: 6e10 d660 0100 |000d: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ -4206e0: 0a01 |0010: move-result v1 │ │ -4206e2: 3901 1700 |0011: if-nez v1, 0028 // +0017 │ │ -4206e6: 5481 275e |0013: iget-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ -4206ea: 5411 385e |0015: iget-object v1, v1, Lorg/purple/smoke/TcpTlsNeighbor;.m_mutex:Ljava/lang/Object; // field@5e38 │ │ -4206ee: 1d01 |0017: monitor-enter v1 │ │ -4206f0: 5482 275e |0018: iget-object v2, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ -4206f4: 5422 385e |001a: iget-object v2, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_mutex:Ljava/lang/Object; // field@5e38 │ │ -4206f8: 1603 1027 |001c: const-wide/16 v3, #int 10000 // #2710 │ │ -4206fc: 6e30 985c 3204 |001e: invoke-virtual {v2, v3, v4}, Ljava/lang/Object;.wait:(J)V // method@5c98 │ │ -420702: 2803 |0021: goto 0024 // +0003 │ │ -420704: 0d02 |0022: move-exception v2 │ │ -420706: 2803 |0023: goto 0026 // +0003 │ │ -420708: 1e01 |0024: monitor-exit v1 │ │ -42070a: 2803 |0025: goto 0028 // +0003 │ │ -42070c: 1e01 |0026: monitor-exit v1 │ │ -42070e: 2702 |0027: throw v2 │ │ -420710: 5481 275e |0028: iget-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ -420714: 6e10 63ba 0100 |002a: invoke-virtual {v1}, Lorg/purple/smoke/TcpTlsNeighbor;.connected:()Z // method@ba63 │ │ -42071a: 0a01 |002d: move-result v1 │ │ -42071c: 3801 bd00 |002e: if-eqz v1, 00eb // +00bd │ │ -420720: 5481 275e |0030: iget-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ -420724: 5411 2f5e |0032: iget-object v1, v1, Lorg/purple/smoke/TcpTlsNeighbor;.m_disconnected:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e2f │ │ -420728: 6e10 d660 0100 |0034: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ -42072e: 0a01 |0037: move-result v1 │ │ -420730: 3801 0400 |0038: if-eqz v1, 003c // +0004 │ │ -420734: 2900 b100 |003a: goto/16 00eb // +00b1 │ │ -420738: 5581 265e |003c: iget-boolean v1, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.m_error:Z // field@5e26 │ │ -42073c: 1202 |003e: const/4 v2, #int 0 // #0 │ │ -42073e: 3801 0e00 |003f: if-eqz v1, 004d // +000e │ │ -420742: 5481 275e |0041: iget-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ -420746: 6e10 63ba 0100 |0043: invoke-virtual {v1}, Lorg/purple/smoke/TcpTlsNeighbor;.connected:()Z // method@ba63 │ │ -42074c: 0a01 |0046: move-result v1 │ │ -42074e: 3801 0500 |0047: if-eqz v1, 004c // +0005 │ │ -420752: 5c82 265e |0049: iput-boolean v2, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.m_error:Z // field@5e26 │ │ -420756: 282f |004b: goto 007a // +002f │ │ -420758: 0e00 |004c: return-void │ │ -42075a: 5481 275e |004d: iget-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ -42075e: 7110 60ba 0100 |004f: invoke-static {v1}, Lorg/purple/smoke/TcpTlsNeighbor;.access$100:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljavax/net/ssl/SSLSocket; // method@ba60 │ │ -420764: 0c01 |0052: move-result-object v1 │ │ -420766: 3801 9800 |0053: if-eqz v1, 00eb // +0098 │ │ -42076a: 5481 275e |0055: iget-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ -42076e: 7110 60ba 0100 |0057: invoke-static {v1}, Lorg/purple/smoke/TcpTlsNeighbor;.access$100:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljavax/net/ssl/SSLSocket; // method@ba60 │ │ -420774: 0c01 |005a: move-result-object v1 │ │ -420776: 6e10 7f61 0100 |005b: invoke-virtual {v1}, Ljavax/net/ssl/SSLSocket;.getInputStream:()Ljava/io/InputStream; // method@617f │ │ -42077c: 0c01 |005e: move-result-object v1 │ │ -42077e: 3901 0400 |005f: if-nez v1, 0063 // +0004 │ │ -420782: 2900 8a00 |0061: goto/16 00eb // +008a │ │ -420786: 5481 275e |0063: iget-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ -42078a: 7110 60ba 0100 |0065: invoke-static {v1}, Lorg/purple/smoke/TcpTlsNeighbor;.access$100:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljavax/net/ssl/SSLSocket; // method@ba60 │ │ -420790: 0c01 |0068: move-result-object v1 │ │ -420792: 6e10 8561 0100 |0069: invoke-virtual {v1}, Ljavax/net/ssl/SSLSocket;.getSoTimeout:()I // method@6185 │ │ -420798: 0a01 |006c: move-result v1 │ │ -42079a: 1303 204e |006d: const/16 v3, #int 20000 // #4e20 │ │ -42079e: 3331 0b00 |006f: if-ne v1, v3, 007a // +000b │ │ -4207a2: 5481 275e |0071: iget-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ -4207a6: 7110 60ba 0100 |0073: invoke-static {v1}, Lorg/purple/smoke/TcpTlsNeighbor;.access$100:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljavax/net/ssl/SSLSocket; // method@ba60 │ │ -4207ac: 0c01 |0076: move-result-object v1 │ │ -4207ae: 6e20 8b61 2100 |0077: invoke-virtual {v1, v2}, Ljavax/net/ssl/SSLSocket;.setSoTimeout:(I)V // method@618b │ │ -4207b4: 1501 1000 |007a: const/high16 v1, #int 1048576 // #10 │ │ -4207b8: 2311 ba1a |007c: new-array v1, v1, [B // type@1aba │ │ -4207bc: 5483 275e |007e: iget-object v3, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ -4207c0: 7110 60ba 0300 |0080: invoke-static {v3}, Lorg/purple/smoke/TcpTlsNeighbor;.access$100:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljavax/net/ssl/SSLSocket; // method@ba60 │ │ -4207c6: 0c03 |0083: move-result-object v3 │ │ -4207c8: 6e10 7f61 0300 |0084: invoke-virtual {v3}, Ljavax/net/ssl/SSLSocket;.getInputStream:()Ljava/io/InputStream; // method@617f │ │ -4207ce: 0c03 |0087: move-result-object v3 │ │ -4207d0: 6e20 c15b 1300 |0088: invoke-virtual {v3, v1}, Ljava/io/InputStream;.read:([B)I // method@5bc1 │ │ -4207d6: 0a03 |008b: move-result v3 │ │ -4207d8: 2804 |008c: goto 0090 // +0004 │ │ -4207da: 5c80 265e |008d: iput-boolean v0, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.m_error:Z // field@5e26 │ │ -4207de: 1203 |008f: const/4 v3, #int 0 // #0 │ │ -4207e0: 8133 |0090: int-to-long v3, v3 │ │ -4207e2: 1605 0000 |0091: const-wide/16 v5, #int 0 // #0 │ │ -4207e6: 3107 0305 |0093: cmp-long v7, v3, v5 │ │ -4207ea: 3a07 4800 |0095: if-ltz v7, 00dd // +0048 │ │ -4207ee: 5587 265e |0097: iget-boolean v7, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.m_error:Z // field@5e26 │ │ -4207f2: 3807 0300 |0099: if-eqz v7, 009c // +0003 │ │ -4207f6: 2842 |009b: goto 00dd // +0042 │ │ -4207f8: 3107 0305 |009c: cmp-long v7, v3, v5 │ │ -4207fc: 3907 0300 |009e: if-nez v7, 00a1 // +0003 │ │ -420800: 0e00 |00a0: return-void │ │ -420802: 5485 275e |00a1: iget-object v5, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ -420806: 5455 2b5e |00a3: iget-object v5, v5, Lorg/purple/smoke/TcpTlsNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e2b │ │ -42080a: 6e30 e060 3504 |00a5: invoke-virtual {v5, v3, v4}, Ljava/util/concurrent/atomic/AtomicLong;.getAndAdd:(J)J // method@60e0 │ │ -420810: 5485 275e |00a8: iget-object v5, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ -420814: 5455 375e |00aa: iget-object v5, v5, Lorg/purple/smoke/TcpTlsNeighbor;.m_lastTimeRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e37 │ │ -420818: 7100 0b5d 0000 |00ac: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ -42081e: 0b06 |00af: move-result-wide v6 │ │ -420820: 6e30 e160 6507 |00b0: invoke-virtual {v5, v6, v7}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -420826: 5485 275e |00b3: iget-object v5, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ -42082a: 5455 435e |00b5: iget-object v5, v5, Lorg/purple/smoke/TcpTlsNeighbor;.m_stringBuffer:Ljava/lang/StringBuffer; // field@5e43 │ │ -42082e: 6e10 e85c 0500 |00b7: invoke-virtual {v5}, Ljava/lang/StringBuffer;.length:()I // method@5ce8 │ │ -420834: 0a05 |00ba: move-result v5 │ │ -420836: 1506 8000 |00bb: const/high16 v6, #int 8388608 // #80 │ │ -42083a: 3565 0f00 |00bd: if-ge v5, v6, 00cc // +000f │ │ -42083e: 5485 275e |00bf: iget-object v5, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ -420842: 5455 435e |00c1: iget-object v5, v5, Lorg/purple/smoke/TcpTlsNeighbor;.m_stringBuffer:Ljava/lang/StringBuffer; // field@5e43 │ │ -420846: 2206 ef0a |00c3: new-instance v6, Ljava/lang/String; // type@0aef │ │ -42084a: 8434 |00c5: long-to-int v4, v3 │ │ -42084c: 7040 ad5c 1642 |00c6: invoke-direct {v6, v1, v2, v4}, Ljava/lang/String;.:([BII)V // method@5cad │ │ -420852: 6e20 e05c 6500 |00c9: invoke-virtual {v5, v6}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@5ce0 │ │ -420858: 5481 275e |00cc: iget-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ -42085c: 5411 3a5e |00ce: iget-object v1, v1, Lorg/purple/smoke/TcpTlsNeighbor;.m_parsingSchedulerMutex:Ljava/lang/Object; // field@5e3a │ │ -420860: 1d01 |00d0: monitor-enter v1 │ │ -420862: 5482 275e |00d1: iget-object v2, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ -420866: 5422 3a5e |00d3: iget-object v2, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_parsingSchedulerMutex:Ljava/lang/Object; // field@5e3a │ │ -42086a: 6e10 945c 0200 |00d5: invoke-virtual {v2}, Ljava/lang/Object;.notify:()V // method@5c94 │ │ -420870: 1e01 |00d8: monitor-exit v1 │ │ -420872: 2821 |00d9: goto 00fa // +0021 │ │ -420874: 0d02 |00da: move-exception v2 │ │ -420876: 1e01 |00db: monitor-exit v1 │ │ -420878: 2702 |00dc: throw v2 │ │ -42087a: 5c80 265e |00dd: iput-boolean v0, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.m_error:Z // field@5e26 │ │ -42087e: 5481 275e |00df: iget-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ -420882: 1a02 0509 |00e1: const-string v2, "A socket read() error occurred." // string@0905 │ │ -420886: 6e20 71ba 2100 |00e3: invoke-virtual {v1, v2}, Lorg/purple/smoke/TcpTlsNeighbor;.setError:(Ljava/lang/String;)V // method@ba71 │ │ -42088c: 5481 275e |00e6: iget-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ -420890: 6e10 64ba 0100 |00e8: invoke-virtual {v1}, Lorg/purple/smoke/TcpTlsNeighbor;.disconnect:()V // method@ba64 │ │ -420896: 0e00 |00eb: return-void │ │ -420898: 5c80 265e |00ec: iput-boolean v0, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.m_error:Z // field@5e26 │ │ -42089c: 5480 275e |00ee: iget-object v0, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ -4208a0: 1a01 0409 |00f0: const-string v1, "A socket error occurred while reading data." // string@0904 │ │ -4208a4: 6e20 71ba 1000 |00f2: invoke-virtual {v0, v1}, Lorg/purple/smoke/TcpTlsNeighbor;.setError:(Ljava/lang/String;)V // method@ba71 │ │ -4208aa: 5480 275e |00f5: iget-object v0, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ -4208ae: 6e10 64ba 0000 |00f7: invoke-virtual {v0}, Lorg/purple/smoke/TcpTlsNeighbor;.disconnect:()V // method@ba64 │ │ -4208b4: 0e00 |00fa: return-void │ │ +4206ac: |[4206ac] org.purple.smoke.TcpTlsNeighbor$2.run:()V │ │ +4206bc: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +4206be: 5481 275e |0001: iget-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ +4206c2: 6e10 63ba 0100 |0003: invoke-virtual {v1}, Lorg/purple/smoke/TcpTlsNeighbor;.connected:()Z // method@ba63 │ │ +4206c8: 0a01 |0006: move-result v1 │ │ +4206ca: 3901 2100 |0007: if-nez v1, 0028 // +0021 │ │ +4206ce: 5481 275e |0009: iget-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ +4206d2: 5411 2f5e |000b: iget-object v1, v1, Lorg/purple/smoke/TcpTlsNeighbor;.m_disconnected:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e2f │ │ +4206d6: 6e10 d660 0100 |000d: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ +4206dc: 0a01 |0010: move-result v1 │ │ +4206de: 3901 1700 |0011: if-nez v1, 0028 // +0017 │ │ +4206e2: 5481 275e |0013: iget-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ +4206e6: 5411 385e |0015: iget-object v1, v1, Lorg/purple/smoke/TcpTlsNeighbor;.m_mutex:Ljava/lang/Object; // field@5e38 │ │ +4206ea: 1d01 |0017: monitor-enter v1 │ │ +4206ec: 5482 275e |0018: iget-object v2, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ +4206f0: 5422 385e |001a: iget-object v2, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_mutex:Ljava/lang/Object; // field@5e38 │ │ +4206f4: 1603 1027 |001c: const-wide/16 v3, #int 10000 // #2710 │ │ +4206f8: 6e30 985c 3204 |001e: invoke-virtual {v2, v3, v4}, Ljava/lang/Object;.wait:(J)V // method@5c98 │ │ +4206fe: 2803 |0021: goto 0024 // +0003 │ │ +420700: 0d02 |0022: move-exception v2 │ │ +420702: 2803 |0023: goto 0026 // +0003 │ │ +420704: 1e01 |0024: monitor-exit v1 │ │ +420706: 2803 |0025: goto 0028 // +0003 │ │ +420708: 1e01 |0026: monitor-exit v1 │ │ +42070a: 2702 |0027: throw v2 │ │ +42070c: 5481 275e |0028: iget-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ +420710: 6e10 63ba 0100 |002a: invoke-virtual {v1}, Lorg/purple/smoke/TcpTlsNeighbor;.connected:()Z // method@ba63 │ │ +420716: 0a01 |002d: move-result v1 │ │ +420718: 3801 bd00 |002e: if-eqz v1, 00eb // +00bd │ │ +42071c: 5481 275e |0030: iget-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ +420720: 5411 2f5e |0032: iget-object v1, v1, Lorg/purple/smoke/TcpTlsNeighbor;.m_disconnected:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e2f │ │ +420724: 6e10 d660 0100 |0034: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ +42072a: 0a01 |0037: move-result v1 │ │ +42072c: 3801 0400 |0038: if-eqz v1, 003c // +0004 │ │ +420730: 2900 b100 |003a: goto/16 00eb // +00b1 │ │ +420734: 5581 265e |003c: iget-boolean v1, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.m_error:Z // field@5e26 │ │ +420738: 1202 |003e: const/4 v2, #int 0 // #0 │ │ +42073a: 3801 0e00 |003f: if-eqz v1, 004d // +000e │ │ +42073e: 5481 275e |0041: iget-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ +420742: 6e10 63ba 0100 |0043: invoke-virtual {v1}, Lorg/purple/smoke/TcpTlsNeighbor;.connected:()Z // method@ba63 │ │ +420748: 0a01 |0046: move-result v1 │ │ +42074a: 3801 0500 |0047: if-eqz v1, 004c // +0005 │ │ +42074e: 5c82 265e |0049: iput-boolean v2, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.m_error:Z // field@5e26 │ │ +420752: 282f |004b: goto 007a // +002f │ │ +420754: 0e00 |004c: return-void │ │ +420756: 5481 275e |004d: iget-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ +42075a: 7110 60ba 0100 |004f: invoke-static {v1}, Lorg/purple/smoke/TcpTlsNeighbor;.access$100:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljavax/net/ssl/SSLSocket; // method@ba60 │ │ +420760: 0c01 |0052: move-result-object v1 │ │ +420762: 3801 9800 |0053: if-eqz v1, 00eb // +0098 │ │ +420766: 5481 275e |0055: iget-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ +42076a: 7110 60ba 0100 |0057: invoke-static {v1}, Lorg/purple/smoke/TcpTlsNeighbor;.access$100:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljavax/net/ssl/SSLSocket; // method@ba60 │ │ +420770: 0c01 |005a: move-result-object v1 │ │ +420772: 6e10 7f61 0100 |005b: invoke-virtual {v1}, Ljavax/net/ssl/SSLSocket;.getInputStream:()Ljava/io/InputStream; // method@617f │ │ +420778: 0c01 |005e: move-result-object v1 │ │ +42077a: 3901 0400 |005f: if-nez v1, 0063 // +0004 │ │ +42077e: 2900 8a00 |0061: goto/16 00eb // +008a │ │ +420782: 5481 275e |0063: iget-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ +420786: 7110 60ba 0100 |0065: invoke-static {v1}, Lorg/purple/smoke/TcpTlsNeighbor;.access$100:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljavax/net/ssl/SSLSocket; // method@ba60 │ │ +42078c: 0c01 |0068: move-result-object v1 │ │ +42078e: 6e10 8561 0100 |0069: invoke-virtual {v1}, Ljavax/net/ssl/SSLSocket;.getSoTimeout:()I // method@6185 │ │ +420794: 0a01 |006c: move-result v1 │ │ +420796: 1303 204e |006d: const/16 v3, #int 20000 // #4e20 │ │ +42079a: 3331 0b00 |006f: if-ne v1, v3, 007a // +000b │ │ +42079e: 5481 275e |0071: iget-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ +4207a2: 7110 60ba 0100 |0073: invoke-static {v1}, Lorg/purple/smoke/TcpTlsNeighbor;.access$100:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljavax/net/ssl/SSLSocket; // method@ba60 │ │ +4207a8: 0c01 |0076: move-result-object v1 │ │ +4207aa: 6e20 8b61 2100 |0077: invoke-virtual {v1, v2}, Ljavax/net/ssl/SSLSocket;.setSoTimeout:(I)V // method@618b │ │ +4207b0: 1501 1000 |007a: const/high16 v1, #int 1048576 // #10 │ │ +4207b4: 2311 ba1a |007c: new-array v1, v1, [B // type@1aba │ │ +4207b8: 5483 275e |007e: iget-object v3, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ +4207bc: 7110 60ba 0300 |0080: invoke-static {v3}, Lorg/purple/smoke/TcpTlsNeighbor;.access$100:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljavax/net/ssl/SSLSocket; // method@ba60 │ │ +4207c2: 0c03 |0083: move-result-object v3 │ │ +4207c4: 6e10 7f61 0300 |0084: invoke-virtual {v3}, Ljavax/net/ssl/SSLSocket;.getInputStream:()Ljava/io/InputStream; // method@617f │ │ +4207ca: 0c03 |0087: move-result-object v3 │ │ +4207cc: 6e20 c15b 1300 |0088: invoke-virtual {v3, v1}, Ljava/io/InputStream;.read:([B)I // method@5bc1 │ │ +4207d2: 0a03 |008b: move-result v3 │ │ +4207d4: 2804 |008c: goto 0090 // +0004 │ │ +4207d6: 5c80 265e |008d: iput-boolean v0, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.m_error:Z // field@5e26 │ │ +4207da: 1203 |008f: const/4 v3, #int 0 // #0 │ │ +4207dc: 8133 |0090: int-to-long v3, v3 │ │ +4207de: 1605 0000 |0091: const-wide/16 v5, #int 0 // #0 │ │ +4207e2: 3107 0305 |0093: cmp-long v7, v3, v5 │ │ +4207e6: 3a07 4800 |0095: if-ltz v7, 00dd // +0048 │ │ +4207ea: 5587 265e |0097: iget-boolean v7, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.m_error:Z // field@5e26 │ │ +4207ee: 3807 0300 |0099: if-eqz v7, 009c // +0003 │ │ +4207f2: 2842 |009b: goto 00dd // +0042 │ │ +4207f4: 3107 0305 |009c: cmp-long v7, v3, v5 │ │ +4207f8: 3907 0300 |009e: if-nez v7, 00a1 // +0003 │ │ +4207fc: 0e00 |00a0: return-void │ │ +4207fe: 5485 275e |00a1: iget-object v5, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ +420802: 5455 2b5e |00a3: iget-object v5, v5, Lorg/purple/smoke/TcpTlsNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e2b │ │ +420806: 6e30 e060 3504 |00a5: invoke-virtual {v5, v3, v4}, Ljava/util/concurrent/atomic/AtomicLong;.getAndAdd:(J)J // method@60e0 │ │ +42080c: 5485 275e |00a8: iget-object v5, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ +420810: 5455 375e |00aa: iget-object v5, v5, Lorg/purple/smoke/TcpTlsNeighbor;.m_lastTimeRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e37 │ │ +420814: 7100 0b5d 0000 |00ac: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ +42081a: 0b06 |00af: move-result-wide v6 │ │ +42081c: 6e30 e160 6507 |00b0: invoke-virtual {v5, v6, v7}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +420822: 5485 275e |00b3: iget-object v5, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ +420826: 5455 435e |00b5: iget-object v5, v5, Lorg/purple/smoke/TcpTlsNeighbor;.m_stringBuffer:Ljava/lang/StringBuffer; // field@5e43 │ │ +42082a: 6e10 e85c 0500 |00b7: invoke-virtual {v5}, Ljava/lang/StringBuffer;.length:()I // method@5ce8 │ │ +420830: 0a05 |00ba: move-result v5 │ │ +420832: 1506 8000 |00bb: const/high16 v6, #int 8388608 // #80 │ │ +420836: 3565 0f00 |00bd: if-ge v5, v6, 00cc // +000f │ │ +42083a: 5485 275e |00bf: iget-object v5, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ +42083e: 5455 435e |00c1: iget-object v5, v5, Lorg/purple/smoke/TcpTlsNeighbor;.m_stringBuffer:Ljava/lang/StringBuffer; // field@5e43 │ │ +420842: 2206 ef0a |00c3: new-instance v6, Ljava/lang/String; // type@0aef │ │ +420846: 8434 |00c5: long-to-int v4, v3 │ │ +420848: 7040 ad5c 1642 |00c6: invoke-direct {v6, v1, v2, v4}, Ljava/lang/String;.:([BII)V // method@5cad │ │ +42084e: 6e20 e05c 6500 |00c9: invoke-virtual {v5, v6}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@5ce0 │ │ +420854: 5481 275e |00cc: iget-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ +420858: 5411 3a5e |00ce: iget-object v1, v1, Lorg/purple/smoke/TcpTlsNeighbor;.m_parsingSchedulerMutex:Ljava/lang/Object; // field@5e3a │ │ +42085c: 1d01 |00d0: monitor-enter v1 │ │ +42085e: 5482 275e |00d1: iget-object v2, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ +420862: 5422 3a5e |00d3: iget-object v2, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_parsingSchedulerMutex:Ljava/lang/Object; // field@5e3a │ │ +420866: 6e10 945c 0200 |00d5: invoke-virtual {v2}, Ljava/lang/Object;.notify:()V // method@5c94 │ │ +42086c: 1e01 |00d8: monitor-exit v1 │ │ +42086e: 2821 |00d9: goto 00fa // +0021 │ │ +420870: 0d02 |00da: move-exception v2 │ │ +420872: 1e01 |00db: monitor-exit v1 │ │ +420874: 2702 |00dc: throw v2 │ │ +420876: 5c80 265e |00dd: iput-boolean v0, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.m_error:Z // field@5e26 │ │ +42087a: 5481 275e |00df: iget-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ +42087e: 1a02 0509 |00e1: const-string v2, "A socket read() error occurred." // string@0905 │ │ +420882: 6e20 71ba 2100 |00e3: invoke-virtual {v1, v2}, Lorg/purple/smoke/TcpTlsNeighbor;.setError:(Ljava/lang/String;)V // method@ba71 │ │ +420888: 5481 275e |00e6: iget-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ +42088c: 6e10 64ba 0100 |00e8: invoke-virtual {v1}, Lorg/purple/smoke/TcpTlsNeighbor;.disconnect:()V // method@ba64 │ │ +420892: 0e00 |00eb: return-void │ │ +420894: 5c80 265e |00ec: iput-boolean v0, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.m_error:Z // field@5e26 │ │ +420898: 5480 275e |00ee: iget-object v0, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ +42089c: 1a01 0409 |00f0: const-string v1, "A socket error occurred while reading data." // string@0904 │ │ +4208a0: 6e20 71ba 1000 |00f2: invoke-virtual {v0, v1}, Lorg/purple/smoke/TcpTlsNeighbor;.setError:(Ljava/lang/String;)V // method@ba71 │ │ +4208a6: 5480 275e |00f5: iget-object v0, v8, Lorg/purple/smoke/TcpTlsNeighbor$2;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e27 │ │ +4208aa: 6e10 64ba 0000 |00f7: invoke-virtual {v0}, Lorg/purple/smoke/TcpTlsNeighbor;.disconnect:()V // method@ba64 │ │ +4208b0: 0e00 |00fa: return-void │ │ catches : 8 │ │ 0x0001 - 0x0018 │ │ Ljava/net/SocketException; -> 0x00ec │ │ Ljava/lang/Exception; -> 0x00fa │ │ 0x0018 - 0x0021 │ │ Ljava/lang/Exception; -> 0x0024 │ │ -> 0x0022 │ │ @@ -738732,18 +738731,18 @@ │ │ type : '(Lorg/purple/smoke/TcpTlsNeighbor;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -420934: |[420934] org.purple.smoke.TcpTlsNeighbor$3.:(Lorg/purple/smoke/TcpTlsNeighbor;)V │ │ -420944: 5b01 285e |0000: iput-object v1, v0, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ -420948: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -42094e: 0e00 |0005: return-void │ │ +420930: |[420930] org.purple.smoke.TcpTlsNeighbor$3.:(Lorg/purple/smoke/TcpTlsNeighbor;)V │ │ +420940: 5b01 285e |0000: iput-object v1, v0, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ +420944: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +42094a: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=458 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/TcpTlsNeighbor$3; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/TcpTlsNeighbor; │ │ │ │ @@ -738753,179 +738752,179 @@ │ │ type : '([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -420950: |[420950] org.purple.smoke.TcpTlsNeighbor$3.checkClientTrusted:([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V │ │ -420960: 0e00 |0000: return-void │ │ +42094c: |[42094c] org.purple.smoke.TcpTlsNeighbor$3.checkClientTrusted:([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V │ │ +42095c: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #1 : (in Lorg/purple/smoke/TcpTlsNeighbor$3;) │ │ name : 'checkServerTrusted' │ │ type : '([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 3 │ │ outs : 4 │ │ insns size : 302 16-bit code units │ │ -420964: |[420964] org.purple.smoke.TcpTlsNeighbor$3.checkServerTrusted:([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V │ │ -420974: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -420976: 3806 ee00 |0001: if-eqz v6, 00ef // +00ee │ │ -42097a: 6e10 c55c 0600 |0003: invoke-virtual {v6}, Ljava/lang/String;.length:()I // method@5cc5 │ │ -420980: 0a06 |0006: move-result v6 │ │ -420982: 3906 0400 |0007: if-nez v6, 000b // +0004 │ │ -420986: 2900 e600 |0009: goto/16 00ef // +00e6 │ │ -42098a: 3805 d300 |000b: if-eqz v5, 00de // +00d3 │ │ -42098e: 2156 |000d: array-length v6, v5 │ │ -420990: 3906 0400 |000e: if-nez v6, 0012 // +0004 │ │ -420994: 2900 ce00 |0010: goto/16 00de // +00ce │ │ -420998: 4606 0500 |0012: aget-object v6, v5, v0 │ │ -42099c: 6e10 015f 0600 |0014: invoke-virtual {v6}, Ljava/security/cert/X509Certificate;.checkValidity:()V // method@5f01 │ │ -4209a2: 5446 285e |0017: iget-object v6, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ -4209a6: 5466 2e5e |0019: iget-object v6, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5e2e │ │ -4209aa: 5441 285e |001b: iget-object v1, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ -4209ae: 5411 2d5e |001d: iget-object v1, v1, Lorg/purple/smoke/TcpTlsNeighbor;.m_cryptography:Lorg/purple/smoke/Cryptography; // field@5e2d │ │ -4209b2: 5442 285e |001f: iget-object v2, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ -4209b6: 5422 395e |0021: iget-object v2, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5e39 │ │ -4209ba: 6e10 da60 0200 |0023: invoke-virtual {v2}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -4209c0: 0a02 |0026: move-result v2 │ │ -4209c2: 6e30 f4b5 1602 |0027: invoke-virtual {v6, v1, v2}, Lorg/purple/smoke/Database;.neighborRemoteCertificate:(Lorg/purple/smoke/Cryptography;I)[B // method@b5f4 │ │ -4209c8: 0c06 |002a: move-result-object v6 │ │ -4209ca: 1211 |002b: const/4 v1, #int 1 // #1 │ │ -4209cc: 3806 4800 |002c: if-eqz v6, 0074 // +0048 │ │ -4209d0: 2162 |002e: array-length v2, v6 │ │ -4209d2: 3902 0300 |002f: if-nez v2, 0032 // +0003 │ │ -4209d6: 2843 |0031: goto 0074 // +0043 │ │ -4209d8: 4605 0500 |0032: aget-object v5, v5, v0 │ │ -4209dc: 6e10 065f 0500 |0034: invoke-virtual {v5}, Ljava/security/cert/X509Certificate;.getEncoded:()[B // method@5f06 │ │ -4209e2: 0c05 |0037: move-result-object v5 │ │ -4209e4: 7120 93b5 5600 |0038: invoke-static {v6, v5}, Lorg/purple/smoke/Cryptography;.memcmp:([B[B)Z // method@b593 │ │ -4209ea: 0a05 |003b: move-result v5 │ │ -4209ec: 3905 2d00 |003c: if-nez v5, 0069 // +002d │ │ -4209f0: 5445 285e |003e: iget-object v5, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ -4209f4: 5455 2e5e |0040: iget-object v5, v5, Lorg/purple/smoke/TcpTlsNeighbor;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5e2e │ │ -4209f8: 5446 285e |0042: iget-object v6, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ -4209fc: 5466 2d5e |0044: iget-object v6, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_cryptography:Lorg/purple/smoke/Cryptography; // field@5e2d │ │ -420a00: 1a01 b162 |0046: const-string v1, "disconnect" // string@62b1 │ │ -420a04: 5442 285e |0048: iget-object v2, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ -420a08: 5422 395e |004a: iget-object v2, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5e39 │ │ -420a0c: 6e10 da60 0200 |004c: invoke-virtual {v2}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -420a12: 0a02 |004f: move-result v2 │ │ -420a14: 7110 d55c 0200 |0050: invoke-static {v2}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ -420a1a: 0c02 |0053: move-result-object v2 │ │ -420a1c: 6e40 f2b5 6521 |0054: invoke-virtual {v5, v6, v1, v2}, Lorg/purple/smoke/Database;.neighborControlStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b5f2 │ │ -420a22: 5445 285e |0057: iget-object v5, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ -420a26: 7110 61ba 0500 |0059: invoke-static {v5}, Lorg/purple/smoke/TcpTlsNeighbor;.access$200:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljava/util/concurrent/atomic/AtomicBoolean; // method@ba61 │ │ -420a2c: 0c05 |005c: move-result-object v5 │ │ -420a2e: 6e20 d860 0500 |005d: invoke-virtual {v5, v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -420a34: 5445 285e |0060: iget-object v5, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ -420a38: 1a06 ee4d |0062: const-string v6, "The stored server's certificate does not match the certificate that was provided by the server." // string@4dee │ │ -420a3c: 6e20 71ba 6500 |0064: invoke-virtual {v5, v6}, Lorg/purple/smoke/TcpTlsNeighbor;.setError:(Ljava/lang/String;)V // method@ba71 │ │ -420a42: 2900 9800 |0067: goto/16 00ff // +0098 │ │ -420a46: 5445 285e |0069: iget-object v5, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ -420a4a: 7110 61ba 0500 |006b: invoke-static {v5}, Lorg/purple/smoke/TcpTlsNeighbor;.access$200:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljava/util/concurrent/atomic/AtomicBoolean; // method@ba61 │ │ -420a50: 0c05 |006e: move-result-object v5 │ │ -420a52: 6e20 d860 1500 |006f: invoke-virtual {v5, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -420a58: 2900 8d00 |0072: goto/16 00ff // +008d │ │ -420a5c: 5446 285e |0074: iget-object v6, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ -420a60: 5466 2e5e |0076: iget-object v6, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5e2e │ │ -420a64: 5442 285e |0078: iget-object v2, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ -420a68: 5422 2d5e |007a: iget-object v2, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_cryptography:Lorg/purple/smoke/Cryptography; // field@5e2d │ │ -420a6c: 5443 285e |007c: iget-object v3, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ -420a70: 5433 395e |007e: iget-object v3, v3, Lorg/purple/smoke/TcpTlsNeighbor;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5e39 │ │ -420a74: 6e10 da60 0300 |0080: invoke-virtual {v3}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -420a7a: 0a03 |0083: move-result v3 │ │ -420a7c: 7110 d55c 0300 |0084: invoke-static {v3}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ -420a82: 0c03 |0087: move-result-object v3 │ │ -420a84: 4605 0500 |0088: aget-object v5, v5, v0 │ │ -420a88: 6e10 065f 0500 |008a: invoke-virtual {v5}, Ljava/security/cert/X509Certificate;.getEncoded:()[B // method@5f06 │ │ -420a8e: 0c05 |008d: move-result-object v5 │ │ -420a90: 6e40 f3b5 2653 |008e: invoke-virtual {v6, v2, v3, v5}, Lorg/purple/smoke/Database;.neighborRecordCertificate:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;[B)V // method@b5f3 │ │ -420a96: 5445 285e |0091: iget-object v5, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ -420a9a: 7110 61ba 0500 |0093: invoke-static {v5}, Lorg/purple/smoke/TcpTlsNeighbor;.access$200:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljava/util/concurrent/atomic/AtomicBoolean; // method@ba61 │ │ -420aa0: 0c05 |0096: move-result-object v5 │ │ -420aa2: 6e20 d860 1500 |0097: invoke-virtual {v5, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -420aa8: 2865 |009a: goto 00ff // +0065 │ │ -420aaa: 0d05 |009b: move-exception v5 │ │ -420aac: 5446 285e |009c: iget-object v6, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ -420ab0: 5466 2e5e |009e: iget-object v6, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5e2e │ │ -420ab4: 5441 285e |00a0: iget-object v1, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ -420ab8: 5411 2d5e |00a2: iget-object v1, v1, Lorg/purple/smoke/TcpTlsNeighbor;.m_cryptography:Lorg/purple/smoke/Cryptography; // field@5e2d │ │ -420abc: 1a02 b162 |00a4: const-string v2, "disconnect" // string@62b1 │ │ -420ac0: 5443 285e |00a6: iget-object v3, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ -420ac4: 5433 395e |00a8: iget-object v3, v3, Lorg/purple/smoke/TcpTlsNeighbor;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5e39 │ │ -420ac8: 6e10 da60 0300 |00aa: invoke-virtual {v3}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -420ace: 0a03 |00ad: move-result v3 │ │ -420ad0: 7110 d55c 0300 |00ae: invoke-static {v3}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ -420ad6: 0c03 |00b1: move-result-object v3 │ │ -420ad8: 6e40 f2b5 1632 |00b2: invoke-virtual {v6, v1, v2, v3}, Lorg/purple/smoke/Database;.neighborControlStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b5f2 │ │ -420ade: 5446 285e |00b5: iget-object v6, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ -420ae2: 7110 61ba 0600 |00b7: invoke-static {v6}, Lorg/purple/smoke/TcpTlsNeighbor;.access$200:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljava/util/concurrent/atomic/AtomicBoolean; // method@ba61 │ │ -420ae8: 0c06 |00ba: move-result-object v6 │ │ -420aea: 6e20 d860 0600 |00bb: invoke-virtual {v6, v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -420af0: 5446 285e |00be: iget-object v6, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ -420af4: 2200 f10a |00c0: new-instance v0, Ljava/lang/StringBuilder; // type@0af1 │ │ -420af8: 7010 ee5c 0000 |00c2: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -420afe: 1a01 f708 |00c5: const-string v1, "A certificate error (" // string@08f7 │ │ -420b02: 6e20 f95c 1000 |00c7: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -420b08: 6e10 375c 0500 |00ca: invoke-virtual {v5}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@5c37 │ │ -420b0e: 0c05 |00cd: move-result-object v5 │ │ -420b10: 6e20 f95c 5000 |00ce: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -420b16: 1a05 fc03 |00d1: const-string v5, ") occurred." // string@03fc │ │ -420b1a: 6e20 f95c 5000 |00d3: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -420b20: 6e10 035d 0000 |00d6: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -420b26: 0c05 |00d9: move-result-object v5 │ │ -420b28: 6e20 71ba 5600 |00da: invoke-virtual {v6, v5}, Lorg/purple/smoke/TcpTlsNeighbor;.setError:(Ljava/lang/String;)V // method@ba71 │ │ -420b2e: 2822 |00dd: goto 00ff // +0022 │ │ -420b30: 5445 285e |00de: iget-object v5, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ -420b34: 7110 61ba 0500 |00e0: invoke-static {v5}, Lorg/purple/smoke/TcpTlsNeighbor;.access$200:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljava/util/concurrent/atomic/AtomicBoolean; // method@ba61 │ │ -420b3a: 0c05 |00e3: move-result-object v5 │ │ -420b3c: 6e20 d860 0500 |00e4: invoke-virtual {v5, v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -420b42: 5445 285e |00e7: iget-object v5, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ -420b46: 1a06 0519 |00e9: const-string v6, "Empty chain." // string@1905 │ │ -420b4a: 6e20 71ba 6500 |00eb: invoke-virtual {v5, v6}, Lorg/purple/smoke/TcpTlsNeighbor;.setError:(Ljava/lang/String;)V // method@ba71 │ │ -420b50: 2811 |00ee: goto 00ff // +0011 │ │ -420b52: 5445 285e |00ef: iget-object v5, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ -420b56: 7110 61ba 0500 |00f1: invoke-static {v5}, Lorg/purple/smoke/TcpTlsNeighbor;.access$200:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljava/util/concurrent/atomic/AtomicBoolean; // method@ba61 │ │ -420b5c: 0c05 |00f4: move-result-object v5 │ │ -420b5e: 6e20 d860 0500 |00f5: invoke-virtual {v5, v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -420b64: 5445 285e |00f8: iget-object v5, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ -420b68: 1a06 0419 |00fa: const-string v6, "Empty authentication type." // string@1904 │ │ -420b6c: 6e20 71ba 6500 |00fc: invoke-virtual {v5, v6}, Lorg/purple/smoke/TcpTlsNeighbor;.setError:(Ljava/lang/String;)V // method@ba71 │ │ -420b72: 5445 285e |00ff: iget-object v5, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ -420b76: 7110 61ba 0500 |0101: invoke-static {v5}, Lorg/purple/smoke/TcpTlsNeighbor;.access$200:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljava/util/concurrent/atomic/AtomicBoolean; // method@ba61 │ │ -420b7c: 0c05 |0104: move-result-object v5 │ │ -420b7e: 6e10 d660 0500 |0105: invoke-virtual {v5}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ -420b84: 0a05 |0108: move-result v5 │ │ -420b86: 3905 2400 |0109: if-nez v5, 012d // +0024 │ │ -420b8a: 5445 285e |010b: iget-object v5, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ -420b8e: 6e10 64ba 0500 |010d: invoke-virtual {v5}, Lorg/purple/smoke/TcpTlsNeighbor;.disconnect:()V // method@ba64 │ │ -420b94: 5445 285e |0110: iget-object v5, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ -420b98: 5455 315e |0112: iget-object v5, v5, Lorg/purple/smoke/TcpTlsNeighbor;.m_errorMutex:Ljava/lang/Object; // field@5e31 │ │ -420b9c: 1d05 |0114: monitor-enter v5 │ │ -420b9e: 5446 285e |0115: iget-object v6, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ -420ba2: 5466 305e |0117: iget-object v6, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_error:Ljava/lang/StringBuilder; // field@5e30 │ │ -420ba6: 6e10 ff5c 0600 |0119: invoke-virtual {v6}, Ljava/lang/StringBuilder;.length:()I // method@5cff │ │ -420bac: 0a06 |011c: move-result v6 │ │ -420bae: 3906 0b00 |011d: if-nez v6, 0128 // +000b │ │ -420bb2: 5446 285e |011f: iget-object v6, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ -420bb6: 5466 305e |0121: iget-object v6, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_error:Ljava/lang/StringBuilder; // field@5e30 │ │ -420bba: 1a00 f908 |0123: const-string v0, "A generic certificate error occurred." // string@08f9 │ │ -420bbe: 6e20 f95c 0600 |0125: invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -420bc4: 1e05 |0128: monitor-exit v5 │ │ -420bc6: 2804 |0129: goto 012d // +0004 │ │ -420bc8: 0d06 |012a: move-exception v6 │ │ -420bca: 1e05 |012b: monitor-exit v5 │ │ -420bcc: 2706 |012c: throw v6 │ │ -420bce: 0e00 |012d: return-void │ │ +420960: |[420960] org.purple.smoke.TcpTlsNeighbor$3.checkServerTrusted:([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V │ │ +420970: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +420972: 3806 ee00 |0001: if-eqz v6, 00ef // +00ee │ │ +420976: 6e10 c55c 0600 |0003: invoke-virtual {v6}, Ljava/lang/String;.length:()I // method@5cc5 │ │ +42097c: 0a06 |0006: move-result v6 │ │ +42097e: 3906 0400 |0007: if-nez v6, 000b // +0004 │ │ +420982: 2900 e600 |0009: goto/16 00ef // +00e6 │ │ +420986: 3805 d300 |000b: if-eqz v5, 00de // +00d3 │ │ +42098a: 2156 |000d: array-length v6, v5 │ │ +42098c: 3906 0400 |000e: if-nez v6, 0012 // +0004 │ │ +420990: 2900 ce00 |0010: goto/16 00de // +00ce │ │ +420994: 4606 0500 |0012: aget-object v6, v5, v0 │ │ +420998: 6e10 015f 0600 |0014: invoke-virtual {v6}, Ljava/security/cert/X509Certificate;.checkValidity:()V // method@5f01 │ │ +42099e: 5446 285e |0017: iget-object v6, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ +4209a2: 5466 2e5e |0019: iget-object v6, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5e2e │ │ +4209a6: 5441 285e |001b: iget-object v1, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ +4209aa: 5411 2d5e |001d: iget-object v1, v1, Lorg/purple/smoke/TcpTlsNeighbor;.m_cryptography:Lorg/purple/smoke/Cryptography; // field@5e2d │ │ +4209ae: 5442 285e |001f: iget-object v2, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ +4209b2: 5422 395e |0021: iget-object v2, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5e39 │ │ +4209b6: 6e10 da60 0200 |0023: invoke-virtual {v2}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +4209bc: 0a02 |0026: move-result v2 │ │ +4209be: 6e30 f4b5 1602 |0027: invoke-virtual {v6, v1, v2}, Lorg/purple/smoke/Database;.neighborRemoteCertificate:(Lorg/purple/smoke/Cryptography;I)[B // method@b5f4 │ │ +4209c4: 0c06 |002a: move-result-object v6 │ │ +4209c6: 1211 |002b: const/4 v1, #int 1 // #1 │ │ +4209c8: 3806 4800 |002c: if-eqz v6, 0074 // +0048 │ │ +4209cc: 2162 |002e: array-length v2, v6 │ │ +4209ce: 3902 0300 |002f: if-nez v2, 0032 // +0003 │ │ +4209d2: 2843 |0031: goto 0074 // +0043 │ │ +4209d4: 4605 0500 |0032: aget-object v5, v5, v0 │ │ +4209d8: 6e10 065f 0500 |0034: invoke-virtual {v5}, Ljava/security/cert/X509Certificate;.getEncoded:()[B // method@5f06 │ │ +4209de: 0c05 |0037: move-result-object v5 │ │ +4209e0: 7120 93b5 5600 |0038: invoke-static {v6, v5}, Lorg/purple/smoke/Cryptography;.memcmp:([B[B)Z // method@b593 │ │ +4209e6: 0a05 |003b: move-result v5 │ │ +4209e8: 3905 2d00 |003c: if-nez v5, 0069 // +002d │ │ +4209ec: 5445 285e |003e: iget-object v5, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ +4209f0: 5455 2e5e |0040: iget-object v5, v5, Lorg/purple/smoke/TcpTlsNeighbor;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5e2e │ │ +4209f4: 5446 285e |0042: iget-object v6, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ +4209f8: 5466 2d5e |0044: iget-object v6, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_cryptography:Lorg/purple/smoke/Cryptography; // field@5e2d │ │ +4209fc: 1a01 b162 |0046: const-string v1, "disconnect" // string@62b1 │ │ +420a00: 5442 285e |0048: iget-object v2, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ +420a04: 5422 395e |004a: iget-object v2, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5e39 │ │ +420a08: 6e10 da60 0200 |004c: invoke-virtual {v2}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +420a0e: 0a02 |004f: move-result v2 │ │ +420a10: 7110 d55c 0200 |0050: invoke-static {v2}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ +420a16: 0c02 |0053: move-result-object v2 │ │ +420a18: 6e40 f2b5 6521 |0054: invoke-virtual {v5, v6, v1, v2}, Lorg/purple/smoke/Database;.neighborControlStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b5f2 │ │ +420a1e: 5445 285e |0057: iget-object v5, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ +420a22: 7110 61ba 0500 |0059: invoke-static {v5}, Lorg/purple/smoke/TcpTlsNeighbor;.access$200:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljava/util/concurrent/atomic/AtomicBoolean; // method@ba61 │ │ +420a28: 0c05 |005c: move-result-object v5 │ │ +420a2a: 6e20 d860 0500 |005d: invoke-virtual {v5, v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +420a30: 5445 285e |0060: iget-object v5, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ +420a34: 1a06 ee4d |0062: const-string v6, "The stored server's certificate does not match the certificate that was provided by the server." // string@4dee │ │ +420a38: 6e20 71ba 6500 |0064: invoke-virtual {v5, v6}, Lorg/purple/smoke/TcpTlsNeighbor;.setError:(Ljava/lang/String;)V // method@ba71 │ │ +420a3e: 2900 9800 |0067: goto/16 00ff // +0098 │ │ +420a42: 5445 285e |0069: iget-object v5, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ +420a46: 7110 61ba 0500 |006b: invoke-static {v5}, Lorg/purple/smoke/TcpTlsNeighbor;.access$200:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljava/util/concurrent/atomic/AtomicBoolean; // method@ba61 │ │ +420a4c: 0c05 |006e: move-result-object v5 │ │ +420a4e: 6e20 d860 1500 |006f: invoke-virtual {v5, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +420a54: 2900 8d00 |0072: goto/16 00ff // +008d │ │ +420a58: 5446 285e |0074: iget-object v6, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ +420a5c: 5466 2e5e |0076: iget-object v6, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5e2e │ │ +420a60: 5442 285e |0078: iget-object v2, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ +420a64: 5422 2d5e |007a: iget-object v2, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_cryptography:Lorg/purple/smoke/Cryptography; // field@5e2d │ │ +420a68: 5443 285e |007c: iget-object v3, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ +420a6c: 5433 395e |007e: iget-object v3, v3, Lorg/purple/smoke/TcpTlsNeighbor;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5e39 │ │ +420a70: 6e10 da60 0300 |0080: invoke-virtual {v3}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +420a76: 0a03 |0083: move-result v3 │ │ +420a78: 7110 d55c 0300 |0084: invoke-static {v3}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ +420a7e: 0c03 |0087: move-result-object v3 │ │ +420a80: 4605 0500 |0088: aget-object v5, v5, v0 │ │ +420a84: 6e10 065f 0500 |008a: invoke-virtual {v5}, Ljava/security/cert/X509Certificate;.getEncoded:()[B // method@5f06 │ │ +420a8a: 0c05 |008d: move-result-object v5 │ │ +420a8c: 6e40 f3b5 2653 |008e: invoke-virtual {v6, v2, v3, v5}, Lorg/purple/smoke/Database;.neighborRecordCertificate:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;[B)V // method@b5f3 │ │ +420a92: 5445 285e |0091: iget-object v5, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ +420a96: 7110 61ba 0500 |0093: invoke-static {v5}, Lorg/purple/smoke/TcpTlsNeighbor;.access$200:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljava/util/concurrent/atomic/AtomicBoolean; // method@ba61 │ │ +420a9c: 0c05 |0096: move-result-object v5 │ │ +420a9e: 6e20 d860 1500 |0097: invoke-virtual {v5, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +420aa4: 2865 |009a: goto 00ff // +0065 │ │ +420aa6: 0d05 |009b: move-exception v5 │ │ +420aa8: 5446 285e |009c: iget-object v6, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ +420aac: 5466 2e5e |009e: iget-object v6, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5e2e │ │ +420ab0: 5441 285e |00a0: iget-object v1, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ +420ab4: 5411 2d5e |00a2: iget-object v1, v1, Lorg/purple/smoke/TcpTlsNeighbor;.m_cryptography:Lorg/purple/smoke/Cryptography; // field@5e2d │ │ +420ab8: 1a02 b162 |00a4: const-string v2, "disconnect" // string@62b1 │ │ +420abc: 5443 285e |00a6: iget-object v3, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ +420ac0: 5433 395e |00a8: iget-object v3, v3, Lorg/purple/smoke/TcpTlsNeighbor;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5e39 │ │ +420ac4: 6e10 da60 0300 |00aa: invoke-virtual {v3}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +420aca: 0a03 |00ad: move-result v3 │ │ +420acc: 7110 d55c 0300 |00ae: invoke-static {v3}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ +420ad2: 0c03 |00b1: move-result-object v3 │ │ +420ad4: 6e40 f2b5 1632 |00b2: invoke-virtual {v6, v1, v2, v3}, Lorg/purple/smoke/Database;.neighborControlStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b5f2 │ │ +420ada: 5446 285e |00b5: iget-object v6, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ +420ade: 7110 61ba 0600 |00b7: invoke-static {v6}, Lorg/purple/smoke/TcpTlsNeighbor;.access$200:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljava/util/concurrent/atomic/AtomicBoolean; // method@ba61 │ │ +420ae4: 0c06 |00ba: move-result-object v6 │ │ +420ae6: 6e20 d860 0600 |00bb: invoke-virtual {v6, v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +420aec: 5446 285e |00be: iget-object v6, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ +420af0: 2200 f10a |00c0: new-instance v0, Ljava/lang/StringBuilder; // type@0af1 │ │ +420af4: 7010 ee5c 0000 |00c2: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +420afa: 1a01 f708 |00c5: const-string v1, "A certificate error (" // string@08f7 │ │ +420afe: 6e20 f95c 1000 |00c7: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +420b04: 6e10 375c 0500 |00ca: invoke-virtual {v5}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@5c37 │ │ +420b0a: 0c05 |00cd: move-result-object v5 │ │ +420b0c: 6e20 f95c 5000 |00ce: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +420b12: 1a05 fc03 |00d1: const-string v5, ") occurred." // string@03fc │ │ +420b16: 6e20 f95c 5000 |00d3: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +420b1c: 6e10 035d 0000 |00d6: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +420b22: 0c05 |00d9: move-result-object v5 │ │ +420b24: 6e20 71ba 5600 |00da: invoke-virtual {v6, v5}, Lorg/purple/smoke/TcpTlsNeighbor;.setError:(Ljava/lang/String;)V // method@ba71 │ │ +420b2a: 2822 |00dd: goto 00ff // +0022 │ │ +420b2c: 5445 285e |00de: iget-object v5, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ +420b30: 7110 61ba 0500 |00e0: invoke-static {v5}, Lorg/purple/smoke/TcpTlsNeighbor;.access$200:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljava/util/concurrent/atomic/AtomicBoolean; // method@ba61 │ │ +420b36: 0c05 |00e3: move-result-object v5 │ │ +420b38: 6e20 d860 0500 |00e4: invoke-virtual {v5, v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +420b3e: 5445 285e |00e7: iget-object v5, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ +420b42: 1a06 0519 |00e9: const-string v6, "Empty chain." // string@1905 │ │ +420b46: 6e20 71ba 6500 |00eb: invoke-virtual {v5, v6}, Lorg/purple/smoke/TcpTlsNeighbor;.setError:(Ljava/lang/String;)V // method@ba71 │ │ +420b4c: 2811 |00ee: goto 00ff // +0011 │ │ +420b4e: 5445 285e |00ef: iget-object v5, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ +420b52: 7110 61ba 0500 |00f1: invoke-static {v5}, Lorg/purple/smoke/TcpTlsNeighbor;.access$200:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljava/util/concurrent/atomic/AtomicBoolean; // method@ba61 │ │ +420b58: 0c05 |00f4: move-result-object v5 │ │ +420b5a: 6e20 d860 0500 |00f5: invoke-virtual {v5, v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +420b60: 5445 285e |00f8: iget-object v5, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ +420b64: 1a06 0419 |00fa: const-string v6, "Empty authentication type." // string@1904 │ │ +420b68: 6e20 71ba 6500 |00fc: invoke-virtual {v5, v6}, Lorg/purple/smoke/TcpTlsNeighbor;.setError:(Ljava/lang/String;)V // method@ba71 │ │ +420b6e: 5445 285e |00ff: iget-object v5, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ +420b72: 7110 61ba 0500 |0101: invoke-static {v5}, Lorg/purple/smoke/TcpTlsNeighbor;.access$200:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljava/util/concurrent/atomic/AtomicBoolean; // method@ba61 │ │ +420b78: 0c05 |0104: move-result-object v5 │ │ +420b7a: 6e10 d660 0500 |0105: invoke-virtual {v5}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ +420b80: 0a05 |0108: move-result v5 │ │ +420b82: 3905 2400 |0109: if-nez v5, 012d // +0024 │ │ +420b86: 5445 285e |010b: iget-object v5, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ +420b8a: 6e10 64ba 0500 |010d: invoke-virtual {v5}, Lorg/purple/smoke/TcpTlsNeighbor;.disconnect:()V // method@ba64 │ │ +420b90: 5445 285e |0110: iget-object v5, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ +420b94: 5455 315e |0112: iget-object v5, v5, Lorg/purple/smoke/TcpTlsNeighbor;.m_errorMutex:Ljava/lang/Object; // field@5e31 │ │ +420b98: 1d05 |0114: monitor-enter v5 │ │ +420b9a: 5446 285e |0115: iget-object v6, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ +420b9e: 5466 305e |0117: iget-object v6, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_error:Ljava/lang/StringBuilder; // field@5e30 │ │ +420ba2: 6e10 ff5c 0600 |0119: invoke-virtual {v6}, Ljava/lang/StringBuilder;.length:()I // method@5cff │ │ +420ba8: 0a06 |011c: move-result v6 │ │ +420baa: 3906 0b00 |011d: if-nez v6, 0128 // +000b │ │ +420bae: 5446 285e |011f: iget-object v6, v4, Lorg/purple/smoke/TcpTlsNeighbor$3;.this$0:Lorg/purple/smoke/TcpTlsNeighbor; // field@5e28 │ │ +420bb2: 5466 305e |0121: iget-object v6, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_error:Ljava/lang/StringBuilder; // field@5e30 │ │ +420bb6: 1a00 f908 |0123: const-string v0, "A generic certificate error occurred." // string@08f9 │ │ +420bba: 6e20 f95c 0600 |0125: invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +420bc0: 1e05 |0128: monitor-exit v5 │ │ +420bc2: 2804 |0129: goto 012d // +0004 │ │ +420bc4: 0d06 |012a: move-exception v6 │ │ +420bc6: 1e05 |012b: monitor-exit v5 │ │ +420bc8: 2706 |012c: throw v6 │ │ +420bca: 0e00 |012d: return-void │ │ catches : 2 │ │ 0x0012 - 0x009a │ │ Ljava/lang/Exception; -> 0x009b │ │ 0x0115 - 0x012c │ │ -> 0x012a │ │ positions : │ │ 0x0003 line=472 │ │ @@ -738976,18 +738975,18 @@ │ │ type : '()[Ljava/security/cert/X509Certificate;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 4 16-bit code units │ │ -42091c: |[42091c] org.purple.smoke.TcpTlsNeighbor$3.getAcceptedIssuers:()[Ljava/security/cert/X509Certificate; │ │ -42092c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -42092e: 2300 241b |0001: new-array v0, v0, [Ljava/security/cert/X509Certificate; // type@1b24 │ │ -420932: 1100 |0003: return-object v0 │ │ +420918: |[420918] org.purple.smoke.TcpTlsNeighbor$3.getAcceptedIssuers:()[Ljava/security/cert/X509Certificate; │ │ +420928: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +42092a: 2300 241b |0001: new-array v0, v0, [Ljava/security/cert/X509Certificate; // type@1b24 │ │ +42092e: 1100 |0003: return-object v0 │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ source_file_idx : 19782 (TcpTlsNeighbor.java) │ │ │ │ Class #2708 header: │ │ @@ -739023,18 +739022,18 @@ │ │ type : '(Lorg/purple/smoke/Time;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -421570: |[421570] org.purple.smoke.Time$1.:(Lorg/purple/smoke/Time;)V │ │ -421580: 5b01 465e |0000: iput-object v1, v0, Lorg/purple/smoke/Time$1;.this$0:Lorg/purple/smoke/Time; // field@5e46 │ │ -421584: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -42158a: 0e00 |0005: return-void │ │ +42156c: |[42156c] org.purple.smoke.Time$1.:(Lorg/purple/smoke/Time;)V │ │ +42157c: 5b01 465e |0000: iput-object v1, v0, Lorg/purple/smoke/Time$1;.this$0:Lorg/purple/smoke/Time; // field@5e46 │ │ +421580: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +421586: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=50 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/Time$1; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/Time; │ │ │ │ @@ -739044,116 +739043,116 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 12 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 197 16-bit code units │ │ -42158c: |[42158c] org.purple.smoke.Time$1.run:()V │ │ -42159c: 1a00 d98f |0000: const-string v0, "org.purple.smoke.time" // string@8fd9 │ │ -4215a0: 7100 02b7 0000 |0002: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ -4215a6: 0c01 |0005: move-result-object v1 │ │ -4215a8: 6e10 05b7 0100 |0006: invoke-virtual {v1}, Lorg/purple/smoke/Kernel;.isNetworkConnected:()Z // method@b705 │ │ -4215ae: 0a01 |0009: move-result v1 │ │ -4215b0: 3801 ba00 |000a: if-eqz v1, 00c4 // +00ba │ │ -4215b4: 7100 66b9 0000 |000c: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -4215ba: 0c01 |000f: move-result-object v1 │ │ -4215bc: 6e10 69b9 0100 |0010: invoke-virtual {v1}, Lorg/purple/smoke/State;.isAuthenticated:()Z // method@b969 │ │ -4215c2: 0a01 |0013: move-result v1 │ │ -4215c4: 3801 b000 |0014: if-eqz v1, 00c4 // +00b0 │ │ -4215c8: 7100 66b9 0000 |0016: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -4215ce: 0c01 |0019: move-result-object v1 │ │ -4215d0: 6e10 71b9 0100 |001a: invoke-virtual {v1}, Lorg/purple/smoke/State;.queryTimerServer:()Z // method@b971 │ │ -4215d6: 0a01 |001d: move-result v1 │ │ -4215d8: 3901 0400 |001e: if-nez v1, 0022 // +0004 │ │ -4215dc: 2900 a400 |0020: goto/16 00c4 // +00a4 │ │ -4215e0: 1201 |0022: const/4 v1, #int 0 // #0 │ │ -4215e2: 2202 190b |0023: new-instance v2, Ljava/net/URL; // type@0b19 │ │ -4215e6: 1a03 c774 |0025: const-string v3, "https://worldtimeapi.org/api/timezone/Etc/UTC.txt" // string@74c7 │ │ -4215ea: 7020 b55d 3200 |0027: invoke-direct {v2, v3}, Ljava/net/URL;.:(Ljava/lang/String;)V // method@5db5 │ │ -4215f0: 6e10 b75d 0200 |002a: invoke-virtual {v2}, Ljava/net/URL;.openConnection:()Ljava/net/URLConnection; // method@5db7 │ │ -4215f6: 0c02 |002d: move-result-object v2 │ │ -4215f8: 1f02 0b0b |002e: check-cast v2, Ljava/net/HttpURLConnection; // type@0b0b │ │ -4215fc: 1a03 211b |0030: const-string v3, "GET" // string@1b21 │ │ -421600: 6e20 865d 3200 |0032: invoke-virtual {v2, v3}, Ljava/net/HttpURLConnection;.setRequestMethod:(Ljava/lang/String;)V // method@5d86 │ │ -421606: 2203 a30a |0035: new-instance v3, Ljava/io/BufferedReader; // type@0aa3 │ │ -42160a: 2204 b30a |0037: new-instance v4, Ljava/io/InputStreamReader; // type@0ab3 │ │ -42160e: 6e10 7e5d 0200 |0039: invoke-virtual {v2}, Ljava/net/HttpURLConnection;.getInputStream:()Ljava/io/InputStream; // method@5d7e │ │ -421614: 0c05 |003c: move-result-object v5 │ │ -421616: 7020 c55b 5400 |003d: invoke-direct {v4, v5}, Ljava/io/InputStreamReader;.:(Ljava/io/InputStream;)V // method@5bc5 │ │ -42161c: 7020 675b 4300 |0040: invoke-direct {v3, v4}, Ljava/io/BufferedReader;.:(Ljava/io/Reader;)V // method@5b67 │ │ -421622: 6e10 695b 0300 |0043: invoke-virtual {v3}, Ljava/io/BufferedReader;.readLine:()Ljava/lang/String; // method@5b69 │ │ -421628: 0c01 |0046: move-result-object v1 │ │ -42162a: 3801 4800 |0047: if-eqz v1, 008f // +0048 │ │ -42162e: 1a04 a0a3 |0049: const-string v4, "unixtime: " // string@a3a0 │ │ -421632: 6e20 ca5c 4100 |004b: invoke-virtual {v1, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@5cca │ │ -421638: 0a04 |004e: move-result v4 │ │ -42163a: 3804 f4ff |004f: if-eqz v4, 0043 // -000c │ │ -42163e: 7100 065d 0000 |0051: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ -421644: 0b04 |0054: move-result-wide v4 │ │ -421646: 1606 e803 |0055: const-wide/16 v6, #int 1000 // #3e8 │ │ -42164a: be64 |0057: div-long/2addr v4, v6 │ │ -42164c: 1306 0a00 |0058: const/16 v6, #int 10 // #a │ │ -421650: 6e20 cc5c 6100 |005a: invoke-virtual {v1, v6}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@5ccc │ │ -421656: 0c06 |005d: move-result-object v6 │ │ -421658: 7110 675c 0600 |005e: invoke-static {v6}, Ljava/lang/Long;.parseLong:(Ljava/lang/String;)J // method@5c67 │ │ -42165e: 0b06 |0061: move-result-wide v6 │ │ -421660: 9c06 0406 |0062: sub-long v6, v4, v6 │ │ -421664: 7120 735c 7600 |0064: invoke-static {v6, v7}, Ljava/lang/Math;.abs:(J)J // method@5c73 │ │ -42166a: 0b06 |0067: move-result-wide v6 │ │ -42166c: 1608 0500 |0068: const-wide/16 v8, #int 5 // #5 │ │ -421670: 310a 0608 |006a: cmp-long v10, v6, v8 │ │ -421674: 3d0a 2300 |006c: if-lez v10, 008f // +0023 │ │ -421678: 2206 f10a |006e: new-instance v6, Ljava/lang/StringBuilder; // type@0af1 │ │ -42167c: 7010 ee5c 0600 |0070: invoke-direct {v6}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -421682: 1a07 d443 |0073: const-string v7, "Please correct the device's time as it is incorrect by at least 5 seconds. Local Unix Time: " // string@43d4 │ │ -421686: 6e20 f95c 7600 |0075: invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -42168c: 6e30 f55c 4605 |0078: invoke-virtual {v6, v4, v5}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@5cf5 │ │ -421692: 1a04 9504 |007b: const-string v4, ". Source Unix Time: " // string@0495 │ │ -421696: 6e20 f95c 4600 |007d: invoke-virtual {v6, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -42169c: 6e20 f95c 1600 |0080: invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4216a2: 1a01 9104 |0083: const-string v1, "." // string@0491 │ │ -4216a6: 6e20 f95c 1600 |0085: invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4216ac: 6e10 035d 0600 |0088: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -4216b2: 0c01 |008b: move-result-object v1 │ │ -4216b4: 7120 ebb7 1000 |008c: invoke-static {v0, v1}, Lorg/purple/smoke/Miscellaneous;.sendBroadcast:(Ljava/lang/String;Ljava/lang/String;)V // method@b7eb │ │ -4216ba: 6e10 7c5d 0200 |008f: invoke-virtual {v2}, Ljava/net/HttpURLConnection;.disconnect:()V // method@5d7c │ │ -4216c0: 6e10 685b 0300 |0092: invoke-virtual {v3}, Ljava/io/BufferedReader;.close:()V // method@5b68 │ │ -4216c6: 2802 |0095: goto 0097 // +0002 │ │ -4216c8: 0000 |0096: nop // spacer │ │ -4216ca: 3802 1e00 |0097: if-eqz v2, 00b5 // +001e │ │ -4216ce: 6e10 7c5d 0200 |0099: invoke-virtual {v2}, Ljava/net/HttpURLConnection;.disconnect:()V // method@5d7c │ │ -4216d4: 2819 |009c: goto 00b5 // +0019 │ │ -4216d6: 0d00 |009d: move-exception v0 │ │ -4216d8: 0731 |009e: move-object v1, v3 │ │ -4216da: 2818 |009f: goto 00b7 // +0018 │ │ -4216dc: 0731 |00a0: move-object v1, v3 │ │ -4216de: 2805 |00a1: goto 00a6 // +0005 │ │ -4216e0: 0d00 |00a2: move-exception v0 │ │ -4216e2: 0712 |00a3: move-object v2, v1 │ │ -4216e4: 2813 |00a4: goto 00b7 // +0013 │ │ -4216e6: 0712 |00a5: move-object v2, v1 │ │ -4216e8: 1a03 244f |00a6: const-string v3, "Unable to query https://worldtimeapi.org/api/timezone/Etc/UTC.txt." // string@4f24 │ │ -4216ec: 7120 ebb7 3000 |00a8: invoke-static {v0, v3}, Lorg/purple/smoke/Miscellaneous;.sendBroadcast:(Ljava/lang/String;Ljava/lang/String;)V // method@b7eb │ │ -4216f2: 3801 0700 |00ab: if-eqz v1, 00b2 // +0007 │ │ -4216f6: 6e10 685b 0100 |00ad: invoke-virtual {v1}, Ljava/io/BufferedReader;.close:()V // method@5b68 │ │ -4216fc: 2802 |00b0: goto 00b2 // +0002 │ │ -4216fe: 0000 |00b1: nop // spacer │ │ -421700: 3802 0300 |00b2: if-eqz v2, 00b5 // +0003 │ │ -421704: 28e5 |00b4: goto 0099 // -001b │ │ -421706: 0e00 |00b5: return-void │ │ -421708: 0d00 |00b6: move-exception v0 │ │ -42170a: 3801 0700 |00b7: if-eqz v1, 00be // +0007 │ │ -42170e: 6e10 685b 0100 |00b9: invoke-virtual {v1}, Ljava/io/BufferedReader;.close:()V // method@5b68 │ │ -421714: 2802 |00bc: goto 00be // +0002 │ │ -421716: 0000 |00bd: nop // spacer │ │ -421718: 3802 0500 |00be: if-eqz v2, 00c3 // +0005 │ │ -42171c: 6e10 7c5d 0200 |00c0: invoke-virtual {v2}, Ljava/net/HttpURLConnection;.disconnect:()V // method@5d7c │ │ -421722: 2700 |00c3: throw v0 │ │ -421724: 0e00 |00c4: return-void │ │ +421588: |[421588] org.purple.smoke.Time$1.run:()V │ │ +421598: 1a00 d98f |0000: const-string v0, "org.purple.smoke.time" // string@8fd9 │ │ +42159c: 7100 02b7 0000 |0002: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ +4215a2: 0c01 |0005: move-result-object v1 │ │ +4215a4: 6e10 05b7 0100 |0006: invoke-virtual {v1}, Lorg/purple/smoke/Kernel;.isNetworkConnected:()Z // method@b705 │ │ +4215aa: 0a01 |0009: move-result v1 │ │ +4215ac: 3801 ba00 |000a: if-eqz v1, 00c4 // +00ba │ │ +4215b0: 7100 66b9 0000 |000c: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +4215b6: 0c01 |000f: move-result-object v1 │ │ +4215b8: 6e10 69b9 0100 |0010: invoke-virtual {v1}, Lorg/purple/smoke/State;.isAuthenticated:()Z // method@b969 │ │ +4215be: 0a01 |0013: move-result v1 │ │ +4215c0: 3801 b000 |0014: if-eqz v1, 00c4 // +00b0 │ │ +4215c4: 7100 66b9 0000 |0016: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +4215ca: 0c01 |0019: move-result-object v1 │ │ +4215cc: 6e10 71b9 0100 |001a: invoke-virtual {v1}, Lorg/purple/smoke/State;.queryTimerServer:()Z // method@b971 │ │ +4215d2: 0a01 |001d: move-result v1 │ │ +4215d4: 3901 0400 |001e: if-nez v1, 0022 // +0004 │ │ +4215d8: 2900 a400 |0020: goto/16 00c4 // +00a4 │ │ +4215dc: 1201 |0022: const/4 v1, #int 0 // #0 │ │ +4215de: 2202 190b |0023: new-instance v2, Ljava/net/URL; // type@0b19 │ │ +4215e2: 1a03 c774 |0025: const-string v3, "https://worldtimeapi.org/api/timezone/Etc/UTC.txt" // string@74c7 │ │ +4215e6: 7020 b55d 3200 |0027: invoke-direct {v2, v3}, Ljava/net/URL;.:(Ljava/lang/String;)V // method@5db5 │ │ +4215ec: 6e10 b75d 0200 |002a: invoke-virtual {v2}, Ljava/net/URL;.openConnection:()Ljava/net/URLConnection; // method@5db7 │ │ +4215f2: 0c02 |002d: move-result-object v2 │ │ +4215f4: 1f02 0b0b |002e: check-cast v2, Ljava/net/HttpURLConnection; // type@0b0b │ │ +4215f8: 1a03 211b |0030: const-string v3, "GET" // string@1b21 │ │ +4215fc: 6e20 865d 3200 |0032: invoke-virtual {v2, v3}, Ljava/net/HttpURLConnection;.setRequestMethod:(Ljava/lang/String;)V // method@5d86 │ │ +421602: 2203 a30a |0035: new-instance v3, Ljava/io/BufferedReader; // type@0aa3 │ │ +421606: 2204 b30a |0037: new-instance v4, Ljava/io/InputStreamReader; // type@0ab3 │ │ +42160a: 6e10 7e5d 0200 |0039: invoke-virtual {v2}, Ljava/net/HttpURLConnection;.getInputStream:()Ljava/io/InputStream; // method@5d7e │ │ +421610: 0c05 |003c: move-result-object v5 │ │ +421612: 7020 c55b 5400 |003d: invoke-direct {v4, v5}, Ljava/io/InputStreamReader;.:(Ljava/io/InputStream;)V // method@5bc5 │ │ +421618: 7020 675b 4300 |0040: invoke-direct {v3, v4}, Ljava/io/BufferedReader;.:(Ljava/io/Reader;)V // method@5b67 │ │ +42161e: 6e10 695b 0300 |0043: invoke-virtual {v3}, Ljava/io/BufferedReader;.readLine:()Ljava/lang/String; // method@5b69 │ │ +421624: 0c01 |0046: move-result-object v1 │ │ +421626: 3801 4800 |0047: if-eqz v1, 008f // +0048 │ │ +42162a: 1a04 a0a3 |0049: const-string v4, "unixtime: " // string@a3a0 │ │ +42162e: 6e20 ca5c 4100 |004b: invoke-virtual {v1, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@5cca │ │ +421634: 0a04 |004e: move-result v4 │ │ +421636: 3804 f4ff |004f: if-eqz v4, 0043 // -000c │ │ +42163a: 7100 065d 0000 |0051: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ +421640: 0b04 |0054: move-result-wide v4 │ │ +421642: 1606 e803 |0055: const-wide/16 v6, #int 1000 // #3e8 │ │ +421646: be64 |0057: div-long/2addr v4, v6 │ │ +421648: 1306 0a00 |0058: const/16 v6, #int 10 // #a │ │ +42164c: 6e20 cc5c 6100 |005a: invoke-virtual {v1, v6}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@5ccc │ │ +421652: 0c06 |005d: move-result-object v6 │ │ +421654: 7110 675c 0600 |005e: invoke-static {v6}, Ljava/lang/Long;.parseLong:(Ljava/lang/String;)J // method@5c67 │ │ +42165a: 0b06 |0061: move-result-wide v6 │ │ +42165c: 9c06 0406 |0062: sub-long v6, v4, v6 │ │ +421660: 7120 735c 7600 |0064: invoke-static {v6, v7}, Ljava/lang/Math;.abs:(J)J // method@5c73 │ │ +421666: 0b06 |0067: move-result-wide v6 │ │ +421668: 1608 0500 |0068: const-wide/16 v8, #int 5 // #5 │ │ +42166c: 310a 0608 |006a: cmp-long v10, v6, v8 │ │ +421670: 3d0a 2300 |006c: if-lez v10, 008f // +0023 │ │ +421674: 2206 f10a |006e: new-instance v6, Ljava/lang/StringBuilder; // type@0af1 │ │ +421678: 7010 ee5c 0600 |0070: invoke-direct {v6}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +42167e: 1a07 d443 |0073: const-string v7, "Please correct the device's time as it is incorrect by at least 5 seconds. Local Unix Time: " // string@43d4 │ │ +421682: 6e20 f95c 7600 |0075: invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +421688: 6e30 f55c 4605 |0078: invoke-virtual {v6, v4, v5}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@5cf5 │ │ +42168e: 1a04 9504 |007b: const-string v4, ". Source Unix Time: " // string@0495 │ │ +421692: 6e20 f95c 4600 |007d: invoke-virtual {v6, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +421698: 6e20 f95c 1600 |0080: invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +42169e: 1a01 9104 |0083: const-string v1, "." // string@0491 │ │ +4216a2: 6e20 f95c 1600 |0085: invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4216a8: 6e10 035d 0600 |0088: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +4216ae: 0c01 |008b: move-result-object v1 │ │ +4216b0: 7120 ebb7 1000 |008c: invoke-static {v0, v1}, Lorg/purple/smoke/Miscellaneous;.sendBroadcast:(Ljava/lang/String;Ljava/lang/String;)V // method@b7eb │ │ +4216b6: 6e10 7c5d 0200 |008f: invoke-virtual {v2}, Ljava/net/HttpURLConnection;.disconnect:()V // method@5d7c │ │ +4216bc: 6e10 685b 0300 |0092: invoke-virtual {v3}, Ljava/io/BufferedReader;.close:()V // method@5b68 │ │ +4216c2: 2802 |0095: goto 0097 // +0002 │ │ +4216c4: 0000 |0096: nop // spacer │ │ +4216c6: 3802 1e00 |0097: if-eqz v2, 00b5 // +001e │ │ +4216ca: 6e10 7c5d 0200 |0099: invoke-virtual {v2}, Ljava/net/HttpURLConnection;.disconnect:()V // method@5d7c │ │ +4216d0: 2819 |009c: goto 00b5 // +0019 │ │ +4216d2: 0d00 |009d: move-exception v0 │ │ +4216d4: 0731 |009e: move-object v1, v3 │ │ +4216d6: 2818 |009f: goto 00b7 // +0018 │ │ +4216d8: 0731 |00a0: move-object v1, v3 │ │ +4216da: 2805 |00a1: goto 00a6 // +0005 │ │ +4216dc: 0d00 |00a2: move-exception v0 │ │ +4216de: 0712 |00a3: move-object v2, v1 │ │ +4216e0: 2813 |00a4: goto 00b7 // +0013 │ │ +4216e2: 0712 |00a5: move-object v2, v1 │ │ +4216e4: 1a03 244f |00a6: const-string v3, "Unable to query https://worldtimeapi.org/api/timezone/Etc/UTC.txt." // string@4f24 │ │ +4216e8: 7120 ebb7 3000 |00a8: invoke-static {v0, v3}, Lorg/purple/smoke/Miscellaneous;.sendBroadcast:(Ljava/lang/String;Ljava/lang/String;)V // method@b7eb │ │ +4216ee: 3801 0700 |00ab: if-eqz v1, 00b2 // +0007 │ │ +4216f2: 6e10 685b 0100 |00ad: invoke-virtual {v1}, Ljava/io/BufferedReader;.close:()V // method@5b68 │ │ +4216f8: 2802 |00b0: goto 00b2 // +0002 │ │ +4216fa: 0000 |00b1: nop // spacer │ │ +4216fc: 3802 0300 |00b2: if-eqz v2, 00b5 // +0003 │ │ +421700: 28e5 |00b4: goto 0099 // -001b │ │ +421702: 0e00 |00b5: return-void │ │ +421704: 0d00 |00b6: move-exception v0 │ │ +421706: 3801 0700 |00b7: if-eqz v1, 00be // +0007 │ │ +42170a: 6e10 685b 0100 |00b9: invoke-virtual {v1}, Ljava/io/BufferedReader;.close:()V // method@5b68 │ │ +421710: 2802 |00bc: goto 00be // +0002 │ │ +421712: 0000 |00bd: nop // spacer │ │ +421714: 3802 0500 |00be: if-eqz v2, 00c3 // +0005 │ │ +421718: 6e10 7c5d 0200 |00c0: invoke-virtual {v2}, Ljava/net/HttpURLConnection;.disconnect:()V // method@5d7c │ │ +42171e: 2700 |00c3: throw v0 │ │ +421720: 0e00 |00c4: return-void │ │ catches : 9 │ │ 0x0023 - 0x0030 │ │ Ljava/lang/Exception; -> 0x00a5 │ │ -> 0x00a2 │ │ 0x0030 - 0x0043 │ │ Ljava/lang/Exception; -> 0x00a6 │ │ -> 0x00b6 │ │ @@ -739242,28 +739241,28 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 9 │ │ ins : 1 │ │ outs : 7 │ │ insns size : 27 16-bit code units │ │ -4217a4: |[4217a4] org.purple.smoke.Time.:()V │ │ -4217b4: 7010 8f5c 0800 |0000: invoke-direct {v8}, Ljava/lang/Object;.:()V // method@5c8f │ │ -4217ba: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -4217bc: 5b80 4a5e |0004: iput-object v0, v8, Lorg/purple/smoke/Time;.m_scheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e4a │ │ -4217c0: 7100 c460 0000 |0006: invoke-static {}, Ljava/util/concurrent/Executors;.newSingleThreadScheduledExecutor:()Ljava/util/concurrent/ScheduledExecutorService; // method@60c4 │ │ -4217c6: 0c01 |0009: move-result-object v1 │ │ -4217c8: 5b81 4a5e |000a: iput-object v1, v8, Lorg/purple/smoke/Time;.m_scheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e4a │ │ -4217cc: 2202 ad1a |000c: new-instance v2, Lorg/purple/smoke/Time$1; // type@1aad │ │ -4217d0: 7020 73ba 8200 |000e: invoke-direct {v2, v8}, Lorg/purple/smoke/Time$1;.:(Lorg/purple/smoke/Time;)V // method@ba73 │ │ -4217d6: 6207 ee2c |0011: sget-object v7, Ljava/util/concurrent/TimeUnit;.SECONDS:Ljava/util/concurrent/TimeUnit; // field@2cee │ │ -4217da: 1603 0100 |0013: const-wide/16 v3, #int 1 // #1 │ │ -4217de: 1605 1e00 |0015: const-wide/16 v5, #int 30 // #1e │ │ -4217e2: 7807 cc60 0100 |0017: invoke-interface/range {v1, v2, v3, v4, v5, v6, v7}, Ljava/util/concurrent/ScheduledExecutorService;.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; // method@60cc │ │ -4217e8: 0e00 |001a: return-void │ │ +4217a0: |[4217a0] org.purple.smoke.Time.:()V │ │ +4217b0: 7010 8f5c 0800 |0000: invoke-direct {v8}, Ljava/lang/Object;.:()V // method@5c8f │ │ +4217b6: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +4217b8: 5b80 4a5e |0004: iput-object v0, v8, Lorg/purple/smoke/Time;.m_scheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e4a │ │ +4217bc: 7100 c460 0000 |0006: invoke-static {}, Ljava/util/concurrent/Executors;.newSingleThreadScheduledExecutor:()Ljava/util/concurrent/ScheduledExecutorService; // method@60c4 │ │ +4217c2: 0c01 |0009: move-result-object v1 │ │ +4217c4: 5b81 4a5e |000a: iput-object v1, v8, Lorg/purple/smoke/Time;.m_scheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e4a │ │ +4217c8: 2202 ad1a |000c: new-instance v2, Lorg/purple/smoke/Time$1; // type@1aad │ │ +4217cc: 7020 73ba 8200 |000e: invoke-direct {v2, v8}, Lorg/purple/smoke/Time$1;.:(Lorg/purple/smoke/Time;)V // method@ba73 │ │ +4217d2: 6207 ee2c |0011: sget-object v7, Ljava/util/concurrent/TimeUnit;.SECONDS:Ljava/util/concurrent/TimeUnit; // field@2cee │ │ +4217d6: 1603 0100 |0013: const-wide/16 v3, #int 1 // #1 │ │ +4217da: 1605 1e00 |0015: const-wide/16 v5, #int 30 // #1e │ │ +4217de: 7807 cc60 0100 |0017: invoke-interface/range {v1, v2, v3, v4, v5, v6, v7}, Ljava/util/concurrent/ScheduledExecutorService;.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; // method@60cc │ │ +4217e4: 0e00 |001a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=47 │ │ 0x0004 line=40 │ │ 0x0006 line=48 │ │ 0x000c line=49 │ │ locals : │ │ @@ -739309,20 +739308,20 @@ │ │ type : '(Lorg/purple/smoke/UdpMulticastNeighbor;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -4217ec: |[4217ec] org.purple.smoke.UdpMulticastNeighbor$1.:(Lorg/purple/smoke/UdpMulticastNeighbor;)V │ │ -4217fc: 5b01 4c5e |0000: iput-object v1, v0, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ -421800: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -421806: 1201 |0005: const/4 v1, #int 0 // #0 │ │ -421808: 5c01 4b5e |0006: iput-boolean v1, v0, Lorg/purple/smoke/UdpMulticastNeighbor$1;.m_error:Z // field@5e4b │ │ -42180c: 0e00 |0008: return-void │ │ +4217e8: |[4217e8] org.purple.smoke.UdpMulticastNeighbor$1.:(Lorg/purple/smoke/UdpMulticastNeighbor;)V │ │ +4217f8: 5b01 4c5e |0000: iput-object v1, v0, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ +4217fc: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +421802: 1201 |0005: const/4 v1, #int 0 // #0 │ │ +421804: 5c01 4b5e |0006: iput-boolean v1, v0, Lorg/purple/smoke/UdpMulticastNeighbor$1;.m_error:Z // field@5e4b │ │ +421808: 0e00 |0008: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=226 │ │ 0x0006 line=227 │ │ locals : │ │ 0x0000 - 0x0009 reg=0 this Lorg/purple/smoke/UdpMulticastNeighbor$1; │ │ 0x0000 - 0x0009 reg=1 (null) Lorg/purple/smoke/UdpMulticastNeighbor; │ │ @@ -739333,154 +739332,154 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 262 16-bit code units │ │ -421810: |[421810] org.purple.smoke.UdpMulticastNeighbor$1.run:()V │ │ -421820: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -421822: 5461 4c5e |0001: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ -421826: 6e10 7cba 0100 |0003: invoke-virtual {v1}, Lorg/purple/smoke/UdpMulticastNeighbor;.connected:()Z // method@ba7c │ │ -42182c: 0a01 |0006: move-result v1 │ │ -42182e: 3901 2100 |0007: if-nez v1, 0028 // +0021 │ │ -421832: 5461 4c5e |0009: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ -421836: 5411 505e |000b: iget-object v1, v1, Lorg/purple/smoke/UdpMulticastNeighbor;.m_disconnected:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e50 │ │ -42183a: 6e10 d660 0100 |000d: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ -421840: 0a01 |0010: move-result v1 │ │ -421842: 3901 1700 |0011: if-nez v1, 0028 // +0017 │ │ -421846: 5461 4c5e |0013: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ -42184a: 5411 555e |0015: iget-object v1, v1, Lorg/purple/smoke/UdpMulticastNeighbor;.m_mutex:Ljava/lang/Object; // field@5e55 │ │ -42184e: 1d01 |0017: monitor-enter v1 │ │ -421850: 5462 4c5e |0018: iget-object v2, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ -421854: 5422 555e |001a: iget-object v2, v2, Lorg/purple/smoke/UdpMulticastNeighbor;.m_mutex:Ljava/lang/Object; // field@5e55 │ │ -421858: 1603 1027 |001c: const-wide/16 v3, #int 10000 // #2710 │ │ -42185c: 6e30 985c 3204 |001e: invoke-virtual {v2, v3, v4}, Ljava/lang/Object;.wait:(J)V // method@5c98 │ │ -421862: 2803 |0021: goto 0024 // +0003 │ │ -421864: 0d02 |0022: move-exception v2 │ │ -421866: 2803 |0023: goto 0026 // +0003 │ │ -421868: 1e01 |0024: monitor-exit v1 │ │ -42186a: 2803 |0025: goto 0028 // +0003 │ │ -42186c: 1e01 |0026: monitor-exit v1 │ │ -42186e: 2702 |0027: throw v2 │ │ -421870: 5461 4c5e |0028: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ -421874: 6e10 7cba 0100 |002a: invoke-virtual {v1}, Lorg/purple/smoke/UdpMulticastNeighbor;.connected:()Z // method@ba7c │ │ -42187a: 0a01 |002d: move-result v1 │ │ -42187c: 3801 cc00 |002e: if-eqz v1, 00fa // +00cc │ │ -421880: 5461 4c5e |0030: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ -421884: 5411 505e |0032: iget-object v1, v1, Lorg/purple/smoke/UdpMulticastNeighbor;.m_disconnected:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e50 │ │ -421888: 6e10 d660 0100 |0034: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ -42188e: 0a01 |0037: move-result v1 │ │ -421890: 3801 0400 |0038: if-eqz v1, 003c // +0004 │ │ -421894: 2900 c000 |003a: goto/16 00fa // +00c0 │ │ -421898: 5561 4b5e |003c: iget-boolean v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.m_error:Z // field@5e4b │ │ -42189c: 1202 |003e: const/4 v2, #int 0 // #0 │ │ -42189e: 3801 0e00 |003f: if-eqz v1, 004d // +000e │ │ -4218a2: 5461 4c5e |0041: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ -4218a6: 6e10 7cba 0100 |0043: invoke-virtual {v1}, Lorg/purple/smoke/UdpMulticastNeighbor;.connected:()Z // method@ba7c │ │ -4218ac: 0a01 |0046: move-result v1 │ │ -4218ae: 3801 0500 |0047: if-eqz v1, 004c // +0005 │ │ -4218b2: 5c62 4b5e |0049: iput-boolean v2, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.m_error:Z // field@5e4b │ │ -4218b6: 280b |004b: goto 0056 // +000b │ │ -4218b8: 0e00 |004c: return-void │ │ -4218ba: 5461 4c5e |004d: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ -4218be: 7110 7aba 0100 |004f: invoke-static {v1}, Lorg/purple/smoke/UdpMulticastNeighbor;.access$000:(Lorg/purple/smoke/UdpMulticastNeighbor;)Ljava/net/MulticastSocket; // method@ba7a │ │ -4218c4: 0c01 |0052: move-result-object v1 │ │ -4218c6: 3901 0300 |0053: if-nez v1, 0056 // +0003 │ │ -4218ca: 0e00 |0055: return-void │ │ -4218cc: 1501 1000 |0056: const/high16 v1, #int 1048576 // #10 │ │ -4218d0: 2313 ba1a |0058: new-array v3, v1, [B // type@1aba │ │ -4218d4: 2204 090b |005a: new-instance v4, Ljava/net/DatagramPacket; // type@0b09 │ │ -4218d8: 7030 6c5d 3401 |005c: invoke-direct {v4, v3, v1}, Ljava/net/DatagramPacket;.:([BI)V // method@5d6c │ │ -4218de: 1211 |005f: const/4 v1, #int 1 // #1 │ │ -4218e0: 5463 4c5e |0060: iget-object v3, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ -4218e4: 7110 7aba 0300 |0062: invoke-static {v3}, Lorg/purple/smoke/UdpMulticastNeighbor;.access$000:(Lorg/purple/smoke/UdpMulticastNeighbor;)Ljava/net/MulticastSocket; // method@ba7a │ │ -4218ea: 0c03 |0065: move-result-object v3 │ │ -4218ec: 6e20 985d 4300 |0066: invoke-virtual {v3, v4}, Ljava/net/MulticastSocket;.receive:(Ljava/net/DatagramPacket;)V // method@5d98 │ │ -4218f2: 6e10 6f5d 0400 |0069: invoke-virtual {v4}, Ljava/net/DatagramPacket;.getLength:()I // method@5d6f │ │ -4218f8: 0a03 |006c: move-result v3 │ │ -4218fa: 3d03 1b00 |006d: if-lez v3, 0088 // +001b │ │ -4218fe: 2203 a60a |006f: new-instance v3, Ljava/io/ByteArrayOutputStream; // type@0aa6 │ │ -421902: 7010 715b 0300 |0071: invoke-direct {v3}, Ljava/io/ByteArrayOutputStream;.:()V // method@5b71 │ │ -421908: 6e10 6e5d 0400 |0074: invoke-virtual {v4}, Ljava/net/DatagramPacket;.getData:()[B // method@5d6e │ │ -42190e: 0c00 |0077: move-result-object v0 │ │ -421910: 6e10 6f5d 0400 |0078: invoke-virtual {v4}, Ljava/net/DatagramPacket;.getLength:()I // method@5d6f │ │ -421916: 0a05 |007b: move-result v5 │ │ -421918: 6e40 7a5b 0352 |007c: invoke-virtual {v3, v0, v2, v5}, Ljava/io/ByteArrayOutputStream;.write:([BII)V // method@5b7a │ │ -42191e: 0730 |007f: move-object v0, v3 │ │ -421920: 2808 |0080: goto 0088 // +0008 │ │ -421922: 0d01 |0081: move-exception v1 │ │ -421924: 0730 |0082: move-object v0, v3 │ │ -421926: 2900 7900 |0083: goto/16 00fc // +0079 │ │ -42192a: 0730 |0085: move-object v0, v3 │ │ -42192c: 2900 7c00 |0086: goto/16 0102 // +007c │ │ -421930: 6e10 6f5d 0400 |0088: invoke-virtual {v4}, Ljava/net/DatagramPacket;.getLength:()I // method@5d6f │ │ -421936: 0a02 |008b: move-result v2 │ │ -421938: 3b02 1600 |008c: if-gez v2, 00a2 // +0016 │ │ -42193c: 5c61 4b5e |008e: iput-boolean v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.m_error:Z // field@5e4b │ │ -421940: 5461 4c5e |0090: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ -421944: 1a02 0609 |0092: const-string v2, "A socket receive() error occurred." // string@0906 │ │ -421948: 6e20 86ba 2100 |0094: invoke-virtual {v1, v2}, Lorg/purple/smoke/UdpMulticastNeighbor;.setError:(Ljava/lang/String;)V // method@ba86 │ │ -42194e: 5461 4c5e |0097: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ -421952: 6e10 7dba 0100 |0099: invoke-virtual {v1}, Lorg/purple/smoke/UdpMulticastNeighbor;.disconnect:()V // method@ba7d │ │ -421958: 3800 0500 |009c: if-eqz v0, 00a1 // +0005 │ │ -42195c: 6e10 735b 0000 |009e: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.close:()V // method@5b73 │ │ -421962: 0e00 |00a1: return-void │ │ -421964: 3902 0800 |00a2: if-nez v2, 00aa // +0008 │ │ -421968: 3800 0500 |00a4: if-eqz v0, 00a9 // +0005 │ │ -42196c: 6e10 735b 0000 |00a6: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.close:()V // method@5b73 │ │ -421972: 0e00 |00a9: return-void │ │ -421974: 5461 4c5e |00aa: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ -421978: 5411 4e5e |00ac: iget-object v1, v1, Lorg/purple/smoke/UdpMulticastNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e4e │ │ -42197c: 8122 |00ae: int-to-long v2, v2 │ │ -42197e: 6e30 e060 2103 |00af: invoke-virtual {v1, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.getAndAdd:(J)J // method@60e0 │ │ -421984: 5461 4c5e |00b2: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ -421988: 5411 545e |00b4: iget-object v1, v1, Lorg/purple/smoke/UdpMulticastNeighbor;.m_lastTimeRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e54 │ │ -42198c: 7100 0b5d 0000 |00b6: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ -421992: 0b02 |00b9: move-result-wide v2 │ │ -421994: 6e30 e160 2103 |00ba: invoke-virtual {v1, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -42199a: 3800 1900 |00bd: if-eqz v0, 00d6 // +0019 │ │ -42199e: 5461 4c5e |00bf: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ -4219a2: 5411 5a5e |00c1: iget-object v1, v1, Lorg/purple/smoke/UdpMulticastNeighbor;.m_stringBuffer:Ljava/lang/StringBuffer; // field@5e5a │ │ -4219a6: 6e10 e85c 0100 |00c3: invoke-virtual {v1}, Ljava/lang/StringBuffer;.length:()I // method@5ce8 │ │ -4219ac: 0a01 |00c6: move-result v1 │ │ -4219ae: 1502 8000 |00c7: const/high16 v2, #int 8388608 // #80 │ │ -4219b2: 3521 0d00 |00c9: if-ge v1, v2, 00d6 // +000d │ │ -4219b6: 5461 4c5e |00cb: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ -4219ba: 5411 5a5e |00cd: iget-object v1, v1, Lorg/purple/smoke/UdpMulticastNeighbor;.m_stringBuffer:Ljava/lang/StringBuffer; // field@5e5a │ │ -4219be: 6e10 775b 0000 |00cf: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.toString:()Ljava/lang/String; // method@5b77 │ │ -4219c4: 0c02 |00d2: move-result-object v2 │ │ -4219c6: 6e20 e05c 2100 |00d3: invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@5ce0 │ │ -4219cc: 5461 4c5e |00d6: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ -4219d0: 5411 565e |00d8: iget-object v1, v1, Lorg/purple/smoke/UdpMulticastNeighbor;.m_parsingSchedulerMutex:Ljava/lang/Object; // field@5e56 │ │ -4219d4: 1d01 |00da: monitor-enter v1 │ │ -4219d6: 5462 4c5e |00db: iget-object v2, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ -4219da: 5422 565e |00dd: iget-object v2, v2, Lorg/purple/smoke/UdpMulticastNeighbor;.m_parsingSchedulerMutex:Ljava/lang/Object; // field@5e56 │ │ -4219de: 6e10 945c 0200 |00df: invoke-virtual {v2}, Ljava/lang/Object;.notify:()V // method@5c94 │ │ -4219e4: 1e01 |00e2: monitor-exit v1 │ │ -4219e6: 3800 2200 |00e3: if-eqz v0, 0105 // +0022 │ │ -4219ea: 6e10 735b 0000 |00e5: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.close:()V // method@5b73 │ │ -4219f0: 281d |00e8: goto 0105 // +001d │ │ -4219f2: 0d02 |00e9: move-exception v2 │ │ -4219f4: 1e01 |00ea: monitor-exit v1 │ │ -4219f6: 2702 |00eb: throw v2 │ │ -4219f8: 5c61 4b5e |00ec: iput-boolean v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.m_error:Z // field@5e4b │ │ -4219fc: 5461 4c5e |00ee: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ -421a00: 1a02 0609 |00f0: const-string v2, "A socket receive() error occurred." // string@0906 │ │ -421a04: 6e20 86ba 2100 |00f2: invoke-virtual {v1, v2}, Lorg/purple/smoke/UdpMulticastNeighbor;.setError:(Ljava/lang/String;)V // method@ba86 │ │ -421a0a: 5461 4c5e |00f5: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ -421a0e: 6e10 7dba 0100 |00f7: invoke-virtual {v1}, Lorg/purple/smoke/UdpMulticastNeighbor;.disconnect:()V // method@ba7d │ │ -421a14: 0e00 |00fa: return-void │ │ -421a16: 0d01 |00fb: move-exception v1 │ │ -421a18: 3800 0500 |00fc: if-eqz v0, 0101 // +0005 │ │ -421a1c: 6e10 735b 0000 |00fe: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.close:()V // method@5b73 │ │ -421a22: 2701 |0101: throw v1 │ │ -421a24: 3800 0300 |0102: if-eqz v0, 0105 // +0003 │ │ -421a28: 28e1 |0104: goto 00e5 // -001f │ │ -421a2a: 0e00 |0105: return-void │ │ +42180c: |[42180c] org.purple.smoke.UdpMulticastNeighbor$1.run:()V │ │ +42181c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +42181e: 5461 4c5e |0001: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ +421822: 6e10 7cba 0100 |0003: invoke-virtual {v1}, Lorg/purple/smoke/UdpMulticastNeighbor;.connected:()Z // method@ba7c │ │ +421828: 0a01 |0006: move-result v1 │ │ +42182a: 3901 2100 |0007: if-nez v1, 0028 // +0021 │ │ +42182e: 5461 4c5e |0009: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ +421832: 5411 505e |000b: iget-object v1, v1, Lorg/purple/smoke/UdpMulticastNeighbor;.m_disconnected:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e50 │ │ +421836: 6e10 d660 0100 |000d: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ +42183c: 0a01 |0010: move-result v1 │ │ +42183e: 3901 1700 |0011: if-nez v1, 0028 // +0017 │ │ +421842: 5461 4c5e |0013: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ +421846: 5411 555e |0015: iget-object v1, v1, Lorg/purple/smoke/UdpMulticastNeighbor;.m_mutex:Ljava/lang/Object; // field@5e55 │ │ +42184a: 1d01 |0017: monitor-enter v1 │ │ +42184c: 5462 4c5e |0018: iget-object v2, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ +421850: 5422 555e |001a: iget-object v2, v2, Lorg/purple/smoke/UdpMulticastNeighbor;.m_mutex:Ljava/lang/Object; // field@5e55 │ │ +421854: 1603 1027 |001c: const-wide/16 v3, #int 10000 // #2710 │ │ +421858: 6e30 985c 3204 |001e: invoke-virtual {v2, v3, v4}, Ljava/lang/Object;.wait:(J)V // method@5c98 │ │ +42185e: 2803 |0021: goto 0024 // +0003 │ │ +421860: 0d02 |0022: move-exception v2 │ │ +421862: 2803 |0023: goto 0026 // +0003 │ │ +421864: 1e01 |0024: monitor-exit v1 │ │ +421866: 2803 |0025: goto 0028 // +0003 │ │ +421868: 1e01 |0026: monitor-exit v1 │ │ +42186a: 2702 |0027: throw v2 │ │ +42186c: 5461 4c5e |0028: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ +421870: 6e10 7cba 0100 |002a: invoke-virtual {v1}, Lorg/purple/smoke/UdpMulticastNeighbor;.connected:()Z // method@ba7c │ │ +421876: 0a01 |002d: move-result v1 │ │ +421878: 3801 cc00 |002e: if-eqz v1, 00fa // +00cc │ │ +42187c: 5461 4c5e |0030: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ +421880: 5411 505e |0032: iget-object v1, v1, Lorg/purple/smoke/UdpMulticastNeighbor;.m_disconnected:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e50 │ │ +421884: 6e10 d660 0100 |0034: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ +42188a: 0a01 |0037: move-result v1 │ │ +42188c: 3801 0400 |0038: if-eqz v1, 003c // +0004 │ │ +421890: 2900 c000 |003a: goto/16 00fa // +00c0 │ │ +421894: 5561 4b5e |003c: iget-boolean v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.m_error:Z // field@5e4b │ │ +421898: 1202 |003e: const/4 v2, #int 0 // #0 │ │ +42189a: 3801 0e00 |003f: if-eqz v1, 004d // +000e │ │ +42189e: 5461 4c5e |0041: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ +4218a2: 6e10 7cba 0100 |0043: invoke-virtual {v1}, Lorg/purple/smoke/UdpMulticastNeighbor;.connected:()Z // method@ba7c │ │ +4218a8: 0a01 |0046: move-result v1 │ │ +4218aa: 3801 0500 |0047: if-eqz v1, 004c // +0005 │ │ +4218ae: 5c62 4b5e |0049: iput-boolean v2, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.m_error:Z // field@5e4b │ │ +4218b2: 280b |004b: goto 0056 // +000b │ │ +4218b4: 0e00 |004c: return-void │ │ +4218b6: 5461 4c5e |004d: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ +4218ba: 7110 7aba 0100 |004f: invoke-static {v1}, Lorg/purple/smoke/UdpMulticastNeighbor;.access$000:(Lorg/purple/smoke/UdpMulticastNeighbor;)Ljava/net/MulticastSocket; // method@ba7a │ │ +4218c0: 0c01 |0052: move-result-object v1 │ │ +4218c2: 3901 0300 |0053: if-nez v1, 0056 // +0003 │ │ +4218c6: 0e00 |0055: return-void │ │ +4218c8: 1501 1000 |0056: const/high16 v1, #int 1048576 // #10 │ │ +4218cc: 2313 ba1a |0058: new-array v3, v1, [B // type@1aba │ │ +4218d0: 2204 090b |005a: new-instance v4, Ljava/net/DatagramPacket; // type@0b09 │ │ +4218d4: 7030 6c5d 3401 |005c: invoke-direct {v4, v3, v1}, Ljava/net/DatagramPacket;.:([BI)V // method@5d6c │ │ +4218da: 1211 |005f: const/4 v1, #int 1 // #1 │ │ +4218dc: 5463 4c5e |0060: iget-object v3, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ +4218e0: 7110 7aba 0300 |0062: invoke-static {v3}, Lorg/purple/smoke/UdpMulticastNeighbor;.access$000:(Lorg/purple/smoke/UdpMulticastNeighbor;)Ljava/net/MulticastSocket; // method@ba7a │ │ +4218e6: 0c03 |0065: move-result-object v3 │ │ +4218e8: 6e20 985d 4300 |0066: invoke-virtual {v3, v4}, Ljava/net/MulticastSocket;.receive:(Ljava/net/DatagramPacket;)V // method@5d98 │ │ +4218ee: 6e10 6f5d 0400 |0069: invoke-virtual {v4}, Ljava/net/DatagramPacket;.getLength:()I // method@5d6f │ │ +4218f4: 0a03 |006c: move-result v3 │ │ +4218f6: 3d03 1b00 |006d: if-lez v3, 0088 // +001b │ │ +4218fa: 2203 a60a |006f: new-instance v3, Ljava/io/ByteArrayOutputStream; // type@0aa6 │ │ +4218fe: 7010 715b 0300 |0071: invoke-direct {v3}, Ljava/io/ByteArrayOutputStream;.:()V // method@5b71 │ │ +421904: 6e10 6e5d 0400 |0074: invoke-virtual {v4}, Ljava/net/DatagramPacket;.getData:()[B // method@5d6e │ │ +42190a: 0c00 |0077: move-result-object v0 │ │ +42190c: 6e10 6f5d 0400 |0078: invoke-virtual {v4}, Ljava/net/DatagramPacket;.getLength:()I // method@5d6f │ │ +421912: 0a05 |007b: move-result v5 │ │ +421914: 6e40 7a5b 0352 |007c: invoke-virtual {v3, v0, v2, v5}, Ljava/io/ByteArrayOutputStream;.write:([BII)V // method@5b7a │ │ +42191a: 0730 |007f: move-object v0, v3 │ │ +42191c: 2808 |0080: goto 0088 // +0008 │ │ +42191e: 0d01 |0081: move-exception v1 │ │ +421920: 0730 |0082: move-object v0, v3 │ │ +421922: 2900 7900 |0083: goto/16 00fc // +0079 │ │ +421926: 0730 |0085: move-object v0, v3 │ │ +421928: 2900 7c00 |0086: goto/16 0102 // +007c │ │ +42192c: 6e10 6f5d 0400 |0088: invoke-virtual {v4}, Ljava/net/DatagramPacket;.getLength:()I // method@5d6f │ │ +421932: 0a02 |008b: move-result v2 │ │ +421934: 3b02 1600 |008c: if-gez v2, 00a2 // +0016 │ │ +421938: 5c61 4b5e |008e: iput-boolean v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.m_error:Z // field@5e4b │ │ +42193c: 5461 4c5e |0090: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ +421940: 1a02 0609 |0092: const-string v2, "A socket receive() error occurred." // string@0906 │ │ +421944: 6e20 86ba 2100 |0094: invoke-virtual {v1, v2}, Lorg/purple/smoke/UdpMulticastNeighbor;.setError:(Ljava/lang/String;)V // method@ba86 │ │ +42194a: 5461 4c5e |0097: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ +42194e: 6e10 7dba 0100 |0099: invoke-virtual {v1}, Lorg/purple/smoke/UdpMulticastNeighbor;.disconnect:()V // method@ba7d │ │ +421954: 3800 0500 |009c: if-eqz v0, 00a1 // +0005 │ │ +421958: 6e10 735b 0000 |009e: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.close:()V // method@5b73 │ │ +42195e: 0e00 |00a1: return-void │ │ +421960: 3902 0800 |00a2: if-nez v2, 00aa // +0008 │ │ +421964: 3800 0500 |00a4: if-eqz v0, 00a9 // +0005 │ │ +421968: 6e10 735b 0000 |00a6: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.close:()V // method@5b73 │ │ +42196e: 0e00 |00a9: return-void │ │ +421970: 5461 4c5e |00aa: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ +421974: 5411 4e5e |00ac: iget-object v1, v1, Lorg/purple/smoke/UdpMulticastNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e4e │ │ +421978: 8122 |00ae: int-to-long v2, v2 │ │ +42197a: 6e30 e060 2103 |00af: invoke-virtual {v1, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.getAndAdd:(J)J // method@60e0 │ │ +421980: 5461 4c5e |00b2: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ +421984: 5411 545e |00b4: iget-object v1, v1, Lorg/purple/smoke/UdpMulticastNeighbor;.m_lastTimeRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e54 │ │ +421988: 7100 0b5d 0000 |00b6: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ +42198e: 0b02 |00b9: move-result-wide v2 │ │ +421990: 6e30 e160 2103 |00ba: invoke-virtual {v1, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +421996: 3800 1900 |00bd: if-eqz v0, 00d6 // +0019 │ │ +42199a: 5461 4c5e |00bf: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ +42199e: 5411 5a5e |00c1: iget-object v1, v1, Lorg/purple/smoke/UdpMulticastNeighbor;.m_stringBuffer:Ljava/lang/StringBuffer; // field@5e5a │ │ +4219a2: 6e10 e85c 0100 |00c3: invoke-virtual {v1}, Ljava/lang/StringBuffer;.length:()I // method@5ce8 │ │ +4219a8: 0a01 |00c6: move-result v1 │ │ +4219aa: 1502 8000 |00c7: const/high16 v2, #int 8388608 // #80 │ │ +4219ae: 3521 0d00 |00c9: if-ge v1, v2, 00d6 // +000d │ │ +4219b2: 5461 4c5e |00cb: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ +4219b6: 5411 5a5e |00cd: iget-object v1, v1, Lorg/purple/smoke/UdpMulticastNeighbor;.m_stringBuffer:Ljava/lang/StringBuffer; // field@5e5a │ │ +4219ba: 6e10 775b 0000 |00cf: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.toString:()Ljava/lang/String; // method@5b77 │ │ +4219c0: 0c02 |00d2: move-result-object v2 │ │ +4219c2: 6e20 e05c 2100 |00d3: invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@5ce0 │ │ +4219c8: 5461 4c5e |00d6: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ +4219cc: 5411 565e |00d8: iget-object v1, v1, Lorg/purple/smoke/UdpMulticastNeighbor;.m_parsingSchedulerMutex:Ljava/lang/Object; // field@5e56 │ │ +4219d0: 1d01 |00da: monitor-enter v1 │ │ +4219d2: 5462 4c5e |00db: iget-object v2, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ +4219d6: 5422 565e |00dd: iget-object v2, v2, Lorg/purple/smoke/UdpMulticastNeighbor;.m_parsingSchedulerMutex:Ljava/lang/Object; // field@5e56 │ │ +4219da: 6e10 945c 0200 |00df: invoke-virtual {v2}, Ljava/lang/Object;.notify:()V // method@5c94 │ │ +4219e0: 1e01 |00e2: monitor-exit v1 │ │ +4219e2: 3800 2200 |00e3: if-eqz v0, 0105 // +0022 │ │ +4219e6: 6e10 735b 0000 |00e5: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.close:()V // method@5b73 │ │ +4219ec: 281d |00e8: goto 0105 // +001d │ │ +4219ee: 0d02 |00e9: move-exception v2 │ │ +4219f0: 1e01 |00ea: monitor-exit v1 │ │ +4219f2: 2702 |00eb: throw v2 │ │ +4219f4: 5c61 4b5e |00ec: iput-boolean v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.m_error:Z // field@5e4b │ │ +4219f8: 5461 4c5e |00ee: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ +4219fc: 1a02 0609 |00f0: const-string v2, "A socket receive() error occurred." // string@0906 │ │ +421a00: 6e20 86ba 2100 |00f2: invoke-virtual {v1, v2}, Lorg/purple/smoke/UdpMulticastNeighbor;.setError:(Ljava/lang/String;)V // method@ba86 │ │ +421a06: 5461 4c5e |00f5: iget-object v1, v6, Lorg/purple/smoke/UdpMulticastNeighbor$1;.this$0:Lorg/purple/smoke/UdpMulticastNeighbor; // field@5e4c │ │ +421a0a: 6e10 7dba 0100 |00f7: invoke-virtual {v1}, Lorg/purple/smoke/UdpMulticastNeighbor;.disconnect:()V // method@ba7d │ │ +421a10: 0e00 |00fa: return-void │ │ +421a12: 0d01 |00fb: move-exception v1 │ │ +421a14: 3800 0500 |00fc: if-eqz v0, 0101 // +0005 │ │ +421a18: 6e10 735b 0000 |00fe: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.close:()V // method@5b73 │ │ +421a1e: 2701 |0101: throw v1 │ │ +421a20: 3800 0300 |0102: if-eqz v0, 0105 // +0003 │ │ +421a24: 28e1 |0104: goto 00e5 // -001f │ │ +421a26: 0e00 |0105: return-void │ │ catches : 16 │ │ 0x0001 - 0x0018 │ │ Ljava/lang/Exception; -> 0x0102 │ │ -> 0x00fb │ │ 0x0018 - 0x0021 │ │ Ljava/lang/Exception; -> 0x0024 │ │ -> 0x0022 │ │ @@ -739598,20 +739597,20 @@ │ │ type : '(Lorg/purple/smoke/UdpNeighbor;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -422078: |[422078] org.purple.smoke.UdpNeighbor$1.:(Lorg/purple/smoke/UdpNeighbor;)V │ │ -422088: 5b01 5d5e |0000: iput-object v1, v0, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ -42208c: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -422092: 1201 |0005: const/4 v1, #int 0 // #0 │ │ -422094: 5c01 5c5e |0006: iput-boolean v1, v0, Lorg/purple/smoke/UdpNeighbor$1;.m_error:Z // field@5e5c │ │ -422098: 0e00 |0008: return-void │ │ +422074: |[422074] org.purple.smoke.UdpNeighbor$1.:(Lorg/purple/smoke/UdpNeighbor;)V │ │ +422084: 5b01 5d5e |0000: iput-object v1, v0, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ +422088: 7010 8f5c 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +42208e: 1201 |0005: const/4 v1, #int 0 // #0 │ │ +422090: 5c01 5c5e |0006: iput-boolean v1, v0, Lorg/purple/smoke/UdpNeighbor$1;.m_error:Z // field@5e5c │ │ +422094: 0e00 |0008: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=233 │ │ 0x0006 line=234 │ │ locals : │ │ 0x0000 - 0x0009 reg=0 this Lorg/purple/smoke/UdpNeighbor$1; │ │ 0x0000 - 0x0009 reg=1 (null) Lorg/purple/smoke/UdpNeighbor; │ │ @@ -739622,154 +739621,154 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 262 16-bit code units │ │ -42209c: |[42209c] org.purple.smoke.UdpNeighbor$1.run:()V │ │ -4220ac: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -4220ae: 5461 5d5e |0001: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ -4220b2: 6e10 8eba 0100 |0003: invoke-virtual {v1}, Lorg/purple/smoke/UdpNeighbor;.connected:()Z // method@ba8e │ │ -4220b8: 0a01 |0006: move-result v1 │ │ -4220ba: 3901 2100 |0007: if-nez v1, 0028 // +0021 │ │ -4220be: 5461 5d5e |0009: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ -4220c2: 5411 605e |000b: iget-object v1, v1, Lorg/purple/smoke/UdpNeighbor;.m_disconnected:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e60 │ │ -4220c6: 6e10 d660 0100 |000d: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ -4220cc: 0a01 |0010: move-result v1 │ │ -4220ce: 3901 1700 |0011: if-nez v1, 0028 // +0017 │ │ -4220d2: 5461 5d5e |0013: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ -4220d6: 5411 655e |0015: iget-object v1, v1, Lorg/purple/smoke/UdpNeighbor;.m_mutex:Ljava/lang/Object; // field@5e65 │ │ -4220da: 1d01 |0017: monitor-enter v1 │ │ -4220dc: 5462 5d5e |0018: iget-object v2, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ -4220e0: 5422 655e |001a: iget-object v2, v2, Lorg/purple/smoke/UdpNeighbor;.m_mutex:Ljava/lang/Object; // field@5e65 │ │ -4220e4: 1603 1027 |001c: const-wide/16 v3, #int 10000 // #2710 │ │ -4220e8: 6e30 985c 3204 |001e: invoke-virtual {v2, v3, v4}, Ljava/lang/Object;.wait:(J)V // method@5c98 │ │ -4220ee: 2803 |0021: goto 0024 // +0003 │ │ -4220f0: 0d02 |0022: move-exception v2 │ │ -4220f2: 2803 |0023: goto 0026 // +0003 │ │ -4220f4: 1e01 |0024: monitor-exit v1 │ │ -4220f6: 2803 |0025: goto 0028 // +0003 │ │ -4220f8: 1e01 |0026: monitor-exit v1 │ │ -4220fa: 2702 |0027: throw v2 │ │ -4220fc: 5461 5d5e |0028: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ -422100: 6e10 8eba 0100 |002a: invoke-virtual {v1}, Lorg/purple/smoke/UdpNeighbor;.connected:()Z // method@ba8e │ │ -422106: 0a01 |002d: move-result v1 │ │ -422108: 3801 cc00 |002e: if-eqz v1, 00fa // +00cc │ │ -42210c: 5461 5d5e |0030: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ -422110: 5411 605e |0032: iget-object v1, v1, Lorg/purple/smoke/UdpNeighbor;.m_disconnected:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e60 │ │ -422114: 6e10 d660 0100 |0034: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ -42211a: 0a01 |0037: move-result v1 │ │ -42211c: 3801 0400 |0038: if-eqz v1, 003c // +0004 │ │ -422120: 2900 c000 |003a: goto/16 00fa // +00c0 │ │ -422124: 5561 5c5e |003c: iget-boolean v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.m_error:Z // field@5e5c │ │ -422128: 1202 |003e: const/4 v2, #int 0 // #0 │ │ -42212a: 3801 0e00 |003f: if-eqz v1, 004d // +000e │ │ -42212e: 5461 5d5e |0041: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ -422132: 6e10 8eba 0100 |0043: invoke-virtual {v1}, Lorg/purple/smoke/UdpNeighbor;.connected:()Z // method@ba8e │ │ -422138: 0a01 |0046: move-result v1 │ │ -42213a: 3801 0500 |0047: if-eqz v1, 004c // +0005 │ │ -42213e: 5c62 5c5e |0049: iput-boolean v2, v6, Lorg/purple/smoke/UdpNeighbor$1;.m_error:Z // field@5e5c │ │ -422142: 280b |004b: goto 0056 // +000b │ │ -422144: 0e00 |004c: return-void │ │ -422146: 5461 5d5e |004d: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ -42214a: 7110 8cba 0100 |004f: invoke-static {v1}, Lorg/purple/smoke/UdpNeighbor;.access$000:(Lorg/purple/smoke/UdpNeighbor;)Ljava/net/DatagramSocket; // method@ba8c │ │ -422150: 0c01 |0052: move-result-object v1 │ │ -422152: 3901 0300 |0053: if-nez v1, 0056 // +0003 │ │ -422156: 0e00 |0055: return-void │ │ -422158: 1501 1000 |0056: const/high16 v1, #int 1048576 // #10 │ │ -42215c: 2313 ba1a |0058: new-array v3, v1, [B // type@1aba │ │ -422160: 2204 090b |005a: new-instance v4, Ljava/net/DatagramPacket; // type@0b09 │ │ -422164: 7030 6c5d 3401 |005c: invoke-direct {v4, v3, v1}, Ljava/net/DatagramPacket;.:([BI)V // method@5d6c │ │ -42216a: 1211 |005f: const/4 v1, #int 1 // #1 │ │ -42216c: 5463 5d5e |0060: iget-object v3, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ -422170: 7110 8cba 0300 |0062: invoke-static {v3}, Lorg/purple/smoke/UdpNeighbor;.access$000:(Lorg/purple/smoke/UdpNeighbor;)Ljava/net/DatagramSocket; // method@ba8c │ │ -422176: 0c03 |0065: move-result-object v3 │ │ -422178: 6e20 785d 4300 |0066: invoke-virtual {v3, v4}, Ljava/net/DatagramSocket;.receive:(Ljava/net/DatagramPacket;)V // method@5d78 │ │ -42217e: 6e10 6f5d 0400 |0069: invoke-virtual {v4}, Ljava/net/DatagramPacket;.getLength:()I // method@5d6f │ │ -422184: 0a03 |006c: move-result v3 │ │ -422186: 3d03 1b00 |006d: if-lez v3, 0088 // +001b │ │ -42218a: 2203 a60a |006f: new-instance v3, Ljava/io/ByteArrayOutputStream; // type@0aa6 │ │ -42218e: 7010 715b 0300 |0071: invoke-direct {v3}, Ljava/io/ByteArrayOutputStream;.:()V // method@5b71 │ │ -422194: 6e10 6e5d 0400 |0074: invoke-virtual {v4}, Ljava/net/DatagramPacket;.getData:()[B // method@5d6e │ │ -42219a: 0c00 |0077: move-result-object v0 │ │ -42219c: 6e10 6f5d 0400 |0078: invoke-virtual {v4}, Ljava/net/DatagramPacket;.getLength:()I // method@5d6f │ │ -4221a2: 0a05 |007b: move-result v5 │ │ -4221a4: 6e40 7a5b 0352 |007c: invoke-virtual {v3, v0, v2, v5}, Ljava/io/ByteArrayOutputStream;.write:([BII)V // method@5b7a │ │ -4221aa: 0730 |007f: move-object v0, v3 │ │ -4221ac: 2808 |0080: goto 0088 // +0008 │ │ -4221ae: 0d01 |0081: move-exception v1 │ │ -4221b0: 0730 |0082: move-object v0, v3 │ │ -4221b2: 2900 7900 |0083: goto/16 00fc // +0079 │ │ -4221b6: 0730 |0085: move-object v0, v3 │ │ -4221b8: 2900 7c00 |0086: goto/16 0102 // +007c │ │ -4221bc: 6e10 6f5d 0400 |0088: invoke-virtual {v4}, Ljava/net/DatagramPacket;.getLength:()I // method@5d6f │ │ -4221c2: 0a02 |008b: move-result v2 │ │ -4221c4: 3b02 1600 |008c: if-gez v2, 00a2 // +0016 │ │ -4221c8: 5c61 5c5e |008e: iput-boolean v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.m_error:Z // field@5e5c │ │ -4221cc: 5461 5d5e |0090: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ -4221d0: 1a02 0609 |0092: const-string v2, "A socket receive() error occurred." // string@0906 │ │ -4221d4: 6e20 98ba 2100 |0094: invoke-virtual {v1, v2}, Lorg/purple/smoke/UdpNeighbor;.setError:(Ljava/lang/String;)V // method@ba98 │ │ -4221da: 5461 5d5e |0097: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ -4221de: 6e10 8fba 0100 |0099: invoke-virtual {v1}, Lorg/purple/smoke/UdpNeighbor;.disconnect:()V // method@ba8f │ │ -4221e4: 3800 0500 |009c: if-eqz v0, 00a1 // +0005 │ │ -4221e8: 6e10 735b 0000 |009e: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.close:()V // method@5b73 │ │ -4221ee: 0e00 |00a1: return-void │ │ -4221f0: 3902 0800 |00a2: if-nez v2, 00aa // +0008 │ │ -4221f4: 3800 0500 |00a4: if-eqz v0, 00a9 // +0005 │ │ -4221f8: 6e10 735b 0000 |00a6: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.close:()V // method@5b73 │ │ -4221fe: 0e00 |00a9: return-void │ │ -422200: 5461 5d5e |00aa: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ -422204: 5411 5e5e |00ac: iget-object v1, v1, Lorg/purple/smoke/UdpNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e5e │ │ -422208: 8122 |00ae: int-to-long v2, v2 │ │ -42220a: 6e30 e060 2103 |00af: invoke-virtual {v1, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.getAndAdd:(J)J // method@60e0 │ │ -422210: 5461 5d5e |00b2: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ -422214: 5411 645e |00b4: iget-object v1, v1, Lorg/purple/smoke/UdpNeighbor;.m_lastTimeRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e64 │ │ -422218: 7100 0b5d 0000 |00b6: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ -42221e: 0b02 |00b9: move-result-wide v2 │ │ -422220: 6e30 e160 2103 |00ba: invoke-virtual {v1, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -422226: 3800 1900 |00bd: if-eqz v0, 00d6 // +0019 │ │ -42222a: 5461 5d5e |00bf: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ -42222e: 5411 6a5e |00c1: iget-object v1, v1, Lorg/purple/smoke/UdpNeighbor;.m_stringBuffer:Ljava/lang/StringBuffer; // field@5e6a │ │ -422232: 6e10 e85c 0100 |00c3: invoke-virtual {v1}, Ljava/lang/StringBuffer;.length:()I // method@5ce8 │ │ -422238: 0a01 |00c6: move-result v1 │ │ -42223a: 1502 8000 |00c7: const/high16 v2, #int 8388608 // #80 │ │ -42223e: 3521 0d00 |00c9: if-ge v1, v2, 00d6 // +000d │ │ -422242: 5461 5d5e |00cb: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ -422246: 5411 6a5e |00cd: iget-object v1, v1, Lorg/purple/smoke/UdpNeighbor;.m_stringBuffer:Ljava/lang/StringBuffer; // field@5e6a │ │ -42224a: 6e10 775b 0000 |00cf: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.toString:()Ljava/lang/String; // method@5b77 │ │ -422250: 0c02 |00d2: move-result-object v2 │ │ -422252: 6e20 e05c 2100 |00d3: invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@5ce0 │ │ -422258: 5461 5d5e |00d6: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ -42225c: 5411 665e |00d8: iget-object v1, v1, Lorg/purple/smoke/UdpNeighbor;.m_parsingSchedulerMutex:Ljava/lang/Object; // field@5e66 │ │ -422260: 1d01 |00da: monitor-enter v1 │ │ -422262: 5462 5d5e |00db: iget-object v2, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ -422266: 5422 665e |00dd: iget-object v2, v2, Lorg/purple/smoke/UdpNeighbor;.m_parsingSchedulerMutex:Ljava/lang/Object; // field@5e66 │ │ -42226a: 6e10 945c 0200 |00df: invoke-virtual {v2}, Ljava/lang/Object;.notify:()V // method@5c94 │ │ -422270: 1e01 |00e2: monitor-exit v1 │ │ -422272: 3800 2200 |00e3: if-eqz v0, 0105 // +0022 │ │ -422276: 6e10 735b 0000 |00e5: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.close:()V // method@5b73 │ │ -42227c: 281d |00e8: goto 0105 // +001d │ │ -42227e: 0d02 |00e9: move-exception v2 │ │ -422280: 1e01 |00ea: monitor-exit v1 │ │ -422282: 2702 |00eb: throw v2 │ │ -422284: 5c61 5c5e |00ec: iput-boolean v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.m_error:Z // field@5e5c │ │ -422288: 5461 5d5e |00ee: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ -42228c: 1a02 0609 |00f0: const-string v2, "A socket receive() error occurred." // string@0906 │ │ -422290: 6e20 98ba 2100 |00f2: invoke-virtual {v1, v2}, Lorg/purple/smoke/UdpNeighbor;.setError:(Ljava/lang/String;)V // method@ba98 │ │ -422296: 5461 5d5e |00f5: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ -42229a: 6e10 8fba 0100 |00f7: invoke-virtual {v1}, Lorg/purple/smoke/UdpNeighbor;.disconnect:()V // method@ba8f │ │ -4222a0: 0e00 |00fa: return-void │ │ -4222a2: 0d01 |00fb: move-exception v1 │ │ -4222a4: 3800 0500 |00fc: if-eqz v0, 0101 // +0005 │ │ -4222a8: 6e10 735b 0000 |00fe: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.close:()V // method@5b73 │ │ -4222ae: 2701 |0101: throw v1 │ │ -4222b0: 3800 0300 |0102: if-eqz v0, 0105 // +0003 │ │ -4222b4: 28e1 |0104: goto 00e5 // -001f │ │ -4222b6: 0e00 |0105: return-void │ │ +422098: |[422098] org.purple.smoke.UdpNeighbor$1.run:()V │ │ +4220a8: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +4220aa: 5461 5d5e |0001: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ +4220ae: 6e10 8eba 0100 |0003: invoke-virtual {v1}, Lorg/purple/smoke/UdpNeighbor;.connected:()Z // method@ba8e │ │ +4220b4: 0a01 |0006: move-result v1 │ │ +4220b6: 3901 2100 |0007: if-nez v1, 0028 // +0021 │ │ +4220ba: 5461 5d5e |0009: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ +4220be: 5411 605e |000b: iget-object v1, v1, Lorg/purple/smoke/UdpNeighbor;.m_disconnected:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e60 │ │ +4220c2: 6e10 d660 0100 |000d: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ +4220c8: 0a01 |0010: move-result v1 │ │ +4220ca: 3901 1700 |0011: if-nez v1, 0028 // +0017 │ │ +4220ce: 5461 5d5e |0013: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ +4220d2: 5411 655e |0015: iget-object v1, v1, Lorg/purple/smoke/UdpNeighbor;.m_mutex:Ljava/lang/Object; // field@5e65 │ │ +4220d6: 1d01 |0017: monitor-enter v1 │ │ +4220d8: 5462 5d5e |0018: iget-object v2, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ +4220dc: 5422 655e |001a: iget-object v2, v2, Lorg/purple/smoke/UdpNeighbor;.m_mutex:Ljava/lang/Object; // field@5e65 │ │ +4220e0: 1603 1027 |001c: const-wide/16 v3, #int 10000 // #2710 │ │ +4220e4: 6e30 985c 3204 |001e: invoke-virtual {v2, v3, v4}, Ljava/lang/Object;.wait:(J)V // method@5c98 │ │ +4220ea: 2803 |0021: goto 0024 // +0003 │ │ +4220ec: 0d02 |0022: move-exception v2 │ │ +4220ee: 2803 |0023: goto 0026 // +0003 │ │ +4220f0: 1e01 |0024: monitor-exit v1 │ │ +4220f2: 2803 |0025: goto 0028 // +0003 │ │ +4220f4: 1e01 |0026: monitor-exit v1 │ │ +4220f6: 2702 |0027: throw v2 │ │ +4220f8: 5461 5d5e |0028: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ +4220fc: 6e10 8eba 0100 |002a: invoke-virtual {v1}, Lorg/purple/smoke/UdpNeighbor;.connected:()Z // method@ba8e │ │ +422102: 0a01 |002d: move-result v1 │ │ +422104: 3801 cc00 |002e: if-eqz v1, 00fa // +00cc │ │ +422108: 5461 5d5e |0030: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ +42210c: 5411 605e |0032: iget-object v1, v1, Lorg/purple/smoke/UdpNeighbor;.m_disconnected:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e60 │ │ +422110: 6e10 d660 0100 |0034: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ +422116: 0a01 |0037: move-result v1 │ │ +422118: 3801 0400 |0038: if-eqz v1, 003c // +0004 │ │ +42211c: 2900 c000 |003a: goto/16 00fa // +00c0 │ │ +422120: 5561 5c5e |003c: iget-boolean v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.m_error:Z // field@5e5c │ │ +422124: 1202 |003e: const/4 v2, #int 0 // #0 │ │ +422126: 3801 0e00 |003f: if-eqz v1, 004d // +000e │ │ +42212a: 5461 5d5e |0041: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ +42212e: 6e10 8eba 0100 |0043: invoke-virtual {v1}, Lorg/purple/smoke/UdpNeighbor;.connected:()Z // method@ba8e │ │ +422134: 0a01 |0046: move-result v1 │ │ +422136: 3801 0500 |0047: if-eqz v1, 004c // +0005 │ │ +42213a: 5c62 5c5e |0049: iput-boolean v2, v6, Lorg/purple/smoke/UdpNeighbor$1;.m_error:Z // field@5e5c │ │ +42213e: 280b |004b: goto 0056 // +000b │ │ +422140: 0e00 |004c: return-void │ │ +422142: 5461 5d5e |004d: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ +422146: 7110 8cba 0100 |004f: invoke-static {v1}, Lorg/purple/smoke/UdpNeighbor;.access$000:(Lorg/purple/smoke/UdpNeighbor;)Ljava/net/DatagramSocket; // method@ba8c │ │ +42214c: 0c01 |0052: move-result-object v1 │ │ +42214e: 3901 0300 |0053: if-nez v1, 0056 // +0003 │ │ +422152: 0e00 |0055: return-void │ │ +422154: 1501 1000 |0056: const/high16 v1, #int 1048576 // #10 │ │ +422158: 2313 ba1a |0058: new-array v3, v1, [B // type@1aba │ │ +42215c: 2204 090b |005a: new-instance v4, Ljava/net/DatagramPacket; // type@0b09 │ │ +422160: 7030 6c5d 3401 |005c: invoke-direct {v4, v3, v1}, Ljava/net/DatagramPacket;.:([BI)V // method@5d6c │ │ +422166: 1211 |005f: const/4 v1, #int 1 // #1 │ │ +422168: 5463 5d5e |0060: iget-object v3, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ +42216c: 7110 8cba 0300 |0062: invoke-static {v3}, Lorg/purple/smoke/UdpNeighbor;.access$000:(Lorg/purple/smoke/UdpNeighbor;)Ljava/net/DatagramSocket; // method@ba8c │ │ +422172: 0c03 |0065: move-result-object v3 │ │ +422174: 6e20 785d 4300 |0066: invoke-virtual {v3, v4}, Ljava/net/DatagramSocket;.receive:(Ljava/net/DatagramPacket;)V // method@5d78 │ │ +42217a: 6e10 6f5d 0400 |0069: invoke-virtual {v4}, Ljava/net/DatagramPacket;.getLength:()I // method@5d6f │ │ +422180: 0a03 |006c: move-result v3 │ │ +422182: 3d03 1b00 |006d: if-lez v3, 0088 // +001b │ │ +422186: 2203 a60a |006f: new-instance v3, Ljava/io/ByteArrayOutputStream; // type@0aa6 │ │ +42218a: 7010 715b 0300 |0071: invoke-direct {v3}, Ljava/io/ByteArrayOutputStream;.:()V // method@5b71 │ │ +422190: 6e10 6e5d 0400 |0074: invoke-virtual {v4}, Ljava/net/DatagramPacket;.getData:()[B // method@5d6e │ │ +422196: 0c00 |0077: move-result-object v0 │ │ +422198: 6e10 6f5d 0400 |0078: invoke-virtual {v4}, Ljava/net/DatagramPacket;.getLength:()I // method@5d6f │ │ +42219e: 0a05 |007b: move-result v5 │ │ +4221a0: 6e40 7a5b 0352 |007c: invoke-virtual {v3, v0, v2, v5}, Ljava/io/ByteArrayOutputStream;.write:([BII)V // method@5b7a │ │ +4221a6: 0730 |007f: move-object v0, v3 │ │ +4221a8: 2808 |0080: goto 0088 // +0008 │ │ +4221aa: 0d01 |0081: move-exception v1 │ │ +4221ac: 0730 |0082: move-object v0, v3 │ │ +4221ae: 2900 7900 |0083: goto/16 00fc // +0079 │ │ +4221b2: 0730 |0085: move-object v0, v3 │ │ +4221b4: 2900 7c00 |0086: goto/16 0102 // +007c │ │ +4221b8: 6e10 6f5d 0400 |0088: invoke-virtual {v4}, Ljava/net/DatagramPacket;.getLength:()I // method@5d6f │ │ +4221be: 0a02 |008b: move-result v2 │ │ +4221c0: 3b02 1600 |008c: if-gez v2, 00a2 // +0016 │ │ +4221c4: 5c61 5c5e |008e: iput-boolean v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.m_error:Z // field@5e5c │ │ +4221c8: 5461 5d5e |0090: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ +4221cc: 1a02 0609 |0092: const-string v2, "A socket receive() error occurred." // string@0906 │ │ +4221d0: 6e20 98ba 2100 |0094: invoke-virtual {v1, v2}, Lorg/purple/smoke/UdpNeighbor;.setError:(Ljava/lang/String;)V // method@ba98 │ │ +4221d6: 5461 5d5e |0097: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ +4221da: 6e10 8fba 0100 |0099: invoke-virtual {v1}, Lorg/purple/smoke/UdpNeighbor;.disconnect:()V // method@ba8f │ │ +4221e0: 3800 0500 |009c: if-eqz v0, 00a1 // +0005 │ │ +4221e4: 6e10 735b 0000 |009e: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.close:()V // method@5b73 │ │ +4221ea: 0e00 |00a1: return-void │ │ +4221ec: 3902 0800 |00a2: if-nez v2, 00aa // +0008 │ │ +4221f0: 3800 0500 |00a4: if-eqz v0, 00a9 // +0005 │ │ +4221f4: 6e10 735b 0000 |00a6: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.close:()V // method@5b73 │ │ +4221fa: 0e00 |00a9: return-void │ │ +4221fc: 5461 5d5e |00aa: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ +422200: 5411 5e5e |00ac: iget-object v1, v1, Lorg/purple/smoke/UdpNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e5e │ │ +422204: 8122 |00ae: int-to-long v2, v2 │ │ +422206: 6e30 e060 2103 |00af: invoke-virtual {v1, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.getAndAdd:(J)J // method@60e0 │ │ +42220c: 5461 5d5e |00b2: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ +422210: 5411 645e |00b4: iget-object v1, v1, Lorg/purple/smoke/UdpNeighbor;.m_lastTimeRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e64 │ │ +422214: 7100 0b5d 0000 |00b6: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ +42221a: 0b02 |00b9: move-result-wide v2 │ │ +42221c: 6e30 e160 2103 |00ba: invoke-virtual {v1, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +422222: 3800 1900 |00bd: if-eqz v0, 00d6 // +0019 │ │ +422226: 5461 5d5e |00bf: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ +42222a: 5411 6a5e |00c1: iget-object v1, v1, Lorg/purple/smoke/UdpNeighbor;.m_stringBuffer:Ljava/lang/StringBuffer; // field@5e6a │ │ +42222e: 6e10 e85c 0100 |00c3: invoke-virtual {v1}, Ljava/lang/StringBuffer;.length:()I // method@5ce8 │ │ +422234: 0a01 |00c6: move-result v1 │ │ +422236: 1502 8000 |00c7: const/high16 v2, #int 8388608 // #80 │ │ +42223a: 3521 0d00 |00c9: if-ge v1, v2, 00d6 // +000d │ │ +42223e: 5461 5d5e |00cb: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ +422242: 5411 6a5e |00cd: iget-object v1, v1, Lorg/purple/smoke/UdpNeighbor;.m_stringBuffer:Ljava/lang/StringBuffer; // field@5e6a │ │ +422246: 6e10 775b 0000 |00cf: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.toString:()Ljava/lang/String; // method@5b77 │ │ +42224c: 0c02 |00d2: move-result-object v2 │ │ +42224e: 6e20 e05c 2100 |00d3: invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@5ce0 │ │ +422254: 5461 5d5e |00d6: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ +422258: 5411 665e |00d8: iget-object v1, v1, Lorg/purple/smoke/UdpNeighbor;.m_parsingSchedulerMutex:Ljava/lang/Object; // field@5e66 │ │ +42225c: 1d01 |00da: monitor-enter v1 │ │ +42225e: 5462 5d5e |00db: iget-object v2, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ +422262: 5422 665e |00dd: iget-object v2, v2, Lorg/purple/smoke/UdpNeighbor;.m_parsingSchedulerMutex:Ljava/lang/Object; // field@5e66 │ │ +422266: 6e10 945c 0200 |00df: invoke-virtual {v2}, Ljava/lang/Object;.notify:()V // method@5c94 │ │ +42226c: 1e01 |00e2: monitor-exit v1 │ │ +42226e: 3800 2200 |00e3: if-eqz v0, 0105 // +0022 │ │ +422272: 6e10 735b 0000 |00e5: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.close:()V // method@5b73 │ │ +422278: 281d |00e8: goto 0105 // +001d │ │ +42227a: 0d02 |00e9: move-exception v2 │ │ +42227c: 1e01 |00ea: monitor-exit v1 │ │ +42227e: 2702 |00eb: throw v2 │ │ +422280: 5c61 5c5e |00ec: iput-boolean v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.m_error:Z // field@5e5c │ │ +422284: 5461 5d5e |00ee: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ +422288: 1a02 0609 |00f0: const-string v2, "A socket receive() error occurred." // string@0906 │ │ +42228c: 6e20 98ba 2100 |00f2: invoke-virtual {v1, v2}, Lorg/purple/smoke/UdpNeighbor;.setError:(Ljava/lang/String;)V // method@ba98 │ │ +422292: 5461 5d5e |00f5: iget-object v1, v6, Lorg/purple/smoke/UdpNeighbor$1;.this$0:Lorg/purple/smoke/UdpNeighbor; // field@5e5d │ │ +422296: 6e10 8fba 0100 |00f7: invoke-virtual {v1}, Lorg/purple/smoke/UdpNeighbor;.disconnect:()V // method@ba8f │ │ +42229c: 0e00 |00fa: return-void │ │ +42229e: 0d01 |00fb: move-exception v1 │ │ +4222a0: 3800 0500 |00fc: if-eqz v0, 0101 // +0005 │ │ +4222a4: 6e10 735b 0000 |00fe: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.close:()V // method@5b73 │ │ +4222aa: 2701 |0101: throw v1 │ │ +4222ac: 3800 0300 |0102: if-eqz v0, 0105 // +0003 │ │ +4222b0: 28e1 |0104: goto 00e5 // -001f │ │ +4222b2: 0e00 |0105: return-void │ │ catches : 16 │ │ 0x0001 - 0x0018 │ │ Ljava/lang/Exception; -> 0x0102 │ │ -> 0x00fb │ │ 0x0018 - 0x0021 │ │ Ljava/lang/Exception; -> 0x0024 │ │ -> 0x0022 │ │ @@ -739873,17 +739872,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -422928: |[422928] org.purple.smoke.Windows.:()V │ │ -422938: 7010 8f5c 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ -42293e: 0e00 |0003: return-void │ │ +422924: |[422924] org.purple.smoke.Windows.:()V │ │ +422934: 7010 8f5c 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@5c8f │ │ +42293a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=37 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lorg/purple/smoke/Windows; │ │ │ │ #1 : (in Lorg/purple/smoke/Windows;) │ │ @@ -739891,52 +739890,52 @@ │ │ type : '(Landroid/content/Context;Landroid/app/Dialog;Ljava/lang/String;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 74 16-bit code units │ │ -422940: |[422940] org.purple.smoke.Windows.showProgressDialog:(Landroid/content/Context;Landroid/app/Dialog;Ljava/lang/String;)V │ │ -422950: 3802 4900 |0000: if-eqz v2, 0049 // +0049 │ │ -422954: 2020 1700 |0002: instance-of v0, v2, Landroid/app/Activity; // type@0017 │ │ -422958: 3800 4500 |0004: if-eqz v0, 0049 // +0045 │ │ -42295c: 3803 4300 |0006: if-eqz v3, 0049 // +0043 │ │ -422960: 3804 4100 |0008: if-eqz v4, 0049 // +0041 │ │ -422964: 6e10 d35c 0400 |000a: invoke-virtual {v4}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ -42296a: 0c00 |000d: move-result-object v0 │ │ -42296c: 6e10 c35c 0000 |000e: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -422972: 0a00 |0011: move-result v0 │ │ -422974: 3800 0300 |0012: if-eqz v0, 0015 // +0003 │ │ -422978: 2835 |0014: goto 0049 // +0035 │ │ -42297a: 0720 |0015: move-object v0, v2 │ │ -42297c: 1f00 1700 |0016: check-cast v0, Landroid/app/Activity; // type@0017 │ │ -422980: 6e10 7900 0000 |0018: invoke-virtual {v0}, Landroid/app/Activity;.isFinishing:()Z // method@0079 │ │ -422986: 0a00 |001b: move-result v0 │ │ -422988: 3800 0300 |001c: if-eqz v0, 001f // +0003 │ │ -42298c: 0e00 |001e: return-void │ │ -42298e: 1a00 8c7b |001f: const-string v0, "layout_inflater" // string@7b8c │ │ -422992: 6e20 7f01 0200 |0021: invoke-virtual {v2, v0}, Landroid/content/Context;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@017f │ │ -422998: 0c02 |0024: move-result-object v2 │ │ -42299a: 1f02 000a |0025: check-cast v2, Landroid/view/LayoutInflater; // type@0a00 │ │ -42299e: 1400 4500 0a7f |0027: const v0, #float 1.83435e+38 // #7f0a0045 │ │ -4229a4: 1201 |002a: const/4 v1, #int 0 // #0 │ │ -4229a6: 6e30 5455 0201 |002b: invoke-virtual {v2, v0, v1}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@5554 │ │ -4229ac: 0c02 |002e: move-result-object v2 │ │ -4229ae: 1400 1f01 087f |002f: const v0, #float 1.80781e+38 // #7f08011f │ │ -4229b4: 6e20 dd55 0200 |0032: invoke-virtual {v2, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ -4229ba: 0c00 |0035: move-result-object v0 │ │ -4229bc: 1f00 970a |0036: check-cast v0, Landroid/widget/TextView; // type@0a97 │ │ -4229c0: 6e20 495b 4000 |0038: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -4229c6: 1204 |003b: const/4 v4, #int 0 // #0 │ │ -4229c8: 6e20 b400 4300 |003c: invoke-virtual {v3, v4}, Landroid/app/Dialog;.setCancelable:(Z)V // method@00b4 │ │ -4229ce: 6e20 b500 2300 |003f: invoke-virtual {v3, v2}, Landroid/app/Dialog;.setContentView:(Landroid/view/View;)V // method@00b5 │ │ -4229d4: 6e10 bb00 0300 |0042: invoke-virtual {v3}, Landroid/app/Dialog;.show:()V // method@00bb │ │ -4229da: 2804 |0045: goto 0049 // +0004 │ │ -4229dc: 6e10 ab00 0300 |0046: invoke-virtual {v3}, Landroid/app/Dialog;.dismiss:()V // method@00ab │ │ -4229e2: 0e00 |0049: return-void │ │ +42293c: |[42293c] org.purple.smoke.Windows.showProgressDialog:(Landroid/content/Context;Landroid/app/Dialog;Ljava/lang/String;)V │ │ +42294c: 3802 4900 |0000: if-eqz v2, 0049 // +0049 │ │ +422950: 2020 1700 |0002: instance-of v0, v2, Landroid/app/Activity; // type@0017 │ │ +422954: 3800 4500 |0004: if-eqz v0, 0049 // +0045 │ │ +422958: 3803 4300 |0006: if-eqz v3, 0049 // +0043 │ │ +42295c: 3804 4100 |0008: if-eqz v4, 0049 // +0041 │ │ +422960: 6e10 d35c 0400 |000a: invoke-virtual {v4}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ +422966: 0c00 |000d: move-result-object v0 │ │ +422968: 6e10 c35c 0000 |000e: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +42296e: 0a00 |0011: move-result v0 │ │ +422970: 3800 0300 |0012: if-eqz v0, 0015 // +0003 │ │ +422974: 2835 |0014: goto 0049 // +0035 │ │ +422976: 0720 |0015: move-object v0, v2 │ │ +422978: 1f00 1700 |0016: check-cast v0, Landroid/app/Activity; // type@0017 │ │ +42297c: 6e10 7900 0000 |0018: invoke-virtual {v0}, Landroid/app/Activity;.isFinishing:()Z // method@0079 │ │ +422982: 0a00 |001b: move-result v0 │ │ +422984: 3800 0300 |001c: if-eqz v0, 001f // +0003 │ │ +422988: 0e00 |001e: return-void │ │ +42298a: 1a00 8c7b |001f: const-string v0, "layout_inflater" // string@7b8c │ │ +42298e: 6e20 7f01 0200 |0021: invoke-virtual {v2, v0}, Landroid/content/Context;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@017f │ │ +422994: 0c02 |0024: move-result-object v2 │ │ +422996: 1f02 000a |0025: check-cast v2, Landroid/view/LayoutInflater; // type@0a00 │ │ +42299a: 1400 4500 0a7f |0027: const v0, #float 1.83435e+38 // #7f0a0045 │ │ +4229a0: 1201 |002a: const/4 v1, #int 0 // #0 │ │ +4229a2: 6e30 5455 0201 |002b: invoke-virtual {v2, v0, v1}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@5554 │ │ +4229a8: 0c02 |002e: move-result-object v2 │ │ +4229aa: 1400 1f01 087f |002f: const v0, #float 1.80781e+38 // #7f08011f │ │ +4229b0: 6e20 dd55 0200 |0032: invoke-virtual {v2, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@55dd │ │ +4229b6: 0c00 |0035: move-result-object v0 │ │ +4229b8: 1f00 970a |0036: check-cast v0, Landroid/widget/TextView; // type@0a97 │ │ +4229bc: 6e20 495b 4000 |0038: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +4229c2: 1204 |003b: const/4 v4, #int 0 // #0 │ │ +4229c4: 6e20 b400 4300 |003c: invoke-virtual {v3, v4}, Landroid/app/Dialog;.setCancelable:(Z)V // method@00b4 │ │ +4229ca: 6e20 b500 2300 |003f: invoke-virtual {v3, v2}, Landroid/app/Dialog;.setContentView:(Landroid/view/View;)V // method@00b5 │ │ +4229d0: 6e10 bb00 0300 |0042: invoke-virtual {v3}, Landroid/app/Dialog;.show:()V // method@00bb │ │ +4229d6: 2804 |0045: goto 0049 // +0004 │ │ +4229d8: 6e10 ab00 0300 |0046: invoke-virtual {v3}, Landroid/app/Dialog;.dismiss:()V // method@00ab │ │ +4229de: 0e00 |0049: return-void │ │ catches : 2 │ │ 0x0015 - 0x0045 │ │ Ljava/lang/Exception; -> 0x0046 │ │ 0x0046 - 0x0049 │ │ Ljava/lang/Exception; -> 0x0049 │ │ positions : │ │ 0x0002 line=43 │ │ @@ -1163939,18 +1163938,18 @@ │ │ type : '(Lorg/purple/smoke/Steam;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -41a808: |[41a808] org.purple.smoke.Steam$5.:(Lorg/purple/smoke/Steam;)V │ │ -41a818: 5b01 5c5d |0000: iput-object v1, v0, Lorg/purple/smoke/Steam$5;.this$0:Lorg/purple/smoke/Steam; // field@5d5c │ │ -41a81c: 7010 564c 0000 |0002: invoke-direct {v0}, Landroid/support/v7/widget/RecyclerView$AdapterDataObserver;.:()V // method@4c56 │ │ -41a822: 0e00 |0005: return-void │ │ +41a804: |[41a804] org.purple.smoke.Steam$5.:(Lorg/purple/smoke/Steam;)V │ │ +41a814: 5b01 5c5d |0000: iput-object v1, v0, Lorg/purple/smoke/Steam$5;.this$0:Lorg/purple/smoke/Steam; // field@5d5c │ │ +41a818: 7010 564c 0000 |0002: invoke-direct {v0}, Landroid/support/v7/widget/RecyclerView$AdapterDataObserver;.:()V // method@4c56 │ │ +41a81e: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=300 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/Steam$5; │ │ 0x0000 - 0x0006 reg=1 (null) Lorg/purple/smoke/Steam; │ │ │ │ @@ -1163960,24 +1163959,24 @@ │ │ type : '(II)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 4 │ │ insns size : 17 16-bit code units │ │ -41a824: |[41a824] org.purple.smoke.Steam$5.onItemRangeInserted:(II)V │ │ -41a834: 5424 5c5d |0000: iget-object v4, v2, Lorg/purple/smoke/Steam$5;.this$0:Lorg/purple/smoke/Steam; // field@5d5c │ │ -41a838: 7110 a8b9 0400 |0002: invoke-static {v4}, Lorg/purple/smoke/Steam;.access$800:(Lorg/purple/smoke/Steam;)Lorg/purple/smoke/Steam$SteamLinearLayoutManager; // method@b9a8 │ │ -41a83e: 0c04 |0005: move-result-object v4 │ │ -41a840: 5420 5c5d |0006: iget-object v0, v2, Lorg/purple/smoke/Steam$5;.this$0:Lorg/purple/smoke/Steam; // field@5d5c │ │ -41a844: 7110 a7b9 0000 |0008: invoke-static {v0}, Lorg/purple/smoke/Steam;.access$700:(Lorg/purple/smoke/Steam;)Landroid/support/v7/widget/RecyclerView; // method@b9a7 │ │ -41a84a: 0c00 |000b: move-result-object v0 │ │ -41a84c: 1201 |000c: const/4 v1, #int 0 // #0 │ │ -41a84e: 6e40 9cb9 0431 |000d: invoke-virtual {v4, v0, v1, v3}, Lorg/purple/smoke/Steam$SteamLinearLayoutManager;.smoothScrollToPosition:(Landroid/support/v7/widget/RecyclerView;Landroid/support/v7/widget/RecyclerView$State;I)V // method@b99c │ │ -41a854: 0e00 |0010: return-void │ │ +41a820: |[41a820] org.purple.smoke.Steam$5.onItemRangeInserted:(II)V │ │ +41a830: 5424 5c5d |0000: iget-object v4, v2, Lorg/purple/smoke/Steam$5;.this$0:Lorg/purple/smoke/Steam; // field@5d5c │ │ +41a834: 7110 a8b9 0400 |0002: invoke-static {v4}, Lorg/purple/smoke/Steam;.access$800:(Lorg/purple/smoke/Steam;)Lorg/purple/smoke/Steam$SteamLinearLayoutManager; // method@b9a8 │ │ +41a83a: 0c04 |0005: move-result-object v4 │ │ +41a83c: 5420 5c5d |0006: iget-object v0, v2, Lorg/purple/smoke/Steam$5;.this$0:Lorg/purple/smoke/Steam; // field@5d5c │ │ +41a840: 7110 a7b9 0000 |0008: invoke-static {v0}, Lorg/purple/smoke/Steam;.access$700:(Lorg/purple/smoke/Steam;)Landroid/support/v7/widget/RecyclerView; // method@b9a7 │ │ +41a846: 0c00 |000b: move-result-object v0 │ │ +41a848: 1201 |000c: const/4 v1, #int 0 // #0 │ │ +41a84a: 6e40 9cb9 0431 |000d: invoke-virtual {v4, v0, v1, v3}, Lorg/purple/smoke/Steam$SteamLinearLayoutManager;.smoothScrollToPosition:(Landroid/support/v7/widget/RecyclerView;Landroid/support/v7/widget/RecyclerView$State;I)V // method@b99c │ │ +41a850: 0e00 |0010: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=305 │ │ 0x0008 line=306 │ │ locals : │ │ 0x0000 - 0x0011 reg=2 this Lorg/purple/smoke/Steam$5; │ │ 0x0000 - 0x0011 reg=3 (null) I │ │ @@ -1163988,25 +1163987,25 @@ │ │ type : '(II)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 4 │ │ insns size : 18 16-bit code units │ │ -41a858: |[41a858] org.purple.smoke.Steam$5.onItemRangeRemoved:(II)V │ │ -41a868: 5420 5c5d |0000: iget-object v0, v2, Lorg/purple/smoke/Steam$5;.this$0:Lorg/purple/smoke/Steam; // field@5d5c │ │ -41a86c: 7110 a8b9 0000 |0002: invoke-static {v0}, Lorg/purple/smoke/Steam;.access$800:(Lorg/purple/smoke/Steam;)Lorg/purple/smoke/Steam$SteamLinearLayoutManager; // method@b9a8 │ │ -41a872: 0c00 |0005: move-result-object v0 │ │ -41a874: 5421 5c5d |0006: iget-object v1, v2, Lorg/purple/smoke/Steam$5;.this$0:Lorg/purple/smoke/Steam; // field@5d5c │ │ -41a878: 7110 a7b9 0100 |0008: invoke-static {v1}, Lorg/purple/smoke/Steam;.access$700:(Lorg/purple/smoke/Steam;)Landroid/support/v7/widget/RecyclerView; // method@b9a7 │ │ -41a87e: 0c01 |000b: move-result-object v1 │ │ -41a880: b143 |000c: sub-int/2addr v3, v4 │ │ -41a882: 1204 |000d: const/4 v4, #int 0 // #0 │ │ -41a884: 6e40 9cb9 1034 |000e: invoke-virtual {v0, v1, v4, v3}, Lorg/purple/smoke/Steam$SteamLinearLayoutManager;.smoothScrollToPosition:(Landroid/support/v7/widget/RecyclerView;Landroid/support/v7/widget/RecyclerView$State;I)V // method@b99c │ │ -41a88a: 0e00 |0011: return-void │ │ +41a854: |[41a854] org.purple.smoke.Steam$5.onItemRangeRemoved:(II)V │ │ +41a864: 5420 5c5d |0000: iget-object v0, v2, Lorg/purple/smoke/Steam$5;.this$0:Lorg/purple/smoke/Steam; // field@5d5c │ │ +41a868: 7110 a8b9 0000 |0002: invoke-static {v0}, Lorg/purple/smoke/Steam;.access$800:(Lorg/purple/smoke/Steam;)Lorg/purple/smoke/Steam$SteamLinearLayoutManager; // method@b9a8 │ │ +41a86e: 0c00 |0005: move-result-object v0 │ │ +41a870: 5421 5c5d |0006: iget-object v1, v2, Lorg/purple/smoke/Steam$5;.this$0:Lorg/purple/smoke/Steam; // field@5d5c │ │ +41a874: 7110 a7b9 0100 |0008: invoke-static {v1}, Lorg/purple/smoke/Steam;.access$700:(Lorg/purple/smoke/Steam;)Landroid/support/v7/widget/RecyclerView; // method@b9a7 │ │ +41a87a: 0c01 |000b: move-result-object v1 │ │ +41a87c: b143 |000c: sub-int/2addr v3, v4 │ │ +41a87e: 1204 |000d: const/4 v4, #int 0 // #0 │ │ +41a880: 6e40 9cb9 1034 |000e: invoke-virtual {v0, v1, v4, v3}, Lorg/purple/smoke/Steam$SteamLinearLayoutManager;.smoothScrollToPosition:(Landroid/support/v7/widget/RecyclerView;Landroid/support/v7/widget/RecyclerView$State;I)V // method@b99c │ │ +41a886: 0e00 |0011: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=313 │ │ 0x0008 line=314 │ │ locals : │ │ 0x0000 - 0x0012 reg=2 this Lorg/purple/smoke/Steam$5; │ │ 0x0000 - 0x0012 reg=3 (null) I │ │ @@ -1164047,25 +1164046,25 @@ │ │ type : '(Lorg/purple/smoke/SteamBubble;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 20 16-bit code units │ │ -41ac50: |[41ac50] org.purple.smoke.SteamAdapter$ViewHolder.:(Lorg/purple/smoke/SteamBubble;)V │ │ -41ac60: 6e10 f6b9 0200 |0000: invoke-virtual {v2}, Lorg/purple/smoke/SteamBubble;.view:()Landroid/view/View; // method@b9f6 │ │ -41ac66: 0c00 |0003: move-result-object v0 │ │ -41ac68: 7020 f14d 0100 |0004: invoke-direct {v1, v0}, Landroid/support/v7/widget/RecyclerView$ViewHolder;.:(Landroid/view/View;)V // method@4df1 │ │ -41ac6e: 1200 |0007: const/4 v0, #int 0 // #0 │ │ -41ac70: 5b10 7d5d |0008: iput-object v0, v1, Lorg/purple/smoke/SteamAdapter$ViewHolder;.m_steamBubble:Lorg/purple/smoke/SteamBubble; // field@5d7d │ │ -41ac74: 6e10 f6b9 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/SteamBubble;.view:()Landroid/view/View; // method@b9f6 │ │ -41ac7a: 0c00 |000d: move-result-object v0 │ │ -41ac7c: 6e20 9056 1000 |000e: invoke-virtual {v0, v1}, Landroid/view/View;.setOnCreateContextMenuListener:(Landroid/view/View$OnCreateContextMenuListener;)V // method@5690 │ │ -41ac82: 5b12 7d5d |0011: iput-object v2, v1, Lorg/purple/smoke/SteamAdapter$ViewHolder;.m_steamBubble:Lorg/purple/smoke/SteamBubble; // field@5d7d │ │ -41ac86: 0e00 |0013: return-void │ │ +41ac4c: |[41ac4c] org.purple.smoke.SteamAdapter$ViewHolder.:(Lorg/purple/smoke/SteamBubble;)V │ │ +41ac5c: 6e10 f6b9 0200 |0000: invoke-virtual {v2}, Lorg/purple/smoke/SteamBubble;.view:()Landroid/view/View; // method@b9f6 │ │ +41ac62: 0c00 |0003: move-result-object v0 │ │ +41ac64: 7020 f14d 0100 |0004: invoke-direct {v1, v0}, Landroid/support/v7/widget/RecyclerView$ViewHolder;.:(Landroid/view/View;)V // method@4df1 │ │ +41ac6a: 1200 |0007: const/4 v0, #int 0 // #0 │ │ +41ac6c: 5b10 7d5d |0008: iput-object v0, v1, Lorg/purple/smoke/SteamAdapter$ViewHolder;.m_steamBubble:Lorg/purple/smoke/SteamBubble; // field@5d7d │ │ +41ac70: 6e10 f6b9 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/SteamBubble;.view:()Landroid/view/View; // method@b9f6 │ │ +41ac76: 0c00 |000d: move-result-object v0 │ │ +41ac78: 6e20 9056 1000 |000e: invoke-virtual {v0, v1}, Landroid/view/View;.setOnCreateContextMenuListener:(Landroid/view/View$OnCreateContextMenuListener;)V // method@5690 │ │ +41ac7e: 5b12 7d5d |0011: iput-object v2, v1, Lorg/purple/smoke/SteamAdapter$ViewHolder;.m_steamBubble:Lorg/purple/smoke/SteamBubble; // field@5d7d │ │ +41ac82: 0e00 |0013: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=52 │ │ 0x0008 line=48 │ │ 0x000a line=53 │ │ 0x0011 line=54 │ │ locals : │ │ @@ -1164078,90 +1164077,90 @@ │ │ type : '(Landroid/view/ContextMenu;Landroid/view/View;Landroid/view/ContextMenu$ContextMenuInfo;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 10 │ │ ins : 4 │ │ outs : 5 │ │ insns size : 141 16-bit code units │ │ -41ac88: |[41ac88] org.purple.smoke.SteamAdapter$ViewHolder.onCreateContextMenu:(Landroid/view/ContextMenu;Landroid/view/View;Landroid/view/ContextMenu$ContextMenuInfo;)V │ │ -41ac98: 3807 8c00 |0000: if-eqz v7, 008c // +008c │ │ -41ac9c: 3908 0400 |0002: if-nez v8, 0006 // +0004 │ │ -41aca0: 2900 8800 |0004: goto/16 008c // +0088 │ │ -41aca4: 1209 |0006: const/4 v9, #int 0 // #0 │ │ -41aca6: 12f0 |0007: const/4 v0, #int -1 // #ff │ │ -41aca8: 1a01 0017 |0008: const-string v1, "Delete All Steams" // string@1700 │ │ -41acac: 7251 0c55 9790 |000a: invoke-interface {v7, v9, v0, v9, v1}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ -41acb2: 6e10 f455 0800 |000d: invoke-virtual {v8}, Landroid/view/View;.getId:()I // method@55f4 │ │ -41acb8: 0a01 |0010: move-result v1 │ │ -41acba: 1212 |0011: const/4 v2, #int 1 // #1 │ │ -41acbc: 1a03 0517 |0012: const-string v3, "Delete Steam" // string@1705 │ │ -41acc0: 7253 0c55 2721 |0014: invoke-interface {v7, v2, v1, v2, v3}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ -41acc6: 0c01 |0017: move-result-object v1 │ │ -41acc8: 6e10 f455 0800 |0018: invoke-virtual {v8}, Landroid/view/View;.getId:()I // method@55f4 │ │ -41acce: 0a03 |001b: move-result v3 │ │ -41acd0: 3203 0400 |001c: if-eq v3, v0, 0020 // +0004 │ │ -41acd4: 1213 |001e: const/4 v3, #int 1 // #1 │ │ -41acd6: 2802 |001f: goto 0021 // +0002 │ │ -41acd8: 1203 |0020: const/4 v3, #int 0 // #0 │ │ -41acda: 7220 7a55 3100 |0021: invoke-interface {v1, v3}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ -41ace0: 1221 |0024: const/4 v1, #int 2 // #2 │ │ -41ace2: 1a03 ab43 |0025: const-string v3, "Pause All Steams" // string@43ab │ │ -41ace6: 7253 0c55 1710 |0027: invoke-interface {v7, v1, v0, v1, v3}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ -41acec: 1231 |002a: const/4 v1, #int 3 // #3 │ │ -41acee: 1a03 0446 |002b: const-string v3, "Resume All Steams" // string@4604 │ │ -41acf2: 7253 0c55 1710 |002d: invoke-interface {v7, v1, v0, v1, v3}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ -41acf8: 1251 |0030: const/4 v1, #int 5 // #5 │ │ -41acfa: 1243 |0031: const/4 v3, #int 4 // #4 │ │ -41acfc: 1a04 0946 |0032: const-string v4, "Rewind & Resume All Steams" // string@4609 │ │ -41ad00: 7254 0c55 1730 |0034: invoke-interface {v7, v1, v0, v3, v4}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ -41ad06: 1a04 0a46 |0037: const-string v4, "Rewind All Steams" // string@460a │ │ -41ad0a: 7254 0c55 3710 |0039: invoke-interface {v7, v3, v0, v1, v4}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ -41ad10: 7100 d7b9 0000 |003c: invoke-static {}, Lorg/purple/smoke/SteamAdapter;.access$100:()Lorg/purple/smoke/Database; // method@b9d7 │ │ -41ad16: 0c01 |003f: move-result-object v1 │ │ -41ad18: 7100 d6b9 0000 |0040: invoke-static {}, Lorg/purple/smoke/SteamAdapter;.access$000:()Lorg/purple/smoke/Cryptography; // method@b9d6 │ │ -41ad1e: 0c03 |0043: move-result-object v3 │ │ -41ad20: 6e10 f455 0800 |0044: invoke-virtual {v8}, Landroid/view/View;.getId:()I // method@55f4 │ │ -41ad26: 0a04 |0047: move-result v4 │ │ -41ad28: b124 |0048: sub-int/2addr v4, v2 │ │ -41ad2a: 6e40 13b6 3140 |0049: invoke-virtual {v1, v3, v0, v4}, Lorg/purple/smoke/Database;.readSteam:(Lorg/purple/smoke/Cryptography;II)Lorg/purple/smoke/SteamElement; // method@b613 │ │ -41ad30: 0c01 |004c: move-result-object v1 │ │ -41ad32: 6e10 f455 0800 |004d: invoke-virtual {v8}, Landroid/view/View;.getId:()I // method@55f4 │ │ -41ad38: 0a03 |0050: move-result v3 │ │ -41ad3a: 1264 |0051: const/4 v4, #int 6 // #6 │ │ -41ad3c: 1a05 0b46 |0052: const-string v5, "Rewind Steam" // string@460b │ │ -41ad40: 7255 0c55 4743 |0054: invoke-interface {v7, v4, v3, v4, v5}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ -41ad46: 0c03 |0057: move-result-object v3 │ │ -41ad48: 3901 0400 |0058: if-nez v1, 005c // +0004 │ │ -41ad4c: 1204 |005a: const/4 v4, #int 0 // #0 │ │ -41ad4e: 2806 |005b: goto 0061 // +0006 │ │ -41ad50: 5814 a95d |005c: iget-short v4, v1, Lorg/purple/smoke/SteamElement;.m_direction:S // field@5da9 │ │ -41ad54: 3324 fcff |005e: if-ne v4, v2, 005a // -0004 │ │ -41ad58: 1214 |0060: const/4 v4, #int 1 // #1 │ │ -41ad5a: 7220 7a55 4300 |0061: invoke-interface {v3, v4}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ -41ad60: 6e10 f455 0800 |0064: invoke-virtual {v8}, Landroid/view/View;.getId:()I // method@55f4 │ │ -41ad66: 0a04 |0067: move-result v4 │ │ -41ad68: 3304 0500 |0068: if-ne v4, v0, 006d // +0005 │ │ -41ad6c: 7220 7a55 9300 |006a: invoke-interface {v3, v9}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ -41ad72: 6e10 f455 0800 |006d: invoke-virtual {v8}, Landroid/view/View;.getId:()I // method@55f4 │ │ -41ad78: 0a03 |0070: move-result v3 │ │ -41ad7a: 1274 |0071: const/4 v4, #int 7 // #7 │ │ -41ad7c: 1a05 5e4b |0072: const-string v5, "Steamroll Steam" // string@4b5e │ │ -41ad80: 7255 0c55 4743 |0074: invoke-interface {v7, v4, v3, v4, v5}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ -41ad86: 0c07 |0077: move-result-object v7 │ │ -41ad88: 3901 0400 |0078: if-nez v1, 007c // +0004 │ │ -41ad8c: 1202 |007a: const/4 v2, #int 0 // #0 │ │ -41ad8e: 2805 |007b: goto 0080 // +0005 │ │ -41ad90: 5811 a95d |007c: iget-short v1, v1, Lorg/purple/smoke/SteamElement;.m_direction:S // field@5da9 │ │ -41ad94: 3901 fcff |007e: if-nez v1, 007a // -0004 │ │ -41ad98: 7220 7a55 2700 |0080: invoke-interface {v7, v2}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ -41ad9e: 6e10 f455 0800 |0083: invoke-virtual {v8}, Landroid/view/View;.getId:()I // method@55f4 │ │ -41ada4: 0a08 |0086: move-result v8 │ │ -41ada6: 3308 0500 |0087: if-ne v8, v0, 008c // +0005 │ │ -41adaa: 7220 7a55 9700 |0089: invoke-interface {v7, v9}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ -41adb0: 0e00 |008c: return-void │ │ +41ac84: |[41ac84] org.purple.smoke.SteamAdapter$ViewHolder.onCreateContextMenu:(Landroid/view/ContextMenu;Landroid/view/View;Landroid/view/ContextMenu$ContextMenuInfo;)V │ │ +41ac94: 3807 8c00 |0000: if-eqz v7, 008c // +008c │ │ +41ac98: 3908 0400 |0002: if-nez v8, 0006 // +0004 │ │ +41ac9c: 2900 8800 |0004: goto/16 008c // +0088 │ │ +41aca0: 1209 |0006: const/4 v9, #int 0 // #0 │ │ +41aca2: 12f0 |0007: const/4 v0, #int -1 // #ff │ │ +41aca4: 1a01 0017 |0008: const-string v1, "Delete All Steams" // string@1700 │ │ +41aca8: 7251 0c55 9790 |000a: invoke-interface {v7, v9, v0, v9, v1}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ +41acae: 6e10 f455 0800 |000d: invoke-virtual {v8}, Landroid/view/View;.getId:()I // method@55f4 │ │ +41acb4: 0a01 |0010: move-result v1 │ │ +41acb6: 1212 |0011: const/4 v2, #int 1 // #1 │ │ +41acb8: 1a03 0517 |0012: const-string v3, "Delete Steam" // string@1705 │ │ +41acbc: 7253 0c55 2721 |0014: invoke-interface {v7, v2, v1, v2, v3}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ +41acc2: 0c01 |0017: move-result-object v1 │ │ +41acc4: 6e10 f455 0800 |0018: invoke-virtual {v8}, Landroid/view/View;.getId:()I // method@55f4 │ │ +41acca: 0a03 |001b: move-result v3 │ │ +41accc: 3203 0400 |001c: if-eq v3, v0, 0020 // +0004 │ │ +41acd0: 1213 |001e: const/4 v3, #int 1 // #1 │ │ +41acd2: 2802 |001f: goto 0021 // +0002 │ │ +41acd4: 1203 |0020: const/4 v3, #int 0 // #0 │ │ +41acd6: 7220 7a55 3100 |0021: invoke-interface {v1, v3}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ +41acdc: 1221 |0024: const/4 v1, #int 2 // #2 │ │ +41acde: 1a03 ab43 |0025: const-string v3, "Pause All Steams" // string@43ab │ │ +41ace2: 7253 0c55 1710 |0027: invoke-interface {v7, v1, v0, v1, v3}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ +41ace8: 1231 |002a: const/4 v1, #int 3 // #3 │ │ +41acea: 1a03 0446 |002b: const-string v3, "Resume All Steams" // string@4604 │ │ +41acee: 7253 0c55 1710 |002d: invoke-interface {v7, v1, v0, v1, v3}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ +41acf4: 1251 |0030: const/4 v1, #int 5 // #5 │ │ +41acf6: 1243 |0031: const/4 v3, #int 4 // #4 │ │ +41acf8: 1a04 0946 |0032: const-string v4, "Rewind & Resume All Steams" // string@4609 │ │ +41acfc: 7254 0c55 1730 |0034: invoke-interface {v7, v1, v0, v3, v4}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ +41ad02: 1a04 0a46 |0037: const-string v4, "Rewind All Steams" // string@460a │ │ +41ad06: 7254 0c55 3710 |0039: invoke-interface {v7, v3, v0, v1, v4}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ +41ad0c: 7100 d7b9 0000 |003c: invoke-static {}, Lorg/purple/smoke/SteamAdapter;.access$100:()Lorg/purple/smoke/Database; // method@b9d7 │ │ +41ad12: 0c01 |003f: move-result-object v1 │ │ +41ad14: 7100 d6b9 0000 |0040: invoke-static {}, Lorg/purple/smoke/SteamAdapter;.access$000:()Lorg/purple/smoke/Cryptography; // method@b9d6 │ │ +41ad1a: 0c03 |0043: move-result-object v3 │ │ +41ad1c: 6e10 f455 0800 |0044: invoke-virtual {v8}, Landroid/view/View;.getId:()I // method@55f4 │ │ +41ad22: 0a04 |0047: move-result v4 │ │ +41ad24: b124 |0048: sub-int/2addr v4, v2 │ │ +41ad26: 6e40 13b6 3140 |0049: invoke-virtual {v1, v3, v0, v4}, Lorg/purple/smoke/Database;.readSteam:(Lorg/purple/smoke/Cryptography;II)Lorg/purple/smoke/SteamElement; // method@b613 │ │ +41ad2c: 0c01 |004c: move-result-object v1 │ │ +41ad2e: 6e10 f455 0800 |004d: invoke-virtual {v8}, Landroid/view/View;.getId:()I // method@55f4 │ │ +41ad34: 0a03 |0050: move-result v3 │ │ +41ad36: 1264 |0051: const/4 v4, #int 6 // #6 │ │ +41ad38: 1a05 0b46 |0052: const-string v5, "Rewind Steam" // string@460b │ │ +41ad3c: 7255 0c55 4743 |0054: invoke-interface {v7, v4, v3, v4, v5}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ +41ad42: 0c03 |0057: move-result-object v3 │ │ +41ad44: 3901 0400 |0058: if-nez v1, 005c // +0004 │ │ +41ad48: 1204 |005a: const/4 v4, #int 0 // #0 │ │ +41ad4a: 2806 |005b: goto 0061 // +0006 │ │ +41ad4c: 5814 a95d |005c: iget-short v4, v1, Lorg/purple/smoke/SteamElement;.m_direction:S // field@5da9 │ │ +41ad50: 3324 fcff |005e: if-ne v4, v2, 005a // -0004 │ │ +41ad54: 1214 |0060: const/4 v4, #int 1 // #1 │ │ +41ad56: 7220 7a55 4300 |0061: invoke-interface {v3, v4}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ +41ad5c: 6e10 f455 0800 |0064: invoke-virtual {v8}, Landroid/view/View;.getId:()I // method@55f4 │ │ +41ad62: 0a04 |0067: move-result v4 │ │ +41ad64: 3304 0500 |0068: if-ne v4, v0, 006d // +0005 │ │ +41ad68: 7220 7a55 9300 |006a: invoke-interface {v3, v9}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ +41ad6e: 6e10 f455 0800 |006d: invoke-virtual {v8}, Landroid/view/View;.getId:()I // method@55f4 │ │ +41ad74: 0a03 |0070: move-result v3 │ │ +41ad76: 1274 |0071: const/4 v4, #int 7 // #7 │ │ +41ad78: 1a05 5e4b |0072: const-string v5, "Steamroll Steam" // string@4b5e │ │ +41ad7c: 7255 0c55 4743 |0074: invoke-interface {v7, v4, v3, v4, v5}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ +41ad82: 0c07 |0077: move-result-object v7 │ │ +41ad84: 3901 0400 |0078: if-nez v1, 007c // +0004 │ │ +41ad88: 1202 |007a: const/4 v2, #int 0 // #0 │ │ +41ad8a: 2805 |007b: goto 0080 // +0005 │ │ +41ad8c: 5811 a95d |007c: iget-short v1, v1, Lorg/purple/smoke/SteamElement;.m_direction:S // field@5da9 │ │ +41ad90: 3901 fcff |007e: if-nez v1, 007a // -0004 │ │ +41ad94: 7220 7a55 2700 |0080: invoke-interface {v7, v2}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ +41ad9a: 6e10 f455 0800 |0083: invoke-virtual {v8}, Landroid/view/View;.getId:()I // method@55f4 │ │ +41ada0: 0a08 |0086: move-result v8 │ │ +41ada2: 3308 0500 |0087: if-ne v8, v0, 008c // +0005 │ │ +41ada6: 7220 7a55 9700 |0089: invoke-interface {v7, v9}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ +41adac: 0e00 |008c: return-void │ │ catches : (none) │ │ positions : │ │ 0x000a line=71 │ │ 0x000d line=76 │ │ 0x0014 line=75 │ │ 0x0018 line=78 │ │ 0x0027 line=79 │ │ @@ -1164193,22 +1164192,22 @@ │ │ type : '(Lorg/purple/smoke/SteamElement;II)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 12 16-bit code units │ │ -41adb4: |[41adb4] org.purple.smoke.SteamAdapter$ViewHolder.setData:(Lorg/purple/smoke/SteamElement;II)V │ │ -41adc4: 5410 7d5d |0000: iget-object v0, v1, Lorg/purple/smoke/SteamAdapter$ViewHolder;.m_steamBubble:Lorg/purple/smoke/SteamBubble; // field@5d7d │ │ -41adc8: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ -41adcc: 0e00 |0004: return-void │ │ -41adce: 3902 0300 |0005: if-nez v2, 0008 // +0003 │ │ -41add2: 0e00 |0007: return-void │ │ -41add4: 6e40 f5b9 2043 |0008: invoke-virtual {v0, v2, v3, v4}, Lorg/purple/smoke/SteamBubble;.setData:(Lorg/purple/smoke/SteamElement;II)V // method@b9f5 │ │ -41adda: 0e00 |000b: return-void │ │ +41adb0: |[41adb0] org.purple.smoke.SteamAdapter$ViewHolder.setData:(Lorg/purple/smoke/SteamElement;II)V │ │ +41adc0: 5410 7d5d |0000: iget-object v0, v1, Lorg/purple/smoke/SteamAdapter$ViewHolder;.m_steamBubble:Lorg/purple/smoke/SteamBubble; // field@5d7d │ │ +41adc4: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ +41adc8: 0e00 |0004: return-void │ │ +41adca: 3902 0300 |0005: if-nez v2, 0008 // +0003 │ │ +41adce: 0e00 |0007: return-void │ │ +41add0: 6e40 f5b9 2043 |0008: invoke-virtual {v0, v2, v3, v4}, Lorg/purple/smoke/SteamBubble;.setData:(Lorg/purple/smoke/SteamElement;II)V // method@b9f5 │ │ +41add6: 0e00 |000b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=124 │ │ 0x0008 line=129 │ │ locals : │ │ 0x0000 - 0x000c reg=1 this Lorg/purple/smoke/SteamAdapter$ViewHolder; │ │ 0x0000 - 0x000c reg=2 (null) Lorg/purple/smoke/SteamElement; │ │ @@ -1164257,22 +1164256,22 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 13 16-bit code units │ │ -41ae7c: |[41ae7c] org.purple.smoke.SteamAdapter.:()V │ │ -41ae8c: 7100 88b5 0000 |0000: invoke-static {}, Lorg/purple/smoke/Cryptography;.getInstance:()Lorg/purple/smoke/Cryptography; // method@b588 │ │ -41ae92: 0c00 |0003: move-result-object v0 │ │ -41ae94: 6900 7f5d |0004: sput-object v0, Lorg/purple/smoke/SteamAdapter;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d7f │ │ -41ae98: 7100 e8b5 0000 |0006: invoke-static {}, Lorg/purple/smoke/Database;.getInstance:()Lorg/purple/smoke/Database; // method@b5e8 │ │ -41ae9e: 0c00 |0009: move-result-object v0 │ │ -41aea0: 6900 805d |000a: sput-object v0, Lorg/purple/smoke/SteamAdapter;.s_database:Lorg/purple/smoke/Database; // field@5d80 │ │ -41aea4: 0e00 |000c: return-void │ │ +41ae78: |[41ae78] org.purple.smoke.SteamAdapter.:()V │ │ +41ae88: 7100 88b5 0000 |0000: invoke-static {}, Lorg/purple/smoke/Cryptography;.getInstance:()Lorg/purple/smoke/Cryptography; // method@b588 │ │ +41ae8e: 0c00 |0003: move-result-object v0 │ │ +41ae90: 6900 7f5d |0004: sput-object v0, Lorg/purple/smoke/SteamAdapter;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d7f │ │ +41ae94: 7100 e8b5 0000 |0006: invoke-static {}, Lorg/purple/smoke/Database;.getInstance:()Lorg/purple/smoke/Database; // method@b5e8 │ │ +41ae9a: 0c00 |0009: move-result-object v0 │ │ +41ae9c: 6900 805d |000a: sput-object v0, Lorg/purple/smoke/SteamAdapter;.s_database:Lorg/purple/smoke/Database; // field@5d80 │ │ +41aea0: 0e00 |000c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=42 │ │ 0x0006 line=43 │ │ locals : │ │ │ │ #1 : (in Lorg/purple/smoke/SteamAdapter;) │ │ @@ -1164280,20 +1164279,20 @@ │ │ type : '(Lorg/purple/smoke/Steam;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -41aea8: |[41aea8] org.purple.smoke.SteamAdapter.:(Lorg/purple/smoke/Steam;)V │ │ -41aeb8: 7010 2e4c 0100 |0000: invoke-direct {v1}, Landroid/support/v7/widget/RecyclerView$Adapter;.:()V // method@4c2e │ │ -41aebe: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -41aec0: 5b10 7e5d |0004: iput-object v0, v1, Lorg/purple/smoke/SteamAdapter;.m_steam:Lorg/purple/smoke/Steam; // field@5d7e │ │ -41aec4: 5b12 7e5d |0006: iput-object v2, v1, Lorg/purple/smoke/SteamAdapter;.m_steam:Lorg/purple/smoke/Steam; // field@5d7e │ │ -41aec8: 0e00 |0008: return-void │ │ +41aea4: |[41aea4] org.purple.smoke.SteamAdapter.:(Lorg/purple/smoke/Steam;)V │ │ +41aeb4: 7010 2e4c 0100 |0000: invoke-direct {v1}, Landroid/support/v7/widget/RecyclerView$Adapter;.:()V // method@4c2e │ │ +41aeba: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +41aebc: 5b10 7e5d |0004: iput-object v0, v1, Lorg/purple/smoke/SteamAdapter;.m_steam:Lorg/purple/smoke/Steam; // field@5d7e │ │ +41aec0: 5b12 7e5d |0006: iput-object v2, v1, Lorg/purple/smoke/SteamAdapter;.m_steam:Lorg/purple/smoke/Steam; // field@5d7e │ │ +41aec4: 0e00 |0008: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=134 │ │ 0x0004 line=40 │ │ 0x0006 line=135 │ │ locals : │ │ 0x0000 - 0x0009 reg=1 this Lorg/purple/smoke/SteamAdapter; │ │ @@ -1164304,34 +1164303,34 @@ │ │ type : '()Lorg/purple/smoke/Cryptography;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41ae18: |[41ae18] org.purple.smoke.SteamAdapter.access$000:()Lorg/purple/smoke/Cryptography; │ │ -41ae28: 6200 7f5d |0000: sget-object v0, Lorg/purple/smoke/SteamAdapter;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d7f │ │ -41ae2c: 1100 |0002: return-object v0 │ │ +41ae14: |[41ae14] org.purple.smoke.SteamAdapter.access$000:()Lorg/purple/smoke/Cryptography; │ │ +41ae24: 6200 7f5d |0000: sget-object v0, Lorg/purple/smoke/SteamAdapter;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d7f │ │ +41ae28: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=38 │ │ locals : │ │ │ │ #3 : (in Lorg/purple/smoke/SteamAdapter;) │ │ name : 'access$100' │ │ type : '()Lorg/purple/smoke/Database;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41ae30: |[41ae30] org.purple.smoke.SteamAdapter.access$100:()Lorg/purple/smoke/Database; │ │ -41ae40: 6200 805d |0000: sget-object v0, Lorg/purple/smoke/SteamAdapter;.s_database:Lorg/purple/smoke/Database; // field@5d80 │ │ -41ae44: 1100 |0002: return-object v0 │ │ +41ae2c: |[41ae2c] org.purple.smoke.SteamAdapter.access$100:()Lorg/purple/smoke/Database; │ │ +41ae3c: 6200 805d |0000: sget-object v0, Lorg/purple/smoke/SteamAdapter;.s_database:Lorg/purple/smoke/Database; // field@5d80 │ │ +41ae40: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=38 │ │ locals : │ │ │ │ Virtual methods - │ │ #0 : (in Lorg/purple/smoke/SteamAdapter;) │ │ @@ -1164339,20 +1164338,20 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -41adf8: |[41adf8] org.purple.smoke.SteamAdapter.getItemCount:()I │ │ -41ae08: 6200 805d |0000: sget-object v0, Lorg/purple/smoke/SteamAdapter;.s_database:Lorg/purple/smoke/Database; // field@5d80 │ │ -41ae0c: 6e10 dfb5 0000 |0002: invoke-virtual {v0}, Lorg/purple/smoke/Database;.countOfSteams:()J // method@b5df │ │ -41ae12: 0b00 |0005: move-result-wide v0 │ │ -41ae14: 8401 |0006: long-to-int v1, v0 │ │ -41ae16: 0f01 |0007: return v1 │ │ +41adf4: |[41adf4] org.purple.smoke.SteamAdapter.getItemCount:()I │ │ +41ae04: 6200 805d |0000: sget-object v0, Lorg/purple/smoke/SteamAdapter;.s_database:Lorg/purple/smoke/Database; // field@5d80 │ │ +41ae08: 6e10 dfb5 0000 |0002: invoke-virtual {v0}, Lorg/purple/smoke/Database;.countOfSteams:()J // method@b5df │ │ +41ae0e: 0b00 |0005: move-result-wide v0 │ │ +41ae10: 8401 |0006: long-to-int v1, v0 │ │ +41ae12: 0f01 |0007: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=149 │ │ locals : │ │ 0x0000 - 0x0008 reg=2 this Lorg/purple/smoke/SteamAdapter; │ │ │ │ #1 : (in Lorg/purple/smoke/SteamAdapter;) │ │ @@ -1164360,18 +1164359,18 @@ │ │ type : '(Landroid/support/v7/widget/RecyclerView$ViewHolder;I)V' │ │ access : 0x1041 (PUBLIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 6 16-bit code units │ │ -41aecc: |[41aecc] org.purple.smoke.SteamAdapter.onBindViewHolder:(Landroid/support/v7/widget/RecyclerView$ViewHolder;I)V │ │ -41aedc: 1f01 931a |0000: check-cast v1, Lorg/purple/smoke/SteamAdapter$ViewHolder; // type@1a93 │ │ -41aee0: 6e30 dab9 1002 |0002: invoke-virtual {v0, v1, v2}, Lorg/purple/smoke/SteamAdapter;.onBindViewHolder:(Lorg/purple/smoke/SteamAdapter$ViewHolder;I)V // method@b9da │ │ -41aee6: 0e00 |0005: return-void │ │ +41aec8: |[41aec8] org.purple.smoke.SteamAdapter.onBindViewHolder:(Landroid/support/v7/widget/RecyclerView$ViewHolder;I)V │ │ +41aed8: 1f01 931a |0000: check-cast v1, Lorg/purple/smoke/SteamAdapter$ViewHolder; // type@1a93 │ │ +41aedc: 6e30 dab9 1002 |0002: invoke-virtual {v0, v1, v2}, Lorg/purple/smoke/SteamAdapter;.onBindViewHolder:(Lorg/purple/smoke/SteamAdapter$ViewHolder;I)V // method@b9da │ │ +41aee2: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=38 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lorg/purple/smoke/SteamAdapter; │ │ 0x0000 - 0x0006 reg=1 (null) Landroid/support/v7/widget/RecyclerView$ViewHolder; │ │ 0x0000 - 0x0006 reg=2 (null) I │ │ @@ -1164381,29 +1164380,29 @@ │ │ type : '(Lorg/purple/smoke/SteamAdapter$ViewHolder;I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 3 │ │ outs : 4 │ │ insns size : 25 16-bit code units │ │ -41aee8: |[41aee8] org.purple.smoke.SteamAdapter.onBindViewHolder:(Lorg/purple/smoke/SteamAdapter$ViewHolder;I)V │ │ -41aef8: 3905 0300 |0000: if-nez v5, 0003 // +0003 │ │ -41aefc: 0e00 |0002: return-void │ │ -41aefe: 6200 805d |0003: sget-object v0, Lorg/purple/smoke/SteamAdapter;.s_database:Lorg/purple/smoke/Database; // field@5d80 │ │ -41af02: 6201 7f5d |0005: sget-object v1, Lorg/purple/smoke/SteamAdapter;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d7f │ │ -41af06: 1202 |0007: const/4 v2, #int 0 // #0 │ │ -41af08: 7120 7e5c 6200 |0008: invoke-static {v2, v6}, Ljava/lang/Math;.max:(II)I // method@5c7e │ │ -41af0e: 0a02 |000b: move-result v2 │ │ -41af10: 12f3 |000c: const/4 v3, #int -1 // #ff │ │ -41af12: 6e40 13b6 1032 |000d: invoke-virtual {v0, v1, v2, v3}, Lorg/purple/smoke/Database;.readSteam:(Lorg/purple/smoke/Cryptography;II)Lorg/purple/smoke/SteamElement; // method@b613 │ │ -41af18: 0c00 |0010: move-result-object v0 │ │ -41af1a: 6e10 d8b9 0400 |0011: invoke-virtual {v4}, Lorg/purple/smoke/SteamAdapter;.getItemCount:()I // method@b9d8 │ │ -41af20: 0a01 |0014: move-result v1 │ │ -41af22: 6e40 d3b9 0561 |0015: invoke-virtual {v5, v0, v1, v6}, Lorg/purple/smoke/SteamAdapter$ViewHolder;.setData:(Lorg/purple/smoke/SteamElement;II)V // method@b9d3 │ │ -41af28: 0e00 |0018: return-void │ │ +41aee4: |[41aee4] org.purple.smoke.SteamAdapter.onBindViewHolder:(Lorg/purple/smoke/SteamAdapter$ViewHolder;I)V │ │ +41aef4: 3905 0300 |0000: if-nez v5, 0003 // +0003 │ │ +41aef8: 0e00 |0002: return-void │ │ +41aefa: 6200 805d |0003: sget-object v0, Lorg/purple/smoke/SteamAdapter;.s_database:Lorg/purple/smoke/Database; // field@5d80 │ │ +41aefe: 6201 7f5d |0005: sget-object v1, Lorg/purple/smoke/SteamAdapter;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d7f │ │ +41af02: 1202 |0007: const/4 v2, #int 0 // #0 │ │ +41af04: 7120 7e5c 6200 |0008: invoke-static {v2, v6}, Ljava/lang/Math;.max:(II)I // method@5c7e │ │ +41af0a: 0a02 |000b: move-result v2 │ │ +41af0c: 12f3 |000c: const/4 v3, #int -1 // #ff │ │ +41af0e: 6e40 13b6 1032 |000d: invoke-virtual {v0, v1, v2, v3}, Lorg/purple/smoke/Database;.readSteam:(Lorg/purple/smoke/Cryptography;II)Lorg/purple/smoke/SteamElement; // method@b613 │ │ +41af14: 0c00 |0010: move-result-object v0 │ │ +41af16: 6e10 d8b9 0400 |0011: invoke-virtual {v4}, Lorg/purple/smoke/SteamAdapter;.getItemCount:()I // method@b9d8 │ │ +41af1c: 0a01 |0014: move-result v1 │ │ +41af1e: 6e40 d3b9 0561 |0015: invoke-virtual {v5, v0, v1, v6}, Lorg/purple/smoke/SteamAdapter$ViewHolder;.setData:(Lorg/purple/smoke/SteamElement;II)V // method@b9d3 │ │ +41af24: 0e00 |0018: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=158 │ │ 0x0008 line=159 │ │ 0x0011 line=161 │ │ locals : │ │ 0x0000 - 0x0019 reg=4 this Lorg/purple/smoke/SteamAdapter; │ │ @@ -1164415,18 +1164414,18 @@ │ │ type : '(Landroid/view/ViewGroup;I)Landroid/support/v7/widget/RecyclerView$ViewHolder;' │ │ access : 0x1041 (PUBLIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 5 16-bit code units │ │ -41addc: |[41addc] org.purple.smoke.SteamAdapter.onCreateViewHolder:(Landroid/view/ViewGroup;I)Landroid/support/v7/widget/RecyclerView$ViewHolder; │ │ -41adec: 6e30 dcb9 1002 |0000: invoke-virtual {v0, v1, v2}, Lorg/purple/smoke/SteamAdapter;.onCreateViewHolder:(Landroid/view/ViewGroup;I)Lorg/purple/smoke/SteamAdapter$ViewHolder; // method@b9dc │ │ -41adf2: 0c01 |0003: move-result-object v1 │ │ -41adf4: 1101 |0004: return-object v1 │ │ +41add8: |[41add8] org.purple.smoke.SteamAdapter.onCreateViewHolder:(Landroid/view/ViewGroup;I)Landroid/support/v7/widget/RecyclerView$ViewHolder; │ │ +41ade8: 6e30 dcb9 1002 |0000: invoke-virtual {v0, v1, v2}, Lorg/purple/smoke/SteamAdapter;.onCreateViewHolder:(Landroid/view/ViewGroup;I)Lorg/purple/smoke/SteamAdapter$ViewHolder; // method@b9dc │ │ +41adee: 0c01 |0003: move-result-object v1 │ │ +41adf0: 1101 |0004: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=38 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 this Lorg/purple/smoke/SteamAdapter; │ │ 0x0000 - 0x0005 reg=1 (null) Landroid/view/ViewGroup; │ │ 0x0000 - 0x0005 reg=2 (null) I │ │ @@ -1164436,23 +1164435,23 @@ │ │ type : '(Landroid/view/ViewGroup;I)Lorg/purple/smoke/SteamAdapter$ViewHolder;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 3 │ │ outs : 4 │ │ insns size : 17 16-bit code units │ │ -41ae48: |[41ae48] org.purple.smoke.SteamAdapter.onCreateViewHolder:(Landroid/view/ViewGroup;I)Lorg/purple/smoke/SteamAdapter$ViewHolder; │ │ -41ae58: 2205 931a |0000: new-instance v5, Lorg/purple/smoke/SteamAdapter$ViewHolder; // type@1a93 │ │ -41ae5c: 2200 991a |0002: new-instance v0, Lorg/purple/smoke/SteamBubble; // type@1a99 │ │ -41ae60: 6e10 e556 0400 |0004: invoke-virtual {v4}, Landroid/view/ViewGroup;.getContext:()Landroid/content/Context; // method@56e5 │ │ -41ae66: 0c01 |0007: move-result-object v1 │ │ -41ae68: 5432 7e5d |0008: iget-object v2, v3, Lorg/purple/smoke/SteamAdapter;.m_steam:Lorg/purple/smoke/Steam; // field@5d7e │ │ -41ae6c: 7040 e8b9 1042 |000a: invoke-direct {v0, v1, v2, v4}, Lorg/purple/smoke/SteamBubble;.:(Landroid/content/Context;Lorg/purple/smoke/Steam;Landroid/view/ViewGroup;)V // method@b9e8 │ │ -41ae72: 7020 d1b9 0500 |000d: invoke-direct {v5, v0}, Lorg/purple/smoke/SteamAdapter$ViewHolder;.:(Lorg/purple/smoke/SteamBubble;)V // method@b9d1 │ │ -41ae78: 1105 |0010: return-object v5 │ │ +41ae44: |[41ae44] org.purple.smoke.SteamAdapter.onCreateViewHolder:(Landroid/view/ViewGroup;I)Lorg/purple/smoke/SteamAdapter$ViewHolder; │ │ +41ae54: 2205 931a |0000: new-instance v5, Lorg/purple/smoke/SteamAdapter$ViewHolder; // type@1a93 │ │ +41ae58: 2200 991a |0002: new-instance v0, Lorg/purple/smoke/SteamBubble; // type@1a99 │ │ +41ae5c: 6e10 e556 0400 |0004: invoke-virtual {v4}, Landroid/view/ViewGroup;.getContext:()Landroid/content/Context; // method@56e5 │ │ +41ae62: 0c01 |0007: move-result-object v1 │ │ +41ae64: 5432 7e5d |0008: iget-object v2, v3, Lorg/purple/smoke/SteamAdapter;.m_steam:Lorg/purple/smoke/Steam; // field@5d7e │ │ +41ae68: 7040 e8b9 1042 |000a: invoke-direct {v0, v1, v2, v4}, Lorg/purple/smoke/SteamBubble;.:(Landroid/content/Context;Lorg/purple/smoke/Steam;Landroid/view/ViewGroup;)V // method@b9e8 │ │ +41ae6e: 7020 d1b9 0500 |000d: invoke-direct {v5, v0}, Lorg/purple/smoke/SteamAdapter$ViewHolder;.:(Lorg/purple/smoke/SteamBubble;)V // method@b9d1 │ │ +41ae74: 1105 |0010: return-object v5 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=142 │ │ 0x0004 line=143 │ │ locals : │ │ 0x0000 - 0x0011 reg=3 this Lorg/purple/smoke/SteamAdapter; │ │ 0x0000 - 0x0011 reg=4 (null) Landroid/view/ViewGroup; │ │ @@ -1164538,61 +1164537,61 @@ │ │ type : '(Ljava/lang/String;Ljava/lang/String;[BIJJ)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 11 │ │ ins : 9 │ │ outs : 5 │ │ insns size : 97 16-bit code units │ │ -41d6d0: |[41d6d0] org.purple.smoke.SteamReaderFull.:(Ljava/lang/String;Ljava/lang/String;[BIJJ)V │ │ -41d6e0: 705a 0bba 4296 |0000: invoke-direct {v2, v4, v6, v9, v10}, Lorg/purple/smoke/SteamReader;.:(Ljava/lang/String;IJ)V // method@ba0b │ │ -41d6e6: 1204 |0003: const/4 v4, #int 0 // #0 │ │ -41d6e8: 5b24 e75d |0004: iput-object v4, v2, Lorg/purple/smoke/SteamReaderFull;.m_read:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5de7 │ │ -41d6ec: 5b24 ec5d |0006: iput-object v4, v2, Lorg/purple/smoke/SteamReaderFull;.m_stalled:Ljava/util/concurrent/atomic/AtomicInteger; // field@5dec │ │ -41d6f0: 5b24 e15d |0008: iput-object v4, v2, Lorg/purple/smoke/SteamReaderFull;.m_fileSize:Ljava/util/concurrent/atomic/AtomicLong; // field@5de1 │ │ -41d6f4: 5b24 e35d |000a: iput-object v4, v2, Lorg/purple/smoke/SteamReaderFull;.m_lastResponse:Ljava/util/concurrent/atomic/AtomicLong; // field@5de3 │ │ -41d6f8: 5b24 e55d |000c: iput-object v4, v2, Lorg/purple/smoke/SteamReaderFull;.m_previousOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de5 │ │ -41d6fc: 5b24 e95d |000e: iput-object v4, v2, Lorg/purple/smoke/SteamReaderFull;.m_readResult:Ljava/util/concurrent/atomic/AtomicLong; // field@5de9 │ │ -41d700: 1a06 0000 |0010: const-string v6, "" // string@0000 │ │ -41d704: 5b26 eb5d |0012: iput-object v6, v2, Lorg/purple/smoke/SteamReaderFull;.m_sipHashId:Ljava/lang/String; // field@5deb │ │ -41d708: 5b24 de5d |0014: iput-object v4, v2, Lorg/purple/smoke/SteamReaderFull;.m_fileIdentity:[B // field@5dde │ │ -41d70c: 2204 e60a |0016: new-instance v4, Ljava/lang/Object; // type@0ae6 │ │ -41d710: 7010 8f5c 0400 |0018: invoke-direct {v4}, Ljava/lang/Object;.:()V // method@5c8f │ │ -41d716: 5b24 ee5d |001b: iput-object v4, v2, Lorg/purple/smoke/SteamReaderFull;.m_waitMutex:Ljava/lang/Object; // field@5dee │ │ -41d71a: 1600 ffff |001d: const-wide/16 v0, #int -1 // #ffff │ │ -41d71e: 5a20 e25d |001f: iput-wide v0, v2, Lorg/purple/smoke/SteamReaderFull;.m_lastReceivedOffset:J // field@5de2 │ │ -41d722: 5b25 de5d |0021: iput-object v5, v2, Lorg/purple/smoke/SteamReaderFull;.m_fileIdentity:[B // field@5dde │ │ -41d726: 2204 e70b |0023: new-instance v4, Ljava/util/concurrent/atomic/AtomicLong; // type@0be7 │ │ -41d72a: 7030 dd60 7408 |0025: invoke-direct {v4, v7, v8}, Ljava/util/concurrent/atomic/AtomicLong;.:(J)V // method@60dd │ │ -41d730: 5b24 e15d |0028: iput-object v4, v2, Lorg/purple/smoke/SteamReaderFull;.m_fileSize:Ljava/util/concurrent/atomic/AtomicLong; // field@5de1 │ │ -41d734: 5a20 e25d |002a: iput-wide v0, v2, Lorg/purple/smoke/SteamReaderFull;.m_lastReceivedOffset:J // field@5de2 │ │ -41d738: 2204 e70b |002c: new-instance v4, Ljava/util/concurrent/atomic/AtomicLong; // type@0be7 │ │ -41d73c: 7100 065d 0000 |002e: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ -41d742: 0b05 |0031: move-result-wide v5 │ │ -41d744: 7030 dd60 5406 |0032: invoke-direct {v4, v5, v6}, Ljava/util/concurrent/atomic/AtomicLong;.:(J)V // method@60dd │ │ -41d74a: 5b24 e35d |0035: iput-object v4, v2, Lorg/purple/smoke/SteamReaderFull;.m_lastResponse:Ljava/util/concurrent/atomic/AtomicLong; // field@5de3 │ │ -41d74e: 2204 e70b |0037: new-instance v4, Ljava/util/concurrent/atomic/AtomicLong; // type@0be7 │ │ -41d752: 7030 dd60 940a |0039: invoke-direct {v4, v9, v10}, Ljava/util/concurrent/atomic/AtomicLong;.:(J)V // method@60dd │ │ -41d758: 5b24 e55d |003c: iput-object v4, v2, Lorg/purple/smoke/SteamReaderFull;.m_previousOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de5 │ │ -41d75c: 2204 e50b |003e: new-instance v4, Ljava/util/concurrent/atomic/AtomicBoolean; // type@0be5 │ │ -41d760: 1215 |0040: const/4 v5, #int 1 // #1 │ │ -41d762: 7020 d460 5400 |0041: invoke-direct {v4, v5}, Ljava/util/concurrent/atomic/AtomicBoolean;.:(Z)V // method@60d4 │ │ -41d768: 5b24 e75d |0044: iput-object v4, v2, Lorg/purple/smoke/SteamReaderFull;.m_read:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5de7 │ │ -41d76c: 2204 e70b |0046: new-instance v4, Ljava/util/concurrent/atomic/AtomicLong; // type@0be7 │ │ -41d770: 1605 0000 |0048: const-wide/16 v5, #int 0 // #0 │ │ -41d774: 7030 dd60 5406 |004a: invoke-direct {v4, v5, v6}, Ljava/util/concurrent/atomic/AtomicLong;.:(J)V // method@60dd │ │ -41d77a: 5b24 e95d |004d: iput-object v4, v2, Lorg/purple/smoke/SteamReaderFull;.m_readResult:Ljava/util/concurrent/atomic/AtomicLong; // field@5de9 │ │ -41d77e: 7110 f2b7 0300 |004f: invoke-static {v3}, Lorg/purple/smoke/Miscellaneous;.sipHashIdFromDestination:(Ljava/lang/String;)Ljava/lang/String; // method@b7f2 │ │ -41d784: 0c03 |0052: move-result-object v3 │ │ -41d786: 5b23 eb5d |0053: iput-object v3, v2, Lorg/purple/smoke/SteamReaderFull;.m_sipHashId:Ljava/lang/String; // field@5deb │ │ -41d78a: 2203 e60b |0055: new-instance v3, Ljava/util/concurrent/atomic/AtomicInteger; // type@0be6 │ │ -41d78e: 1204 |0057: const/4 v4, #int 0 // #0 │ │ -41d790: 7020 d960 4300 |0058: invoke-direct {v3, v4}, Ljava/util/concurrent/atomic/AtomicInteger;.:(I)V // method@60d9 │ │ -41d796: 5b23 ec5d |005b: iput-object v3, v2, Lorg/purple/smoke/SteamReaderFull;.m_stalled:Ljava/util/concurrent/atomic/AtomicInteger; // field@5dec │ │ -41d79a: 7010 22ba 0200 |005d: invoke-direct {v2}, Lorg/purple/smoke/SteamReaderFull;.prepareReader:()V // method@ba22 │ │ -41d7a0: 0e00 |0060: return-void │ │ +41d6cc: |[41d6cc] org.purple.smoke.SteamReaderFull.:(Ljava/lang/String;Ljava/lang/String;[BIJJ)V │ │ +41d6dc: 705a 0bba 4296 |0000: invoke-direct {v2, v4, v6, v9, v10}, Lorg/purple/smoke/SteamReader;.:(Ljava/lang/String;IJ)V // method@ba0b │ │ +41d6e2: 1204 |0003: const/4 v4, #int 0 // #0 │ │ +41d6e4: 5b24 e75d |0004: iput-object v4, v2, Lorg/purple/smoke/SteamReaderFull;.m_read:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5de7 │ │ +41d6e8: 5b24 ec5d |0006: iput-object v4, v2, Lorg/purple/smoke/SteamReaderFull;.m_stalled:Ljava/util/concurrent/atomic/AtomicInteger; // field@5dec │ │ +41d6ec: 5b24 e15d |0008: iput-object v4, v2, Lorg/purple/smoke/SteamReaderFull;.m_fileSize:Ljava/util/concurrent/atomic/AtomicLong; // field@5de1 │ │ +41d6f0: 5b24 e35d |000a: iput-object v4, v2, Lorg/purple/smoke/SteamReaderFull;.m_lastResponse:Ljava/util/concurrent/atomic/AtomicLong; // field@5de3 │ │ +41d6f4: 5b24 e55d |000c: iput-object v4, v2, Lorg/purple/smoke/SteamReaderFull;.m_previousOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de5 │ │ +41d6f8: 5b24 e95d |000e: iput-object v4, v2, Lorg/purple/smoke/SteamReaderFull;.m_readResult:Ljava/util/concurrent/atomic/AtomicLong; // field@5de9 │ │ +41d6fc: 1a06 0000 |0010: const-string v6, "" // string@0000 │ │ +41d700: 5b26 eb5d |0012: iput-object v6, v2, Lorg/purple/smoke/SteamReaderFull;.m_sipHashId:Ljava/lang/String; // field@5deb │ │ +41d704: 5b24 de5d |0014: iput-object v4, v2, Lorg/purple/smoke/SteamReaderFull;.m_fileIdentity:[B // field@5dde │ │ +41d708: 2204 e60a |0016: new-instance v4, Ljava/lang/Object; // type@0ae6 │ │ +41d70c: 7010 8f5c 0400 |0018: invoke-direct {v4}, Ljava/lang/Object;.:()V // method@5c8f │ │ +41d712: 5b24 ee5d |001b: iput-object v4, v2, Lorg/purple/smoke/SteamReaderFull;.m_waitMutex:Ljava/lang/Object; // field@5dee │ │ +41d716: 1600 ffff |001d: const-wide/16 v0, #int -1 // #ffff │ │ +41d71a: 5a20 e25d |001f: iput-wide v0, v2, Lorg/purple/smoke/SteamReaderFull;.m_lastReceivedOffset:J // field@5de2 │ │ +41d71e: 5b25 de5d |0021: iput-object v5, v2, Lorg/purple/smoke/SteamReaderFull;.m_fileIdentity:[B // field@5dde │ │ +41d722: 2204 e70b |0023: new-instance v4, Ljava/util/concurrent/atomic/AtomicLong; // type@0be7 │ │ +41d726: 7030 dd60 7408 |0025: invoke-direct {v4, v7, v8}, Ljava/util/concurrent/atomic/AtomicLong;.:(J)V // method@60dd │ │ +41d72c: 5b24 e15d |0028: iput-object v4, v2, Lorg/purple/smoke/SteamReaderFull;.m_fileSize:Ljava/util/concurrent/atomic/AtomicLong; // field@5de1 │ │ +41d730: 5a20 e25d |002a: iput-wide v0, v2, Lorg/purple/smoke/SteamReaderFull;.m_lastReceivedOffset:J // field@5de2 │ │ +41d734: 2204 e70b |002c: new-instance v4, Ljava/util/concurrent/atomic/AtomicLong; // type@0be7 │ │ +41d738: 7100 065d 0000 |002e: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ +41d73e: 0b05 |0031: move-result-wide v5 │ │ +41d740: 7030 dd60 5406 |0032: invoke-direct {v4, v5, v6}, Ljava/util/concurrent/atomic/AtomicLong;.:(J)V // method@60dd │ │ +41d746: 5b24 e35d |0035: iput-object v4, v2, Lorg/purple/smoke/SteamReaderFull;.m_lastResponse:Ljava/util/concurrent/atomic/AtomicLong; // field@5de3 │ │ +41d74a: 2204 e70b |0037: new-instance v4, Ljava/util/concurrent/atomic/AtomicLong; // type@0be7 │ │ +41d74e: 7030 dd60 940a |0039: invoke-direct {v4, v9, v10}, Ljava/util/concurrent/atomic/AtomicLong;.:(J)V // method@60dd │ │ +41d754: 5b24 e55d |003c: iput-object v4, v2, Lorg/purple/smoke/SteamReaderFull;.m_previousOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de5 │ │ +41d758: 2204 e50b |003e: new-instance v4, Ljava/util/concurrent/atomic/AtomicBoolean; // type@0be5 │ │ +41d75c: 1215 |0040: const/4 v5, #int 1 // #1 │ │ +41d75e: 7020 d460 5400 |0041: invoke-direct {v4, v5}, Ljava/util/concurrent/atomic/AtomicBoolean;.:(Z)V // method@60d4 │ │ +41d764: 5b24 e75d |0044: iput-object v4, v2, Lorg/purple/smoke/SteamReaderFull;.m_read:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5de7 │ │ +41d768: 2204 e70b |0046: new-instance v4, Ljava/util/concurrent/atomic/AtomicLong; // type@0be7 │ │ +41d76c: 1605 0000 |0048: const-wide/16 v5, #int 0 // #0 │ │ +41d770: 7030 dd60 5406 |004a: invoke-direct {v4, v5, v6}, Ljava/util/concurrent/atomic/AtomicLong;.:(J)V // method@60dd │ │ +41d776: 5b24 e95d |004d: iput-object v4, v2, Lorg/purple/smoke/SteamReaderFull;.m_readResult:Ljava/util/concurrent/atomic/AtomicLong; // field@5de9 │ │ +41d77a: 7110 f2b7 0300 |004f: invoke-static {v3}, Lorg/purple/smoke/Miscellaneous;.sipHashIdFromDestination:(Ljava/lang/String;)Ljava/lang/String; // method@b7f2 │ │ +41d780: 0c03 |0052: move-result-object v3 │ │ +41d782: 5b23 eb5d |0053: iput-object v3, v2, Lorg/purple/smoke/SteamReaderFull;.m_sipHashId:Ljava/lang/String; // field@5deb │ │ +41d786: 2203 e60b |0055: new-instance v3, Ljava/util/concurrent/atomic/AtomicInteger; // type@0be6 │ │ +41d78a: 1204 |0057: const/4 v4, #int 0 // #0 │ │ +41d78c: 7020 d960 4300 |0058: invoke-direct {v3, v4}, Ljava/util/concurrent/atomic/AtomicInteger;.:(I)V // method@60d9 │ │ +41d792: 5b23 ec5d |005b: iput-object v3, v2, Lorg/purple/smoke/SteamReaderFull;.m_stalled:Ljava/util/concurrent/atomic/AtomicInteger; // field@5dec │ │ +41d796: 7010 22ba 0200 |005d: invoke-direct {v2}, Lorg/purple/smoke/SteamReaderFull;.prepareReader:()V // method@ba22 │ │ +41d79c: 0e00 |0060: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=312 │ │ 0x0004 line=39 │ │ 0x0006 line=40 │ │ 0x0008 line=41 │ │ 0x000a line=42 │ │ @@ -1164626,17 +1164625,17 @@ │ │ type : '(Lorg/purple/smoke/SteamReaderFull;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -41d7a4: |[41d7a4] org.purple.smoke.SteamReaderFull.access$000:(Lorg/purple/smoke/SteamReaderFull;)V │ │ -41d7b4: 7010 24ba 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/SteamReaderFull;.rewind:()V // method@ba24 │ │ -41d7ba: 0e00 |0003: return-void │ │ +41d7a0: |[41d7a0] org.purple.smoke.SteamReaderFull.access$000:(Lorg/purple/smoke/SteamReaderFull;)V │ │ +41d7b0: 7010 24ba 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/SteamReaderFull;.rewind:()V // method@ba24 │ │ +41d7b6: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=37 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/SteamReaderFull; │ │ │ │ #2 : (in Lorg/purple/smoke/SteamReaderFull;) │ │ @@ -1164644,17 +1164643,17 @@ │ │ type : '(Lorg/purple/smoke/SteamReaderFull;)Ljava/util/concurrent/atomic/AtomicLong;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41d688: |[41d688] org.purple.smoke.SteamReaderFull.access$100:(Lorg/purple/smoke/SteamReaderFull;)Ljava/util/concurrent/atomic/AtomicLong; │ │ -41d698: 5400 e15d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_fileSize:Ljava/util/concurrent/atomic/AtomicLong; // field@5de1 │ │ -41d69c: 1100 |0002: return-object v0 │ │ +41d684: |[41d684] org.purple.smoke.SteamReaderFull.access$100:(Lorg/purple/smoke/SteamReaderFull;)Ljava/util/concurrent/atomic/AtomicLong; │ │ +41d694: 5400 e15d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_fileSize:Ljava/util/concurrent/atomic/AtomicLong; // field@5de1 │ │ +41d698: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=37 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/SteamReaderFull; │ │ │ │ #3 : (in Lorg/purple/smoke/SteamReaderFull;) │ │ @@ -1164662,17 +1164661,17 @@ │ │ type : '(Lorg/purple/smoke/SteamReaderFull;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -41d7bc: |[41d7bc] org.purple.smoke.SteamReaderFull.access$200:(Lorg/purple/smoke/SteamReaderFull;)V │ │ -41d7cc: 7010 1fba 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/SteamReaderFull;.computeRate:()V // method@ba1f │ │ -41d7d2: 0e00 |0003: return-void │ │ +41d7b8: |[41d7b8] org.purple.smoke.SteamReaderFull.access$200:(Lorg/purple/smoke/SteamReaderFull;)V │ │ +41d7c8: 7010 1fba 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/SteamReaderFull;.computeRate:()V // method@ba1f │ │ +41d7ce: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=37 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/SteamReaderFull; │ │ │ │ #4 : (in Lorg/purple/smoke/SteamReaderFull;) │ │ @@ -1164680,17 +1164679,17 @@ │ │ type : '(Lorg/purple/smoke/SteamReaderFull;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -41d7d4: |[41d7d4] org.purple.smoke.SteamReaderFull.access$300:(Lorg/purple/smoke/SteamReaderFull;)V │ │ -41d7e4: 7010 25ba 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/SteamReaderFull;.saveReadOffset:()V // method@ba25 │ │ -41d7ea: 0e00 |0003: return-void │ │ +41d7d0: |[41d7d0] org.purple.smoke.SteamReaderFull.access$300:(Lorg/purple/smoke/SteamReaderFull;)V │ │ +41d7e0: 7010 25ba 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/SteamReaderFull;.saveReadOffset:()V // method@ba25 │ │ +41d7e6: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=37 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/SteamReaderFull; │ │ │ │ #5 : (in Lorg/purple/smoke/SteamReaderFull;) │ │ @@ -1164698,17 +1164697,17 @@ │ │ type : '(Lorg/purple/smoke/SteamReaderFull;)Ljava/lang/Object;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41d640: |[41d640] org.purple.smoke.SteamReaderFull.access$400:(Lorg/purple/smoke/SteamReaderFull;)Ljava/lang/Object; │ │ -41d650: 5400 ee5d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_waitMutex:Ljava/lang/Object; // field@5dee │ │ -41d654: 1100 |0002: return-object v0 │ │ +41d63c: |[41d63c] org.purple.smoke.SteamReaderFull.access$400:(Lorg/purple/smoke/SteamReaderFull;)Ljava/lang/Object; │ │ +41d64c: 5400 ee5d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_waitMutex:Ljava/lang/Object; // field@5dee │ │ +41d650: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=37 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/SteamReaderFull; │ │ │ │ #6 : (in Lorg/purple/smoke/SteamReaderFull;) │ │ @@ -1164716,17 +1164715,17 @@ │ │ type : '(Lorg/purple/smoke/SteamReaderFull;)Ljava/util/concurrent/atomic/AtomicBoolean;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41d670: |[41d670] org.purple.smoke.SteamReaderFull.access$500:(Lorg/purple/smoke/SteamReaderFull;)Ljava/util/concurrent/atomic/AtomicBoolean; │ │ -41d680: 5400 e75d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_read:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5de7 │ │ -41d684: 1100 |0002: return-object v0 │ │ +41d66c: |[41d66c] org.purple.smoke.SteamReaderFull.access$500:(Lorg/purple/smoke/SteamReaderFull;)Ljava/util/concurrent/atomic/AtomicBoolean; │ │ +41d67c: 5400 e75d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_read:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5de7 │ │ +41d680: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=37 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/SteamReaderFull; │ │ │ │ #7 : (in Lorg/purple/smoke/SteamReaderFull;) │ │ @@ -1164734,17 +1164733,17 @@ │ │ type : '(Lorg/purple/smoke/SteamReaderFull;)Ljava/util/concurrent/atomic/AtomicLong;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41d6a0: |[41d6a0] org.purple.smoke.SteamReaderFull.access$600:(Lorg/purple/smoke/SteamReaderFull;)Ljava/util/concurrent/atomic/AtomicLong; │ │ -41d6b0: 5400 e35d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_lastResponse:Ljava/util/concurrent/atomic/AtomicLong; // field@5de3 │ │ -41d6b4: 1100 |0002: return-object v0 │ │ +41d69c: |[41d69c] org.purple.smoke.SteamReaderFull.access$600:(Lorg/purple/smoke/SteamReaderFull;)Ljava/util/concurrent/atomic/AtomicLong; │ │ +41d6ac: 5400 e35d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_lastResponse:Ljava/util/concurrent/atomic/AtomicLong; // field@5de3 │ │ +41d6b0: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=37 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/SteamReaderFull; │ │ │ │ #8 : (in Lorg/purple/smoke/SteamReaderFull;) │ │ @@ -1164752,17 +1164751,17 @@ │ │ type : '(Lorg/purple/smoke/SteamReaderFull;)Ljava/util/concurrent/atomic/AtomicLong;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41d6b8: |[41d6b8] org.purple.smoke.SteamReaderFull.access$700:(Lorg/purple/smoke/SteamReaderFull;)Ljava/util/concurrent/atomic/AtomicLong; │ │ -41d6c8: 5400 e95d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_readResult:Ljava/util/concurrent/atomic/AtomicLong; // field@5de9 │ │ -41d6cc: 1100 |0002: return-object v0 │ │ +41d6b4: |[41d6b4] org.purple.smoke.SteamReaderFull.access$700:(Lorg/purple/smoke/SteamReaderFull;)Ljava/util/concurrent/atomic/AtomicLong; │ │ +41d6c4: 5400 e95d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_readResult:Ljava/util/concurrent/atomic/AtomicLong; // field@5de9 │ │ +41d6c8: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=37 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/SteamReaderFull; │ │ │ │ #9 : (in Lorg/purple/smoke/SteamReaderFull;) │ │ @@ -1164770,17 +1164769,17 @@ │ │ type : '(Lorg/purple/smoke/SteamReaderFull;)Ljava/lang/String;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41d658: |[41d658] org.purple.smoke.SteamReaderFull.access$800:(Lorg/purple/smoke/SteamReaderFull;)Ljava/lang/String; │ │ -41d668: 5400 eb5d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_sipHashId:Ljava/lang/String; // field@5deb │ │ -41d66c: 1100 |0002: return-object v0 │ │ +41d654: |[41d654] org.purple.smoke.SteamReaderFull.access$800:(Lorg/purple/smoke/SteamReaderFull;)Ljava/lang/String; │ │ +41d664: 5400 eb5d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_sipHashId:Ljava/lang/String; // field@5deb │ │ +41d668: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=37 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/SteamReaderFull; │ │ │ │ #10 : (in Lorg/purple/smoke/SteamReaderFull;) │ │ @@ -1164788,17 +1164787,17 @@ │ │ type : '(Lorg/purple/smoke/SteamReaderFull;)[B' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41d610: |[41d610] org.purple.smoke.SteamReaderFull.access$900:(Lorg/purple/smoke/SteamReaderFull;)[B │ │ -41d620: 5400 de5d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_fileIdentity:[B // field@5dde │ │ -41d624: 1100 |0002: return-object v0 │ │ +41d60c: |[41d60c] org.purple.smoke.SteamReaderFull.access$900:(Lorg/purple/smoke/SteamReaderFull;)[B │ │ +41d61c: 5400 de5d |0000: iget-object v0, v0, Lorg/purple/smoke/SteamReaderFull;.m_fileIdentity:[B // field@5dde │ │ +41d620: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=37 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/SteamReaderFull; │ │ │ │ #11 : (in Lorg/purple/smoke/SteamReaderFull;) │ │ @@ -1164806,74 +1164805,74 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 12 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 113 16-bit code units │ │ -41d7ec: |[41d7ec] org.purple.smoke.SteamReaderFull.computeRate:()V │ │ -41d7fc: 7100 065d 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ -41d802: 0b00 |0003: move-result-wide v0 │ │ -41d804: 1602 e803 |0004: const-wide/16 v2, #int 1000 // #3e8 │ │ -41d808: be20 |0006: div-long/2addr v0, v2 │ │ -41d80a: 54b4 ed5d |0007: iget-object v4, v11, Lorg/purple/smoke/SteamReaderFull;.m_time0:Ljava/util/concurrent/atomic/AtomicLong; // field@5ded │ │ -41d80e: 6e10 df60 0400 |0009: invoke-virtual {v4}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ -41d814: 0b04 |000c: move-result-wide v4 │ │ -41d816: bc40 |000d: sub-long/2addr v0, v4 │ │ -41d818: 7120 735c 1000 |000e: invoke-static {v0, v1}, Ljava/lang/Math;.abs:(J)J // method@5c73 │ │ -41d81e: 0b00 |0011: move-result-wide v0 │ │ -41d820: 1604 0100 |0012: const-wide/16 v4, #int 1 // #1 │ │ -41d824: 3106 0004 |0014: cmp-long v6, v0, v4 │ │ -41d828: 3a06 5a00 |0016: if-ltz v6, 0070 // +005a │ │ -41d82c: 54b4 e65d |0018: iget-object v4, v11, Lorg/purple/smoke/SteamReaderFull;.m_rate:Ljava/util/concurrent/atomic/AtomicLong; // field@5de6 │ │ -41d830: 6e10 df60 0400 |001a: invoke-virtual {v4}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ -41d836: 0b04 |001d: move-result-wide v4 │ │ -41d838: 54b6 e65d |001e: iget-object v6, v11, Lorg/purple/smoke/SteamReaderFull;.m_rate:Ljava/util/concurrent/atomic/AtomicLong; // field@5de6 │ │ -41d83c: 54b7 e85d |0020: iget-object v7, v11, Lorg/purple/smoke/SteamReaderFull;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de8 │ │ -41d840: 6e10 df60 0700 |0022: invoke-virtual {v7}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ -41d846: 0b07 |0025: move-result-wide v7 │ │ -41d848: 54b9 e55d |0026: iget-object v9, v11, Lorg/purple/smoke/SteamReaderFull;.m_previousOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de5 │ │ -41d84c: 6e10 df60 0900 |0028: invoke-virtual {v9}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ -41d852: 0b09 |002b: move-result-wide v9 │ │ -41d854: bc97 |002c: sub-long/2addr v7, v9 │ │ -41d856: 8677 |002d: long-to-double v7, v7 │ │ -41d858: 8600 |002e: long-to-double v0, v0 │ │ -41d85a: 7120 2c5c 8700 |002f: invoke-static {v7, v8}, Ljava/lang/Double;.isNaN:(D)Z // method@5c2c │ │ -41d860: 7120 2c5c 1000 |0032: invoke-static {v0, v1}, Ljava/lang/Double;.isNaN:(D)Z // method@5c2c │ │ -41d866: ce07 |0035: div-double/2addr v7, v0 │ │ -41d868: 8b70 |0036: double-to-long v0, v7 │ │ -41d86a: 6e30 e160 0601 |0037: invoke-virtual {v6, v0, v1}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -41d870: 54b0 e65d |003a: iget-object v0, v11, Lorg/purple/smoke/SteamReaderFull;.m_rate:Ljava/util/concurrent/atomic/AtomicLong; // field@5de6 │ │ -41d874: 6e10 df60 0000 |003c: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ -41d87a: 0b00 |003f: move-result-wide v0 │ │ -41d87c: 1606 0000 |0040: const-wide/16 v6, #int 0 // #0 │ │ -41d880: 3108 0006 |0042: cmp-long v8, v0, v6 │ │ -41d884: 3d08 0900 |0044: if-lez v8, 004d // +0009 │ │ -41d888: 54b0 ec5d |0046: iget-object v0, v11, Lorg/purple/smoke/SteamReaderFull;.m_stalled:Ljava/util/concurrent/atomic/AtomicInteger; // field@5dec │ │ -41d88c: 1201 |0048: const/4 v1, #int 0 // #0 │ │ -41d88e: 6e20 dc60 1000 |0049: invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicInteger;.set:(I)V // method@60dc │ │ -41d894: 280f |004c: goto 005b // +000f │ │ -41d896: 54b0 ec5d |004d: iget-object v0, v11, Lorg/purple/smoke/SteamReaderFull;.m_stalled:Ljava/util/concurrent/atomic/AtomicInteger; // field@5dec │ │ -41d89a: 6e10 db60 0000 |004f: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.getAndIncrement:()I // method@60db │ │ -41d8a0: 0a00 |0052: move-result v0 │ │ -41d8a2: 1231 |0053: const/4 v1, #int 3 // #3 │ │ -41d8a4: 3610 0700 |0054: if-gt v0, v1, 005b // +0007 │ │ -41d8a8: 54b0 e65d |0056: iget-object v0, v11, Lorg/purple/smoke/SteamReaderFull;.m_rate:Ljava/util/concurrent/atomic/AtomicLong; // field@5de6 │ │ -41d8ac: 6e30 e160 4005 |0058: invoke-virtual {v0, v4, v5}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -41d8b2: 54b0 e55d |005b: iget-object v0, v11, Lorg/purple/smoke/SteamReaderFull;.m_previousOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de5 │ │ -41d8b6: 54b1 e85d |005d: iget-object v1, v11, Lorg/purple/smoke/SteamReaderFull;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de8 │ │ -41d8ba: 6e10 df60 0100 |005f: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ -41d8c0: 0b04 |0062: move-result-wide v4 │ │ -41d8c2: 6e30 e160 4005 |0063: invoke-virtual {v0, v4, v5}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -41d8c8: 54b0 ed5d |0066: iget-object v0, v11, Lorg/purple/smoke/SteamReaderFull;.m_time0:Ljava/util/concurrent/atomic/AtomicLong; // field@5ded │ │ -41d8cc: 7100 065d 0000 |0068: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ -41d8d2: 0b04 |006b: move-result-wide v4 │ │ -41d8d4: be24 |006c: div-long/2addr v4, v2 │ │ -41d8d6: 6e30 e160 4005 |006d: invoke-virtual {v0, v4, v5}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -41d8dc: 0e00 |0070: return-void │ │ +41d7e8: |[41d7e8] org.purple.smoke.SteamReaderFull.computeRate:()V │ │ +41d7f8: 7100 065d 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ +41d7fe: 0b00 |0003: move-result-wide v0 │ │ +41d800: 1602 e803 |0004: const-wide/16 v2, #int 1000 // #3e8 │ │ +41d804: be20 |0006: div-long/2addr v0, v2 │ │ +41d806: 54b4 ed5d |0007: iget-object v4, v11, Lorg/purple/smoke/SteamReaderFull;.m_time0:Ljava/util/concurrent/atomic/AtomicLong; // field@5ded │ │ +41d80a: 6e10 df60 0400 |0009: invoke-virtual {v4}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ +41d810: 0b04 |000c: move-result-wide v4 │ │ +41d812: bc40 |000d: sub-long/2addr v0, v4 │ │ +41d814: 7120 735c 1000 |000e: invoke-static {v0, v1}, Ljava/lang/Math;.abs:(J)J // method@5c73 │ │ +41d81a: 0b00 |0011: move-result-wide v0 │ │ +41d81c: 1604 0100 |0012: const-wide/16 v4, #int 1 // #1 │ │ +41d820: 3106 0004 |0014: cmp-long v6, v0, v4 │ │ +41d824: 3a06 5a00 |0016: if-ltz v6, 0070 // +005a │ │ +41d828: 54b4 e65d |0018: iget-object v4, v11, Lorg/purple/smoke/SteamReaderFull;.m_rate:Ljava/util/concurrent/atomic/AtomicLong; // field@5de6 │ │ +41d82c: 6e10 df60 0400 |001a: invoke-virtual {v4}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ +41d832: 0b04 |001d: move-result-wide v4 │ │ +41d834: 54b6 e65d |001e: iget-object v6, v11, Lorg/purple/smoke/SteamReaderFull;.m_rate:Ljava/util/concurrent/atomic/AtomicLong; // field@5de6 │ │ +41d838: 54b7 e85d |0020: iget-object v7, v11, Lorg/purple/smoke/SteamReaderFull;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de8 │ │ +41d83c: 6e10 df60 0700 |0022: invoke-virtual {v7}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ +41d842: 0b07 |0025: move-result-wide v7 │ │ +41d844: 54b9 e55d |0026: iget-object v9, v11, Lorg/purple/smoke/SteamReaderFull;.m_previousOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de5 │ │ +41d848: 6e10 df60 0900 |0028: invoke-virtual {v9}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ +41d84e: 0b09 |002b: move-result-wide v9 │ │ +41d850: bc97 |002c: sub-long/2addr v7, v9 │ │ +41d852: 8677 |002d: long-to-double v7, v7 │ │ +41d854: 8600 |002e: long-to-double v0, v0 │ │ +41d856: 7120 2c5c 8700 |002f: invoke-static {v7, v8}, Ljava/lang/Double;.isNaN:(D)Z // method@5c2c │ │ +41d85c: 7120 2c5c 1000 |0032: invoke-static {v0, v1}, Ljava/lang/Double;.isNaN:(D)Z // method@5c2c │ │ +41d862: ce07 |0035: div-double/2addr v7, v0 │ │ +41d864: 8b70 |0036: double-to-long v0, v7 │ │ +41d866: 6e30 e160 0601 |0037: invoke-virtual {v6, v0, v1}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +41d86c: 54b0 e65d |003a: iget-object v0, v11, Lorg/purple/smoke/SteamReaderFull;.m_rate:Ljava/util/concurrent/atomic/AtomicLong; // field@5de6 │ │ +41d870: 6e10 df60 0000 |003c: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ +41d876: 0b00 |003f: move-result-wide v0 │ │ +41d878: 1606 0000 |0040: const-wide/16 v6, #int 0 // #0 │ │ +41d87c: 3108 0006 |0042: cmp-long v8, v0, v6 │ │ +41d880: 3d08 0900 |0044: if-lez v8, 004d // +0009 │ │ +41d884: 54b0 ec5d |0046: iget-object v0, v11, Lorg/purple/smoke/SteamReaderFull;.m_stalled:Ljava/util/concurrent/atomic/AtomicInteger; // field@5dec │ │ +41d888: 1201 |0048: const/4 v1, #int 0 // #0 │ │ +41d88a: 6e20 dc60 1000 |0049: invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicInteger;.set:(I)V // method@60dc │ │ +41d890: 280f |004c: goto 005b // +000f │ │ +41d892: 54b0 ec5d |004d: iget-object v0, v11, Lorg/purple/smoke/SteamReaderFull;.m_stalled:Ljava/util/concurrent/atomic/AtomicInteger; // field@5dec │ │ +41d896: 6e10 db60 0000 |004f: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.getAndIncrement:()I // method@60db │ │ +41d89c: 0a00 |0052: move-result v0 │ │ +41d89e: 1231 |0053: const/4 v1, #int 3 // #3 │ │ +41d8a0: 3610 0700 |0054: if-gt v0, v1, 005b // +0007 │ │ +41d8a4: 54b0 e65d |0056: iget-object v0, v11, Lorg/purple/smoke/SteamReaderFull;.m_rate:Ljava/util/concurrent/atomic/AtomicLong; // field@5de6 │ │ +41d8a8: 6e30 e160 4005 |0058: invoke-virtual {v0, v4, v5}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +41d8ae: 54b0 e55d |005b: iget-object v0, v11, Lorg/purple/smoke/SteamReaderFull;.m_previousOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de5 │ │ +41d8b2: 54b1 e85d |005d: iget-object v1, v11, Lorg/purple/smoke/SteamReaderFull;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de8 │ │ +41d8b6: 6e10 df60 0100 |005f: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ +41d8bc: 0b04 |0062: move-result-wide v4 │ │ +41d8be: 6e30 e160 4005 |0063: invoke-virtual {v0, v4, v5}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +41d8c4: 54b0 ed5d |0066: iget-object v0, v11, Lorg/purple/smoke/SteamReaderFull;.m_time0:Ljava/util/concurrent/atomic/AtomicLong; // field@5ded │ │ +41d8c8: 7100 065d 0000 |0068: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ +41d8ce: 0b04 |006b: move-result-wide v4 │ │ +41d8d0: be24 |006c: div-long/2addr v4, v2 │ │ +41d8d2: 6e30 e160 4005 |006d: invoke-virtual {v0, v4, v5}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +41d8d8: 0e00 |0070: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=56 │ │ 0x0018 line=60 │ │ 0x001e line=62 │ │ 0x0022 line=63 │ │ 0x0028 line=64 │ │ @@ -1164892,28 +1164891,28 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 9 │ │ ins : 1 │ │ outs : 7 │ │ insns size : 27 16-bit code units │ │ -41d968: |[41d968] org.purple.smoke.SteamReaderFull.prepareReader:()V │ │ -41d978: 5480 ea5d |0000: iget-object v0, v8, Lorg/purple/smoke/SteamReaderFull;.m_reader:Ljava/util/concurrent/ScheduledExecutorService; // field@5dea │ │ -41d97c: 3900 1800 |0002: if-nez v0, 001a // +0018 │ │ -41d980: 7100 c460 0000 |0004: invoke-static {}, Ljava/util/concurrent/Executors;.newSingleThreadScheduledExecutor:()Ljava/util/concurrent/ScheduledExecutorService; // method@60c4 │ │ -41d986: 0c00 |0007: move-result-object v0 │ │ -41d988: 5b80 ea5d |0008: iput-object v0, v8, Lorg/purple/smoke/SteamReaderFull;.m_reader:Ljava/util/concurrent/ScheduledExecutorService; // field@5dea │ │ -41d98c: 5481 ea5d |000a: iget-object v1, v8, Lorg/purple/smoke/SteamReaderFull;.m_reader:Ljava/util/concurrent/ScheduledExecutorService; // field@5dea │ │ -41d990: 2202 a01a |000c: new-instance v2, Lorg/purple/smoke/SteamReaderFull$1; // type@1aa0 │ │ -41d994: 7020 12ba 8200 |000e: invoke-direct {v2, v8}, Lorg/purple/smoke/SteamReaderFull$1;.:(Lorg/purple/smoke/SteamReaderFull;)V // method@ba12 │ │ -41d99a: 1603 dc05 |0011: const-wide/16 v3, #int 1500 // #5dc │ │ -41d99e: 1605 fa00 |0013: const-wide/16 v5, #int 250 // #fa │ │ -41d9a2: 6207 eb2c |0015: sget-object v7, Ljava/util/concurrent/TimeUnit;.MILLISECONDS:Ljava/util/concurrent/TimeUnit; // field@2ceb │ │ -41d9a6: 7807 cc60 0100 |0017: invoke-interface/range {v1, v2, v3, v4, v5, v6, v7}, Ljava/util/concurrent/ScheduledExecutorService;.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; // method@60cc │ │ -41d9ac: 0e00 |001a: return-void │ │ +41d964: |[41d964] org.purple.smoke.SteamReaderFull.prepareReader:()V │ │ +41d974: 5480 ea5d |0000: iget-object v0, v8, Lorg/purple/smoke/SteamReaderFull;.m_reader:Ljava/util/concurrent/ScheduledExecutorService; // field@5dea │ │ +41d978: 3900 1800 |0002: if-nez v0, 001a // +0018 │ │ +41d97c: 7100 c460 0000 |0004: invoke-static {}, Ljava/util/concurrent/Executors;.newSingleThreadScheduledExecutor:()Ljava/util/concurrent/ScheduledExecutorService; // method@60c4 │ │ +41d982: 0c00 |0007: move-result-object v0 │ │ +41d984: 5b80 ea5d |0008: iput-object v0, v8, Lorg/purple/smoke/SteamReaderFull;.m_reader:Ljava/util/concurrent/ScheduledExecutorService; // field@5dea │ │ +41d988: 5481 ea5d |000a: iget-object v1, v8, Lorg/purple/smoke/SteamReaderFull;.m_reader:Ljava/util/concurrent/ScheduledExecutorService; // field@5dea │ │ +41d98c: 2202 a01a |000c: new-instance v2, Lorg/purple/smoke/SteamReaderFull$1; // type@1aa0 │ │ +41d990: 7020 12ba 8200 |000e: invoke-direct {v2, v8}, Lorg/purple/smoke/SteamReaderFull$1;.:(Lorg/purple/smoke/SteamReaderFull;)V // method@ba12 │ │ +41d996: 1603 dc05 |0011: const-wide/16 v3, #int 1500 // #5dc │ │ +41d99a: 1605 fa00 |0013: const-wide/16 v5, #int 250 // #fa │ │ +41d99e: 6207 eb2c |0015: sget-object v7, Ljava/util/concurrent/TimeUnit;.MILLISECONDS:Ljava/util/concurrent/TimeUnit; // field@2ceb │ │ +41d9a2: 7807 cc60 0100 |0017: invoke-interface/range {v1, v2, v3, v4, v5, v6, v7}, Ljava/util/concurrent/ScheduledExecutorService;.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; // method@60cc │ │ +41d9a8: 0e00 |001a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=78 │ │ 0x0004 line=80 │ │ 0x000a line=81 │ │ locals : │ │ 0x0000 - 0x001b reg=8 this Lorg/purple/smoke/SteamReaderFull; │ │ @@ -1164923,55 +1164922,55 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 75 16-bit code units │ │ -41d9b0: |[41d9b0] org.purple.smoke.SteamReaderFull.rewind:()V │ │ -41d9c0: 5440 dd5d |0000: iget-object v0, v4, Lorg/purple/smoke/SteamReaderFull;.m_completed:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5ddd │ │ -41d9c4: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -41d9c6: 6e20 d860 1000 |0003: invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -41d9cc: 1600 0000 |0006: const-wide/16 v0, #int 0 // #0 │ │ -41d9d0: 5442 e05d |0008: iget-object v2, v4, Lorg/purple/smoke/SteamReaderFull;.m_fileInputStreamMutex:Ljava/lang/Object; // field@5de0 │ │ -41d9d4: 1d02 |000a: monitor-enter v2 │ │ -41d9d6: 5443 df5d |000b: iget-object v3, v4, Lorg/purple/smoke/SteamReaderFull;.m_fileInputStream:Ljava/io/FileInputStream; // field@5ddf │ │ -41d9da: 3803 0b00 |000d: if-eqz v3, 0018 // +000b │ │ -41d9de: 5443 df5d |000f: iget-object v3, v4, Lorg/purple/smoke/SteamReaderFull;.m_fileInputStream:Ljava/io/FileInputStream; // field@5ddf │ │ -41d9e2: 6e10 a85b 0300 |0011: invoke-virtual {v3}, Ljava/io/FileInputStream;.getChannel:()Ljava/nio/channels/FileChannel; // method@5ba8 │ │ -41d9e8: 0c03 |0014: move-result-object v3 │ │ -41d9ea: 6e30 cb5d 0301 |0015: invoke-virtual {v3, v0, v1}, Ljava/nio/channels/FileChannel;.position:(J)Ljava/nio/channels/FileChannel; // method@5dcb │ │ -41d9f0: 1e02 |0018: monitor-exit v2 │ │ -41d9f2: 2804 |0019: goto 001d // +0004 │ │ -41d9f4: 0d03 |001a: move-exception v3 │ │ -41d9f6: 1e02 |001b: monitor-exit v2 │ │ -41d9f8: 2703 |001c: throw v3 │ │ -41d9fa: 1602 ffff |001d: const-wide/16 v2, #int -1 // #ffff │ │ -41d9fe: 5a42 e25d |001f: iput-wide v2, v4, Lorg/purple/smoke/SteamReaderFull;.m_lastReceivedOffset:J // field@5de2 │ │ -41da02: 5442 e35d |0021: iget-object v2, v4, Lorg/purple/smoke/SteamReaderFull;.m_lastResponse:Ljava/util/concurrent/atomic/AtomicLong; // field@5de3 │ │ -41da06: 6e30 e160 0201 |0023: invoke-virtual {v2, v0, v1}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -41da0c: 5442 e55d |0026: iget-object v2, v4, Lorg/purple/smoke/SteamReaderFull;.m_previousOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de5 │ │ -41da10: 6e30 e160 0201 |0028: invoke-virtual {v2, v0, v1}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -41da16: 5442 e75d |002b: iget-object v2, v4, Lorg/purple/smoke/SteamReaderFull;.m_read:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5de7 │ │ -41da1a: 1213 |002d: const/4 v3, #int 1 // #1 │ │ -41da1c: 6e20 d860 3200 |002e: invoke-virtual {v2, v3}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -41da22: 5442 e85d |0031: iget-object v2, v4, Lorg/purple/smoke/SteamReaderFull;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de8 │ │ -41da26: 6e30 e160 0201 |0033: invoke-virtual {v2, v0, v1}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -41da2c: 5442 e95d |0036: iget-object v2, v4, Lorg/purple/smoke/SteamReaderFull;.m_readResult:Ljava/util/concurrent/atomic/AtomicLong; // field@5de9 │ │ -41da30: 6e30 e160 0201 |0038: invoke-virtual {v2, v0, v1}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -41da36: 7010 25ba 0400 |003b: invoke-direct {v4}, Lorg/purple/smoke/SteamReaderFull;.saveReadOffset:()V // method@ba25 │ │ -41da3c: 5440 ee5d |003e: iget-object v0, v4, Lorg/purple/smoke/SteamReaderFull;.m_waitMutex:Ljava/lang/Object; // field@5dee │ │ -41da40: 1d00 |0040: monitor-enter v0 │ │ -41da42: 5441 ee5d |0041: iget-object v1, v4, Lorg/purple/smoke/SteamReaderFull;.m_waitMutex:Ljava/lang/Object; // field@5dee │ │ -41da46: 6e10 945c 0100 |0043: invoke-virtual {v1}, Ljava/lang/Object;.notify:()V // method@5c94 │ │ -41da4c: 1e00 |0046: monitor-exit v0 │ │ -41da4e: 0e00 |0047: return-void │ │ -41da50: 0d01 |0048: move-exception v1 │ │ -41da52: 1e00 |0049: monitor-exit v0 │ │ -41da54: 2701 |004a: throw v1 │ │ +41d9ac: |[41d9ac] org.purple.smoke.SteamReaderFull.rewind:()V │ │ +41d9bc: 5440 dd5d |0000: iget-object v0, v4, Lorg/purple/smoke/SteamReaderFull;.m_completed:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5ddd │ │ +41d9c0: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +41d9c2: 6e20 d860 1000 |0003: invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +41d9c8: 1600 0000 |0006: const-wide/16 v0, #int 0 // #0 │ │ +41d9cc: 5442 e05d |0008: iget-object v2, v4, Lorg/purple/smoke/SteamReaderFull;.m_fileInputStreamMutex:Ljava/lang/Object; // field@5de0 │ │ +41d9d0: 1d02 |000a: monitor-enter v2 │ │ +41d9d2: 5443 df5d |000b: iget-object v3, v4, Lorg/purple/smoke/SteamReaderFull;.m_fileInputStream:Ljava/io/FileInputStream; // field@5ddf │ │ +41d9d6: 3803 0b00 |000d: if-eqz v3, 0018 // +000b │ │ +41d9da: 5443 df5d |000f: iget-object v3, v4, Lorg/purple/smoke/SteamReaderFull;.m_fileInputStream:Ljava/io/FileInputStream; // field@5ddf │ │ +41d9de: 6e10 a85b 0300 |0011: invoke-virtual {v3}, Ljava/io/FileInputStream;.getChannel:()Ljava/nio/channels/FileChannel; // method@5ba8 │ │ +41d9e4: 0c03 |0014: move-result-object v3 │ │ +41d9e6: 6e30 cb5d 0301 |0015: invoke-virtual {v3, v0, v1}, Ljava/nio/channels/FileChannel;.position:(J)Ljava/nio/channels/FileChannel; // method@5dcb │ │ +41d9ec: 1e02 |0018: monitor-exit v2 │ │ +41d9ee: 2804 |0019: goto 001d // +0004 │ │ +41d9f0: 0d03 |001a: move-exception v3 │ │ +41d9f2: 1e02 |001b: monitor-exit v2 │ │ +41d9f4: 2703 |001c: throw v3 │ │ +41d9f6: 1602 ffff |001d: const-wide/16 v2, #int -1 // #ffff │ │ +41d9fa: 5a42 e25d |001f: iput-wide v2, v4, Lorg/purple/smoke/SteamReaderFull;.m_lastReceivedOffset:J // field@5de2 │ │ +41d9fe: 5442 e35d |0021: iget-object v2, v4, Lorg/purple/smoke/SteamReaderFull;.m_lastResponse:Ljava/util/concurrent/atomic/AtomicLong; // field@5de3 │ │ +41da02: 6e30 e160 0201 |0023: invoke-virtual {v2, v0, v1}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +41da08: 5442 e55d |0026: iget-object v2, v4, Lorg/purple/smoke/SteamReaderFull;.m_previousOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de5 │ │ +41da0c: 6e30 e160 0201 |0028: invoke-virtual {v2, v0, v1}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +41da12: 5442 e75d |002b: iget-object v2, v4, Lorg/purple/smoke/SteamReaderFull;.m_read:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5de7 │ │ +41da16: 1213 |002d: const/4 v3, #int 1 // #1 │ │ +41da18: 6e20 d860 3200 |002e: invoke-virtual {v2, v3}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +41da1e: 5442 e85d |0031: iget-object v2, v4, Lorg/purple/smoke/SteamReaderFull;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de8 │ │ +41da22: 6e30 e160 0201 |0033: invoke-virtual {v2, v0, v1}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +41da28: 5442 e95d |0036: iget-object v2, v4, Lorg/purple/smoke/SteamReaderFull;.m_readResult:Ljava/util/concurrent/atomic/AtomicLong; // field@5de9 │ │ +41da2c: 6e30 e160 0201 |0038: invoke-virtual {v2, v0, v1}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +41da32: 7010 25ba 0400 |003b: invoke-direct {v4}, Lorg/purple/smoke/SteamReaderFull;.saveReadOffset:()V // method@ba25 │ │ +41da38: 5440 ee5d |003e: iget-object v0, v4, Lorg/purple/smoke/SteamReaderFull;.m_waitMutex:Ljava/lang/Object; // field@5dee │ │ +41da3c: 1d00 |0040: monitor-enter v0 │ │ +41da3e: 5441 ee5d |0041: iget-object v1, v4, Lorg/purple/smoke/SteamReaderFull;.m_waitMutex:Ljava/lang/Object; // field@5dee │ │ +41da42: 6e10 945c 0100 |0043: invoke-virtual {v1}, Ljava/lang/Object;.notify:()V // method@5c94 │ │ +41da48: 1e00 |0046: monitor-exit v0 │ │ +41da4a: 0e00 |0047: return-void │ │ +41da4c: 0d01 |0048: move-exception v1 │ │ +41da4e: 1e00 |0049: monitor-exit v0 │ │ +41da50: 2701 |004a: throw v1 │ │ catches : 4 │ │ 0x0008 - 0x000b │ │ Ljava/lang/Exception; -> 0x001d │ │ 0x000b - 0x001c │ │ -> 0x001a │ │ 0x001c - 0x001d │ │ Ljava/lang/Exception; -> 0x001d │ │ @@ -1165001,28 +1165000,28 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 8 │ │ ins : 1 │ │ outs : 7 │ │ insns size : 26 16-bit code units │ │ -41da84: |[41da84] org.purple.smoke.SteamReaderFull.saveReadOffset:()V │ │ -41da94: 6200 f05d |0000: sget-object v0, Lorg/purple/smoke/SteamReaderFull;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5df0 │ │ -41da98: 6201 ef5d |0002: sget-object v1, Lorg/purple/smoke/SteamReaderFull;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5def │ │ -41da9c: 6e10 23ba 0700 |0004: invoke-virtual {v7}, Lorg/purple/smoke/SteamReaderFull;.prettyRate:()Ljava/lang/String; // method@ba23 │ │ -41daa2: 0c03 |0007: move-result-object v3 │ │ -41daa4: 5472 e45d |0008: iget-object v2, v7, Lorg/purple/smoke/SteamReaderFull;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5de4 │ │ -41daa8: 6e10 da60 0200 |000a: invoke-virtual {v2}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -41daae: 0a04 |000d: move-result v4 │ │ -41dab0: 5472 e85d |000e: iget-object v2, v7, Lorg/purple/smoke/SteamReaderFull;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de8 │ │ -41dab4: 6e10 df60 0200 |0010: invoke-virtual {v2}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ -41daba: 0b05 |0013: move-result-wide v5 │ │ -41dabc: 1a02 0000 |0014: const-string v2, "" // string@0000 │ │ -41dac0: 7407 39b6 0000 |0016: invoke-virtual/range {v0, v1, v2, v3, v4, v5, v6}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ -41dac6: 0e00 |0019: return-void │ │ +41da80: |[41da80] org.purple.smoke.SteamReaderFull.saveReadOffset:()V │ │ +41da90: 6200 f05d |0000: sget-object v0, Lorg/purple/smoke/SteamReaderFull;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5df0 │ │ +41da94: 6201 ef5d |0002: sget-object v1, Lorg/purple/smoke/SteamReaderFull;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5def │ │ +41da98: 6e10 23ba 0700 |0004: invoke-virtual {v7}, Lorg/purple/smoke/SteamReaderFull;.prettyRate:()Ljava/lang/String; // method@ba23 │ │ +41da9e: 0c03 |0007: move-result-object v3 │ │ +41daa0: 5472 e45d |0008: iget-object v2, v7, Lorg/purple/smoke/SteamReaderFull;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5de4 │ │ +41daa4: 6e10 da60 0200 |000a: invoke-virtual {v2}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +41daaa: 0a04 |000d: move-result v4 │ │ +41daac: 5472 e85d |000e: iget-object v2, v7, Lorg/purple/smoke/SteamReaderFull;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de8 │ │ +41dab0: 6e10 df60 0200 |0010: invoke-virtual {v2}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ +41dab6: 0b05 |0013: move-result-wide v5 │ │ +41dab8: 1a02 0000 |0014: const-string v2, "" // string@0000 │ │ +41dabc: 7407 39b6 0000 |0016: invoke-virtual/range {v0, v1, v2, v3, v4, v5, v6}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ +41dac2: 0e00 |0019: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=301 │ │ 0x0004 line=302 │ │ locals : │ │ 0x0000 - 0x001a reg=7 this Lorg/purple/smoke/SteamReaderFull; │ │ │ │ @@ -1165032,40 +1165031,40 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 49 16-bit code units │ │ -41d8e0: |[41d8e0] org.purple.smoke.SteamReaderFull.delete:()V │ │ -41d8f0: 5440 dc5d |0000: iget-object v0, v4, Lorg/purple/smoke/SteamReaderFull;.m_canceled:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5ddc │ │ -41d8f4: 1211 |0002: const/4 v1, #int 1 // #1 │ │ -41d8f6: 6e20 d860 1000 |0003: invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -41d8fc: 1600 ffff |0006: const-wide/16 v0, #int -1 // #ffff │ │ -41d900: 5a40 e25d |0008: iput-wide v0, v4, Lorg/purple/smoke/SteamReaderFull;.m_lastReceivedOffset:J // field@5de2 │ │ -41d904: 5440 e35d |000a: iget-object v0, v4, Lorg/purple/smoke/SteamReaderFull;.m_lastResponse:Ljava/util/concurrent/atomic/AtomicLong; // field@5de3 │ │ -41d908: 1601 0000 |000c: const-wide/16 v1, #int 0 // #0 │ │ -41d90c: 6e30 e160 1002 |000e: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -41d912: 5440 e55d |0011: iget-object v0, v4, Lorg/purple/smoke/SteamReaderFull;.m_previousOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de5 │ │ -41d916: 6e30 e160 1002 |0013: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -41d91c: 5440 e75d |0016: iget-object v0, v4, Lorg/purple/smoke/SteamReaderFull;.m_read:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5de7 │ │ -41d920: 1203 |0018: const/4 v3, #int 0 // #0 │ │ -41d922: 6e20 d860 3000 |0019: invoke-virtual {v0, v3}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -41d928: 5440 e95d |001c: iget-object v0, v4, Lorg/purple/smoke/SteamReaderFull;.m_readResult:Ljava/util/concurrent/atomic/AtomicLong; // field@5de9 │ │ -41d92c: 6e30 e160 1002 |001e: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -41d932: 5440 ee5d |0021: iget-object v0, v4, Lorg/purple/smoke/SteamReaderFull;.m_waitMutex:Ljava/lang/Object; // field@5dee │ │ -41d936: 1d00 |0023: monitor-enter v0 │ │ -41d938: 5441 ee5d |0024: iget-object v1, v4, Lorg/purple/smoke/SteamReaderFull;.m_waitMutex:Ljava/lang/Object; // field@5dee │ │ -41d93c: 6e10 945c 0100 |0026: invoke-virtual {v1}, Ljava/lang/Object;.notify:()V // method@5c94 │ │ -41d942: 1e00 |0029: monitor-exit v0 │ │ -41d944: 6f10 0eba 0400 |002a: invoke-super {v4}, Lorg/purple/smoke/SteamReader;.delete:()V // method@ba0e │ │ -41d94a: 0e00 |002d: return-void │ │ -41d94c: 0d01 |002e: move-exception v1 │ │ -41d94e: 1e00 |002f: monitor-exit v0 │ │ -41d950: 2701 |0030: throw v1 │ │ +41d8dc: |[41d8dc] org.purple.smoke.SteamReaderFull.delete:()V │ │ +41d8ec: 5440 dc5d |0000: iget-object v0, v4, Lorg/purple/smoke/SteamReaderFull;.m_canceled:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5ddc │ │ +41d8f0: 1211 |0002: const/4 v1, #int 1 // #1 │ │ +41d8f2: 6e20 d860 1000 |0003: invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +41d8f8: 1600 ffff |0006: const-wide/16 v0, #int -1 // #ffff │ │ +41d8fc: 5a40 e25d |0008: iput-wide v0, v4, Lorg/purple/smoke/SteamReaderFull;.m_lastReceivedOffset:J // field@5de2 │ │ +41d900: 5440 e35d |000a: iget-object v0, v4, Lorg/purple/smoke/SteamReaderFull;.m_lastResponse:Ljava/util/concurrent/atomic/AtomicLong; // field@5de3 │ │ +41d904: 1601 0000 |000c: const-wide/16 v1, #int 0 // #0 │ │ +41d908: 6e30 e160 1002 |000e: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +41d90e: 5440 e55d |0011: iget-object v0, v4, Lorg/purple/smoke/SteamReaderFull;.m_previousOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de5 │ │ +41d912: 6e30 e160 1002 |0013: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +41d918: 5440 e75d |0016: iget-object v0, v4, Lorg/purple/smoke/SteamReaderFull;.m_read:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5de7 │ │ +41d91c: 1203 |0018: const/4 v3, #int 0 // #0 │ │ +41d91e: 6e20 d860 3000 |0019: invoke-virtual {v0, v3}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +41d924: 5440 e95d |001c: iget-object v0, v4, Lorg/purple/smoke/SteamReaderFull;.m_readResult:Ljava/util/concurrent/atomic/AtomicLong; // field@5de9 │ │ +41d928: 6e30 e160 1002 |001e: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +41d92e: 5440 ee5d |0021: iget-object v0, v4, Lorg/purple/smoke/SteamReaderFull;.m_waitMutex:Ljava/lang/Object; // field@5dee │ │ +41d932: 1d00 |0023: monitor-enter v0 │ │ +41d934: 5441 ee5d |0024: iget-object v1, v4, Lorg/purple/smoke/SteamReaderFull;.m_waitMutex:Ljava/lang/Object; // field@5dee │ │ +41d938: 6e10 945c 0100 |0026: invoke-virtual {v1}, Ljava/lang/Object;.notify:()V // method@5c94 │ │ +41d93e: 1e00 |0029: monitor-exit v0 │ │ +41d940: 6f10 0eba 0400 |002a: invoke-super {v4}, Lorg/purple/smoke/SteamReader;.delete:()V // method@ba0e │ │ +41d946: 0e00 |002d: return-void │ │ +41d948: 0d01 |002e: move-exception v1 │ │ +41d94a: 1e00 |002f: monitor-exit v0 │ │ +41d94c: 2701 |0030: throw v1 │ │ catches : 2 │ │ 0x0024 - 0x002a │ │ -> 0x002e │ │ 0x002f - 0x0030 │ │ -> 0x002e │ │ positions : │ │ 0x0000 line=332 │ │ @@ -1165087,17 +1165086,17 @@ │ │ type : '()[B' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41d628: |[41d628] org.purple.smoke.SteamReaderFull.fileIdentity:()[B │ │ -41d638: 5410 de5d |0000: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull;.m_fileIdentity:[B // field@5dde │ │ -41d63c: 1100 |0002: return-object v0 │ │ +41d624: |[41d624] org.purple.smoke.SteamReaderFull.fileIdentity:()[B │ │ +41d634: 5410 de5d |0000: iget-object v0, v1, Lorg/purple/smoke/SteamReaderFull;.m_fileIdentity:[B // field@5dde │ │ +41d638: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=327 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lorg/purple/smoke/SteamReaderFull; │ │ │ │ #2 : (in Lorg/purple/smoke/SteamReaderFull;) │ │ @@ -1165105,83 +1165104,83 @@ │ │ type : '(J)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 14 │ │ ins : 3 │ │ outs : 7 │ │ insns size : 128 16-bit code units │ │ -41dac8: |[41dac8] org.purple.smoke.SteamReaderFull.setAcknowledgedOffset:(J)V │ │ -41dad8: 1600 0000 |0000: const-wide/16 v0, #int 0 // #0 │ │ -41dadc: 3102 0c00 |0002: cmp-long v2, v12, v0 │ │ -41dae0: 3b02 0300 |0004: if-gez v2, 0007 // +0003 │ │ -41dae4: 0e00 |0006: return-void │ │ -41dae6: 53b0 e25d |0007: iget-wide v0, v11, Lorg/purple/smoke/SteamReaderFull;.m_lastReceivedOffset:J // field@5de2 │ │ -41daea: 1212 |0009: const/4 v2, #int 1 // #1 │ │ -41daec: 1203 |000a: const/4 v3, #int 0 // #0 │ │ -41daee: 3104 000c |000b: cmp-long v4, v0, v12 │ │ -41daf2: 3804 2700 |000d: if-eqz v4, 0034 // +0027 │ │ -41daf6: 54b0 e85d |000f: iget-object v0, v11, Lorg/purple/smoke/SteamReaderFull;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de8 │ │ -41dafa: 6e10 df60 0000 |0011: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ -41db00: 0b00 |0014: move-result-wide v0 │ │ -41db02: 3104 000c |0015: cmp-long v4, v0, v12 │ │ -41db06: 3904 1d00 |0017: if-nez v4, 0034 // +001d │ │ -41db0a: 5abc e25d |0019: iput-wide v12, v11, Lorg/purple/smoke/SteamReaderFull;.m_lastReceivedOffset:J // field@5de2 │ │ -41db0e: 54b0 e35d |001b: iget-object v0, v11, Lorg/purple/smoke/SteamReaderFull;.m_lastResponse:Ljava/util/concurrent/atomic/AtomicLong; // field@5de3 │ │ -41db12: 7100 065d 0000 |001d: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ -41db18: 0b04 |0020: move-result-wide v4 │ │ -41db1a: 6e30 e160 4005 |0021: invoke-virtual {v0, v4, v5}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -41db20: 54b0 e85d |0024: iget-object v0, v11, Lorg/purple/smoke/SteamReaderFull;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de8 │ │ -41db24: 54b1 e95d |0026: iget-object v1, v11, Lorg/purple/smoke/SteamReaderFull;.m_readResult:Ljava/util/concurrent/atomic/AtomicLong; // field@5de9 │ │ -41db28: 6e10 df60 0100 |0028: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ -41db2e: 0b04 |002b: move-result-wide v4 │ │ -41db30: 6e30 de60 4005 |002c: invoke-virtual {v0, v4, v5}, Ljava/util/concurrent/atomic/AtomicLong;.addAndGet:(J)J // method@60de │ │ -41db36: 7010 25ba 0b00 |002f: invoke-direct {v11}, Lorg/purple/smoke/SteamReaderFull;.saveReadOffset:()V // method@ba25 │ │ -41db3c: 1210 |0032: const/4 v0, #int 1 // #1 │ │ -41db3e: 2802 |0033: goto 0035 // +0002 │ │ -41db40: 1200 |0034: const/4 v0, #int 0 // #0 │ │ -41db42: 54b1 e15d |0035: iget-object v1, v11, Lorg/purple/smoke/SteamReaderFull;.m_fileSize:Ljava/util/concurrent/atomic/AtomicLong; // field@5de1 │ │ -41db46: 6e10 df60 0100 |0037: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ -41db4c: 0b04 |003a: move-result-wide v4 │ │ -41db4e: 54b1 e85d |003b: iget-object v1, v11, Lorg/purple/smoke/SteamReaderFull;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de8 │ │ -41db52: 6e10 df60 0100 |003d: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ -41db58: 0b06 |0040: move-result-wide v6 │ │ -41db5a: 3101 0406 |0041: cmp-long v1, v4, v6 │ │ -41db5e: 3801 0f00 |0043: if-eqz v1, 0052 // +000f │ │ -41db62: 54b1 e15d |0045: iget-object v1, v11, Lorg/purple/smoke/SteamReaderFull;.m_fileSize:Ljava/util/concurrent/atomic/AtomicLong; // field@5de1 │ │ -41db66: 6e10 df60 0100 |0047: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ -41db6c: 0b04 |004a: move-result-wide v4 │ │ -41db6e: 3101 040c |004b: cmp-long v1, v4, v12 │ │ -41db72: 3901 0300 |004d: if-nez v1, 0050 // +0003 │ │ -41db76: 2803 |004f: goto 0052 // +0003 │ │ -41db78: 0103 |0050: move v3, v0 │ │ -41db7a: 281d |0051: goto 006e // +001d │ │ -41db7c: 54bc dd5d |0052: iget-object v12, v11, Lorg/purple/smoke/SteamReaderFull;.m_completed:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5ddd │ │ -41db80: 6e20 d860 2c00 |0054: invoke-virtual {v12, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -41db86: 6204 f05d |0057: sget-object v4, Lorg/purple/smoke/SteamReaderFull;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5df0 │ │ -41db8a: 6205 ef5d |0059: sget-object v5, Lorg/purple/smoke/SteamReaderFull;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5def │ │ -41db8e: 1a06 ae5e |005b: const-string v6, "completed" // string@5eae │ │ -41db92: 1a07 0000 |005d: const-string v7, "" // string@0000 │ │ -41db96: 54bc e45d |005f: iget-object v12, v11, Lorg/purple/smoke/SteamReaderFull;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5de4 │ │ -41db9a: 6e10 da60 0c00 |0061: invoke-virtual {v12}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -41dba0: 0a08 |0064: move-result v8 │ │ -41dba2: 54bc e85d |0065: iget-object v12, v11, Lorg/purple/smoke/SteamReaderFull;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de8 │ │ -41dba6: 6e10 df60 0c00 |0067: invoke-virtual {v12}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ -41dbac: 0b09 |006a: move-result-wide v9 │ │ -41dbae: 7407 39b6 0400 |006b: invoke-virtual/range {v4, v5, v6, v7, v8, v9, v10}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ -41dbb4: 54bc e75d |006e: iget-object v12, v11, Lorg/purple/smoke/SteamReaderFull;.m_read:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5de7 │ │ -41dbb8: 6e20 d860 3c00 |0070: invoke-virtual {v12, v3}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -41dbbe: 54bc ee5d |0073: iget-object v12, v11, Lorg/purple/smoke/SteamReaderFull;.m_waitMutex:Ljava/lang/Object; // field@5dee │ │ -41dbc2: 1d0c |0075: monitor-enter v12 │ │ -41dbc4: 54bd ee5d |0076: iget-object v13, v11, Lorg/purple/smoke/SteamReaderFull;.m_waitMutex:Ljava/lang/Object; // field@5dee │ │ -41dbc8: 6e10 945c 0d00 |0078: invoke-virtual {v13}, Ljava/lang/Object;.notify:()V // method@5c94 │ │ -41dbce: 1e0c |007b: monitor-exit v12 │ │ -41dbd0: 0e00 |007c: return-void │ │ -41dbd2: 0d0d |007d: move-exception v13 │ │ -41dbd4: 1e0c |007e: monitor-exit v12 │ │ -41dbd6: 270d |007f: throw v13 │ │ +41dac4: |[41dac4] org.purple.smoke.SteamReaderFull.setAcknowledgedOffset:(J)V │ │ +41dad4: 1600 0000 |0000: const-wide/16 v0, #int 0 // #0 │ │ +41dad8: 3102 0c00 |0002: cmp-long v2, v12, v0 │ │ +41dadc: 3b02 0300 |0004: if-gez v2, 0007 // +0003 │ │ +41dae0: 0e00 |0006: return-void │ │ +41dae2: 53b0 e25d |0007: iget-wide v0, v11, Lorg/purple/smoke/SteamReaderFull;.m_lastReceivedOffset:J // field@5de2 │ │ +41dae6: 1212 |0009: const/4 v2, #int 1 // #1 │ │ +41dae8: 1203 |000a: const/4 v3, #int 0 // #0 │ │ +41daea: 3104 000c |000b: cmp-long v4, v0, v12 │ │ +41daee: 3804 2700 |000d: if-eqz v4, 0034 // +0027 │ │ +41daf2: 54b0 e85d |000f: iget-object v0, v11, Lorg/purple/smoke/SteamReaderFull;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de8 │ │ +41daf6: 6e10 df60 0000 |0011: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ +41dafc: 0b00 |0014: move-result-wide v0 │ │ +41dafe: 3104 000c |0015: cmp-long v4, v0, v12 │ │ +41db02: 3904 1d00 |0017: if-nez v4, 0034 // +001d │ │ +41db06: 5abc e25d |0019: iput-wide v12, v11, Lorg/purple/smoke/SteamReaderFull;.m_lastReceivedOffset:J // field@5de2 │ │ +41db0a: 54b0 e35d |001b: iget-object v0, v11, Lorg/purple/smoke/SteamReaderFull;.m_lastResponse:Ljava/util/concurrent/atomic/AtomicLong; // field@5de3 │ │ +41db0e: 7100 065d 0000 |001d: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ +41db14: 0b04 |0020: move-result-wide v4 │ │ +41db16: 6e30 e160 4005 |0021: invoke-virtual {v0, v4, v5}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +41db1c: 54b0 e85d |0024: iget-object v0, v11, Lorg/purple/smoke/SteamReaderFull;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de8 │ │ +41db20: 54b1 e95d |0026: iget-object v1, v11, Lorg/purple/smoke/SteamReaderFull;.m_readResult:Ljava/util/concurrent/atomic/AtomicLong; // field@5de9 │ │ +41db24: 6e10 df60 0100 |0028: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ +41db2a: 0b04 |002b: move-result-wide v4 │ │ +41db2c: 6e30 de60 4005 |002c: invoke-virtual {v0, v4, v5}, Ljava/util/concurrent/atomic/AtomicLong;.addAndGet:(J)J // method@60de │ │ +41db32: 7010 25ba 0b00 |002f: invoke-direct {v11}, Lorg/purple/smoke/SteamReaderFull;.saveReadOffset:()V // method@ba25 │ │ +41db38: 1210 |0032: const/4 v0, #int 1 // #1 │ │ +41db3a: 2802 |0033: goto 0035 // +0002 │ │ +41db3c: 1200 |0034: const/4 v0, #int 0 // #0 │ │ +41db3e: 54b1 e15d |0035: iget-object v1, v11, Lorg/purple/smoke/SteamReaderFull;.m_fileSize:Ljava/util/concurrent/atomic/AtomicLong; // field@5de1 │ │ +41db42: 6e10 df60 0100 |0037: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ +41db48: 0b04 |003a: move-result-wide v4 │ │ +41db4a: 54b1 e85d |003b: iget-object v1, v11, Lorg/purple/smoke/SteamReaderFull;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de8 │ │ +41db4e: 6e10 df60 0100 |003d: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ +41db54: 0b06 |0040: move-result-wide v6 │ │ +41db56: 3101 0406 |0041: cmp-long v1, v4, v6 │ │ +41db5a: 3801 0f00 |0043: if-eqz v1, 0052 // +000f │ │ +41db5e: 54b1 e15d |0045: iget-object v1, v11, Lorg/purple/smoke/SteamReaderFull;.m_fileSize:Ljava/util/concurrent/atomic/AtomicLong; // field@5de1 │ │ +41db62: 6e10 df60 0100 |0047: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ +41db68: 0b04 |004a: move-result-wide v4 │ │ +41db6a: 3101 040c |004b: cmp-long v1, v4, v12 │ │ +41db6e: 3901 0300 |004d: if-nez v1, 0050 // +0003 │ │ +41db72: 2803 |004f: goto 0052 // +0003 │ │ +41db74: 0103 |0050: move v3, v0 │ │ +41db76: 281d |0051: goto 006e // +001d │ │ +41db78: 54bc dd5d |0052: iget-object v12, v11, Lorg/purple/smoke/SteamReaderFull;.m_completed:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5ddd │ │ +41db7c: 6e20 d860 2c00 |0054: invoke-virtual {v12, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +41db82: 6204 f05d |0057: sget-object v4, Lorg/purple/smoke/SteamReaderFull;.s_databaseHelper:Lorg/purple/smoke/Database; // field@5df0 │ │ +41db86: 6205 ef5d |0059: sget-object v5, Lorg/purple/smoke/SteamReaderFull;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5def │ │ +41db8a: 1a06 ae5e |005b: const-string v6, "completed" // string@5eae │ │ +41db8e: 1a07 0000 |005d: const-string v7, "" // string@0000 │ │ +41db92: 54bc e45d |005f: iget-object v12, v11, Lorg/purple/smoke/SteamReaderFull;.m_oid:Ljava/util/concurrent/atomic/AtomicInteger; // field@5de4 │ │ +41db96: 6e10 da60 0c00 |0061: invoke-virtual {v12}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +41db9c: 0a08 |0064: move-result v8 │ │ +41db9e: 54bc e85d |0065: iget-object v12, v11, Lorg/purple/smoke/SteamReaderFull;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5de8 │ │ +41dba2: 6e10 df60 0c00 |0067: invoke-virtual {v12}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ +41dba8: 0b09 |006a: move-result-wide v9 │ │ +41dbaa: 7407 39b6 0400 |006b: invoke-virtual/range {v4, v5, v6, v7, v8, v9, v10}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ +41dbb0: 54bc e75d |006e: iget-object v12, v11, Lorg/purple/smoke/SteamReaderFull;.m_read:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5de7 │ │ +41dbb4: 6e20 d860 3c00 |0070: invoke-virtual {v12, v3}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +41dbba: 54bc ee5d |0073: iget-object v12, v11, Lorg/purple/smoke/SteamReaderFull;.m_waitMutex:Ljava/lang/Object; // field@5dee │ │ +41dbbe: 1d0c |0075: monitor-enter v12 │ │ +41dbc0: 54bd ee5d |0076: iget-object v13, v11, Lorg/purple/smoke/SteamReaderFull;.m_waitMutex:Ljava/lang/Object; // field@5dee │ │ +41dbc4: 6e10 945c 0d00 |0078: invoke-virtual {v13}, Ljava/lang/Object;.notify:()V // method@5c94 │ │ +41dbca: 1e0c |007b: monitor-exit v12 │ │ +41dbcc: 0e00 |007c: return-void │ │ +41dbce: 0d0d |007d: move-exception v13 │ │ +41dbd0: 1e0c |007e: monitor-exit v12 │ │ +41dbd2: 270d |007f: throw v13 │ │ catches : 1 │ │ 0x0076 - 0x007f │ │ -> 0x007d │ │ positions : │ │ 0x0007 line=358 │ │ 0x0011 line=362 │ │ 0x0019 line=364 │ │ @@ -1165208,16 +1165207,16 @@ │ │ type : '(I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -41dbe4: |[41dbe4] org.purple.smoke.SteamReaderFull.setReadInterval:(I)V │ │ -41dbf4: 0e00 |0000: return-void │ │ +41dbe0: |[41dbe0] org.purple.smoke.SteamReaderFull.setReadInterval:(I)V │ │ +41dbf0: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ source_file_idx : 19290 (SteamReaderFull.java) │ │ │ │ Class #4269 header: │ │ @@ -1165256,33 +1165255,33 @@ │ │ type : '(Ljava/lang/String;IJJ)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 7 │ │ ins : 7 │ │ outs : 5 │ │ insns size : 37 16-bit code units │ │ -41e01c: |[41e01c] org.purple.smoke.SteamReaderSimple.:(Ljava/lang/String;IJJ)V │ │ -41e02c: 7056 0bba 1052 |0000: invoke-direct {v0, v1, v2, v5, v6}, Lorg/purple/smoke/SteamReader;.:(Ljava/lang/String;IJ)V // method@ba0b │ │ -41e032: 1201 |0003: const/4 v1, #int 0 // #0 │ │ -41e034: 5b01 f75d |0004: iput-object v1, v0, Lorg/purple/smoke/SteamReaderSimple;.m_lastBytesSent:Ljava/util/concurrent/atomic/AtomicLong; // field@5df7 │ │ -41e038: 5b01 fa5d |0006: iput-object v1, v0, Lorg/purple/smoke/SteamReaderSimple;.m_readInterval:Ljava/util/concurrent/atomic/AtomicLong; // field@5dfa │ │ -41e03c: 2201 e70b |0008: new-instance v1, Ljava/util/concurrent/atomic/AtomicLong; // type@0be7 │ │ -41e040: 1605 0000 |000a: const-wide/16 v5, #int 0 // #0 │ │ -41e044: 7030 dd60 5106 |000c: invoke-direct {v1, v5, v6}, Ljava/util/concurrent/atomic/AtomicLong;.:(J)V // method@60dd │ │ -41e04a: 5b01 f75d |000f: iput-object v1, v0, Lorg/purple/smoke/SteamReaderSimple;.m_lastBytesSent:Ljava/util/concurrent/atomic/AtomicLong; // field@5df7 │ │ -41e04e: 2201 e70b |0011: new-instance v1, Ljava/util/concurrent/atomic/AtomicLong; // type@0be7 │ │ -41e052: 1605 0400 |0013: const-wide/16 v5, #int 4 // #4 │ │ -41e056: 7140 7f5c 6543 |0015: invoke-static {v5, v6, v3, v4}, Ljava/lang/Math;.max:(JJ)J // method@5c7f │ │ -41e05c: 0b02 |0018: move-result-wide v2 │ │ -41e05e: 1604 e803 |0019: const-wide/16 v4, #int 1000 // #3e8 │ │ -41e062: be24 |001b: div-long/2addr v4, v2 │ │ -41e064: 7030 dd60 4105 |001c: invoke-direct {v1, v4, v5}, Ljava/util/concurrent/atomic/AtomicLong;.:(J)V // method@60dd │ │ -41e06a: 5b01 fa5d |001f: iput-object v1, v0, Lorg/purple/smoke/SteamReaderSimple;.m_readInterval:Ljava/util/concurrent/atomic/AtomicLong; // field@5dfa │ │ -41e06e: 7010 30ba 0000 |0021: invoke-direct {v0}, Lorg/purple/smoke/SteamReaderSimple;.prepareReader:()V // method@ba30 │ │ -41e074: 0e00 |0024: return-void │ │ +41e018: |[41e018] org.purple.smoke.SteamReaderSimple.:(Ljava/lang/String;IJJ)V │ │ +41e028: 7056 0bba 1052 |0000: invoke-direct {v0, v1, v2, v5, v6}, Lorg/purple/smoke/SteamReader;.:(Ljava/lang/String;IJ)V // method@ba0b │ │ +41e02e: 1201 |0003: const/4 v1, #int 0 // #0 │ │ +41e030: 5b01 f75d |0004: iput-object v1, v0, Lorg/purple/smoke/SteamReaderSimple;.m_lastBytesSent:Ljava/util/concurrent/atomic/AtomicLong; // field@5df7 │ │ +41e034: 5b01 fa5d |0006: iput-object v1, v0, Lorg/purple/smoke/SteamReaderSimple;.m_readInterval:Ljava/util/concurrent/atomic/AtomicLong; // field@5dfa │ │ +41e038: 2201 e70b |0008: new-instance v1, Ljava/util/concurrent/atomic/AtomicLong; // type@0be7 │ │ +41e03c: 1605 0000 |000a: const-wide/16 v5, #int 0 // #0 │ │ +41e040: 7030 dd60 5106 |000c: invoke-direct {v1, v5, v6}, Ljava/util/concurrent/atomic/AtomicLong;.:(J)V // method@60dd │ │ +41e046: 5b01 f75d |000f: iput-object v1, v0, Lorg/purple/smoke/SteamReaderSimple;.m_lastBytesSent:Ljava/util/concurrent/atomic/AtomicLong; // field@5df7 │ │ +41e04a: 2201 e70b |0011: new-instance v1, Ljava/util/concurrent/atomic/AtomicLong; // type@0be7 │ │ +41e04e: 1605 0400 |0013: const-wide/16 v5, #int 4 // #4 │ │ +41e052: 7140 7f5c 6543 |0015: invoke-static {v5, v6, v3, v4}, Ljava/lang/Math;.max:(JJ)J // method@5c7f │ │ +41e058: 0b02 |0018: move-result-wide v2 │ │ +41e05a: 1604 e803 |0019: const-wide/16 v4, #int 1000 // #3e8 │ │ +41e05e: be24 |001b: div-long/2addr v4, v2 │ │ +41e060: 7030 dd60 4105 |001c: invoke-direct {v1, v4, v5}, Ljava/util/concurrent/atomic/AtomicLong;.:(J)V // method@60dd │ │ +41e066: 5b01 fa5d |001f: iput-object v1, v0, Lorg/purple/smoke/SteamReaderSimple;.m_readInterval:Ljava/util/concurrent/atomic/AtomicLong; // field@5dfa │ │ +41e06a: 7010 30ba 0000 |0021: invoke-direct {v0}, Lorg/purple/smoke/SteamReaderSimple;.prepareReader:()V // method@ba30 │ │ +41e070: 0e00 |0024: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=220 │ │ 0x0004 line=41 │ │ 0x0006 line=42 │ │ 0x0008 line=221 │ │ 0x0011 line=222 │ │ @@ -1165299,17 +1165298,17 @@ │ │ type : '(Lorg/purple/smoke/SteamReaderSimple;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -41e078: |[41e078] org.purple.smoke.SteamReaderSimple.access$000:(Lorg/purple/smoke/SteamReaderSimple;)V │ │ -41e088: 7010 32ba 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/SteamReaderSimple;.rewind:()V // method@ba32 │ │ -41e08e: 0e00 |0003: return-void │ │ +41e074: |[41e074] org.purple.smoke.SteamReaderSimple.access$000:(Lorg/purple/smoke/SteamReaderSimple;)V │ │ +41e084: 7010 32ba 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/SteamReaderSimple;.rewind:()V // method@ba32 │ │ +41e08a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=35 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/SteamReaderSimple; │ │ │ │ #2 : (in Lorg/purple/smoke/SteamReaderSimple;) │ │ @@ -1165317,17 +1165316,17 @@ │ │ type : '(Lorg/purple/smoke/SteamReaderSimple;J)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 4 16-bit code units │ │ -41e090: |[41e090] org.purple.smoke.SteamReaderSimple.access$100:(Lorg/purple/smoke/SteamReaderSimple;J)V │ │ -41e0a0: 7030 2eba 1002 |0000: invoke-direct {v0, v1, v2}, Lorg/purple/smoke/SteamReaderSimple;.computeRate:(J)V // method@ba2e │ │ -41e0a6: 0e00 |0003: return-void │ │ +41e08c: |[41e08c] org.purple.smoke.SteamReaderSimple.access$100:(Lorg/purple/smoke/SteamReaderSimple;J)V │ │ +41e09c: 7030 2eba 1002 |0000: invoke-direct {v0, v1, v2}, Lorg/purple/smoke/SteamReaderSimple;.computeRate:(J)V // method@ba2e │ │ +41e0a2: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=35 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/SteamReaderSimple; │ │ 0x0000 - 0x0004 reg=1 (null) J │ │ │ │ @@ -1165336,49 +1165335,49 @@ │ │ type : '(J)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 7 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 67 16-bit code units │ │ -41e0a8: |[41e0a8] org.purple.smoke.SteamReaderSimple.computeRate:(J)V │ │ -41e0b8: 7100 065d 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ -41e0be: 0b00 |0003: move-result-wide v0 │ │ -41e0c0: 5442 fd5d |0004: iget-object v2, v4, Lorg/purple/smoke/SteamReaderSimple;.m_time0:Ljava/util/concurrent/atomic/AtomicLong; // field@5dfd │ │ -41e0c4: 6e10 df60 0200 |0006: invoke-virtual {v2}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ -41e0ca: 0b02 |0009: move-result-wide v2 │ │ -41e0cc: bc20 |000a: sub-long/2addr v0, v2 │ │ -41e0ce: 7120 735c 1000 |000b: invoke-static {v0, v1}, Ljava/lang/Math;.abs:(J)J // method@5c73 │ │ -41e0d4: 0b00 |000e: move-result-wide v0 │ │ -41e0d6: 1602 e803 |000f: const-wide/16 v2, #int 1000 // #3e8 │ │ -41e0da: be20 |0011: div-long/2addr v0, v2 │ │ -41e0dc: 5442 f75d |0012: iget-object v2, v4, Lorg/purple/smoke/SteamReaderSimple;.m_lastBytesSent:Ljava/util/concurrent/atomic/AtomicLong; // field@5df7 │ │ -41e0e0: 6e30 e060 5206 |0014: invoke-virtual {v2, v5, v6}, Ljava/util/concurrent/atomic/AtomicLong;.getAndAdd:(J)J // method@60e0 │ │ -41e0e6: 1605 0100 |0017: const-wide/16 v5, #int 1 // #1 │ │ -41e0ea: 3102 0005 |0019: cmp-long v2, v0, v5 │ │ -41e0ee: 3a02 2700 |001b: if-ltz v2, 0042 // +0027 │ │ -41e0f2: 5445 f95d |001d: iget-object v5, v4, Lorg/purple/smoke/SteamReaderSimple;.m_rate:Ljava/util/concurrent/atomic/AtomicLong; // field@5df9 │ │ -41e0f6: 5446 f75d |001f: iget-object v6, v4, Lorg/purple/smoke/SteamReaderSimple;.m_lastBytesSent:Ljava/util/concurrent/atomic/AtomicLong; // field@5df7 │ │ -41e0fa: 6e10 df60 0600 |0021: invoke-virtual {v6}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ -41e100: 0b02 |0024: move-result-wide v2 │ │ -41e102: 8622 |0025: long-to-double v2, v2 │ │ -41e104: 8600 |0026: long-to-double v0, v0 │ │ -41e106: 7120 2c5c 3200 |0027: invoke-static {v2, v3}, Ljava/lang/Double;.isNaN:(D)Z // method@5c2c │ │ -41e10c: 7120 2c5c 1000 |002a: invoke-static {v0, v1}, Ljava/lang/Double;.isNaN:(D)Z // method@5c2c │ │ -41e112: ce02 |002d: div-double/2addr v2, v0 │ │ -41e114: 8b20 |002e: double-to-long v0, v2 │ │ -41e116: 6e30 e160 0501 |002f: invoke-virtual {v5, v0, v1}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -41e11c: 5445 f75d |0032: iget-object v5, v4, Lorg/purple/smoke/SteamReaderSimple;.m_lastBytesSent:Ljava/util/concurrent/atomic/AtomicLong; // field@5df7 │ │ -41e120: 1600 0000 |0034: const-wide/16 v0, #int 0 // #0 │ │ -41e124: 6e30 e160 0501 |0036: invoke-virtual {v5, v0, v1}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -41e12a: 5445 fd5d |0039: iget-object v5, v4, Lorg/purple/smoke/SteamReaderSimple;.m_time0:Ljava/util/concurrent/atomic/AtomicLong; // field@5dfd │ │ -41e12e: 7100 065d 0000 |003b: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ -41e134: 0b00 |003e: move-result-wide v0 │ │ -41e136: 6e30 e160 0501 |003f: invoke-virtual {v5, v0, v1}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -41e13c: 0e00 |0042: return-void │ │ +41e0a4: |[41e0a4] org.purple.smoke.SteamReaderSimple.computeRate:(J)V │ │ +41e0b4: 7100 065d 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ +41e0ba: 0b00 |0003: move-result-wide v0 │ │ +41e0bc: 5442 fd5d |0004: iget-object v2, v4, Lorg/purple/smoke/SteamReaderSimple;.m_time0:Ljava/util/concurrent/atomic/AtomicLong; // field@5dfd │ │ +41e0c0: 6e10 df60 0200 |0006: invoke-virtual {v2}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ +41e0c6: 0b02 |0009: move-result-wide v2 │ │ +41e0c8: bc20 |000a: sub-long/2addr v0, v2 │ │ +41e0ca: 7120 735c 1000 |000b: invoke-static {v0, v1}, Ljava/lang/Math;.abs:(J)J // method@5c73 │ │ +41e0d0: 0b00 |000e: move-result-wide v0 │ │ +41e0d2: 1602 e803 |000f: const-wide/16 v2, #int 1000 // #3e8 │ │ +41e0d6: be20 |0011: div-long/2addr v0, v2 │ │ +41e0d8: 5442 f75d |0012: iget-object v2, v4, Lorg/purple/smoke/SteamReaderSimple;.m_lastBytesSent:Ljava/util/concurrent/atomic/AtomicLong; // field@5df7 │ │ +41e0dc: 6e30 e060 5206 |0014: invoke-virtual {v2, v5, v6}, Ljava/util/concurrent/atomic/AtomicLong;.getAndAdd:(J)J // method@60e0 │ │ +41e0e2: 1605 0100 |0017: const-wide/16 v5, #int 1 // #1 │ │ +41e0e6: 3102 0005 |0019: cmp-long v2, v0, v5 │ │ +41e0ea: 3a02 2700 |001b: if-ltz v2, 0042 // +0027 │ │ +41e0ee: 5445 f95d |001d: iget-object v5, v4, Lorg/purple/smoke/SteamReaderSimple;.m_rate:Ljava/util/concurrent/atomic/AtomicLong; // field@5df9 │ │ +41e0f2: 5446 f75d |001f: iget-object v6, v4, Lorg/purple/smoke/SteamReaderSimple;.m_lastBytesSent:Ljava/util/concurrent/atomic/AtomicLong; // field@5df7 │ │ +41e0f6: 6e10 df60 0600 |0021: invoke-virtual {v6}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ +41e0fc: 0b02 |0024: move-result-wide v2 │ │ +41e0fe: 8622 |0025: long-to-double v2, v2 │ │ +41e100: 8600 |0026: long-to-double v0, v0 │ │ +41e102: 7120 2c5c 3200 |0027: invoke-static {v2, v3}, Ljava/lang/Double;.isNaN:(D)Z // method@5c2c │ │ +41e108: 7120 2c5c 1000 |002a: invoke-static {v0, v1}, Ljava/lang/Double;.isNaN:(D)Z // method@5c2c │ │ +41e10e: ce02 |002d: div-double/2addr v2, v0 │ │ +41e110: 8b20 |002e: double-to-long v0, v2 │ │ +41e112: 6e30 e160 0501 |002f: invoke-virtual {v5, v0, v1}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +41e118: 5445 f75d |0032: iget-object v5, v4, Lorg/purple/smoke/SteamReaderSimple;.m_lastBytesSent:Ljava/util/concurrent/atomic/AtomicLong; // field@5df7 │ │ +41e11c: 1600 0000 |0034: const-wide/16 v0, #int 0 // #0 │ │ +41e120: 6e30 e160 0501 |0036: invoke-virtual {v5, v0, v1}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +41e126: 5445 fd5d |0039: iget-object v5, v4, Lorg/purple/smoke/SteamReaderSimple;.m_time0:Ljava/util/concurrent/atomic/AtomicLong; // field@5dfd │ │ +41e12a: 7100 065d 0000 |003b: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ +41e130: 0b00 |003e: move-result-wide v0 │ │ +41e132: 6e30 e160 0501 |003f: invoke-virtual {v5, v0, v1}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +41e138: 0e00 |0042: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=48 │ │ 0x0012 line=50 │ │ 0x001d line=54 │ │ 0x0021 line=55 │ │ 0x0032 line=56 │ │ @@ -1165392,30 +1165391,30 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 9 │ │ ins : 1 │ │ outs : 7 │ │ insns size : 31 16-bit code units │ │ -41e17c: |[41e17c] org.purple.smoke.SteamReaderSimple.prepareReader:()V │ │ -41e18c: 5480 fc5d |0000: iget-object v0, v8, Lorg/purple/smoke/SteamReaderSimple;.m_reader:Ljava/util/concurrent/ScheduledExecutorService; // field@5dfc │ │ -41e190: 3900 1c00 |0002: if-nez v0, 001e // +001c │ │ -41e194: 7100 c460 0000 |0004: invoke-static {}, Ljava/util/concurrent/Executors;.newSingleThreadScheduledExecutor:()Ljava/util/concurrent/ScheduledExecutorService; // method@60c4 │ │ -41e19a: 0c00 |0007: move-result-object v0 │ │ -41e19c: 5b80 fc5d |0008: iput-object v0, v8, Lorg/purple/smoke/SteamReaderSimple;.m_reader:Ljava/util/concurrent/ScheduledExecutorService; // field@5dfc │ │ -41e1a0: 5481 fc5d |000a: iget-object v1, v8, Lorg/purple/smoke/SteamReaderSimple;.m_reader:Ljava/util/concurrent/ScheduledExecutorService; // field@5dfc │ │ -41e1a4: 2202 a21a |000c: new-instance v2, Lorg/purple/smoke/SteamReaderSimple$1; // type@1aa2 │ │ -41e1a8: 7020 28ba 8200 |000e: invoke-direct {v2, v8}, Lorg/purple/smoke/SteamReaderSimple$1;.:(Lorg/purple/smoke/SteamReaderSimple;)V // method@ba28 │ │ -41e1ae: 1603 dc05 |0011: const-wide/16 v3, #int 1500 // #5dc │ │ -41e1b2: 5480 fa5d |0013: iget-object v0, v8, Lorg/purple/smoke/SteamReaderSimple;.m_readInterval:Ljava/util/concurrent/atomic/AtomicLong; // field@5dfa │ │ -41e1b6: 6e10 df60 0000 |0015: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ -41e1bc: 0b05 |0018: move-result-wide v5 │ │ -41e1be: 6207 eb2c |0019: sget-object v7, Ljava/util/concurrent/TimeUnit;.MILLISECONDS:Ljava/util/concurrent/TimeUnit; // field@2ceb │ │ -41e1c2: 7807 cc60 0100 |001b: invoke-interface/range {v1, v2, v3, v4, v5, v6, v7}, Ljava/util/concurrent/ScheduledExecutorService;.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; // method@60cc │ │ -41e1c8: 0e00 |001e: return-void │ │ +41e178: |[41e178] org.purple.smoke.SteamReaderSimple.prepareReader:()V │ │ +41e188: 5480 fc5d |0000: iget-object v0, v8, Lorg/purple/smoke/SteamReaderSimple;.m_reader:Ljava/util/concurrent/ScheduledExecutorService; // field@5dfc │ │ +41e18c: 3900 1c00 |0002: if-nez v0, 001e // +001c │ │ +41e190: 7100 c460 0000 |0004: invoke-static {}, Ljava/util/concurrent/Executors;.newSingleThreadScheduledExecutor:()Ljava/util/concurrent/ScheduledExecutorService; // method@60c4 │ │ +41e196: 0c00 |0007: move-result-object v0 │ │ +41e198: 5b80 fc5d |0008: iput-object v0, v8, Lorg/purple/smoke/SteamReaderSimple;.m_reader:Ljava/util/concurrent/ScheduledExecutorService; // field@5dfc │ │ +41e19c: 5481 fc5d |000a: iget-object v1, v8, Lorg/purple/smoke/SteamReaderSimple;.m_reader:Ljava/util/concurrent/ScheduledExecutorService; // field@5dfc │ │ +41e1a0: 2202 a21a |000c: new-instance v2, Lorg/purple/smoke/SteamReaderSimple$1; // type@1aa2 │ │ +41e1a4: 7020 28ba 8200 |000e: invoke-direct {v2, v8}, Lorg/purple/smoke/SteamReaderSimple$1;.:(Lorg/purple/smoke/SteamReaderSimple;)V // method@ba28 │ │ +41e1aa: 1603 dc05 |0011: const-wide/16 v3, #int 1500 // #5dc │ │ +41e1ae: 5480 fa5d |0013: iget-object v0, v8, Lorg/purple/smoke/SteamReaderSimple;.m_readInterval:Ljava/util/concurrent/atomic/AtomicLong; // field@5dfa │ │ +41e1b2: 6e10 df60 0000 |0015: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ +41e1b8: 0b05 |0018: move-result-wide v5 │ │ +41e1ba: 6207 eb2c |0019: sget-object v7, Ljava/util/concurrent/TimeUnit;.MILLISECONDS:Ljava/util/concurrent/TimeUnit; // field@2ceb │ │ +41e1be: 7807 cc60 0100 |001b: invoke-interface/range {v1, v2, v3, v4, v5, v6, v7}, Ljava/util/concurrent/ScheduledExecutorService;.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; // method@60cc │ │ +41e1c4: 0e00 |001e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=63 │ │ 0x0004 line=65 │ │ 0x000a line=66 │ │ 0x0015 line=191 │ │ 0x001b line=66 │ │ @@ -1165427,37 +1165426,37 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 40 16-bit code units │ │ -41e1cc: |[41e1cc] org.purple.smoke.SteamReaderSimple.rewind:()V │ │ -41e1dc: 5440 f45d |0000: iget-object v0, v4, Lorg/purple/smoke/SteamReaderSimple;.m_completed:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5df4 │ │ -41e1e0: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -41e1e2: 6e20 d860 1000 |0003: invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -41e1e8: 1600 0000 |0006: const-wide/16 v0, #int 0 // #0 │ │ -41e1ec: 5442 f65d |0008: iget-object v2, v4, Lorg/purple/smoke/SteamReaderSimple;.m_fileInputStreamMutex:Ljava/lang/Object; // field@5df6 │ │ -41e1f0: 1d02 |000a: monitor-enter v2 │ │ -41e1f2: 5443 f55d |000b: iget-object v3, v4, Lorg/purple/smoke/SteamReaderSimple;.m_fileInputStream:Ljava/io/FileInputStream; // field@5df5 │ │ -41e1f6: 3803 0b00 |000d: if-eqz v3, 0018 // +000b │ │ -41e1fa: 5443 f55d |000f: iget-object v3, v4, Lorg/purple/smoke/SteamReaderSimple;.m_fileInputStream:Ljava/io/FileInputStream; // field@5df5 │ │ -41e1fe: 6e10 a85b 0300 |0011: invoke-virtual {v3}, Ljava/io/FileInputStream;.getChannel:()Ljava/nio/channels/FileChannel; // method@5ba8 │ │ -41e204: 0c03 |0014: move-result-object v3 │ │ -41e206: 6e30 cb5d 0301 |0015: invoke-virtual {v3, v0, v1}, Ljava/nio/channels/FileChannel;.position:(J)Ljava/nio/channels/FileChannel; // method@5dcb │ │ -41e20c: 1e02 |0018: monitor-exit v2 │ │ -41e20e: 2804 |0019: goto 001d // +0004 │ │ -41e210: 0d03 |001a: move-exception v3 │ │ -41e212: 1e02 |001b: monitor-exit v2 │ │ -41e214: 2703 |001c: throw v3 │ │ -41e216: 5442 f75d |001d: iget-object v2, v4, Lorg/purple/smoke/SteamReaderSimple;.m_lastBytesSent:Ljava/util/concurrent/atomic/AtomicLong; // field@5df7 │ │ -41e21a: 6e30 e160 0201 |001f: invoke-virtual {v2, v0, v1}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -41e220: 5442 fb5d |0022: iget-object v2, v4, Lorg/purple/smoke/SteamReaderSimple;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5dfb │ │ -41e224: 6e30 e160 0201 |0024: invoke-virtual {v2, v0, v1}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -41e22a: 0e00 |0027: return-void │ │ +41e1c8: |[41e1c8] org.purple.smoke.SteamReaderSimple.rewind:()V │ │ +41e1d8: 5440 f45d |0000: iget-object v0, v4, Lorg/purple/smoke/SteamReaderSimple;.m_completed:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5df4 │ │ +41e1dc: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +41e1de: 6e20 d860 1000 |0003: invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +41e1e4: 1600 0000 |0006: const-wide/16 v0, #int 0 // #0 │ │ +41e1e8: 5442 f65d |0008: iget-object v2, v4, Lorg/purple/smoke/SteamReaderSimple;.m_fileInputStreamMutex:Ljava/lang/Object; // field@5df6 │ │ +41e1ec: 1d02 |000a: monitor-enter v2 │ │ +41e1ee: 5443 f55d |000b: iget-object v3, v4, Lorg/purple/smoke/SteamReaderSimple;.m_fileInputStream:Ljava/io/FileInputStream; // field@5df5 │ │ +41e1f2: 3803 0b00 |000d: if-eqz v3, 0018 // +000b │ │ +41e1f6: 5443 f55d |000f: iget-object v3, v4, Lorg/purple/smoke/SteamReaderSimple;.m_fileInputStream:Ljava/io/FileInputStream; // field@5df5 │ │ +41e1fa: 6e10 a85b 0300 |0011: invoke-virtual {v3}, Ljava/io/FileInputStream;.getChannel:()Ljava/nio/channels/FileChannel; // method@5ba8 │ │ +41e200: 0c03 |0014: move-result-object v3 │ │ +41e202: 6e30 cb5d 0301 |0015: invoke-virtual {v3, v0, v1}, Ljava/nio/channels/FileChannel;.position:(J)Ljava/nio/channels/FileChannel; // method@5dcb │ │ +41e208: 1e02 |0018: monitor-exit v2 │ │ +41e20a: 2804 |0019: goto 001d // +0004 │ │ +41e20c: 0d03 |001a: move-exception v3 │ │ +41e20e: 1e02 |001b: monitor-exit v2 │ │ +41e210: 2703 |001c: throw v3 │ │ +41e212: 5442 f75d |001d: iget-object v2, v4, Lorg/purple/smoke/SteamReaderSimple;.m_lastBytesSent:Ljava/util/concurrent/atomic/AtomicLong; // field@5df7 │ │ +41e216: 6e30 e160 0201 |001f: invoke-virtual {v2, v0, v1}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +41e21c: 5442 fb5d |0022: iget-object v2, v4, Lorg/purple/smoke/SteamReaderSimple;.m_readOffset:Ljava/util/concurrent/atomic/AtomicLong; // field@5dfb │ │ +41e220: 6e30 e160 0201 |0024: invoke-virtual {v2, v0, v1}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +41e226: 0e00 |0027: return-void │ │ catches : 3 │ │ 0x0008 - 0x000b │ │ Ljava/lang/Exception; -> 0x001d │ │ 0x000b - 0x001c │ │ -> 0x001a │ │ 0x001c - 0x001d │ │ Ljava/lang/Exception; -> 0x001d │ │ @@ -1165478,25 +1165477,25 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 22 16-bit code units │ │ -41e140: |[41e140] org.purple.smoke.SteamReaderSimple.delete:()V │ │ -41e150: 5430 f35d |0000: iget-object v0, v3, Lorg/purple/smoke/SteamReaderSimple;.m_canceled:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5df3 │ │ -41e154: 1211 |0002: const/4 v1, #int 1 // #1 │ │ -41e156: 6e20 d860 1000 |0003: invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -41e15c: 5430 f75d |0006: iget-object v0, v3, Lorg/purple/smoke/SteamReaderSimple;.m_lastBytesSent:Ljava/util/concurrent/atomic/AtomicLong; // field@5df7 │ │ -41e160: 1601 0000 |0008: const-wide/16 v1, #int 0 // #0 │ │ -41e164: 6e30 e160 1002 |000a: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -41e16a: 5430 fd5d |000d: iget-object v0, v3, Lorg/purple/smoke/SteamReaderSimple;.m_time0:Ljava/util/concurrent/atomic/AtomicLong; // field@5dfd │ │ -41e16e: 6e30 e160 1002 |000f: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -41e174: 6f10 0eba 0300 |0012: invoke-super {v3}, Lorg/purple/smoke/SteamReader;.delete:()V // method@ba0e │ │ -41e17a: 0e00 |0015: return-void │ │ +41e13c: |[41e13c] org.purple.smoke.SteamReaderSimple.delete:()V │ │ +41e14c: 5430 f35d |0000: iget-object v0, v3, Lorg/purple/smoke/SteamReaderSimple;.m_canceled:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5df3 │ │ +41e150: 1211 |0002: const/4 v1, #int 1 // #1 │ │ +41e152: 6e20 d860 1000 |0003: invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +41e158: 5430 f75d |0006: iget-object v0, v3, Lorg/purple/smoke/SteamReaderSimple;.m_lastBytesSent:Ljava/util/concurrent/atomic/AtomicLong; // field@5df7 │ │ +41e15c: 1601 0000 |0008: const-wide/16 v1, #int 0 // #0 │ │ +41e160: 6e30 e160 1002 |000a: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +41e166: 5430 fd5d |000d: iget-object v0, v3, Lorg/purple/smoke/SteamReaderSimple;.m_time0:Ljava/util/concurrent/atomic/AtomicLong; // field@5dfd │ │ +41e16a: 6e30 e160 1002 |000f: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +41e170: 6f10 0eba 0300 |0012: invoke-super {v3}, Lorg/purple/smoke/SteamReader;.delete:()V // method@ba0e │ │ +41e176: 0e00 |0015: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=228 │ │ 0x0006 line=229 │ │ 0x000d line=230 │ │ 0x0012 line=231 │ │ locals : │ │ @@ -1165507,49 +1165506,49 @@ │ │ type : '(I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 66 16-bit code units │ │ -41e24c: |[41e24c] org.purple.smoke.SteamReaderSimple.setReadInterval:(I)V │ │ -41e25c: 8160 |0000: int-to-long v0, v6 │ │ -41e25e: 1602 e803 |0001: const-wide/16 v2, #int 1000 // #3e8 │ │ -41e262: be02 |0003: div-long/2addr v2, v0 │ │ -41e264: 5450 fa5d |0004: iget-object v0, v5, Lorg/purple/smoke/SteamReaderSimple;.m_readInterval:Ljava/util/concurrent/atomic/AtomicLong; // field@5dfa │ │ -41e268: 6e10 df60 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ -41e26e: 0b00 |0009: move-result-wide v0 │ │ -41e270: 3104 0200 |000a: cmp-long v4, v2, v0 │ │ -41e274: 3904 0300 |000c: if-nez v4, 000f // +0003 │ │ -41e278: 0e00 |000e: return-void │ │ -41e27a: 1240 |000f: const/4 v0, #int 4 // #4 │ │ -41e27c: 3206 1a00 |0010: if-eq v6, v0, 002a // +001a │ │ -41e280: 1300 0a00 |0012: const/16 v0, #int 10 // #a │ │ -41e284: 3206 1600 |0014: if-eq v6, v0, 002a // +0016 │ │ -41e288: 1300 1400 |0016: const/16 v0, #int 20 // #14 │ │ -41e28c: 3206 1200 |0018: if-eq v6, v0, 002a // +0012 │ │ -41e290: 1300 3200 |001a: const/16 v0, #int 50 // #32 │ │ -41e294: 3206 0e00 |001c: if-eq v6, v0, 002a // +000e │ │ -41e298: 1300 6400 |001e: const/16 v0, #int 100 // #64 │ │ -41e29c: 3206 0a00 |0020: if-eq v6, v0, 002a // +000a │ │ -41e2a0: 5456 fa5d |0022: iget-object v6, v5, Lorg/purple/smoke/SteamReaderSimple;.m_readInterval:Ljava/util/concurrent/atomic/AtomicLong; // field@5dfa │ │ -41e2a4: 1600 fa00 |0024: const-wide/16 v0, #int 250 // #fa │ │ -41e2a8: 6e30 e160 0601 |0026: invoke-virtual {v6, v0, v1}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -41e2ae: 2806 |0029: goto 002f // +0006 │ │ -41e2b0: 5456 fa5d |002a: iget-object v6, v5, Lorg/purple/smoke/SteamReaderSimple;.m_readInterval:Ljava/util/concurrent/atomic/AtomicLong; // field@5dfa │ │ -41e2b4: 6e30 e160 2603 |002c: invoke-virtual {v6, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -41e2ba: 5456 f35d |002f: iget-object v6, v5, Lorg/purple/smoke/SteamReaderSimple;.m_canceled:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5df3 │ │ -41e2be: 1210 |0031: const/4 v0, #int 1 // #1 │ │ -41e2c0: 6e20 d860 0600 |0032: invoke-virtual {v6, v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -41e2c6: 6e10 2dba 0500 |0035: invoke-virtual {v5}, Lorg/purple/smoke/SteamReaderSimple;.cancelReader:()V // method@ba2d │ │ -41e2cc: 5456 f35d |0038: iget-object v6, v5, Lorg/purple/smoke/SteamReaderSimple;.m_canceled:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5df3 │ │ -41e2d0: 1200 |003a: const/4 v0, #int 0 // #0 │ │ -41e2d2: 6e20 d860 0600 |003b: invoke-virtual {v6, v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -41e2d8: 7010 30ba 0500 |003e: invoke-direct {v5}, Lorg/purple/smoke/SteamReaderSimple;.prepareReader:()V // method@ba30 │ │ -41e2de: 0e00 |0041: return-void │ │ +41e248: |[41e248] org.purple.smoke.SteamReaderSimple.setReadInterval:(I)V │ │ +41e258: 8160 |0000: int-to-long v0, v6 │ │ +41e25a: 1602 e803 |0001: const-wide/16 v2, #int 1000 // #3e8 │ │ +41e25e: be02 |0003: div-long/2addr v2, v0 │ │ +41e260: 5450 fa5d |0004: iget-object v0, v5, Lorg/purple/smoke/SteamReaderSimple;.m_readInterval:Ljava/util/concurrent/atomic/AtomicLong; // field@5dfa │ │ +41e264: 6e10 df60 0000 |0006: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;.get:()J // method@60df │ │ +41e26a: 0b00 |0009: move-result-wide v0 │ │ +41e26c: 3104 0200 |000a: cmp-long v4, v2, v0 │ │ +41e270: 3904 0300 |000c: if-nez v4, 000f // +0003 │ │ +41e274: 0e00 |000e: return-void │ │ +41e276: 1240 |000f: const/4 v0, #int 4 // #4 │ │ +41e278: 3206 1a00 |0010: if-eq v6, v0, 002a // +001a │ │ +41e27c: 1300 0a00 |0012: const/16 v0, #int 10 // #a │ │ +41e280: 3206 1600 |0014: if-eq v6, v0, 002a // +0016 │ │ +41e284: 1300 1400 |0016: const/16 v0, #int 20 // #14 │ │ +41e288: 3206 1200 |0018: if-eq v6, v0, 002a // +0012 │ │ +41e28c: 1300 3200 |001a: const/16 v0, #int 50 // #32 │ │ +41e290: 3206 0e00 |001c: if-eq v6, v0, 002a // +000e │ │ +41e294: 1300 6400 |001e: const/16 v0, #int 100 // #64 │ │ +41e298: 3206 0a00 |0020: if-eq v6, v0, 002a // +000a │ │ +41e29c: 5456 fa5d |0022: iget-object v6, v5, Lorg/purple/smoke/SteamReaderSimple;.m_readInterval:Ljava/util/concurrent/atomic/AtomicLong; // field@5dfa │ │ +41e2a0: 1600 fa00 |0024: const-wide/16 v0, #int 250 // #fa │ │ +41e2a4: 6e30 e160 0601 |0026: invoke-virtual {v6, v0, v1}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +41e2aa: 2806 |0029: goto 002f // +0006 │ │ +41e2ac: 5456 fa5d |002a: iget-object v6, v5, Lorg/purple/smoke/SteamReaderSimple;.m_readInterval:Ljava/util/concurrent/atomic/AtomicLong; // field@5dfa │ │ +41e2b0: 6e30 e160 2603 |002c: invoke-virtual {v6, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +41e2b6: 5456 f35d |002f: iget-object v6, v5, Lorg/purple/smoke/SteamReaderSimple;.m_canceled:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5df3 │ │ +41e2ba: 1210 |0031: const/4 v0, #int 1 // #1 │ │ +41e2bc: 6e20 d860 0600 |0032: invoke-virtual {v6, v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +41e2c2: 6e10 2dba 0500 |0035: invoke-virtual {v5}, Lorg/purple/smoke/SteamReaderSimple;.cancelReader:()V // method@ba2d │ │ +41e2c8: 5456 f35d |0038: iget-object v6, v5, Lorg/purple/smoke/SteamReaderSimple;.m_canceled:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5df3 │ │ +41e2cc: 1200 |003a: const/4 v0, #int 0 // #0 │ │ +41e2ce: 6e20 d860 0600 |003b: invoke-virtual {v6, v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +41e2d4: 7010 30ba 0500 |003e: invoke-direct {v5}, Lorg/purple/smoke/SteamReaderSimple;.prepareReader:()V // method@ba30 │ │ +41e2da: 0e00 |0041: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=236 │ │ 0x0022 line=249 │ │ 0x002a line=246 │ │ 0x002f line=253 │ │ 0x0035 line=254 │ │ @@ -1165609,72 +1165608,72 @@ │ │ type : '(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 19 │ │ ins : 10 │ │ outs : 8 │ │ insns size : 102 16-bit code units │ │ -420148: |[420148] org.purple.smoke.TcpNeighbor.:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V │ │ -420158: 0798 |0000: move-object v8, v9 │ │ -42015a: 1a05 e04b |0001: const-string v5, "TCP" // string@4be0 │ │ -42015e: 0790 |0003: move-object v0, v9 │ │ -420160: 07a1 |0004: move-object v1, v10 │ │ -420162: 07e2 |0005: move-object v2, v14 │ │ -420164: 07f3 |0006: move-object v3, v15 │ │ -420166: 0804 1000 |0007: move-object/from16 v4, v16 │ │ -42016a: 0806 1100 |0009: move-object/from16 v6, v17 │ │ -42016e: 0207 1200 |000b: move/from16 v7, v18 │ │ -420172: 7608 f9b7 0000 |000d: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7}, Lorg/purple/smoke/Neighbor;.:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V // method@b7f9 │ │ -420178: 1200 |0010: const/4 v0, #int 0 // #0 │ │ -42017a: 5b80 1c5e |0011: iput-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyInetSocketAddress:Ljava/net/InetSocketAddress; // field@5e1c │ │ -42017e: 5b80 215e |0013: iput-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ -420182: 1a01 0000 |0015: const-string v1, "" // string@0000 │ │ -420186: 5b81 1d5e |0017: iput-object v1, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyIpAddress:Ljava/lang/String; // field@5e1d │ │ -42018a: 5b81 1f5e |0019: iput-object v1, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyType:Ljava/lang/String; // field@5e1f │ │ -42018e: 12f1 |001b: const/4 v1, #int -1 // #ff │ │ -420190: 5981 1e5e |001c: iput v1, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyPort:I // field@5e1e │ │ -420194: 07b2 |001e: move-object v2, v11 │ │ -420196: 5b82 1d5e |001f: iput-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyIpAddress:Ljava/lang/String; // field@5e1d │ │ -42019a: 7110 555c 0c00 |0021: invoke-static {v12}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@5c55 │ │ -4201a0: 0a02 |0024: move-result v2 │ │ -4201a2: 5982 1e5e |0025: iput v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyPort:I // field@5e1e │ │ -4201a6: 2803 |0027: goto 002a // +0003 │ │ -4201a8: 5981 1e5e |0028: iput v1, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyPort:I // field@5e1e │ │ -4201ac: 07d2 |002a: move-object v2, v13 │ │ -4201ae: 5b82 1f5e |002b: iput-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyType:Ljava/lang/String; // field@5e1f │ │ -4201b2: 5482 1d5e |002d: iget-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyIpAddress:Ljava/lang/String; // field@5e1d │ │ -4201b6: 6e10 c35c 0200 |002f: invoke-virtual {v2}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -4201bc: 0a02 |0032: move-result v2 │ │ -4201be: 3902 1c00 |0033: if-nez v2, 004f // +001c │ │ -4201c2: 5282 1e5e |0035: iget v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyPort:I // field@5e1e │ │ -4201c6: 3212 1800 |0037: if-eq v2, v1, 004f // +0018 │ │ -4201ca: 5481 1f5e |0039: iget-object v1, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyType:Ljava/lang/String; // field@5e1f │ │ -4201ce: 6e10 c35c 0100 |003b: invoke-virtual {v1}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -4201d4: 0a01 |003e: move-result v1 │ │ -4201d6: 3901 1000 |003f: if-nez v1, 004f // +0010 │ │ -4201da: 2201 0d0b |0041: new-instance v1, Ljava/net/InetSocketAddress; // type@0b0d │ │ -4201de: 5482 1d5e |0043: iget-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyIpAddress:Ljava/lang/String; // field@5e1d │ │ -4201e2: 5283 1e5e |0045: iget v3, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyPort:I // field@5e1e │ │ -4201e6: 7030 8e5d 2103 |0047: invoke-direct {v1, v2, v3}, Ljava/net/InetSocketAddress;.:(Ljava/lang/String;I)V // method@5d8e │ │ -4201ec: 5b81 1c5e |004a: iput-object v1, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyInetSocketAddress:Ljava/net/InetSocketAddress; // field@5e1c │ │ -4201f0: 2803 |004c: goto 004f // +0003 │ │ -4201f2: 5b80 1c5e |004d: iput-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyInetSocketAddress:Ljava/net/InetSocketAddress; // field@5e1c │ │ -4201f6: 5480 205e |004f: iget-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e20 │ │ -4201fa: 2201 a71a |0051: new-instance v1, Lorg/purple/smoke/TcpNeighbor$1; // type@1aa7 │ │ -4201fe: 7020 42ba 9100 |0053: invoke-direct {v1, v9}, Lorg/purple/smoke/TcpNeighbor$1;.:(Lorg/purple/smoke/TcpNeighbor;)V // method@ba42 │ │ -420204: 1602 0000 |0056: const-wide/16 v2, #int 0 // #0 │ │ -420208: 1604 6400 |0058: const-wide/16 v4, #int 100 // #64 │ │ -42020c: 6206 eb2c |005a: sget-object v6, Ljava/util/concurrent/TimeUnit;.MILLISECONDS:Ljava/util/concurrent/TimeUnit; // field@2ceb │ │ -420210: 070a |005c: move-object v10, v0 │ │ -420212: 071b |005d: move-object v11, v1 │ │ -420214: 042c |005e: move-wide v12, v2 │ │ -420216: 044e |005f: move-wide v14, v4 │ │ -420218: 0810 0600 |0060: move-object/from16 v16, v6 │ │ -42021c: 7807 cc60 0a00 |0062: invoke-interface/range {v10, v11, v12, v13, v14, v15, v16}, Ljava/util/concurrent/ScheduledExecutorService;.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; // method@60cc │ │ -420222: 0e00 |0065: return-void │ │ +420144: |[420144] org.purple.smoke.TcpNeighbor.:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V │ │ +420154: 0798 |0000: move-object v8, v9 │ │ +420156: 1a05 e04b |0001: const-string v5, "TCP" // string@4be0 │ │ +42015a: 0790 |0003: move-object v0, v9 │ │ +42015c: 07a1 |0004: move-object v1, v10 │ │ +42015e: 07e2 |0005: move-object v2, v14 │ │ +420160: 07f3 |0006: move-object v3, v15 │ │ +420162: 0804 1000 |0007: move-object/from16 v4, v16 │ │ +420166: 0806 1100 |0009: move-object/from16 v6, v17 │ │ +42016a: 0207 1200 |000b: move/from16 v7, v18 │ │ +42016e: 7608 f9b7 0000 |000d: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7}, Lorg/purple/smoke/Neighbor;.:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V // method@b7f9 │ │ +420174: 1200 |0010: const/4 v0, #int 0 // #0 │ │ +420176: 5b80 1c5e |0011: iput-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyInetSocketAddress:Ljava/net/InetSocketAddress; // field@5e1c │ │ +42017a: 5b80 215e |0013: iput-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ +42017e: 1a01 0000 |0015: const-string v1, "" // string@0000 │ │ +420182: 5b81 1d5e |0017: iput-object v1, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyIpAddress:Ljava/lang/String; // field@5e1d │ │ +420186: 5b81 1f5e |0019: iput-object v1, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyType:Ljava/lang/String; // field@5e1f │ │ +42018a: 12f1 |001b: const/4 v1, #int -1 // #ff │ │ +42018c: 5981 1e5e |001c: iput v1, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyPort:I // field@5e1e │ │ +420190: 07b2 |001e: move-object v2, v11 │ │ +420192: 5b82 1d5e |001f: iput-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyIpAddress:Ljava/lang/String; // field@5e1d │ │ +420196: 7110 555c 0c00 |0021: invoke-static {v12}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@5c55 │ │ +42019c: 0a02 |0024: move-result v2 │ │ +42019e: 5982 1e5e |0025: iput v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyPort:I // field@5e1e │ │ +4201a2: 2803 |0027: goto 002a // +0003 │ │ +4201a4: 5981 1e5e |0028: iput v1, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyPort:I // field@5e1e │ │ +4201a8: 07d2 |002a: move-object v2, v13 │ │ +4201aa: 5b82 1f5e |002b: iput-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyType:Ljava/lang/String; // field@5e1f │ │ +4201ae: 5482 1d5e |002d: iget-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyIpAddress:Ljava/lang/String; // field@5e1d │ │ +4201b2: 6e10 c35c 0200 |002f: invoke-virtual {v2}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +4201b8: 0a02 |0032: move-result v2 │ │ +4201ba: 3902 1c00 |0033: if-nez v2, 004f // +001c │ │ +4201be: 5282 1e5e |0035: iget v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyPort:I // field@5e1e │ │ +4201c2: 3212 1800 |0037: if-eq v2, v1, 004f // +0018 │ │ +4201c6: 5481 1f5e |0039: iget-object v1, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyType:Ljava/lang/String; // field@5e1f │ │ +4201ca: 6e10 c35c 0100 |003b: invoke-virtual {v1}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +4201d0: 0a01 |003e: move-result v1 │ │ +4201d2: 3901 1000 |003f: if-nez v1, 004f // +0010 │ │ +4201d6: 2201 0d0b |0041: new-instance v1, Ljava/net/InetSocketAddress; // type@0b0d │ │ +4201da: 5482 1d5e |0043: iget-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyIpAddress:Ljava/lang/String; // field@5e1d │ │ +4201de: 5283 1e5e |0045: iget v3, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyPort:I // field@5e1e │ │ +4201e2: 7030 8e5d 2103 |0047: invoke-direct {v1, v2, v3}, Ljava/net/InetSocketAddress;.:(Ljava/lang/String;I)V // method@5d8e │ │ +4201e8: 5b81 1c5e |004a: iput-object v1, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyInetSocketAddress:Ljava/net/InetSocketAddress; // field@5e1c │ │ +4201ec: 2803 |004c: goto 004f // +0003 │ │ +4201ee: 5b80 1c5e |004d: iput-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyInetSocketAddress:Ljava/net/InetSocketAddress; // field@5e1c │ │ +4201f2: 5480 205e |004f: iget-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e20 │ │ +4201f6: 2201 a71a |0051: new-instance v1, Lorg/purple/smoke/TcpNeighbor$1; // type@1aa7 │ │ +4201fa: 7020 42ba 9100 |0053: invoke-direct {v1, v9}, Lorg/purple/smoke/TcpNeighbor$1;.:(Lorg/purple/smoke/TcpNeighbor;)V // method@ba42 │ │ +420200: 1602 0000 |0056: const-wide/16 v2, #int 0 // #0 │ │ +420204: 1604 6400 |0058: const-wide/16 v4, #int 100 // #64 │ │ +420208: 6206 eb2c |005a: sget-object v6, Ljava/util/concurrent/TimeUnit;.MILLISECONDS:Ljava/util/concurrent/TimeUnit; // field@2ceb │ │ +42020c: 070a |005c: move-object v10, v0 │ │ +42020e: 071b |005d: move-object v11, v1 │ │ +420210: 042c |005e: move-wide v12, v2 │ │ +420212: 044e |005f: move-wide v14, v4 │ │ +420214: 0810 0600 |0060: move-object/from16 v16, v6 │ │ +420218: 7807 cc60 0a00 |0062: invoke-interface/range {v10, v11, v12, v13, v14, v15, v16}, Ljava/util/concurrent/ScheduledExecutorService;.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; // method@60cc │ │ +42021e: 0e00 |0065: return-void │ │ catches : 2 │ │ 0x0021 - 0x0027 │ │ Ljava/lang/Exception; -> 0x0028 │ │ 0x0041 - 0x004c │ │ Ljava/lang/Exception; -> 0x004d │ │ positions : │ │ 0x000d line=259 │ │ @@ -1165709,17 +1165708,17 @@ │ │ type : '(Lorg/purple/smoke/TcpNeighbor;)Ljava/net/Socket;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -420130: |[420130] org.purple.smoke.TcpNeighbor.access$000:(Lorg/purple/smoke/TcpNeighbor;)Ljava/net/Socket; │ │ -420140: 5400 215e |0000: iget-object v0, v0, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ -420144: 1100 |0002: return-object v0 │ │ +42012c: |[42012c] org.purple.smoke.TcpNeighbor.access$000:(Lorg/purple/smoke/TcpNeighbor;)Ljava/net/Socket; │ │ +42013c: 5400 215e |0000: iget-object v0, v0, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ +420140: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=35 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/TcpNeighbor; │ │ │ │ Virtual methods - │ │ @@ -1165728,36 +1165727,36 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 38 16-bit code units │ │ -420240: |[420240] org.purple.smoke.TcpNeighbor.abort:()V │ │ -420250: 6e10 49ba 0500 |0000: invoke-virtual {v5}, Lorg/purple/smoke/TcpNeighbor;.disconnect:()V // method@ba49 │ │ -420256: 6f10 fab7 0500 |0003: invoke-super {v5}, Lorg/purple/smoke/Neighbor;.abort:()V // method@b7fa │ │ -42025c: 5450 205e |0006: iget-object v0, v5, Lorg/purple/smoke/TcpNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e20 │ │ -420260: 1d00 |0008: monitor-enter v0 │ │ -420262: 5451 205e |0009: iget-object v1, v5, Lorg/purple/smoke/TcpNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e20 │ │ -420266: 7210 cd60 0100 |000b: invoke-interface {v1}, Ljava/util/concurrent/ScheduledExecutorService;.shutdown:()V // method@60cd │ │ -42026c: 2803 |000e: goto 0011 // +0003 │ │ -42026e: 0d01 |000f: move-exception v1 │ │ -420270: 2814 |0010: goto 0024 // +0014 │ │ -420272: 5451 205e |0011: iget-object v1, v5, Lorg/purple/smoke/TcpNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e20 │ │ -420276: 1602 0500 |0013: const-wide/16 v2, #int 5 // #5 │ │ -42027a: 6204 ee2c |0015: sget-object v4, Ljava/util/concurrent/TimeUnit;.SECONDS:Ljava/util/concurrent/TimeUnit; // field@2cee │ │ -42027e: 7240 ca60 2143 |0017: invoke-interface {v1, v2, v3, v4}, Ljava/util/concurrent/ScheduledExecutorService;.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z // method@60ca │ │ -420284: 0a01 |001a: move-result v1 │ │ -420286: 3901 0700 |001b: if-nez v1, 0022 // +0007 │ │ -42028a: 5451 205e |001d: iget-object v1, v5, Lorg/purple/smoke/TcpNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e20 │ │ -42028e: 7210 ce60 0100 |001f: invoke-interface {v1}, Ljava/util/concurrent/ScheduledExecutorService;.shutdownNow:()Ljava/util/List; // method@60ce │ │ -420294: 1e00 |0022: monitor-exit v0 │ │ -420296: 0e00 |0023: return-void │ │ -420298: 1e00 |0024: monitor-exit v0 │ │ -42029a: 2701 |0025: throw v1 │ │ +42023c: |[42023c] org.purple.smoke.TcpNeighbor.abort:()V │ │ +42024c: 6e10 49ba 0500 |0000: invoke-virtual {v5}, Lorg/purple/smoke/TcpNeighbor;.disconnect:()V // method@ba49 │ │ +420252: 6f10 fab7 0500 |0003: invoke-super {v5}, Lorg/purple/smoke/Neighbor;.abort:()V // method@b7fa │ │ +420258: 5450 205e |0006: iget-object v0, v5, Lorg/purple/smoke/TcpNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e20 │ │ +42025c: 1d00 |0008: monitor-enter v0 │ │ +42025e: 5451 205e |0009: iget-object v1, v5, Lorg/purple/smoke/TcpNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e20 │ │ +420262: 7210 cd60 0100 |000b: invoke-interface {v1}, Ljava/util/concurrent/ScheduledExecutorService;.shutdown:()V // method@60cd │ │ +420268: 2803 |000e: goto 0011 // +0003 │ │ +42026a: 0d01 |000f: move-exception v1 │ │ +42026c: 2814 |0010: goto 0024 // +0014 │ │ +42026e: 5451 205e |0011: iget-object v1, v5, Lorg/purple/smoke/TcpNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e20 │ │ +420272: 1602 0500 |0013: const-wide/16 v2, #int 5 // #5 │ │ +420276: 6204 ee2c |0015: sget-object v4, Ljava/util/concurrent/TimeUnit;.SECONDS:Ljava/util/concurrent/TimeUnit; // field@2cee │ │ +42027a: 7240 ca60 2143 |0017: invoke-interface {v1, v2, v3, v4}, Ljava/util/concurrent/ScheduledExecutorService;.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z // method@60ca │ │ +420280: 0a01 |001a: move-result v1 │ │ +420282: 3901 0700 |001b: if-nez v1, 0022 // +0007 │ │ +420286: 5451 205e |001d: iget-object v1, v5, Lorg/purple/smoke/TcpNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e20 │ │ +42028a: 7210 ce60 0100 |001f: invoke-interface {v1}, Ljava/util/concurrent/ScheduledExecutorService;.shutdownNow:()Ljava/util/List; // method@60ce │ │ +420290: 1e00 |0022: monitor-exit v0 │ │ +420292: 0e00 |0023: return-void │ │ +420294: 1e00 |0024: monitor-exit v0 │ │ +420296: 2701 |0025: throw v1 │ │ catches : 3 │ │ 0x0009 - 0x000e │ │ Ljava/lang/Exception; -> 0x0011 │ │ -> 0x000f │ │ 0x0011 - 0x0022 │ │ Ljava/lang/Exception; -> 0x0022 │ │ -> 0x000f │ │ @@ -1165780,140 +1165779,140 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 9 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 270 16-bit code units │ │ -4202c4: |[4202c4] org.purple.smoke.TcpNeighbor.connect:()V │ │ -4202d4: 6e10 48ba 0800 |0000: invoke-virtual {v8}, Lorg/purple/smoke/TcpNeighbor;.connected:()Z // method@ba48 │ │ -4202da: 0a00 |0003: move-result v0 │ │ -4202dc: 3800 0300 |0004: if-eqz v0, 0007 // +0003 │ │ -4202e0: 0e00 |0006: return-void │ │ -4202e2: 6e10 4dba 0800 |0007: invoke-virtual {v8}, Lorg/purple/smoke/TcpNeighbor;.isNetworkConnected:()Z // method@ba4d │ │ -4202e8: 0a00 |000a: move-result v0 │ │ -4202ea: 3900 0800 |000b: if-nez v0, 0013 // +0008 │ │ -4202ee: 1a00 fe08 |000d: const-string v0, "A network is not available." // string@08fe │ │ -4202f2: 6e20 53ba 0800 |000f: invoke-virtual {v8, v0}, Lorg/purple/smoke/TcpNeighbor;.setError:(Ljava/lang/String;)V // method@ba53 │ │ -4202f8: 0e00 |0012: return-void │ │ -4202fa: 5480 115e |0013: iget-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e11 │ │ -4202fe: 1601 0000 |0015: const-wide/16 v1, #int 0 // #0 │ │ -420302: 6e30 e160 1002 |0017: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -420308: 5480 125e |001a: iget-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e12 │ │ -42030c: 6e30 e160 1002 |001c: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -420312: 5480 145e |001f: iget-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_disconnected:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e14 │ │ -420316: 1201 |0021: const/4 v1, #int 0 // #0 │ │ -420318: 6e20 d860 1000 |0022: invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -42031e: 5480 175e |0025: iget-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_lastParsed:Ljava/util/concurrent/atomic/AtomicLong; // field@5e17 │ │ -420322: 7100 065d 0000 |0027: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ -420328: 0b02 |002a: move-result-wide v2 │ │ -42032a: 6e30 e160 2003 |002b: invoke-virtual {v0, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -420330: 5480 185e |002e: iget-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_lastTimeRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e18 │ │ -420334: 7100 0b5d 0000 |0030: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ -42033a: 0b02 |0033: move-result-wide v2 │ │ -42033c: 6e30 e160 2003 |0034: invoke-virtual {v0, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -420342: 2200 0d0b |0037: new-instance v0, Ljava/net/InetSocketAddress; // type@0b0d │ │ -420346: 5482 155e |0039: iget-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_ipAddress:Ljava/lang/String; // field@5e15 │ │ -42034a: 5483 165e |003b: iget-object v3, v8, Lorg/purple/smoke/TcpNeighbor;.m_ipPort:Ljava/util/concurrent/atomic/AtomicInteger; // field@5e16 │ │ -42034e: 6e10 da60 0300 |003d: invoke-virtual {v3}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -420354: 0a03 |0040: move-result v3 │ │ -420356: 7030 8e5d 2003 |0041: invoke-direct {v0, v2, v3}, Ljava/net/InetSocketAddress;.:(Ljava/lang/String;I)V // method@5d8e │ │ -42035c: 5482 1c5e |0044: iget-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyInetSocketAddress:Ljava/net/InetSocketAddress; // field@5e1c │ │ -420360: 1303 1027 |0046: const/16 v3, #int 10000 // #2710 │ │ -420364: 1504 0100 |0048: const/high16 v4, #int 65536 // #1 │ │ -420368: 3902 1700 |004a: if-nez v2, 0061 // +0017 │ │ -42036c: 2202 120b |004c: new-instance v2, Ljava/net/Socket; // type@0b12 │ │ -420370: 7010 9e5d 0200 |004e: invoke-direct {v2}, Ljava/net/Socket;.:()V // method@5d9e │ │ -420376: 5b82 215e |0051: iput-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ -42037a: 6e20 aa5d 4200 |0053: invoke-virtual {v2, v4}, Ljava/net/Socket;.setReceiveBufferSize:(I)V // method@5daa │ │ -420380: 5482 215e |0056: iget-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ -420384: 6e20 ab5d 4200 |0058: invoke-virtual {v2, v4}, Ljava/net/Socket;.setSendBufferSize:(I)V // method@5dab │ │ -42038a: 5482 215e |005b: iget-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ -42038e: 6e30 a25d 0203 |005d: invoke-virtual {v2, v0, v3}, Ljava/net/Socket;.connect:(Ljava/net/SocketAddress;I)V // method@5da2 │ │ -420394: 283b |0060: goto 009b // +003b │ │ -420396: 5482 1f5e |0061: iget-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyType:Ljava/lang/String; // field@5e1f │ │ -42039a: 1a05 351c |0063: const-string v5, "HTTP" // string@1c35 │ │ -42039e: 6e20 b85c 5200 |0065: invoke-virtual {v2, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -4203a4: 0a02 |0068: move-result v2 │ │ -4203a6: 3802 1300 |0069: if-eqz v2, 007c // +0013 │ │ -4203aa: 2202 120b |006b: new-instance v2, Ljava/net/Socket; // type@0b12 │ │ -4203ae: 2205 110b |006d: new-instance v5, Ljava/net/Proxy; // type@0b11 │ │ -4203b2: 6206 dd2c |006f: sget-object v6, Ljava/net/Proxy$Type;.HTTP:Ljava/net/Proxy$Type; // field@2cdd │ │ -4203b6: 5487 1c5e |0071: iget-object v7, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyInetSocketAddress:Ljava/net/InetSocketAddress; // field@5e1c │ │ -4203ba: 7030 9d5d 6507 |0073: invoke-direct {v5, v6, v7}, Ljava/net/Proxy;.:(Ljava/net/Proxy$Type;Ljava/net/SocketAddress;)V // method@5d9d │ │ -4203c0: 7020 9f5d 5200 |0076: invoke-direct {v2, v5}, Ljava/net/Socket;.:(Ljava/net/Proxy;)V // method@5d9f │ │ -4203c6: 5b82 215e |0079: iput-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ -4203ca: 2811 |007b: goto 008c // +0011 │ │ -4203cc: 2202 120b |007c: new-instance v2, Ljava/net/Socket; // type@0b12 │ │ -4203d0: 2205 110b |007e: new-instance v5, Ljava/net/Proxy; // type@0b11 │ │ -4203d4: 6206 de2c |0080: sget-object v6, Ljava/net/Proxy$Type;.SOCKS:Ljava/net/Proxy$Type; // field@2cde │ │ -4203d8: 5487 1c5e |0082: iget-object v7, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyInetSocketAddress:Ljava/net/InetSocketAddress; // field@5e1c │ │ -4203dc: 7030 9d5d 6507 |0084: invoke-direct {v5, v6, v7}, Ljava/net/Proxy;.:(Ljava/net/Proxy$Type;Ljava/net/SocketAddress;)V // method@5d9d │ │ -4203e2: 7020 9f5d 5200 |0087: invoke-direct {v2, v5}, Ljava/net/Socket;.:(Ljava/net/Proxy;)V // method@5d9f │ │ -4203e8: 5b82 215e |008a: iput-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ -4203ec: 5482 215e |008c: iget-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ -4203f0: 6e20 aa5d 4200 |008e: invoke-virtual {v2, v4}, Ljava/net/Socket;.setReceiveBufferSize:(I)V // method@5daa │ │ -4203f6: 5482 215e |0091: iget-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ -4203fa: 6e20 ab5d 4200 |0093: invoke-virtual {v2, v4}, Ljava/net/Socket;.setSendBufferSize:(I)V // method@5dab │ │ -420400: 5482 215e |0096: iget-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ -420404: 6e30 a25d 0203 |0098: invoke-virtual {v2, v0, v3}, Ljava/net/Socket;.connect:(Ljava/net/SocketAddress;I)V // method@5da2 │ │ -42040a: 5480 215e |009b: iget-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ -42040e: 1212 |009d: const/4 v2, #int 1 // #1 │ │ -420410: 6e30 ac5d 2001 |009e: invoke-virtual {v0, v2, v1}, Ljava/net/Socket;.setSoLinger:(ZI)V // method@5dac │ │ -420416: 5480 215e |00a1: iget-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ -42041a: 6e20 ad5d 3000 |00a3: invoke-virtual {v0, v3}, Ljava/net/Socket;.setSoTimeout:(I)V // method@5dad │ │ -420420: 5480 215e |00a6: iget-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ -420424: 6e20 ae5d 2000 |00a8: invoke-virtual {v0, v2}, Ljava/net/Socket;.setTcpNoDelay:(Z)V // method@5dae │ │ -42042a: 5480 225e |00ab: iget-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_startTime:Ljava/util/concurrent/atomic/AtomicLong; // field@5e22 │ │ -42042e: 7100 0b5d 0000 |00ad: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ -420434: 0b01 |00b0: move-result-wide v1 │ │ -420436: 6e30 e160 1002 |00b1: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -42043c: 1a00 0000 |00b4: const-string v0, "" // string@0000 │ │ -420440: 6e20 53ba 0800 |00b6: invoke-virtual {v8, v0}, Lorg/purple/smoke/TcpNeighbor;.setError:(Ljava/lang/String;)V // method@ba53 │ │ -420446: 5480 1b5e |00b9: iget-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_passthrough:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e1b │ │ -42044a: 6e10 d660 0000 |00bb: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ -420450: 0a00 |00be: move-result v0 │ │ -420452: 3900 0f00 |00bf: if-nez v0, 00ce // +000f │ │ -420456: 7100 02b7 0000 |00c1: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ -42045c: 0c00 |00c4: move-result-object v0 │ │ -42045e: 5481 135e |00c5: iget-object v1, v8, Lorg/purple/smoke/TcpNeighbor;.m_cryptography:Lorg/purple/smoke/Cryptography; // field@5e13 │ │ -420462: 6e10 b7b5 0100 |00c7: invoke-virtual {v1}, Lorg/purple/smoke/Cryptography;.sipHashId:()Ljava/lang/String; // method@b5b7 │ │ -420468: 0c01 |00ca: move-result-object v1 │ │ -42046a: 6e20 12b7 1000 |00cb: invoke-virtual {v0, v1}, Lorg/purple/smoke/Kernel;.retrieveChatMessages:(Ljava/lang/String;)V // method@b712 │ │ -420470: 1a00 ca8f |00ce: const-string v0, "org.purple.smoke.neighbor_connected" // string@8fca │ │ -420474: 7110 e9b7 0000 |00d0: invoke-static {v0}, Lorg/purple/smoke/Miscellaneous;.sendBroadcast:(Ljava/lang/String;)V // method@b7e9 │ │ -42047a: 5480 195e |00d3: iget-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_mutex:Ljava/lang/Object; // field@5e19 │ │ -42047e: 1d00 |00d5: monitor-enter v0 │ │ -420480: 5481 195e |00d6: iget-object v1, v8, Lorg/purple/smoke/TcpNeighbor;.m_mutex:Ljava/lang/Object; // field@5e19 │ │ -420484: 6e10 955c 0100 |00d8: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@5c95 │ │ -42048a: 1e00 |00db: monitor-exit v0 │ │ -42048c: 2831 |00dc: goto 010d // +0031 │ │ -42048e: 0d01 |00dd: move-exception v1 │ │ -420490: 1e00 |00de: monitor-exit v0 │ │ -420492: 2701 |00df: throw v1 │ │ -420494: 0d00 |00e0: move-exception v0 │ │ -420496: 2201 f10a |00e1: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ -42049a: 7010 ee5c 0100 |00e3: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -4204a0: 1a02 550d |00e6: const-string v2, "An error (" // string@0d55 │ │ -4204a4: 6e20 f95c 2100 |00e8: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4204aa: 6e10 375c 0000 |00eb: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@5c37 │ │ -4204b0: 0c00 |00ee: move-result-object v0 │ │ -4204b2: 6e20 f95c 0100 |00ef: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4204b8: 1a00 f603 |00f2: const-string v0, ") occurred while attempting a connection (" // string@03f6 │ │ -4204bc: 6e20 f95c 0100 |00f4: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4204c2: 7100 0b5d 0000 |00f7: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ -4204c8: 0b02 |00fa: move-result-wide v2 │ │ -4204ca: 6e30 f55c 2103 |00fb: invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@5cf5 │ │ -4204d0: 1a00 0404 |00fe: const-string v0, ")." // string@0404 │ │ -4204d4: 6e20 f95c 0100 |0100: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4204da: 6e10 035d 0100 |0103: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -4204e0: 0c00 |0106: move-result-object v0 │ │ -4204e2: 6e20 53ba 0800 |0107: invoke-virtual {v8, v0}, Lorg/purple/smoke/TcpNeighbor;.setError:(Ljava/lang/String;)V // method@ba53 │ │ -4204e8: 6e10 49ba 0800 |010a: invoke-virtual {v8}, Lorg/purple/smoke/TcpNeighbor;.disconnect:()V // method@ba49 │ │ -4204ee: 0e00 |010d: return-void │ │ +4202c0: |[4202c0] org.purple.smoke.TcpNeighbor.connect:()V │ │ +4202d0: 6e10 48ba 0800 |0000: invoke-virtual {v8}, Lorg/purple/smoke/TcpNeighbor;.connected:()Z // method@ba48 │ │ +4202d6: 0a00 |0003: move-result v0 │ │ +4202d8: 3800 0300 |0004: if-eqz v0, 0007 // +0003 │ │ +4202dc: 0e00 |0006: return-void │ │ +4202de: 6e10 4dba 0800 |0007: invoke-virtual {v8}, Lorg/purple/smoke/TcpNeighbor;.isNetworkConnected:()Z // method@ba4d │ │ +4202e4: 0a00 |000a: move-result v0 │ │ +4202e6: 3900 0800 |000b: if-nez v0, 0013 // +0008 │ │ +4202ea: 1a00 fe08 |000d: const-string v0, "A network is not available." // string@08fe │ │ +4202ee: 6e20 53ba 0800 |000f: invoke-virtual {v8, v0}, Lorg/purple/smoke/TcpNeighbor;.setError:(Ljava/lang/String;)V // method@ba53 │ │ +4202f4: 0e00 |0012: return-void │ │ +4202f6: 5480 115e |0013: iget-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e11 │ │ +4202fa: 1601 0000 |0015: const-wide/16 v1, #int 0 // #0 │ │ +4202fe: 6e30 e160 1002 |0017: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +420304: 5480 125e |001a: iget-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e12 │ │ +420308: 6e30 e160 1002 |001c: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +42030e: 5480 145e |001f: iget-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_disconnected:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e14 │ │ +420312: 1201 |0021: const/4 v1, #int 0 // #0 │ │ +420314: 6e20 d860 1000 |0022: invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +42031a: 5480 175e |0025: iget-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_lastParsed:Ljava/util/concurrent/atomic/AtomicLong; // field@5e17 │ │ +42031e: 7100 065d 0000 |0027: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ +420324: 0b02 |002a: move-result-wide v2 │ │ +420326: 6e30 e160 2003 |002b: invoke-virtual {v0, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +42032c: 5480 185e |002e: iget-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_lastTimeRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e18 │ │ +420330: 7100 0b5d 0000 |0030: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ +420336: 0b02 |0033: move-result-wide v2 │ │ +420338: 6e30 e160 2003 |0034: invoke-virtual {v0, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +42033e: 2200 0d0b |0037: new-instance v0, Ljava/net/InetSocketAddress; // type@0b0d │ │ +420342: 5482 155e |0039: iget-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_ipAddress:Ljava/lang/String; // field@5e15 │ │ +420346: 5483 165e |003b: iget-object v3, v8, Lorg/purple/smoke/TcpNeighbor;.m_ipPort:Ljava/util/concurrent/atomic/AtomicInteger; // field@5e16 │ │ +42034a: 6e10 da60 0300 |003d: invoke-virtual {v3}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +420350: 0a03 |0040: move-result v3 │ │ +420352: 7030 8e5d 2003 |0041: invoke-direct {v0, v2, v3}, Ljava/net/InetSocketAddress;.:(Ljava/lang/String;I)V // method@5d8e │ │ +420358: 5482 1c5e |0044: iget-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyInetSocketAddress:Ljava/net/InetSocketAddress; // field@5e1c │ │ +42035c: 1303 1027 |0046: const/16 v3, #int 10000 // #2710 │ │ +420360: 1504 0100 |0048: const/high16 v4, #int 65536 // #1 │ │ +420364: 3902 1700 |004a: if-nez v2, 0061 // +0017 │ │ +420368: 2202 120b |004c: new-instance v2, Ljava/net/Socket; // type@0b12 │ │ +42036c: 7010 9e5d 0200 |004e: invoke-direct {v2}, Ljava/net/Socket;.:()V // method@5d9e │ │ +420372: 5b82 215e |0051: iput-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ +420376: 6e20 aa5d 4200 |0053: invoke-virtual {v2, v4}, Ljava/net/Socket;.setReceiveBufferSize:(I)V // method@5daa │ │ +42037c: 5482 215e |0056: iget-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ +420380: 6e20 ab5d 4200 |0058: invoke-virtual {v2, v4}, Ljava/net/Socket;.setSendBufferSize:(I)V // method@5dab │ │ +420386: 5482 215e |005b: iget-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ +42038a: 6e30 a25d 0203 |005d: invoke-virtual {v2, v0, v3}, Ljava/net/Socket;.connect:(Ljava/net/SocketAddress;I)V // method@5da2 │ │ +420390: 283b |0060: goto 009b // +003b │ │ +420392: 5482 1f5e |0061: iget-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyType:Ljava/lang/String; // field@5e1f │ │ +420396: 1a05 351c |0063: const-string v5, "HTTP" // string@1c35 │ │ +42039a: 6e20 b85c 5200 |0065: invoke-virtual {v2, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +4203a0: 0a02 |0068: move-result v2 │ │ +4203a2: 3802 1300 |0069: if-eqz v2, 007c // +0013 │ │ +4203a6: 2202 120b |006b: new-instance v2, Ljava/net/Socket; // type@0b12 │ │ +4203aa: 2205 110b |006d: new-instance v5, Ljava/net/Proxy; // type@0b11 │ │ +4203ae: 6206 dd2c |006f: sget-object v6, Ljava/net/Proxy$Type;.HTTP:Ljava/net/Proxy$Type; // field@2cdd │ │ +4203b2: 5487 1c5e |0071: iget-object v7, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyInetSocketAddress:Ljava/net/InetSocketAddress; // field@5e1c │ │ +4203b6: 7030 9d5d 6507 |0073: invoke-direct {v5, v6, v7}, Ljava/net/Proxy;.:(Ljava/net/Proxy$Type;Ljava/net/SocketAddress;)V // method@5d9d │ │ +4203bc: 7020 9f5d 5200 |0076: invoke-direct {v2, v5}, Ljava/net/Socket;.:(Ljava/net/Proxy;)V // method@5d9f │ │ +4203c2: 5b82 215e |0079: iput-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ +4203c6: 2811 |007b: goto 008c // +0011 │ │ +4203c8: 2202 120b |007c: new-instance v2, Ljava/net/Socket; // type@0b12 │ │ +4203cc: 2205 110b |007e: new-instance v5, Ljava/net/Proxy; // type@0b11 │ │ +4203d0: 6206 de2c |0080: sget-object v6, Ljava/net/Proxy$Type;.SOCKS:Ljava/net/Proxy$Type; // field@2cde │ │ +4203d4: 5487 1c5e |0082: iget-object v7, v8, Lorg/purple/smoke/TcpNeighbor;.m_proxyInetSocketAddress:Ljava/net/InetSocketAddress; // field@5e1c │ │ +4203d8: 7030 9d5d 6507 |0084: invoke-direct {v5, v6, v7}, Ljava/net/Proxy;.:(Ljava/net/Proxy$Type;Ljava/net/SocketAddress;)V // method@5d9d │ │ +4203de: 7020 9f5d 5200 |0087: invoke-direct {v2, v5}, Ljava/net/Socket;.:(Ljava/net/Proxy;)V // method@5d9f │ │ +4203e4: 5b82 215e |008a: iput-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ +4203e8: 5482 215e |008c: iget-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ +4203ec: 6e20 aa5d 4200 |008e: invoke-virtual {v2, v4}, Ljava/net/Socket;.setReceiveBufferSize:(I)V // method@5daa │ │ +4203f2: 5482 215e |0091: iget-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ +4203f6: 6e20 ab5d 4200 |0093: invoke-virtual {v2, v4}, Ljava/net/Socket;.setSendBufferSize:(I)V // method@5dab │ │ +4203fc: 5482 215e |0096: iget-object v2, v8, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ +420400: 6e30 a25d 0203 |0098: invoke-virtual {v2, v0, v3}, Ljava/net/Socket;.connect:(Ljava/net/SocketAddress;I)V // method@5da2 │ │ +420406: 5480 215e |009b: iget-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ +42040a: 1212 |009d: const/4 v2, #int 1 // #1 │ │ +42040c: 6e30 ac5d 2001 |009e: invoke-virtual {v0, v2, v1}, Ljava/net/Socket;.setSoLinger:(ZI)V // method@5dac │ │ +420412: 5480 215e |00a1: iget-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ +420416: 6e20 ad5d 3000 |00a3: invoke-virtual {v0, v3}, Ljava/net/Socket;.setSoTimeout:(I)V // method@5dad │ │ +42041c: 5480 215e |00a6: iget-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ +420420: 6e20 ae5d 2000 |00a8: invoke-virtual {v0, v2}, Ljava/net/Socket;.setTcpNoDelay:(Z)V // method@5dae │ │ +420426: 5480 225e |00ab: iget-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_startTime:Ljava/util/concurrent/atomic/AtomicLong; // field@5e22 │ │ +42042a: 7100 0b5d 0000 |00ad: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ +420430: 0b01 |00b0: move-result-wide v1 │ │ +420432: 6e30 e160 1002 |00b1: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +420438: 1a00 0000 |00b4: const-string v0, "" // string@0000 │ │ +42043c: 6e20 53ba 0800 |00b6: invoke-virtual {v8, v0}, Lorg/purple/smoke/TcpNeighbor;.setError:(Ljava/lang/String;)V // method@ba53 │ │ +420442: 5480 1b5e |00b9: iget-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_passthrough:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e1b │ │ +420446: 6e10 d660 0000 |00bb: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ +42044c: 0a00 |00be: move-result v0 │ │ +42044e: 3900 0f00 |00bf: if-nez v0, 00ce // +000f │ │ +420452: 7100 02b7 0000 |00c1: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ +420458: 0c00 |00c4: move-result-object v0 │ │ +42045a: 5481 135e |00c5: iget-object v1, v8, Lorg/purple/smoke/TcpNeighbor;.m_cryptography:Lorg/purple/smoke/Cryptography; // field@5e13 │ │ +42045e: 6e10 b7b5 0100 |00c7: invoke-virtual {v1}, Lorg/purple/smoke/Cryptography;.sipHashId:()Ljava/lang/String; // method@b5b7 │ │ +420464: 0c01 |00ca: move-result-object v1 │ │ +420466: 6e20 12b7 1000 |00cb: invoke-virtual {v0, v1}, Lorg/purple/smoke/Kernel;.retrieveChatMessages:(Ljava/lang/String;)V // method@b712 │ │ +42046c: 1a00 ca8f |00ce: const-string v0, "org.purple.smoke.neighbor_connected" // string@8fca │ │ +420470: 7110 e9b7 0000 |00d0: invoke-static {v0}, Lorg/purple/smoke/Miscellaneous;.sendBroadcast:(Ljava/lang/String;)V // method@b7e9 │ │ +420476: 5480 195e |00d3: iget-object v0, v8, Lorg/purple/smoke/TcpNeighbor;.m_mutex:Ljava/lang/Object; // field@5e19 │ │ +42047a: 1d00 |00d5: monitor-enter v0 │ │ +42047c: 5481 195e |00d6: iget-object v1, v8, Lorg/purple/smoke/TcpNeighbor;.m_mutex:Ljava/lang/Object; // field@5e19 │ │ +420480: 6e10 955c 0100 |00d8: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@5c95 │ │ +420486: 1e00 |00db: monitor-exit v0 │ │ +420488: 2831 |00dc: goto 010d // +0031 │ │ +42048a: 0d01 |00dd: move-exception v1 │ │ +42048c: 1e00 |00de: monitor-exit v0 │ │ +42048e: 2701 |00df: throw v1 │ │ +420490: 0d00 |00e0: move-exception v0 │ │ +420492: 2201 f10a |00e1: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ +420496: 7010 ee5c 0100 |00e3: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +42049c: 1a02 550d |00e6: const-string v2, "An error (" // string@0d55 │ │ +4204a0: 6e20 f95c 2100 |00e8: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4204a6: 6e10 375c 0000 |00eb: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@5c37 │ │ +4204ac: 0c00 |00ee: move-result-object v0 │ │ +4204ae: 6e20 f95c 0100 |00ef: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4204b4: 1a00 f603 |00f2: const-string v0, ") occurred while attempting a connection (" // string@03f6 │ │ +4204b8: 6e20 f95c 0100 |00f4: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4204be: 7100 0b5d 0000 |00f7: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ +4204c4: 0b02 |00fa: move-result-wide v2 │ │ +4204c6: 6e30 f55c 2103 |00fb: invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@5cf5 │ │ +4204cc: 1a00 0404 |00fe: const-string v0, ")." // string@0404 │ │ +4204d0: 6e20 f95c 0100 |0100: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4204d6: 6e10 035d 0100 |0103: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +4204dc: 0c00 |0106: move-result-object v0 │ │ +4204de: 6e20 53ba 0800 |0107: invoke-virtual {v8, v0}, Lorg/purple/smoke/TcpNeighbor;.setError:(Ljava/lang/String;)V // method@ba53 │ │ +4204e4: 6e10 49ba 0800 |010a: invoke-virtual {v8}, Lorg/purple/smoke/TcpNeighbor;.disconnect:()V // method@ba49 │ │ +4204ea: 0e00 |010d: return-void │ │ catches : 3 │ │ 0x0013 - 0x00d6 │ │ Ljava/lang/Exception; -> 0x00e0 │ │ 0x00d6 - 0x00df │ │ -> 0x00dd │ │ 0x00df - 0x00e0 │ │ Ljava/lang/Exception; -> 0x00e0 │ │ @@ -1165964,26 +1165963,26 @@ │ │ type : '()Z' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 19 16-bit code units │ │ -41fe6c: |[41fe6c] org.purple.smoke.TcpNeighbor.connected:()Z │ │ -41fe7c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -41fe7e: 6e10 4dba 0200 |0001: invoke-virtual {v2}, Lorg/purple/smoke/TcpNeighbor;.isNetworkConnected:()Z // method@ba4d │ │ -41fe84: 0a01 |0004: move-result v1 │ │ -41fe86: 3801 0d00 |0005: if-eqz v1, 0012 // +000d │ │ -41fe8a: 5421 215e |0007: iget-object v1, v2, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ -41fe8e: 3801 0900 |0009: if-eqz v1, 0012 // +0009 │ │ -41fe92: 6e10 a95d 0100 |000b: invoke-virtual {v1}, Ljava/net/Socket;.isClosed:()Z // method@5da9 │ │ -41fe98: 0a01 |000e: move-result v1 │ │ -41fe9a: 3901 0300 |000f: if-nez v1, 0012 // +0003 │ │ -41fe9e: 1210 |0011: const/4 v0, #int 1 // #1 │ │ -41fea0: 0f00 |0012: return v0 │ │ +41fe68: |[41fe68] org.purple.smoke.TcpNeighbor.connected:()Z │ │ +41fe78: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +41fe7a: 6e10 4dba 0200 |0001: invoke-virtual {v2}, Lorg/purple/smoke/TcpNeighbor;.isNetworkConnected:()Z // method@ba4d │ │ +41fe80: 0a01 |0004: move-result v1 │ │ +41fe82: 3801 0d00 |0005: if-eqz v1, 0012 // +000d │ │ +41fe86: 5421 215e |0007: iget-object v1, v2, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ +41fe8a: 3801 0900 |0009: if-eqz v1, 0012 // +0009 │ │ +41fe8e: 6e10 a95d 0100 |000b: invoke-virtual {v1}, Ljava/net/Socket;.isClosed:()Z // method@5da9 │ │ +41fe94: 0a01 |000e: move-result v1 │ │ +41fe96: 3901 0300 |000f: if-nez v1, 0012 // +0003 │ │ +41fe9a: 1210 |0011: const/4 v0, #int 1 // #1 │ │ +41fe9c: 0f00 |0012: return v0 │ │ catches : 1 │ │ 0x0001 - 0x000f │ │ Ljava/lang/Exception; -> 0x0012 │ │ positions : │ │ 0x0001 line=70 │ │ 0x000b line=72 │ │ locals : │ │ @@ -1165994,47 +1165993,47 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 69 16-bit code units │ │ -420514: |[420514] org.purple.smoke.TcpNeighbor.disconnect:()V │ │ -420524: 6f10 07b8 0500 |0000: invoke-super {v5}, Lorg/purple/smoke/Neighbor;.disconnect:()V // method@b807 │ │ -42052a: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -42052c: 1601 0000 |0004: const-wide/16 v1, #int 0 // #0 │ │ -420530: 5453 215e |0006: iget-object v3, v5, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ -420534: 3803 2200 |0008: if-eqz v3, 002a // +0022 │ │ -420538: 6e10 a15d 0300 |000a: invoke-virtual {v3}, Ljava/net/Socket;.close:()V // method@5da1 │ │ -42053e: 281d |000d: goto 002a // +001d │ │ -420540: 0d03 |000e: move-exception v3 │ │ -420542: 5454 115e |000f: iget-object v4, v5, Lorg/purple/smoke/TcpNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e11 │ │ -420546: 6e30 e160 1402 |0011: invoke-virtual {v4, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -42054c: 5454 125e |0014: iget-object v4, v5, Lorg/purple/smoke/TcpNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e12 │ │ -420550: 6e30 e160 1402 |0016: invoke-virtual {v4, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -420556: 5454 175e |0019: iget-object v4, v5, Lorg/purple/smoke/TcpNeighbor;.m_lastParsed:Ljava/util/concurrent/atomic/AtomicLong; // field@5e17 │ │ -42055a: 6e30 e160 1402 |001b: invoke-virtual {v4, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -420560: 5b50 215e |001e: iput-object v0, v5, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ -420564: 5450 225e |0020: iget-object v0, v5, Lorg/purple/smoke/TcpNeighbor;.m_startTime:Ljava/util/concurrent/atomic/AtomicLong; // field@5e22 │ │ -420568: 7100 0b5d 0000 |0022: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ -42056e: 0b01 |0025: move-result-wide v1 │ │ -420570: 6e30 e160 1002 |0026: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -420576: 2703 |0029: throw v3 │ │ -420578: 5453 115e |002a: iget-object v3, v5, Lorg/purple/smoke/TcpNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e11 │ │ -42057c: 6e30 e160 1302 |002c: invoke-virtual {v3, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -420582: 5453 125e |002f: iget-object v3, v5, Lorg/purple/smoke/TcpNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e12 │ │ -420586: 6e30 e160 1302 |0031: invoke-virtual {v3, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -42058c: 5453 175e |0034: iget-object v3, v5, Lorg/purple/smoke/TcpNeighbor;.m_lastParsed:Ljava/util/concurrent/atomic/AtomicLong; // field@5e17 │ │ -420590: 6e30 e160 1302 |0036: invoke-virtual {v3, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -420596: 5b50 215e |0039: iput-object v0, v5, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ -42059a: 5450 225e |003b: iget-object v0, v5, Lorg/purple/smoke/TcpNeighbor;.m_startTime:Ljava/util/concurrent/atomic/AtomicLong; // field@5e22 │ │ -42059e: 7100 0b5d 0000 |003d: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ -4205a4: 0b01 |0040: move-result-wide v1 │ │ -4205a6: 6e30 e160 1002 |0041: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -4205ac: 0e00 |0044: return-void │ │ +420510: |[420510] org.purple.smoke.TcpNeighbor.disconnect:()V │ │ +420520: 6f10 07b8 0500 |0000: invoke-super {v5}, Lorg/purple/smoke/Neighbor;.disconnect:()V // method@b807 │ │ +420526: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +420528: 1601 0000 |0004: const-wide/16 v1, #int 0 // #0 │ │ +42052c: 5453 215e |0006: iget-object v3, v5, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ +420530: 3803 2200 |0008: if-eqz v3, 002a // +0022 │ │ +420534: 6e10 a15d 0300 |000a: invoke-virtual {v3}, Ljava/net/Socket;.close:()V // method@5da1 │ │ +42053a: 281d |000d: goto 002a // +001d │ │ +42053c: 0d03 |000e: move-exception v3 │ │ +42053e: 5454 115e |000f: iget-object v4, v5, Lorg/purple/smoke/TcpNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e11 │ │ +420542: 6e30 e160 1402 |0011: invoke-virtual {v4, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +420548: 5454 125e |0014: iget-object v4, v5, Lorg/purple/smoke/TcpNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e12 │ │ +42054c: 6e30 e160 1402 |0016: invoke-virtual {v4, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +420552: 5454 175e |0019: iget-object v4, v5, Lorg/purple/smoke/TcpNeighbor;.m_lastParsed:Ljava/util/concurrent/atomic/AtomicLong; // field@5e17 │ │ +420556: 6e30 e160 1402 |001b: invoke-virtual {v4, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +42055c: 5b50 215e |001e: iput-object v0, v5, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ +420560: 5450 225e |0020: iget-object v0, v5, Lorg/purple/smoke/TcpNeighbor;.m_startTime:Ljava/util/concurrent/atomic/AtomicLong; // field@5e22 │ │ +420564: 7100 0b5d 0000 |0022: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ +42056a: 0b01 |0025: move-result-wide v1 │ │ +42056c: 6e30 e160 1002 |0026: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +420572: 2703 |0029: throw v3 │ │ +420574: 5453 115e |002a: iget-object v3, v5, Lorg/purple/smoke/TcpNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e11 │ │ +420578: 6e30 e160 1302 |002c: invoke-virtual {v3, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +42057e: 5453 125e |002f: iget-object v3, v5, Lorg/purple/smoke/TcpNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e12 │ │ +420582: 6e30 e160 1302 |0031: invoke-virtual {v3, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +420588: 5453 175e |0034: iget-object v3, v5, Lorg/purple/smoke/TcpNeighbor;.m_lastParsed:Ljava/util/concurrent/atomic/AtomicLong; // field@5e17 │ │ +42058c: 6e30 e160 1302 |0036: invoke-virtual {v3, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +420592: 5b50 215e |0039: iput-object v0, v5, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ +420596: 5450 225e |003b: iget-object v0, v5, Lorg/purple/smoke/TcpNeighbor;.m_startTime:Ljava/util/concurrent/atomic/AtomicLong; // field@5e22 │ │ +42059a: 7100 0b5d 0000 |003d: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ +4205a0: 0b01 |0040: move-result-wide v1 │ │ +4205a2: 6e30 e160 1002 |0041: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +4205a8: 0e00 |0044: return-void │ │ catches : 1 │ │ 0x0006 - 0x000d │ │ Ljava/lang/Exception; -> 0x002a │ │ -> 0x000e │ │ positions : │ │ 0x0000 line=229 │ │ 0x0006 line=233 │ │ @@ -1166058,36 +1166057,36 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 38 16-bit code units │ │ -41ffd0: |[41ffd0] org.purple.smoke.TcpNeighbor.getLocalIp:()Ljava/lang/String; │ │ -41ffe0: 5420 215e |0000: iget-object v0, v2, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ -41ffe4: 3800 1400 |0002: if-eqz v0, 0016 // +0014 │ │ -41ffe8: 6e10 a55d 0000 |0004: invoke-virtual {v0}, Ljava/net/Socket;.getLocalAddress:()Ljava/net/InetAddress; // method@5da5 │ │ -41ffee: 0c00 |0007: move-result-object v0 │ │ -41fff0: 3800 0e00 |0008: if-eqz v0, 0016 // +000e │ │ -41fff4: 5420 215e |000a: iget-object v0, v2, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ -41fff8: 6e10 a55d 0000 |000c: invoke-virtual {v0}, Ljava/net/Socket;.getLocalAddress:()Ljava/net/InetAddress; // method@5da5 │ │ -41fffe: 0c00 |000f: move-result-object v0 │ │ -420000: 6e10 8c5d 0000 |0010: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@5d8c │ │ -420006: 0c00 |0013: move-result-object v0 │ │ -420008: 1100 |0014: return-object v0 │ │ -42000a: 0000 |0015: nop // spacer │ │ -42000c: 5420 245e |0016: iget-object v0, v2, Lorg/purple/smoke/TcpNeighbor;.m_version:Ljava/lang/String; // field@5e24 │ │ -420010: 1a01 681d |0018: const-string v1, "IPv4" // string@1d68 │ │ -420014: 6e20 b85c 1000 |001a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -42001a: 0a00 |001d: move-result v0 │ │ -42001c: 3800 0500 |001e: if-eqz v0, 0023 // +0005 │ │ -420020: 1a00 c204 |0020: const-string v0, "0.0.0.0" // string@04c2 │ │ -420024: 1100 |0022: return-object v0 │ │ -420026: 1a00 8508 |0023: const-string v0, "::" // string@0885 │ │ -42002a: 1100 |0025: return-object v0 │ │ +41ffcc: |[41ffcc] org.purple.smoke.TcpNeighbor.getLocalIp:()Ljava/lang/String; │ │ +41ffdc: 5420 215e |0000: iget-object v0, v2, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ +41ffe0: 3800 1400 |0002: if-eqz v0, 0016 // +0014 │ │ +41ffe4: 6e10 a55d 0000 |0004: invoke-virtual {v0}, Ljava/net/Socket;.getLocalAddress:()Ljava/net/InetAddress; // method@5da5 │ │ +41ffea: 0c00 |0007: move-result-object v0 │ │ +41ffec: 3800 0e00 |0008: if-eqz v0, 0016 // +000e │ │ +41fff0: 5420 215e |000a: iget-object v0, v2, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ +41fff4: 6e10 a55d 0000 |000c: invoke-virtual {v0}, Ljava/net/Socket;.getLocalAddress:()Ljava/net/InetAddress; // method@5da5 │ │ +41fffa: 0c00 |000f: move-result-object v0 │ │ +41fffc: 6e10 8c5d 0000 |0010: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@5d8c │ │ +420002: 0c00 |0013: move-result-object v0 │ │ +420004: 1100 |0014: return-object v0 │ │ +420006: 0000 |0015: nop // spacer │ │ +420008: 5420 245e |0016: iget-object v0, v2, Lorg/purple/smoke/TcpNeighbor;.m_version:Ljava/lang/String; // field@5e24 │ │ +42000c: 1a01 681d |0018: const-string v1, "IPv4" // string@1d68 │ │ +420010: 6e20 b85c 1000 |001a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +420016: 0a00 |001d: move-result v0 │ │ +420018: 3800 0500 |001e: if-eqz v0, 0023 // +0005 │ │ +42001c: 1a00 c204 |0020: const-string v0, "0.0.0.0" // string@04c2 │ │ +420020: 1100 |0022: return-object v0 │ │ +420022: 1a00 8508 |0023: const-string v0, "::" // string@0885 │ │ +420026: 1100 |0025: return-object v0 │ │ catches : 1 │ │ 0x0000 - 0x0014 │ │ Ljava/lang/Exception; -> 0x0015 │ │ positions : │ │ 0x0000 line=48 │ │ 0x000a line=49 │ │ 0x0016 line=55 │ │ @@ -1166099,26 +1166098,26 @@ │ │ type : '()I' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 19 16-bit code units │ │ -41feb4: |[41feb4] org.purple.smoke.TcpNeighbor.getLocalPort:()I │ │ -41fec4: 5410 215e |0000: iget-object v0, v1, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ -41fec8: 3800 0f00 |0002: if-eqz v0, 0011 // +000f │ │ -41fecc: 6e10 a95d 0000 |0004: invoke-virtual {v0}, Ljava/net/Socket;.isClosed:()Z // method@5da9 │ │ -41fed2: 0a00 |0007: move-result v0 │ │ -41fed4: 3900 0900 |0008: if-nez v0, 0011 // +0009 │ │ -41fed8: 5410 215e |000a: iget-object v0, v1, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ -41fedc: 6e10 a65d 0000 |000c: invoke-virtual {v0}, Ljava/net/Socket;.getLocalPort:()I // method@5da6 │ │ -41fee2: 0a00 |000f: move-result v0 │ │ -41fee4: 0f00 |0010: return v0 │ │ -41fee6: 1200 |0011: const/4 v0, #int 0 // #0 │ │ -41fee8: 0f00 |0012: return v0 │ │ +41feb0: |[41feb0] org.purple.smoke.TcpNeighbor.getLocalPort:()I │ │ +41fec0: 5410 215e |0000: iget-object v0, v1, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ +41fec4: 3800 0f00 |0002: if-eqz v0, 0011 // +000f │ │ +41fec8: 6e10 a95d 0000 |0004: invoke-virtual {v0}, Ljava/net/Socket;.isClosed:()Z // method@5da9 │ │ +41fece: 0a00 |0007: move-result v0 │ │ +41fed0: 3900 0900 |0008: if-nez v0, 0011 // +0009 │ │ +41fed4: 5410 215e |000a: iget-object v0, v1, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ +41fed8: 6e10 a65d 0000 |000c: invoke-virtual {v0}, Ljava/net/Socket;.getLocalPort:()I // method@5da6 │ │ +41fede: 0a00 |000f: move-result v0 │ │ +41fee0: 0f00 |0010: return v0 │ │ +41fee2: 1200 |0011: const/4 v0, #int 0 // #0 │ │ +41fee4: 0f00 |0012: return v0 │ │ catches : 1 │ │ 0x0000 - 0x0010 │ │ Ljava/lang/Exception; -> 0x0011 │ │ positions : │ │ 0x0000 line=85 │ │ 0x000a line=86 │ │ locals : │ │ @@ -1166129,52 +1166128,52 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -42003c: |[42003c] org.purple.smoke.TcpNeighbor.getSessionCipher:()Ljava/lang/String; │ │ -42004c: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ -420050: 1100 |0002: return-object v0 │ │ +420038: |[420038] org.purple.smoke.TcpNeighbor.getSessionCipher:()Ljava/lang/String; │ │ +420048: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ +42004c: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #7 : (in Lorg/purple/smoke/TcpNeighbor;) │ │ name : 'remoteIpAddress' │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 38 16-bit code units │ │ -420054: |[420054] org.purple.smoke.TcpNeighbor.remoteIpAddress:()Ljava/lang/String; │ │ -420064: 5420 215e |0000: iget-object v0, v2, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ -420068: 3800 1400 |0002: if-eqz v0, 0016 // +0014 │ │ -42006c: 6e10 a35d 0000 |0004: invoke-virtual {v0}, Ljava/net/Socket;.getInetAddress:()Ljava/net/InetAddress; // method@5da3 │ │ -420072: 0c00 |0007: move-result-object v0 │ │ -420074: 3800 0e00 |0008: if-eqz v0, 0016 // +000e │ │ -420078: 5420 215e |000a: iget-object v0, v2, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ -42007c: 6e10 a35d 0000 |000c: invoke-virtual {v0}, Ljava/net/Socket;.getInetAddress:()Ljava/net/InetAddress; // method@5da3 │ │ -420082: 0c00 |000f: move-result-object v0 │ │ -420084: 6e10 8c5d 0000 |0010: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@5d8c │ │ -42008a: 0c00 |0013: move-result-object v0 │ │ -42008c: 1100 |0014: return-object v0 │ │ -42008e: 0000 |0015: nop // spacer │ │ -420090: 5420 245e |0016: iget-object v0, v2, Lorg/purple/smoke/TcpNeighbor;.m_version:Ljava/lang/String; // field@5e24 │ │ -420094: 1a01 681d |0018: const-string v1, "IPv4" // string@1d68 │ │ -420098: 6e20 b85c 1000 |001a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -42009e: 0a00 |001d: move-result v0 │ │ -4200a0: 3800 0500 |001e: if-eqz v0, 0023 // +0005 │ │ -4200a4: 1a00 c204 |0020: const-string v0, "0.0.0.0" // string@04c2 │ │ -4200a8: 1100 |0022: return-object v0 │ │ -4200aa: 1a00 8508 |0023: const-string v0, "::" // string@0885 │ │ -4200ae: 1100 |0025: return-object v0 │ │ +420050: |[420050] org.purple.smoke.TcpNeighbor.remoteIpAddress:()Ljava/lang/String; │ │ +420060: 5420 215e |0000: iget-object v0, v2, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ +420064: 3800 1400 |0002: if-eqz v0, 0016 // +0014 │ │ +420068: 6e10 a35d 0000 |0004: invoke-virtual {v0}, Ljava/net/Socket;.getInetAddress:()Ljava/net/InetAddress; // method@5da3 │ │ +42006e: 0c00 |0007: move-result-object v0 │ │ +420070: 3800 0e00 |0008: if-eqz v0, 0016 // +000e │ │ +420074: 5420 215e |000a: iget-object v0, v2, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ +420078: 6e10 a35d 0000 |000c: invoke-virtual {v0}, Ljava/net/Socket;.getInetAddress:()Ljava/net/InetAddress; // method@5da3 │ │ +42007e: 0c00 |000f: move-result-object v0 │ │ +420080: 6e10 8c5d 0000 |0010: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@5d8c │ │ +420086: 0c00 |0013: move-result-object v0 │ │ +420088: 1100 |0014: return-object v0 │ │ +42008a: 0000 |0015: nop // spacer │ │ +42008c: 5420 245e |0016: iget-object v0, v2, Lorg/purple/smoke/TcpNeighbor;.m_version:Ljava/lang/String; // field@5e24 │ │ +420090: 1a01 681d |0018: const-string v1, "IPv4" // string@1d68 │ │ +420094: 6e20 b85c 1000 |001a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +42009a: 0a00 |001d: move-result v0 │ │ +42009c: 3800 0500 |001e: if-eqz v0, 0023 // +0005 │ │ +4200a0: 1a00 c204 |0020: const-string v0, "0.0.0.0" // string@04c2 │ │ +4200a4: 1100 |0022: return-object v0 │ │ +4200a6: 1a00 8508 |0023: const-string v0, "::" // string@0885 │ │ +4200aa: 1100 |0025: return-object v0 │ │ catches : 1 │ │ 0x0000 - 0x0014 │ │ Ljava/lang/Exception; -> 0x0015 │ │ positions : │ │ 0x0000 line=377 │ │ 0x000a line=378 │ │ 0x0016 line=384 │ │ @@ -1166186,24 +1166185,24 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 16 16-bit code units │ │ -4200c0: |[4200c0] org.purple.smoke.TcpNeighbor.remotePort:()Ljava/lang/String; │ │ -4200d0: 5410 215e |0000: iget-object v0, v1, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ -4200d4: 3800 0b00 |0002: if-eqz v0, 000d // +000b │ │ -4200d8: 6e10 a85d 0000 |0004: invoke-virtual {v0}, Ljava/net/Socket;.getPort:()I // method@5da8 │ │ -4200de: 0a00 |0007: move-result v0 │ │ -4200e0: 7110 d55c 0000 |0008: invoke-static {v0}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ -4200e6: 0c00 |000b: move-result-object v0 │ │ -4200e8: 1100 |000c: return-object v0 │ │ -4200ea: 1a00 bf04 |000d: const-string v0, "0" // string@04bf │ │ -4200ee: 1100 |000f: return-object v0 │ │ +4200bc: |[4200bc] org.purple.smoke.TcpNeighbor.remotePort:()Ljava/lang/String; │ │ +4200cc: 5410 215e |0000: iget-object v0, v1, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ +4200d0: 3800 0b00 |0002: if-eqz v0, 000d // +000b │ │ +4200d4: 6e10 a85d 0000 |0004: invoke-virtual {v0}, Ljava/net/Socket;.getPort:()I // method@5da8 │ │ +4200da: 0a00 |0007: move-result v0 │ │ +4200dc: 7110 d55c 0000 |0008: invoke-static {v0}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ +4200e2: 0c00 |000b: move-result-object v0 │ │ +4200e4: 1100 |000c: return-object v0 │ │ +4200e6: 1a00 bf04 |000d: const-string v0, "0" // string@04bf │ │ +4200ea: 1100 |000f: return-object v0 │ │ catches : 1 │ │ 0x0000 - 0x000c │ │ Ljava/lang/Exception; -> 0x000d │ │ positions : │ │ 0x0000 line=394 │ │ 0x0004 line=395 │ │ locals : │ │ @@ -1166214,46 +1166213,46 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -420100: |[420100] org.purple.smoke.TcpNeighbor.remoteScopeId:()Ljava/lang/String; │ │ -420110: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ -420114: 1100 |0002: return-object v0 │ │ +4200fc: |[4200fc] org.purple.smoke.TcpNeighbor.remoteScopeId:()Ljava/lang/String; │ │ +42010c: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ +420110: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #10 : (in Lorg/purple/smoke/TcpNeighbor;) │ │ name : 'send' │ │ type : '(Ljava/lang/String;)I' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 26 16-bit code units │ │ -41ff8c: |[41ff8c] org.purple.smoke.TcpNeighbor.send:(Ljava/lang/String;)I │ │ -41ff9c: 6e10 48ba 0100 |0000: invoke-virtual {v1}, Lorg/purple/smoke/TcpNeighbor;.connected:()Z // method@ba48 │ │ -41ffa2: 0a00 |0003: move-result v0 │ │ -41ffa4: 3800 1400 |0004: if-eqz v0, 0018 // +0014 │ │ -41ffa8: 3802 1200 |0006: if-eqz v2, 0018 // +0012 │ │ -41ffac: 6e10 c55c 0200 |0008: invoke-virtual {v2}, Ljava/lang/String;.length:()I // method@5cc5 │ │ -41ffb2: 0a00 |000b: move-result v0 │ │ -41ffb4: 3900 0300 |000c: if-nez v0, 000f // +0003 │ │ -41ffb8: 280a |000e: goto 0018 // +000a │ │ -41ffba: 6e10 bc5c 0200 |000f: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -41ffc0: 0c02 |0012: move-result-object v2 │ │ -41ffc2: 6e20 52ba 2100 |0013: invoke-virtual {v1, v2}, Lorg/purple/smoke/TcpNeighbor;.send:([B)I // method@ba52 │ │ -41ffc8: 0a02 |0016: move-result v2 │ │ -41ffca: 0f02 |0017: return v2 │ │ -41ffcc: 1202 |0018: const/4 v2, #int 0 // #0 │ │ -41ffce: 0f02 |0019: return v2 │ │ +41ff88: |[41ff88] org.purple.smoke.TcpNeighbor.send:(Ljava/lang/String;)I │ │ +41ff98: 6e10 48ba 0100 |0000: invoke-virtual {v1}, Lorg/purple/smoke/TcpNeighbor;.connected:()Z // method@ba48 │ │ +41ff9e: 0a00 |0003: move-result v0 │ │ +41ffa0: 3800 1400 |0004: if-eqz v0, 0018 // +0014 │ │ +41ffa4: 3802 1200 |0006: if-eqz v2, 0018 // +0012 │ │ +41ffa8: 6e10 c55c 0200 |0008: invoke-virtual {v2}, Ljava/lang/String;.length:()I // method@5cc5 │ │ +41ffae: 0a00 |000b: move-result v0 │ │ +41ffb0: 3900 0300 |000c: if-nez v0, 000f // +0003 │ │ +41ffb4: 280a |000e: goto 0018 // +000a │ │ +41ffb6: 6e10 bc5c 0200 |000f: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +41ffbc: 0c02 |0012: move-result-object v2 │ │ +41ffbe: 6e20 52ba 2100 |0013: invoke-virtual {v1, v2}, Lorg/purple/smoke/TcpNeighbor;.send:([B)I // method@ba52 │ │ +41ffc4: 0a02 |0016: move-result v2 │ │ +41ffc6: 0f02 |0017: return v2 │ │ +41ffc8: 1202 |0018: const/4 v2, #int 0 // #0 │ │ +41ffca: 0f02 |0019: return v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=97 │ │ 0x000f line=100 │ │ locals : │ │ 0x0000 - 0x001a reg=1 this Lorg/purple/smoke/TcpNeighbor; │ │ 0x0000 - 0x001a reg=2 (null) Ljava/lang/String; │ │ @@ -1166263,46 +1166262,46 @@ │ │ type : '([B)I' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 56 16-bit code units │ │ -41fefc: |[41fefc] org.purple.smoke.TcpNeighbor.send:([B)I │ │ -41ff0c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -41ff0e: 3805 3600 |0001: if-eqz v5, 0037 // +0036 │ │ -41ff12: 2151 |0003: array-length v1, v5 │ │ -41ff14: 3801 3300 |0004: if-eqz v1, 0037 // +0033 │ │ -41ff18: 6e10 48ba 0400 |0006: invoke-virtual {v4}, Lorg/purple/smoke/TcpNeighbor;.connected:()Z // method@ba48 │ │ -41ff1e: 0a01 |0009: move-result v1 │ │ -41ff20: 3901 0300 |000a: if-nez v1, 000d // +0003 │ │ -41ff24: 282b |000c: goto 0037 // +002b │ │ -41ff26: 5441 215e |000d: iget-object v1, v4, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ -41ff2a: 3801 1f00 |000f: if-eqz v1, 002e // +001f │ │ -41ff2e: 6e10 a75d 0100 |0011: invoke-virtual {v1}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@5da7 │ │ -41ff34: 0c01 |0014: move-result-object v1 │ │ -41ff36: 3901 0300 |0015: if-nez v1, 0018 // +0003 │ │ -41ff3a: 2817 |0017: goto 002e // +0017 │ │ -41ff3c: 5441 215e |0018: iget-object v1, v4, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ -41ff40: 6e10 a75d 0100 |001a: invoke-virtual {v1}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@5da7 │ │ -41ff46: 0c01 |001d: move-result-object v1 │ │ -41ff48: 6e20 db5b 5100 |001e: invoke-virtual {v1, v5}, Ljava/io/OutputStream;.write:([B)V // method@5bdb │ │ -41ff4e: 7110 1ab7 0500 |0021: invoke-static {v5}, Lorg/purple/smoke/Kernel;.writeCongestionDigest:([B)V // method@b71a │ │ -41ff54: 5441 125e |0024: iget-object v1, v4, Lorg/purple/smoke/TcpNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e12 │ │ -41ff58: 2152 |0026: array-length v2, v5 │ │ -41ff5a: 8122 |0027: int-to-long v2, v2 │ │ -41ff5c: 6e30 e060 2103 |0028: invoke-virtual {v1, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.getAndAdd:(J)J // method@60e0 │ │ -41ff62: 2155 |002b: array-length v5, v5 │ │ -41ff64: b050 |002c: add-int/2addr v0, v5 │ │ -41ff66: 280a |002d: goto 0037 // +000a │ │ -41ff68: 0f00 |002e: return v0 │ │ -41ff6a: 1a05 0309 |002f: const-string v5, "A socket error occurred on send()." // string@0903 │ │ -41ff6e: 6e20 53ba 5400 |0031: invoke-virtual {v4, v5}, Lorg/purple/smoke/TcpNeighbor;.setError:(Ljava/lang/String;)V // method@ba53 │ │ -41ff74: 6e10 49ba 0400 |0034: invoke-virtual {v4}, Lorg/purple/smoke/TcpNeighbor;.disconnect:()V // method@ba49 │ │ -41ff7a: 0f00 |0037: return v0 │ │ +41fef8: |[41fef8] org.purple.smoke.TcpNeighbor.send:([B)I │ │ +41ff08: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +41ff0a: 3805 3600 |0001: if-eqz v5, 0037 // +0036 │ │ +41ff0e: 2151 |0003: array-length v1, v5 │ │ +41ff10: 3801 3300 |0004: if-eqz v1, 0037 // +0033 │ │ +41ff14: 6e10 48ba 0400 |0006: invoke-virtual {v4}, Lorg/purple/smoke/TcpNeighbor;.connected:()Z // method@ba48 │ │ +41ff1a: 0a01 |0009: move-result v1 │ │ +41ff1c: 3901 0300 |000a: if-nez v1, 000d // +0003 │ │ +41ff20: 282b |000c: goto 0037 // +002b │ │ +41ff22: 5441 215e |000d: iget-object v1, v4, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ +41ff26: 3801 1f00 |000f: if-eqz v1, 002e // +001f │ │ +41ff2a: 6e10 a75d 0100 |0011: invoke-virtual {v1}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@5da7 │ │ +41ff30: 0c01 |0014: move-result-object v1 │ │ +41ff32: 3901 0300 |0015: if-nez v1, 0018 // +0003 │ │ +41ff36: 2817 |0017: goto 002e // +0017 │ │ +41ff38: 5441 215e |0018: iget-object v1, v4, Lorg/purple/smoke/TcpNeighbor;.m_socket:Ljava/net/Socket; // field@5e21 │ │ +41ff3c: 6e10 a75d 0100 |001a: invoke-virtual {v1}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@5da7 │ │ +41ff42: 0c01 |001d: move-result-object v1 │ │ +41ff44: 6e20 db5b 5100 |001e: invoke-virtual {v1, v5}, Ljava/io/OutputStream;.write:([B)V // method@5bdb │ │ +41ff4a: 7110 1ab7 0500 |0021: invoke-static {v5}, Lorg/purple/smoke/Kernel;.writeCongestionDigest:([B)V // method@b71a │ │ +41ff50: 5441 125e |0024: iget-object v1, v4, Lorg/purple/smoke/TcpNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e12 │ │ +41ff54: 2152 |0026: array-length v2, v5 │ │ +41ff56: 8122 |0027: int-to-long v2, v2 │ │ +41ff58: 6e30 e060 2103 |0028: invoke-virtual {v1, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.getAndAdd:(J)J // method@60e0 │ │ +41ff5e: 2155 |002b: array-length v5, v5 │ │ +41ff60: b050 |002c: add-int/2addr v0, v5 │ │ +41ff62: 280a |002d: goto 0037 // +000a │ │ +41ff64: 0f00 |002e: return v0 │ │ +41ff66: 1a05 0309 |002f: const-string v5, "A socket error occurred on send()." // string@0903 │ │ +41ff6a: 6e20 53ba 5400 |0031: invoke-virtual {v4, v5}, Lorg/purple/smoke/TcpNeighbor;.setError:(Ljava/lang/String;)V // method@ba53 │ │ +41ff70: 6e10 49ba 0400 |0034: invoke-virtual {v4}, Lorg/purple/smoke/TcpNeighbor;.disconnect:()V // method@ba49 │ │ +41ff76: 0f00 |0037: return v0 │ │ catches : 1 │ │ 0x000d - 0x002c │ │ Ljava/lang/Exception; -> 0x002f │ │ positions : │ │ 0x0003 line=107 │ │ 0x000d line=112 │ │ 0x0018 line=115 │ │ @@ -1166320,17 +1166319,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -420118: |[420118] org.purple.smoke.TcpNeighbor.transport:()Ljava/lang/String; │ │ -420128: 1a00 e04b |0000: const-string v0, "TCP" // string@4be0 │ │ -42012c: 1100 |0002: return-object v0 │ │ +420114: |[420114] org.purple.smoke.TcpNeighbor.transport:()Ljava/lang/String; │ │ +420124: 1a00 e04b |0000: const-string v0, "TCP" // string@4be0 │ │ +420128: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ source_file_idx : 19781 (TcpNeighbor.java) │ │ │ │ Class #4271 header: │ │ @@ -1166402,121 +1166401,121 @@ │ │ type : '(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 19 │ │ ins : 10 │ │ outs : 8 │ │ insns size : 198 16-bit code units │ │ -420fa4: |[420fa4] org.purple.smoke.TcpTlsNeighbor.:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V │ │ -420fb4: 0798 |0000: move-object v8, v9 │ │ -420fb6: 1a05 e04b |0001: const-string v5, "TCP" // string@4be0 │ │ -420fba: 0790 |0003: move-object v0, v9 │ │ -420fbc: 07a1 |0004: move-object v1, v10 │ │ -420fbe: 07e2 |0005: move-object v2, v14 │ │ -420fc0: 07f3 |0006: move-object v3, v15 │ │ -420fc2: 0804 1000 |0007: move-object/from16 v4, v16 │ │ -420fc6: 0806 1100 |0009: move-object/from16 v6, v17 │ │ -420fca: 0207 1200 |000b: move/from16 v7, v18 │ │ -420fce: 7608 f9b7 0000 |000d: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7}, Lorg/purple/smoke/Neighbor;.:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V // method@b7f9 │ │ -420fd4: 1200 |0010: const/4 v0, #int 0 // #0 │ │ -420fd6: 5b80 325e |0011: iput-object v0, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_handshakeCompleted:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e32 │ │ -420fda: 5b80 355e |0013: iput-object v0, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_isValidCertificate:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e35 │ │ -420fde: 5b80 3c5e |0015: iput-object v0, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyInetSocketAddress:Ljava/net/InetSocketAddress; // field@5e3c │ │ -420fe2: 5b80 415e |0017: iput-object v0, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ -420fe6: 5b80 3b5e |0019: iput-object v0, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_protocols:[Ljava/lang/String; // field@5e3b │ │ -420fea: 1a01 0000 |001b: const-string v1, "" // string@0000 │ │ -420fee: 5b81 3d5e |001d: iput-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyIpAddress:Ljava/lang/String; // field@5e3d │ │ -420ff2: 5b81 3f5e |001f: iput-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyType:Ljava/lang/String; // field@5e3f │ │ -420ff6: 5b80 445e |0021: iput-object v0, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_trustManagers:[Ljavax/net/ssl/TrustManager; // field@5e44 │ │ -420ffa: 12f1 |0023: const/4 v1, #int -1 // #ff │ │ -420ffc: 5981 3e5e |0024: iput v1, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyPort:I // field@5e3e │ │ -421000: 2202 e50b |0026: new-instance v2, Ljava/util/concurrent/atomic/AtomicBoolean; // type@0be5 │ │ -421004: 1203 |0028: const/4 v3, #int 0 // #0 │ │ -421006: 7020 d460 3200 |0029: invoke-direct {v2, v3}, Ljava/util/concurrent/atomic/AtomicBoolean;.:(Z)V // method@60d4 │ │ -42100c: 5b82 325e |002c: iput-object v2, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_handshakeCompleted:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e32 │ │ -421010: 2202 e50b |002e: new-instance v2, Ljava/util/concurrent/atomic/AtomicBoolean; // type@0be5 │ │ -421014: 7020 d460 3200 |0030: invoke-direct {v2, v3}, Ljava/util/concurrent/atomic/AtomicBoolean;.:(Z)V // method@60d4 │ │ -42101a: 5b82 355e |0033: iput-object v2, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_isValidCertificate:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e35 │ │ -42101e: 6202 6c00 |0035: sget-object v2, Landroid/os/Build$VERSION;.RELEASE:Ljava/lang/String; // field@006c │ │ -421022: 1a04 5306 |0037: const-string v4, "10" // string@0653 │ │ -421026: 6e20 ca5c 4200 |0039: invoke-virtual {v2, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@5cca │ │ -42102c: 0a02 |003c: move-result v2 │ │ -42102e: 3902 3100 |003d: if-nez v2, 006e // +0031 │ │ -421032: 6202 6c00 |003f: sget-object v2, Landroid/os/Build$VERSION;.RELEASE:Ljava/lang/String; // field@006c │ │ -421036: 1a04 8a06 |0041: const-string v4, "11" // string@068a │ │ -42103a: 6e20 ca5c 4200 |0043: invoke-virtual {v2, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@5cca │ │ -421040: 0a02 |0046: move-result v2 │ │ -421042: 3902 2700 |0047: if-nez v2, 006e // +0027 │ │ -421046: 6202 6c00 |0049: sget-object v2, Landroid/os/Build$VERSION;.RELEASE:Ljava/lang/String; // field@006c │ │ -42104a: 1a04 9b06 |004b: const-string v4, "12" // string@069b │ │ -42104e: 6e20 ca5c 4200 |004d: invoke-virtual {v2, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@5cca │ │ -421054: 0a02 |0050: move-result v2 │ │ -421056: 3902 1d00 |0051: if-nez v2, 006e // +001d │ │ -42105a: 6202 6c00 |0053: sget-object v2, Landroid/os/Build$VERSION;.RELEASE:Ljava/lang/String; // field@006c │ │ -42105e: 1a04 a506 |0055: const-string v4, "13" // string@06a5 │ │ -421062: 6e20 ca5c 4200 |0057: invoke-virtual {v2, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@5cca │ │ -421068: 0a02 |005a: move-result v2 │ │ -42106a: 3802 0300 |005b: if-eqz v2, 005e // +0003 │ │ -42106e: 2811 |005d: goto 006e // +0011 │ │ -421070: 6002 6d00 |005e: sget v2, Landroid/os/Build$VERSION;.SDK_INT:I // field@006d │ │ -421074: 1304 1500 |0060: const/16 v4, #int 21 // #15 │ │ -421078: 3442 0700 |0062: if-lt v2, v4, 0069 // +0007 │ │ -42107c: 6202 e351 |0064: sget-object v2, Lorg/purple/smoke/Cryptography;.TLS_V1_V12:[Ljava/lang/String; // field@51e3 │ │ -421080: 5b82 3b5e |0066: iput-object v2, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_protocols:[Ljava/lang/String; // field@5e3b │ │ -421084: 280a |0068: goto 0072 // +000a │ │ -421086: 6202 e151 |0069: sget-object v2, Lorg/purple/smoke/Cryptography;.TLS_LEGACY_V12:[Ljava/lang/String; // field@51e1 │ │ -42108a: 5b82 3b5e |006b: iput-object v2, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_protocols:[Ljava/lang/String; // field@5e3b │ │ -42108e: 2805 |006d: goto 0072 // +0005 │ │ -421090: 6202 e251 |006e: sget-object v2, Lorg/purple/smoke/Cryptography;.TLS_NEW:[Ljava/lang/String; // field@51e2 │ │ -421094: 5b82 3b5e |0070: iput-object v2, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_protocols:[Ljava/lang/String; // field@5e3b │ │ -421098: 07b2 |0072: move-object v2, v11 │ │ -42109a: 5b82 3d5e |0073: iput-object v2, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyIpAddress:Ljava/lang/String; // field@5e3d │ │ -42109e: 7110 555c 0c00 |0075: invoke-static {v12}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@5c55 │ │ -4210a4: 0a02 |0078: move-result v2 │ │ -4210a6: 5982 3e5e |0079: iput v2, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyPort:I // field@5e3e │ │ -4210aa: 2803 |007b: goto 007e // +0003 │ │ -4210ac: 5981 3e5e |007c: iput v1, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyPort:I // field@5e3e │ │ -4210b0: 07d2 |007e: move-object v2, v13 │ │ -4210b2: 5b82 3f5e |007f: iput-object v2, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyType:Ljava/lang/String; // field@5e3f │ │ -4210b6: 5482 3d5e |0081: iget-object v2, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyIpAddress:Ljava/lang/String; // field@5e3d │ │ -4210ba: 6e10 c35c 0200 |0083: invoke-virtual {v2}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -4210c0: 0a02 |0086: move-result v2 │ │ -4210c2: 3902 1c00 |0087: if-nez v2, 00a3 // +001c │ │ -4210c6: 5282 3e5e |0089: iget v2, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyPort:I // field@5e3e │ │ -4210ca: 3212 1800 |008b: if-eq v2, v1, 00a3 // +0018 │ │ -4210ce: 5481 3f5e |008d: iget-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyType:Ljava/lang/String; // field@5e3f │ │ -4210d2: 6e10 c35c 0100 |008f: invoke-virtual {v1}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -4210d8: 0a01 |0092: move-result v1 │ │ -4210da: 3901 1000 |0093: if-nez v1, 00a3 // +0010 │ │ -4210de: 2201 0d0b |0095: new-instance v1, Ljava/net/InetSocketAddress; // type@0b0d │ │ -4210e2: 5482 3d5e |0097: iget-object v2, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyIpAddress:Ljava/lang/String; // field@5e3d │ │ -4210e6: 5284 3e5e |0099: iget v4, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyPort:I // field@5e3e │ │ -4210ea: 7030 8e5d 2104 |009b: invoke-direct {v1, v2, v4}, Ljava/net/InetSocketAddress;.:(Ljava/lang/String;I)V // method@5d8e │ │ -4210f0: 5b81 3c5e |009e: iput-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyInetSocketAddress:Ljava/net/InetSocketAddress; // field@5e3c │ │ -4210f4: 2803 |00a0: goto 00a3 // +0003 │ │ -4210f6: 5b80 3c5e |00a1: iput-object v0, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyInetSocketAddress:Ljava/net/InetSocketAddress; // field@5e3c │ │ -4210fa: 5480 405e |00a3: iget-object v0, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e40 │ │ -4210fe: 2201 aa1a |00a5: new-instance v1, Lorg/purple/smoke/TcpTlsNeighbor$2; // type@1aaa │ │ -421102: 7020 57ba 9100 |00a7: invoke-direct {v1, v9}, Lorg/purple/smoke/TcpTlsNeighbor$2;.:(Lorg/purple/smoke/TcpTlsNeighbor;)V // method@ba57 │ │ -421108: 1604 0000 |00aa: const-wide/16 v4, #int 0 // #0 │ │ -42110c: 1606 6400 |00ac: const-wide/16 v6, #int 100 // #64 │ │ -421110: 6202 eb2c |00ae: sget-object v2, Ljava/util/concurrent/TimeUnit;.MILLISECONDS:Ljava/util/concurrent/TimeUnit; // field@2ceb │ │ -421114: 070a |00b0: move-object v10, v0 │ │ -421116: 071b |00b1: move-object v11, v1 │ │ -421118: 044c |00b2: move-wide v12, v4 │ │ -42111a: 046e |00b3: move-wide v14, v6 │ │ -42111c: 0810 0200 |00b4: move-object/from16 v16, v2 │ │ -421120: 7807 cc60 0a00 |00b6: invoke-interface/range {v10, v11, v12, v13, v14, v15, v16}, Ljava/util/concurrent/ScheduledExecutorService;.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; // method@60cc │ │ -421126: 1210 |00b9: const/4 v0, #int 1 // #1 │ │ -421128: 2300 2c1b |00ba: new-array v0, v0, [Ljavax/net/ssl/TrustManager; // type@1b2c │ │ -42112c: 2201 ab1a |00bc: new-instance v1, Lorg/purple/smoke/TcpTlsNeighbor$3; // type@1aab │ │ -421130: 7020 59ba 9100 |00be: invoke-direct {v1, v9}, Lorg/purple/smoke/TcpTlsNeighbor$3;.:(Lorg/purple/smoke/TcpTlsNeighbor;)V // method@ba59 │ │ -421136: 4d01 0003 |00c1: aput-object v1, v0, v3 │ │ -42113a: 5b80 445e |00c3: iput-object v0, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_trustManagers:[Ljavax/net/ssl/TrustManager; // field@5e44 │ │ -42113e: 0e00 |00c5: return-void │ │ +420fa0: |[420fa0] org.purple.smoke.TcpTlsNeighbor.:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V │ │ +420fb0: 0798 |0000: move-object v8, v9 │ │ +420fb2: 1a05 e04b |0001: const-string v5, "TCP" // string@4be0 │ │ +420fb6: 0790 |0003: move-object v0, v9 │ │ +420fb8: 07a1 |0004: move-object v1, v10 │ │ +420fba: 07e2 |0005: move-object v2, v14 │ │ +420fbc: 07f3 |0006: move-object v3, v15 │ │ +420fbe: 0804 1000 |0007: move-object/from16 v4, v16 │ │ +420fc2: 0806 1100 |0009: move-object/from16 v6, v17 │ │ +420fc6: 0207 1200 |000b: move/from16 v7, v18 │ │ +420fca: 7608 f9b7 0000 |000d: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7}, Lorg/purple/smoke/Neighbor;.:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V // method@b7f9 │ │ +420fd0: 1200 |0010: const/4 v0, #int 0 // #0 │ │ +420fd2: 5b80 325e |0011: iput-object v0, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_handshakeCompleted:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e32 │ │ +420fd6: 5b80 355e |0013: iput-object v0, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_isValidCertificate:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e35 │ │ +420fda: 5b80 3c5e |0015: iput-object v0, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyInetSocketAddress:Ljava/net/InetSocketAddress; // field@5e3c │ │ +420fde: 5b80 415e |0017: iput-object v0, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ +420fe2: 5b80 3b5e |0019: iput-object v0, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_protocols:[Ljava/lang/String; // field@5e3b │ │ +420fe6: 1a01 0000 |001b: const-string v1, "" // string@0000 │ │ +420fea: 5b81 3d5e |001d: iput-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyIpAddress:Ljava/lang/String; // field@5e3d │ │ +420fee: 5b81 3f5e |001f: iput-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyType:Ljava/lang/String; // field@5e3f │ │ +420ff2: 5b80 445e |0021: iput-object v0, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_trustManagers:[Ljavax/net/ssl/TrustManager; // field@5e44 │ │ +420ff6: 12f1 |0023: const/4 v1, #int -1 // #ff │ │ +420ff8: 5981 3e5e |0024: iput v1, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyPort:I // field@5e3e │ │ +420ffc: 2202 e50b |0026: new-instance v2, Ljava/util/concurrent/atomic/AtomicBoolean; // type@0be5 │ │ +421000: 1203 |0028: const/4 v3, #int 0 // #0 │ │ +421002: 7020 d460 3200 |0029: invoke-direct {v2, v3}, Ljava/util/concurrent/atomic/AtomicBoolean;.:(Z)V // method@60d4 │ │ +421008: 5b82 325e |002c: iput-object v2, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_handshakeCompleted:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e32 │ │ +42100c: 2202 e50b |002e: new-instance v2, Ljava/util/concurrent/atomic/AtomicBoolean; // type@0be5 │ │ +421010: 7020 d460 3200 |0030: invoke-direct {v2, v3}, Ljava/util/concurrent/atomic/AtomicBoolean;.:(Z)V // method@60d4 │ │ +421016: 5b82 355e |0033: iput-object v2, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_isValidCertificate:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e35 │ │ +42101a: 6202 6c00 |0035: sget-object v2, Landroid/os/Build$VERSION;.RELEASE:Ljava/lang/String; // field@006c │ │ +42101e: 1a04 5306 |0037: const-string v4, "10" // string@0653 │ │ +421022: 6e20 ca5c 4200 |0039: invoke-virtual {v2, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@5cca │ │ +421028: 0a02 |003c: move-result v2 │ │ +42102a: 3902 3100 |003d: if-nez v2, 006e // +0031 │ │ +42102e: 6202 6c00 |003f: sget-object v2, Landroid/os/Build$VERSION;.RELEASE:Ljava/lang/String; // field@006c │ │ +421032: 1a04 8a06 |0041: const-string v4, "11" // string@068a │ │ +421036: 6e20 ca5c 4200 |0043: invoke-virtual {v2, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@5cca │ │ +42103c: 0a02 |0046: move-result v2 │ │ +42103e: 3902 2700 |0047: if-nez v2, 006e // +0027 │ │ +421042: 6202 6c00 |0049: sget-object v2, Landroid/os/Build$VERSION;.RELEASE:Ljava/lang/String; // field@006c │ │ +421046: 1a04 9b06 |004b: const-string v4, "12" // string@069b │ │ +42104a: 6e20 ca5c 4200 |004d: invoke-virtual {v2, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@5cca │ │ +421050: 0a02 |0050: move-result v2 │ │ +421052: 3902 1d00 |0051: if-nez v2, 006e // +001d │ │ +421056: 6202 6c00 |0053: sget-object v2, Landroid/os/Build$VERSION;.RELEASE:Ljava/lang/String; // field@006c │ │ +42105a: 1a04 a506 |0055: const-string v4, "13" // string@06a5 │ │ +42105e: 6e20 ca5c 4200 |0057: invoke-virtual {v2, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@5cca │ │ +421064: 0a02 |005a: move-result v2 │ │ +421066: 3802 0300 |005b: if-eqz v2, 005e // +0003 │ │ +42106a: 2811 |005d: goto 006e // +0011 │ │ +42106c: 6002 6d00 |005e: sget v2, Landroid/os/Build$VERSION;.SDK_INT:I // field@006d │ │ +421070: 1304 1500 |0060: const/16 v4, #int 21 // #15 │ │ +421074: 3442 0700 |0062: if-lt v2, v4, 0069 // +0007 │ │ +421078: 6202 e351 |0064: sget-object v2, Lorg/purple/smoke/Cryptography;.TLS_V1_V12:[Ljava/lang/String; // field@51e3 │ │ +42107c: 5b82 3b5e |0066: iput-object v2, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_protocols:[Ljava/lang/String; // field@5e3b │ │ +421080: 280a |0068: goto 0072 // +000a │ │ +421082: 6202 e151 |0069: sget-object v2, Lorg/purple/smoke/Cryptography;.TLS_LEGACY_V12:[Ljava/lang/String; // field@51e1 │ │ +421086: 5b82 3b5e |006b: iput-object v2, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_protocols:[Ljava/lang/String; // field@5e3b │ │ +42108a: 2805 |006d: goto 0072 // +0005 │ │ +42108c: 6202 e251 |006e: sget-object v2, Lorg/purple/smoke/Cryptography;.TLS_NEW:[Ljava/lang/String; // field@51e2 │ │ +421090: 5b82 3b5e |0070: iput-object v2, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_protocols:[Ljava/lang/String; // field@5e3b │ │ +421094: 07b2 |0072: move-object v2, v11 │ │ +421096: 5b82 3d5e |0073: iput-object v2, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyIpAddress:Ljava/lang/String; // field@5e3d │ │ +42109a: 7110 555c 0c00 |0075: invoke-static {v12}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@5c55 │ │ +4210a0: 0a02 |0078: move-result v2 │ │ +4210a2: 5982 3e5e |0079: iput v2, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyPort:I // field@5e3e │ │ +4210a6: 2803 |007b: goto 007e // +0003 │ │ +4210a8: 5981 3e5e |007c: iput v1, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyPort:I // field@5e3e │ │ +4210ac: 07d2 |007e: move-object v2, v13 │ │ +4210ae: 5b82 3f5e |007f: iput-object v2, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyType:Ljava/lang/String; // field@5e3f │ │ +4210b2: 5482 3d5e |0081: iget-object v2, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyIpAddress:Ljava/lang/String; // field@5e3d │ │ +4210b6: 6e10 c35c 0200 |0083: invoke-virtual {v2}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +4210bc: 0a02 |0086: move-result v2 │ │ +4210be: 3902 1c00 |0087: if-nez v2, 00a3 // +001c │ │ +4210c2: 5282 3e5e |0089: iget v2, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyPort:I // field@5e3e │ │ +4210c6: 3212 1800 |008b: if-eq v2, v1, 00a3 // +0018 │ │ +4210ca: 5481 3f5e |008d: iget-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyType:Ljava/lang/String; // field@5e3f │ │ +4210ce: 6e10 c35c 0100 |008f: invoke-virtual {v1}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +4210d4: 0a01 |0092: move-result v1 │ │ +4210d6: 3901 1000 |0093: if-nez v1, 00a3 // +0010 │ │ +4210da: 2201 0d0b |0095: new-instance v1, Ljava/net/InetSocketAddress; // type@0b0d │ │ +4210de: 5482 3d5e |0097: iget-object v2, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyIpAddress:Ljava/lang/String; // field@5e3d │ │ +4210e2: 5284 3e5e |0099: iget v4, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyPort:I // field@5e3e │ │ +4210e6: 7030 8e5d 2104 |009b: invoke-direct {v1, v2, v4}, Ljava/net/InetSocketAddress;.:(Ljava/lang/String;I)V // method@5d8e │ │ +4210ec: 5b81 3c5e |009e: iput-object v1, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyInetSocketAddress:Ljava/net/InetSocketAddress; // field@5e3c │ │ +4210f0: 2803 |00a0: goto 00a3 // +0003 │ │ +4210f2: 5b80 3c5e |00a1: iput-object v0, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyInetSocketAddress:Ljava/net/InetSocketAddress; // field@5e3c │ │ +4210f6: 5480 405e |00a3: iget-object v0, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e40 │ │ +4210fa: 2201 aa1a |00a5: new-instance v1, Lorg/purple/smoke/TcpTlsNeighbor$2; // type@1aaa │ │ +4210fe: 7020 57ba 9100 |00a7: invoke-direct {v1, v9}, Lorg/purple/smoke/TcpTlsNeighbor$2;.:(Lorg/purple/smoke/TcpTlsNeighbor;)V // method@ba57 │ │ +421104: 1604 0000 |00aa: const-wide/16 v4, #int 0 // #0 │ │ +421108: 1606 6400 |00ac: const-wide/16 v6, #int 100 // #64 │ │ +42110c: 6202 eb2c |00ae: sget-object v2, Ljava/util/concurrent/TimeUnit;.MILLISECONDS:Ljava/util/concurrent/TimeUnit; // field@2ceb │ │ +421110: 070a |00b0: move-object v10, v0 │ │ +421112: 071b |00b1: move-object v11, v1 │ │ +421114: 044c |00b2: move-wide v12, v4 │ │ +421116: 046e |00b3: move-wide v14, v6 │ │ +421118: 0810 0200 |00b4: move-object/from16 v16, v2 │ │ +42111c: 7807 cc60 0a00 |00b6: invoke-interface/range {v10, v11, v12, v13, v14, v15, v16}, Ljava/util/concurrent/ScheduledExecutorService;.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; // method@60cc │ │ +421122: 1210 |00b9: const/4 v0, #int 1 // #1 │ │ +421124: 2300 2c1b |00ba: new-array v0, v0, [Ljavax/net/ssl/TrustManager; // type@1b2c │ │ +421128: 2201 ab1a |00bc: new-instance v1, Lorg/purple/smoke/TcpTlsNeighbor$3; // type@1aab │ │ +42112c: 7020 59ba 9100 |00be: invoke-direct {v1, v9}, Lorg/purple/smoke/TcpTlsNeighbor$3;.:(Lorg/purple/smoke/TcpTlsNeighbor;)V // method@ba59 │ │ +421132: 4d01 0003 |00c1: aput-object v1, v0, v3 │ │ +421136: 5b80 445e |00c3: iput-object v0, v8, Lorg/purple/smoke/TcpTlsNeighbor;.m_trustManagers:[Ljavax/net/ssl/TrustManager; // field@5e44 │ │ +42113a: 0e00 |00c5: return-void │ │ catches : 2 │ │ 0x0075 - 0x007b │ │ Ljava/lang/Exception; -> 0x007c │ │ 0x0095 - 0x00a0 │ │ Ljava/lang/Exception; -> 0x00a1 │ │ positions : │ │ 0x000d line=324 │ │ @@ -1166566,17 +1166565,17 @@ │ │ type : '(Lorg/purple/smoke/TcpTlsNeighbor;)Ljava/util/concurrent/atomic/AtomicBoolean;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -420f5c: |[420f5c] org.purple.smoke.TcpTlsNeighbor.access$000:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljava/util/concurrent/atomic/AtomicBoolean; │ │ -420f6c: 5400 325e |0000: iget-object v0, v0, Lorg/purple/smoke/TcpTlsNeighbor;.m_handshakeCompleted:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e32 │ │ -420f70: 1100 |0002: return-object v0 │ │ +420f58: |[420f58] org.purple.smoke.TcpTlsNeighbor.access$000:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljava/util/concurrent/atomic/AtomicBoolean; │ │ +420f68: 5400 325e |0000: iget-object v0, v0, Lorg/purple/smoke/TcpTlsNeighbor;.m_handshakeCompleted:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e32 │ │ +420f6c: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=45 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/TcpTlsNeighbor; │ │ │ │ #2 : (in Lorg/purple/smoke/TcpTlsNeighbor;) │ │ @@ -1166584,17 +1166583,17 @@ │ │ type : '(Lorg/purple/smoke/TcpTlsNeighbor;)Ljavax/net/ssl/SSLSocket;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -420f8c: |[420f8c] org.purple.smoke.TcpTlsNeighbor.access$100:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljavax/net/ssl/SSLSocket; │ │ -420f9c: 5400 415e |0000: iget-object v0, v0, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ -420fa0: 1100 |0002: return-object v0 │ │ +420f88: |[420f88] org.purple.smoke.TcpTlsNeighbor.access$100:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljavax/net/ssl/SSLSocket; │ │ +420f98: 5400 415e |0000: iget-object v0, v0, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ +420f9c: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=45 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/TcpTlsNeighbor; │ │ │ │ #3 : (in Lorg/purple/smoke/TcpTlsNeighbor;) │ │ @@ -1166602,17 +1166601,17 @@ │ │ type : '(Lorg/purple/smoke/TcpTlsNeighbor;)Ljava/util/concurrent/atomic/AtomicBoolean;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -420f74: |[420f74] org.purple.smoke.TcpTlsNeighbor.access$200:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljava/util/concurrent/atomic/AtomicBoolean; │ │ -420f84: 5400 355e |0000: iget-object v0, v0, Lorg/purple/smoke/TcpTlsNeighbor;.m_isValidCertificate:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e35 │ │ -420f88: 1100 |0002: return-object v0 │ │ +420f70: |[420f70] org.purple.smoke.TcpTlsNeighbor.access$200:(Lorg/purple/smoke/TcpTlsNeighbor;)Ljava/util/concurrent/atomic/AtomicBoolean; │ │ +420f80: 5400 355e |0000: iget-object v0, v0, Lorg/purple/smoke/TcpTlsNeighbor;.m_isValidCertificate:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e35 │ │ +420f84: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=45 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/TcpTlsNeighbor; │ │ │ │ Virtual methods - │ │ @@ -1166621,41 +1166620,41 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 49 16-bit code units │ │ -42115c: |[42115c] org.purple.smoke.TcpTlsNeighbor.abort:()V │ │ -42116c: 6e10 64ba 0500 |0000: invoke-virtual {v5}, Lorg/purple/smoke/TcpTlsNeighbor;.disconnect:()V // method@ba64 │ │ -421172: 6f10 fab7 0500 |0003: invoke-super {v5}, Lorg/purple/smoke/Neighbor;.abort:()V // method@b7fa │ │ -421178: 5450 325e |0006: iget-object v0, v5, Lorg/purple/smoke/TcpTlsNeighbor;.m_handshakeCompleted:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e32 │ │ -42117c: 1201 |0008: const/4 v1, #int 0 // #0 │ │ -42117e: 6e20 d860 1000 |0009: invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -421184: 5450 355e |000c: iget-object v0, v5, Lorg/purple/smoke/TcpTlsNeighbor;.m_isValidCertificate:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e35 │ │ -421188: 6e20 d860 1000 |000e: invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -42118e: 5450 405e |0011: iget-object v0, v5, Lorg/purple/smoke/TcpTlsNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e40 │ │ -421192: 1d00 |0013: monitor-enter v0 │ │ -421194: 5451 405e |0014: iget-object v1, v5, Lorg/purple/smoke/TcpTlsNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e40 │ │ -421198: 7210 cd60 0100 |0016: invoke-interface {v1}, Ljava/util/concurrent/ScheduledExecutorService;.shutdown:()V // method@60cd │ │ -42119e: 2803 |0019: goto 001c // +0003 │ │ -4211a0: 0d01 |001a: move-exception v1 │ │ -4211a2: 2814 |001b: goto 002f // +0014 │ │ -4211a4: 5451 405e |001c: iget-object v1, v5, Lorg/purple/smoke/TcpTlsNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e40 │ │ -4211a8: 1602 0500 |001e: const-wide/16 v2, #int 5 // #5 │ │ -4211ac: 6204 ee2c |0020: sget-object v4, Ljava/util/concurrent/TimeUnit;.SECONDS:Ljava/util/concurrent/TimeUnit; // field@2cee │ │ -4211b0: 7240 ca60 2143 |0022: invoke-interface {v1, v2, v3, v4}, Ljava/util/concurrent/ScheduledExecutorService;.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z // method@60ca │ │ -4211b6: 0a01 |0025: move-result v1 │ │ -4211b8: 3901 0700 |0026: if-nez v1, 002d // +0007 │ │ -4211bc: 5451 405e |0028: iget-object v1, v5, Lorg/purple/smoke/TcpTlsNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e40 │ │ -4211c0: 7210 ce60 0100 |002a: invoke-interface {v1}, Ljava/util/concurrent/ScheduledExecutorService;.shutdownNow:()Ljava/util/List; // method@60ce │ │ -4211c6: 1e00 |002d: monitor-exit v0 │ │ -4211c8: 0e00 |002e: return-void │ │ -4211ca: 1e00 |002f: monitor-exit v0 │ │ -4211cc: 2701 |0030: throw v1 │ │ +421158: |[421158] org.purple.smoke.TcpTlsNeighbor.abort:()V │ │ +421168: 6e10 64ba 0500 |0000: invoke-virtual {v5}, Lorg/purple/smoke/TcpTlsNeighbor;.disconnect:()V // method@ba64 │ │ +42116e: 6f10 fab7 0500 |0003: invoke-super {v5}, Lorg/purple/smoke/Neighbor;.abort:()V // method@b7fa │ │ +421174: 5450 325e |0006: iget-object v0, v5, Lorg/purple/smoke/TcpTlsNeighbor;.m_handshakeCompleted:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e32 │ │ +421178: 1201 |0008: const/4 v1, #int 0 // #0 │ │ +42117a: 6e20 d860 1000 |0009: invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +421180: 5450 355e |000c: iget-object v0, v5, Lorg/purple/smoke/TcpTlsNeighbor;.m_isValidCertificate:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e35 │ │ +421184: 6e20 d860 1000 |000e: invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +42118a: 5450 405e |0011: iget-object v0, v5, Lorg/purple/smoke/TcpTlsNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e40 │ │ +42118e: 1d00 |0013: monitor-enter v0 │ │ +421190: 5451 405e |0014: iget-object v1, v5, Lorg/purple/smoke/TcpTlsNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e40 │ │ +421194: 7210 cd60 0100 |0016: invoke-interface {v1}, Ljava/util/concurrent/ScheduledExecutorService;.shutdown:()V // method@60cd │ │ +42119a: 2803 |0019: goto 001c // +0003 │ │ +42119c: 0d01 |001a: move-exception v1 │ │ +42119e: 2814 |001b: goto 002f // +0014 │ │ +4211a0: 5451 405e |001c: iget-object v1, v5, Lorg/purple/smoke/TcpTlsNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e40 │ │ +4211a4: 1602 0500 |001e: const-wide/16 v2, #int 5 // #5 │ │ +4211a8: 6204 ee2c |0020: sget-object v4, Ljava/util/concurrent/TimeUnit;.SECONDS:Ljava/util/concurrent/TimeUnit; // field@2cee │ │ +4211ac: 7240 ca60 2143 |0022: invoke-interface {v1, v2, v3, v4}, Ljava/util/concurrent/ScheduledExecutorService;.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z // method@60ca │ │ +4211b2: 0a01 |0025: move-result v1 │ │ +4211b4: 3901 0700 |0026: if-nez v1, 002d // +0007 │ │ +4211b8: 5451 405e |0028: iget-object v1, v5, Lorg/purple/smoke/TcpTlsNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e40 │ │ +4211bc: 7210 ce60 0100 |002a: invoke-interface {v1}, Ljava/util/concurrent/ScheduledExecutorService;.shutdownNow:()Ljava/util/List; // method@60ce │ │ +4211c2: 1e00 |002d: monitor-exit v0 │ │ +4211c4: 0e00 |002e: return-void │ │ +4211c6: 1e00 |002f: monitor-exit v0 │ │ +4211c8: 2701 |0030: throw v1 │ │ catches : 3 │ │ 0x0014 - 0x0019 │ │ Ljava/lang/Exception; -> 0x001c │ │ -> 0x001a │ │ 0x001c - 0x002d │ │ Ljava/lang/Exception; -> 0x002d │ │ -> 0x001a │ │ @@ -1166680,160 +1166679,160 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 11 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 312 16-bit code units │ │ -4211f8: |[4211f8] org.purple.smoke.TcpTlsNeighbor.connect:()V │ │ -421208: 6e10 63ba 0a00 |0000: invoke-virtual {v10}, Lorg/purple/smoke/TcpTlsNeighbor;.connected:()Z // method@ba63 │ │ -42120e: 0a00 |0003: move-result v0 │ │ -421210: 3800 0300 |0004: if-eqz v0, 0007 // +0003 │ │ -421214: 0e00 |0006: return-void │ │ -421216: 6e10 6aba 0a00 |0007: invoke-virtual {v10}, Lorg/purple/smoke/TcpTlsNeighbor;.isNetworkConnected:()Z // method@ba6a │ │ -42121c: 0a00 |000a: move-result v0 │ │ -42121e: 3900 0800 |000b: if-nez v0, 0013 // +0008 │ │ -421222: 1a00 fe08 |000d: const-string v0, "A network is not available." // string@08fe │ │ -421226: 6e20 71ba 0a00 |000f: invoke-virtual {v10, v0}, Lorg/purple/smoke/TcpTlsNeighbor;.setError:(Ljava/lang/String;)V // method@ba71 │ │ -42122c: 0e00 |0012: return-void │ │ -42122e: 54a0 2b5e |0013: iget-object v0, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e2b │ │ -421232: 1601 0000 |0015: const-wide/16 v1, #int 0 // #0 │ │ -421236: 6e30 e160 1002 |0017: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -42123c: 54a0 2c5e |001a: iget-object v0, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e2c │ │ -421240: 6e30 e160 1002 |001c: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -421246: 54a0 325e |001f: iget-object v0, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_handshakeCompleted:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e32 │ │ -42124a: 1201 |0021: const/4 v1, #int 0 // #0 │ │ -42124c: 6e20 d860 1000 |0022: invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -421252: 54a0 365e |0025: iget-object v0, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_lastParsed:Ljava/util/concurrent/atomic/AtomicLong; // field@5e36 │ │ -421256: 7100 065d 0000 |0027: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ -42125c: 0b02 |002a: move-result-wide v2 │ │ -42125e: 6e30 e160 2003 |002b: invoke-virtual {v0, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -421264: 54a0 375e |002e: iget-object v0, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_lastTimeRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e37 │ │ -421268: 7100 0b5d 0000 |0030: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ -42126e: 0b02 |0033: move-result-wide v2 │ │ -421270: 6e30 e160 2003 |0034: invoke-virtual {v0, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -421276: 2200 0d0b |0037: new-instance v0, Ljava/net/InetSocketAddress; // type@0b0d │ │ -42127a: 54a2 335e |0039: iget-object v2, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_ipAddress:Ljava/lang/String; // field@5e33 │ │ -42127e: 54a3 345e |003b: iget-object v3, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_ipPort:Ljava/util/concurrent/atomic/AtomicInteger; // field@5e34 │ │ -421282: 6e10 da60 0300 |003d: invoke-virtual {v3}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -421288: 0a03 |0040: move-result v3 │ │ -42128a: 7030 8e5d 2003 |0041: invoke-direct {v0, v2, v3}, Ljava/net/InetSocketAddress;.:(Ljava/lang/String;I)V // method@5d8e │ │ -421290: 6002 6d00 |0044: sget v2, Landroid/os/Build$VERSION;.SDK_INT:I // field@006d │ │ -421294: 1303 1500 |0046: const/16 v3, #int 21 // #15 │ │ -421298: 3432 0900 |0048: if-lt v2, v3, 0051 // +0009 │ │ -42129c: 1a02 194c |004a: const-string v2, "TLS" // string@4c19 │ │ -4212a0: 7110 7561 0200 |004c: invoke-static {v2}, Ljavax/net/ssl/SSLContext;.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/SSLContext; // method@6175 │ │ -4212a6: 0c02 |004f: move-result-object v2 │ │ -4212a8: 2807 |0050: goto 0057 // +0007 │ │ -4212aa: 1a02 7f48 |0051: const-string v2, "SSL" // string@487f │ │ -4212ae: 7110 7561 0200 |0053: invoke-static {v2}, Ljavax/net/ssl/SSLContext;.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/SSLContext; // method@6175 │ │ -4212b4: 0c02 |0056: move-result-object v2 │ │ -4212b6: 1203 |0057: const/4 v3, #int 0 // #0 │ │ -4212b8: 54a4 445e |0058: iget-object v4, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_trustManagers:[Ljavax/net/ssl/TrustManager; // field@5e44 │ │ -4212bc: 2205 4a0b |005a: new-instance v5, Ljava/security/SecureRandom; // type@0b4a │ │ -4212c0: 7010 3d5e 0500 |005c: invoke-direct {v5}, Ljava/security/SecureRandom;.:()V // method@5e3d │ │ -4212c6: 6e40 7761 3254 |005f: invoke-virtual {v2, v3, v4, v5}, Ljavax/net/ssl/SSLContext;.init:([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V // method@6177 │ │ -4212cc: 54a3 3c5e |0062: iget-object v3, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyInetSocketAddress:Ljava/net/InetSocketAddress; // field@5e3c │ │ -4212d0: 1304 1027 |0064: const/16 v4, #int 10000 // #2710 │ │ -4212d4: 1505 0100 |0066: const/high16 v5, #int 65536 // #1 │ │ -4212d8: 1216 |0068: const/4 v6, #int 1 // #1 │ │ -4212da: 3903 2100 |0069: if-nez v3, 008a // +0021 │ │ -4212de: 6e10 7661 0200 |006b: invoke-virtual {v2}, Ljavax/net/ssl/SSLContext;.getSocketFactory:()Ljavax/net/ssl/SSLSocketFactory; // method@6176 │ │ -4212e4: 0c02 |006e: move-result-object v2 │ │ -4212e6: 6e10 8e61 0200 |006f: invoke-virtual {v2}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:()Ljava/net/Socket; // method@618e │ │ -4212ec: 0c02 |0072: move-result-object v2 │ │ -4212ee: 1f02 1f0c |0073: check-cast v2, Ljavax/net/ssl/SSLSocket; // type@0c1f │ │ -4212f2: 5ba2 415e |0075: iput-object v2, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ -4212f6: 6e20 8861 5200 |0077: invoke-virtual {v2, v5}, Ljavax/net/ssl/SSLSocket;.setReceiveBufferSize:(I)V // method@6188 │ │ -4212fc: 54a2 415e |007a: iget-object v2, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ -421300: 6e20 8961 5200 |007c: invoke-virtual {v2, v5}, Ljavax/net/ssl/SSLSocket;.setSendBufferSize:(I)V // method@6189 │ │ -421306: 54a2 415e |007f: iget-object v2, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ -42130a: 6e20 8d61 6200 |0081: invoke-virtual {v2, v6}, Ljavax/net/ssl/SSLSocket;.setUseClientMode:(Z)V // method@618d │ │ -421310: 54a2 415e |0084: iget-object v2, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ -421314: 6e30 7d61 0204 |0086: invoke-virtual {v2, v0, v4}, Ljavax/net/ssl/SSLSocket;.connect:(Ljava/net/SocketAddress;I)V // method@617d │ │ -42131a: 2844 |0089: goto 00cd // +0044 │ │ -42131c: 54a3 3f5e |008a: iget-object v3, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyType:Ljava/lang/String; // field@5e3f │ │ -421320: 1a07 351c |008c: const-string v7, "HTTP" // string@1c35 │ │ -421324: 6e20 b85c 7300 |008e: invoke-virtual {v3, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -42132a: 0a03 |0091: move-result v3 │ │ -42132c: 3803 1100 |0092: if-eqz v3, 00a3 // +0011 │ │ -421330: 2203 120b |0094: new-instance v3, Ljava/net/Socket; // type@0b12 │ │ -421334: 2207 110b |0096: new-instance v7, Ljava/net/Proxy; // type@0b11 │ │ -421338: 6208 dd2c |0098: sget-object v8, Ljava/net/Proxy$Type;.HTTP:Ljava/net/Proxy$Type; // field@2cdd │ │ -42133c: 54a9 3c5e |009a: iget-object v9, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyInetSocketAddress:Ljava/net/InetSocketAddress; // field@5e3c │ │ -421340: 7030 9d5d 8709 |009c: invoke-direct {v7, v8, v9}, Ljava/net/Proxy;.:(Ljava/net/Proxy$Type;Ljava/net/SocketAddress;)V // method@5d9d │ │ -421346: 7020 9f5d 7300 |009f: invoke-direct {v3, v7}, Ljava/net/Socket;.:(Ljava/net/Proxy;)V // method@5d9f │ │ -42134c: 280f |00a2: goto 00b1 // +000f │ │ -42134e: 2203 120b |00a3: new-instance v3, Ljava/net/Socket; // type@0b12 │ │ -421352: 2207 110b |00a5: new-instance v7, Ljava/net/Proxy; // type@0b11 │ │ -421356: 6208 de2c |00a7: sget-object v8, Ljava/net/Proxy$Type;.SOCKS:Ljava/net/Proxy$Type; // field@2cde │ │ -42135a: 54a9 3c5e |00a9: iget-object v9, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyInetSocketAddress:Ljava/net/InetSocketAddress; // field@5e3c │ │ -42135e: 7030 9d5d 8709 |00ab: invoke-direct {v7, v8, v9}, Ljava/net/Proxy;.:(Ljava/net/Proxy$Type;Ljava/net/SocketAddress;)V // method@5d9d │ │ -421364: 7020 9f5d 7300 |00ae: invoke-direct {v3, v7}, Ljava/net/Socket;.:(Ljava/net/Proxy;)V // method@5d9f │ │ -42136a: 6e20 aa5d 5300 |00b1: invoke-virtual {v3, v5}, Ljava/net/Socket;.setReceiveBufferSize:(I)V // method@5daa │ │ -421370: 6e20 ab5d 5300 |00b4: invoke-virtual {v3, v5}, Ljava/net/Socket;.setSendBufferSize:(I)V // method@5dab │ │ -421376: 6e30 a25d 0304 |00b7: invoke-virtual {v3, v0, v4}, Ljava/net/Socket;.connect:(Ljava/net/SocketAddress;I)V // method@5da2 │ │ -42137c: 6e10 7661 0200 |00ba: invoke-virtual {v2}, Ljavax/net/ssl/SSLContext;.getSocketFactory:()Ljavax/net/ssl/SSLSocketFactory; // method@6176 │ │ -421382: 0c00 |00bd: move-result-object v0 │ │ -421384: 54a2 3d5e |00be: iget-object v2, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyIpAddress:Ljava/lang/String; // field@5e3d │ │ -421388: 52a4 3e5e |00c0: iget v4, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyPort:I // field@5e3e │ │ -42138c: 6e56 8f61 3042 |00c2: invoke-virtual {v0, v3, v2, v4, v6}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket; // method@618f │ │ -421392: 0c00 |00c5: move-result-object v0 │ │ -421394: 1f00 1f0c |00c6: check-cast v0, Ljavax/net/ssl/SSLSocket; // type@0c1f │ │ -421398: 5ba0 415e |00c8: iput-object v0, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ -42139c: 6e20 8d61 6000 |00ca: invoke-virtual {v0, v6}, Ljavax/net/ssl/SSLSocket;.setUseClientMode:(Z)V // method@618d │ │ -4213a2: 54a0 415e |00cd: iget-object v0, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ -4213a6: 2202 a91a |00cf: new-instance v2, Lorg/purple/smoke/TcpTlsNeighbor$1; // type@1aa9 │ │ -4213aa: 7020 55ba a200 |00d1: invoke-direct {v2, v10}, Lorg/purple/smoke/TcpTlsNeighbor$1;.:(Lorg/purple/smoke/TcpTlsNeighbor;)V // method@ba55 │ │ -4213b0: 6e20 7b61 2000 |00d4: invoke-virtual {v0, v2}, Ljavax/net/ssl/SSLSocket;.addHandshakeCompletedListener:(Ljavax/net/ssl/HandshakeCompletedListener;)V // method@617b │ │ -4213b6: 54a0 415e |00d7: iget-object v0, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ -4213ba: 54a2 3b5e |00d9: iget-object v2, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_protocols:[Ljava/lang/String; // field@5e3b │ │ -4213be: 6e20 8761 2000 |00db: invoke-virtual {v0, v2}, Ljavax/net/ssl/SSLSocket;.setEnabledProtocols:([Ljava/lang/String;)V // method@6187 │ │ -4213c4: 54a0 415e |00de: iget-object v0, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ -4213c8: 6e30 8a61 6001 |00e0: invoke-virtual {v0, v6, v1}, Ljavax/net/ssl/SSLSocket;.setSoLinger:(ZI)V // method@618a │ │ -4213ce: 54a0 415e |00e3: iget-object v0, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ -4213d2: 1301 204e |00e5: const/16 v1, #int 20000 // #4e20 │ │ -4213d6: 6e20 8b61 1000 |00e7: invoke-virtual {v0, v1}, Ljavax/net/ssl/SSLSocket;.setSoTimeout:(I)V // method@618b │ │ -4213dc: 54a0 415e |00ea: iget-object v0, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ -4213e0: 6e20 8c61 6000 |00ec: invoke-virtual {v0, v6}, Ljavax/net/ssl/SSLSocket;.setTcpNoDelay:(Z)V // method@618c │ │ -4213e6: 54a0 425e |00ef: iget-object v0, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_startTime:Ljava/util/concurrent/atomic/AtomicLong; // field@5e42 │ │ -4213ea: 7100 0b5d 0000 |00f1: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ -4213f0: 0b01 |00f4: move-result-wide v1 │ │ -4213f2: 6e30 e160 1002 |00f5: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -4213f8: 1a00 0000 |00f8: const-string v0, "" // string@0000 │ │ -4213fc: 6e20 71ba 0a00 |00fa: invoke-virtual {v10, v0}, Lorg/purple/smoke/TcpTlsNeighbor;.setError:(Ljava/lang/String;)V // method@ba71 │ │ -421402: 54a0 385e |00fd: iget-object v0, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_mutex:Ljava/lang/Object; // field@5e38 │ │ -421406: 1d00 |00ff: monitor-enter v0 │ │ -421408: 54a1 385e |0100: iget-object v1, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_mutex:Ljava/lang/Object; // field@5e38 │ │ -42140c: 6e10 955c 0100 |0102: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@5c95 │ │ -421412: 1e00 |0105: monitor-exit v0 │ │ -421414: 2831 |0106: goto 0137 // +0031 │ │ -421416: 0d01 |0107: move-exception v1 │ │ -421418: 1e00 |0108: monitor-exit v0 │ │ -42141a: 2701 |0109: throw v1 │ │ -42141c: 0d00 |010a: move-exception v0 │ │ -42141e: 2201 f10a |010b: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ -421422: 7010 ee5c 0100 |010d: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -421428: 1a02 550d |0110: const-string v2, "An error (" // string@0d55 │ │ -42142c: 6e20 f95c 2100 |0112: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -421432: 6e10 375c 0000 |0115: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@5c37 │ │ -421438: 0c00 |0118: move-result-object v0 │ │ -42143a: 6e20 f95c 0100 |0119: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -421440: 1a00 f603 |011c: const-string v0, ") occurred while attempting a connection (" // string@03f6 │ │ -421444: 6e20 f95c 0100 |011e: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -42144a: 7100 0b5d 0000 |0121: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ -421450: 0b02 |0124: move-result-wide v2 │ │ -421452: 6e30 f55c 2103 |0125: invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@5cf5 │ │ -421458: 1a00 0404 |0128: const-string v0, ")." // string@0404 │ │ -42145c: 6e20 f95c 0100 |012a: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -421462: 6e10 035d 0100 |012d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -421468: 0c00 |0130: move-result-object v0 │ │ -42146a: 6e20 71ba 0a00 |0131: invoke-virtual {v10, v0}, Lorg/purple/smoke/TcpTlsNeighbor;.setError:(Ljava/lang/String;)V // method@ba71 │ │ -421470: 6e10 64ba 0a00 |0134: invoke-virtual {v10}, Lorg/purple/smoke/TcpTlsNeighbor;.disconnect:()V // method@ba64 │ │ -421476: 0e00 |0137: return-void │ │ +4211f4: |[4211f4] org.purple.smoke.TcpTlsNeighbor.connect:()V │ │ +421204: 6e10 63ba 0a00 |0000: invoke-virtual {v10}, Lorg/purple/smoke/TcpTlsNeighbor;.connected:()Z // method@ba63 │ │ +42120a: 0a00 |0003: move-result v0 │ │ +42120c: 3800 0300 |0004: if-eqz v0, 0007 // +0003 │ │ +421210: 0e00 |0006: return-void │ │ +421212: 6e10 6aba 0a00 |0007: invoke-virtual {v10}, Lorg/purple/smoke/TcpTlsNeighbor;.isNetworkConnected:()Z // method@ba6a │ │ +421218: 0a00 |000a: move-result v0 │ │ +42121a: 3900 0800 |000b: if-nez v0, 0013 // +0008 │ │ +42121e: 1a00 fe08 |000d: const-string v0, "A network is not available." // string@08fe │ │ +421222: 6e20 71ba 0a00 |000f: invoke-virtual {v10, v0}, Lorg/purple/smoke/TcpTlsNeighbor;.setError:(Ljava/lang/String;)V // method@ba71 │ │ +421228: 0e00 |0012: return-void │ │ +42122a: 54a0 2b5e |0013: iget-object v0, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e2b │ │ +42122e: 1601 0000 |0015: const-wide/16 v1, #int 0 // #0 │ │ +421232: 6e30 e160 1002 |0017: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +421238: 54a0 2c5e |001a: iget-object v0, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e2c │ │ +42123c: 6e30 e160 1002 |001c: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +421242: 54a0 325e |001f: iget-object v0, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_handshakeCompleted:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e32 │ │ +421246: 1201 |0021: const/4 v1, #int 0 // #0 │ │ +421248: 6e20 d860 1000 |0022: invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +42124e: 54a0 365e |0025: iget-object v0, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_lastParsed:Ljava/util/concurrent/atomic/AtomicLong; // field@5e36 │ │ +421252: 7100 065d 0000 |0027: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ +421258: 0b02 |002a: move-result-wide v2 │ │ +42125a: 6e30 e160 2003 |002b: invoke-virtual {v0, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +421260: 54a0 375e |002e: iget-object v0, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_lastTimeRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e37 │ │ +421264: 7100 0b5d 0000 |0030: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ +42126a: 0b02 |0033: move-result-wide v2 │ │ +42126c: 6e30 e160 2003 |0034: invoke-virtual {v0, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +421272: 2200 0d0b |0037: new-instance v0, Ljava/net/InetSocketAddress; // type@0b0d │ │ +421276: 54a2 335e |0039: iget-object v2, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_ipAddress:Ljava/lang/String; // field@5e33 │ │ +42127a: 54a3 345e |003b: iget-object v3, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_ipPort:Ljava/util/concurrent/atomic/AtomicInteger; // field@5e34 │ │ +42127e: 6e10 da60 0300 |003d: invoke-virtual {v3}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +421284: 0a03 |0040: move-result v3 │ │ +421286: 7030 8e5d 2003 |0041: invoke-direct {v0, v2, v3}, Ljava/net/InetSocketAddress;.:(Ljava/lang/String;I)V // method@5d8e │ │ +42128c: 6002 6d00 |0044: sget v2, Landroid/os/Build$VERSION;.SDK_INT:I // field@006d │ │ +421290: 1303 1500 |0046: const/16 v3, #int 21 // #15 │ │ +421294: 3432 0900 |0048: if-lt v2, v3, 0051 // +0009 │ │ +421298: 1a02 194c |004a: const-string v2, "TLS" // string@4c19 │ │ +42129c: 7110 7561 0200 |004c: invoke-static {v2}, Ljavax/net/ssl/SSLContext;.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/SSLContext; // method@6175 │ │ +4212a2: 0c02 |004f: move-result-object v2 │ │ +4212a4: 2807 |0050: goto 0057 // +0007 │ │ +4212a6: 1a02 7f48 |0051: const-string v2, "SSL" // string@487f │ │ +4212aa: 7110 7561 0200 |0053: invoke-static {v2}, Ljavax/net/ssl/SSLContext;.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/SSLContext; // method@6175 │ │ +4212b0: 0c02 |0056: move-result-object v2 │ │ +4212b2: 1203 |0057: const/4 v3, #int 0 // #0 │ │ +4212b4: 54a4 445e |0058: iget-object v4, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_trustManagers:[Ljavax/net/ssl/TrustManager; // field@5e44 │ │ +4212b8: 2205 4a0b |005a: new-instance v5, Ljava/security/SecureRandom; // type@0b4a │ │ +4212bc: 7010 3d5e 0500 |005c: invoke-direct {v5}, Ljava/security/SecureRandom;.:()V // method@5e3d │ │ +4212c2: 6e40 7761 3254 |005f: invoke-virtual {v2, v3, v4, v5}, Ljavax/net/ssl/SSLContext;.init:([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V // method@6177 │ │ +4212c8: 54a3 3c5e |0062: iget-object v3, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyInetSocketAddress:Ljava/net/InetSocketAddress; // field@5e3c │ │ +4212cc: 1304 1027 |0064: const/16 v4, #int 10000 // #2710 │ │ +4212d0: 1505 0100 |0066: const/high16 v5, #int 65536 // #1 │ │ +4212d4: 1216 |0068: const/4 v6, #int 1 // #1 │ │ +4212d6: 3903 2100 |0069: if-nez v3, 008a // +0021 │ │ +4212da: 6e10 7661 0200 |006b: invoke-virtual {v2}, Ljavax/net/ssl/SSLContext;.getSocketFactory:()Ljavax/net/ssl/SSLSocketFactory; // method@6176 │ │ +4212e0: 0c02 |006e: move-result-object v2 │ │ +4212e2: 6e10 8e61 0200 |006f: invoke-virtual {v2}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:()Ljava/net/Socket; // method@618e │ │ +4212e8: 0c02 |0072: move-result-object v2 │ │ +4212ea: 1f02 1f0c |0073: check-cast v2, Ljavax/net/ssl/SSLSocket; // type@0c1f │ │ +4212ee: 5ba2 415e |0075: iput-object v2, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ +4212f2: 6e20 8861 5200 |0077: invoke-virtual {v2, v5}, Ljavax/net/ssl/SSLSocket;.setReceiveBufferSize:(I)V // method@6188 │ │ +4212f8: 54a2 415e |007a: iget-object v2, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ +4212fc: 6e20 8961 5200 |007c: invoke-virtual {v2, v5}, Ljavax/net/ssl/SSLSocket;.setSendBufferSize:(I)V // method@6189 │ │ +421302: 54a2 415e |007f: iget-object v2, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ +421306: 6e20 8d61 6200 |0081: invoke-virtual {v2, v6}, Ljavax/net/ssl/SSLSocket;.setUseClientMode:(Z)V // method@618d │ │ +42130c: 54a2 415e |0084: iget-object v2, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ +421310: 6e30 7d61 0204 |0086: invoke-virtual {v2, v0, v4}, Ljavax/net/ssl/SSLSocket;.connect:(Ljava/net/SocketAddress;I)V // method@617d │ │ +421316: 2844 |0089: goto 00cd // +0044 │ │ +421318: 54a3 3f5e |008a: iget-object v3, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyType:Ljava/lang/String; // field@5e3f │ │ +42131c: 1a07 351c |008c: const-string v7, "HTTP" // string@1c35 │ │ +421320: 6e20 b85c 7300 |008e: invoke-virtual {v3, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +421326: 0a03 |0091: move-result v3 │ │ +421328: 3803 1100 |0092: if-eqz v3, 00a3 // +0011 │ │ +42132c: 2203 120b |0094: new-instance v3, Ljava/net/Socket; // type@0b12 │ │ +421330: 2207 110b |0096: new-instance v7, Ljava/net/Proxy; // type@0b11 │ │ +421334: 6208 dd2c |0098: sget-object v8, Ljava/net/Proxy$Type;.HTTP:Ljava/net/Proxy$Type; // field@2cdd │ │ +421338: 54a9 3c5e |009a: iget-object v9, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyInetSocketAddress:Ljava/net/InetSocketAddress; // field@5e3c │ │ +42133c: 7030 9d5d 8709 |009c: invoke-direct {v7, v8, v9}, Ljava/net/Proxy;.:(Ljava/net/Proxy$Type;Ljava/net/SocketAddress;)V // method@5d9d │ │ +421342: 7020 9f5d 7300 |009f: invoke-direct {v3, v7}, Ljava/net/Socket;.:(Ljava/net/Proxy;)V // method@5d9f │ │ +421348: 280f |00a2: goto 00b1 // +000f │ │ +42134a: 2203 120b |00a3: new-instance v3, Ljava/net/Socket; // type@0b12 │ │ +42134e: 2207 110b |00a5: new-instance v7, Ljava/net/Proxy; // type@0b11 │ │ +421352: 6208 de2c |00a7: sget-object v8, Ljava/net/Proxy$Type;.SOCKS:Ljava/net/Proxy$Type; // field@2cde │ │ +421356: 54a9 3c5e |00a9: iget-object v9, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyInetSocketAddress:Ljava/net/InetSocketAddress; // field@5e3c │ │ +42135a: 7030 9d5d 8709 |00ab: invoke-direct {v7, v8, v9}, Ljava/net/Proxy;.:(Ljava/net/Proxy$Type;Ljava/net/SocketAddress;)V // method@5d9d │ │ +421360: 7020 9f5d 7300 |00ae: invoke-direct {v3, v7}, Ljava/net/Socket;.:(Ljava/net/Proxy;)V // method@5d9f │ │ +421366: 6e20 aa5d 5300 |00b1: invoke-virtual {v3, v5}, Ljava/net/Socket;.setReceiveBufferSize:(I)V // method@5daa │ │ +42136c: 6e20 ab5d 5300 |00b4: invoke-virtual {v3, v5}, Ljava/net/Socket;.setSendBufferSize:(I)V // method@5dab │ │ +421372: 6e30 a25d 0304 |00b7: invoke-virtual {v3, v0, v4}, Ljava/net/Socket;.connect:(Ljava/net/SocketAddress;I)V // method@5da2 │ │ +421378: 6e10 7661 0200 |00ba: invoke-virtual {v2}, Ljavax/net/ssl/SSLContext;.getSocketFactory:()Ljavax/net/ssl/SSLSocketFactory; // method@6176 │ │ +42137e: 0c00 |00bd: move-result-object v0 │ │ +421380: 54a2 3d5e |00be: iget-object v2, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyIpAddress:Ljava/lang/String; // field@5e3d │ │ +421384: 52a4 3e5e |00c0: iget v4, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_proxyPort:I // field@5e3e │ │ +421388: 6e56 8f61 3042 |00c2: invoke-virtual {v0, v3, v2, v4, v6}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket; // method@618f │ │ +42138e: 0c00 |00c5: move-result-object v0 │ │ +421390: 1f00 1f0c |00c6: check-cast v0, Ljavax/net/ssl/SSLSocket; // type@0c1f │ │ +421394: 5ba0 415e |00c8: iput-object v0, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ +421398: 6e20 8d61 6000 |00ca: invoke-virtual {v0, v6}, Ljavax/net/ssl/SSLSocket;.setUseClientMode:(Z)V // method@618d │ │ +42139e: 54a0 415e |00cd: iget-object v0, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ +4213a2: 2202 a91a |00cf: new-instance v2, Lorg/purple/smoke/TcpTlsNeighbor$1; // type@1aa9 │ │ +4213a6: 7020 55ba a200 |00d1: invoke-direct {v2, v10}, Lorg/purple/smoke/TcpTlsNeighbor$1;.:(Lorg/purple/smoke/TcpTlsNeighbor;)V // method@ba55 │ │ +4213ac: 6e20 7b61 2000 |00d4: invoke-virtual {v0, v2}, Ljavax/net/ssl/SSLSocket;.addHandshakeCompletedListener:(Ljavax/net/ssl/HandshakeCompletedListener;)V // method@617b │ │ +4213b2: 54a0 415e |00d7: iget-object v0, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ +4213b6: 54a2 3b5e |00d9: iget-object v2, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_protocols:[Ljava/lang/String; // field@5e3b │ │ +4213ba: 6e20 8761 2000 |00db: invoke-virtual {v0, v2}, Ljavax/net/ssl/SSLSocket;.setEnabledProtocols:([Ljava/lang/String;)V // method@6187 │ │ +4213c0: 54a0 415e |00de: iget-object v0, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ +4213c4: 6e30 8a61 6001 |00e0: invoke-virtual {v0, v6, v1}, Ljavax/net/ssl/SSLSocket;.setSoLinger:(ZI)V // method@618a │ │ +4213ca: 54a0 415e |00e3: iget-object v0, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ +4213ce: 1301 204e |00e5: const/16 v1, #int 20000 // #4e20 │ │ +4213d2: 6e20 8b61 1000 |00e7: invoke-virtual {v0, v1}, Ljavax/net/ssl/SSLSocket;.setSoTimeout:(I)V // method@618b │ │ +4213d8: 54a0 415e |00ea: iget-object v0, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ +4213dc: 6e20 8c61 6000 |00ec: invoke-virtual {v0, v6}, Ljavax/net/ssl/SSLSocket;.setTcpNoDelay:(Z)V // method@618c │ │ +4213e2: 54a0 425e |00ef: iget-object v0, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_startTime:Ljava/util/concurrent/atomic/AtomicLong; // field@5e42 │ │ +4213e6: 7100 0b5d 0000 |00f1: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ +4213ec: 0b01 |00f4: move-result-wide v1 │ │ +4213ee: 6e30 e160 1002 |00f5: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +4213f4: 1a00 0000 |00f8: const-string v0, "" // string@0000 │ │ +4213f8: 6e20 71ba 0a00 |00fa: invoke-virtual {v10, v0}, Lorg/purple/smoke/TcpTlsNeighbor;.setError:(Ljava/lang/String;)V // method@ba71 │ │ +4213fe: 54a0 385e |00fd: iget-object v0, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_mutex:Ljava/lang/Object; // field@5e38 │ │ +421402: 1d00 |00ff: monitor-enter v0 │ │ +421404: 54a1 385e |0100: iget-object v1, v10, Lorg/purple/smoke/TcpTlsNeighbor;.m_mutex:Ljava/lang/Object; // field@5e38 │ │ +421408: 6e10 955c 0100 |0102: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@5c95 │ │ +42140e: 1e00 |0105: monitor-exit v0 │ │ +421410: 2831 |0106: goto 0137 // +0031 │ │ +421412: 0d01 |0107: move-exception v1 │ │ +421414: 1e00 |0108: monitor-exit v0 │ │ +421416: 2701 |0109: throw v1 │ │ +421418: 0d00 |010a: move-exception v0 │ │ +42141a: 2201 f10a |010b: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ +42141e: 7010 ee5c 0100 |010d: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +421424: 1a02 550d |0110: const-string v2, "An error (" // string@0d55 │ │ +421428: 6e20 f95c 2100 |0112: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +42142e: 6e10 375c 0000 |0115: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@5c37 │ │ +421434: 0c00 |0118: move-result-object v0 │ │ +421436: 6e20 f95c 0100 |0119: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +42143c: 1a00 f603 |011c: const-string v0, ") occurred while attempting a connection (" // string@03f6 │ │ +421440: 6e20 f95c 0100 |011e: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +421446: 7100 0b5d 0000 |0121: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ +42144c: 0b02 |0124: move-result-wide v2 │ │ +42144e: 6e30 f55c 2103 |0125: invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@5cf5 │ │ +421454: 1a00 0404 |0128: const-string v0, ")." // string@0404 │ │ +421458: 6e20 f95c 0100 |012a: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +42145e: 6e10 035d 0100 |012d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +421464: 0c00 |0130: move-result-object v0 │ │ +421466: 6e20 71ba 0a00 |0131: invoke-virtual {v10, v0}, Lorg/purple/smoke/TcpTlsNeighbor;.setError:(Ljava/lang/String;)V // method@ba71 │ │ +42146c: 6e10 64ba 0a00 |0134: invoke-virtual {v10}, Lorg/purple/smoke/TcpTlsNeighbor;.disconnect:()V // method@ba64 │ │ +421472: 0e00 |0137: return-void │ │ catches : 3 │ │ 0x0013 - 0x0100 │ │ Ljava/lang/Exception; -> 0x010a │ │ 0x0100 - 0x0109 │ │ -> 0x0107 │ │ 0x0109 - 0x010a │ │ Ljava/lang/Exception; -> 0x010a │ │ @@ -1166892,34 +1166891,34 @@ │ │ type : '()Z' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 35 16-bit code units │ │ -420bec: |[420bec] org.purple.smoke.TcpTlsNeighbor.connected:()Z │ │ -420bfc: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -420bfe: 6e10 6aba 0200 |0001: invoke-virtual {v2}, Lorg/purple/smoke/TcpTlsNeighbor;.isNetworkConnected:()Z // method@ba6a │ │ -420c04: 0a01 |0004: move-result v1 │ │ -420c06: 3801 1d00 |0005: if-eqz v1, 0022 // +001d │ │ -420c0a: 5421 325e |0007: iget-object v1, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_handshakeCompleted:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e32 │ │ -420c0e: 6e10 d660 0100 |0009: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ -420c14: 0a01 |000c: move-result v1 │ │ -420c16: 3801 1500 |000d: if-eqz v1, 0022 // +0015 │ │ -420c1a: 5421 355e |000f: iget-object v1, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_isValidCertificate:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e35 │ │ -420c1e: 6e10 d660 0100 |0011: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ -420c24: 0a01 |0014: move-result v1 │ │ -420c26: 3801 0d00 |0015: if-eqz v1, 0022 // +000d │ │ -420c2a: 5421 415e |0017: iget-object v1, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ -420c2e: 3801 0900 |0019: if-eqz v1, 0022 // +0009 │ │ -420c32: 6e10 8661 0100 |001b: invoke-virtual {v1}, Ljavax/net/ssl/SSLSocket;.isClosed:()Z // method@6186 │ │ -420c38: 0a01 |001e: move-result v1 │ │ -420c3a: 3901 0300 |001f: if-nez v1, 0022 // +0003 │ │ -420c3e: 1210 |0021: const/4 v0, #int 1 // #1 │ │ -420c40: 0f00 |0022: return v0 │ │ +420be8: |[420be8] org.purple.smoke.TcpTlsNeighbor.connected:()Z │ │ +420bf8: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +420bfa: 6e10 6aba 0200 |0001: invoke-virtual {v2}, Lorg/purple/smoke/TcpTlsNeighbor;.isNetworkConnected:()Z // method@ba6a │ │ +420c00: 0a01 |0004: move-result v1 │ │ +420c02: 3801 1d00 |0005: if-eqz v1, 0022 // +001d │ │ +420c06: 5421 325e |0007: iget-object v1, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_handshakeCompleted:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e32 │ │ +420c0a: 6e10 d660 0100 |0009: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ +420c10: 0a01 |000c: move-result v1 │ │ +420c12: 3801 1500 |000d: if-eqz v1, 0022 // +0015 │ │ +420c16: 5421 355e |000f: iget-object v1, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_isValidCertificate:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e35 │ │ +420c1a: 6e10 d660 0100 |0011: invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ +420c20: 0a01 |0014: move-result v1 │ │ +420c22: 3801 0d00 |0015: if-eqz v1, 0022 // +000d │ │ +420c26: 5421 415e |0017: iget-object v1, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ +420c2a: 3801 0900 |0019: if-eqz v1, 0022 // +0009 │ │ +420c2e: 6e10 8661 0100 |001b: invoke-virtual {v1}, Ljavax/net/ssl/SSLSocket;.isClosed:()Z // method@6186 │ │ +420c34: 0a01 |001e: move-result v1 │ │ +420c36: 3901 0300 |001f: if-nez v1, 0022 // +0003 │ │ +420c3a: 1210 |0021: const/4 v0, #int 1 // #1 │ │ +420c3c: 0f00 |0022: return v0 │ │ catches : 1 │ │ 0x0001 - 0x001f │ │ Ljava/lang/Exception; -> 0x0022 │ │ positions : │ │ 0x0001 line=98 │ │ 0x0009 line=99 │ │ 0x0011 line=100 │ │ @@ -1166932,56 +1166931,56 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 90 16-bit code units │ │ -42149c: |[42149c] org.purple.smoke.TcpTlsNeighbor.disconnect:()V │ │ -4214ac: 6f10 07b8 0600 |0000: invoke-super {v6}, Lorg/purple/smoke/Neighbor;.disconnect:()V // method@b807 │ │ -4214b2: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -4214b4: 1201 |0004: const/4 v1, #int 0 // #0 │ │ -4214b6: 1602 0000 |0005: const-wide/16 v2, #int 0 // #0 │ │ -4214ba: 5464 415e |0007: iget-object v4, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ -4214be: 3804 2c00 |0009: if-eqz v4, 0035 // +002c │ │ -4214c2: 6e10 7c61 0400 |000b: invoke-virtual {v4}, Ljavax/net/ssl/SSLSocket;.close:()V // method@617c │ │ -4214c8: 2827 |000e: goto 0035 // +0027 │ │ -4214ca: 0d04 |000f: move-exception v4 │ │ -4214cc: 5465 2b5e |0010: iget-object v5, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e2b │ │ -4214d0: 6e30 e160 2503 |0012: invoke-virtual {v5, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -4214d6: 5465 2c5e |0015: iget-object v5, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e2c │ │ -4214da: 6e30 e160 2503 |0017: invoke-virtual {v5, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -4214e0: 5465 325e |001a: iget-object v5, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_handshakeCompleted:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e32 │ │ -4214e4: 6e20 d860 1500 |001c: invoke-virtual {v5, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -4214ea: 5465 355e |001f: iget-object v5, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_isValidCertificate:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e35 │ │ -4214ee: 6e20 d860 1500 |0021: invoke-virtual {v5, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -4214f4: 5461 365e |0024: iget-object v1, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_lastParsed:Ljava/util/concurrent/atomic/AtomicLong; // field@5e36 │ │ -4214f8: 6e30 e160 2103 |0026: invoke-virtual {v1, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -4214fe: 5b60 415e |0029: iput-object v0, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ -421502: 5460 425e |002b: iget-object v0, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_startTime:Ljava/util/concurrent/atomic/AtomicLong; // field@5e42 │ │ -421506: 7100 0b5d 0000 |002d: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ -42150c: 0b01 |0030: move-result-wide v1 │ │ -42150e: 6e30 e160 1002 |0031: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -421514: 2704 |0034: throw v4 │ │ -421516: 5464 2b5e |0035: iget-object v4, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e2b │ │ -42151a: 6e30 e160 2403 |0037: invoke-virtual {v4, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -421520: 5464 2c5e |003a: iget-object v4, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e2c │ │ -421524: 6e30 e160 2403 |003c: invoke-virtual {v4, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -42152a: 5464 325e |003f: iget-object v4, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_handshakeCompleted:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e32 │ │ -42152e: 6e20 d860 1400 |0041: invoke-virtual {v4, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -421534: 5464 355e |0044: iget-object v4, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_isValidCertificate:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e35 │ │ -421538: 6e20 d860 1400 |0046: invoke-virtual {v4, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -42153e: 5461 365e |0049: iget-object v1, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_lastParsed:Ljava/util/concurrent/atomic/AtomicLong; // field@5e36 │ │ -421542: 6e30 e160 2103 |004b: invoke-virtual {v1, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -421548: 5b60 415e |004e: iput-object v0, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ -42154c: 5460 425e |0050: iget-object v0, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_startTime:Ljava/util/concurrent/atomic/AtomicLong; // field@5e42 │ │ -421550: 7100 0b5d 0000 |0052: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ -421556: 0b01 |0055: move-result-wide v1 │ │ -421558: 6e30 e160 1002 |0056: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -42155e: 0e00 |0059: return-void │ │ +421498: |[421498] org.purple.smoke.TcpTlsNeighbor.disconnect:()V │ │ +4214a8: 6f10 07b8 0600 |0000: invoke-super {v6}, Lorg/purple/smoke/Neighbor;.disconnect:()V // method@b807 │ │ +4214ae: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +4214b0: 1201 |0004: const/4 v1, #int 0 // #0 │ │ +4214b2: 1602 0000 |0005: const-wide/16 v2, #int 0 // #0 │ │ +4214b6: 5464 415e |0007: iget-object v4, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ +4214ba: 3804 2c00 |0009: if-eqz v4, 0035 // +002c │ │ +4214be: 6e10 7c61 0400 |000b: invoke-virtual {v4}, Ljavax/net/ssl/SSLSocket;.close:()V // method@617c │ │ +4214c4: 2827 |000e: goto 0035 // +0027 │ │ +4214c6: 0d04 |000f: move-exception v4 │ │ +4214c8: 5465 2b5e |0010: iget-object v5, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e2b │ │ +4214cc: 6e30 e160 2503 |0012: invoke-virtual {v5, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +4214d2: 5465 2c5e |0015: iget-object v5, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e2c │ │ +4214d6: 6e30 e160 2503 |0017: invoke-virtual {v5, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +4214dc: 5465 325e |001a: iget-object v5, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_handshakeCompleted:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e32 │ │ +4214e0: 6e20 d860 1500 |001c: invoke-virtual {v5, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +4214e6: 5465 355e |001f: iget-object v5, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_isValidCertificate:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e35 │ │ +4214ea: 6e20 d860 1500 |0021: invoke-virtual {v5, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +4214f0: 5461 365e |0024: iget-object v1, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_lastParsed:Ljava/util/concurrent/atomic/AtomicLong; // field@5e36 │ │ +4214f4: 6e30 e160 2103 |0026: invoke-virtual {v1, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +4214fa: 5b60 415e |0029: iput-object v0, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ +4214fe: 5460 425e |002b: iget-object v0, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_startTime:Ljava/util/concurrent/atomic/AtomicLong; // field@5e42 │ │ +421502: 7100 0b5d 0000 |002d: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ +421508: 0b01 |0030: move-result-wide v1 │ │ +42150a: 6e30 e160 1002 |0031: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +421510: 2704 |0034: throw v4 │ │ +421512: 5464 2b5e |0035: iget-object v4, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e2b │ │ +421516: 6e30 e160 2403 |0037: invoke-virtual {v4, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +42151c: 5464 2c5e |003a: iget-object v4, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e2c │ │ +421520: 6e30 e160 2403 |003c: invoke-virtual {v4, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +421526: 5464 325e |003f: iget-object v4, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_handshakeCompleted:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e32 │ │ +42152a: 6e20 d860 1400 |0041: invoke-virtual {v4, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +421530: 5464 355e |0044: iget-object v4, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_isValidCertificate:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e35 │ │ +421534: 6e20 d860 1400 |0046: invoke-virtual {v4, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +42153a: 5461 365e |0049: iget-object v1, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_lastParsed:Ljava/util/concurrent/atomic/AtomicLong; // field@5e36 │ │ +42153e: 6e30 e160 2103 |004b: invoke-virtual {v1, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +421544: 5b60 415e |004e: iput-object v0, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ +421548: 5460 425e |0050: iget-object v0, v6, Lorg/purple/smoke/TcpTlsNeighbor;.m_startTime:Ljava/util/concurrent/atomic/AtomicLong; // field@5e42 │ │ +42154c: 7100 0b5d 0000 |0052: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ +421552: 0b01 |0055: move-result-wide v1 │ │ +421554: 6e30 e160 1002 |0056: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +42155a: 0e00 |0059: return-void │ │ catches : 1 │ │ 0x0007 - 0x000e │ │ Ljava/lang/Exception; -> 0x0035 │ │ -> 0x000f │ │ positions : │ │ 0x0000 line=292 │ │ 0x0007 line=296 │ │ @@ -1167009,36 +1167008,36 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 38 16-bit code units │ │ -420d70: |[420d70] org.purple.smoke.TcpTlsNeighbor.getLocalIp:()Ljava/lang/String; │ │ -420d80: 5420 415e |0000: iget-object v0, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ -420d84: 3800 1400 |0002: if-eqz v0, 0016 // +0014 │ │ -420d88: 6e10 8061 0000 |0004: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocket;.getLocalAddress:()Ljava/net/InetAddress; // method@6180 │ │ -420d8e: 0c00 |0007: move-result-object v0 │ │ -420d90: 3800 0e00 |0008: if-eqz v0, 0016 // +000e │ │ -420d94: 5420 415e |000a: iget-object v0, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ -420d98: 6e10 8061 0000 |000c: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocket;.getLocalAddress:()Ljava/net/InetAddress; // method@6180 │ │ -420d9e: 0c00 |000f: move-result-object v0 │ │ -420da0: 6e10 8c5d 0000 |0010: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@5d8c │ │ -420da6: 0c00 |0013: move-result-object v0 │ │ -420da8: 1100 |0014: return-object v0 │ │ -420daa: 0000 |0015: nop // spacer │ │ -420dac: 5420 455e |0016: iget-object v0, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_version:Ljava/lang/String; // field@5e45 │ │ -420db0: 1a01 681d |0018: const-string v1, "IPv4" // string@1d68 │ │ -420db4: 6e20 b85c 1000 |001a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -420dba: 0a00 |001d: move-result v0 │ │ -420dbc: 3800 0500 |001e: if-eqz v0, 0023 // +0005 │ │ -420dc0: 1a00 c204 |0020: const-string v0, "0.0.0.0" // string@04c2 │ │ -420dc4: 1100 |0022: return-object v0 │ │ -420dc6: 1a00 8508 |0023: const-string v0, "::" // string@0885 │ │ -420dca: 1100 |0025: return-object v0 │ │ +420d6c: |[420d6c] org.purple.smoke.TcpTlsNeighbor.getLocalIp:()Ljava/lang/String; │ │ +420d7c: 5420 415e |0000: iget-object v0, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ +420d80: 3800 1400 |0002: if-eqz v0, 0016 // +0014 │ │ +420d84: 6e10 8061 0000 |0004: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocket;.getLocalAddress:()Ljava/net/InetAddress; // method@6180 │ │ +420d8a: 0c00 |0007: move-result-object v0 │ │ +420d8c: 3800 0e00 |0008: if-eqz v0, 0016 // +000e │ │ +420d90: 5420 415e |000a: iget-object v0, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ +420d94: 6e10 8061 0000 |000c: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocket;.getLocalAddress:()Ljava/net/InetAddress; // method@6180 │ │ +420d9a: 0c00 |000f: move-result-object v0 │ │ +420d9c: 6e10 8c5d 0000 |0010: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@5d8c │ │ +420da2: 0c00 |0013: move-result-object v0 │ │ +420da4: 1100 |0014: return-object v0 │ │ +420da6: 0000 |0015: nop // spacer │ │ +420da8: 5420 455e |0016: iget-object v0, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_version:Ljava/lang/String; // field@5e45 │ │ +420dac: 1a01 681d |0018: const-string v1, "IPv4" // string@1d68 │ │ +420db0: 6e20 b85c 1000 |001a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +420db6: 0a00 |001d: move-result v0 │ │ +420db8: 3800 0500 |001e: if-eqz v0, 0023 // +0005 │ │ +420dbc: 1a00 c204 |0020: const-string v0, "0.0.0.0" // string@04c2 │ │ +420dc0: 1100 |0022: return-object v0 │ │ +420dc2: 1a00 8508 |0023: const-string v0, "::" // string@0885 │ │ +420dc6: 1100 |0025: return-object v0 │ │ catches : 1 │ │ 0x0000 - 0x0014 │ │ Ljava/lang/Exception; -> 0x0015 │ │ positions : │ │ 0x0000 line=63 │ │ 0x000a line=64 │ │ 0x0016 line=70 │ │ @@ -1167050,26 +1167049,26 @@ │ │ type : '()I' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 19 16-bit code units │ │ -420c54: |[420c54] org.purple.smoke.TcpTlsNeighbor.getLocalPort:()I │ │ -420c64: 5410 415e |0000: iget-object v0, v1, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ -420c68: 3800 0f00 |0002: if-eqz v0, 0011 // +000f │ │ -420c6c: 6e10 8661 0000 |0004: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocket;.isClosed:()Z // method@6186 │ │ -420c72: 0a00 |0007: move-result v0 │ │ -420c74: 3900 0900 |0008: if-nez v0, 0011 // +0009 │ │ -420c78: 5410 415e |000a: iget-object v0, v1, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ -420c7c: 6e10 8161 0000 |000c: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocket;.getLocalPort:()I // method@6181 │ │ -420c82: 0a00 |000f: move-result v0 │ │ -420c84: 0f00 |0010: return v0 │ │ -420c86: 1200 |0011: const/4 v0, #int 0 // #0 │ │ -420c88: 0f00 |0012: return v0 │ │ +420c50: |[420c50] org.purple.smoke.TcpTlsNeighbor.getLocalPort:()I │ │ +420c60: 5410 415e |0000: iget-object v0, v1, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ +420c64: 3800 0f00 |0002: if-eqz v0, 0011 // +000f │ │ +420c68: 6e10 8661 0000 |0004: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocket;.isClosed:()Z // method@6186 │ │ +420c6e: 0a00 |0007: move-result v0 │ │ +420c70: 3900 0900 |0008: if-nez v0, 0011 // +0009 │ │ +420c74: 5410 415e |000a: iget-object v0, v1, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ +420c78: 6e10 8161 0000 |000c: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocket;.getLocalPort:()I // method@6181 │ │ +420c7e: 0a00 |000f: move-result v0 │ │ +420c80: 0f00 |0010: return v0 │ │ +420c82: 1200 |0011: const/4 v0, #int 0 // #0 │ │ +420c84: 0f00 |0012: return v0 │ │ catches : 1 │ │ 0x0000 - 0x0010 │ │ Ljava/lang/Exception; -> 0x0011 │ │ positions : │ │ 0x0000 line=115 │ │ 0x000a line=116 │ │ locals : │ │ @@ -1167080,47 +1167079,47 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 66 16-bit code units │ │ -420ddc: |[420ddc] org.purple.smoke.TcpTlsNeighbor.getSessionCipher:()Ljava/lang/String; │ │ -420dec: 5420 415e |0000: iget-object v0, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ -420df0: 3800 3d00 |0002: if-eqz v0, 003f // +003d │ │ -420df4: 6e10 8461 0000 |0004: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocket;.getSession:()Ljavax/net/ssl/SSLSession; // method@6184 │ │ -420dfa: 0c00 |0007: move-result-object v0 │ │ -420dfc: 3800 3700 |0008: if-eqz v0, 003f // +0037 │ │ -420e00: 5420 415e |000a: iget-object v0, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ -420e04: 6e10 8461 0000 |000c: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocket;.getSession:()Ljavax/net/ssl/SSLSession; // method@6184 │ │ -420e0a: 0c00 |000f: move-result-object v0 │ │ -420e0c: 7210 7a61 0000 |0010: invoke-interface {v0}, Ljavax/net/ssl/SSLSession;.isValid:()Z // method@617a │ │ -420e12: 0a00 |0013: move-result v0 │ │ -420e14: 3800 2b00 |0014: if-eqz v0, 003f // +002b │ │ -420e18: 2200 f10a |0016: new-instance v0, Ljava/lang/StringBuilder; // type@0af1 │ │ -420e1c: 7010 ee5c 0000 |0018: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -420e22: 5421 415e |001b: iget-object v1, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ -420e26: 6e10 8461 0100 |001d: invoke-virtual {v1}, Ljavax/net/ssl/SSLSocket;.getSession:()Ljavax/net/ssl/SSLSession; // method@6184 │ │ -420e2c: 0c01 |0020: move-result-object v1 │ │ -420e2e: 7210 7861 0100 |0021: invoke-interface {v1}, Ljavax/net/ssl/SSLSession;.getCipherSuite:()Ljava/lang/String; // method@6178 │ │ -420e34: 0c01 |0024: move-result-object v1 │ │ -420e36: 6e20 f95c 1000 |0025: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -420e3c: 1a01 9354 |0028: const-string v1, "_" // string@5493 │ │ -420e40: 6e20 f95c 1000 |002a: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -420e46: 5421 415e |002d: iget-object v1, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ -420e4a: 6e10 8461 0100 |002f: invoke-virtual {v1}, Ljavax/net/ssl/SSLSocket;.getSession:()Ljavax/net/ssl/SSLSession; // method@6184 │ │ -420e50: 0c01 |0032: move-result-object v1 │ │ -420e52: 7210 7961 0100 |0033: invoke-interface {v1}, Ljavax/net/ssl/SSLSession;.getProtocol:()Ljava/lang/String; // method@6179 │ │ -420e58: 0c01 |0036: move-result-object v1 │ │ -420e5a: 6e20 f95c 1000 |0037: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -420e60: 6e10 035d 0000 |003a: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -420e66: 0c00 |003d: move-result-object v0 │ │ -420e68: 1100 |003e: return-object v0 │ │ -420e6a: 1a00 0000 |003f: const-string v0, "" // string@0000 │ │ -420e6e: 1100 |0041: return-object v0 │ │ +420dd8: |[420dd8] org.purple.smoke.TcpTlsNeighbor.getSessionCipher:()Ljava/lang/String; │ │ +420de8: 5420 415e |0000: iget-object v0, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ +420dec: 3800 3d00 |0002: if-eqz v0, 003f // +003d │ │ +420df0: 6e10 8461 0000 |0004: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocket;.getSession:()Ljavax/net/ssl/SSLSession; // method@6184 │ │ +420df6: 0c00 |0007: move-result-object v0 │ │ +420df8: 3800 3700 |0008: if-eqz v0, 003f // +0037 │ │ +420dfc: 5420 415e |000a: iget-object v0, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ +420e00: 6e10 8461 0000 |000c: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocket;.getSession:()Ljavax/net/ssl/SSLSession; // method@6184 │ │ +420e06: 0c00 |000f: move-result-object v0 │ │ +420e08: 7210 7a61 0000 |0010: invoke-interface {v0}, Ljavax/net/ssl/SSLSession;.isValid:()Z // method@617a │ │ +420e0e: 0a00 |0013: move-result v0 │ │ +420e10: 3800 2b00 |0014: if-eqz v0, 003f // +002b │ │ +420e14: 2200 f10a |0016: new-instance v0, Ljava/lang/StringBuilder; // type@0af1 │ │ +420e18: 7010 ee5c 0000 |0018: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +420e1e: 5421 415e |001b: iget-object v1, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ +420e22: 6e10 8461 0100 |001d: invoke-virtual {v1}, Ljavax/net/ssl/SSLSocket;.getSession:()Ljavax/net/ssl/SSLSession; // method@6184 │ │ +420e28: 0c01 |0020: move-result-object v1 │ │ +420e2a: 7210 7861 0100 |0021: invoke-interface {v1}, Ljavax/net/ssl/SSLSession;.getCipherSuite:()Ljava/lang/String; // method@6178 │ │ +420e30: 0c01 |0024: move-result-object v1 │ │ +420e32: 6e20 f95c 1000 |0025: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +420e38: 1a01 9354 |0028: const-string v1, "_" // string@5493 │ │ +420e3c: 6e20 f95c 1000 |002a: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +420e42: 5421 415e |002d: iget-object v1, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ +420e46: 6e10 8461 0100 |002f: invoke-virtual {v1}, Ljavax/net/ssl/SSLSocket;.getSession:()Ljavax/net/ssl/SSLSession; // method@6184 │ │ +420e4c: 0c01 |0032: move-result-object v1 │ │ +420e4e: 7210 7961 0100 |0033: invoke-interface {v1}, Ljavax/net/ssl/SSLSession;.getProtocol:()Ljava/lang/String; // method@6179 │ │ +420e54: 0c01 |0036: move-result-object v1 │ │ +420e56: 6e20 f95c 1000 |0037: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +420e5c: 6e10 035d 0000 |003a: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +420e62: 0c00 |003d: move-result-object v0 │ │ +420e64: 1100 |003e: return-object v0 │ │ +420e66: 1a00 0000 |003f: const-string v0, "" // string@0000 │ │ +420e6a: 1100 |0041: return-object v0 │ │ catches : 1 │ │ 0x0000 - 0x003e │ │ Ljava/lang/Exception; -> 0x003f │ │ positions : │ │ 0x0000 line=80 │ │ 0x0004 line=81 │ │ 0x000c line=82 │ │ @@ -1167134,36 +1167133,36 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 38 16-bit code units │ │ -420e80: |[420e80] org.purple.smoke.TcpTlsNeighbor.remoteIpAddress:()Ljava/lang/String; │ │ -420e90: 5420 415e |0000: iget-object v0, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ -420e94: 3800 1400 |0002: if-eqz v0, 0016 // +0014 │ │ -420e98: 6e10 7e61 0000 |0004: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocket;.getInetAddress:()Ljava/net/InetAddress; // method@617e │ │ -420e9e: 0c00 |0007: move-result-object v0 │ │ -420ea0: 3800 0e00 |0008: if-eqz v0, 0016 // +000e │ │ -420ea4: 5420 415e |000a: iget-object v0, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ -420ea8: 6e10 7e61 0000 |000c: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocket;.getInetAddress:()Ljava/net/InetAddress; // method@617e │ │ -420eae: 0c00 |000f: move-result-object v0 │ │ -420eb0: 6e10 8c5d 0000 |0010: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@5d8c │ │ -420eb6: 0c00 |0013: move-result-object v0 │ │ -420eb8: 1100 |0014: return-object v0 │ │ -420eba: 0000 |0015: nop // spacer │ │ -420ebc: 5420 455e |0016: iget-object v0, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_version:Ljava/lang/String; // field@5e45 │ │ -420ec0: 1a01 681d |0018: const-string v1, "IPv4" // string@1d68 │ │ -420ec4: 6e20 b85c 1000 |001a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -420eca: 0a00 |001d: move-result v0 │ │ -420ecc: 3800 0500 |001e: if-eqz v0, 0023 // +0005 │ │ -420ed0: 1a00 c204 |0020: const-string v0, "0.0.0.0" // string@04c2 │ │ -420ed4: 1100 |0022: return-object v0 │ │ -420ed6: 1a00 8508 |0023: const-string v0, "::" // string@0885 │ │ -420eda: 1100 |0025: return-object v0 │ │ +420e7c: |[420e7c] org.purple.smoke.TcpTlsNeighbor.remoteIpAddress:()Ljava/lang/String; │ │ +420e8c: 5420 415e |0000: iget-object v0, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ +420e90: 3800 1400 |0002: if-eqz v0, 0016 // +0014 │ │ +420e94: 6e10 7e61 0000 |0004: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocket;.getInetAddress:()Ljava/net/InetAddress; // method@617e │ │ +420e9a: 0c00 |0007: move-result-object v0 │ │ +420e9c: 3800 0e00 |0008: if-eqz v0, 0016 // +000e │ │ +420ea0: 5420 415e |000a: iget-object v0, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ +420ea4: 6e10 7e61 0000 |000c: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocket;.getInetAddress:()Ljava/net/InetAddress; // method@617e │ │ +420eaa: 0c00 |000f: move-result-object v0 │ │ +420eac: 6e10 8c5d 0000 |0010: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@5d8c │ │ +420eb2: 0c00 |0013: move-result-object v0 │ │ +420eb4: 1100 |0014: return-object v0 │ │ +420eb6: 0000 |0015: nop // spacer │ │ +420eb8: 5420 455e |0016: iget-object v0, v2, Lorg/purple/smoke/TcpTlsNeighbor;.m_version:Ljava/lang/String; // field@5e45 │ │ +420ebc: 1a01 681d |0018: const-string v1, "IPv4" // string@1d68 │ │ +420ec0: 6e20 b85c 1000 |001a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +420ec6: 0a00 |001d: move-result v0 │ │ +420ec8: 3800 0500 |001e: if-eqz v0, 0023 // +0005 │ │ +420ecc: 1a00 c204 |0020: const-string v0, "0.0.0.0" // string@04c2 │ │ +420ed0: 1100 |0022: return-object v0 │ │ +420ed2: 1a00 8508 |0023: const-string v0, "::" // string@0885 │ │ +420ed6: 1100 |0025: return-object v0 │ │ catches : 1 │ │ 0x0000 - 0x0014 │ │ Ljava/lang/Exception; -> 0x0015 │ │ positions : │ │ 0x0000 line=550 │ │ 0x000a line=551 │ │ 0x0016 line=557 │ │ @@ -1167175,24 +1167174,24 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 16 16-bit code units │ │ -420eec: |[420eec] org.purple.smoke.TcpTlsNeighbor.remotePort:()Ljava/lang/String; │ │ -420efc: 5410 415e |0000: iget-object v0, v1, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ -420f00: 3800 0b00 |0002: if-eqz v0, 000d // +000b │ │ -420f04: 6e10 8361 0000 |0004: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocket;.getPort:()I // method@6183 │ │ -420f0a: 0a00 |0007: move-result v0 │ │ -420f0c: 7110 d55c 0000 |0008: invoke-static {v0}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ -420f12: 0c00 |000b: move-result-object v0 │ │ -420f14: 1100 |000c: return-object v0 │ │ -420f16: 1a00 bf04 |000d: const-string v0, "0" // string@04bf │ │ -420f1a: 1100 |000f: return-object v0 │ │ +420ee8: |[420ee8] org.purple.smoke.TcpTlsNeighbor.remotePort:()Ljava/lang/String; │ │ +420ef8: 5410 415e |0000: iget-object v0, v1, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ +420efc: 3800 0b00 |0002: if-eqz v0, 000d // +000b │ │ +420f00: 6e10 8361 0000 |0004: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocket;.getPort:()I // method@6183 │ │ +420f06: 0a00 |0007: move-result v0 │ │ +420f08: 7110 d55c 0000 |0008: invoke-static {v0}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ +420f0e: 0c00 |000b: move-result-object v0 │ │ +420f10: 1100 |000c: return-object v0 │ │ +420f12: 1a00 bf04 |000d: const-string v0, "0" // string@04bf │ │ +420f16: 1100 |000f: return-object v0 │ │ catches : 1 │ │ 0x0000 - 0x000c │ │ Ljava/lang/Exception; -> 0x000d │ │ positions : │ │ 0x0000 line=567 │ │ 0x0004 line=568 │ │ locals : │ │ @@ -1167203,46 +1167202,46 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -420f2c: |[420f2c] org.purple.smoke.TcpTlsNeighbor.remoteScopeId:()Ljava/lang/String; │ │ -420f3c: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ -420f40: 1100 |0002: return-object v0 │ │ +420f28: |[420f28] org.purple.smoke.TcpTlsNeighbor.remoteScopeId:()Ljava/lang/String; │ │ +420f38: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ +420f3c: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #10 : (in Lorg/purple/smoke/TcpTlsNeighbor;) │ │ name : 'send' │ │ type : '(Ljava/lang/String;)I' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 26 16-bit code units │ │ -420d2c: |[420d2c] org.purple.smoke.TcpTlsNeighbor.send:(Ljava/lang/String;)I │ │ -420d3c: 6e10 63ba 0100 |0000: invoke-virtual {v1}, Lorg/purple/smoke/TcpTlsNeighbor;.connected:()Z // method@ba63 │ │ -420d42: 0a00 |0003: move-result v0 │ │ -420d44: 3800 1400 |0004: if-eqz v0, 0018 // +0014 │ │ -420d48: 3802 1200 |0006: if-eqz v2, 0018 // +0012 │ │ -420d4c: 6e10 c55c 0200 |0008: invoke-virtual {v2}, Ljava/lang/String;.length:()I // method@5cc5 │ │ -420d52: 0a00 |000b: move-result v0 │ │ -420d54: 3900 0300 |000c: if-nez v0, 000f // +0003 │ │ -420d58: 280a |000e: goto 0018 // +000a │ │ -420d5a: 6e10 bc5c 0200 |000f: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -420d60: 0c02 |0012: move-result-object v2 │ │ -420d62: 6e20 70ba 2100 |0013: invoke-virtual {v1, v2}, Lorg/purple/smoke/TcpTlsNeighbor;.send:([B)I // method@ba70 │ │ -420d68: 0a02 |0016: move-result v2 │ │ -420d6a: 0f02 |0017: return v2 │ │ -420d6c: 1202 |0018: const/4 v2, #int 0 // #0 │ │ -420d6e: 0f02 |0019: return v2 │ │ +420d28: |[420d28] org.purple.smoke.TcpTlsNeighbor.send:(Ljava/lang/String;)I │ │ +420d38: 6e10 63ba 0100 |0000: invoke-virtual {v1}, Lorg/purple/smoke/TcpTlsNeighbor;.connected:()Z // method@ba63 │ │ +420d3e: 0a00 |0003: move-result v0 │ │ +420d40: 3800 1400 |0004: if-eqz v0, 0018 // +0014 │ │ +420d44: 3802 1200 |0006: if-eqz v2, 0018 // +0012 │ │ +420d48: 6e10 c55c 0200 |0008: invoke-virtual {v2}, Ljava/lang/String;.length:()I // method@5cc5 │ │ +420d4e: 0a00 |000b: move-result v0 │ │ +420d50: 3900 0300 |000c: if-nez v0, 000f // +0003 │ │ +420d54: 280a |000e: goto 0018 // +000a │ │ +420d56: 6e10 bc5c 0200 |000f: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +420d5c: 0c02 |0012: move-result-object v2 │ │ +420d5e: 6e20 70ba 2100 |0013: invoke-virtual {v1, v2}, Lorg/purple/smoke/TcpTlsNeighbor;.send:([B)I // method@ba70 │ │ +420d64: 0a02 |0016: move-result v2 │ │ +420d66: 0f02 |0017: return v2 │ │ +420d68: 1202 |0018: const/4 v2, #int 0 // #0 │ │ +420d6a: 0f02 |0019: return v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=127 │ │ 0x000f line=130 │ │ locals : │ │ 0x0000 - 0x001a reg=1 this Lorg/purple/smoke/TcpTlsNeighbor; │ │ 0x0000 - 0x001a reg=2 (null) Ljava/lang/String; │ │ @@ -1167252,46 +1167251,46 @@ │ │ type : '([B)I' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 56 16-bit code units │ │ -420c9c: |[420c9c] org.purple.smoke.TcpTlsNeighbor.send:([B)I │ │ -420cac: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -420cae: 3805 3600 |0001: if-eqz v5, 0037 // +0036 │ │ -420cb2: 2151 |0003: array-length v1, v5 │ │ -420cb4: 3801 3300 |0004: if-eqz v1, 0037 // +0033 │ │ -420cb8: 6e10 63ba 0400 |0006: invoke-virtual {v4}, Lorg/purple/smoke/TcpTlsNeighbor;.connected:()Z // method@ba63 │ │ -420cbe: 0a01 |0009: move-result v1 │ │ -420cc0: 3901 0300 |000a: if-nez v1, 000d // +0003 │ │ -420cc4: 282b |000c: goto 0037 // +002b │ │ -420cc6: 5441 415e |000d: iget-object v1, v4, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ -420cca: 3801 1f00 |000f: if-eqz v1, 002e // +001f │ │ -420cce: 6e10 8261 0100 |0011: invoke-virtual {v1}, Ljavax/net/ssl/SSLSocket;.getOutputStream:()Ljava/io/OutputStream; // method@6182 │ │ -420cd4: 0c01 |0014: move-result-object v1 │ │ -420cd6: 3901 0300 |0015: if-nez v1, 0018 // +0003 │ │ -420cda: 2817 |0017: goto 002e // +0017 │ │ -420cdc: 5441 415e |0018: iget-object v1, v4, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ -420ce0: 6e10 8261 0100 |001a: invoke-virtual {v1}, Ljavax/net/ssl/SSLSocket;.getOutputStream:()Ljava/io/OutputStream; // method@6182 │ │ -420ce6: 0c01 |001d: move-result-object v1 │ │ -420ce8: 6e20 db5b 5100 |001e: invoke-virtual {v1, v5}, Ljava/io/OutputStream;.write:([B)V // method@5bdb │ │ -420cee: 7110 1ab7 0500 |0021: invoke-static {v5}, Lorg/purple/smoke/Kernel;.writeCongestionDigest:([B)V // method@b71a │ │ -420cf4: 5441 2c5e |0024: iget-object v1, v4, Lorg/purple/smoke/TcpTlsNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e2c │ │ -420cf8: 2152 |0026: array-length v2, v5 │ │ -420cfa: 8122 |0027: int-to-long v2, v2 │ │ -420cfc: 6e30 e060 2103 |0028: invoke-virtual {v1, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.getAndAdd:(J)J // method@60e0 │ │ -420d02: 2155 |002b: array-length v5, v5 │ │ -420d04: b050 |002c: add-int/2addr v0, v5 │ │ -420d06: 280a |002d: goto 0037 // +000a │ │ -420d08: 0f00 |002e: return v0 │ │ -420d0a: 1a05 0309 |002f: const-string v5, "A socket error occurred on send()." // string@0903 │ │ -420d0e: 6e20 71ba 5400 |0031: invoke-virtual {v4, v5}, Lorg/purple/smoke/TcpTlsNeighbor;.setError:(Ljava/lang/String;)V // method@ba71 │ │ -420d14: 6e10 64ba 0400 |0034: invoke-virtual {v4}, Lorg/purple/smoke/TcpTlsNeighbor;.disconnect:()V // method@ba64 │ │ -420d1a: 0f00 |0037: return v0 │ │ +420c98: |[420c98] org.purple.smoke.TcpTlsNeighbor.send:([B)I │ │ +420ca8: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +420caa: 3805 3600 |0001: if-eqz v5, 0037 // +0036 │ │ +420cae: 2151 |0003: array-length v1, v5 │ │ +420cb0: 3801 3300 |0004: if-eqz v1, 0037 // +0033 │ │ +420cb4: 6e10 63ba 0400 |0006: invoke-virtual {v4}, Lorg/purple/smoke/TcpTlsNeighbor;.connected:()Z // method@ba63 │ │ +420cba: 0a01 |0009: move-result v1 │ │ +420cbc: 3901 0300 |000a: if-nez v1, 000d // +0003 │ │ +420cc0: 282b |000c: goto 0037 // +002b │ │ +420cc2: 5441 415e |000d: iget-object v1, v4, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ +420cc6: 3801 1f00 |000f: if-eqz v1, 002e // +001f │ │ +420cca: 6e10 8261 0100 |0011: invoke-virtual {v1}, Ljavax/net/ssl/SSLSocket;.getOutputStream:()Ljava/io/OutputStream; // method@6182 │ │ +420cd0: 0c01 |0014: move-result-object v1 │ │ +420cd2: 3901 0300 |0015: if-nez v1, 0018 // +0003 │ │ +420cd6: 2817 |0017: goto 002e // +0017 │ │ +420cd8: 5441 415e |0018: iget-object v1, v4, Lorg/purple/smoke/TcpTlsNeighbor;.m_socket:Ljavax/net/ssl/SSLSocket; // field@5e41 │ │ +420cdc: 6e10 8261 0100 |001a: invoke-virtual {v1}, Ljavax/net/ssl/SSLSocket;.getOutputStream:()Ljava/io/OutputStream; // method@6182 │ │ +420ce2: 0c01 |001d: move-result-object v1 │ │ +420ce4: 6e20 db5b 5100 |001e: invoke-virtual {v1, v5}, Ljava/io/OutputStream;.write:([B)V // method@5bdb │ │ +420cea: 7110 1ab7 0500 |0021: invoke-static {v5}, Lorg/purple/smoke/Kernel;.writeCongestionDigest:([B)V // method@b71a │ │ +420cf0: 5441 2c5e |0024: iget-object v1, v4, Lorg/purple/smoke/TcpTlsNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e2c │ │ +420cf4: 2152 |0026: array-length v2, v5 │ │ +420cf6: 8122 |0027: int-to-long v2, v2 │ │ +420cf8: 6e30 e060 2103 |0028: invoke-virtual {v1, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.getAndAdd:(J)J // method@60e0 │ │ +420cfe: 2155 |002b: array-length v5, v5 │ │ +420d00: b050 |002c: add-int/2addr v0, v5 │ │ +420d02: 280a |002d: goto 0037 // +000a │ │ +420d04: 0f00 |002e: return v0 │ │ +420d06: 1a05 0309 |002f: const-string v5, "A socket error occurred on send()." // string@0903 │ │ +420d0a: 6e20 71ba 5400 |0031: invoke-virtual {v4, v5}, Lorg/purple/smoke/TcpTlsNeighbor;.setError:(Ljava/lang/String;)V // method@ba71 │ │ +420d10: 6e10 64ba 0400 |0034: invoke-virtual {v4}, Lorg/purple/smoke/TcpTlsNeighbor;.disconnect:()V // method@ba64 │ │ +420d16: 0f00 |0037: return v0 │ │ catches : 1 │ │ 0x000d - 0x002c │ │ Ljava/lang/Exception; -> 0x002f │ │ positions : │ │ 0x0003 line=135 │ │ 0x000d line=142 │ │ 0x0018 line=145 │ │ @@ -1167309,17 +1167308,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -420f44: |[420f44] org.purple.smoke.TcpTlsNeighbor.transport:()Ljava/lang/String; │ │ -420f54: 1a00 e04b |0000: const-string v0, "TCP" // string@4be0 │ │ -420f58: 1100 |0002: return-object v0 │ │ +420f40: |[420f40] org.purple.smoke.TcpTlsNeighbor.transport:()Ljava/lang/String; │ │ +420f50: 1a00 e04b |0000: const-string v0, "TCP" // string@4be0 │ │ +420f54: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ source_file_idx : 19782 (TcpTlsNeighbor.java) │ │ │ │ Class #4272 header: │ │ @@ -1167354,34 +1167353,34 @@ │ │ type : '(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 15 │ │ ins : 7 │ │ outs : 8 │ │ insns size : 32 16-bit code units │ │ -421dac: |[421dac] org.purple.smoke.UdpMulticastNeighbor.:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V │ │ -421dbc: 1a05 d24e |0000: const-string v5, "UDP" // string@4ed2 │ │ -421dc0: 0780 |0002: move-object v0, v8 │ │ -421dc2: 0791 |0003: move-object v1, v9 │ │ -421dc4: 07a2 |0004: move-object v2, v10 │ │ -421dc6: 07b3 |0005: move-object v3, v11 │ │ -421dc8: 07c4 |0006: move-object v4, v12 │ │ -421dca: 07d6 |0007: move-object v6, v13 │ │ -421dcc: 01e7 |0008: move v7, v14 │ │ -421dce: 7608 f9b7 0000 |0009: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7}, Lorg/purple/smoke/Neighbor;.:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V // method@b7f9 │ │ -421dd4: 1209 |000c: const/4 v9, #int 0 // #0 │ │ -421dd6: 5b89 585e |000d: iput-object v9, v8, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ -421dda: 5480 575e |000f: iget-object v0, v8, Lorg/purple/smoke/UdpMulticastNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e57 │ │ -421dde: 2201 af1a |0011: new-instance v1, Lorg/purple/smoke/UdpMulticastNeighbor$1; // type@1aaf │ │ -421de2: 7020 76ba 8100 |0013: invoke-direct {v1, v8}, Lorg/purple/smoke/UdpMulticastNeighbor$1;.:(Lorg/purple/smoke/UdpMulticastNeighbor;)V // method@ba76 │ │ -421de8: 6206 eb2c |0016: sget-object v6, Ljava/util/concurrent/TimeUnit;.MILLISECONDS:Ljava/util/concurrent/TimeUnit; // field@2ceb │ │ -421dec: 1602 0000 |0018: const-wide/16 v2, #int 0 // #0 │ │ -421df0: 1604 6400 |001a: const-wide/16 v4, #int 100 // #64 │ │ -421df4: 7807 cc60 0000 |001c: invoke-interface/range {v0, v1, v2, v3, v4, v5, v6}, Ljava/util/concurrent/ScheduledExecutorService;.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; // method@60cc │ │ -421dfa: 0e00 |001f: return-void │ │ +421da8: |[421da8] org.purple.smoke.UdpMulticastNeighbor.:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V │ │ +421db8: 1a05 d24e |0000: const-string v5, "UDP" // string@4ed2 │ │ +421dbc: 0780 |0002: move-object v0, v8 │ │ +421dbe: 0791 |0003: move-object v1, v9 │ │ +421dc0: 07a2 |0004: move-object v2, v10 │ │ +421dc2: 07b3 |0005: move-object v3, v11 │ │ +421dc4: 07c4 |0006: move-object v4, v12 │ │ +421dc6: 07d6 |0007: move-object v6, v13 │ │ +421dc8: 01e7 |0008: move v7, v14 │ │ +421dca: 7608 f9b7 0000 |0009: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7}, Lorg/purple/smoke/Neighbor;.:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V // method@b7f9 │ │ +421dd0: 1209 |000c: const/4 v9, #int 0 // #0 │ │ +421dd2: 5b89 585e |000d: iput-object v9, v8, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ +421dd6: 5480 575e |000f: iget-object v0, v8, Lorg/purple/smoke/UdpMulticastNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e57 │ │ +421dda: 2201 af1a |0011: new-instance v1, Lorg/purple/smoke/UdpMulticastNeighbor$1; // type@1aaf │ │ +421dde: 7020 76ba 8100 |0013: invoke-direct {v1, v8}, Lorg/purple/smoke/UdpMulticastNeighbor$1;.:(Lorg/purple/smoke/UdpMulticastNeighbor;)V // method@ba76 │ │ +421de4: 6206 eb2c |0016: sget-object v6, Ljava/util/concurrent/TimeUnit;.MILLISECONDS:Ljava/util/concurrent/TimeUnit; // field@2ceb │ │ +421de8: 1602 0000 |0018: const-wide/16 v2, #int 0 // #0 │ │ +421dec: 1604 6400 |001a: const-wide/16 v4, #int 100 // #64 │ │ +421df0: 7807 cc60 0000 |001c: invoke-interface/range {v0, v1, v2, v3, v4, v5, v6}, Ljava/util/concurrent/ScheduledExecutorService;.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; // method@60cc │ │ +421df6: 0e00 |001f: return-void │ │ catches : (none) │ │ positions : │ │ 0x0009 line=224 │ │ 0x000d line=39 │ │ 0x000f line=225 │ │ locals : │ │ 0x0000 - 0x0020 reg=8 this Lorg/purple/smoke/UdpMulticastNeighbor; │ │ @@ -1167397,17 +1167396,17 @@ │ │ type : '(Lorg/purple/smoke/UdpMulticastNeighbor;)Ljava/net/MulticastSocket;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -421d94: |[421d94] org.purple.smoke.UdpMulticastNeighbor.access$000:(Lorg/purple/smoke/UdpMulticastNeighbor;)Ljava/net/MulticastSocket; │ │ -421da4: 5400 585e |0000: iget-object v0, v0, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ -421da8: 1100 |0002: return-object v0 │ │ +421d90: |[421d90] org.purple.smoke.UdpMulticastNeighbor.access$000:(Lorg/purple/smoke/UdpMulticastNeighbor;)Ljava/net/MulticastSocket; │ │ +421da0: 5400 585e |0000: iget-object v0, v0, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ +421da4: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=37 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/UdpMulticastNeighbor; │ │ │ │ Virtual methods - │ │ @@ -1167416,36 +1167415,36 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 38 16-bit code units │ │ -421dfc: |[421dfc] org.purple.smoke.UdpMulticastNeighbor.abort:()V │ │ -421e0c: 6e10 7dba 0500 |0000: invoke-virtual {v5}, Lorg/purple/smoke/UdpMulticastNeighbor;.disconnect:()V // method@ba7d │ │ -421e12: 6f10 fab7 0500 |0003: invoke-super {v5}, Lorg/purple/smoke/Neighbor;.abort:()V // method@b7fa │ │ -421e18: 5450 575e |0006: iget-object v0, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e57 │ │ -421e1c: 1d00 |0008: monitor-enter v0 │ │ -421e1e: 5451 575e |0009: iget-object v1, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e57 │ │ -421e22: 7210 cd60 0100 |000b: invoke-interface {v1}, Ljava/util/concurrent/ScheduledExecutorService;.shutdown:()V // method@60cd │ │ -421e28: 2803 |000e: goto 0011 // +0003 │ │ -421e2a: 0d01 |000f: move-exception v1 │ │ -421e2c: 2814 |0010: goto 0024 // +0014 │ │ -421e2e: 5451 575e |0011: iget-object v1, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e57 │ │ -421e32: 1602 0500 |0013: const-wide/16 v2, #int 5 // #5 │ │ -421e36: 6204 ee2c |0015: sget-object v4, Ljava/util/concurrent/TimeUnit;.SECONDS:Ljava/util/concurrent/TimeUnit; // field@2cee │ │ -421e3a: 7240 ca60 2143 |0017: invoke-interface {v1, v2, v3, v4}, Ljava/util/concurrent/ScheduledExecutorService;.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z // method@60ca │ │ -421e40: 0a01 |001a: move-result v1 │ │ -421e42: 3901 0700 |001b: if-nez v1, 0022 // +0007 │ │ -421e46: 5451 575e |001d: iget-object v1, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e57 │ │ -421e4a: 7210 ce60 0100 |001f: invoke-interface {v1}, Ljava/util/concurrent/ScheduledExecutorService;.shutdownNow:()Ljava/util/List; // method@60ce │ │ -421e50: 1e00 |0022: monitor-exit v0 │ │ -421e52: 0e00 |0023: return-void │ │ -421e54: 1e00 |0024: monitor-exit v0 │ │ -421e56: 2701 |0025: throw v1 │ │ +421df8: |[421df8] org.purple.smoke.UdpMulticastNeighbor.abort:()V │ │ +421e08: 6e10 7dba 0500 |0000: invoke-virtual {v5}, Lorg/purple/smoke/UdpMulticastNeighbor;.disconnect:()V // method@ba7d │ │ +421e0e: 6f10 fab7 0500 |0003: invoke-super {v5}, Lorg/purple/smoke/Neighbor;.abort:()V // method@b7fa │ │ +421e14: 5450 575e |0006: iget-object v0, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e57 │ │ +421e18: 1d00 |0008: monitor-enter v0 │ │ +421e1a: 5451 575e |0009: iget-object v1, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e57 │ │ +421e1e: 7210 cd60 0100 |000b: invoke-interface {v1}, Ljava/util/concurrent/ScheduledExecutorService;.shutdown:()V // method@60cd │ │ +421e24: 2803 |000e: goto 0011 // +0003 │ │ +421e26: 0d01 |000f: move-exception v1 │ │ +421e28: 2814 |0010: goto 0024 // +0014 │ │ +421e2a: 5451 575e |0011: iget-object v1, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e57 │ │ +421e2e: 1602 0500 |0013: const-wide/16 v2, #int 5 // #5 │ │ +421e32: 6204 ee2c |0015: sget-object v4, Ljava/util/concurrent/TimeUnit;.SECONDS:Ljava/util/concurrent/TimeUnit; // field@2cee │ │ +421e36: 7240 ca60 2143 |0017: invoke-interface {v1, v2, v3, v4}, Ljava/util/concurrent/ScheduledExecutorService;.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z // method@60ca │ │ +421e3c: 0a01 |001a: move-result v1 │ │ +421e3e: 3901 0700 |001b: if-nez v1, 0022 // +0007 │ │ +421e42: 5451 575e |001d: iget-object v1, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e57 │ │ +421e46: 7210 ce60 0100 |001f: invoke-interface {v1}, Ljava/util/concurrent/ScheduledExecutorService;.shutdownNow:()Ljava/util/List; // method@60ce │ │ +421e4c: 1e00 |0022: monitor-exit v0 │ │ +421e4e: 0e00 |0023: return-void │ │ +421e50: 1e00 |0024: monitor-exit v0 │ │ +421e52: 2701 |0025: throw v1 │ │ catches : 3 │ │ 0x0009 - 0x000e │ │ Ljava/lang/Exception; -> 0x0011 │ │ -> 0x000f │ │ 0x0011 - 0x0022 │ │ Ljava/lang/Exception; -> 0x0022 │ │ -> 0x000f │ │ @@ -1167468,78 +1167467,78 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 131 16-bit code units │ │ -421e80: |[421e80] org.purple.smoke.UdpMulticastNeighbor.connect:()V │ │ -421e90: 6e10 7cba 0400 |0000: invoke-virtual {v4}, Lorg/purple/smoke/UdpMulticastNeighbor;.connected:()Z // method@ba7c │ │ -421e96: 0a00 |0003: move-result v0 │ │ -421e98: 3800 0300 |0004: if-eqz v0, 0007 // +0003 │ │ -421e9c: 0e00 |0006: return-void │ │ -421e9e: 6e10 80ba 0400 |0007: invoke-virtual {v4}, Lorg/purple/smoke/UdpMulticastNeighbor;.isNetworkConnected:()Z // method@ba80 │ │ -421ea4: 0a00 |000a: move-result v0 │ │ -421ea6: 3900 0800 |000b: if-nez v0, 0013 // +0008 │ │ -421eaa: 1a00 fe08 |000d: const-string v0, "A network is not available." // string@08fe │ │ -421eae: 6e20 86ba 0400 |000f: invoke-virtual {v4, v0}, Lorg/purple/smoke/UdpMulticastNeighbor;.setError:(Ljava/lang/String;)V // method@ba86 │ │ -421eb4: 0e00 |0012: return-void │ │ -421eb6: 5440 4e5e |0013: iget-object v0, v4, Lorg/purple/smoke/UdpMulticastNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e4e │ │ -421eba: 1601 0000 |0015: const-wide/16 v1, #int 0 // #0 │ │ -421ebe: 6e30 e160 1002 |0017: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -421ec4: 5440 4f5e |001a: iget-object v0, v4, Lorg/purple/smoke/UdpMulticastNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e4f │ │ -421ec8: 6e30 e160 1002 |001c: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -421ece: 5440 505e |001f: iget-object v0, v4, Lorg/purple/smoke/UdpMulticastNeighbor;.m_disconnected:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e50 │ │ -421ed2: 1201 |0021: const/4 v1, #int 0 // #0 │ │ -421ed4: 6e20 d860 1000 |0022: invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -421eda: 5440 535e |0025: iget-object v0, v4, Lorg/purple/smoke/UdpMulticastNeighbor;.m_lastParsed:Ljava/util/concurrent/atomic/AtomicLong; // field@5e53 │ │ -421ede: 7100 065d 0000 |0027: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ -421ee4: 0b02 |002a: move-result-wide v2 │ │ -421ee6: 6e30 e160 2003 |002b: invoke-virtual {v0, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -421eec: 5440 545e |002e: iget-object v0, v4, Lorg/purple/smoke/UdpMulticastNeighbor;.m_lastTimeRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e54 │ │ -421ef0: 7100 0b5d 0000 |0030: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ -421ef6: 0b02 |0033: move-result-wide v2 │ │ -421ef8: 6e30 e160 2003 |0034: invoke-virtual {v0, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -421efe: 2200 0f0b |0037: new-instance v0, Ljava/net/MulticastSocket; // type@0b0f │ │ -421f02: 5442 525e |0039: iget-object v2, v4, Lorg/purple/smoke/UdpMulticastNeighbor;.m_ipPort:Ljava/util/concurrent/atomic/AtomicInteger; // field@5e52 │ │ -421f06: 6e10 da60 0200 |003b: invoke-virtual {v2}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -421f0c: 0a02 |003e: move-result v2 │ │ -421f0e: 7020 905d 2000 |003f: invoke-direct {v0, v2}, Ljava/net/MulticastSocket;.:(I)V // method@5d90 │ │ -421f14: 5b40 585e |0042: iput-object v0, v4, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ -421f18: 5442 515e |0044: iget-object v2, v4, Lorg/purple/smoke/UdpMulticastNeighbor;.m_ipAddress:Ljava/lang/String; // field@5e51 │ │ -421f1c: 7110 8b5d 0200 |0046: invoke-static {v2}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@5d8b │ │ -421f22: 0c02 |0049: move-result-object v2 │ │ -421f24: 6e20 965d 2000 |004a: invoke-virtual {v0, v2}, Ljava/net/MulticastSocket;.joinGroup:(Ljava/net/InetAddress;)V // method@5d96 │ │ -421f2a: 5440 585e |004d: iget-object v0, v4, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ -421f2e: 1212 |004f: const/4 v2, #int 1 // #1 │ │ -421f30: 6e20 9a5d 2000 |0050: invoke-virtual {v0, v2}, Ljava/net/MulticastSocket;.setLoopbackMode:(Z)V // method@5d9a │ │ -421f36: 5440 585e |0053: iget-object v0, v4, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ -421f3a: 6e20 9b5d 1000 |0055: invoke-virtual {v0, v1}, Ljava/net/MulticastSocket;.setSoTimeout:(I)V // method@5d9b │ │ -421f40: 5440 585e |0058: iget-object v0, v4, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ -421f44: 1301 ff00 |005a: const/16 v1, #int 255 // #ff │ │ -421f48: 6e20 9c5d 1000 |005c: invoke-virtual {v0, v1}, Ljava/net/MulticastSocket;.setTimeToLive:(I)V // method@5d9c │ │ -421f4e: 5440 595e |005f: iget-object v0, v4, Lorg/purple/smoke/UdpMulticastNeighbor;.m_startTime:Ljava/util/concurrent/atomic/AtomicLong; // field@5e59 │ │ -421f52: 7100 0b5d 0000 |0061: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ -421f58: 0b01 |0064: move-result-wide v1 │ │ -421f5a: 6e30 e160 1002 |0065: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -421f60: 1a00 0000 |0068: const-string v0, "" // string@0000 │ │ -421f64: 6e20 86ba 0400 |006a: invoke-virtual {v4, v0}, Lorg/purple/smoke/UdpMulticastNeighbor;.setError:(Ljava/lang/String;)V // method@ba86 │ │ -421f6a: 5440 555e |006d: iget-object v0, v4, Lorg/purple/smoke/UdpMulticastNeighbor;.m_mutex:Ljava/lang/Object; // field@5e55 │ │ -421f6e: 1d00 |006f: monitor-enter v0 │ │ -421f70: 5441 555e |0070: iget-object v1, v4, Lorg/purple/smoke/UdpMulticastNeighbor;.m_mutex:Ljava/lang/Object; // field@5e55 │ │ -421f74: 6e10 955c 0100 |0072: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@5c95 │ │ -421f7a: 1e00 |0075: monitor-exit v0 │ │ -421f7c: 280c |0076: goto 0082 // +000c │ │ -421f7e: 0d01 |0077: move-exception v1 │ │ -421f80: 1e00 |0078: monitor-exit v0 │ │ -421f82: 2701 |0079: throw v1 │ │ -421f84: 1a00 580d |007a: const-string v0, "An error occurred while attempting a connection." // string@0d58 │ │ -421f88: 6e20 86ba 0400 |007c: invoke-virtual {v4, v0}, Lorg/purple/smoke/UdpMulticastNeighbor;.setError:(Ljava/lang/String;)V // method@ba86 │ │ -421f8e: 6e10 7dba 0400 |007f: invoke-virtual {v4}, Lorg/purple/smoke/UdpMulticastNeighbor;.disconnect:()V // method@ba7d │ │ -421f94: 0e00 |0082: return-void │ │ +421e7c: |[421e7c] org.purple.smoke.UdpMulticastNeighbor.connect:()V │ │ +421e8c: 6e10 7cba 0400 |0000: invoke-virtual {v4}, Lorg/purple/smoke/UdpMulticastNeighbor;.connected:()Z // method@ba7c │ │ +421e92: 0a00 |0003: move-result v0 │ │ +421e94: 3800 0300 |0004: if-eqz v0, 0007 // +0003 │ │ +421e98: 0e00 |0006: return-void │ │ +421e9a: 6e10 80ba 0400 |0007: invoke-virtual {v4}, Lorg/purple/smoke/UdpMulticastNeighbor;.isNetworkConnected:()Z // method@ba80 │ │ +421ea0: 0a00 |000a: move-result v0 │ │ +421ea2: 3900 0800 |000b: if-nez v0, 0013 // +0008 │ │ +421ea6: 1a00 fe08 |000d: const-string v0, "A network is not available." // string@08fe │ │ +421eaa: 6e20 86ba 0400 |000f: invoke-virtual {v4, v0}, Lorg/purple/smoke/UdpMulticastNeighbor;.setError:(Ljava/lang/String;)V // method@ba86 │ │ +421eb0: 0e00 |0012: return-void │ │ +421eb2: 5440 4e5e |0013: iget-object v0, v4, Lorg/purple/smoke/UdpMulticastNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e4e │ │ +421eb6: 1601 0000 |0015: const-wide/16 v1, #int 0 // #0 │ │ +421eba: 6e30 e160 1002 |0017: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +421ec0: 5440 4f5e |001a: iget-object v0, v4, Lorg/purple/smoke/UdpMulticastNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e4f │ │ +421ec4: 6e30 e160 1002 |001c: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +421eca: 5440 505e |001f: iget-object v0, v4, Lorg/purple/smoke/UdpMulticastNeighbor;.m_disconnected:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e50 │ │ +421ece: 1201 |0021: const/4 v1, #int 0 // #0 │ │ +421ed0: 6e20 d860 1000 |0022: invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +421ed6: 5440 535e |0025: iget-object v0, v4, Lorg/purple/smoke/UdpMulticastNeighbor;.m_lastParsed:Ljava/util/concurrent/atomic/AtomicLong; // field@5e53 │ │ +421eda: 7100 065d 0000 |0027: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ +421ee0: 0b02 |002a: move-result-wide v2 │ │ +421ee2: 6e30 e160 2003 |002b: invoke-virtual {v0, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +421ee8: 5440 545e |002e: iget-object v0, v4, Lorg/purple/smoke/UdpMulticastNeighbor;.m_lastTimeRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e54 │ │ +421eec: 7100 0b5d 0000 |0030: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ +421ef2: 0b02 |0033: move-result-wide v2 │ │ +421ef4: 6e30 e160 2003 |0034: invoke-virtual {v0, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +421efa: 2200 0f0b |0037: new-instance v0, Ljava/net/MulticastSocket; // type@0b0f │ │ +421efe: 5442 525e |0039: iget-object v2, v4, Lorg/purple/smoke/UdpMulticastNeighbor;.m_ipPort:Ljava/util/concurrent/atomic/AtomicInteger; // field@5e52 │ │ +421f02: 6e10 da60 0200 |003b: invoke-virtual {v2}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +421f08: 0a02 |003e: move-result v2 │ │ +421f0a: 7020 905d 2000 |003f: invoke-direct {v0, v2}, Ljava/net/MulticastSocket;.:(I)V // method@5d90 │ │ +421f10: 5b40 585e |0042: iput-object v0, v4, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ +421f14: 5442 515e |0044: iget-object v2, v4, Lorg/purple/smoke/UdpMulticastNeighbor;.m_ipAddress:Ljava/lang/String; // field@5e51 │ │ +421f18: 7110 8b5d 0200 |0046: invoke-static {v2}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@5d8b │ │ +421f1e: 0c02 |0049: move-result-object v2 │ │ +421f20: 6e20 965d 2000 |004a: invoke-virtual {v0, v2}, Ljava/net/MulticastSocket;.joinGroup:(Ljava/net/InetAddress;)V // method@5d96 │ │ +421f26: 5440 585e |004d: iget-object v0, v4, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ +421f2a: 1212 |004f: const/4 v2, #int 1 // #1 │ │ +421f2c: 6e20 9a5d 2000 |0050: invoke-virtual {v0, v2}, Ljava/net/MulticastSocket;.setLoopbackMode:(Z)V // method@5d9a │ │ +421f32: 5440 585e |0053: iget-object v0, v4, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ +421f36: 6e20 9b5d 1000 |0055: invoke-virtual {v0, v1}, Ljava/net/MulticastSocket;.setSoTimeout:(I)V // method@5d9b │ │ +421f3c: 5440 585e |0058: iget-object v0, v4, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ +421f40: 1301 ff00 |005a: const/16 v1, #int 255 // #ff │ │ +421f44: 6e20 9c5d 1000 |005c: invoke-virtual {v0, v1}, Ljava/net/MulticastSocket;.setTimeToLive:(I)V // method@5d9c │ │ +421f4a: 5440 595e |005f: iget-object v0, v4, Lorg/purple/smoke/UdpMulticastNeighbor;.m_startTime:Ljava/util/concurrent/atomic/AtomicLong; // field@5e59 │ │ +421f4e: 7100 0b5d 0000 |0061: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ +421f54: 0b01 |0064: move-result-wide v1 │ │ +421f56: 6e30 e160 1002 |0065: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +421f5c: 1a00 0000 |0068: const-string v0, "" // string@0000 │ │ +421f60: 6e20 86ba 0400 |006a: invoke-virtual {v4, v0}, Lorg/purple/smoke/UdpMulticastNeighbor;.setError:(Ljava/lang/String;)V // method@ba86 │ │ +421f66: 5440 555e |006d: iget-object v0, v4, Lorg/purple/smoke/UdpMulticastNeighbor;.m_mutex:Ljava/lang/Object; // field@5e55 │ │ +421f6a: 1d00 |006f: monitor-enter v0 │ │ +421f6c: 5441 555e |0070: iget-object v1, v4, Lorg/purple/smoke/UdpMulticastNeighbor;.m_mutex:Ljava/lang/Object; // field@5e55 │ │ +421f70: 6e10 955c 0100 |0072: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@5c95 │ │ +421f76: 1e00 |0075: monitor-exit v0 │ │ +421f78: 280c |0076: goto 0082 // +000c │ │ +421f7a: 0d01 |0077: move-exception v1 │ │ +421f7c: 1e00 |0078: monitor-exit v0 │ │ +421f7e: 2701 |0079: throw v1 │ │ +421f80: 1a00 580d |007a: const-string v0, "An error occurred while attempting a connection." // string@0d58 │ │ +421f84: 6e20 86ba 0400 |007c: invoke-virtual {v4, v0}, Lorg/purple/smoke/UdpMulticastNeighbor;.setError:(Ljava/lang/String;)V // method@ba86 │ │ +421f8a: 6e10 7dba 0400 |007f: invoke-virtual {v4}, Lorg/purple/smoke/UdpMulticastNeighbor;.disconnect:()V // method@ba7d │ │ +421f90: 0e00 |0082: return-void │ │ catches : 3 │ │ 0x0013 - 0x0070 │ │ Ljava/lang/Exception; -> 0x007a │ │ 0x0070 - 0x0079 │ │ -> 0x0077 │ │ 0x0079 - 0x007a │ │ Ljava/lang/Exception; -> 0x007a │ │ @@ -1167572,26 +1167571,26 @@ │ │ type : '()Z' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 19 16-bit code units │ │ -421ae0: |[421ae0] org.purple.smoke.UdpMulticastNeighbor.connected:()Z │ │ -421af0: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -421af2: 6e10 80ba 0200 |0001: invoke-virtual {v2}, Lorg/purple/smoke/UdpMulticastNeighbor;.isNetworkConnected:()Z // method@ba80 │ │ -421af8: 0a01 |0004: move-result v1 │ │ -421afa: 3801 0d00 |0005: if-eqz v1, 0012 // +000d │ │ -421afe: 5421 585e |0007: iget-object v1, v2, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ -421b02: 3801 0900 |0009: if-eqz v1, 0012 // +0009 │ │ -421b06: 6e10 955d 0100 |000b: invoke-virtual {v1}, Ljava/net/MulticastSocket;.isClosed:()Z // method@5d95 │ │ -421b0c: 0a01 |000e: move-result v1 │ │ -421b0e: 3901 0300 |000f: if-nez v1, 0012 // +0003 │ │ -421b12: 1210 |0011: const/4 v0, #int 1 // #1 │ │ -421b14: 0f00 |0012: return v0 │ │ +421adc: |[421adc] org.purple.smoke.UdpMulticastNeighbor.connected:()Z │ │ +421aec: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +421aee: 6e10 80ba 0200 |0001: invoke-virtual {v2}, Lorg/purple/smoke/UdpMulticastNeighbor;.isNetworkConnected:()Z // method@ba80 │ │ +421af4: 0a01 |0004: move-result v1 │ │ +421af6: 3801 0d00 |0005: if-eqz v1, 0012 // +000d │ │ +421afa: 5421 585e |0007: iget-object v1, v2, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ +421afe: 3801 0900 |0009: if-eqz v1, 0012 // +0009 │ │ +421b02: 6e10 955d 0100 |000b: invoke-virtual {v1}, Ljava/net/MulticastSocket;.isClosed:()Z // method@5d95 │ │ +421b08: 0a01 |000e: move-result v1 │ │ +421b0a: 3901 0300 |000f: if-nez v1, 0012 // +0003 │ │ +421b0e: 1210 |0011: const/4 v0, #int 1 // #1 │ │ +421b10: 0f00 |0012: return v0 │ │ catches : 1 │ │ 0x0001 - 0x000f │ │ Ljava/lang/Exception; -> 0x0012 │ │ positions : │ │ 0x0001 line=51 │ │ 0x000b line=53 │ │ locals : │ │ @@ -1167602,52 +1167601,52 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 80 16-bit code units │ │ -421fb8: |[421fb8] org.purple.smoke.UdpMulticastNeighbor.disconnect:()V │ │ -421fc8: 6f10 07b8 0500 |0000: invoke-super {v5}, Lorg/purple/smoke/Neighbor;.disconnect:()V // method@b807 │ │ -421fce: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -421fd0: 1601 0000 |0004: const-wide/16 v1, #int 0 // #0 │ │ -421fd4: 5453 585e |0006: iget-object v3, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ -421fd8: 3803 2d00 |0008: if-eqz v3, 0035 // +002d │ │ -421fdc: 5454 515e |000a: iget-object v4, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_ipAddress:Ljava/lang/String; // field@5e51 │ │ -421fe0: 7110 8b5d 0400 |000c: invoke-static {v4}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@5d8b │ │ -421fe6: 0c04 |000f: move-result-object v4 │ │ -421fe8: 6e20 975d 4300 |0010: invoke-virtual {v3, v4}, Ljava/net/MulticastSocket;.leaveGroup:(Ljava/net/InetAddress;)V // method@5d97 │ │ -421fee: 5453 585e |0013: iget-object v3, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ -421ff2: 6e10 915d 0300 |0015: invoke-virtual {v3}, Ljava/net/MulticastSocket;.close:()V // method@5d91 │ │ -421ff8: 281d |0018: goto 0035 // +001d │ │ -421ffa: 0d03 |0019: move-exception v3 │ │ -421ffc: 5454 4e5e |001a: iget-object v4, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e4e │ │ -422000: 6e30 e160 1402 |001c: invoke-virtual {v4, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -422006: 5454 4f5e |001f: iget-object v4, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e4f │ │ -42200a: 6e30 e160 1402 |0021: invoke-virtual {v4, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -422010: 5454 535e |0024: iget-object v4, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_lastParsed:Ljava/util/concurrent/atomic/AtomicLong; // field@5e53 │ │ -422014: 6e30 e160 1402 |0026: invoke-virtual {v4, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -42201a: 5b50 585e |0029: iput-object v0, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ -42201e: 5450 595e |002b: iget-object v0, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_startTime:Ljava/util/concurrent/atomic/AtomicLong; // field@5e59 │ │ -422022: 7100 0b5d 0000 |002d: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ -422028: 0b01 |0030: move-result-wide v1 │ │ -42202a: 6e30 e160 1002 |0031: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -422030: 2703 |0034: throw v3 │ │ -422032: 5453 4e5e |0035: iget-object v3, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e4e │ │ -422036: 6e30 e160 1302 |0037: invoke-virtual {v3, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -42203c: 5453 4f5e |003a: iget-object v3, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e4f │ │ -422040: 6e30 e160 1302 |003c: invoke-virtual {v3, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -422046: 5453 535e |003f: iget-object v3, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_lastParsed:Ljava/util/concurrent/atomic/AtomicLong; // field@5e53 │ │ -42204a: 6e30 e160 1302 |0041: invoke-virtual {v3, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -422050: 5b50 585e |0044: iput-object v0, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ -422054: 5450 595e |0046: iget-object v0, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_startTime:Ljava/util/concurrent/atomic/AtomicLong; // field@5e59 │ │ -422058: 7100 0b5d 0000 |0048: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ -42205e: 0b01 |004b: move-result-wide v1 │ │ -422060: 6e30 e160 1002 |004c: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -422066: 0e00 |004f: return-void │ │ +421fb4: |[421fb4] org.purple.smoke.UdpMulticastNeighbor.disconnect:()V │ │ +421fc4: 6f10 07b8 0500 |0000: invoke-super {v5}, Lorg/purple/smoke/Neighbor;.disconnect:()V // method@b807 │ │ +421fca: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +421fcc: 1601 0000 |0004: const-wide/16 v1, #int 0 // #0 │ │ +421fd0: 5453 585e |0006: iget-object v3, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ +421fd4: 3803 2d00 |0008: if-eqz v3, 0035 // +002d │ │ +421fd8: 5454 515e |000a: iget-object v4, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_ipAddress:Ljava/lang/String; // field@5e51 │ │ +421fdc: 7110 8b5d 0400 |000c: invoke-static {v4}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@5d8b │ │ +421fe2: 0c04 |000f: move-result-object v4 │ │ +421fe4: 6e20 975d 4300 |0010: invoke-virtual {v3, v4}, Ljava/net/MulticastSocket;.leaveGroup:(Ljava/net/InetAddress;)V // method@5d97 │ │ +421fea: 5453 585e |0013: iget-object v3, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ +421fee: 6e10 915d 0300 |0015: invoke-virtual {v3}, Ljava/net/MulticastSocket;.close:()V // method@5d91 │ │ +421ff4: 281d |0018: goto 0035 // +001d │ │ +421ff6: 0d03 |0019: move-exception v3 │ │ +421ff8: 5454 4e5e |001a: iget-object v4, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e4e │ │ +421ffc: 6e30 e160 1402 |001c: invoke-virtual {v4, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +422002: 5454 4f5e |001f: iget-object v4, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e4f │ │ +422006: 6e30 e160 1402 |0021: invoke-virtual {v4, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +42200c: 5454 535e |0024: iget-object v4, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_lastParsed:Ljava/util/concurrent/atomic/AtomicLong; // field@5e53 │ │ +422010: 6e30 e160 1402 |0026: invoke-virtual {v4, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +422016: 5b50 585e |0029: iput-object v0, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ +42201a: 5450 595e |002b: iget-object v0, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_startTime:Ljava/util/concurrent/atomic/AtomicLong; // field@5e59 │ │ +42201e: 7100 0b5d 0000 |002d: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ +422024: 0b01 |0030: move-result-wide v1 │ │ +422026: 6e30 e160 1002 |0031: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +42202c: 2703 |0034: throw v3 │ │ +42202e: 5453 4e5e |0035: iget-object v3, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e4e │ │ +422032: 6e30 e160 1302 |0037: invoke-virtual {v3, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +422038: 5453 4f5e |003a: iget-object v3, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e4f │ │ +42203c: 6e30 e160 1302 |003c: invoke-virtual {v3, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +422042: 5453 535e |003f: iget-object v3, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_lastParsed:Ljava/util/concurrent/atomic/AtomicLong; // field@5e53 │ │ +422046: 6e30 e160 1302 |0041: invoke-virtual {v3, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +42204c: 5b50 585e |0044: iput-object v0, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ +422050: 5450 595e |0046: iget-object v0, v5, Lorg/purple/smoke/UdpMulticastNeighbor;.m_startTime:Ljava/util/concurrent/atomic/AtomicLong; // field@5e59 │ │ +422054: 7100 0b5d 0000 |0048: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ +42205a: 0b01 |004b: move-result-wide v1 │ │ +42205c: 6e30 e160 1002 |004c: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +422062: 0e00 |004f: return-void │ │ catches : 1 │ │ 0x0006 - 0x0018 │ │ Ljava/lang/Exception; -> 0x0035 │ │ -> 0x0019 │ │ positions : │ │ 0x0000 line=194 │ │ 0x0006 line=198 │ │ @@ -1167672,17 +1167671,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -421ca0: |[421ca0] org.purple.smoke.UdpMulticastNeighbor.getLocalIp:()Ljava/lang/String; │ │ -421cb0: 5410 515e |0000: iget-object v0, v1, Lorg/purple/smoke/UdpMulticastNeighbor;.m_ipAddress:Ljava/lang/String; // field@5e51 │ │ -421cb4: 1100 |0002: return-object v0 │ │ +421c9c: |[421c9c] org.purple.smoke.UdpMulticastNeighbor.getLocalIp:()Ljava/lang/String; │ │ +421cac: 5410 515e |0000: iget-object v0, v1, Lorg/purple/smoke/UdpMulticastNeighbor;.m_ipAddress:Ljava/lang/String; // field@5e51 │ │ +421cb0: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=44 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lorg/purple/smoke/UdpMulticastNeighbor; │ │ │ │ #5 : (in Lorg/purple/smoke/UdpMulticastNeighbor;) │ │ @@ -1167690,26 +1167689,26 @@ │ │ type : '()I' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 19 16-bit code units │ │ -421b28: |[421b28] org.purple.smoke.UdpMulticastNeighbor.getLocalPort:()I │ │ -421b38: 5410 585e |0000: iget-object v0, v1, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ -421b3c: 3800 0f00 |0002: if-eqz v0, 0011 // +000f │ │ -421b40: 6e10 955d 0000 |0004: invoke-virtual {v0}, Ljava/net/MulticastSocket;.isClosed:()Z // method@5d95 │ │ -421b46: 0a00 |0007: move-result v0 │ │ -421b48: 3900 0900 |0008: if-nez v0, 0011 // +0009 │ │ -421b4c: 5410 585e |000a: iget-object v0, v1, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ -421b50: 6e10 935d 0000 |000c: invoke-virtual {v0}, Ljava/net/MulticastSocket;.getLocalPort:()I // method@5d93 │ │ -421b56: 0a00 |000f: move-result v0 │ │ -421b58: 0f00 |0010: return v0 │ │ -421b5a: 1200 |0011: const/4 v0, #int 0 // #0 │ │ -421b5c: 0f00 |0012: return v0 │ │ +421b24: |[421b24] org.purple.smoke.UdpMulticastNeighbor.getLocalPort:()I │ │ +421b34: 5410 585e |0000: iget-object v0, v1, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ +421b38: 3800 0f00 |0002: if-eqz v0, 0011 // +000f │ │ +421b3c: 6e10 955d 0000 |0004: invoke-virtual {v0}, Ljava/net/MulticastSocket;.isClosed:()Z // method@5d95 │ │ +421b42: 0a00 |0007: move-result v0 │ │ +421b44: 3900 0900 |0008: if-nez v0, 0011 // +0009 │ │ +421b48: 5410 585e |000a: iget-object v0, v1, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ +421b4c: 6e10 935d 0000 |000c: invoke-virtual {v0}, Ljava/net/MulticastSocket;.getLocalPort:()I // method@5d93 │ │ +421b52: 0a00 |000f: move-result v0 │ │ +421b54: 0f00 |0010: return v0 │ │ +421b56: 1200 |0011: const/4 v0, #int 0 // #0 │ │ +421b58: 0f00 |0012: return v0 │ │ catches : 1 │ │ 0x0000 - 0x0010 │ │ Ljava/lang/Exception; -> 0x0011 │ │ positions : │ │ 0x0000 line=65 │ │ 0x000a line=66 │ │ locals : │ │ @@ -1167720,36 +1167719,36 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 38 16-bit code units │ │ -421cb8: |[421cb8] org.purple.smoke.UdpMulticastNeighbor.remoteIpAddress:()Ljava/lang/String; │ │ -421cc8: 5420 585e |0000: iget-object v0, v2, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ -421ccc: 3800 1400 |0002: if-eqz v0, 0016 // +0014 │ │ -421cd0: 6e10 925d 0000 |0004: invoke-virtual {v0}, Ljava/net/MulticastSocket;.getInetAddress:()Ljava/net/InetAddress; // method@5d92 │ │ -421cd6: 0c00 |0007: move-result-object v0 │ │ -421cd8: 3800 0e00 |0008: if-eqz v0, 0016 // +000e │ │ -421cdc: 5420 585e |000a: iget-object v0, v2, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ -421ce0: 6e10 925d 0000 |000c: invoke-virtual {v0}, Ljava/net/MulticastSocket;.getInetAddress:()Ljava/net/InetAddress; // method@5d92 │ │ -421ce6: 0c00 |000f: move-result-object v0 │ │ -421ce8: 6e10 8c5d 0000 |0010: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@5d8c │ │ -421cee: 0c00 |0013: move-result-object v0 │ │ -421cf0: 1100 |0014: return-object v0 │ │ -421cf2: 0000 |0015: nop // spacer │ │ -421cf4: 5420 5b5e |0016: iget-object v0, v2, Lorg/purple/smoke/UdpMulticastNeighbor;.m_version:Ljava/lang/String; // field@5e5b │ │ -421cf8: 1a01 681d |0018: const-string v1, "IPv4" // string@1d68 │ │ -421cfc: 6e20 b85c 1000 |001a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -421d02: 0a00 |001d: move-result v0 │ │ -421d04: 3800 0500 |001e: if-eqz v0, 0023 // +0005 │ │ -421d08: 1a00 c204 |0020: const-string v0, "0.0.0.0" // string@04c2 │ │ -421d0c: 1100 |0022: return-object v0 │ │ -421d0e: 1a00 8508 |0023: const-string v0, "::" // string@0885 │ │ -421d12: 1100 |0025: return-object v0 │ │ +421cb4: |[421cb4] org.purple.smoke.UdpMulticastNeighbor.remoteIpAddress:()Ljava/lang/String; │ │ +421cc4: 5420 585e |0000: iget-object v0, v2, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ +421cc8: 3800 1400 |0002: if-eqz v0, 0016 // +0014 │ │ +421ccc: 6e10 925d 0000 |0004: invoke-virtual {v0}, Ljava/net/MulticastSocket;.getInetAddress:()Ljava/net/InetAddress; // method@5d92 │ │ +421cd2: 0c00 |0007: move-result-object v0 │ │ +421cd4: 3800 0e00 |0008: if-eqz v0, 0016 // +000e │ │ +421cd8: 5420 585e |000a: iget-object v0, v2, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ +421cdc: 6e10 925d 0000 |000c: invoke-virtual {v0}, Ljava/net/MulticastSocket;.getInetAddress:()Ljava/net/InetAddress; // method@5d92 │ │ +421ce2: 0c00 |000f: move-result-object v0 │ │ +421ce4: 6e10 8c5d 0000 |0010: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@5d8c │ │ +421cea: 0c00 |0013: move-result-object v0 │ │ +421cec: 1100 |0014: return-object v0 │ │ +421cee: 0000 |0015: nop // spacer │ │ +421cf0: 5420 5b5e |0016: iget-object v0, v2, Lorg/purple/smoke/UdpMulticastNeighbor;.m_version:Ljava/lang/String; // field@5e5b │ │ +421cf4: 1a01 681d |0018: const-string v1, "IPv4" // string@1d68 │ │ +421cf8: 6e20 b85c 1000 |001a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +421cfe: 0a00 |001d: move-result v0 │ │ +421d00: 3800 0500 |001e: if-eqz v0, 0023 // +0005 │ │ +421d04: 1a00 c204 |0020: const-string v0, "0.0.0.0" // string@04c2 │ │ +421d08: 1100 |0022: return-object v0 │ │ +421d0a: 1a00 8508 |0023: const-string v0, "::" // string@0885 │ │ +421d0e: 1100 |0025: return-object v0 │ │ catches : 1 │ │ 0x0000 - 0x0014 │ │ Ljava/lang/Exception; -> 0x0015 │ │ positions : │ │ 0x0000 line=332 │ │ 0x000a line=333 │ │ 0x0016 line=339 │ │ @@ -1167761,24 +1167760,24 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 16 16-bit code units │ │ -421d24: |[421d24] org.purple.smoke.UdpMulticastNeighbor.remotePort:()Ljava/lang/String; │ │ -421d34: 5410 585e |0000: iget-object v0, v1, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ -421d38: 3800 0b00 |0002: if-eqz v0, 000d // +000b │ │ -421d3c: 6e10 945d 0000 |0004: invoke-virtual {v0}, Ljava/net/MulticastSocket;.getPort:()I // method@5d94 │ │ -421d42: 0a00 |0007: move-result v0 │ │ -421d44: 7110 d55c 0000 |0008: invoke-static {v0}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ -421d4a: 0c00 |000b: move-result-object v0 │ │ -421d4c: 1100 |000c: return-object v0 │ │ -421d4e: 1a00 bf04 |000d: const-string v0, "0" // string@04bf │ │ -421d52: 1100 |000f: return-object v0 │ │ +421d20: |[421d20] org.purple.smoke.UdpMulticastNeighbor.remotePort:()Ljava/lang/String; │ │ +421d30: 5410 585e |0000: iget-object v0, v1, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ +421d34: 3800 0b00 |0002: if-eqz v0, 000d // +000b │ │ +421d38: 6e10 945d 0000 |0004: invoke-virtual {v0}, Ljava/net/MulticastSocket;.getPort:()I // method@5d94 │ │ +421d3e: 0a00 |0007: move-result v0 │ │ +421d40: 7110 d55c 0000 |0008: invoke-static {v0}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ +421d46: 0c00 |000b: move-result-object v0 │ │ +421d48: 1100 |000c: return-object v0 │ │ +421d4a: 1a00 bf04 |000d: const-string v0, "0" // string@04bf │ │ +421d4e: 1100 |000f: return-object v0 │ │ catches : 1 │ │ 0x0000 - 0x000c │ │ Ljava/lang/Exception; -> 0x000d │ │ positions : │ │ 0x0000 line=349 │ │ 0x0004 line=350 │ │ locals : │ │ @@ -1167789,46 +1167788,46 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -421d64: |[421d64] org.purple.smoke.UdpMulticastNeighbor.remoteScopeId:()Ljava/lang/String; │ │ -421d74: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ -421d78: 1100 |0002: return-object v0 │ │ +421d60: |[421d60] org.purple.smoke.UdpMulticastNeighbor.remoteScopeId:()Ljava/lang/String; │ │ +421d70: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ +421d74: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #9 : (in Lorg/purple/smoke/UdpMulticastNeighbor;) │ │ name : 'send' │ │ type : '(Ljava/lang/String;)I' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 26 16-bit code units │ │ -421c5c: |[421c5c] org.purple.smoke.UdpMulticastNeighbor.send:(Ljava/lang/String;)I │ │ -421c6c: 6e10 7cba 0100 |0000: invoke-virtual {v1}, Lorg/purple/smoke/UdpMulticastNeighbor;.connected:()Z // method@ba7c │ │ -421c72: 0a00 |0003: move-result v0 │ │ -421c74: 3800 1400 |0004: if-eqz v0, 0018 // +0014 │ │ -421c78: 3802 1200 |0006: if-eqz v2, 0018 // +0012 │ │ -421c7c: 6e10 c55c 0200 |0008: invoke-virtual {v2}, Ljava/lang/String;.length:()I // method@5cc5 │ │ -421c82: 0a00 |000b: move-result v0 │ │ -421c84: 3900 0300 |000c: if-nez v0, 000f // +0003 │ │ -421c88: 280a |000e: goto 0018 // +000a │ │ -421c8a: 6e10 bc5c 0200 |000f: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -421c90: 0c02 |0012: move-result-object v2 │ │ -421c92: 6e20 85ba 2100 |0013: invoke-virtual {v1, v2}, Lorg/purple/smoke/UdpMulticastNeighbor;.send:([B)I // method@ba85 │ │ -421c98: 0a02 |0016: move-result v2 │ │ -421c9a: 0f02 |0017: return v2 │ │ -421c9c: 1202 |0018: const/4 v2, #int 0 // #0 │ │ -421c9e: 0f02 |0019: return v2 │ │ +421c58: |[421c58] org.purple.smoke.UdpMulticastNeighbor.send:(Ljava/lang/String;)I │ │ +421c68: 6e10 7cba 0100 |0000: invoke-virtual {v1}, Lorg/purple/smoke/UdpMulticastNeighbor;.connected:()Z // method@ba7c │ │ +421c6e: 0a00 |0003: move-result v0 │ │ +421c70: 3800 1400 |0004: if-eqz v0, 0018 // +0014 │ │ +421c74: 3802 1200 |0006: if-eqz v2, 0018 // +0012 │ │ +421c78: 6e10 c55c 0200 |0008: invoke-virtual {v2}, Ljava/lang/String;.length:()I // method@5cc5 │ │ +421c7e: 0a00 |000b: move-result v0 │ │ +421c80: 3900 0300 |000c: if-nez v0, 000f // +0003 │ │ +421c84: 280a |000e: goto 0018 // +000a │ │ +421c86: 6e10 bc5c 0200 |000f: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +421c8c: 0c02 |0012: move-result-object v2 │ │ +421c8e: 6e20 85ba 2100 |0013: invoke-virtual {v1, v2}, Lorg/purple/smoke/UdpMulticastNeighbor;.send:([B)I // method@ba85 │ │ +421c94: 0a02 |0016: move-result v2 │ │ +421c96: 0f02 |0017: return v2 │ │ +421c98: 1202 |0018: const/4 v2, #int 0 // #0 │ │ +421c9a: 0f02 |0019: return v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=77 │ │ 0x000f line=80 │ │ locals : │ │ 0x0000 - 0x001a reg=1 this Lorg/purple/smoke/UdpMulticastNeighbor; │ │ 0x0000 - 0x001a reg=2 (null) Ljava/lang/String; │ │ @@ -1167838,66 +1167837,66 @@ │ │ type : '([B)I' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 10 │ │ ins : 2 │ │ outs : 5 │ │ insns size : 101 16-bit code units │ │ -421b70: |[421b70] org.purple.smoke.UdpMulticastNeighbor.send:([B)I │ │ -421b80: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -421b82: 3809 6300 |0001: if-eqz v9, 0064 // +0063 │ │ -421b86: 2191 |0003: array-length v1, v9 │ │ -421b88: 3801 6000 |0004: if-eqz v1, 0064 // +0060 │ │ -421b8c: 6e10 7cba 0800 |0006: invoke-virtual {v8}, Lorg/purple/smoke/UdpMulticastNeighbor;.connected:()Z // method@ba7c │ │ -421b92: 0a01 |0009: move-result v1 │ │ -421b94: 3901 0300 |000a: if-nez v1, 000d // +0003 │ │ -421b98: 2858 |000c: goto 0064 // +0058 │ │ -421b9a: 5481 585e |000d: iget-object v1, v8, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ -421b9e: 3901 0300 |000f: if-nez v1, 0012 // +0003 │ │ -421ba2: 0f00 |0011: return v0 │ │ -421ba4: 2201 a50a |0012: new-instance v1, Ljava/io/ByteArrayInputStream; // type@0aa5 │ │ -421ba8: 7020 6b5b 9100 |0014: invoke-direct {v1, v9}, Ljava/io/ByteArrayInputStream;.:([B)V // method@5b6b │ │ -421bae: 6e10 6d5b 0100 |0017: invoke-virtual {v1}, Ljava/io/ByteArrayInputStream;.available:()I // method@5b6d │ │ -421bb4: 0a02 |001a: move-result v2 │ │ -421bb6: 3d02 3200 |001b: if-lez v2, 004d // +0032 │ │ -421bba: 5482 505e |001d: iget-object v2, v8, Lorg/purple/smoke/UdpMulticastNeighbor;.m_disconnected:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e50 │ │ -421bbe: 6e10 d660 0200 |001f: invoke-virtual {v2}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ -421bc4: 0a02 |0022: move-result v2 │ │ -421bc6: 3802 0300 |0023: if-eqz v2, 0026 // +0003 │ │ -421bca: 2828 |0025: goto 004d // +0028 │ │ -421bcc: 1302 4002 |0026: const/16 v2, #int 576 // #240 │ │ -421bd0: 6e10 6d5b 0100 |0028: invoke-virtual {v1}, Ljava/io/ByteArrayInputStream;.available:()I // method@5b6d │ │ -421bd6: 0a03 |002b: move-result v3 │ │ -421bd8: 7120 825c 3200 |002c: invoke-static {v2, v3}, Ljava/lang/Math;.min:(II)I // method@5c82 │ │ -421bde: 0a02 |002f: move-result v2 │ │ -421be0: 2323 ba1a |0030: new-array v3, v2, [B // type@1aba │ │ -421be4: 6e20 705b 3100 |0032: invoke-virtual {v1, v3}, Ljava/io/ByteArrayInputStream;.read:([B)I // method@5b70 │ │ -421bea: 5484 585e |0035: iget-object v4, v8, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ -421bee: 2205 090b |0037: new-instance v5, Ljava/net/DatagramPacket; // type@0b09 │ │ -421bf2: 5486 515e |0039: iget-object v6, v8, Lorg/purple/smoke/UdpMulticastNeighbor;.m_ipAddress:Ljava/lang/String; // field@5e51 │ │ -421bf6: 7110 8b5d 0600 |003b: invoke-static {v6}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@5d8b │ │ -421bfc: 0c06 |003e: move-result-object v6 │ │ -421bfe: 5487 525e |003f: iget-object v7, v8, Lorg/purple/smoke/UdpMulticastNeighbor;.m_ipPort:Ljava/util/concurrent/atomic/AtomicInteger; // field@5e52 │ │ -421c02: 6e10 da60 0700 |0041: invoke-virtual {v7}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -421c08: 0a07 |0044: move-result v7 │ │ -421c0a: 7057 6d5d 3562 |0045: invoke-direct {v5, v3, v2, v6, v7}, Ljava/net/DatagramPacket;.:([BILjava/net/InetAddress;I)V // method@5d6d │ │ -421c10: 6e20 995d 5400 |0048: invoke-virtual {v4, v5}, Ljava/net/MulticastSocket;.send:(Ljava/net/DatagramPacket;)V // method@5d99 │ │ -421c16: b020 |004b: add-int/2addr v0, v2 │ │ -421c18: 28cb |004c: goto 0017 // -0035 │ │ -421c1a: 7110 1ab7 0900 |004d: invoke-static {v9}, Lorg/purple/smoke/Kernel;.writeCongestionDigest:([B)V // method@b71a │ │ -421c20: 5489 4f5e |0050: iget-object v9, v8, Lorg/purple/smoke/UdpMulticastNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e4f │ │ -421c24: 8101 |0052: int-to-long v1, v0 │ │ -421c26: 6e30 e060 1902 |0053: invoke-virtual {v9, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.getAndAdd:(J)J // method@60e0 │ │ -421c2c: 1a09 0000 |0056: const-string v9, "" // string@0000 │ │ -421c30: 6e20 86ba 9800 |0058: invoke-virtual {v8, v9}, Lorg/purple/smoke/UdpMulticastNeighbor;.setError:(Ljava/lang/String;)V // method@ba86 │ │ -421c36: 2809 |005b: goto 0064 // +0009 │ │ -421c38: 1a09 0309 |005c: const-string v9, "A socket error occurred on send()." // string@0903 │ │ -421c3c: 6e20 86ba 9800 |005e: invoke-virtual {v8, v9}, Lorg/purple/smoke/UdpMulticastNeighbor;.setError:(Ljava/lang/String;)V // method@ba86 │ │ -421c42: 6e10 7dba 0800 |0061: invoke-virtual {v8}, Lorg/purple/smoke/UdpMulticastNeighbor;.disconnect:()V // method@ba7d │ │ -421c48: 0f00 |0064: return v0 │ │ +421b6c: |[421b6c] org.purple.smoke.UdpMulticastNeighbor.send:([B)I │ │ +421b7c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +421b7e: 3809 6300 |0001: if-eqz v9, 0064 // +0063 │ │ +421b82: 2191 |0003: array-length v1, v9 │ │ +421b84: 3801 6000 |0004: if-eqz v1, 0064 // +0060 │ │ +421b88: 6e10 7cba 0800 |0006: invoke-virtual {v8}, Lorg/purple/smoke/UdpMulticastNeighbor;.connected:()Z // method@ba7c │ │ +421b8e: 0a01 |0009: move-result v1 │ │ +421b90: 3901 0300 |000a: if-nez v1, 000d // +0003 │ │ +421b94: 2858 |000c: goto 0064 // +0058 │ │ +421b96: 5481 585e |000d: iget-object v1, v8, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ +421b9a: 3901 0300 |000f: if-nez v1, 0012 // +0003 │ │ +421b9e: 0f00 |0011: return v0 │ │ +421ba0: 2201 a50a |0012: new-instance v1, Ljava/io/ByteArrayInputStream; // type@0aa5 │ │ +421ba4: 7020 6b5b 9100 |0014: invoke-direct {v1, v9}, Ljava/io/ByteArrayInputStream;.:([B)V // method@5b6b │ │ +421baa: 6e10 6d5b 0100 |0017: invoke-virtual {v1}, Ljava/io/ByteArrayInputStream;.available:()I // method@5b6d │ │ +421bb0: 0a02 |001a: move-result v2 │ │ +421bb2: 3d02 3200 |001b: if-lez v2, 004d // +0032 │ │ +421bb6: 5482 505e |001d: iget-object v2, v8, Lorg/purple/smoke/UdpMulticastNeighbor;.m_disconnected:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e50 │ │ +421bba: 6e10 d660 0200 |001f: invoke-virtual {v2}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ +421bc0: 0a02 |0022: move-result v2 │ │ +421bc2: 3802 0300 |0023: if-eqz v2, 0026 // +0003 │ │ +421bc6: 2828 |0025: goto 004d // +0028 │ │ +421bc8: 1302 4002 |0026: const/16 v2, #int 576 // #240 │ │ +421bcc: 6e10 6d5b 0100 |0028: invoke-virtual {v1}, Ljava/io/ByteArrayInputStream;.available:()I // method@5b6d │ │ +421bd2: 0a03 |002b: move-result v3 │ │ +421bd4: 7120 825c 3200 |002c: invoke-static {v2, v3}, Ljava/lang/Math;.min:(II)I // method@5c82 │ │ +421bda: 0a02 |002f: move-result v2 │ │ +421bdc: 2323 ba1a |0030: new-array v3, v2, [B // type@1aba │ │ +421be0: 6e20 705b 3100 |0032: invoke-virtual {v1, v3}, Ljava/io/ByteArrayInputStream;.read:([B)I // method@5b70 │ │ +421be6: 5484 585e |0035: iget-object v4, v8, Lorg/purple/smoke/UdpMulticastNeighbor;.m_socket:Ljava/net/MulticastSocket; // field@5e58 │ │ +421bea: 2205 090b |0037: new-instance v5, Ljava/net/DatagramPacket; // type@0b09 │ │ +421bee: 5486 515e |0039: iget-object v6, v8, Lorg/purple/smoke/UdpMulticastNeighbor;.m_ipAddress:Ljava/lang/String; // field@5e51 │ │ +421bf2: 7110 8b5d 0600 |003b: invoke-static {v6}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@5d8b │ │ +421bf8: 0c06 |003e: move-result-object v6 │ │ +421bfa: 5487 525e |003f: iget-object v7, v8, Lorg/purple/smoke/UdpMulticastNeighbor;.m_ipPort:Ljava/util/concurrent/atomic/AtomicInteger; // field@5e52 │ │ +421bfe: 6e10 da60 0700 |0041: invoke-virtual {v7}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +421c04: 0a07 |0044: move-result v7 │ │ +421c06: 7057 6d5d 3562 |0045: invoke-direct {v5, v3, v2, v6, v7}, Ljava/net/DatagramPacket;.:([BILjava/net/InetAddress;I)V // method@5d6d │ │ +421c0c: 6e20 995d 5400 |0048: invoke-virtual {v4, v5}, Ljava/net/MulticastSocket;.send:(Ljava/net/DatagramPacket;)V // method@5d99 │ │ +421c12: b020 |004b: add-int/2addr v0, v2 │ │ +421c14: 28cb |004c: goto 0017 // -0035 │ │ +421c16: 7110 1ab7 0900 |004d: invoke-static {v9}, Lorg/purple/smoke/Kernel;.writeCongestionDigest:([B)V // method@b71a │ │ +421c1c: 5489 4f5e |0050: iget-object v9, v8, Lorg/purple/smoke/UdpMulticastNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e4f │ │ +421c20: 8101 |0052: int-to-long v1, v0 │ │ +421c22: 6e30 e060 1902 |0053: invoke-virtual {v9, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.getAndAdd:(J)J // method@60e0 │ │ +421c28: 1a09 0000 |0056: const-string v9, "" // string@0000 │ │ +421c2c: 6e20 86ba 9800 |0058: invoke-virtual {v8, v9}, Lorg/purple/smoke/UdpMulticastNeighbor;.setError:(Ljava/lang/String;)V // method@ba86 │ │ +421c32: 2809 |005b: goto 0064 // +0009 │ │ +421c34: 1a09 0309 |005c: const-string v9, "A socket error occurred on send()." // string@0903 │ │ +421c38: 6e20 86ba 9800 |005e: invoke-virtual {v8, v9}, Lorg/purple/smoke/UdpMulticastNeighbor;.setError:(Ljava/lang/String;)V // method@ba86 │ │ +421c3e: 6e10 7dba 0800 |0061: invoke-virtual {v8}, Lorg/purple/smoke/UdpMulticastNeighbor;.disconnect:()V // method@ba7d │ │ +421c44: 0f00 |0064: return v0 │ │ catches : 1 │ │ 0x000d - 0x005b │ │ Ljava/lang/Exception; -> 0x005c │ │ positions : │ │ 0x0003 line=87 │ │ 0x000d line=92 │ │ 0x0012 line=95 │ │ @@ -1167923,17 +1167922,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -421d7c: |[421d7c] org.purple.smoke.UdpMulticastNeighbor.transport:()Ljava/lang/String; │ │ -421d8c: 1a00 d24e |0000: const-string v0, "UDP" // string@4ed2 │ │ -421d90: 1100 |0002: return-object v0 │ │ +421d78: |[421d78] org.purple.smoke.UdpMulticastNeighbor.transport:()Ljava/lang/String; │ │ +421d88: 1a00 d24e |0000: const-string v0, "UDP" // string@4ed2 │ │ +421d8c: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ source_file_idx : 20240 (UdpMulticastNeighbor.java) │ │ │ │ Class #4273 header: │ │ @@ -1167963,34 +1167962,34 @@ │ │ type : '(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 15 │ │ ins : 7 │ │ outs : 8 │ │ insns size : 32 16-bit code units │ │ -42268c: |[42268c] org.purple.smoke.UdpNeighbor.:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V │ │ -42269c: 1a05 d24e |0000: const-string v5, "UDP" // string@4ed2 │ │ -4226a0: 0780 |0002: move-object v0, v8 │ │ -4226a2: 0791 |0003: move-object v1, v9 │ │ -4226a4: 07a2 |0004: move-object v2, v10 │ │ -4226a6: 07b3 |0005: move-object v3, v11 │ │ -4226a8: 07c4 |0006: move-object v4, v12 │ │ -4226aa: 07d6 |0007: move-object v6, v13 │ │ -4226ac: 01e7 |0008: move v7, v14 │ │ -4226ae: 7608 f9b7 0000 |0009: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7}, Lorg/purple/smoke/Neighbor;.:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V // method@b7f9 │ │ -4226b4: 1209 |000c: const/4 v9, #int 0 // #0 │ │ -4226b6: 5b89 685e |000d: iput-object v9, v8, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ -4226ba: 5480 675e |000f: iget-object v0, v8, Lorg/purple/smoke/UdpNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e67 │ │ -4226be: 2201 b11a |0011: new-instance v1, Lorg/purple/smoke/UdpNeighbor$1; // type@1ab1 │ │ -4226c2: 7020 88ba 8100 |0013: invoke-direct {v1, v8}, Lorg/purple/smoke/UdpNeighbor$1;.:(Lorg/purple/smoke/UdpNeighbor;)V // method@ba88 │ │ -4226c8: 6206 eb2c |0016: sget-object v6, Ljava/util/concurrent/TimeUnit;.MILLISECONDS:Ljava/util/concurrent/TimeUnit; // field@2ceb │ │ -4226cc: 1602 0000 |0018: const-wide/16 v2, #int 0 // #0 │ │ -4226d0: 1604 6400 |001a: const-wide/16 v4, #int 100 // #64 │ │ -4226d4: 7807 cc60 0000 |001c: invoke-interface/range {v0, v1, v2, v3, v4, v5, v6}, Ljava/util/concurrent/ScheduledExecutorService;.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; // method@60cc │ │ -4226da: 0e00 |001f: return-void │ │ +422688: |[422688] org.purple.smoke.UdpNeighbor.:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V │ │ +422698: 1a05 d24e |0000: const-string v5, "UDP" // string@4ed2 │ │ +42269c: 0780 |0002: move-object v0, v8 │ │ +42269e: 0791 |0003: move-object v1, v9 │ │ +4226a0: 07a2 |0004: move-object v2, v10 │ │ +4226a2: 07b3 |0005: move-object v3, v11 │ │ +4226a4: 07c4 |0006: move-object v4, v12 │ │ +4226a6: 07d6 |0007: move-object v6, v13 │ │ +4226a8: 01e7 |0008: move v7, v14 │ │ +4226aa: 7608 f9b7 0000 |0009: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7}, Lorg/purple/smoke/Neighbor;.:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V // method@b7f9 │ │ +4226b0: 1209 |000c: const/4 v9, #int 0 // #0 │ │ +4226b2: 5b89 685e |000d: iput-object v9, v8, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ +4226b6: 5480 675e |000f: iget-object v0, v8, Lorg/purple/smoke/UdpNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e67 │ │ +4226ba: 2201 b11a |0011: new-instance v1, Lorg/purple/smoke/UdpNeighbor$1; // type@1ab1 │ │ +4226be: 7020 88ba 8100 |0013: invoke-direct {v1, v8}, Lorg/purple/smoke/UdpNeighbor$1;.:(Lorg/purple/smoke/UdpNeighbor;)V // method@ba88 │ │ +4226c4: 6206 eb2c |0016: sget-object v6, Ljava/util/concurrent/TimeUnit;.MILLISECONDS:Ljava/util/concurrent/TimeUnit; // field@2ceb │ │ +4226c8: 1602 0000 |0018: const-wide/16 v2, #int 0 // #0 │ │ +4226cc: 1604 6400 |001a: const-wide/16 v4, #int 100 // #64 │ │ +4226d0: 7807 cc60 0000 |001c: invoke-interface/range {v0, v1, v2, v3, v4, v5, v6}, Ljava/util/concurrent/ScheduledExecutorService;.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; // method@60cc │ │ +4226d6: 0e00 |001f: return-void │ │ catches : (none) │ │ positions : │ │ 0x0009 line=231 │ │ 0x000d line=39 │ │ 0x000f line=232 │ │ locals : │ │ 0x0000 - 0x0020 reg=8 this Lorg/purple/smoke/UdpNeighbor; │ │ @@ -1168006,17 +1168005,17 @@ │ │ type : '(Lorg/purple/smoke/UdpNeighbor;)Ljava/net/DatagramSocket;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -422674: |[422674] org.purple.smoke.UdpNeighbor.access$000:(Lorg/purple/smoke/UdpNeighbor;)Ljava/net/DatagramSocket; │ │ -422684: 5400 685e |0000: iget-object v0, v0, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ -422688: 1100 |0002: return-object v0 │ │ +422670: |[422670] org.purple.smoke.UdpNeighbor.access$000:(Lorg/purple/smoke/UdpNeighbor;)Ljava/net/DatagramSocket; │ │ +422680: 5400 685e |0000: iget-object v0, v0, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ +422684: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=37 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/UdpNeighbor; │ │ │ │ Virtual methods - │ │ @@ -1168025,36 +1168024,36 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 38 16-bit code units │ │ -4226dc: |[4226dc] org.purple.smoke.UdpNeighbor.abort:()V │ │ -4226ec: 6e10 8fba 0500 |0000: invoke-virtual {v5}, Lorg/purple/smoke/UdpNeighbor;.disconnect:()V // method@ba8f │ │ -4226f2: 6f10 fab7 0500 |0003: invoke-super {v5}, Lorg/purple/smoke/Neighbor;.abort:()V // method@b7fa │ │ -4226f8: 5450 675e |0006: iget-object v0, v5, Lorg/purple/smoke/UdpNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e67 │ │ -4226fc: 1d00 |0008: monitor-enter v0 │ │ -4226fe: 5451 675e |0009: iget-object v1, v5, Lorg/purple/smoke/UdpNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e67 │ │ -422702: 7210 cd60 0100 |000b: invoke-interface {v1}, Ljava/util/concurrent/ScheduledExecutorService;.shutdown:()V // method@60cd │ │ -422708: 2803 |000e: goto 0011 // +0003 │ │ -42270a: 0d01 |000f: move-exception v1 │ │ -42270c: 2814 |0010: goto 0024 // +0014 │ │ -42270e: 5451 675e |0011: iget-object v1, v5, Lorg/purple/smoke/UdpNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e67 │ │ -422712: 1602 0500 |0013: const-wide/16 v2, #int 5 // #5 │ │ -422716: 6204 ee2c |0015: sget-object v4, Ljava/util/concurrent/TimeUnit;.SECONDS:Ljava/util/concurrent/TimeUnit; // field@2cee │ │ -42271a: 7240 ca60 2143 |0017: invoke-interface {v1, v2, v3, v4}, Ljava/util/concurrent/ScheduledExecutorService;.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z // method@60ca │ │ -422720: 0a01 |001a: move-result v1 │ │ -422722: 3901 0700 |001b: if-nez v1, 0022 // +0007 │ │ -422726: 5451 675e |001d: iget-object v1, v5, Lorg/purple/smoke/UdpNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e67 │ │ -42272a: 7210 ce60 0100 |001f: invoke-interface {v1}, Ljava/util/concurrent/ScheduledExecutorService;.shutdownNow:()Ljava/util/List; // method@60ce │ │ -422730: 1e00 |0022: monitor-exit v0 │ │ -422732: 0e00 |0023: return-void │ │ -422734: 1e00 |0024: monitor-exit v0 │ │ -422736: 2701 |0025: throw v1 │ │ +4226d8: |[4226d8] org.purple.smoke.UdpNeighbor.abort:()V │ │ +4226e8: 6e10 8fba 0500 |0000: invoke-virtual {v5}, Lorg/purple/smoke/UdpNeighbor;.disconnect:()V // method@ba8f │ │ +4226ee: 6f10 fab7 0500 |0003: invoke-super {v5}, Lorg/purple/smoke/Neighbor;.abort:()V // method@b7fa │ │ +4226f4: 5450 675e |0006: iget-object v0, v5, Lorg/purple/smoke/UdpNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e67 │ │ +4226f8: 1d00 |0008: monitor-enter v0 │ │ +4226fa: 5451 675e |0009: iget-object v1, v5, Lorg/purple/smoke/UdpNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e67 │ │ +4226fe: 7210 cd60 0100 |000b: invoke-interface {v1}, Ljava/util/concurrent/ScheduledExecutorService;.shutdown:()V // method@60cd │ │ +422704: 2803 |000e: goto 0011 // +0003 │ │ +422706: 0d01 |000f: move-exception v1 │ │ +422708: 2814 |0010: goto 0024 // +0014 │ │ +42270a: 5451 675e |0011: iget-object v1, v5, Lorg/purple/smoke/UdpNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e67 │ │ +42270e: 1602 0500 |0013: const-wide/16 v2, #int 5 // #5 │ │ +422712: 6204 ee2c |0015: sget-object v4, Ljava/util/concurrent/TimeUnit;.SECONDS:Ljava/util/concurrent/TimeUnit; // field@2cee │ │ +422716: 7240 ca60 2143 |0017: invoke-interface {v1, v2, v3, v4}, Ljava/util/concurrent/ScheduledExecutorService;.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z // method@60ca │ │ +42271c: 0a01 |001a: move-result v1 │ │ +42271e: 3901 0700 |001b: if-nez v1, 0022 // +0007 │ │ +422722: 5451 675e |001d: iget-object v1, v5, Lorg/purple/smoke/UdpNeighbor;.m_readSocketScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5e67 │ │ +422726: 7210 ce60 0100 |001f: invoke-interface {v1}, Ljava/util/concurrent/ScheduledExecutorService;.shutdownNow:()Ljava/util/List; // method@60ce │ │ +42272c: 1e00 |0022: monitor-exit v0 │ │ +42272e: 0e00 |0023: return-void │ │ +422730: 1e00 |0024: monitor-exit v0 │ │ +422732: 2701 |0025: throw v1 │ │ catches : 3 │ │ 0x0009 - 0x000e │ │ Ljava/lang/Exception; -> 0x0011 │ │ -> 0x000f │ │ 0x0011 - 0x0022 │ │ Ljava/lang/Exception; -> 0x0022 │ │ -> 0x000f │ │ @@ -1168077,72 +1168076,72 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 118 16-bit code units │ │ -422760: |[422760] org.purple.smoke.UdpNeighbor.connect:()V │ │ -422770: 6e10 8eba 0400 |0000: invoke-virtual {v4}, Lorg/purple/smoke/UdpNeighbor;.connected:()Z // method@ba8e │ │ -422776: 0a00 |0003: move-result v0 │ │ -422778: 3800 0300 |0004: if-eqz v0, 0007 // +0003 │ │ -42277c: 0e00 |0006: return-void │ │ -42277e: 6e10 92ba 0400 |0007: invoke-virtual {v4}, Lorg/purple/smoke/UdpNeighbor;.isNetworkConnected:()Z // method@ba92 │ │ -422784: 0a00 |000a: move-result v0 │ │ -422786: 3900 0800 |000b: if-nez v0, 0013 // +0008 │ │ -42278a: 1a00 fe08 |000d: const-string v0, "A network is not available." // string@08fe │ │ -42278e: 6e20 98ba 0400 |000f: invoke-virtual {v4, v0}, Lorg/purple/smoke/UdpNeighbor;.setError:(Ljava/lang/String;)V // method@ba98 │ │ -422794: 0e00 |0012: return-void │ │ -422796: 5440 5e5e |0013: iget-object v0, v4, Lorg/purple/smoke/UdpNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e5e │ │ -42279a: 1601 0000 |0015: const-wide/16 v1, #int 0 // #0 │ │ -42279e: 6e30 e160 1002 |0017: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -4227a4: 5440 5f5e |001a: iget-object v0, v4, Lorg/purple/smoke/UdpNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e5f │ │ -4227a8: 6e30 e160 1002 |001c: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -4227ae: 5440 605e |001f: iget-object v0, v4, Lorg/purple/smoke/UdpNeighbor;.m_disconnected:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e60 │ │ -4227b2: 1201 |0021: const/4 v1, #int 0 // #0 │ │ -4227b4: 6e20 d860 1000 |0022: invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ -4227ba: 5440 635e |0025: iget-object v0, v4, Lorg/purple/smoke/UdpNeighbor;.m_lastParsed:Ljava/util/concurrent/atomic/AtomicLong; // field@5e63 │ │ -4227be: 7100 065d 0000 |0027: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ -4227c4: 0b02 |002a: move-result-wide v2 │ │ -4227c6: 6e30 e160 2003 |002b: invoke-virtual {v0, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -4227cc: 5440 645e |002e: iget-object v0, v4, Lorg/purple/smoke/UdpNeighbor;.m_lastTimeRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e64 │ │ -4227d0: 7100 0b5d 0000 |0030: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ -4227d6: 0b02 |0033: move-result-wide v2 │ │ -4227d8: 6e30 e160 2003 |0034: invoke-virtual {v0, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -4227de: 2200 0a0b |0037: new-instance v0, Ljava/net/DatagramSocket; // type@0b0a │ │ -4227e2: 7010 705d 0000 |0039: invoke-direct {v0}, Ljava/net/DatagramSocket;.:()V // method@5d70 │ │ -4227e8: 5b40 685e |003c: iput-object v0, v4, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ -4227ec: 5442 615e |003e: iget-object v2, v4, Lorg/purple/smoke/UdpNeighbor;.m_ipAddress:Ljava/lang/String; // field@5e61 │ │ -4227f0: 7110 8b5d 0200 |0040: invoke-static {v2}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@5d8b │ │ -4227f6: 0c02 |0043: move-result-object v2 │ │ -4227f8: 5443 625e |0044: iget-object v3, v4, Lorg/purple/smoke/UdpNeighbor;.m_ipPort:Ljava/util/concurrent/atomic/AtomicInteger; // field@5e62 │ │ -4227fc: 6e10 da60 0300 |0046: invoke-virtual {v3}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -422802: 0a03 |0049: move-result v3 │ │ -422804: 6e30 725d 2003 |004a: invoke-virtual {v0, v2, v3}, Ljava/net/DatagramSocket;.connect:(Ljava/net/InetAddress;I)V // method@5d72 │ │ -42280a: 5440 685e |004d: iget-object v0, v4, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ -42280e: 6e20 7a5d 1000 |004f: invoke-virtual {v0, v1}, Ljava/net/DatagramSocket;.setSoTimeout:(I)V // method@5d7a │ │ -422814: 5440 695e |0052: iget-object v0, v4, Lorg/purple/smoke/UdpNeighbor;.m_startTime:Ljava/util/concurrent/atomic/AtomicLong; // field@5e69 │ │ -422818: 7100 0b5d 0000 |0054: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ -42281e: 0b01 |0057: move-result-wide v1 │ │ -422820: 6e30 e160 1002 |0058: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -422826: 1a00 0000 |005b: const-string v0, "" // string@0000 │ │ -42282a: 6e20 98ba 0400 |005d: invoke-virtual {v4, v0}, Lorg/purple/smoke/UdpNeighbor;.setError:(Ljava/lang/String;)V // method@ba98 │ │ -422830: 5440 655e |0060: iget-object v0, v4, Lorg/purple/smoke/UdpNeighbor;.m_mutex:Ljava/lang/Object; // field@5e65 │ │ -422834: 1d00 |0062: monitor-enter v0 │ │ -422836: 5441 655e |0063: iget-object v1, v4, Lorg/purple/smoke/UdpNeighbor;.m_mutex:Ljava/lang/Object; // field@5e65 │ │ -42283a: 6e10 955c 0100 |0065: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@5c95 │ │ -422840: 1e00 |0068: monitor-exit v0 │ │ -422842: 280c |0069: goto 0075 // +000c │ │ -422844: 0d01 |006a: move-exception v1 │ │ -422846: 1e00 |006b: monitor-exit v0 │ │ -422848: 2701 |006c: throw v1 │ │ -42284a: 1a00 580d |006d: const-string v0, "An error occurred while attempting a connection." // string@0d58 │ │ -42284e: 6e20 98ba 0400 |006f: invoke-virtual {v4, v0}, Lorg/purple/smoke/UdpNeighbor;.setError:(Ljava/lang/String;)V // method@ba98 │ │ -422854: 6e10 8fba 0400 |0072: invoke-virtual {v4}, Lorg/purple/smoke/UdpNeighbor;.disconnect:()V // method@ba8f │ │ -42285a: 0e00 |0075: return-void │ │ +42275c: |[42275c] org.purple.smoke.UdpNeighbor.connect:()V │ │ +42276c: 6e10 8eba 0400 |0000: invoke-virtual {v4}, Lorg/purple/smoke/UdpNeighbor;.connected:()Z // method@ba8e │ │ +422772: 0a00 |0003: move-result v0 │ │ +422774: 3800 0300 |0004: if-eqz v0, 0007 // +0003 │ │ +422778: 0e00 |0006: return-void │ │ +42277a: 6e10 92ba 0400 |0007: invoke-virtual {v4}, Lorg/purple/smoke/UdpNeighbor;.isNetworkConnected:()Z // method@ba92 │ │ +422780: 0a00 |000a: move-result v0 │ │ +422782: 3900 0800 |000b: if-nez v0, 0013 // +0008 │ │ +422786: 1a00 fe08 |000d: const-string v0, "A network is not available." // string@08fe │ │ +42278a: 6e20 98ba 0400 |000f: invoke-virtual {v4, v0}, Lorg/purple/smoke/UdpNeighbor;.setError:(Ljava/lang/String;)V // method@ba98 │ │ +422790: 0e00 |0012: return-void │ │ +422792: 5440 5e5e |0013: iget-object v0, v4, Lorg/purple/smoke/UdpNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e5e │ │ +422796: 1601 0000 |0015: const-wide/16 v1, #int 0 // #0 │ │ +42279a: 6e30 e160 1002 |0017: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +4227a0: 5440 5f5e |001a: iget-object v0, v4, Lorg/purple/smoke/UdpNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e5f │ │ +4227a4: 6e30 e160 1002 |001c: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +4227aa: 5440 605e |001f: iget-object v0, v4, Lorg/purple/smoke/UdpNeighbor;.m_disconnected:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e60 │ │ +4227ae: 1201 |0021: const/4 v1, #int 0 // #0 │ │ +4227b0: 6e20 d860 1000 |0022: invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;.set:(Z)V // method@60d8 │ │ +4227b6: 5440 635e |0025: iget-object v0, v4, Lorg/purple/smoke/UdpNeighbor;.m_lastParsed:Ljava/util/concurrent/atomic/AtomicLong; // field@5e63 │ │ +4227ba: 7100 065d 0000 |0027: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@5d06 │ │ +4227c0: 0b02 |002a: move-result-wide v2 │ │ +4227c2: 6e30 e160 2003 |002b: invoke-virtual {v0, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +4227c8: 5440 645e |002e: iget-object v0, v4, Lorg/purple/smoke/UdpNeighbor;.m_lastTimeRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e64 │ │ +4227cc: 7100 0b5d 0000 |0030: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ +4227d2: 0b02 |0033: move-result-wide v2 │ │ +4227d4: 6e30 e160 2003 |0034: invoke-virtual {v0, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +4227da: 2200 0a0b |0037: new-instance v0, Ljava/net/DatagramSocket; // type@0b0a │ │ +4227de: 7010 705d 0000 |0039: invoke-direct {v0}, Ljava/net/DatagramSocket;.:()V // method@5d70 │ │ +4227e4: 5b40 685e |003c: iput-object v0, v4, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ +4227e8: 5442 615e |003e: iget-object v2, v4, Lorg/purple/smoke/UdpNeighbor;.m_ipAddress:Ljava/lang/String; // field@5e61 │ │ +4227ec: 7110 8b5d 0200 |0040: invoke-static {v2}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@5d8b │ │ +4227f2: 0c02 |0043: move-result-object v2 │ │ +4227f4: 5443 625e |0044: iget-object v3, v4, Lorg/purple/smoke/UdpNeighbor;.m_ipPort:Ljava/util/concurrent/atomic/AtomicInteger; // field@5e62 │ │ +4227f8: 6e10 da60 0300 |0046: invoke-virtual {v3}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +4227fe: 0a03 |0049: move-result v3 │ │ +422800: 6e30 725d 2003 |004a: invoke-virtual {v0, v2, v3}, Ljava/net/DatagramSocket;.connect:(Ljava/net/InetAddress;I)V // method@5d72 │ │ +422806: 5440 685e |004d: iget-object v0, v4, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ +42280a: 6e20 7a5d 1000 |004f: invoke-virtual {v0, v1}, Ljava/net/DatagramSocket;.setSoTimeout:(I)V // method@5d7a │ │ +422810: 5440 695e |0052: iget-object v0, v4, Lorg/purple/smoke/UdpNeighbor;.m_startTime:Ljava/util/concurrent/atomic/AtomicLong; // field@5e69 │ │ +422814: 7100 0b5d 0000 |0054: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ +42281a: 0b01 |0057: move-result-wide v1 │ │ +42281c: 6e30 e160 1002 |0058: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +422822: 1a00 0000 |005b: const-string v0, "" // string@0000 │ │ +422826: 6e20 98ba 0400 |005d: invoke-virtual {v4, v0}, Lorg/purple/smoke/UdpNeighbor;.setError:(Ljava/lang/String;)V // method@ba98 │ │ +42282c: 5440 655e |0060: iget-object v0, v4, Lorg/purple/smoke/UdpNeighbor;.m_mutex:Ljava/lang/Object; // field@5e65 │ │ +422830: 1d00 |0062: monitor-enter v0 │ │ +422832: 5441 655e |0063: iget-object v1, v4, Lorg/purple/smoke/UdpNeighbor;.m_mutex:Ljava/lang/Object; // field@5e65 │ │ +422836: 6e10 955c 0100 |0065: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@5c95 │ │ +42283c: 1e00 |0068: monitor-exit v0 │ │ +42283e: 280c |0069: goto 0075 // +000c │ │ +422840: 0d01 |006a: move-exception v1 │ │ +422842: 1e00 |006b: monitor-exit v0 │ │ +422844: 2701 |006c: throw v1 │ │ +422846: 1a00 580d |006d: const-string v0, "An error occurred while attempting a connection." // string@0d58 │ │ +42284a: 6e20 98ba 0400 |006f: invoke-virtual {v4, v0}, Lorg/purple/smoke/UdpNeighbor;.setError:(Ljava/lang/String;)V // method@ba98 │ │ +422850: 6e10 8fba 0400 |0072: invoke-virtual {v4}, Lorg/purple/smoke/UdpNeighbor;.disconnect:()V // method@ba8f │ │ +422856: 0e00 |0075: return-void │ │ catches : 3 │ │ 0x0013 - 0x0063 │ │ Ljava/lang/Exception; -> 0x006d │ │ 0x0063 - 0x006c │ │ -> 0x006a │ │ 0x006c - 0x006d │ │ Ljava/lang/Exception; -> 0x006d │ │ @@ -1168174,26 +1168173,26 @@ │ │ type : '()Z' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 19 16-bit code units │ │ -42236c: |[42236c] org.purple.smoke.UdpNeighbor.connected:()Z │ │ -42237c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -42237e: 6e10 92ba 0200 |0001: invoke-virtual {v2}, Lorg/purple/smoke/UdpNeighbor;.isNetworkConnected:()Z // method@ba92 │ │ -422384: 0a01 |0004: move-result v1 │ │ -422386: 3801 0d00 |0005: if-eqz v1, 0012 // +000d │ │ -42238a: 5421 685e |0007: iget-object v1, v2, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ -42238e: 3801 0900 |0009: if-eqz v1, 0012 // +0009 │ │ -422392: 6e10 775d 0100 |000b: invoke-virtual {v1}, Ljava/net/DatagramSocket;.isClosed:()Z // method@5d77 │ │ -422398: 0a01 |000e: move-result v1 │ │ -42239a: 3901 0300 |000f: if-nez v1, 0012 // +0003 │ │ -42239e: 1210 |0011: const/4 v0, #int 1 // #1 │ │ -4223a0: 0f00 |0012: return v0 │ │ +422368: |[422368] org.purple.smoke.UdpNeighbor.connected:()Z │ │ +422378: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +42237a: 6e10 92ba 0200 |0001: invoke-virtual {v2}, Lorg/purple/smoke/UdpNeighbor;.isNetworkConnected:()Z // method@ba92 │ │ +422380: 0a01 |0004: move-result v1 │ │ +422382: 3801 0d00 |0005: if-eqz v1, 0012 // +000d │ │ +422386: 5421 685e |0007: iget-object v1, v2, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ +42238a: 3801 0900 |0009: if-eqz v1, 0012 // +0009 │ │ +42238e: 6e10 775d 0100 |000b: invoke-virtual {v1}, Ljava/net/DatagramSocket;.isClosed:()Z // method@5d77 │ │ +422394: 0a01 |000e: move-result v1 │ │ +422396: 3901 0300 |000f: if-nez v1, 0012 // +0003 │ │ +42239a: 1210 |0011: const/4 v0, #int 1 // #1 │ │ +42239c: 0f00 |0012: return v0 │ │ catches : 1 │ │ 0x0001 - 0x000f │ │ Ljava/lang/Exception; -> 0x0012 │ │ positions : │ │ 0x0001 line=62 │ │ 0x000b line=64 │ │ locals : │ │ @@ -1168204,47 +1168203,47 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 69 16-bit code units │ │ -42287c: |[42287c] org.purple.smoke.UdpNeighbor.disconnect:()V │ │ -42288c: 6f10 07b8 0500 |0000: invoke-super {v5}, Lorg/purple/smoke/Neighbor;.disconnect:()V // method@b807 │ │ -422892: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -422894: 1601 0000 |0004: const-wide/16 v1, #int 0 // #0 │ │ -422898: 5453 685e |0006: iget-object v3, v5, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ -42289c: 3803 2200 |0008: if-eqz v3, 002a // +0022 │ │ -4228a0: 6e10 715d 0300 |000a: invoke-virtual {v3}, Ljava/net/DatagramSocket;.close:()V // method@5d71 │ │ -4228a6: 281d |000d: goto 002a // +001d │ │ -4228a8: 0d03 |000e: move-exception v3 │ │ -4228aa: 5454 5e5e |000f: iget-object v4, v5, Lorg/purple/smoke/UdpNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e5e │ │ -4228ae: 6e30 e160 1402 |0011: invoke-virtual {v4, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -4228b4: 5454 5f5e |0014: iget-object v4, v5, Lorg/purple/smoke/UdpNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e5f │ │ -4228b8: 6e30 e160 1402 |0016: invoke-virtual {v4, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -4228be: 5454 645e |0019: iget-object v4, v5, Lorg/purple/smoke/UdpNeighbor;.m_lastTimeRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e64 │ │ -4228c2: 6e30 e160 1402 |001b: invoke-virtual {v4, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -4228c8: 5b50 685e |001e: iput-object v0, v5, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ -4228cc: 5450 695e |0020: iget-object v0, v5, Lorg/purple/smoke/UdpNeighbor;.m_startTime:Ljava/util/concurrent/atomic/AtomicLong; // field@5e69 │ │ -4228d0: 7100 0b5d 0000 |0022: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ -4228d6: 0b01 |0025: move-result-wide v1 │ │ -4228d8: 6e30 e160 1002 |0026: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -4228de: 2703 |0029: throw v3 │ │ -4228e0: 5453 5e5e |002a: iget-object v3, v5, Lorg/purple/smoke/UdpNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e5e │ │ -4228e4: 6e30 e160 1302 |002c: invoke-virtual {v3, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -4228ea: 5453 5f5e |002f: iget-object v3, v5, Lorg/purple/smoke/UdpNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e5f │ │ -4228ee: 6e30 e160 1302 |0031: invoke-virtual {v3, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -4228f4: 5453 645e |0034: iget-object v3, v5, Lorg/purple/smoke/UdpNeighbor;.m_lastTimeRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e64 │ │ -4228f8: 6e30 e160 1302 |0036: invoke-virtual {v3, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -4228fe: 5b50 685e |0039: iput-object v0, v5, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ -422902: 5450 695e |003b: iget-object v0, v5, Lorg/purple/smoke/UdpNeighbor;.m_startTime:Ljava/util/concurrent/atomic/AtomicLong; // field@5e69 │ │ -422906: 7100 0b5d 0000 |003d: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ -42290c: 0b01 |0040: move-result-wide v1 │ │ -42290e: 6e30 e160 1002 |0041: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ -422914: 0e00 |0044: return-void │ │ +422878: |[422878] org.purple.smoke.UdpNeighbor.disconnect:()V │ │ +422888: 6f10 07b8 0500 |0000: invoke-super {v5}, Lorg/purple/smoke/Neighbor;.disconnect:()V // method@b807 │ │ +42288e: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +422890: 1601 0000 |0004: const-wide/16 v1, #int 0 // #0 │ │ +422894: 5453 685e |0006: iget-object v3, v5, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ +422898: 3803 2200 |0008: if-eqz v3, 002a // +0022 │ │ +42289c: 6e10 715d 0300 |000a: invoke-virtual {v3}, Ljava/net/DatagramSocket;.close:()V // method@5d71 │ │ +4228a2: 281d |000d: goto 002a // +001d │ │ +4228a4: 0d03 |000e: move-exception v3 │ │ +4228a6: 5454 5e5e |000f: iget-object v4, v5, Lorg/purple/smoke/UdpNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e5e │ │ +4228aa: 6e30 e160 1402 |0011: invoke-virtual {v4, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +4228b0: 5454 5f5e |0014: iget-object v4, v5, Lorg/purple/smoke/UdpNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e5f │ │ +4228b4: 6e30 e160 1402 |0016: invoke-virtual {v4, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +4228ba: 5454 645e |0019: iget-object v4, v5, Lorg/purple/smoke/UdpNeighbor;.m_lastTimeRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e64 │ │ +4228be: 6e30 e160 1402 |001b: invoke-virtual {v4, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +4228c4: 5b50 685e |001e: iput-object v0, v5, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ +4228c8: 5450 695e |0020: iget-object v0, v5, Lorg/purple/smoke/UdpNeighbor;.m_startTime:Ljava/util/concurrent/atomic/AtomicLong; // field@5e69 │ │ +4228cc: 7100 0b5d 0000 |0022: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ +4228d2: 0b01 |0025: move-result-wide v1 │ │ +4228d4: 6e30 e160 1002 |0026: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +4228da: 2703 |0029: throw v3 │ │ +4228dc: 5453 5e5e |002a: iget-object v3, v5, Lorg/purple/smoke/UdpNeighbor;.m_bytesRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e5e │ │ +4228e0: 6e30 e160 1302 |002c: invoke-virtual {v3, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +4228e6: 5453 5f5e |002f: iget-object v3, v5, Lorg/purple/smoke/UdpNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e5f │ │ +4228ea: 6e30 e160 1302 |0031: invoke-virtual {v3, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +4228f0: 5453 645e |0034: iget-object v3, v5, Lorg/purple/smoke/UdpNeighbor;.m_lastTimeRead:Ljava/util/concurrent/atomic/AtomicLong; // field@5e64 │ │ +4228f4: 6e30 e160 1302 |0036: invoke-virtual {v3, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +4228fa: 5b50 685e |0039: iput-object v0, v5, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ +4228fe: 5450 695e |003b: iget-object v0, v5, Lorg/purple/smoke/UdpNeighbor;.m_startTime:Ljava/util/concurrent/atomic/AtomicLong; // field@5e69 │ │ +422902: 7100 0b5d 0000 |003d: invoke-static {}, Ljava/lang/System;.nanoTime:()J // method@5d0b │ │ +422908: 0b01 |0040: move-result-wide v1 │ │ +42290a: 6e30 e160 1002 |0041: invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.set:(J)V // method@60e1 │ │ +422910: 0e00 |0044: return-void │ │ catches : 1 │ │ 0x0006 - 0x000d │ │ Ljava/lang/Exception; -> 0x002a │ │ -> 0x000e │ │ positions : │ │ 0x0000 line=204 │ │ 0x0006 line=208 │ │ @@ -1168268,36 +1168267,36 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 38 16-bit code units │ │ -42252c: |[42252c] org.purple.smoke.UdpNeighbor.getLocalIp:()Ljava/lang/String; │ │ -42253c: 5420 685e |0000: iget-object v0, v2, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ -422540: 3800 1400 |0002: if-eqz v0, 0016 // +0014 │ │ -422544: 6e10 745d 0000 |0004: invoke-virtual {v0}, Ljava/net/DatagramSocket;.getLocalAddress:()Ljava/net/InetAddress; // method@5d74 │ │ -42254a: 0c00 |0007: move-result-object v0 │ │ -42254c: 3800 0e00 |0008: if-eqz v0, 0016 // +000e │ │ -422550: 5420 685e |000a: iget-object v0, v2, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ -422554: 6e10 745d 0000 |000c: invoke-virtual {v0}, Ljava/net/DatagramSocket;.getLocalAddress:()Ljava/net/InetAddress; // method@5d74 │ │ -42255a: 0c00 |000f: move-result-object v0 │ │ -42255c: 6e10 8c5d 0000 |0010: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@5d8c │ │ -422562: 0c00 |0013: move-result-object v0 │ │ -422564: 1100 |0014: return-object v0 │ │ -422566: 0000 |0015: nop // spacer │ │ -422568: 5420 6b5e |0016: iget-object v0, v2, Lorg/purple/smoke/UdpNeighbor;.m_version:Ljava/lang/String; // field@5e6b │ │ -42256c: 1a01 681d |0018: const-string v1, "IPv4" // string@1d68 │ │ -422570: 6e20 b85c 1000 |001a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -422576: 0a00 |001d: move-result v0 │ │ -422578: 3800 0500 |001e: if-eqz v0, 0023 // +0005 │ │ -42257c: 1a00 c204 |0020: const-string v0, "0.0.0.0" // string@04c2 │ │ -422580: 1100 |0022: return-object v0 │ │ -422582: 1a00 8508 |0023: const-string v0, "::" // string@0885 │ │ -422586: 1100 |0025: return-object v0 │ │ +422528: |[422528] org.purple.smoke.UdpNeighbor.getLocalIp:()Ljava/lang/String; │ │ +422538: 5420 685e |0000: iget-object v0, v2, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ +42253c: 3800 1400 |0002: if-eqz v0, 0016 // +0014 │ │ +422540: 6e10 745d 0000 |0004: invoke-virtual {v0}, Ljava/net/DatagramSocket;.getLocalAddress:()Ljava/net/InetAddress; // method@5d74 │ │ +422546: 0c00 |0007: move-result-object v0 │ │ +422548: 3800 0e00 |0008: if-eqz v0, 0016 // +000e │ │ +42254c: 5420 685e |000a: iget-object v0, v2, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ +422550: 6e10 745d 0000 |000c: invoke-virtual {v0}, Ljava/net/DatagramSocket;.getLocalAddress:()Ljava/net/InetAddress; // method@5d74 │ │ +422556: 0c00 |000f: move-result-object v0 │ │ +422558: 6e10 8c5d 0000 |0010: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@5d8c │ │ +42255e: 0c00 |0013: move-result-object v0 │ │ +422560: 1100 |0014: return-object v0 │ │ +422562: 0000 |0015: nop // spacer │ │ +422564: 5420 6b5e |0016: iget-object v0, v2, Lorg/purple/smoke/UdpNeighbor;.m_version:Ljava/lang/String; // field@5e6b │ │ +422568: 1a01 681d |0018: const-string v1, "IPv4" // string@1d68 │ │ +42256c: 6e20 b85c 1000 |001a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +422572: 0a00 |001d: move-result v0 │ │ +422574: 3800 0500 |001e: if-eqz v0, 0023 // +0005 │ │ +422578: 1a00 c204 |0020: const-string v0, "0.0.0.0" // string@04c2 │ │ +42257c: 1100 |0022: return-object v0 │ │ +42257e: 1a00 8508 |0023: const-string v0, "::" // string@0885 │ │ +422582: 1100 |0025: return-object v0 │ │ catches : 1 │ │ 0x0000 - 0x0014 │ │ Ljava/lang/Exception; -> 0x0015 │ │ positions : │ │ 0x0000 line=45 │ │ 0x000a line=46 │ │ 0x0016 line=52 │ │ @@ -1168309,26 +1168308,26 @@ │ │ type : '()I' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 19 16-bit code units │ │ -4223b4: |[4223b4] org.purple.smoke.UdpNeighbor.getLocalPort:()I │ │ -4223c4: 5410 685e |0000: iget-object v0, v1, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ -4223c8: 3800 0f00 |0002: if-eqz v0, 0011 // +000f │ │ -4223cc: 6e10 775d 0000 |0004: invoke-virtual {v0}, Ljava/net/DatagramSocket;.isClosed:()Z // method@5d77 │ │ -4223d2: 0a00 |0007: move-result v0 │ │ -4223d4: 3900 0900 |0008: if-nez v0, 0011 // +0009 │ │ -4223d8: 5410 685e |000a: iget-object v0, v1, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ -4223dc: 6e10 755d 0000 |000c: invoke-virtual {v0}, Ljava/net/DatagramSocket;.getLocalPort:()I // method@5d75 │ │ -4223e2: 0a00 |000f: move-result v0 │ │ -4223e4: 0f00 |0010: return v0 │ │ -4223e6: 1200 |0011: const/4 v0, #int 0 // #0 │ │ -4223e8: 0f00 |0012: return v0 │ │ +4223b0: |[4223b0] org.purple.smoke.UdpNeighbor.getLocalPort:()I │ │ +4223c0: 5410 685e |0000: iget-object v0, v1, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ +4223c4: 3800 0f00 |0002: if-eqz v0, 0011 // +000f │ │ +4223c8: 6e10 775d 0000 |0004: invoke-virtual {v0}, Ljava/net/DatagramSocket;.isClosed:()Z // method@5d77 │ │ +4223ce: 0a00 |0007: move-result v0 │ │ +4223d0: 3900 0900 |0008: if-nez v0, 0011 // +0009 │ │ +4223d4: 5410 685e |000a: iget-object v0, v1, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ +4223d8: 6e10 755d 0000 |000c: invoke-virtual {v0}, Ljava/net/DatagramSocket;.getLocalPort:()I // method@5d75 │ │ +4223de: 0a00 |000f: move-result v0 │ │ +4223e0: 0f00 |0010: return v0 │ │ +4223e2: 1200 |0011: const/4 v0, #int 0 // #0 │ │ +4223e4: 0f00 |0012: return v0 │ │ catches : 1 │ │ 0x0000 - 0x0010 │ │ Ljava/lang/Exception; -> 0x0011 │ │ positions : │ │ 0x0000 line=76 │ │ 0x000a line=77 │ │ locals : │ │ @@ -1168339,36 +1168338,36 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 38 16-bit code units │ │ -422598: |[422598] org.purple.smoke.UdpNeighbor.remoteIpAddress:()Ljava/lang/String; │ │ -4225a8: 5420 685e |0000: iget-object v0, v2, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ -4225ac: 3800 1400 |0002: if-eqz v0, 0016 // +0014 │ │ -4225b0: 6e10 735d 0000 |0004: invoke-virtual {v0}, Ljava/net/DatagramSocket;.getInetAddress:()Ljava/net/InetAddress; // method@5d73 │ │ -4225b6: 0c00 |0007: move-result-object v0 │ │ -4225b8: 3800 0e00 |0008: if-eqz v0, 0016 // +000e │ │ -4225bc: 5420 685e |000a: iget-object v0, v2, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ -4225c0: 6e10 735d 0000 |000c: invoke-virtual {v0}, Ljava/net/DatagramSocket;.getInetAddress:()Ljava/net/InetAddress; // method@5d73 │ │ -4225c6: 0c00 |000f: move-result-object v0 │ │ -4225c8: 6e10 8c5d 0000 |0010: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@5d8c │ │ -4225ce: 0c00 |0013: move-result-object v0 │ │ -4225d0: 1100 |0014: return-object v0 │ │ -4225d2: 0000 |0015: nop // spacer │ │ -4225d4: 5420 6b5e |0016: iget-object v0, v2, Lorg/purple/smoke/UdpNeighbor;.m_version:Ljava/lang/String; // field@5e6b │ │ -4225d8: 1a01 681d |0018: const-string v1, "IPv4" // string@1d68 │ │ -4225dc: 6e20 b85c 1000 |001a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -4225e2: 0a00 |001d: move-result v0 │ │ -4225e4: 3800 0500 |001e: if-eqz v0, 0023 // +0005 │ │ -4225e8: 1a00 c204 |0020: const-string v0, "0.0.0.0" // string@04c2 │ │ -4225ec: 1100 |0022: return-object v0 │ │ -4225ee: 1a00 8508 |0023: const-string v0, "::" // string@0885 │ │ -4225f2: 1100 |0025: return-object v0 │ │ +422594: |[422594] org.purple.smoke.UdpNeighbor.remoteIpAddress:()Ljava/lang/String; │ │ +4225a4: 5420 685e |0000: iget-object v0, v2, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ +4225a8: 3800 1400 |0002: if-eqz v0, 0016 // +0014 │ │ +4225ac: 6e10 735d 0000 |0004: invoke-virtual {v0}, Ljava/net/DatagramSocket;.getInetAddress:()Ljava/net/InetAddress; // method@5d73 │ │ +4225b2: 0c00 |0007: move-result-object v0 │ │ +4225b4: 3800 0e00 |0008: if-eqz v0, 0016 // +000e │ │ +4225b8: 5420 685e |000a: iget-object v0, v2, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ +4225bc: 6e10 735d 0000 |000c: invoke-virtual {v0}, Ljava/net/DatagramSocket;.getInetAddress:()Ljava/net/InetAddress; // method@5d73 │ │ +4225c2: 0c00 |000f: move-result-object v0 │ │ +4225c4: 6e10 8c5d 0000 |0010: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@5d8c │ │ +4225ca: 0c00 |0013: move-result-object v0 │ │ +4225cc: 1100 |0014: return-object v0 │ │ +4225ce: 0000 |0015: nop // spacer │ │ +4225d0: 5420 6b5e |0016: iget-object v0, v2, Lorg/purple/smoke/UdpNeighbor;.m_version:Ljava/lang/String; // field@5e6b │ │ +4225d4: 1a01 681d |0018: const-string v1, "IPv4" // string@1d68 │ │ +4225d8: 6e20 b85c 1000 |001a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +4225de: 0a00 |001d: move-result v0 │ │ +4225e0: 3800 0500 |001e: if-eqz v0, 0023 // +0005 │ │ +4225e4: 1a00 c204 |0020: const-string v0, "0.0.0.0" // string@04c2 │ │ +4225e8: 1100 |0022: return-object v0 │ │ +4225ea: 1a00 8508 |0023: const-string v0, "::" // string@0885 │ │ +4225ee: 1100 |0025: return-object v0 │ │ catches : 1 │ │ 0x0000 - 0x0014 │ │ Ljava/lang/Exception; -> 0x0015 │ │ positions : │ │ 0x0000 line=339 │ │ 0x000a line=340 │ │ 0x0016 line=346 │ │ @@ -1168380,24 +1168379,24 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 16 16-bit code units │ │ -422604: |[422604] org.purple.smoke.UdpNeighbor.remotePort:()Ljava/lang/String; │ │ -422614: 5410 685e |0000: iget-object v0, v1, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ -422618: 3800 0b00 |0002: if-eqz v0, 000d // +000b │ │ -42261c: 6e10 765d 0000 |0004: invoke-virtual {v0}, Ljava/net/DatagramSocket;.getPort:()I // method@5d76 │ │ -422622: 0a00 |0007: move-result v0 │ │ -422624: 7110 d55c 0000 |0008: invoke-static {v0}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ -42262a: 0c00 |000b: move-result-object v0 │ │ -42262c: 1100 |000c: return-object v0 │ │ -42262e: 1a00 bf04 |000d: const-string v0, "0" // string@04bf │ │ -422632: 1100 |000f: return-object v0 │ │ +422600: |[422600] org.purple.smoke.UdpNeighbor.remotePort:()Ljava/lang/String; │ │ +422610: 5410 685e |0000: iget-object v0, v1, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ +422614: 3800 0b00 |0002: if-eqz v0, 000d // +000b │ │ +422618: 6e10 765d 0000 |0004: invoke-virtual {v0}, Ljava/net/DatagramSocket;.getPort:()I // method@5d76 │ │ +42261e: 0a00 |0007: move-result v0 │ │ +422620: 7110 d55c 0000 |0008: invoke-static {v0}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ +422626: 0c00 |000b: move-result-object v0 │ │ +422628: 1100 |000c: return-object v0 │ │ +42262a: 1a00 bf04 |000d: const-string v0, "0" // string@04bf │ │ +42262e: 1100 |000f: return-object v0 │ │ catches : 1 │ │ 0x0000 - 0x000c │ │ Ljava/lang/Exception; -> 0x000d │ │ positions : │ │ 0x0000 line=356 │ │ 0x0004 line=357 │ │ locals : │ │ @@ -1168408,46 +1168407,46 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -422644: |[422644] org.purple.smoke.UdpNeighbor.remoteScopeId:()Ljava/lang/String; │ │ -422654: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ -422658: 1100 |0002: return-object v0 │ │ +422640: |[422640] org.purple.smoke.UdpNeighbor.remoteScopeId:()Ljava/lang/String; │ │ +422650: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ +422654: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #9 : (in Lorg/purple/smoke/UdpNeighbor;) │ │ name : 'send' │ │ type : '(Ljava/lang/String;)I' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 26 16-bit code units │ │ -4224e8: |[4224e8] org.purple.smoke.UdpNeighbor.send:(Ljava/lang/String;)I │ │ -4224f8: 6e10 8eba 0100 |0000: invoke-virtual {v1}, Lorg/purple/smoke/UdpNeighbor;.connected:()Z // method@ba8e │ │ -4224fe: 0a00 |0003: move-result v0 │ │ -422500: 3800 1400 |0004: if-eqz v0, 0018 // +0014 │ │ -422504: 3802 1200 |0006: if-eqz v2, 0018 // +0012 │ │ -422508: 6e10 c55c 0200 |0008: invoke-virtual {v2}, Ljava/lang/String;.length:()I // method@5cc5 │ │ -42250e: 0a00 |000b: move-result v0 │ │ -422510: 3900 0300 |000c: if-nez v0, 000f // +0003 │ │ -422514: 280a |000e: goto 0018 // +000a │ │ -422516: 6e10 bc5c 0200 |000f: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -42251c: 0c02 |0012: move-result-object v2 │ │ -42251e: 6e20 97ba 2100 |0013: invoke-virtual {v1, v2}, Lorg/purple/smoke/UdpNeighbor;.send:([B)I // method@ba97 │ │ -422524: 0a02 |0016: move-result v2 │ │ -422526: 0f02 |0017: return v2 │ │ -422528: 1202 |0018: const/4 v2, #int 0 // #0 │ │ -42252a: 0f02 |0019: return v2 │ │ +4224e4: |[4224e4] org.purple.smoke.UdpNeighbor.send:(Ljava/lang/String;)I │ │ +4224f4: 6e10 8eba 0100 |0000: invoke-virtual {v1}, Lorg/purple/smoke/UdpNeighbor;.connected:()Z // method@ba8e │ │ +4224fa: 0a00 |0003: move-result v0 │ │ +4224fc: 3800 1400 |0004: if-eqz v0, 0018 // +0014 │ │ +422500: 3802 1200 |0006: if-eqz v2, 0018 // +0012 │ │ +422504: 6e10 c55c 0200 |0008: invoke-virtual {v2}, Ljava/lang/String;.length:()I // method@5cc5 │ │ +42250a: 0a00 |000b: move-result v0 │ │ +42250c: 3900 0300 |000c: if-nez v0, 000f // +0003 │ │ +422510: 280a |000e: goto 0018 // +000a │ │ +422512: 6e10 bc5c 0200 |000f: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +422518: 0c02 |0012: move-result-object v2 │ │ +42251a: 6e20 97ba 2100 |0013: invoke-virtual {v1, v2}, Lorg/purple/smoke/UdpNeighbor;.send:([B)I // method@ba97 │ │ +422520: 0a02 |0016: move-result v2 │ │ +422522: 0f02 |0017: return v2 │ │ +422524: 1202 |0018: const/4 v2, #int 0 // #0 │ │ +422526: 0f02 |0019: return v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=88 │ │ 0x000f line=91 │ │ locals : │ │ 0x0000 - 0x001a reg=1 this Lorg/purple/smoke/UdpNeighbor; │ │ 0x0000 - 0x001a reg=2 (null) Ljava/lang/String; │ │ @@ -1168457,66 +1168456,66 @@ │ │ type : '([B)I' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 10 │ │ ins : 2 │ │ outs : 5 │ │ insns size : 101 16-bit code units │ │ -4223fc: |[4223fc] org.purple.smoke.UdpNeighbor.send:([B)I │ │ -42240c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -42240e: 3809 6300 |0001: if-eqz v9, 0064 // +0063 │ │ -422412: 2191 |0003: array-length v1, v9 │ │ -422414: 3801 6000 |0004: if-eqz v1, 0064 // +0060 │ │ -422418: 6e10 8eba 0800 |0006: invoke-virtual {v8}, Lorg/purple/smoke/UdpNeighbor;.connected:()Z // method@ba8e │ │ -42241e: 0a01 |0009: move-result v1 │ │ -422420: 3901 0300 |000a: if-nez v1, 000d // +0003 │ │ -422424: 2858 |000c: goto 0064 // +0058 │ │ -422426: 5481 685e |000d: iget-object v1, v8, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ -42242a: 3901 0300 |000f: if-nez v1, 0012 // +0003 │ │ -42242e: 0f00 |0011: return v0 │ │ -422430: 2201 a50a |0012: new-instance v1, Ljava/io/ByteArrayInputStream; // type@0aa5 │ │ -422434: 7020 6b5b 9100 |0014: invoke-direct {v1, v9}, Ljava/io/ByteArrayInputStream;.:([B)V // method@5b6b │ │ -42243a: 6e10 6d5b 0100 |0017: invoke-virtual {v1}, Ljava/io/ByteArrayInputStream;.available:()I // method@5b6d │ │ -422440: 0a02 |001a: move-result v2 │ │ -422442: 3d02 3200 |001b: if-lez v2, 004d // +0032 │ │ -422446: 5482 605e |001d: iget-object v2, v8, Lorg/purple/smoke/UdpNeighbor;.m_disconnected:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e60 │ │ -42244a: 6e10 d660 0200 |001f: invoke-virtual {v2}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ -422450: 0a02 |0022: move-result v2 │ │ -422452: 3802 0300 |0023: if-eqz v2, 0026 // +0003 │ │ -422456: 2828 |0025: goto 004d // +0028 │ │ -422458: 1302 4002 |0026: const/16 v2, #int 576 // #240 │ │ -42245c: 6e10 6d5b 0100 |0028: invoke-virtual {v1}, Ljava/io/ByteArrayInputStream;.available:()I // method@5b6d │ │ -422462: 0a03 |002b: move-result v3 │ │ -422464: 7120 825c 3200 |002c: invoke-static {v2, v3}, Ljava/lang/Math;.min:(II)I // method@5c82 │ │ -42246a: 0a02 |002f: move-result v2 │ │ -42246c: 2323 ba1a |0030: new-array v3, v2, [B // type@1aba │ │ -422470: 6e20 705b 3100 |0032: invoke-virtual {v1, v3}, Ljava/io/ByteArrayInputStream;.read:([B)I // method@5b70 │ │ -422476: 5484 685e |0035: iget-object v4, v8, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ -42247a: 2205 090b |0037: new-instance v5, Ljava/net/DatagramPacket; // type@0b09 │ │ -42247e: 5486 615e |0039: iget-object v6, v8, Lorg/purple/smoke/UdpNeighbor;.m_ipAddress:Ljava/lang/String; // field@5e61 │ │ -422482: 7110 8b5d 0600 |003b: invoke-static {v6}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@5d8b │ │ -422488: 0c06 |003e: move-result-object v6 │ │ -42248a: 5487 625e |003f: iget-object v7, v8, Lorg/purple/smoke/UdpNeighbor;.m_ipPort:Ljava/util/concurrent/atomic/AtomicInteger; // field@5e62 │ │ -42248e: 6e10 da60 0700 |0041: invoke-virtual {v7}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ -422494: 0a07 |0044: move-result v7 │ │ -422496: 7057 6d5d 3562 |0045: invoke-direct {v5, v3, v2, v6, v7}, Ljava/net/DatagramPacket;.:([BILjava/net/InetAddress;I)V // method@5d6d │ │ -42249c: 6e20 795d 5400 |0048: invoke-virtual {v4, v5}, Ljava/net/DatagramSocket;.send:(Ljava/net/DatagramPacket;)V // method@5d79 │ │ -4224a2: b020 |004b: add-int/2addr v0, v2 │ │ -4224a4: 28cb |004c: goto 0017 // -0035 │ │ -4224a6: 7110 1ab7 0900 |004d: invoke-static {v9}, Lorg/purple/smoke/Kernel;.writeCongestionDigest:([B)V // method@b71a │ │ -4224ac: 5489 5f5e |0050: iget-object v9, v8, Lorg/purple/smoke/UdpNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e5f │ │ -4224b0: 8101 |0052: int-to-long v1, v0 │ │ -4224b2: 6e30 e060 1902 |0053: invoke-virtual {v9, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.getAndAdd:(J)J // method@60e0 │ │ -4224b8: 1a09 0000 |0056: const-string v9, "" // string@0000 │ │ -4224bc: 6e20 98ba 9800 |0058: invoke-virtual {v8, v9}, Lorg/purple/smoke/UdpNeighbor;.setError:(Ljava/lang/String;)V // method@ba98 │ │ -4224c2: 2809 |005b: goto 0064 // +0009 │ │ -4224c4: 1a09 0309 |005c: const-string v9, "A socket error occurred on send()." // string@0903 │ │ -4224c8: 6e20 98ba 9800 |005e: invoke-virtual {v8, v9}, Lorg/purple/smoke/UdpNeighbor;.setError:(Ljava/lang/String;)V // method@ba98 │ │ -4224ce: 6e10 8fba 0800 |0061: invoke-virtual {v8}, Lorg/purple/smoke/UdpNeighbor;.disconnect:()V // method@ba8f │ │ -4224d4: 0f00 |0064: return v0 │ │ +4223f8: |[4223f8] org.purple.smoke.UdpNeighbor.send:([B)I │ │ +422408: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +42240a: 3809 6300 |0001: if-eqz v9, 0064 // +0063 │ │ +42240e: 2191 |0003: array-length v1, v9 │ │ +422410: 3801 6000 |0004: if-eqz v1, 0064 // +0060 │ │ +422414: 6e10 8eba 0800 |0006: invoke-virtual {v8}, Lorg/purple/smoke/UdpNeighbor;.connected:()Z // method@ba8e │ │ +42241a: 0a01 |0009: move-result v1 │ │ +42241c: 3901 0300 |000a: if-nez v1, 000d // +0003 │ │ +422420: 2858 |000c: goto 0064 // +0058 │ │ +422422: 5481 685e |000d: iget-object v1, v8, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ +422426: 3901 0300 |000f: if-nez v1, 0012 // +0003 │ │ +42242a: 0f00 |0011: return v0 │ │ +42242c: 2201 a50a |0012: new-instance v1, Ljava/io/ByteArrayInputStream; // type@0aa5 │ │ +422430: 7020 6b5b 9100 |0014: invoke-direct {v1, v9}, Ljava/io/ByteArrayInputStream;.:([B)V // method@5b6b │ │ +422436: 6e10 6d5b 0100 |0017: invoke-virtual {v1}, Ljava/io/ByteArrayInputStream;.available:()I // method@5b6d │ │ +42243c: 0a02 |001a: move-result v2 │ │ +42243e: 3d02 3200 |001b: if-lez v2, 004d // +0032 │ │ +422442: 5482 605e |001d: iget-object v2, v8, Lorg/purple/smoke/UdpNeighbor;.m_disconnected:Ljava/util/concurrent/atomic/AtomicBoolean; // field@5e60 │ │ +422446: 6e10 d660 0200 |001f: invoke-virtual {v2}, Ljava/util/concurrent/atomic/AtomicBoolean;.get:()Z // method@60d6 │ │ +42244c: 0a02 |0022: move-result v2 │ │ +42244e: 3802 0300 |0023: if-eqz v2, 0026 // +0003 │ │ +422452: 2828 |0025: goto 004d // +0028 │ │ +422454: 1302 4002 |0026: const/16 v2, #int 576 // #240 │ │ +422458: 6e10 6d5b 0100 |0028: invoke-virtual {v1}, Ljava/io/ByteArrayInputStream;.available:()I // method@5b6d │ │ +42245e: 0a03 |002b: move-result v3 │ │ +422460: 7120 825c 3200 |002c: invoke-static {v2, v3}, Ljava/lang/Math;.min:(II)I // method@5c82 │ │ +422466: 0a02 |002f: move-result v2 │ │ +422468: 2323 ba1a |0030: new-array v3, v2, [B // type@1aba │ │ +42246c: 6e20 705b 3100 |0032: invoke-virtual {v1, v3}, Ljava/io/ByteArrayInputStream;.read:([B)I // method@5b70 │ │ +422472: 5484 685e |0035: iget-object v4, v8, Lorg/purple/smoke/UdpNeighbor;.m_socket:Ljava/net/DatagramSocket; // field@5e68 │ │ +422476: 2205 090b |0037: new-instance v5, Ljava/net/DatagramPacket; // type@0b09 │ │ +42247a: 5486 615e |0039: iget-object v6, v8, Lorg/purple/smoke/UdpNeighbor;.m_ipAddress:Ljava/lang/String; // field@5e61 │ │ +42247e: 7110 8b5d 0600 |003b: invoke-static {v6}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@5d8b │ │ +422484: 0c06 |003e: move-result-object v6 │ │ +422486: 5487 625e |003f: iget-object v7, v8, Lorg/purple/smoke/UdpNeighbor;.m_ipPort:Ljava/util/concurrent/atomic/AtomicInteger; // field@5e62 │ │ +42248a: 6e10 da60 0700 |0041: invoke-virtual {v7}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@60da │ │ +422490: 0a07 |0044: move-result v7 │ │ +422492: 7057 6d5d 3562 |0045: invoke-direct {v5, v3, v2, v6, v7}, Ljava/net/DatagramPacket;.:([BILjava/net/InetAddress;I)V // method@5d6d │ │ +422498: 6e20 795d 5400 |0048: invoke-virtual {v4, v5}, Ljava/net/DatagramSocket;.send:(Ljava/net/DatagramPacket;)V // method@5d79 │ │ +42249e: b020 |004b: add-int/2addr v0, v2 │ │ +4224a0: 28cb |004c: goto 0017 // -0035 │ │ +4224a2: 7110 1ab7 0900 |004d: invoke-static {v9}, Lorg/purple/smoke/Kernel;.writeCongestionDigest:([B)V // method@b71a │ │ +4224a8: 5489 5f5e |0050: iget-object v9, v8, Lorg/purple/smoke/UdpNeighbor;.m_bytesWritten:Ljava/util/concurrent/atomic/AtomicLong; // field@5e5f │ │ +4224ac: 8101 |0052: int-to-long v1, v0 │ │ +4224ae: 6e30 e060 1902 |0053: invoke-virtual {v9, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;.getAndAdd:(J)J // method@60e0 │ │ +4224b4: 1a09 0000 |0056: const-string v9, "" // string@0000 │ │ +4224b8: 6e20 98ba 9800 |0058: invoke-virtual {v8, v9}, Lorg/purple/smoke/UdpNeighbor;.setError:(Ljava/lang/String;)V // method@ba98 │ │ +4224be: 2809 |005b: goto 0064 // +0009 │ │ +4224c0: 1a09 0309 |005c: const-string v9, "A socket error occurred on send()." // string@0903 │ │ +4224c4: 6e20 98ba 9800 |005e: invoke-virtual {v8, v9}, Lorg/purple/smoke/UdpNeighbor;.setError:(Ljava/lang/String;)V // method@ba98 │ │ +4224ca: 6e10 8fba 0800 |0061: invoke-virtual {v8}, Lorg/purple/smoke/UdpNeighbor;.disconnect:()V // method@ba8f │ │ +4224d0: 0f00 |0064: return v0 │ │ catches : 1 │ │ 0x000d - 0x005b │ │ Ljava/lang/Exception; -> 0x005c │ │ positions : │ │ 0x0003 line=98 │ │ 0x000d line=103 │ │ 0x0012 line=106 │ │ @@ -1168542,17 +1168541,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -42265c: |[42265c] org.purple.smoke.UdpNeighbor.transport:()Ljava/lang/String; │ │ -42266c: 1a00 d24e |0000: const-string v0, "UDP" // string@4ed2 │ │ -422670: 1100 |0002: return-object v0 │ │ +422658: |[422658] org.purple.smoke.UdpNeighbor.transport:()Ljava/lang/String; │ │ +422668: 1a00 d24e |0000: const-string v0, "UDP" // string@4ed2 │ │ +42266c: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ source_file_idx : 20241 (UdpNeighbor.java) │ │ │ │ Class #4274 header: │ │ @@ -1426866,17 +1426865,17 @@ │ │ type : '(Landroid/content/Context;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -41ac10: |[41ac10] org.purple.smoke.Steam$SteamLinearLayoutManager.:(Landroid/content/Context;)V │ │ -41ac20: 7020 3a4a 1000 |0000: invoke-direct {v0, v1}, Landroid/support/v7/widget/LinearLayoutManager;.:(Landroid/content/Context;)V // method@4a3a │ │ -41ac26: 0e00 |0003: return-void │ │ +41ac0c: |[41ac0c] org.purple.smoke.Steam$SteamLinearLayoutManager.:(Landroid/content/Context;)V │ │ +41ac1c: 7020 3a4a 1000 |0000: invoke-direct {v0, v1}, Landroid/support/v7/widget/LinearLayoutManager;.:(Landroid/content/Context;)V // method@4a3a │ │ +41ac22: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=106 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lorg/purple/smoke/Steam$SteamLinearLayoutManager; │ │ 0x0000 - 0x0004 reg=1 (null) Landroid/content/Context; │ │ │ │ @@ -1426886,17 +1426885,17 @@ │ │ type : '(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 4 16-bit code units │ │ -41ac28: |[41ac28] org.purple.smoke.Steam$SteamLinearLayoutManager.onLayoutChildren:(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;)V │ │ -41ac38: 6f30 8d4a 1002 |0000: invoke-super {v0, v1, v2}, Landroid/support/v7/widget/LinearLayoutManager;.onLayoutChildren:(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;)V // method@4a8d │ │ -41ac3e: 0e00 |0003: return-void │ │ +41ac24: |[41ac24] org.purple.smoke.Steam$SteamLinearLayoutManager.onLayoutChildren:(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;)V │ │ +41ac34: 6f30 8d4a 1002 |0000: invoke-super {v0, v1, v2}, Landroid/support/v7/widget/LinearLayoutManager;.onLayoutChildren:(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;)V // method@4a8d │ │ +41ac3a: 0e00 |0003: return-void │ │ catches : 1 │ │ 0x0000 - 0x0003 │ │ Ljava/lang/Exception; -> 0x0003 │ │ positions : │ │ 0x0000 line=119 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lorg/purple/smoke/Steam$SteamLinearLayoutManager; │ │ @@ -1539238,25 +1539237,25 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 21 16-bit code units │ │ -414a04: |[414a04] org.purple.smoke.Settings.:()V │ │ -414a14: 7100 88b5 0000 |0000: invoke-static {}, Lorg/purple/smoke/Cryptography;.getInstance:()Lorg/purple/smoke/Cryptography; // method@b588 │ │ -414a1a: 0c00 |0003: move-result-object v0 │ │ -414a1c: 6900 1e5d |0004: sput-object v0, Lorg/purple/smoke/Settings;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d1e │ │ -414a20: 2200 4c1a |0006: new-instance v0, Lorg/purple/smoke/Settings$1; // type@1a4c │ │ -414a24: 7010 50b8 0000 |0008: invoke-direct {v0}, Lorg/purple/smoke/Settings$1;.:()V // method@b850 │ │ -414a2a: 6900 1f5d |000b: sput-object v0, Lorg/purple/smoke/Settings;.s_portFilter:Landroid/text/InputFilter; // field@5d1f │ │ -414a2e: 2200 591a |000d: new-instance v0, Lorg/purple/smoke/Settings$2; // type@1a59 │ │ -414a32: 7010 6bb8 0000 |000f: invoke-direct {v0}, Lorg/purple/smoke/Settings$2;.:()V // method@b86b │ │ -414a38: 6900 205d |0012: sput-object v0, Lorg/purple/smoke/Settings;.s_sipHashInputFilter:Landroid/text/InputFilter; // field@5d20 │ │ -414a3c: 0e00 |0014: return-void │ │ +414a00: |[414a00] org.purple.smoke.Settings.:()V │ │ +414a10: 7100 88b5 0000 |0000: invoke-static {}, Lorg/purple/smoke/Cryptography;.getInstance:()Lorg/purple/smoke/Cryptography; // method@b588 │ │ +414a16: 0c00 |0003: move-result-object v0 │ │ +414a18: 6900 1e5d |0004: sput-object v0, Lorg/purple/smoke/Settings;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d1e │ │ +414a1c: 2200 4c1a |0006: new-instance v0, Lorg/purple/smoke/Settings$1; // type@1a4c │ │ +414a20: 7010 50b8 0000 |0008: invoke-direct {v0}, Lorg/purple/smoke/Settings$1;.:()V // method@b850 │ │ +414a26: 6900 1f5d |000b: sput-object v0, Lorg/purple/smoke/Settings;.s_portFilter:Landroid/text/InputFilter; // field@5d1f │ │ +414a2a: 2200 591a |000d: new-instance v0, Lorg/purple/smoke/Settings$2; // type@1a59 │ │ +414a2e: 7010 6bb8 0000 |000f: invoke-direct {v0}, Lorg/purple/smoke/Settings$2;.:()V // method@b86b │ │ +414a34: 6900 205d |0012: sput-object v0, Lorg/purple/smoke/Settings;.s_sipHashInputFilter:Landroid/text/InputFilter; // field@5d20 │ │ +414a38: 0e00 |0014: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=172 │ │ 0x0006 line=173 │ │ 0x000d line=197 │ │ locals : │ │ │ │ @@ -1539265,23 +1539264,23 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 14 16-bit code units │ │ -414a40: |[414a40] org.purple.smoke.Settings.:()V │ │ -414a50: 7010 df3c 0100 |0000: invoke-direct {v1}, Landroid/support/v7/app/AppCompatActivity;.:()V // method@3cdf │ │ -414a56: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -414a58: 5b10 1a5d |0004: iput-object v0, v1, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -414a5c: 5b10 1d5d |0006: iput-object v0, v1, Lorg/purple/smoke/Settings;.m_scheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d1d │ │ -414a60: 5b10 1b5d |0008: iput-object v0, v1, Lorg/purple/smoke/Settings;.m_receiver:Lorg/purple/smoke/Settings$SettingsBroadcastReceiver; // field@5d1b │ │ -414a64: 1200 |000a: const/4 v0, #int 0 // #0 │ │ -414a66: 5c10 1c5d |000b: iput-boolean v0, v1, Lorg/purple/smoke/Settings;.m_receiverRegistered:Z // field@5d1c │ │ -414a6a: 0e00 |000d: return-void │ │ +414a3c: |[414a3c] org.purple.smoke.Settings.:()V │ │ +414a4c: 7010 df3c 0100 |0000: invoke-direct {v1}, Landroid/support/v7/app/AppCompatActivity;.:()V // method@3cdf │ │ +414a52: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +414a54: 5b10 1a5d |0004: iput-object v0, v1, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +414a58: 5b10 1d5d |0006: iput-object v0, v1, Lorg/purple/smoke/Settings;.m_scheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d1d │ │ +414a5c: 5b10 1b5d |0008: iput-object v0, v1, Lorg/purple/smoke/Settings;.m_receiver:Lorg/purple/smoke/Settings$SettingsBroadcastReceiver; // field@5d1b │ │ +414a60: 1200 |000a: const/4 v0, #int 0 // #0 │ │ +414a62: 5c10 1c5d |000b: iput-boolean v0, v1, Lorg/purple/smoke/Settings;.m_receiverRegistered:Z // field@5d1c │ │ +414a66: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=84 │ │ 0x0004 line=167 │ │ 0x0006 line=168 │ │ 0x0008 line=169 │ │ 0x000b line=170 │ │ @@ -1539293,17 +1539292,17 @@ │ │ type : '(Lorg/purple/smoke/Settings;Ljava/util/ArrayList;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -414a6c: |[414a6c] org.purple.smoke.Settings.access$000:(Lorg/purple/smoke/Settings;Ljava/util/ArrayList;)V │ │ -414a7c: 7020 f3b8 1000 |0000: invoke-direct {v0, v1}, Lorg/purple/smoke/Settings;.populateNeighbors:(Ljava/util/ArrayList;)V // method@b8f3 │ │ -414a82: 0e00 |0003: return-void │ │ +414a68: |[414a68] org.purple.smoke.Settings.access$000:(Lorg/purple/smoke/Settings;Ljava/util/ArrayList;)V │ │ +414a78: 7020 f3b8 1000 |0000: invoke-direct {v0, v1}, Lorg/purple/smoke/Settings;.populateNeighbors:(Ljava/util/ArrayList;)V // method@b8f3 │ │ +414a7e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=84 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/Settings; │ │ 0x0000 - 0x0004 reg=1 (null) Ljava/util/ArrayList; │ │ │ │ @@ -1539312,17 +1539311,17 @@ │ │ type : '(Lorg/purple/smoke/Settings;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -414a84: |[414a84] org.purple.smoke.Settings.access$100:(Lorg/purple/smoke/Settings;)V │ │ -414a94: 7010 e7b8 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Settings;.networkStatusChanged:()V // method@b8e7 │ │ -414a9a: 0e00 |0003: return-void │ │ +414a80: |[414a80] org.purple.smoke.Settings.access$100:(Lorg/purple/smoke/Settings;)V │ │ +414a90: 7010 e7b8 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Settings;.networkStatusChanged:()V // method@b8e7 │ │ +414a96: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=84 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/Settings; │ │ │ │ #4 : (in Lorg/purple/smoke/Settings;) │ │ @@ -1539330,17 +1539329,17 @@ │ │ type : '(Lorg/purple/smoke/Settings;Z)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -414a9c: |[414a9c] org.purple.smoke.Settings.access$1000:(Lorg/purple/smoke/Settings;Z)V │ │ -414aac: 7020 dab8 1000 |0000: invoke-direct {v0, v1}, Lorg/purple/smoke/Settings;.enableWidgets:(Z)V // method@b8da │ │ -414ab2: 0e00 |0003: return-void │ │ +414a98: |[414a98] org.purple.smoke.Settings.access$1000:(Lorg/purple/smoke/Settings;Z)V │ │ +414aa8: 7020 dab8 1000 |0000: invoke-direct {v0, v1}, Lorg/purple/smoke/Settings;.enableWidgets:(Z)V // method@b8da │ │ +414aae: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=84 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/Settings; │ │ 0x0000 - 0x0004 reg=1 (null) Z │ │ │ │ @@ -1539349,17 +1539348,17 @@ │ │ type : '(Lorg/purple/smoke/Settings;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -414ab4: |[414ab4] org.purple.smoke.Settings.access$1100:(Lorg/purple/smoke/Settings;)V │ │ -414ac4: 7010 08b9 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Settings;.showWidgets:()V // method@b908 │ │ -414aca: 0e00 |0003: return-void │ │ +414ab0: |[414ab0] org.purple.smoke.Settings.access$1100:(Lorg/purple/smoke/Settings;)V │ │ +414ac0: 7010 08b9 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Settings;.showWidgets:()V // method@b908 │ │ +414ac6: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=84 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/Settings; │ │ │ │ #6 : (in Lorg/purple/smoke/Settings;) │ │ @@ -1539367,17 +1539366,17 @@ │ │ type : '(Lorg/purple/smoke/Settings;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -414acc: |[414acc] org.purple.smoke.Settings.access$1200:(Lorg/purple/smoke/Settings;)V │ │ -414adc: 7010 f2b8 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Settings;.populateFancyKeyData:()V // method@b8f2 │ │ -414ae2: 0e00 |0003: return-void │ │ +414ac8: |[414ac8] org.purple.smoke.Settings.access$1200:(Lorg/purple/smoke/Settings;)V │ │ +414ad8: 7010 f2b8 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Settings;.populateFancyKeyData:()V // method@b8f2 │ │ +414ade: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=84 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/Settings; │ │ │ │ #7 : (in Lorg/purple/smoke/Settings;) │ │ @@ -1539385,17 +1539384,17 @@ │ │ type : '(Lorg/purple/smoke/Settings;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -414ae4: |[414ae4] org.purple.smoke.Settings.access$1300:(Lorg/purple/smoke/Settings;)V │ │ -414af4: 7010 f4b8 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Settings;.populateOzone:()V // method@b8f4 │ │ -414afa: 0e00 |0003: return-void │ │ +414ae0: |[414ae0] org.purple.smoke.Settings.access$1300:(Lorg/purple/smoke/Settings;)V │ │ +414af0: 7010 f4b8 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Settings;.populateOzone:()V // method@b8f4 │ │ +414af6: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=84 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/Settings; │ │ │ │ #8 : (in Lorg/purple/smoke/Settings;) │ │ @@ -1539403,17 +1539402,17 @@ │ │ type : '(Lorg/purple/smoke/Settings;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -414afc: |[414afc] org.purple.smoke.Settings.access$1400:(Lorg/purple/smoke/Settings;)V │ │ -414b0c: 7010 0ab9 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Settings;.startKernel:()V // method@b90a │ │ -414b12: 0e00 |0003: return-void │ │ +414af8: |[414af8] org.purple.smoke.Settings.access$1400:(Lorg/purple/smoke/Settings;)V │ │ +414b08: 7010 0ab9 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Settings;.startKernel:()V // method@b90a │ │ +414b0e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=84 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/Settings; │ │ │ │ #9 : (in Lorg/purple/smoke/Settings;) │ │ @@ -1539421,17 +1539420,17 @@ │ │ type : '(Lorg/purple/smoke/Settings;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -414b14: |[414b14] org.purple.smoke.Settings.access$1500:(Lorg/purple/smoke/Settings;)V │ │ -414b24: 7010 0bb9 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Settings;.startTimers:()V // method@b90b │ │ -414b2a: 0e00 |0003: return-void │ │ +414b10: |[414b10] org.purple.smoke.Settings.access$1500:(Lorg/purple/smoke/Settings;)V │ │ +414b20: 7010 0bb9 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Settings;.startTimers:()V // method@b90b │ │ +414b26: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=84 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/Settings; │ │ │ │ #10 : (in Lorg/purple/smoke/Settings;) │ │ @@ -1539439,17 +1539438,17 @@ │ │ type : '(Lorg/purple/smoke/Settings;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -414b2c: |[414b2c] org.purple.smoke.Settings.access$1600:(Lorg/purple/smoke/Settings;)V │ │ -414b3c: 7010 d6b8 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Settings;.addNeighbor:()V // method@b8d6 │ │ -414b42: 0e00 |0003: return-void │ │ +414b28: |[414b28] org.purple.smoke.Settings.access$1600:(Lorg/purple/smoke/Settings;)V │ │ +414b38: 7010 d6b8 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Settings;.addNeighbor:()V // method@b8d6 │ │ +414b3e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=84 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/Settings; │ │ │ │ #11 : (in Lorg/purple/smoke/Settings;) │ │ @@ -1539457,17 +1539456,17 @@ │ │ type : '(Lorg/purple/smoke/Settings;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -414b44: |[414b44] org.purple.smoke.Settings.access$1700:(Lorg/purple/smoke/Settings;)V │ │ -414b54: 7010 d7b8 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Settings;.addParticipant:()V // method@b8d7 │ │ -414b5a: 0e00 |0003: return-void │ │ +414b40: |[414b40] org.purple.smoke.Settings.access$1700:(Lorg/purple/smoke/Settings;)V │ │ +414b50: 7010 d7b8 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Settings;.addParticipant:()V // method@b8d7 │ │ +414b56: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=84 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/Settings; │ │ │ │ #12 : (in Lorg/purple/smoke/Settings;) │ │ @@ -1539475,17 +1539474,17 @@ │ │ type : '(Lorg/purple/smoke/Settings;Ljava/lang/String;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -414b5c: |[414b5c] org.purple.smoke.Settings.access$1800:(Lorg/purple/smoke/Settings;Ljava/lang/String;)V │ │ -414b6c: 7020 dbb8 1000 |0000: invoke-direct {v0, v1}, Lorg/purple/smoke/Settings;.epks:(Ljava/lang/String;)V // method@b8db │ │ -414b72: 0e00 |0003: return-void │ │ +414b58: |[414b58] org.purple.smoke.Settings.access$1800:(Lorg/purple/smoke/Settings;Ljava/lang/String;)V │ │ +414b68: 7020 dbb8 1000 |0000: invoke-direct {v0, v1}, Lorg/purple/smoke/Settings;.epks:(Ljava/lang/String;)V // method@b8db │ │ +414b6e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=84 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/Settings; │ │ 0x0000 - 0x0004 reg=1 (null) Ljava/lang/String; │ │ │ │ @@ -1539494,17 +1539493,17 @@ │ │ type : '(Lorg/purple/smoke/Settings;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -414b74: |[414b74] org.purple.smoke.Settings.access$1900:(Lorg/purple/smoke/Settings;)V │ │ -414b84: 7010 f9b8 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Settings;.preparePKI:()V // method@b8f9 │ │ -414b8a: 0e00 |0003: return-void │ │ +414b70: |[414b70] org.purple.smoke.Settings.access$1900:(Lorg/purple/smoke/Settings;)V │ │ +414b80: 7010 f9b8 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Settings;.preparePKI:()V // method@b8f9 │ │ +414b86: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=84 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/Settings; │ │ │ │ #14 : (in Lorg/purple/smoke/Settings;) │ │ @@ -1539512,17 +1539511,17 @@ │ │ type : '(Lorg/purple/smoke/Settings;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -414b8c: |[414b8c] org.purple.smoke.Settings.access$200:(Lorg/purple/smoke/Settings;)V │ │ -414b9c: 7010 f5b8 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Settings;.populateParticipants:()V // method@b8f5 │ │ -414ba2: 0e00 |0003: return-void │ │ +414b88: |[414b88] org.purple.smoke.Settings.access$200:(Lorg/purple/smoke/Settings;)V │ │ +414b98: 7010 f5b8 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Settings;.populateParticipants:()V // method@b8f5 │ │ +414b9e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=84 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/Settings; │ │ │ │ #15 : (in Lorg/purple/smoke/Settings;) │ │ @@ -1539530,17 +1539529,17 @@ │ │ type : '(Lorg/purple/smoke/Settings;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -414ba4: |[414ba4] org.purple.smoke.Settings.access$2000:(Lorg/purple/smoke/Settings;)V │ │ -414bb4: 7010 f6b8 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Settings;.prepareCredentials:()V // method@b8f6 │ │ -414bba: 0e00 |0003: return-void │ │ +414ba0: |[414ba0] org.purple.smoke.Settings.access$2000:(Lorg/purple/smoke/Settings;)V │ │ +414bb0: 7010 f6b8 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Settings;.prepareCredentials:()V // method@b8f6 │ │ +414bb6: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=84 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/Settings; │ │ │ │ #16 : (in Lorg/purple/smoke/Settings;) │ │ @@ -1539548,18 +1539547,18 @@ │ │ type : '(Lorg/purple/smoke/Settings;Ljava/lang/String;)Z' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 5 16-bit code units │ │ -4143bc: |[4143bc] org.purple.smoke.Settings.access$2100:(Lorg/purple/smoke/Settings;Ljava/lang/String;)Z │ │ -4143cc: 7020 deb8 1000 |0000: invoke-direct {v0, v1}, Lorg/purple/smoke/Settings;.generateOzone:(Ljava/lang/String;)Z // method@b8de │ │ -4143d2: 0a00 |0003: move-result v0 │ │ -4143d4: 0f00 |0004: return v0 │ │ +4143b8: |[4143b8] org.purple.smoke.Settings.access$2100:(Lorg/purple/smoke/Settings;Ljava/lang/String;)Z │ │ +4143c8: 7020 deb8 1000 |0000: invoke-direct {v0, v1}, Lorg/purple/smoke/Settings;.generateOzone:(Ljava/lang/String;)Z // method@b8de │ │ +4143ce: 0a00 |0003: move-result v0 │ │ +4143d0: 0f00 |0004: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=84 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 (null) Lorg/purple/smoke/Settings; │ │ 0x0000 - 0x0005 reg=1 (null) Ljava/lang/String; │ │ │ │ @@ -1539568,17 +1539567,17 @@ │ │ type : '(Lorg/purple/smoke/Settings;I)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -414bbc: |[414bbc] org.purple.smoke.Settings.access$2200:(Lorg/purple/smoke/Settings;I)V │ │ -414bcc: 7020 00b9 1000 |0000: invoke-direct {v0, v1}, Lorg/purple/smoke/Settings;.shareSipHashId:(I)V // method@b900 │ │ -414bd2: 0e00 |0003: return-void │ │ +414bb8: |[414bb8] org.purple.smoke.Settings.access$2200:(Lorg/purple/smoke/Settings;I)V │ │ +414bc8: 7020 00b9 1000 |0000: invoke-direct {v0, v1}, Lorg/purple/smoke/Settings;.shareSipHashId:(I)V // method@b900 │ │ +414bce: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=84 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/Settings; │ │ 0x0000 - 0x0004 reg=1 (null) I │ │ │ │ @@ -1539587,34 +1539586,34 @@ │ │ type : '()Landroid/text/InputFilter;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -4143a4: |[4143a4] org.purple.smoke.Settings.access$2300:()Landroid/text/InputFilter; │ │ -4143b4: 6200 205d |0000: sget-object v0, Lorg/purple/smoke/Settings;.s_sipHashInputFilter:Landroid/text/InputFilter; // field@5d20 │ │ -4143b8: 1100 |0002: return-object v0 │ │ +4143a0: |[4143a0] org.purple.smoke.Settings.access$2300:()Landroid/text/InputFilter; │ │ +4143b0: 6200 205d |0000: sget-object v0, Lorg/purple/smoke/Settings;.s_sipHashInputFilter:Landroid/text/InputFilter; // field@5d20 │ │ +4143b4: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=84 │ │ locals : │ │ │ │ #19 : (in Lorg/purple/smoke/Settings;) │ │ name : 'access$2400' │ │ type : '(Lorg/purple/smoke/Settings;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -414bd4: |[414bd4] org.purple.smoke.Settings.access$2400:(Lorg/purple/smoke/Settings;)V │ │ -414be4: 7010 0cb9 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Settings;.stopTimers:()V // method@b90c │ │ -414bea: 0e00 |0003: return-void │ │ +414bd0: |[414bd0] org.purple.smoke.Settings.access$2400:(Lorg/purple/smoke/Settings;)V │ │ +414be0: 7010 0cb9 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Settings;.stopTimers:()V // method@b90c │ │ +414be6: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=84 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/Settings; │ │ │ │ #20 : (in Lorg/purple/smoke/Settings;) │ │ @@ -1539622,34 +1539621,34 @@ │ │ type : '()Lorg/purple/smoke/Cryptography;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -4149d4: |[4149d4] org.purple.smoke.Settings.access$300:()Lorg/purple/smoke/Cryptography; │ │ -4149e4: 6200 1e5d |0000: sget-object v0, Lorg/purple/smoke/Settings;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d1e │ │ -4149e8: 1100 |0002: return-object v0 │ │ +4149d0: |[4149d0] org.purple.smoke.Settings.access$300:()Lorg/purple/smoke/Cryptography; │ │ +4149e0: 6200 1e5d |0000: sget-object v0, Lorg/purple/smoke/Settings;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d1e │ │ +4149e4: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=84 │ │ locals : │ │ │ │ #21 : (in Lorg/purple/smoke/Settings;) │ │ name : 'access$400' │ │ type : '(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -4149ec: |[4149ec] org.purple.smoke.Settings.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; │ │ -4149fc: 5400 1a5d |0000: iget-object v0, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -414a00: 1100 |0002: return-object v0 │ │ +4149e8: |[4149e8] org.purple.smoke.Settings.access$400:(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; │ │ +4149f8: 5400 1a5d |0000: iget-object v0, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +4149fc: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=84 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/Settings; │ │ │ │ #22 : (in Lorg/purple/smoke/Settings;) │ │ @@ -1539657,17 +1539656,17 @@ │ │ type : '(Lorg/purple/smoke/Settings;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -414bec: |[414bec] org.purple.smoke.Settings.access$500:(Lorg/purple/smoke/Settings;)V │ │ -414bfc: 7010 d9b8 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Settings;.disablePKIButtons:()V // method@b8d9 │ │ -414c02: 0e00 |0003: return-void │ │ +414be8: |[414be8] org.purple.smoke.Settings.access$500:(Lorg/purple/smoke/Settings;)V │ │ +414bf8: 7010 d9b8 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Settings;.disablePKIButtons:()V // method@b8d9 │ │ +414bfe: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=84 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/Settings; │ │ │ │ #23 : (in Lorg/purple/smoke/Settings;) │ │ @@ -1539675,17 +1539674,17 @@ │ │ type : '(Lorg/purple/smoke/Settings;Ljava/lang/String;I)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 4 16-bit code units │ │ -414c04: |[414c04] org.purple.smoke.Settings.access$800:(Lorg/purple/smoke/Settings;Ljava/lang/String;I)V │ │ -414c14: 7030 d8b8 1002 |0000: invoke-direct {v0, v1, v2}, Lorg/purple/smoke/Settings;.deleteNeighbor:(Ljava/lang/String;I)V // method@b8d8 │ │ -414c1a: 0e00 |0003: return-void │ │ +414c00: |[414c00] org.purple.smoke.Settings.access$800:(Lorg/purple/smoke/Settings;Ljava/lang/String;I)V │ │ +414c10: 7030 d8b8 1002 |0000: invoke-direct {v0, v1, v2}, Lorg/purple/smoke/Settings;.deleteNeighbor:(Ljava/lang/String;I)V // method@b8d8 │ │ +414c16: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=84 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/Settings; │ │ 0x0000 - 0x0004 reg=1 (null) Ljava/lang/String; │ │ 0x0000 - 0x0004 reg=2 (null) I │ │ @@ -1539695,172 +1539694,172 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 26 │ │ ins : 1 │ │ outs : 12 │ │ insns size : 329 16-bit code units │ │ -414c1c: |[414c1c] org.purple.smoke.Settings.addNeighbor:()V │ │ -414c2c: 0800 1900 |0000: move-object/from16 v0, v25 │ │ -414c30: 1401 ab00 087f |0002: const v1, #float 1.80778e+38 // #7f0800ab │ │ -414c36: 6e20 dcb8 1000 |0005: invoke-virtual {v0, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -414c3c: 0c01 |0008: move-result-object v1 │ │ -414c3e: 1f01 7f0a |0009: check-cast v1, Landroid/widget/RadioGroup; // type@0a7f │ │ -414c42: 1402 ae00 087f |000b: const v2, #float 1.80779e+38 // #7f0800ae │ │ -414c48: 6e20 dcb8 2000 |000e: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -414c4e: 0c02 |0011: move-result-object v2 │ │ -414c50: 1f02 8b0a |0012: check-cast v2, Landroid/widget/Spinner; // type@0a8b │ │ -414c54: 1403 d400 087f |0014: const v3, #float 1.80779e+38 // #7f0800d4 │ │ -414c5a: 6e20 dcb8 3000 |0017: invoke-virtual {v0, v3}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -414c60: 0c03 |001a: move-result-object v3 │ │ -414c62: 1f03 8b0a |001b: check-cast v3, Landroid/widget/Spinner; // type@0a8b │ │ -414c66: 1404 2c00 087f |001d: const v4, #float 1.80776e+38 // #7f08002c │ │ -414c6c: 6e20 dcb8 4000 |0020: invoke-virtual {v0, v4}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -414c72: 0c04 |0023: move-result-object v4 │ │ -414c74: 1f04 8d0a |0024: check-cast v4, Landroid/widget/Switch; // type@0a8d │ │ -414c78: 1405 8100 087f |0026: const v5, #float 1.80778e+38 // #7f080081 │ │ -414c7e: 6e20 dcb8 5000 |0029: invoke-virtual {v0, v5}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -414c84: 0c05 |002c: move-result-object v5 │ │ -414c86: 1f05 8d0a |002d: check-cast v5, Landroid/widget/Switch; // type@0a8d │ │ -414c8a: 1406 b000 087f |002f: const v6, #float 1.80779e+38 // #7f0800b0 │ │ -414c90: 6e20 dcb8 6000 |0032: invoke-virtual {v0, v6}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -414c96: 0c06 |0035: move-result-object v6 │ │ -414c98: 1f06 8d0a |0036: check-cast v6, Landroid/widget/Switch; // type@0a8d │ │ -414c9c: 1407 c100 087f |0038: const v7, #float 1.80779e+38 // #7f0800c1 │ │ -414ca2: 6e20 dcb8 7000 |003b: invoke-virtual {v0, v7}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -414ca8: 0c07 |003e: move-result-object v7 │ │ -414caa: 1f07 8d0a |003f: check-cast v7, Landroid/widget/Switch; // type@0a8d │ │ -414cae: 1408 d200 087f |0041: const v8, #float 1.80779e+38 // #7f0800d2 │ │ -414cb4: 6e20 dcb8 8000 |0044: invoke-virtual {v0, v8}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -414cba: 0c08 |0047: move-result-object v8 │ │ -414cbc: 1f08 970a |0048: check-cast v8, Landroid/widget/TextView; // type@0a97 │ │ -414cc0: 1409 d300 087f |004a: const v9, #float 1.80779e+38 // #7f0800d3 │ │ -414cc6: 6e20 dcb8 9000 |004d: invoke-virtual {v0, v9}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -414ccc: 0c09 |0050: move-result-object v9 │ │ -414cce: 1f09 970a |0051: check-cast v9, Landroid/widget/TextView; // type@0a97 │ │ -414cd2: 140a a800 087f |0053: const v10, #float 1.80778e+38 // #7f0800a8 │ │ -414cd8: 6e20 dcb8 a000 |0056: invoke-virtual {v0, v10}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -414cde: 0c0a |0059: move-result-object v10 │ │ -414ce0: 1f0a 970a |005a: check-cast v10, Landroid/widget/TextView; // type@0a97 │ │ -414ce4: 140b ac00 087f |005c: const v11, #float 1.80778e+38 // #7f0800ac │ │ -414cea: 6e20 dcb8 b000 |005f: invoke-virtual {v0, v11}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -414cf0: 0c0b |0062: move-result-object v11 │ │ -414cf2: 1f0b 970a |0063: check-cast v11, Landroid/widget/TextView; // type@0a97 │ │ -414cf6: 140c ad00 087f |0065: const v12, #float 1.80779e+38 // #7f0800ad │ │ -414cfc: 6e20 dcb8 c000 |0068: invoke-virtual {v0, v12}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -414d02: 0c0c |006b: move-result-object v12 │ │ -414d04: 1f0c 970a |006c: check-cast v12, Landroid/widget/TextView; // type@0a97 │ │ -414d08: 6e10 665a 0100 |006e: invoke-virtual {v1}, Landroid/widget/RadioGroup;.getCheckedRadioButtonId:()I // method@5a66 │ │ -414d0e: 0a01 |0071: move-result v1 │ │ -414d10: 140d a900 087f |0072: const v13, #float 1.80778e+38 // #7f0800a9 │ │ -414d16: 33d1 0500 |0075: if-ne v1, v13, 007a // +0005 │ │ -414d1a: 1a01 681d |0077: const-string v1, "IPv4" // string@1d68 │ │ -414d1e: 2803 |0079: goto 007c // +0003 │ │ -414d20: 1a01 691d |007a: const-string v1, "IPv6" // string@1d69 │ │ -414d24: 0818 0100 |007c: move-object/from16 v24, v1 │ │ -414d28: 6e10 1c5b 0a00 |007e: invoke-virtual {v10}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ -414d2e: 0c01 |0081: move-result-object v1 │ │ -414d30: 7210 045c 0100 |0082: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ -414d36: 0c01 |0085: move-result-object v1 │ │ -414d38: 6e10 d35c 0100 |0086: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ -414d3e: 0c01 |0089: move-result-object v1 │ │ -414d40: 6e10 c35c 0100 |008a: invoke-virtual {v1}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -414d46: 0a01 |008d: move-result v1 │ │ -414d48: 3801 0900 |008e: if-eqz v1, 0097 // +0009 │ │ -414d4c: 1a01 d243 |0090: const-string v1, "Please complete the IP Address field." // string@43d2 │ │ -414d50: 7120 ecb7 1000 |0092: invoke-static {v0, v1}, Lorg/purple/smoke/Miscellaneous;.showErrorDialog:(Landroid/content/Context;Ljava/lang/String;)V // method@b7ec │ │ -414d56: 2900 b300 |0095: goto/16 0148 // +00b3 │ │ -414d5a: 540d 1a5d |0097: iget-object v13, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -414d5e: 620e 1e5d |0099: sget-object v14, Lorg/purple/smoke/Settings;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d1e │ │ -414d62: 6e10 da5a 0600 |009b: invoke-virtual {v6}, Landroid/widget/Switch;.isChecked:()Z // method@5ada │ │ -414d68: 0a01 |009e: move-result v1 │ │ -414d6a: 1a06 00a3 |009f: const-string v6, "true" // string@a300 │ │ -414d6e: 1a0f c066 |00a1: const-string v15, "false" // string@66c0 │ │ -414d72: 3801 0400 |00a3: if-eqz v1, 00a7 // +0004 │ │ -414d76: 0761 |00a5: move-object v1, v6 │ │ -414d78: 2802 |00a6: goto 00a8 // +0002 │ │ -414d7a: 07f1 |00a7: move-object v1, v15 │ │ -414d7c: 6e10 da5a 0700 |00a8: invoke-virtual {v7}, Landroid/widget/Switch;.isChecked:()Z // method@5ada │ │ -414d82: 0a07 |00ab: move-result v7 │ │ -414d84: 3807 0500 |00ac: if-eqz v7, 00b1 // +0005 │ │ -414d88: 0810 0600 |00ae: move-object/from16 v16, v6 │ │ -414d8c: 2803 |00b0: goto 00b3 // +0003 │ │ -414d8e: 0810 0f00 |00b1: move-object/from16 v16, v15 │ │ -414d92: 6e10 1c5b 0800 |00b3: invoke-virtual {v8}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ -414d98: 0c06 |00b6: move-result-object v6 │ │ -414d9a: 7210 045c 0600 |00b7: invoke-interface {v6}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ -414da0: 0c11 |00ba: move-result-object v17 │ │ -414da2: 6e10 1c5b 0900 |00bb: invoke-virtual {v9}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ -414da8: 0c06 |00be: move-result-object v6 │ │ -414daa: 7210 045c 0600 |00bf: invoke-interface {v6}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ -414db0: 0c12 |00c2: move-result-object v18 │ │ -414db2: 6e10 ba5a 0300 |00c3: invoke-virtual {v3}, Landroid/widget/Spinner;.getSelectedItem:()Ljava/lang/Object; // method@5aba │ │ -414db8: 0c03 |00c6: move-result-object v3 │ │ -414dba: 6e10 965c 0300 |00c7: invoke-virtual {v3}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@5c96 │ │ -414dc0: 0c13 |00ca: move-result-object v19 │ │ -414dc2: 6e10 1c5b 0a00 |00cb: invoke-virtual {v10}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ -414dc8: 0c03 |00ce: move-result-object v3 │ │ -414dca: 7210 045c 0300 |00cf: invoke-interface {v3}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ -414dd0: 0c14 |00d2: move-result-object v20 │ │ -414dd2: 6e10 1c5b 0b00 |00d3: invoke-virtual {v11}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ -414dd8: 0c03 |00d6: move-result-object v3 │ │ -414dda: 7210 045c 0300 |00d7: invoke-interface {v3}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ -414de0: 0c15 |00da: move-result-object v21 │ │ -414de2: 6e10 1c5b 0c00 |00db: invoke-virtual {v12}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ -414de8: 0c03 |00de: move-result-object v3 │ │ -414dea: 7210 045c 0300 |00df: invoke-interface {v3}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ -414df0: 0c16 |00e2: move-result-object v22 │ │ -414df2: 6e10 ba5a 0200 |00e3: invoke-virtual {v2}, Landroid/widget/Spinner;.getSelectedItem:()Ljava/lang/Object; // method@5aba │ │ -414df8: 0c03 |00e6: move-result-object v3 │ │ -414dfa: 6e10 965c 0300 |00e7: invoke-virtual {v3}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@5c96 │ │ -414e00: 0c17 |00ea: move-result-object v23 │ │ -414e02: 071f |00eb: move-object v15, v1 │ │ -414e04: 740c 2bb6 0d00 |00ec: invoke-virtual/range {v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24}, Lorg/purple/smoke/Database;.writeNeighbor:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z // method@b62b │ │ -414e0a: 0a01 |00ef: move-result v1 │ │ -414e0c: 3901 0800 |00f0: if-nez v1, 00f8 // +0008 │ │ -414e10: 1a01 5c0d |00f2: const-string v1, "An error occurred while saving the neighbor information." // string@0d5c │ │ -414e14: 7120 ecb7 1000 |00f4: invoke-static {v0, v1}, Lorg/purple/smoke/Miscellaneous;.showErrorDialog:(Landroid/content/Context;Ljava/lang/String;)V // method@b7ec │ │ -414e1a: 2851 |00f7: goto 0148 // +0051 │ │ -414e1c: 6e10 da5a 0400 |00f8: invoke-virtual {v4}, Landroid/widget/Switch;.isChecked:()Z // method@5ada │ │ -414e22: 0a01 |00fb: move-result v1 │ │ -414e24: 3901 0600 |00fc: if-nez v1, 0102 // +0006 │ │ -414e28: 1201 |00fe: const/4 v1, #int 0 // #0 │ │ -414e2a: 7020 f3b8 1000 |00ff: invoke-direct {v0, v1}, Lorg/purple/smoke/Settings;.populateNeighbors:(Ljava/util/ArrayList;)V // method@b8f3 │ │ -414e30: 6e10 da5a 0500 |0102: invoke-virtual {v5}, Landroid/widget/Switch;.isChecked:()Z // method@5ada │ │ -414e36: 0a01 |0105: move-result v1 │ │ -414e38: 3801 4200 |0106: if-eqz v1, 0148 // +0042 │ │ -414e3c: 2201 f10a |0108: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ -414e40: 7010 ee5c 0100 |010a: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -414e46: 6e10 1c5b 0a00 |010d: invoke-virtual {v10}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ -414e4c: 0c03 |0110: move-result-object v3 │ │ -414e4e: 7210 045c 0300 |0111: invoke-interface {v3}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ -414e54: 0c03 |0114: move-result-object v3 │ │ -414e56: 6e20 f95c 3100 |0115: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -414e5c: 1a03 7108 |0118: const-string v3, ":" // string@0871 │ │ -414e60: 6e20 f95c 3100 |011a: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -414e66: 6e10 1c5b 0b00 |011d: invoke-virtual {v11}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ -414e6c: 0c04 |0120: move-result-object v4 │ │ -414e6e: 7210 045c 0400 |0121: invoke-interface {v4}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ -414e74: 0c04 |0124: move-result-object v4 │ │ -414e76: 6e20 f95c 4100 |0125: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -414e7c: 6e20 f95c 3100 |0128: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -414e82: 6e10 ba5a 0200 |012b: invoke-virtual {v2}, Landroid/widget/Spinner;.getSelectedItem:()Ljava/lang/Object; // method@5aba │ │ -414e88: 0c02 |012e: move-result-object v2 │ │ -414e8a: 6e20 f85c 2100 |012f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@5cf8 │ │ -414e90: 6e10 035d 0100 |0132: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -414e96: 0c01 |0135: move-result-object v1 │ │ -414e98: 7020 deb8 1000 |0136: invoke-direct {v0, v1}, Lorg/purple/smoke/Settings;.generateOzone:(Ljava/lang/String;)Z // method@b8de │ │ -414e9e: 0a02 |0139: move-result v2 │ │ -414ea0: 3802 0e00 |013a: if-eqz v2, 0148 // +000e │ │ -414ea4: 1402 b700 087f |013c: const v2, #float 1.80779e+38 // #7f0800b7 │ │ -414eaa: 6e20 dcb8 2000 |013f: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -414eb0: 0c02 |0142: move-result-object v2 │ │ -414eb2: 1f02 970a |0143: check-cast v2, Landroid/widget/TextView; // type@0a97 │ │ -414eb6: 6e20 495b 1200 |0145: invoke-virtual {v2, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -414ebc: 0e00 |0148: return-void │ │ +414c18: |[414c18] org.purple.smoke.Settings.addNeighbor:()V │ │ +414c28: 0800 1900 |0000: move-object/from16 v0, v25 │ │ +414c2c: 1401 ab00 087f |0002: const v1, #float 1.80778e+38 // #7f0800ab │ │ +414c32: 6e20 dcb8 1000 |0005: invoke-virtual {v0, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +414c38: 0c01 |0008: move-result-object v1 │ │ +414c3a: 1f01 7f0a |0009: check-cast v1, Landroid/widget/RadioGroup; // type@0a7f │ │ +414c3e: 1402 ae00 087f |000b: const v2, #float 1.80779e+38 // #7f0800ae │ │ +414c44: 6e20 dcb8 2000 |000e: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +414c4a: 0c02 |0011: move-result-object v2 │ │ +414c4c: 1f02 8b0a |0012: check-cast v2, Landroid/widget/Spinner; // type@0a8b │ │ +414c50: 1403 d400 087f |0014: const v3, #float 1.80779e+38 // #7f0800d4 │ │ +414c56: 6e20 dcb8 3000 |0017: invoke-virtual {v0, v3}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +414c5c: 0c03 |001a: move-result-object v3 │ │ +414c5e: 1f03 8b0a |001b: check-cast v3, Landroid/widget/Spinner; // type@0a8b │ │ +414c62: 1404 2c00 087f |001d: const v4, #float 1.80776e+38 // #7f08002c │ │ +414c68: 6e20 dcb8 4000 |0020: invoke-virtual {v0, v4}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +414c6e: 0c04 |0023: move-result-object v4 │ │ +414c70: 1f04 8d0a |0024: check-cast v4, Landroid/widget/Switch; // type@0a8d │ │ +414c74: 1405 8100 087f |0026: const v5, #float 1.80778e+38 // #7f080081 │ │ +414c7a: 6e20 dcb8 5000 |0029: invoke-virtual {v0, v5}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +414c80: 0c05 |002c: move-result-object v5 │ │ +414c82: 1f05 8d0a |002d: check-cast v5, Landroid/widget/Switch; // type@0a8d │ │ +414c86: 1406 b000 087f |002f: const v6, #float 1.80779e+38 // #7f0800b0 │ │ +414c8c: 6e20 dcb8 6000 |0032: invoke-virtual {v0, v6}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +414c92: 0c06 |0035: move-result-object v6 │ │ +414c94: 1f06 8d0a |0036: check-cast v6, Landroid/widget/Switch; // type@0a8d │ │ +414c98: 1407 c100 087f |0038: const v7, #float 1.80779e+38 // #7f0800c1 │ │ +414c9e: 6e20 dcb8 7000 |003b: invoke-virtual {v0, v7}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +414ca4: 0c07 |003e: move-result-object v7 │ │ +414ca6: 1f07 8d0a |003f: check-cast v7, Landroid/widget/Switch; // type@0a8d │ │ +414caa: 1408 d200 087f |0041: const v8, #float 1.80779e+38 // #7f0800d2 │ │ +414cb0: 6e20 dcb8 8000 |0044: invoke-virtual {v0, v8}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +414cb6: 0c08 |0047: move-result-object v8 │ │ +414cb8: 1f08 970a |0048: check-cast v8, Landroid/widget/TextView; // type@0a97 │ │ +414cbc: 1409 d300 087f |004a: const v9, #float 1.80779e+38 // #7f0800d3 │ │ +414cc2: 6e20 dcb8 9000 |004d: invoke-virtual {v0, v9}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +414cc8: 0c09 |0050: move-result-object v9 │ │ +414cca: 1f09 970a |0051: check-cast v9, Landroid/widget/TextView; // type@0a97 │ │ +414cce: 140a a800 087f |0053: const v10, #float 1.80778e+38 // #7f0800a8 │ │ +414cd4: 6e20 dcb8 a000 |0056: invoke-virtual {v0, v10}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +414cda: 0c0a |0059: move-result-object v10 │ │ +414cdc: 1f0a 970a |005a: check-cast v10, Landroid/widget/TextView; // type@0a97 │ │ +414ce0: 140b ac00 087f |005c: const v11, #float 1.80778e+38 // #7f0800ac │ │ +414ce6: 6e20 dcb8 b000 |005f: invoke-virtual {v0, v11}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +414cec: 0c0b |0062: move-result-object v11 │ │ +414cee: 1f0b 970a |0063: check-cast v11, Landroid/widget/TextView; // type@0a97 │ │ +414cf2: 140c ad00 087f |0065: const v12, #float 1.80779e+38 // #7f0800ad │ │ +414cf8: 6e20 dcb8 c000 |0068: invoke-virtual {v0, v12}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +414cfe: 0c0c |006b: move-result-object v12 │ │ +414d00: 1f0c 970a |006c: check-cast v12, Landroid/widget/TextView; // type@0a97 │ │ +414d04: 6e10 665a 0100 |006e: invoke-virtual {v1}, Landroid/widget/RadioGroup;.getCheckedRadioButtonId:()I // method@5a66 │ │ +414d0a: 0a01 |0071: move-result v1 │ │ +414d0c: 140d a900 087f |0072: const v13, #float 1.80778e+38 // #7f0800a9 │ │ +414d12: 33d1 0500 |0075: if-ne v1, v13, 007a // +0005 │ │ +414d16: 1a01 681d |0077: const-string v1, "IPv4" // string@1d68 │ │ +414d1a: 2803 |0079: goto 007c // +0003 │ │ +414d1c: 1a01 691d |007a: const-string v1, "IPv6" // string@1d69 │ │ +414d20: 0818 0100 |007c: move-object/from16 v24, v1 │ │ +414d24: 6e10 1c5b 0a00 |007e: invoke-virtual {v10}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ +414d2a: 0c01 |0081: move-result-object v1 │ │ +414d2c: 7210 045c 0100 |0082: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ +414d32: 0c01 |0085: move-result-object v1 │ │ +414d34: 6e10 d35c 0100 |0086: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ +414d3a: 0c01 |0089: move-result-object v1 │ │ +414d3c: 6e10 c35c 0100 |008a: invoke-virtual {v1}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +414d42: 0a01 |008d: move-result v1 │ │ +414d44: 3801 0900 |008e: if-eqz v1, 0097 // +0009 │ │ +414d48: 1a01 d243 |0090: const-string v1, "Please complete the IP Address field." // string@43d2 │ │ +414d4c: 7120 ecb7 1000 |0092: invoke-static {v0, v1}, Lorg/purple/smoke/Miscellaneous;.showErrorDialog:(Landroid/content/Context;Ljava/lang/String;)V // method@b7ec │ │ +414d52: 2900 b300 |0095: goto/16 0148 // +00b3 │ │ +414d56: 540d 1a5d |0097: iget-object v13, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +414d5a: 620e 1e5d |0099: sget-object v14, Lorg/purple/smoke/Settings;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d1e │ │ +414d5e: 6e10 da5a 0600 |009b: invoke-virtual {v6}, Landroid/widget/Switch;.isChecked:()Z // method@5ada │ │ +414d64: 0a01 |009e: move-result v1 │ │ +414d66: 1a06 00a3 |009f: const-string v6, "true" // string@a300 │ │ +414d6a: 1a0f c066 |00a1: const-string v15, "false" // string@66c0 │ │ +414d6e: 3801 0400 |00a3: if-eqz v1, 00a7 // +0004 │ │ +414d72: 0761 |00a5: move-object v1, v6 │ │ +414d74: 2802 |00a6: goto 00a8 // +0002 │ │ +414d76: 07f1 |00a7: move-object v1, v15 │ │ +414d78: 6e10 da5a 0700 |00a8: invoke-virtual {v7}, Landroid/widget/Switch;.isChecked:()Z // method@5ada │ │ +414d7e: 0a07 |00ab: move-result v7 │ │ +414d80: 3807 0500 |00ac: if-eqz v7, 00b1 // +0005 │ │ +414d84: 0810 0600 |00ae: move-object/from16 v16, v6 │ │ +414d88: 2803 |00b0: goto 00b3 // +0003 │ │ +414d8a: 0810 0f00 |00b1: move-object/from16 v16, v15 │ │ +414d8e: 6e10 1c5b 0800 |00b3: invoke-virtual {v8}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ +414d94: 0c06 |00b6: move-result-object v6 │ │ +414d96: 7210 045c 0600 |00b7: invoke-interface {v6}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ +414d9c: 0c11 |00ba: move-result-object v17 │ │ +414d9e: 6e10 1c5b 0900 |00bb: invoke-virtual {v9}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ +414da4: 0c06 |00be: move-result-object v6 │ │ +414da6: 7210 045c 0600 |00bf: invoke-interface {v6}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ +414dac: 0c12 |00c2: move-result-object v18 │ │ +414dae: 6e10 ba5a 0300 |00c3: invoke-virtual {v3}, Landroid/widget/Spinner;.getSelectedItem:()Ljava/lang/Object; // method@5aba │ │ +414db4: 0c03 |00c6: move-result-object v3 │ │ +414db6: 6e10 965c 0300 |00c7: invoke-virtual {v3}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@5c96 │ │ +414dbc: 0c13 |00ca: move-result-object v19 │ │ +414dbe: 6e10 1c5b 0a00 |00cb: invoke-virtual {v10}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ +414dc4: 0c03 |00ce: move-result-object v3 │ │ +414dc6: 7210 045c 0300 |00cf: invoke-interface {v3}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ +414dcc: 0c14 |00d2: move-result-object v20 │ │ +414dce: 6e10 1c5b 0b00 |00d3: invoke-virtual {v11}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ +414dd4: 0c03 |00d6: move-result-object v3 │ │ +414dd6: 7210 045c 0300 |00d7: invoke-interface {v3}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ +414ddc: 0c15 |00da: move-result-object v21 │ │ +414dde: 6e10 1c5b 0c00 |00db: invoke-virtual {v12}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ +414de4: 0c03 |00de: move-result-object v3 │ │ +414de6: 7210 045c 0300 |00df: invoke-interface {v3}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ +414dec: 0c16 |00e2: move-result-object v22 │ │ +414dee: 6e10 ba5a 0200 |00e3: invoke-virtual {v2}, Landroid/widget/Spinner;.getSelectedItem:()Ljava/lang/Object; // method@5aba │ │ +414df4: 0c03 |00e6: move-result-object v3 │ │ +414df6: 6e10 965c 0300 |00e7: invoke-virtual {v3}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@5c96 │ │ +414dfc: 0c17 |00ea: move-result-object v23 │ │ +414dfe: 071f |00eb: move-object v15, v1 │ │ +414e00: 740c 2bb6 0d00 |00ec: invoke-virtual/range {v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24}, Lorg/purple/smoke/Database;.writeNeighbor:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z // method@b62b │ │ +414e06: 0a01 |00ef: move-result v1 │ │ +414e08: 3901 0800 |00f0: if-nez v1, 00f8 // +0008 │ │ +414e0c: 1a01 5c0d |00f2: const-string v1, "An error occurred while saving the neighbor information." // string@0d5c │ │ +414e10: 7120 ecb7 1000 |00f4: invoke-static {v0, v1}, Lorg/purple/smoke/Miscellaneous;.showErrorDialog:(Landroid/content/Context;Ljava/lang/String;)V // method@b7ec │ │ +414e16: 2851 |00f7: goto 0148 // +0051 │ │ +414e18: 6e10 da5a 0400 |00f8: invoke-virtual {v4}, Landroid/widget/Switch;.isChecked:()Z // method@5ada │ │ +414e1e: 0a01 |00fb: move-result v1 │ │ +414e20: 3901 0600 |00fc: if-nez v1, 0102 // +0006 │ │ +414e24: 1201 |00fe: const/4 v1, #int 0 // #0 │ │ +414e26: 7020 f3b8 1000 |00ff: invoke-direct {v0, v1}, Lorg/purple/smoke/Settings;.populateNeighbors:(Ljava/util/ArrayList;)V // method@b8f3 │ │ +414e2c: 6e10 da5a 0500 |0102: invoke-virtual {v5}, Landroid/widget/Switch;.isChecked:()Z // method@5ada │ │ +414e32: 0a01 |0105: move-result v1 │ │ +414e34: 3801 4200 |0106: if-eqz v1, 0148 // +0042 │ │ +414e38: 2201 f10a |0108: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ +414e3c: 7010 ee5c 0100 |010a: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +414e42: 6e10 1c5b 0a00 |010d: invoke-virtual {v10}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ +414e48: 0c03 |0110: move-result-object v3 │ │ +414e4a: 7210 045c 0300 |0111: invoke-interface {v3}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ +414e50: 0c03 |0114: move-result-object v3 │ │ +414e52: 6e20 f95c 3100 |0115: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +414e58: 1a03 7108 |0118: const-string v3, ":" // string@0871 │ │ +414e5c: 6e20 f95c 3100 |011a: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +414e62: 6e10 1c5b 0b00 |011d: invoke-virtual {v11}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ +414e68: 0c04 |0120: move-result-object v4 │ │ +414e6a: 7210 045c 0400 |0121: invoke-interface {v4}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ +414e70: 0c04 |0124: move-result-object v4 │ │ +414e72: 6e20 f95c 4100 |0125: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +414e78: 6e20 f95c 3100 |0128: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +414e7e: 6e10 ba5a 0200 |012b: invoke-virtual {v2}, Landroid/widget/Spinner;.getSelectedItem:()Ljava/lang/Object; // method@5aba │ │ +414e84: 0c02 |012e: move-result-object v2 │ │ +414e86: 6e20 f85c 2100 |012f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@5cf8 │ │ +414e8c: 6e10 035d 0100 |0132: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +414e92: 0c01 |0135: move-result-object v1 │ │ +414e94: 7020 deb8 1000 |0136: invoke-direct {v0, v1}, Lorg/purple/smoke/Settings;.generateOzone:(Ljava/lang/String;)Z // method@b8de │ │ +414e9a: 0a02 |0139: move-result v2 │ │ +414e9c: 3802 0e00 |013a: if-eqz v2, 0148 // +000e │ │ +414ea0: 1402 b700 087f |013c: const v2, #float 1.80779e+38 // #7f0800b7 │ │ +414ea6: 6e20 dcb8 2000 |013f: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +414eac: 0c02 |0142: move-result-object v2 │ │ +414eae: 1f02 970a |0143: check-cast v2, Landroid/widget/TextView; // type@0a97 │ │ +414eb2: 6e20 495b 1200 |0145: invoke-virtual {v2, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +414eb8: 0e00 |0148: return-void │ │ catches : (none) │ │ positions : │ │ 0x0005 line=304 │ │ 0x000e line=305 │ │ 0x0017 line=306 │ │ 0x0020 line=308 │ │ 0x0029 line=309 │ │ @@ -1539903,141 +1539902,141 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 263 16-bit code units │ │ -414ec0: |[414ec0] org.purple.smoke.Settings.addParticipant:()V │ │ -414ed0: 6e10 e6b8 0500 |0000: invoke-virtual {v5}, Lorg/purple/smoke/Settings;.isFinishing:()Z // method@b8e6 │ │ -414ed6: 0a00 |0003: move-result v0 │ │ -414ed8: 3800 0300 |0004: if-eqz v0, 0007 // +0003 │ │ -414edc: 0e00 |0006: return-void │ │ -414ede: 1400 2500 087f |0007: const v0, #float 1.80776e+38 // #7f080025 │ │ -414ee4: 6e20 dcb8 0500 |000a: invoke-virtual {v5, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -414eea: 0c00 |000d: move-result-object v0 │ │ -414eec: 1f00 8d0a |000e: check-cast v0, Landroid/widget/Switch; // type@0a8d │ │ -414ef0: 1401 be00 087f |0010: const v1, #float 1.80779e+38 // #7f0800be │ │ -414ef6: 6e20 dcb8 1500 |0013: invoke-virtual {v5, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -414efc: 0c01 |0016: move-result-object v1 │ │ -414efe: 1f01 970a |0017: check-cast v1, Landroid/widget/TextView; // type@0a97 │ │ -414f02: 1402 0b01 087f |0019: const v2, #float 1.8078e+38 // #7f08010b │ │ -414f08: 6e20 dcb8 2500 |001c: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -414f0e: 0c02 |001f: move-result-object v2 │ │ -414f10: 1f02 970a |0020: check-cast v2, Landroid/widget/TextView; // type@0a97 │ │ -414f14: 6e10 da5a 0000 |0022: invoke-virtual {v0}, Landroid/widget/Switch;.isChecked:()Z // method@5ada │ │ -414f1a: 0a00 |0025: move-result v0 │ │ -414f1c: 3800 4200 |0026: if-eqz v0, 0068 // +0042 │ │ -414f20: 6e10 1c5b 0100 |0028: invoke-virtual {v1}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ -414f26: 0c00 |002b: move-result-object v0 │ │ -414f28: 7210 045c 0000 |002c: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ -414f2e: 0c00 |002f: move-result-object v0 │ │ -414f30: 6e10 d35c 0000 |0030: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ -414f36: 0c00 |0033: move-result-object v0 │ │ -414f38: 6e10 c55c 0000 |0034: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@5cc5 │ │ -414f3e: 0a01 |0037: move-result v1 │ │ -414f40: 1302 0800 |0038: const/16 v2, #int 8 // #8 │ │ -414f44: 3521 0800 |003a: if-ge v1, v2, 0042 // +0008 │ │ -414f48: 1a00 f108 |003c: const-string v0, "A Smoke Alias must include at least eight characters." // string@08f1 │ │ -414f4c: 7120 ecb7 0500 |003e: invoke-static {v5, v0}, Lorg/purple/smoke/Miscellaneous;.showErrorDialog:(Landroid/content/Context;Ljava/lang/String;)V // method@b7ec │ │ -414f52: 0e00 |0041: return-void │ │ -414f54: 5451 1a5d |0042: iget-object v1, v5, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -414f58: 6202 1e5d |0044: sget-object v2, Lorg/purple/smoke/Settings;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d1e │ │ -414f5c: 1a03 0958 |0046: const-string v3, "alias" // string@5809 │ │ -414f60: 6e30 0eb6 2103 |0048: invoke-virtual {v1, v2, v3}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ -414f66: 0c01 |004b: move-result-object v1 │ │ -414f68: 6e20 b85c 0100 |004c: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -414f6e: 0a01 |004f: move-result v1 │ │ -414f70: 3801 0800 |0050: if-eqz v1, 0058 // +0008 │ │ -414f74: 1a00 d543 |0052: const-string v0, "Please do not assign your Smoke Alias." // string@43d5 │ │ -414f78: 7120 ecb7 0500 |0054: invoke-static {v5, v0}, Lorg/purple/smoke/Miscellaneous;.showErrorDialog:(Landroid/content/Context;Ljava/lang/String;)V // method@b7ec │ │ -414f7e: 0e00 |0057: return-void │ │ -414f80: 7110 b8b5 0000 |0058: invoke-static {v0}, Lorg/purple/smoke/Cryptography;.sipHashIdFromString:(Ljava/lang/String;)Ljava/lang/String; // method@b5b8 │ │ -414f86: 0c00 |005b: move-result-object v0 │ │ -414f88: 6e10 c35c 0000 |005c: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -414f8e: 0a01 |005f: move-result v1 │ │ -414f90: 3801 6400 |0060: if-eqz v1, 00c4 // +0064 │ │ -414f94: 1a00 0709 |0062: const-string v0, "A transformation failure occurred!" // string@0907 │ │ -414f98: 7120 ecb7 0500 |0064: invoke-static {v5, v0}, Lorg/purple/smoke/Miscellaneous;.showErrorDialog:(Landroid/content/Context;Ljava/lang/String;)V // method@b7ec │ │ -414f9e: 0e00 |0067: return-void │ │ -414fa0: 2200 f10a |0068: new-instance v0, Ljava/lang/StringBuilder; // type@0af1 │ │ -414fa4: 7010 ee5c 0000 |006a: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -414faa: 6e10 1c5b 0100 |006d: invoke-virtual {v1}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ -414fb0: 0c01 |0070: move-result-object v1 │ │ -414fb2: 7210 045c 0100 |0071: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ -414fb8: 0c01 |0074: move-result-object v1 │ │ -414fba: 1a03 3800 |0075: const-string v3, " " // string@0038 │ │ -414fbe: 1a04 0000 |0077: const-string v4, "" // string@0000 │ │ -414fc2: 6e30 c85c 3104 |0079: invoke-virtual {v1, v3, v4}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ -414fc8: 0c01 |007c: move-result-object v1 │ │ -414fca: 1a03 7e04 |007d: const-string v3, "-" // string@047e │ │ -414fce: 6e30 c85c 3104 |007f: invoke-virtual {v1, v3, v4}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ -414fd4: 0c01 |0082: move-result-object v1 │ │ -414fd6: 1a03 7108 |0083: const-string v3, ":" // string@0871 │ │ -414fda: 6e30 c85c 3104 |0085: invoke-virtual {v1, v3, v4}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ -414fe0: 0c01 |0088: move-result-object v1 │ │ -414fe2: 1a03 ed08 |0089: const-string v3, "@" // string@08ed │ │ -414fe6: 6e30 c85c 3104 |008b: invoke-virtual {v1, v3, v4}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ -414fec: 0c01 |008e: move-result-object v1 │ │ -414fee: 6e10 d35c 0100 |008f: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ -414ff4: 0c01 |0092: move-result-object v1 │ │ -414ff6: 7110 e7b7 0100 |0093: invoke-static {v1}, Lorg/purple/smoke/Miscellaneous;.prepareSipHashId:(Ljava/lang/String;)Ljava/lang/String; // method@b7e7 │ │ -414ffc: 0c01 |0096: move-result-object v1 │ │ -414ffe: 6e20 f95c 1000 |0097: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -415004: 6e10 035d 0000 |009a: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41500a: 0c00 |009d: move-result-object v0 │ │ -41500c: 6e10 d35c 0000 |009e: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ -415012: 0c00 |00a1: move-result-object v0 │ │ -415014: 6e10 c55c 0000 |00a2: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@5cc5 │ │ -41501a: 0a01 |00a5: move-result v1 │ │ -41501c: 6003 d951 |00a6: sget v3, Lorg/purple/smoke/Cryptography;.SIPHASH_IDENTITY_LENGTH:I // field@51d9 │ │ -415020: 3231 0800 |00a8: if-eq v1, v3, 00b0 // +0008 │ │ -415024: 1a00 f408 |00aa: const-string v0, "A Smoke ID must be of the form HHHH-HHHH-HHHH-HHHH-HHHH-HHHH-HHHH-HHHH." // string@08f4 │ │ -415028: 7120 ecb7 0500 |00ac: invoke-static {v5, v0}, Lorg/purple/smoke/Miscellaneous;.showErrorDialog:(Landroid/content/Context;Ljava/lang/String;)V // method@b7ec │ │ -41502e: 0e00 |00af: return-void │ │ -415030: 6e10 1c5b 0200 |00b0: invoke-virtual {v2}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ -415036: 0c01 |00b3: move-result-object v1 │ │ -415038: 7210 045c 0100 |00b4: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ -41503e: 0c01 |00b7: move-result-object v1 │ │ -415040: 6e20 b85c 0100 |00b8: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -415046: 0a01 |00bb: move-result v1 │ │ -415048: 3801 0800 |00bc: if-eqz v1, 00c4 // +0008 │ │ -41504c: 1a00 d643 |00be: const-string v0, "Please do not assign your Smoke ID." // string@43d6 │ │ -415050: 7120 ecb7 0500 |00c0: invoke-static {v5, v0}, Lorg/purple/smoke/Miscellaneous;.showErrorDialog:(Landroid/content/Context;Ljava/lang/String;)V // method@b7ec │ │ -415056: 0e00 |00c3: return-void │ │ -415058: 1401 2000 087f |00c4: const v1, #float 1.80776e+38 // #7f080020 │ │ -41505e: 6e20 dcb8 1500 |00c7: invoke-virtual {v5, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415064: 0c01 |00ca: move-result-object v1 │ │ -415066: 1f01 7c0a |00cb: check-cast v1, Landroid/widget/ProgressBar; // type@0a7c │ │ -41506a: 1212 |00cd: const/4 v2, #int 1 // #1 │ │ -41506c: 6e20 5a5a 2100 |00ce: invoke-virtual {v1, v2}, Landroid/widget/ProgressBar;.setIndeterminate:(Z)V // method@5a5a │ │ -415072: 1202 |00d1: const/4 v2, #int 0 // #0 │ │ -415074: 6e20 5f5a 2100 |00d2: invoke-virtual {v1, v2}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ -41507a: 6e10 e4b8 0500 |00d5: invoke-virtual {v5}, Lorg/purple/smoke/Settings;.getWindow:()Landroid/view/Window; // method@b8e4 │ │ -415080: 0c03 |00d8: move-result-object v3 │ │ -415082: 1304 1000 |00d9: const/16 v4, #int 16 // #10 │ │ -415086: 6e30 9057 4304 |00db: invoke-virtual {v3, v4, v4}, Landroid/view/Window;.setFlags:(II)V // method@5790 │ │ -41508c: 1403 9200 087f |00de: const v3, #float 1.80778e+38 // #7f080092 │ │ -415092: 6e20 dcb8 3500 |00e1: invoke-virtual {v5, v3}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415098: 0c03 |00e4: move-result-object v3 │ │ -41509a: 7120 ddb7 2300 |00e5: invoke-static {v3, v2}, Lorg/purple/smoke/Miscellaneous;.enableChildren:(Landroid/view/View;Z)V // method@b7dd │ │ -4150a0: 2202 f40a |00e8: new-instance v2, Ljava/lang/Thread; // type@0af4 │ │ -4150a4: 2203 4e1a |00ea: new-instance v3, Lorg/purple/smoke/Settings$1SingleShot; // type@1a4e │ │ -4150a8: 1404 bd00 087f |00ec: const v4, #float 1.80779e+38 // #7f0800bd │ │ -4150ae: 6e20 dcb8 4500 |00ef: invoke-virtual {v5, v4}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4150b4: 0c04 |00f2: move-result-object v4 │ │ -4150b6: 1f04 970a |00f3: check-cast v4, Landroid/widget/TextView; // type@0a97 │ │ -4150ba: 6e10 1c5b 0400 |00f5: invoke-virtual {v4}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ -4150c0: 0c04 |00f8: move-result-object v4 │ │ -4150c2: 7210 045c 0400 |00f9: invoke-interface {v4}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ -4150c8: 0c04 |00fc: move-result-object v4 │ │ -4150ca: 7051 54b8 5304 |00fd: invoke-direct {v3, v5, v4, v0, v1}, Lorg/purple/smoke/Settings$1SingleShot;.:(Lorg/purple/smoke/Settings;Ljava/lang/String;Ljava/lang/String;Landroid/widget/ProgressBar;)V // method@b854 │ │ -4150d0: 7020 0e5d 3200 |0100: invoke-direct {v2, v3}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@5d0e │ │ -4150d6: 6e10 195d 0200 |0103: invoke-virtual {v2}, Ljava/lang/Thread;.start:()V // method@5d19 │ │ -4150dc: 0e00 |0106: return-void │ │ +414ebc: |[414ebc] org.purple.smoke.Settings.addParticipant:()V │ │ +414ecc: 6e10 e6b8 0500 |0000: invoke-virtual {v5}, Lorg/purple/smoke/Settings;.isFinishing:()Z // method@b8e6 │ │ +414ed2: 0a00 |0003: move-result v0 │ │ +414ed4: 3800 0300 |0004: if-eqz v0, 0007 // +0003 │ │ +414ed8: 0e00 |0006: return-void │ │ +414eda: 1400 2500 087f |0007: const v0, #float 1.80776e+38 // #7f080025 │ │ +414ee0: 6e20 dcb8 0500 |000a: invoke-virtual {v5, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +414ee6: 0c00 |000d: move-result-object v0 │ │ +414ee8: 1f00 8d0a |000e: check-cast v0, Landroid/widget/Switch; // type@0a8d │ │ +414eec: 1401 be00 087f |0010: const v1, #float 1.80779e+38 // #7f0800be │ │ +414ef2: 6e20 dcb8 1500 |0013: invoke-virtual {v5, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +414ef8: 0c01 |0016: move-result-object v1 │ │ +414efa: 1f01 970a |0017: check-cast v1, Landroid/widget/TextView; // type@0a97 │ │ +414efe: 1402 0b01 087f |0019: const v2, #float 1.8078e+38 // #7f08010b │ │ +414f04: 6e20 dcb8 2500 |001c: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +414f0a: 0c02 |001f: move-result-object v2 │ │ +414f0c: 1f02 970a |0020: check-cast v2, Landroid/widget/TextView; // type@0a97 │ │ +414f10: 6e10 da5a 0000 |0022: invoke-virtual {v0}, Landroid/widget/Switch;.isChecked:()Z // method@5ada │ │ +414f16: 0a00 |0025: move-result v0 │ │ +414f18: 3800 4200 |0026: if-eqz v0, 0068 // +0042 │ │ +414f1c: 6e10 1c5b 0100 |0028: invoke-virtual {v1}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ +414f22: 0c00 |002b: move-result-object v0 │ │ +414f24: 7210 045c 0000 |002c: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ +414f2a: 0c00 |002f: move-result-object v0 │ │ +414f2c: 6e10 d35c 0000 |0030: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ +414f32: 0c00 |0033: move-result-object v0 │ │ +414f34: 6e10 c55c 0000 |0034: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@5cc5 │ │ +414f3a: 0a01 |0037: move-result v1 │ │ +414f3c: 1302 0800 |0038: const/16 v2, #int 8 // #8 │ │ +414f40: 3521 0800 |003a: if-ge v1, v2, 0042 // +0008 │ │ +414f44: 1a00 f108 |003c: const-string v0, "A Smoke Alias must include at least eight characters." // string@08f1 │ │ +414f48: 7120 ecb7 0500 |003e: invoke-static {v5, v0}, Lorg/purple/smoke/Miscellaneous;.showErrorDialog:(Landroid/content/Context;Ljava/lang/String;)V // method@b7ec │ │ +414f4e: 0e00 |0041: return-void │ │ +414f50: 5451 1a5d |0042: iget-object v1, v5, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +414f54: 6202 1e5d |0044: sget-object v2, Lorg/purple/smoke/Settings;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d1e │ │ +414f58: 1a03 0958 |0046: const-string v3, "alias" // string@5809 │ │ +414f5c: 6e30 0eb6 2103 |0048: invoke-virtual {v1, v2, v3}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ +414f62: 0c01 |004b: move-result-object v1 │ │ +414f64: 6e20 b85c 0100 |004c: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +414f6a: 0a01 |004f: move-result v1 │ │ +414f6c: 3801 0800 |0050: if-eqz v1, 0058 // +0008 │ │ +414f70: 1a00 d543 |0052: const-string v0, "Please do not assign your Smoke Alias." // string@43d5 │ │ +414f74: 7120 ecb7 0500 |0054: invoke-static {v5, v0}, Lorg/purple/smoke/Miscellaneous;.showErrorDialog:(Landroid/content/Context;Ljava/lang/String;)V // method@b7ec │ │ +414f7a: 0e00 |0057: return-void │ │ +414f7c: 7110 b8b5 0000 |0058: invoke-static {v0}, Lorg/purple/smoke/Cryptography;.sipHashIdFromString:(Ljava/lang/String;)Ljava/lang/String; // method@b5b8 │ │ +414f82: 0c00 |005b: move-result-object v0 │ │ +414f84: 6e10 c35c 0000 |005c: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +414f8a: 0a01 |005f: move-result v1 │ │ +414f8c: 3801 6400 |0060: if-eqz v1, 00c4 // +0064 │ │ +414f90: 1a00 0709 |0062: const-string v0, "A transformation failure occurred!" // string@0907 │ │ +414f94: 7120 ecb7 0500 |0064: invoke-static {v5, v0}, Lorg/purple/smoke/Miscellaneous;.showErrorDialog:(Landroid/content/Context;Ljava/lang/String;)V // method@b7ec │ │ +414f9a: 0e00 |0067: return-void │ │ +414f9c: 2200 f10a |0068: new-instance v0, Ljava/lang/StringBuilder; // type@0af1 │ │ +414fa0: 7010 ee5c 0000 |006a: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +414fa6: 6e10 1c5b 0100 |006d: invoke-virtual {v1}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ +414fac: 0c01 |0070: move-result-object v1 │ │ +414fae: 7210 045c 0100 |0071: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ +414fb4: 0c01 |0074: move-result-object v1 │ │ +414fb6: 1a03 3800 |0075: const-string v3, " " // string@0038 │ │ +414fba: 1a04 0000 |0077: const-string v4, "" // string@0000 │ │ +414fbe: 6e30 c85c 3104 |0079: invoke-virtual {v1, v3, v4}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ +414fc4: 0c01 |007c: move-result-object v1 │ │ +414fc6: 1a03 7e04 |007d: const-string v3, "-" // string@047e │ │ +414fca: 6e30 c85c 3104 |007f: invoke-virtual {v1, v3, v4}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ +414fd0: 0c01 |0082: move-result-object v1 │ │ +414fd2: 1a03 7108 |0083: const-string v3, ":" // string@0871 │ │ +414fd6: 6e30 c85c 3104 |0085: invoke-virtual {v1, v3, v4}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ +414fdc: 0c01 |0088: move-result-object v1 │ │ +414fde: 1a03 ed08 |0089: const-string v3, "@" // string@08ed │ │ +414fe2: 6e30 c85c 3104 |008b: invoke-virtual {v1, v3, v4}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ +414fe8: 0c01 |008e: move-result-object v1 │ │ +414fea: 6e10 d35c 0100 |008f: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ +414ff0: 0c01 |0092: move-result-object v1 │ │ +414ff2: 7110 e7b7 0100 |0093: invoke-static {v1}, Lorg/purple/smoke/Miscellaneous;.prepareSipHashId:(Ljava/lang/String;)Ljava/lang/String; // method@b7e7 │ │ +414ff8: 0c01 |0096: move-result-object v1 │ │ +414ffa: 6e20 f95c 1000 |0097: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +415000: 6e10 035d 0000 |009a: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +415006: 0c00 |009d: move-result-object v0 │ │ +415008: 6e10 d35c 0000 |009e: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ +41500e: 0c00 |00a1: move-result-object v0 │ │ +415010: 6e10 c55c 0000 |00a2: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@5cc5 │ │ +415016: 0a01 |00a5: move-result v1 │ │ +415018: 6003 d951 |00a6: sget v3, Lorg/purple/smoke/Cryptography;.SIPHASH_IDENTITY_LENGTH:I // field@51d9 │ │ +41501c: 3231 0800 |00a8: if-eq v1, v3, 00b0 // +0008 │ │ +415020: 1a00 f408 |00aa: const-string v0, "A Smoke ID must be of the form HHHH-HHHH-HHHH-HHHH-HHHH-HHHH-HHHH-HHHH." // string@08f4 │ │ +415024: 7120 ecb7 0500 |00ac: invoke-static {v5, v0}, Lorg/purple/smoke/Miscellaneous;.showErrorDialog:(Landroid/content/Context;Ljava/lang/String;)V // method@b7ec │ │ +41502a: 0e00 |00af: return-void │ │ +41502c: 6e10 1c5b 0200 |00b0: invoke-virtual {v2}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ +415032: 0c01 |00b3: move-result-object v1 │ │ +415034: 7210 045c 0100 |00b4: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ +41503a: 0c01 |00b7: move-result-object v1 │ │ +41503c: 6e20 b85c 0100 |00b8: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +415042: 0a01 |00bb: move-result v1 │ │ +415044: 3801 0800 |00bc: if-eqz v1, 00c4 // +0008 │ │ +415048: 1a00 d643 |00be: const-string v0, "Please do not assign your Smoke ID." // string@43d6 │ │ +41504c: 7120 ecb7 0500 |00c0: invoke-static {v5, v0}, Lorg/purple/smoke/Miscellaneous;.showErrorDialog:(Landroid/content/Context;Ljava/lang/String;)V // method@b7ec │ │ +415052: 0e00 |00c3: return-void │ │ +415054: 1401 2000 087f |00c4: const v1, #float 1.80776e+38 // #7f080020 │ │ +41505a: 6e20 dcb8 1500 |00c7: invoke-virtual {v5, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415060: 0c01 |00ca: move-result-object v1 │ │ +415062: 1f01 7c0a |00cb: check-cast v1, Landroid/widget/ProgressBar; // type@0a7c │ │ +415066: 1212 |00cd: const/4 v2, #int 1 // #1 │ │ +415068: 6e20 5a5a 2100 |00ce: invoke-virtual {v1, v2}, Landroid/widget/ProgressBar;.setIndeterminate:(Z)V // method@5a5a │ │ +41506e: 1202 |00d1: const/4 v2, #int 0 // #0 │ │ +415070: 6e20 5f5a 2100 |00d2: invoke-virtual {v1, v2}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ +415076: 6e10 e4b8 0500 |00d5: invoke-virtual {v5}, Lorg/purple/smoke/Settings;.getWindow:()Landroid/view/Window; // method@b8e4 │ │ +41507c: 0c03 |00d8: move-result-object v3 │ │ +41507e: 1304 1000 |00d9: const/16 v4, #int 16 // #10 │ │ +415082: 6e30 9057 4304 |00db: invoke-virtual {v3, v4, v4}, Landroid/view/Window;.setFlags:(II)V // method@5790 │ │ +415088: 1403 9200 087f |00de: const v3, #float 1.80778e+38 // #7f080092 │ │ +41508e: 6e20 dcb8 3500 |00e1: invoke-virtual {v5, v3}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415094: 0c03 |00e4: move-result-object v3 │ │ +415096: 7120 ddb7 2300 |00e5: invoke-static {v3, v2}, Lorg/purple/smoke/Miscellaneous;.enableChildren:(Landroid/view/View;Z)V // method@b7dd │ │ +41509c: 2202 f40a |00e8: new-instance v2, Ljava/lang/Thread; // type@0af4 │ │ +4150a0: 2203 4e1a |00ea: new-instance v3, Lorg/purple/smoke/Settings$1SingleShot; // type@1a4e │ │ +4150a4: 1404 bd00 087f |00ec: const v4, #float 1.80779e+38 // #7f0800bd │ │ +4150aa: 6e20 dcb8 4500 |00ef: invoke-virtual {v5, v4}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4150b0: 0c04 |00f2: move-result-object v4 │ │ +4150b2: 1f04 970a |00f3: check-cast v4, Landroid/widget/TextView; // type@0a97 │ │ +4150b6: 6e10 1c5b 0400 |00f5: invoke-virtual {v4}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ +4150bc: 0c04 |00f8: move-result-object v4 │ │ +4150be: 7210 045c 0400 |00f9: invoke-interface {v4}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ +4150c4: 0c04 |00fc: move-result-object v4 │ │ +4150c6: 7051 54b8 5304 |00fd: invoke-direct {v3, v5, v4, v0, v1}, Lorg/purple/smoke/Settings$1SingleShot;.:(Lorg/purple/smoke/Settings;Ljava/lang/String;Ljava/lang/String;Landroid/widget/ProgressBar;)V // method@b854 │ │ +4150cc: 7020 0e5d 3200 |0100: invoke-direct {v2, v3}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@5d0e │ │ +4150d2: 6e10 195d 0200 |0103: invoke-virtual {v2}, Ljava/lang/Thread;.start:()V // method@5d19 │ │ +4150d8: 0e00 |0106: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=364 │ │ 0x000a line=368 │ │ 0x0013 line=370 │ │ 0x001c line=371 │ │ 0x0022 line=373 │ │ @@ -1540080,28 +1540079,28 @@ │ │ type : '(Ljava/lang/String;I)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 31 16-bit code units │ │ -4150e0: |[4150e0] org.purple.smoke.Settings.deleteNeighbor:(Ljava/lang/String;I)V │ │ -4150f0: 2200 671a |0000: new-instance v0, Lorg/purple/smoke/Settings$3; // type@1a67 │ │ -4150f4: 7030 8bb8 2004 |0002: invoke-direct {v0, v2, v4}, Lorg/purple/smoke/Settings$3;.:(Lorg/purple/smoke/Settings;I)V // method@b88b │ │ -4150fa: 2204 f10a |0005: new-instance v4, Ljava/lang/StringBuilder; // type@0af1 │ │ -4150fe: 7010 ee5c 0400 |0007: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -415104: 1a01 640e |000a: const-string v1, "Are you sure that you wish to delete the neighbor " // string@0e64 │ │ -415108: 6e20 f95c 1400 |000c: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41510e: 6e20 f95c 3400 |000f: invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -415114: 1a03 eb08 |0012: const-string v3, "?" // string@08eb │ │ -415118: 6e20 f95c 3400 |0014: invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41511e: 6e10 035d 0400 |0017: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -415124: 0c03 |001a: move-result-object v3 │ │ -415126: 7130 eeb7 0203 |001b: invoke-static {v2, v0, v3}, Lorg/purple/smoke/Miscellaneous;.showPromptDialog:(Landroid/content/Context;Landroid/content/DialogInterface$OnCancelListener;Ljava/lang/String;)V // method@b7ee │ │ -41512c: 0e00 |001e: return-void │ │ +4150dc: |[4150dc] org.purple.smoke.Settings.deleteNeighbor:(Ljava/lang/String;I)V │ │ +4150ec: 2200 671a |0000: new-instance v0, Lorg/purple/smoke/Settings$3; // type@1a67 │ │ +4150f0: 7030 8bb8 2004 |0002: invoke-direct {v0, v2, v4}, Lorg/purple/smoke/Settings$3;.:(Lorg/purple/smoke/Settings;I)V // method@b88b │ │ +4150f6: 2204 f10a |0005: new-instance v4, Ljava/lang/StringBuilder; // type@0af1 │ │ +4150fa: 7010 ee5c 0400 |0007: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +415100: 1a01 640e |000a: const-string v1, "Are you sure that you wish to delete the neighbor " // string@0e64 │ │ +415104: 6e20 f95c 1400 |000c: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41510a: 6e20 f95c 3400 |000f: invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +415110: 1a03 eb08 |0012: const-string v3, "?" // string@08eb │ │ +415114: 6e20 f95c 3400 |0014: invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41511a: 6e10 035d 0400 |0017: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +415120: 0c03 |001a: move-result-object v3 │ │ +415122: 7130 eeb7 0203 |001b: invoke-static {v2, v0, v3}, Lorg/purple/smoke/Miscellaneous;.showPromptDialog:(Landroid/content/Context;Landroid/content/DialogInterface$OnCancelListener;Ljava/lang/String;)V // method@b7ee │ │ +415128: 0e00 |001e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=498 │ │ 0x0005 line=540 │ │ 0x001b line=541 │ │ locals : │ │ 0x0000 - 0x001f reg=2 this Lorg/purple/smoke/Settings; │ │ @@ -1540113,34 +1540112,34 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 42 16-bit code units │ │ -415130: |[415130] org.purple.smoke.Settings.disablePKIButtons:()V │ │ -415140: 1400 7400 087f |0000: const v0, #float 1.80777e+38 // #7f080074 │ │ -415146: 6e20 dcb8 0300 |0003: invoke-virtual {v3, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41514c: 0c00 |0006: move-result-object v0 │ │ -41514e: 1f00 5e0a |0007: check-cast v0, Landroid/widget/Button; // type@0a5e │ │ -415152: 1401 b600 087f |0009: const v1, #float 1.80779e+38 // #7f0800b6 │ │ -415158: 6e20 dcb8 1300 |000c: invoke-virtual {v3, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41515e: 0c01 |000f: move-result-object v1 │ │ -415160: 1f01 8d0a |0010: check-cast v1, Landroid/widget/Switch; // type@0a8d │ │ -415164: 6e10 da5a 0100 |0012: invoke-virtual {v1}, Landroid/widget/Switch;.isChecked:()Z // method@5ada │ │ -41516a: 0a02 |0015: move-result v2 │ │ -41516c: 6e20 e058 2000 |0016: invoke-virtual {v0, v2}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ -415172: 1400 ff00 087f |0019: const v0, #float 1.8078e+38 // #7f0800ff │ │ -415178: 6e20 dcb8 0300 |001c: invoke-virtual {v3, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41517e: 0c00 |001f: move-result-object v0 │ │ -415180: 1f00 5e0a |0020: check-cast v0, Landroid/widget/Button; // type@0a5e │ │ -415184: 6e10 da5a 0100 |0022: invoke-virtual {v1}, Landroid/widget/Switch;.isChecked:()Z // method@5ada │ │ -41518a: 0a01 |0025: move-result v1 │ │ -41518c: 6e20 e058 1000 |0026: invoke-virtual {v0, v1}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ -415192: 0e00 |0029: return-void │ │ +41512c: |[41512c] org.purple.smoke.Settings.disablePKIButtons:()V │ │ +41513c: 1400 7400 087f |0000: const v0, #float 1.80777e+38 // #7f080074 │ │ +415142: 6e20 dcb8 0300 |0003: invoke-virtual {v3, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415148: 0c00 |0006: move-result-object v0 │ │ +41514a: 1f00 5e0a |0007: check-cast v0, Landroid/widget/Button; // type@0a5e │ │ +41514e: 1401 b600 087f |0009: const v1, #float 1.80779e+38 // #7f0800b6 │ │ +415154: 6e20 dcb8 1300 |000c: invoke-virtual {v3, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +41515a: 0c01 |000f: move-result-object v1 │ │ +41515c: 1f01 8d0a |0010: check-cast v1, Landroid/widget/Switch; // type@0a8d │ │ +415160: 6e10 da5a 0100 |0012: invoke-virtual {v1}, Landroid/widget/Switch;.isChecked:()Z // method@5ada │ │ +415166: 0a02 |0015: move-result v2 │ │ +415168: 6e20 e058 2000 |0016: invoke-virtual {v0, v2}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ +41516e: 1400 ff00 087f |0019: const v0, #float 1.8078e+38 // #7f0800ff │ │ +415174: 6e20 dcb8 0300 |001c: invoke-virtual {v3, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +41517a: 0c00 |001f: move-result-object v0 │ │ +41517c: 1f00 5e0a |0020: check-cast v0, Landroid/widget/Button; // type@0a5e │ │ +415180: 6e10 da5a 0100 |0022: invoke-virtual {v1}, Landroid/widget/Switch;.isChecked:()Z // method@5ada │ │ +415186: 0a01 |0025: move-result v1 │ │ +415188: 6e20 e058 1000 |0026: invoke-virtual {v0, v1}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ +41518e: 0e00 |0029: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=549 │ │ 0x000c line=550 │ │ 0x0012 line=552 │ │ 0x001c line=553 │ │ 0x0022 line=554 │ │ @@ -1540152,140 +1540151,140 @@ │ │ type : '(Z)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 298 16-bit code units │ │ -415194: |[415194] org.purple.smoke.Settings.enableWidgets:(Z)V │ │ -4151a4: 1400 1e00 087f |0000: const v0, #float 1.80776e+38 // #7f08001e │ │ -4151aa: 6e20 dcb8 0200 |0003: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4151b0: 0c00 |0006: move-result-object v0 │ │ -4151b2: 1f00 5e0a |0007: check-cast v0, Landroid/widget/Button; // type@0a5e │ │ -4151b6: 6e20 e058 3000 |0009: invoke-virtual {v0, v3}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ -4151bc: 1400 1f00 087f |000c: const v0, #float 1.80776e+38 // #7f08001f │ │ -4151c2: 6e20 dcb8 0200 |000f: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4151c8: 0c00 |0012: move-result-object v0 │ │ -4151ca: 1f00 5e0a |0013: check-cast v0, Landroid/widget/Button; // type@0a5e │ │ -4151ce: 6e20 e058 3000 |0015: invoke-virtual {v0, v3}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ -4151d4: 1400 6400 087f |0018: const v0, #float 1.80777e+38 // #7f080064 │ │ -4151da: 6e20 dcb8 0200 |001b: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4151e0: 0c00 |001e: move-result-object v0 │ │ -4151e2: 1f00 5e0a |001f: check-cast v0, Landroid/widget/Button; // type@0a5e │ │ -4151e6: 6e20 e058 3000 |0021: invoke-virtual {v0, v3}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ -4151ec: 1400 da00 087f |0024: const v0, #float 1.80779e+38 // #7f0800da │ │ -4151f2: 6e20 dcb8 0200 |0027: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4151f8: 0c00 |002a: move-result-object v0 │ │ -4151fa: 1f00 5e0a |002b: check-cast v0, Landroid/widget/Button; // type@0a5e │ │ -4151fe: 6e20 e058 3000 |002d: invoke-virtual {v0, v3}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ -415204: 1400 db00 087f |0030: const v0, #float 1.80779e+38 // #7f0800db │ │ -41520a: 6e20 dcb8 0200 |0033: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415210: 0c00 |0036: move-result-object v0 │ │ -415212: 1f00 5e0a |0037: check-cast v0, Landroid/widget/Button; // type@0a5e │ │ -415216: 6e20 e058 3000 |0039: invoke-virtual {v0, v3}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ -41521c: 1400 e000 087f |003c: const v0, #float 1.8078e+38 // #7f0800e0 │ │ -415222: 6e20 dcb8 0200 |003f: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415228: 0c00 |0042: move-result-object v0 │ │ -41522a: 1f00 5e0a |0043: check-cast v0, Landroid/widget/Button; // type@0a5e │ │ -41522e: 6e20 e058 3000 |0045: invoke-virtual {v0, v3}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ -415234: 1400 e100 087f |0048: const v0, #float 1.8078e+38 // #7f0800e1 │ │ -41523a: 6e20 dcb8 0200 |004b: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415240: 0c00 |004e: move-result-object v0 │ │ -415242: 1f00 5e0a |004f: check-cast v0, Landroid/widget/Button; // type@0a5e │ │ -415246: 6e20 e058 3000 |0051: invoke-virtual {v0, v3}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ -41524c: 1400 e800 087f |0054: const v0, #float 1.8078e+38 // #7f0800e8 │ │ -415252: 6e20 dcb8 0200 |0057: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415258: 0c00 |005a: move-result-object v0 │ │ -41525a: 1f00 5e0a |005b: check-cast v0, Landroid/widget/Button; // type@0a5e │ │ -41525e: 6e20 e058 3000 |005d: invoke-virtual {v0, v3}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ -415264: 1400 0201 087f |0060: const v0, #float 1.8078e+38 // #7f080102 │ │ -41526a: 6e20 dcb8 0200 |0063: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415270: 0c00 |0066: move-result-object v0 │ │ -415272: 1f00 5e0a |0067: check-cast v0, Landroid/widget/Button; // type@0a5e │ │ -415276: 6e20 e058 3000 |0069: invoke-virtual {v0, v3}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ -41527c: 1400 b600 087f |006c: const v0, #float 1.80779e+38 // #7f0800b6 │ │ -415282: 6e20 dcb8 0200 |006f: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415288: 0c00 |0072: move-result-object v0 │ │ -41528a: 1f00 8d0a |0073: check-cast v0, Landroid/widget/Switch; // type@0a8d │ │ -41528e: df01 0301 |0075: xor-int/lit8 v1, v3, #int 1 // #01 │ │ -415292: 6e20 db5a 1000 |0077: invoke-virtual {v0, v1}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ -415298: 6e20 de5a 3000 |007a: invoke-virtual {v0, v3}, Landroid/widget/Switch;.setEnabled:(Z)V // method@5ade │ │ -41529e: 1400 7400 087f |007d: const v0, #float 1.80777e+38 // #7f080074 │ │ -4152a4: 6e20 dcb8 0200 |0080: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4152aa: 0c00 |0083: move-result-object v0 │ │ -4152ac: 1f00 5e0a |0084: check-cast v0, Landroid/widget/Button; // type@0a5e │ │ -4152b0: df01 0301 |0086: xor-int/lit8 v1, v3, #int 1 // #01 │ │ -4152b4: 6e20 e058 1000 |0088: invoke-virtual {v0, v1}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ -4152ba: 1400 ff00 087f |008b: const v0, #float 1.8078e+38 // #7f0800ff │ │ -4152c0: 6e20 dcb8 0200 |008e: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4152c6: 0c00 |0091: move-result-object v0 │ │ -4152c8: 1f00 5e0a |0092: check-cast v0, Landroid/widget/Button; // type@0a5e │ │ -4152cc: df01 0301 |0094: xor-int/lit8 v1, v3, #int 1 // #01 │ │ -4152d0: 6e20 e058 1000 |0096: invoke-virtual {v0, v1}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ -4152d6: 1400 a900 087f |0099: const v0, #float 1.80778e+38 // #7f0800a9 │ │ -4152dc: 6e20 dcb8 0200 |009c: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4152e2: 0c00 |009f: move-result-object v0 │ │ -4152e4: 1f00 7d0a |00a0: check-cast v0, Landroid/widget/RadioButton; // type@0a7d │ │ -4152e8: 6e20 645a 3000 |00a2: invoke-virtual {v0, v3}, Landroid/widget/RadioButton;.setEnabled:(Z)V // method@5a64 │ │ -4152ee: 1400 aa00 087f |00a5: const v0, #float 1.80778e+38 // #7f0800aa │ │ -4152f4: 6e20 dcb8 0200 |00a8: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4152fa: 0c00 |00ab: move-result-object v0 │ │ -4152fc: 1f00 7d0a |00ac: check-cast v0, Landroid/widget/RadioButton; // type@0a7d │ │ -415300: 6e20 645a 3000 |00ae: invoke-virtual {v0, v3}, Landroid/widget/RadioButton;.setEnabled:(Z)V // method@5a64 │ │ -415306: 1400 ae00 087f |00b1: const v0, #float 1.80779e+38 // #7f0800ae │ │ -41530c: 6e20 dcb8 0200 |00b4: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415312: 0c00 |00b7: move-result-object v0 │ │ -415314: 1f00 8b0a |00b8: check-cast v0, Landroid/widget/Spinner; // type@0a8b │ │ -415318: 6e20 c65a 3000 |00ba: invoke-virtual {v0, v3}, Landroid/widget/Spinner;.setEnabled:(Z)V // method@5ac6 │ │ -41531e: 1400 d400 087f |00bd: const v0, #float 1.80779e+38 // #7f0800d4 │ │ -415324: 6e20 dcb8 0200 |00c0: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41532a: 0c00 |00c3: move-result-object v0 │ │ -41532c: 1f00 8b0a |00c4: check-cast v0, Landroid/widget/Spinner; // type@0a8b │ │ -415330: 6e20 c65a 3000 |00c6: invoke-virtual {v0, v3}, Landroid/widget/Spinner;.setEnabled:(Z)V // method@5ac6 │ │ -415336: 1400 a800 087f |00c9: const v0, #float 1.80778e+38 // #7f0800a8 │ │ -41533c: 6e20 dcb8 0200 |00cc: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415342: 0c00 |00cf: move-result-object v0 │ │ -415344: 1f00 970a |00d0: check-cast v0, Landroid/widget/TextView; // type@0a97 │ │ -415348: 6e20 335b 3000 |00d2: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ -41534e: 1400 ac00 087f |00d5: const v0, #float 1.80778e+38 // #7f0800ac │ │ -415354: 6e20 dcb8 0200 |00d8: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41535a: 0c00 |00db: move-result-object v0 │ │ -41535c: 1f00 970a |00dc: check-cast v0, Landroid/widget/TextView; // type@0a97 │ │ -415360: 6e20 335b 3000 |00de: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ -415366: 1400 ad00 087f |00e1: const v0, #float 1.80779e+38 // #7f0800ad │ │ -41536c: 6e20 dcb8 0200 |00e4: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415372: 0c00 |00e7: move-result-object v0 │ │ -415374: 1f00 970a |00e8: check-cast v0, Landroid/widget/TextView; // type@0a97 │ │ -415378: 6e20 335b 3000 |00ea: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ -41537e: 1400 b700 087f |00ed: const v0, #float 1.80779e+38 // #7f0800b7 │ │ -415384: 6e20 dcb8 0200 |00f0: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41538a: 0c00 |00f3: move-result-object v0 │ │ -41538c: 1f00 970a |00f4: check-cast v0, Landroid/widget/TextView; // type@0a97 │ │ -415390: 6e20 335b 3000 |00f6: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ -415396: 1400 bd00 087f |00f9: const v0, #float 1.80779e+38 // #7f0800bd │ │ -41539c: 6e20 dcb8 0200 |00fc: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4153a2: 0c00 |00ff: move-result-object v0 │ │ -4153a4: 1f00 970a |0100: check-cast v0, Landroid/widget/TextView; // type@0a97 │ │ -4153a8: 6e20 335b 3000 |0102: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ -4153ae: 1400 be00 087f |0105: const v0, #float 1.80779e+38 // #7f0800be │ │ -4153b4: 6e20 dcb8 0200 |0108: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4153ba: 0c00 |010b: move-result-object v0 │ │ -4153bc: 1f00 970a |010c: check-cast v0, Landroid/widget/TextView; // type@0a97 │ │ -4153c0: 6e20 335b 3000 |010e: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ -4153c6: 1400 d200 087f |0111: const v0, #float 1.80779e+38 // #7f0800d2 │ │ -4153cc: 6e20 dcb8 0200 |0114: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4153d2: 0c00 |0117: move-result-object v0 │ │ -4153d4: 1f00 970a |0118: check-cast v0, Landroid/widget/TextView; // type@0a97 │ │ -4153d8: 6e20 335b 3000 |011a: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ -4153de: 1400 d300 087f |011d: const v0, #float 1.80779e+38 // #7f0800d3 │ │ -4153e4: 6e20 dcb8 0200 |0120: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4153ea: 0c00 |0123: move-result-object v0 │ │ -4153ec: 1f00 970a |0124: check-cast v0, Landroid/widget/TextView; // type@0a97 │ │ -4153f0: 6e20 335b 3000 |0126: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ -4153f6: 0e00 |0129: return-void │ │ +415190: |[415190] org.purple.smoke.Settings.enableWidgets:(Z)V │ │ +4151a0: 1400 1e00 087f |0000: const v0, #float 1.80776e+38 // #7f08001e │ │ +4151a6: 6e20 dcb8 0200 |0003: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4151ac: 0c00 |0006: move-result-object v0 │ │ +4151ae: 1f00 5e0a |0007: check-cast v0, Landroid/widget/Button; // type@0a5e │ │ +4151b2: 6e20 e058 3000 |0009: invoke-virtual {v0, v3}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ +4151b8: 1400 1f00 087f |000c: const v0, #float 1.80776e+38 // #7f08001f │ │ +4151be: 6e20 dcb8 0200 |000f: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4151c4: 0c00 |0012: move-result-object v0 │ │ +4151c6: 1f00 5e0a |0013: check-cast v0, Landroid/widget/Button; // type@0a5e │ │ +4151ca: 6e20 e058 3000 |0015: invoke-virtual {v0, v3}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ +4151d0: 1400 6400 087f |0018: const v0, #float 1.80777e+38 // #7f080064 │ │ +4151d6: 6e20 dcb8 0200 |001b: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4151dc: 0c00 |001e: move-result-object v0 │ │ +4151de: 1f00 5e0a |001f: check-cast v0, Landroid/widget/Button; // type@0a5e │ │ +4151e2: 6e20 e058 3000 |0021: invoke-virtual {v0, v3}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ +4151e8: 1400 da00 087f |0024: const v0, #float 1.80779e+38 // #7f0800da │ │ +4151ee: 6e20 dcb8 0200 |0027: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4151f4: 0c00 |002a: move-result-object v0 │ │ +4151f6: 1f00 5e0a |002b: check-cast v0, Landroid/widget/Button; // type@0a5e │ │ +4151fa: 6e20 e058 3000 |002d: invoke-virtual {v0, v3}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ +415200: 1400 db00 087f |0030: const v0, #float 1.80779e+38 // #7f0800db │ │ +415206: 6e20 dcb8 0200 |0033: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +41520c: 0c00 |0036: move-result-object v0 │ │ +41520e: 1f00 5e0a |0037: check-cast v0, Landroid/widget/Button; // type@0a5e │ │ +415212: 6e20 e058 3000 |0039: invoke-virtual {v0, v3}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ +415218: 1400 e000 087f |003c: const v0, #float 1.8078e+38 // #7f0800e0 │ │ +41521e: 6e20 dcb8 0200 |003f: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415224: 0c00 |0042: move-result-object v0 │ │ +415226: 1f00 5e0a |0043: check-cast v0, Landroid/widget/Button; // type@0a5e │ │ +41522a: 6e20 e058 3000 |0045: invoke-virtual {v0, v3}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ +415230: 1400 e100 087f |0048: const v0, #float 1.8078e+38 // #7f0800e1 │ │ +415236: 6e20 dcb8 0200 |004b: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +41523c: 0c00 |004e: move-result-object v0 │ │ +41523e: 1f00 5e0a |004f: check-cast v0, Landroid/widget/Button; // type@0a5e │ │ +415242: 6e20 e058 3000 |0051: invoke-virtual {v0, v3}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ +415248: 1400 e800 087f |0054: const v0, #float 1.8078e+38 // #7f0800e8 │ │ +41524e: 6e20 dcb8 0200 |0057: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415254: 0c00 |005a: move-result-object v0 │ │ +415256: 1f00 5e0a |005b: check-cast v0, Landroid/widget/Button; // type@0a5e │ │ +41525a: 6e20 e058 3000 |005d: invoke-virtual {v0, v3}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ +415260: 1400 0201 087f |0060: const v0, #float 1.8078e+38 // #7f080102 │ │ +415266: 6e20 dcb8 0200 |0063: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +41526c: 0c00 |0066: move-result-object v0 │ │ +41526e: 1f00 5e0a |0067: check-cast v0, Landroid/widget/Button; // type@0a5e │ │ +415272: 6e20 e058 3000 |0069: invoke-virtual {v0, v3}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ +415278: 1400 b600 087f |006c: const v0, #float 1.80779e+38 // #7f0800b6 │ │ +41527e: 6e20 dcb8 0200 |006f: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415284: 0c00 |0072: move-result-object v0 │ │ +415286: 1f00 8d0a |0073: check-cast v0, Landroid/widget/Switch; // type@0a8d │ │ +41528a: df01 0301 |0075: xor-int/lit8 v1, v3, #int 1 // #01 │ │ +41528e: 6e20 db5a 1000 |0077: invoke-virtual {v0, v1}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ +415294: 6e20 de5a 3000 |007a: invoke-virtual {v0, v3}, Landroid/widget/Switch;.setEnabled:(Z)V // method@5ade │ │ +41529a: 1400 7400 087f |007d: const v0, #float 1.80777e+38 // #7f080074 │ │ +4152a0: 6e20 dcb8 0200 |0080: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4152a6: 0c00 |0083: move-result-object v0 │ │ +4152a8: 1f00 5e0a |0084: check-cast v0, Landroid/widget/Button; // type@0a5e │ │ +4152ac: df01 0301 |0086: xor-int/lit8 v1, v3, #int 1 // #01 │ │ +4152b0: 6e20 e058 1000 |0088: invoke-virtual {v0, v1}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ +4152b6: 1400 ff00 087f |008b: const v0, #float 1.8078e+38 // #7f0800ff │ │ +4152bc: 6e20 dcb8 0200 |008e: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4152c2: 0c00 |0091: move-result-object v0 │ │ +4152c4: 1f00 5e0a |0092: check-cast v0, Landroid/widget/Button; // type@0a5e │ │ +4152c8: df01 0301 |0094: xor-int/lit8 v1, v3, #int 1 // #01 │ │ +4152cc: 6e20 e058 1000 |0096: invoke-virtual {v0, v1}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ +4152d2: 1400 a900 087f |0099: const v0, #float 1.80778e+38 // #7f0800a9 │ │ +4152d8: 6e20 dcb8 0200 |009c: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4152de: 0c00 |009f: move-result-object v0 │ │ +4152e0: 1f00 7d0a |00a0: check-cast v0, Landroid/widget/RadioButton; // type@0a7d │ │ +4152e4: 6e20 645a 3000 |00a2: invoke-virtual {v0, v3}, Landroid/widget/RadioButton;.setEnabled:(Z)V // method@5a64 │ │ +4152ea: 1400 aa00 087f |00a5: const v0, #float 1.80778e+38 // #7f0800aa │ │ +4152f0: 6e20 dcb8 0200 |00a8: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4152f6: 0c00 |00ab: move-result-object v0 │ │ +4152f8: 1f00 7d0a |00ac: check-cast v0, Landroid/widget/RadioButton; // type@0a7d │ │ +4152fc: 6e20 645a 3000 |00ae: invoke-virtual {v0, v3}, Landroid/widget/RadioButton;.setEnabled:(Z)V // method@5a64 │ │ +415302: 1400 ae00 087f |00b1: const v0, #float 1.80779e+38 // #7f0800ae │ │ +415308: 6e20 dcb8 0200 |00b4: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +41530e: 0c00 |00b7: move-result-object v0 │ │ +415310: 1f00 8b0a |00b8: check-cast v0, Landroid/widget/Spinner; // type@0a8b │ │ +415314: 6e20 c65a 3000 |00ba: invoke-virtual {v0, v3}, Landroid/widget/Spinner;.setEnabled:(Z)V // method@5ac6 │ │ +41531a: 1400 d400 087f |00bd: const v0, #float 1.80779e+38 // #7f0800d4 │ │ +415320: 6e20 dcb8 0200 |00c0: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415326: 0c00 |00c3: move-result-object v0 │ │ +415328: 1f00 8b0a |00c4: check-cast v0, Landroid/widget/Spinner; // type@0a8b │ │ +41532c: 6e20 c65a 3000 |00c6: invoke-virtual {v0, v3}, Landroid/widget/Spinner;.setEnabled:(Z)V // method@5ac6 │ │ +415332: 1400 a800 087f |00c9: const v0, #float 1.80778e+38 // #7f0800a8 │ │ +415338: 6e20 dcb8 0200 |00cc: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +41533e: 0c00 |00cf: move-result-object v0 │ │ +415340: 1f00 970a |00d0: check-cast v0, Landroid/widget/TextView; // type@0a97 │ │ +415344: 6e20 335b 3000 |00d2: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ +41534a: 1400 ac00 087f |00d5: const v0, #float 1.80778e+38 // #7f0800ac │ │ +415350: 6e20 dcb8 0200 |00d8: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415356: 0c00 |00db: move-result-object v0 │ │ +415358: 1f00 970a |00dc: check-cast v0, Landroid/widget/TextView; // type@0a97 │ │ +41535c: 6e20 335b 3000 |00de: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ +415362: 1400 ad00 087f |00e1: const v0, #float 1.80779e+38 // #7f0800ad │ │ +415368: 6e20 dcb8 0200 |00e4: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +41536e: 0c00 |00e7: move-result-object v0 │ │ +415370: 1f00 970a |00e8: check-cast v0, Landroid/widget/TextView; // type@0a97 │ │ +415374: 6e20 335b 3000 |00ea: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ +41537a: 1400 b700 087f |00ed: const v0, #float 1.80779e+38 // #7f0800b7 │ │ +415380: 6e20 dcb8 0200 |00f0: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415386: 0c00 |00f3: move-result-object v0 │ │ +415388: 1f00 970a |00f4: check-cast v0, Landroid/widget/TextView; // type@0a97 │ │ +41538c: 6e20 335b 3000 |00f6: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ +415392: 1400 bd00 087f |00f9: const v0, #float 1.80779e+38 // #7f0800bd │ │ +415398: 6e20 dcb8 0200 |00fc: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +41539e: 0c00 |00ff: move-result-object v0 │ │ +4153a0: 1f00 970a |0100: check-cast v0, Landroid/widget/TextView; // type@0a97 │ │ +4153a4: 6e20 335b 3000 |0102: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ +4153aa: 1400 be00 087f |0105: const v0, #float 1.80779e+38 // #7f0800be │ │ +4153b0: 6e20 dcb8 0200 |0108: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4153b6: 0c00 |010b: move-result-object v0 │ │ +4153b8: 1f00 970a |010c: check-cast v0, Landroid/widget/TextView; // type@0a97 │ │ +4153bc: 6e20 335b 3000 |010e: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ +4153c2: 1400 d200 087f |0111: const v0, #float 1.80779e+38 // #7f0800d2 │ │ +4153c8: 6e20 dcb8 0200 |0114: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4153ce: 0c00 |0117: move-result-object v0 │ │ +4153d0: 1f00 970a |0118: check-cast v0, Landroid/widget/TextView; // type@0a97 │ │ +4153d4: 6e20 335b 3000 |011a: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ +4153da: 1400 d300 087f |011d: const v0, #float 1.80779e+38 // #7f0800d3 │ │ +4153e0: 6e20 dcb8 0200 |0120: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4153e6: 0c00 |0123: move-result-object v0 │ │ +4153e8: 1f00 970a |0124: check-cast v0, Landroid/widget/TextView; // type@0a97 │ │ +4153ec: 6e20 335b 3000 |0126: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ +4153f2: 0e00 |0129: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=561 │ │ 0x0009 line=562 │ │ 0x000f line=563 │ │ 0x0015 line=564 │ │ 0x001b line=565 │ │ @@ -1540342,41 +1540341,41 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 57 16-bit code units │ │ -4153f8: |[4153f8] org.purple.smoke.Settings.epks:(Ljava/lang/String;)V │ │ -415408: 6e10 e6b8 0400 |0000: invoke-virtual {v4}, Lorg/purple/smoke/Settings;.isFinishing:()Z // method@b8e6 │ │ -41540e: 0a00 |0003: move-result v0 │ │ -415410: 3800 0300 |0004: if-eqz v0, 0007 // +0003 │ │ -415414: 0e00 |0006: return-void │ │ -415416: 1400 0101 087f |0007: const v0, #float 1.8078e+38 // #7f080101 │ │ -41541c: 6e20 dcb8 0400 |000a: invoke-virtual {v4, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415422: 0c00 |000d: move-result-object v0 │ │ -415424: 1f00 7c0a |000e: check-cast v0, Landroid/widget/ProgressBar; // type@0a7c │ │ -415428: 1211 |0010: const/4 v1, #int 1 // #1 │ │ -41542a: 6e20 5a5a 1000 |0011: invoke-virtual {v0, v1}, Landroid/widget/ProgressBar;.setIndeterminate:(Z)V // method@5a5a │ │ -415430: 1201 |0014: const/4 v1, #int 0 // #0 │ │ -415432: 6e20 5f5a 1000 |0015: invoke-virtual {v0, v1}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ -415438: 6e10 e4b8 0400 |0018: invoke-virtual {v4}, Lorg/purple/smoke/Settings;.getWindow:()Landroid/view/Window; // method@b8e4 │ │ -41543e: 0c02 |001b: move-result-object v2 │ │ -415440: 1303 1000 |001c: const/16 v3, #int 16 // #10 │ │ -415444: 6e30 9057 3203 |001e: invoke-virtual {v2, v3, v3}, Landroid/view/Window;.setFlags:(II)V // method@5790 │ │ -41544a: 1402 9200 087f |0021: const v2, #float 1.80778e+38 // #7f080092 │ │ -415450: 6e20 dcb8 2400 |0024: invoke-virtual {v4, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415456: 0c02 |0027: move-result-object v2 │ │ -415458: 7120 ddb7 1200 |0028: invoke-static {v2, v1}, Lorg/purple/smoke/Miscellaneous;.enableChildren:(Landroid/view/View;Z)V // method@b7dd │ │ -41545e: 2201 f40a |002b: new-instance v1, Ljava/lang/Thread; // type@0af4 │ │ -415462: 2202 5b1a |002d: new-instance v2, Lorg/purple/smoke/Settings$2SingleShot; // type@1a5b │ │ -415466: 7040 6fb8 4205 |002f: invoke-direct {v2, v4, v5, v0}, Lorg/purple/smoke/Settings$2SingleShot;.:(Lorg/purple/smoke/Settings;Ljava/lang/String;Landroid/widget/ProgressBar;)V // method@b86f │ │ -41546c: 7020 0e5d 2100 |0032: invoke-direct {v1, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@5d0e │ │ -415472: 6e10 195d 0100 |0035: invoke-virtual {v1}, Ljava/lang/Thread;.start:()V // method@5d19 │ │ -415478: 0e00 |0038: return-void │ │ +4153f4: |[4153f4] org.purple.smoke.Settings.epks:(Ljava/lang/String;)V │ │ +415404: 6e10 e6b8 0400 |0000: invoke-virtual {v4}, Lorg/purple/smoke/Settings;.isFinishing:()Z // method@b8e6 │ │ +41540a: 0a00 |0003: move-result v0 │ │ +41540c: 3800 0300 |0004: if-eqz v0, 0007 // +0003 │ │ +415410: 0e00 |0006: return-void │ │ +415412: 1400 0101 087f |0007: const v0, #float 1.8078e+38 // #7f080101 │ │ +415418: 6e20 dcb8 0400 |000a: invoke-virtual {v4, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +41541e: 0c00 |000d: move-result-object v0 │ │ +415420: 1f00 7c0a |000e: check-cast v0, Landroid/widget/ProgressBar; // type@0a7c │ │ +415424: 1211 |0010: const/4 v1, #int 1 // #1 │ │ +415426: 6e20 5a5a 1000 |0011: invoke-virtual {v0, v1}, Landroid/widget/ProgressBar;.setIndeterminate:(Z)V // method@5a5a │ │ +41542c: 1201 |0014: const/4 v1, #int 0 // #0 │ │ +41542e: 6e20 5f5a 1000 |0015: invoke-virtual {v0, v1}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ +415434: 6e10 e4b8 0400 |0018: invoke-virtual {v4}, Lorg/purple/smoke/Settings;.getWindow:()Landroid/view/Window; // method@b8e4 │ │ +41543a: 0c02 |001b: move-result-object v2 │ │ +41543c: 1303 1000 |001c: const/16 v3, #int 16 // #10 │ │ +415440: 6e30 9057 3203 |001e: invoke-virtual {v2, v3, v3}, Landroid/view/Window;.setFlags:(II)V // method@5790 │ │ +415446: 1402 9200 087f |0021: const v2, #float 1.80778e+38 // #7f080092 │ │ +41544c: 6e20 dcb8 2400 |0024: invoke-virtual {v4, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415452: 0c02 |0027: move-result-object v2 │ │ +415454: 7120 ddb7 1200 |0028: invoke-static {v2, v1}, Lorg/purple/smoke/Miscellaneous;.enableChildren:(Landroid/view/View;Z)V // method@b7dd │ │ +41545a: 2201 f40a |002b: new-instance v1, Ljava/lang/Thread; // type@0af4 │ │ +41545e: 2202 5b1a |002d: new-instance v2, Lorg/purple/smoke/Settings$2SingleShot; // type@1a5b │ │ +415462: 7040 6fb8 4205 |002f: invoke-direct {v2, v4, v5, v0}, Lorg/purple/smoke/Settings$2SingleShot;.:(Lorg/purple/smoke/Settings;Ljava/lang/String;Landroid/widget/ProgressBar;)V // method@b86f │ │ +415468: 7020 0e5d 2100 |0032: invoke-direct {v1, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@5d0e │ │ +41546e: 6e10 195d 0100 |0035: invoke-virtual {v1}, Ljava/lang/Thread;.start:()V // method@5d19 │ │ +415474: 0e00 |0038: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=626 │ │ 0x000a line=630 │ │ 0x0011 line=632 │ │ 0x0015 line=633 │ │ 0x0018 line=634 │ │ @@ -1540392,102 +1540391,102 @@ │ │ type : '(Ljava/lang/String;)Z' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 11 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 162 16-bit code units │ │ -4143d8: |[4143d8] org.purple.smoke.Settings.generateOzone:(Ljava/lang/String;)Z │ │ -4143e8: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -4143ea: 6e10 d35c 0a00 |0001: invoke-virtual {v10}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ -4143f0: 0c01 |0004: move-result-object v1 │ │ -4143f2: 6e10 c35c 0100 |0005: invoke-virtual {v1}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -4143f8: 0a01 |0008: move-result v1 │ │ -4143fa: 1202 |0009: const/4 v2, #int 0 // #0 │ │ -4143fc: 1213 |000a: const/4 v3, #int 1 // #1 │ │ -4143fe: 3901 3e00 |000b: if-nez v1, 0049 // +003e │ │ -414402: 2331 811b |000d: new-array v1, v3, [[B // type@1b81 │ │ -414406: 6e10 d35c 0a00 |000f: invoke-virtual {v10}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ -41440c: 0c04 |0012: move-result-object v4 │ │ -41440e: 6205 e02c |0013: sget-object v5, Ljava/nio/charset/StandardCharsets;.UTF_8:Ljava/nio/charset/Charset; // field@2ce0 │ │ -414412: 6e20 be5c 5400 |0015: invoke-virtual {v4, v5}, Ljava/lang/String;.getBytes:(Ljava/nio/charset/Charset;)[B // method@5cbe │ │ -414418: 0c04 |0018: move-result-object v4 │ │ -41441a: 4d04 0100 |0019: aput-object v4, v1, v0 │ │ -41441e: 7110 b2b5 0100 |001b: invoke-static {v1}, Lorg/purple/smoke/Cryptography;.sha512:([[B)[B // method@b5b2 │ │ -414424: 0c01 |001e: move-result-object v1 │ │ -414426: 3801 1400 |001f: if-eqz v1, 0033 // +0014 │ │ -41442a: 6e10 d35c 0a00 |0021: invoke-virtual {v10}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ -414430: 0c04 |0024: move-result-object v4 │ │ -414432: 6e10 ce5c 0400 |0025: invoke-virtual {v4}, Ljava/lang/String;.toCharArray:()[C // method@5cce │ │ -414438: 0c04 |0028: move-result-object v4 │ │ -41443a: 1305 0010 |0029: const/16 v5, #int 4096 // #1000 │ │ -41443e: 1306 a000 |002b: const/16 v6, #int 160 // #a0 │ │ -414442: 7140 97b5 4165 |002d: invoke-static {v1, v4, v5, v6}, Lorg/purple/smoke/Cryptography;.pbkdf2:([B[CII)[B // method@b597 │ │ -414448: 0c04 |0030: move-result-object v4 │ │ -41444a: 1215 |0031: const/4 v5, #int 1 // #1 │ │ -41444c: 2803 |0032: goto 0035 // +0003 │ │ -41444e: 0724 |0033: move-object v4, v2 │ │ -414450: 1205 |0034: const/4 v5, #int 0 // #0 │ │ -414452: 3804 1200 |0035: if-eqz v4, 0047 // +0012 │ │ -414456: 1226 |0037: const/4 v6, #int 2 // #2 │ │ -414458: 7120 c454 6400 |0038: invoke-static {v4, v6}, Landroid/util/Base64;.encodeToString:([BI)Ljava/lang/String; // method@54c4 │ │ -41445e: 0c04 |003b: move-result-object v4 │ │ -414460: 6e10 ce5c 0400 |003c: invoke-virtual {v4}, Ljava/lang/String;.toCharArray:()[C // method@5cce │ │ -414466: 0c04 |003f: move-result-object v4 │ │ -414468: 1306 0003 |0040: const/16 v6, #int 768 // #300 │ │ -41446c: 7140 97b5 4163 |0042: invoke-static {v1, v4, v3, v6}, Lorg/purple/smoke/Cryptography;.pbkdf2:([B[CII)[B // method@b597 │ │ -414472: 0c04 |0045: move-result-object v4 │ │ -414474: 2805 |0046: goto 004b // +0005 │ │ -414476: 1205 |0047: const/4 v5, #int 0 // #0 │ │ -414478: 2803 |0048: goto 004b // +0003 │ │ -41447a: 0724 |0049: move-object v4, v2 │ │ -41447c: 1215 |004a: const/4 v5, #int 1 // #1 │ │ -41447e: 3904 0c00 |004b: if-nez v4, 0057 // +000c │ │ -414482: 6e10 d35c 0a00 |004d: invoke-virtual {v10}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ -414488: 0c01 |0050: move-result-object v1 │ │ -41448a: 6e10 c35c 0100 |0051: invoke-virtual {v1}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -414490: 0a01 |0054: move-result v1 │ │ -414492: 3801 4b00 |0055: if-eqz v1, 00a0 // +004b │ │ -414496: 5491 1a5d |0057: iget-object v1, v9, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -41449a: 6206 1e5d |0059: sget-object v6, Lorg/purple/smoke/Settings;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d1e │ │ -41449e: 1a07 2590 |005b: const-string v7, "ozone_address" // string@9025 │ │ -4144a2: 6e10 d35c 0a00 |005d: invoke-virtual {v10}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ -4144a8: 0c08 |0060: move-result-object v8 │ │ -4144aa: 6e40 30b6 6187 |0061: invoke-virtual {v1, v6, v7, v8}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -4144b0: 6e10 d35c 0a00 |0064: invoke-virtual {v10}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ -4144b6: 0c0a |0067: move-result-object v10 │ │ -4144b8: 6e10 c35c 0a00 |0068: invoke-virtual {v10}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -4144be: 0a0a |006b: move-result v10 │ │ -4144c0: 1a01 2690 |006c: const-string v1, "ozone_address_stream" // string@9026 │ │ -4144c4: 380a 1100 |006e: if-eqz v10, 007f // +0011 │ │ -4144c8: 549a 1a5d |0070: iget-object v10, v9, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -4144cc: 1a04 0000 |0072: const-string v4, "" // string@0000 │ │ -4144d0: 6e40 30b6 6a41 |0074: invoke-virtual {v10, v6, v1, v4}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -4144d6: 6e20 aeb5 2600 |0077: invoke-virtual {v6, v2}, Lorg/purple/smoke/Cryptography;.setOzoneEncryptionKey:([B)V // method@b5ae │ │ -4144dc: 6e20 afb5 2600 |007a: invoke-virtual {v6, v2}, Lorg/purple/smoke/Cryptography;.setOzoneMacKey:([B)V // method@b5af │ │ -4144e2: 1210 |007d: const/4 v0, #int 1 // #1 │ │ -4144e4: 2823 |007e: goto 00a1 // +0023 │ │ -4144e6: 3804 2100 |007f: if-eqz v4, 00a0 // +0021 │ │ -4144ea: 214a |0081: array-length v10, v4 │ │ -4144ec: 1302 6000 |0082: const/16 v2, #int 96 // #60 │ │ -4144f0: 332a 1c00 |0084: if-ne v10, v2, 00a0 // +001c │ │ -4144f4: 549a 1a5d |0086: iget-object v10, v9, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -4144f8: 7120 c454 0400 |0088: invoke-static {v4, v0}, Landroid/util/Base64;.encodeToString:([BI)Ljava/lang/String; // method@54c4 │ │ -4144fe: 0c02 |008b: move-result-object v2 │ │ -414500: 6e40 30b6 6a21 |008c: invoke-virtual {v10, v6, v1, v2}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -414506: 130a 2000 |008f: const/16 v10, #int 32 // #20 │ │ -41450a: 7130 b45f 040a |0091: invoke-static {v4, v0, v10}, Ljava/util/Arrays;.copyOfRange:([BII)[B // method@5fb4 │ │ -414510: 0c01 |0094: move-result-object v1 │ │ -414512: 6e20 aeb5 1600 |0095: invoke-virtual {v6, v1}, Lorg/purple/smoke/Cryptography;.setOzoneEncryptionKey:([B)V // method@b5ae │ │ -414518: 2141 |0098: array-length v1, v4 │ │ -41451a: 7130 b45f a401 |0099: invoke-static {v4, v10, v1}, Ljava/util/Arrays;.copyOfRange:([BII)[B // method@5fb4 │ │ -414520: 0c0a |009c: move-result-object v10 │ │ -414522: 6e20 afb5 a600 |009d: invoke-virtual {v6, v10}, Lorg/purple/smoke/Cryptography;.setOzoneMacKey:([B)V // method@b5af │ │ -414528: 0150 |00a0: move v0, v5 │ │ -41452a: 0f00 |00a1: return v0 │ │ +4143d4: |[4143d4] org.purple.smoke.Settings.generateOzone:(Ljava/lang/String;)Z │ │ +4143e4: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +4143e6: 6e10 d35c 0a00 |0001: invoke-virtual {v10}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ +4143ec: 0c01 |0004: move-result-object v1 │ │ +4143ee: 6e10 c35c 0100 |0005: invoke-virtual {v1}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +4143f4: 0a01 |0008: move-result v1 │ │ +4143f6: 1202 |0009: const/4 v2, #int 0 // #0 │ │ +4143f8: 1213 |000a: const/4 v3, #int 1 // #1 │ │ +4143fa: 3901 3e00 |000b: if-nez v1, 0049 // +003e │ │ +4143fe: 2331 811b |000d: new-array v1, v3, [[B // type@1b81 │ │ +414402: 6e10 d35c 0a00 |000f: invoke-virtual {v10}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ +414408: 0c04 |0012: move-result-object v4 │ │ +41440a: 6205 e02c |0013: sget-object v5, Ljava/nio/charset/StandardCharsets;.UTF_8:Ljava/nio/charset/Charset; // field@2ce0 │ │ +41440e: 6e20 be5c 5400 |0015: invoke-virtual {v4, v5}, Ljava/lang/String;.getBytes:(Ljava/nio/charset/Charset;)[B // method@5cbe │ │ +414414: 0c04 |0018: move-result-object v4 │ │ +414416: 4d04 0100 |0019: aput-object v4, v1, v0 │ │ +41441a: 7110 b2b5 0100 |001b: invoke-static {v1}, Lorg/purple/smoke/Cryptography;.sha512:([[B)[B // method@b5b2 │ │ +414420: 0c01 |001e: move-result-object v1 │ │ +414422: 3801 1400 |001f: if-eqz v1, 0033 // +0014 │ │ +414426: 6e10 d35c 0a00 |0021: invoke-virtual {v10}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ +41442c: 0c04 |0024: move-result-object v4 │ │ +41442e: 6e10 ce5c 0400 |0025: invoke-virtual {v4}, Ljava/lang/String;.toCharArray:()[C // method@5cce │ │ +414434: 0c04 |0028: move-result-object v4 │ │ +414436: 1305 0010 |0029: const/16 v5, #int 4096 // #1000 │ │ +41443a: 1306 a000 |002b: const/16 v6, #int 160 // #a0 │ │ +41443e: 7140 97b5 4165 |002d: invoke-static {v1, v4, v5, v6}, Lorg/purple/smoke/Cryptography;.pbkdf2:([B[CII)[B // method@b597 │ │ +414444: 0c04 |0030: move-result-object v4 │ │ +414446: 1215 |0031: const/4 v5, #int 1 // #1 │ │ +414448: 2803 |0032: goto 0035 // +0003 │ │ +41444a: 0724 |0033: move-object v4, v2 │ │ +41444c: 1205 |0034: const/4 v5, #int 0 // #0 │ │ +41444e: 3804 1200 |0035: if-eqz v4, 0047 // +0012 │ │ +414452: 1226 |0037: const/4 v6, #int 2 // #2 │ │ +414454: 7120 c454 6400 |0038: invoke-static {v4, v6}, Landroid/util/Base64;.encodeToString:([BI)Ljava/lang/String; // method@54c4 │ │ +41445a: 0c04 |003b: move-result-object v4 │ │ +41445c: 6e10 ce5c 0400 |003c: invoke-virtual {v4}, Ljava/lang/String;.toCharArray:()[C // method@5cce │ │ +414462: 0c04 |003f: move-result-object v4 │ │ +414464: 1306 0003 |0040: const/16 v6, #int 768 // #300 │ │ +414468: 7140 97b5 4163 |0042: invoke-static {v1, v4, v3, v6}, Lorg/purple/smoke/Cryptography;.pbkdf2:([B[CII)[B // method@b597 │ │ +41446e: 0c04 |0045: move-result-object v4 │ │ +414470: 2805 |0046: goto 004b // +0005 │ │ +414472: 1205 |0047: const/4 v5, #int 0 // #0 │ │ +414474: 2803 |0048: goto 004b // +0003 │ │ +414476: 0724 |0049: move-object v4, v2 │ │ +414478: 1215 |004a: const/4 v5, #int 1 // #1 │ │ +41447a: 3904 0c00 |004b: if-nez v4, 0057 // +000c │ │ +41447e: 6e10 d35c 0a00 |004d: invoke-virtual {v10}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ +414484: 0c01 |0050: move-result-object v1 │ │ +414486: 6e10 c35c 0100 |0051: invoke-virtual {v1}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +41448c: 0a01 |0054: move-result v1 │ │ +41448e: 3801 4b00 |0055: if-eqz v1, 00a0 // +004b │ │ +414492: 5491 1a5d |0057: iget-object v1, v9, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +414496: 6206 1e5d |0059: sget-object v6, Lorg/purple/smoke/Settings;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d1e │ │ +41449a: 1a07 2590 |005b: const-string v7, "ozone_address" // string@9025 │ │ +41449e: 6e10 d35c 0a00 |005d: invoke-virtual {v10}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ +4144a4: 0c08 |0060: move-result-object v8 │ │ +4144a6: 6e40 30b6 6187 |0061: invoke-virtual {v1, v6, v7, v8}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +4144ac: 6e10 d35c 0a00 |0064: invoke-virtual {v10}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ +4144b2: 0c0a |0067: move-result-object v10 │ │ +4144b4: 6e10 c35c 0a00 |0068: invoke-virtual {v10}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +4144ba: 0a0a |006b: move-result v10 │ │ +4144bc: 1a01 2690 |006c: const-string v1, "ozone_address_stream" // string@9026 │ │ +4144c0: 380a 1100 |006e: if-eqz v10, 007f // +0011 │ │ +4144c4: 549a 1a5d |0070: iget-object v10, v9, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +4144c8: 1a04 0000 |0072: const-string v4, "" // string@0000 │ │ +4144cc: 6e40 30b6 6a41 |0074: invoke-virtual {v10, v6, v1, v4}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +4144d2: 6e20 aeb5 2600 |0077: invoke-virtual {v6, v2}, Lorg/purple/smoke/Cryptography;.setOzoneEncryptionKey:([B)V // method@b5ae │ │ +4144d8: 6e20 afb5 2600 |007a: invoke-virtual {v6, v2}, Lorg/purple/smoke/Cryptography;.setOzoneMacKey:([B)V // method@b5af │ │ +4144de: 1210 |007d: const/4 v0, #int 1 // #1 │ │ +4144e0: 2823 |007e: goto 00a1 // +0023 │ │ +4144e2: 3804 2100 |007f: if-eqz v4, 00a0 // +0021 │ │ +4144e6: 214a |0081: array-length v10, v4 │ │ +4144e8: 1302 6000 |0082: const/16 v2, #int 96 // #60 │ │ +4144ec: 332a 1c00 |0084: if-ne v10, v2, 00a0 // +001c │ │ +4144f0: 549a 1a5d |0086: iget-object v10, v9, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +4144f4: 7120 c454 0400 |0088: invoke-static {v4, v0}, Landroid/util/Base64;.encodeToString:([BI)Ljava/lang/String; // method@54c4 │ │ +4144fa: 0c02 |008b: move-result-object v2 │ │ +4144fc: 6e40 30b6 6a21 |008c: invoke-virtual {v10, v6, v1, v2}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +414502: 130a 2000 |008f: const/16 v10, #int 32 // #20 │ │ +414506: 7130 b45f 040a |0091: invoke-static {v4, v0, v10}, Ljava/util/Arrays;.copyOfRange:([BII)[B // method@5fb4 │ │ +41450c: 0c01 |0094: move-result-object v1 │ │ +41450e: 6e20 aeb5 1600 |0095: invoke-virtual {v6, v1}, Lorg/purple/smoke/Cryptography;.setOzoneEncryptionKey:([B)V // method@b5ae │ │ +414514: 2141 |0098: array-length v1, v4 │ │ +414516: 7130 b45f a401 |0099: invoke-static {v4, v10, v1}, Ljava/util/Arrays;.copyOfRange:([BII)[B // method@5fb4 │ │ +41451c: 0c0a |009c: move-result-object v10 │ │ +41451e: 6e20 afb5 a600 |009d: invoke-virtual {v6, v10}, Lorg/purple/smoke/Cryptography;.setOzoneMacKey:([B)V // method@b5af │ │ +414524: 0150 |00a0: move v0, v5 │ │ +414526: 0f00 |00a1: return v0 │ │ catches : 2 │ │ 0x0001 - 0x006c │ │ Ljava/lang/Exception; -> 0x00a1 │ │ 0x0070 - 0x00a0 │ │ Ljava/lang/Exception; -> 0x00a1 │ │ positions : │ │ 0x0001 line=233 │ │ @@ -1540521,21 +1540520,21 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 12 16-bit code units │ │ -41547c: |[41547c] org.purple.smoke.Settings.networkStatusChanged:()V │ │ -41548c: 6e10 e3b8 0200 |0000: invoke-virtual {v2}, Lorg/purple/smoke/Settings;.getSupportActionBar:()Landroid/support/v7/app/ActionBar; // method@b8e3 │ │ -415492: 0c00 |0003: move-result-object v0 │ │ -415494: 7100 20b9 0000 |0004: invoke-static {}, Lorg/purple/smoke/Smoke;.networkStatusString:()Ljava/lang/String; // method@b920 │ │ -41549a: 0c01 |0007: move-result-object v1 │ │ -41549c: 6e20 0a3c 1000 |0008: invoke-virtual {v0, v1}, Landroid/support/v7/app/ActionBar;.setSubtitle:(Ljava/lang/CharSequence;)V // method@3c0a │ │ -4154a2: 0e00 |000b: return-void │ │ +415478: |[415478] org.purple.smoke.Settings.networkStatusChanged:()V │ │ +415488: 6e10 e3b8 0200 |0000: invoke-virtual {v2}, Lorg/purple/smoke/Settings;.getSupportActionBar:()Landroid/support/v7/app/ActionBar; // method@b8e3 │ │ +41548e: 0c00 |0003: move-result-object v0 │ │ +415490: 7100 20b9 0000 |0004: invoke-static {}, Lorg/purple/smoke/Smoke;.networkStatusString:()Ljava/lang/String; // method@b920 │ │ +415496: 0c01 |0007: move-result-object v1 │ │ +415498: 6e20 0a3c 1000 |0008: invoke-virtual {v0, v1}, Landroid/support/v7/app/ActionBar;.setSubtitle:(Ljava/lang/CharSequence;)V // method@3c0a │ │ +41549e: 0e00 |000b: return-void │ │ catches : 1 │ │ 0x0000 - 0x000b │ │ Ljava/lang/Exception; -> 0x000b │ │ positions : │ │ 0x0000 line=738 │ │ locals : │ │ 0x0000 - 0x000c reg=2 this Lorg/purple/smoke/Settings; │ │ @@ -1540545,101 +1540544,101 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 8 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 180 16-bit code units │ │ -41648c: |[41648c] org.purple.smoke.Settings.populateFancyKeyData:()V │ │ -41649c: 1400 3800 087f |0000: const v0, #float 1.80776e+38 // #7f080038 │ │ -4164a2: 6e20 dcb8 0700 |0003: invoke-virtual {v7, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4164a8: 0c00 |0006: move-result-object v0 │ │ -4164aa: 1f00 970a |0007: check-cast v0, Landroid/widget/TextView; // type@0a97 │ │ -4164ae: 6201 1e5d |0009: sget-object v1, Lorg/purple/smoke/Settings;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d1e │ │ -4164b2: 6e10 67b5 0100 |000b: invoke-virtual {v1}, Lorg/purple/smoke/Cryptography;.chatEncryptionKeyPair:()Ljava/security/KeyPair; // method@b567 │ │ -4164b8: 0c02 |000e: move-result-object v2 │ │ -4164ba: 1303 0800 |000f: const/16 v3, #int 8 // #8 │ │ -4164be: 1204 |0011: const/4 v4, #int 0 // #0 │ │ -4164c0: 3802 2d00 |0012: if-eqz v2, 003f // +002d │ │ -4164c4: 6e10 67b5 0100 |0014: invoke-virtual {v1}, Lorg/purple/smoke/Cryptography;.chatEncryptionKeyPair:()Ljava/security/KeyPair; // method@b567 │ │ -4164ca: 0c02 |0017: move-result-object v2 │ │ -4164cc: 6e10 fc5d 0200 |0018: invoke-virtual {v2}, Ljava/security/KeyPair;.getPublic:()Ljava/security/PublicKey; // method@5dfc │ │ -4164d2: 0c02 |001b: move-result-object v2 │ │ -4164d4: 3902 0300 |001c: if-nez v2, 001f // +0003 │ │ -4164d8: 2821 |001e: goto 003f // +0021 │ │ -4164da: 2202 f10a |001f: new-instance v2, Ljava/lang/StringBuilder; // type@0af1 │ │ -4164de: 7010 ee5c 0200 |0021: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -4164e4: 1a05 0d19 |0024: const-string v5, "Encryption Key │ │ +416488: |[416488] org.purple.smoke.Settings.populateFancyKeyData:()V │ │ +416498: 1400 3800 087f |0000: const v0, #float 1.80776e+38 // #7f080038 │ │ +41649e: 6e20 dcb8 0700 |0003: invoke-virtual {v7, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4164a4: 0c00 |0006: move-result-object v0 │ │ +4164a6: 1f00 970a |0007: check-cast v0, Landroid/widget/TextView; // type@0a97 │ │ +4164aa: 6201 1e5d |0009: sget-object v1, Lorg/purple/smoke/Settings;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d1e │ │ +4164ae: 6e10 67b5 0100 |000b: invoke-virtual {v1}, Lorg/purple/smoke/Cryptography;.chatEncryptionKeyPair:()Ljava/security/KeyPair; // method@b567 │ │ +4164b4: 0c02 |000e: move-result-object v2 │ │ +4164b6: 1303 0800 |000f: const/16 v3, #int 8 // #8 │ │ +4164ba: 1204 |0011: const/4 v4, #int 0 // #0 │ │ +4164bc: 3802 2d00 |0012: if-eqz v2, 003f // +002d │ │ +4164c0: 6e10 67b5 0100 |0014: invoke-virtual {v1}, Lorg/purple/smoke/Cryptography;.chatEncryptionKeyPair:()Ljava/security/KeyPair; // method@b567 │ │ +4164c6: 0c02 |0017: move-result-object v2 │ │ +4164c8: 6e10 fc5d 0200 |0018: invoke-virtual {v2}, Ljava/security/KeyPair;.getPublic:()Ljava/security/PublicKey; // method@5dfc │ │ +4164ce: 0c02 |001b: move-result-object v2 │ │ +4164d0: 3902 0300 |001c: if-nez v2, 001f // +0003 │ │ +4164d4: 2821 |001e: goto 003f // +0021 │ │ +4164d6: 2202 f10a |001f: new-instance v2, Ljava/lang/StringBuilder; // type@0af1 │ │ +4164da: 7010 ee5c 0200 |0021: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +4164e0: 1a05 0d19 |0024: const-string v5, "Encryption Key │ │ " // string@190d │ │ -4164e8: 6e20 f95c 5200 |0026: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4164ee: 6e10 67b5 0100 |0029: invoke-virtual {v1}, Lorg/purple/smoke/Cryptography;.chatEncryptionKeyPair:()Ljava/security/KeyPair; // method@b567 │ │ -4164f4: 0c05 |002c: move-result-object v5 │ │ -4164f6: 6e10 69b5 0100 |002d: invoke-virtual {v1}, Lorg/purple/smoke/Cryptography;.chatEncryptionPublicKeyAlgorithm:()Ljava/lang/String; // method@b569 │ │ -4164fc: 0c06 |0030: move-result-object v6 │ │ -4164fe: 7120 7fb5 6500 |0031: invoke-static {v5, v6}, Lorg/purple/smoke/Cryptography;.fancyKeyInformationOutput:(Ljava/security/KeyPair;Ljava/lang/String;)Ljava/lang/String; // method@b57f │ │ -416504: 0c05 |0034: move-result-object v5 │ │ -416506: 6e20 f95c 5200 |0035: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41650c: 6e20 495b 2000 |0038: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -416512: 6e20 535b 4000 |003b: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ -416518: 2805 |003e: goto 0043 // +0005 │ │ -41651a: 6e20 535b 3000 |003f: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ -416520: 1202 |0042: const/4 v2, #int 0 // #0 │ │ -416522: 1400 3c00 087f |0043: const v0, #float 1.80776e+38 // #7f08003c │ │ -416528: 6e20 dcb8 0700 |0046: invoke-virtual {v7, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41652e: 0c00 |0049: move-result-object v0 │ │ -416530: 1f00 970a |004a: check-cast v0, Landroid/widget/TextView; // type@0a97 │ │ -416534: 6e10 6cb5 0100 |004c: invoke-virtual {v1}, Lorg/purple/smoke/Cryptography;.chatSignatureKeyPair:()Ljava/security/KeyPair; // method@b56c │ │ -41653a: 0c05 |004f: move-result-object v5 │ │ -41653c: 3805 3500 |0050: if-eqz v5, 0085 // +0035 │ │ -416540: 6e10 6cb5 0100 |0052: invoke-virtual {v1}, Lorg/purple/smoke/Cryptography;.chatSignatureKeyPair:()Ljava/security/KeyPair; // method@b56c │ │ -416546: 0c05 |0055: move-result-object v5 │ │ -416548: 6e10 fc5d 0500 |0056: invoke-virtual {v5}, Ljava/security/KeyPair;.getPublic:()Ljava/security/PublicKey; // method@5dfc │ │ -41654e: 0c05 |0059: move-result-object v5 │ │ -416550: 3905 0300 |005a: if-nez v5, 005d // +0003 │ │ -416554: 2829 |005c: goto 0085 // +0029 │ │ -416556: 3902 0800 |005d: if-nez v2, 0065 // +0008 │ │ -41655a: 2202 f10a |005f: new-instance v2, Ljava/lang/StringBuilder; // type@0af1 │ │ -41655e: 7010 ee5c 0200 |0061: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -416564: 2808 |0064: goto 006c // +0008 │ │ -416566: 6e10 ff5c 0200 |0065: invoke-virtual {v2}, Ljava/lang/StringBuilder;.length:()I // method@5cff │ │ -41656c: 0a05 |0068: move-result v5 │ │ -41656e: 6e30 fd5c 4205 |0069: invoke-virtual {v2, v4, v5}, Ljava/lang/StringBuilder;.delete:(II)Ljava/lang/StringBuilder; // method@5cfd │ │ -416574: 1a05 594a |006c: const-string v5, "Signature Key │ │ +4164e4: 6e20 f95c 5200 |0026: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4164ea: 6e10 67b5 0100 |0029: invoke-virtual {v1}, Lorg/purple/smoke/Cryptography;.chatEncryptionKeyPair:()Ljava/security/KeyPair; // method@b567 │ │ +4164f0: 0c05 |002c: move-result-object v5 │ │ +4164f2: 6e10 69b5 0100 |002d: invoke-virtual {v1}, Lorg/purple/smoke/Cryptography;.chatEncryptionPublicKeyAlgorithm:()Ljava/lang/String; // method@b569 │ │ +4164f8: 0c06 |0030: move-result-object v6 │ │ +4164fa: 7120 7fb5 6500 |0031: invoke-static {v5, v6}, Lorg/purple/smoke/Cryptography;.fancyKeyInformationOutput:(Ljava/security/KeyPair;Ljava/lang/String;)Ljava/lang/String; // method@b57f │ │ +416500: 0c05 |0034: move-result-object v5 │ │ +416502: 6e20 f95c 5200 |0035: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416508: 6e20 495b 2000 |0038: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41650e: 6e20 535b 4000 |003b: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ +416514: 2805 |003e: goto 0043 // +0005 │ │ +416516: 6e20 535b 3000 |003f: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ +41651c: 1202 |0042: const/4 v2, #int 0 // #0 │ │ +41651e: 1400 3c00 087f |0043: const v0, #float 1.80776e+38 // #7f08003c │ │ +416524: 6e20 dcb8 0700 |0046: invoke-virtual {v7, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +41652a: 0c00 |0049: move-result-object v0 │ │ +41652c: 1f00 970a |004a: check-cast v0, Landroid/widget/TextView; // type@0a97 │ │ +416530: 6e10 6cb5 0100 |004c: invoke-virtual {v1}, Lorg/purple/smoke/Cryptography;.chatSignatureKeyPair:()Ljava/security/KeyPair; // method@b56c │ │ +416536: 0c05 |004f: move-result-object v5 │ │ +416538: 3805 3500 |0050: if-eqz v5, 0085 // +0035 │ │ +41653c: 6e10 6cb5 0100 |0052: invoke-virtual {v1}, Lorg/purple/smoke/Cryptography;.chatSignatureKeyPair:()Ljava/security/KeyPair; // method@b56c │ │ +416542: 0c05 |0055: move-result-object v5 │ │ +416544: 6e10 fc5d 0500 |0056: invoke-virtual {v5}, Ljava/security/KeyPair;.getPublic:()Ljava/security/PublicKey; // method@5dfc │ │ +41654a: 0c05 |0059: move-result-object v5 │ │ +41654c: 3905 0300 |005a: if-nez v5, 005d // +0003 │ │ +416550: 2829 |005c: goto 0085 // +0029 │ │ +416552: 3902 0800 |005d: if-nez v2, 0065 // +0008 │ │ +416556: 2202 f10a |005f: new-instance v2, Ljava/lang/StringBuilder; // type@0af1 │ │ +41655a: 7010 ee5c 0200 |0061: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +416560: 2808 |0064: goto 006c // +0008 │ │ +416562: 6e10 ff5c 0200 |0065: invoke-virtual {v2}, Ljava/lang/StringBuilder;.length:()I // method@5cff │ │ +416568: 0a05 |0068: move-result v5 │ │ +41656a: 6e30 fd5c 4205 |0069: invoke-virtual {v2, v4, v5}, Ljava/lang/StringBuilder;.delete:(II)Ljava/lang/StringBuilder; // method@5cfd │ │ +416570: 1a05 594a |006c: const-string v5, "Signature Key │ │ " // string@4a59 │ │ -416578: 6e20 f95c 5200 |006e: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41657e: 6e10 6cb5 0100 |0071: invoke-virtual {v1}, Lorg/purple/smoke/Cryptography;.chatSignatureKeyPair:()Ljava/security/KeyPair; // method@b56c │ │ -416584: 0c05 |0074: move-result-object v5 │ │ -416586: 1a06 0000 |0075: const-string v6, "" // string@0000 │ │ -41658a: 7120 7fb5 6500 |0077: invoke-static {v5, v6}, Lorg/purple/smoke/Cryptography;.fancyKeyInformationOutput:(Ljava/security/KeyPair;Ljava/lang/String;)Ljava/lang/String; // method@b57f │ │ -416590: 0c05 |007a: move-result-object v5 │ │ -416592: 6e20 f95c 5200 |007b: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416598: 6e20 495b 2000 |007e: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41659e: 6e20 535b 4000 |0081: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ -4165a4: 2804 |0084: goto 0088 // +0004 │ │ -4165a6: 6e20 535b 3000 |0085: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ -4165ac: 1400 0b01 087f |0088: const v0, #float 1.8078e+38 // #7f08010b │ │ -4165b2: 6e20 dcb8 0700 |008b: invoke-virtual {v7, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4165b8: 0c00 |008e: move-result-object v0 │ │ -4165ba: 1f00 970a |008f: check-cast v0, Landroid/widget/TextView; // type@0a97 │ │ -4165be: 3902 0600 |0091: if-nez v2, 0097 // +0006 │ │ -4165c2: 6e20 535b 3000 |0093: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ -4165c8: 281d |0096: goto 00b3 // +001d │ │ -4165ca: 6e10 ff5c 0200 |0097: invoke-virtual {v2}, Ljava/lang/StringBuilder;.length:()I // method@5cff │ │ -4165d0: 0a03 |009a: move-result v3 │ │ -4165d2: 6e30 fd5c 4203 |009b: invoke-virtual {v2, v4, v3}, Ljava/lang/StringBuilder;.delete:(II)Ljava/lang/StringBuilder; // method@5cfd │ │ -4165d8: 6e10 b7b5 0100 |009e: invoke-virtual {v1}, Lorg/purple/smoke/Cryptography;.sipHashId:()Ljava/lang/String; // method@b5b7 │ │ -4165de: 0c01 |00a1: move-result-object v1 │ │ -4165e0: 7110 e7b7 0100 |00a2: invoke-static {v1}, Lorg/purple/smoke/Miscellaneous;.prepareSipHashId:(Ljava/lang/String;)Ljava/lang/String; // method@b7e7 │ │ -4165e6: 0c01 |00a5: move-result-object v1 │ │ -4165e8: 6e20 f95c 1200 |00a6: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4165ee: 6e20 495b 2000 |00a9: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -4165f4: 1211 |00ac: const/4 v1, #int 1 // #1 │ │ -4165f6: 6e20 4e5b 1000 |00ad: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setTextIsSelectable:(Z)V // method@5b4e │ │ -4165fc: 6e20 535b 4000 |00b0: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ -416602: 0e00 |00b3: return-void │ │ +416574: 6e20 f95c 5200 |006e: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41657a: 6e10 6cb5 0100 |0071: invoke-virtual {v1}, Lorg/purple/smoke/Cryptography;.chatSignatureKeyPair:()Ljava/security/KeyPair; // method@b56c │ │ +416580: 0c05 |0074: move-result-object v5 │ │ +416582: 1a06 0000 |0075: const-string v6, "" // string@0000 │ │ +416586: 7120 7fb5 6500 |0077: invoke-static {v5, v6}, Lorg/purple/smoke/Cryptography;.fancyKeyInformationOutput:(Ljava/security/KeyPair;Ljava/lang/String;)Ljava/lang/String; // method@b57f │ │ +41658c: 0c05 |007a: move-result-object v5 │ │ +41658e: 6e20 f95c 5200 |007b: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416594: 6e20 495b 2000 |007e: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41659a: 6e20 535b 4000 |0081: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ +4165a0: 2804 |0084: goto 0088 // +0004 │ │ +4165a2: 6e20 535b 3000 |0085: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ +4165a8: 1400 0b01 087f |0088: const v0, #float 1.8078e+38 // #7f08010b │ │ +4165ae: 6e20 dcb8 0700 |008b: invoke-virtual {v7, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4165b4: 0c00 |008e: move-result-object v0 │ │ +4165b6: 1f00 970a |008f: check-cast v0, Landroid/widget/TextView; // type@0a97 │ │ +4165ba: 3902 0600 |0091: if-nez v2, 0097 // +0006 │ │ +4165be: 6e20 535b 3000 |0093: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ +4165c4: 281d |0096: goto 00b3 // +001d │ │ +4165c6: 6e10 ff5c 0200 |0097: invoke-virtual {v2}, Ljava/lang/StringBuilder;.length:()I // method@5cff │ │ +4165cc: 0a03 |009a: move-result v3 │ │ +4165ce: 6e30 fd5c 4203 |009b: invoke-virtual {v2, v4, v3}, Ljava/lang/StringBuilder;.delete:(II)Ljava/lang/StringBuilder; // method@5cfd │ │ +4165d4: 6e10 b7b5 0100 |009e: invoke-virtual {v1}, Lorg/purple/smoke/Cryptography;.sipHashId:()Ljava/lang/String; // method@b5b7 │ │ +4165da: 0c01 |00a1: move-result-object v1 │ │ +4165dc: 7110 e7b7 0100 |00a2: invoke-static {v1}, Lorg/purple/smoke/Miscellaneous;.prepareSipHashId:(Ljava/lang/String;)Ljava/lang/String; // method@b7e7 │ │ +4165e2: 0c01 |00a5: move-result-object v1 │ │ +4165e4: 6e20 f95c 1200 |00a6: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4165ea: 6e20 495b 2000 |00a9: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +4165f0: 1211 |00ac: const/4 v1, #int 1 // #1 │ │ +4165f2: 6e20 4e5b 1000 |00ad: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setTextIsSelectable:(Z)V // method@5b4e │ │ +4165f8: 6e20 535b 4000 |00b0: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ +4165fe: 0e00 |00b3: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=750 │ │ 0x0009 line=752 │ │ 0x0014 line=753 │ │ 0x001f line=757 │ │ 0x0026 line=758 │ │ @@ -1540677,493 +1540676,493 @@ │ │ type : '(Ljava/util/ArrayList;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 27 │ │ ins : 2 │ │ outs : 6 │ │ insns size : 1015 16-bit code units │ │ -416604: |[416604] org.purple.smoke.Settings.populateNeighbors:(Ljava/util/ArrayList;)V │ │ -416614: 0800 1900 |0000: move-object/from16 v0, v25 │ │ -416618: 391a 0b00 |0002: if-nez v26, 000d // +000b │ │ -41661c: 5401 1a5d |0004: iget-object v1, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -416620: 6202 1e5d |0006: sget-object v2, Lorg/purple/smoke/Settings;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d1e │ │ -416624: 6e20 09b6 2100 |0008: invoke-virtual {v1, v2}, Lorg/purple/smoke/Database;.readNeighbors:(Lorg/purple/smoke/Cryptography;)Ljava/util/ArrayList; // method@b609 │ │ -41662a: 0c01 |000b: move-result-object v1 │ │ -41662c: 2803 |000c: goto 000f // +0003 │ │ -41662e: 0801 1a00 |000d: move-object/from16 v1, v26 │ │ -416632: 1402 a700 087f |000f: const v2, #float 1.80778e+38 // #7f0800a7 │ │ -416638: 6e20 dcb8 2000 |0012: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41663e: 0c02 |0015: move-result-object v2 │ │ -416640: 1f02 930a |0016: check-cast v2, Landroid/widget/TableLayout; // type@0a93 │ │ -416644: 3801 db03 |0018: if-eqz v1, 03f3 // +03db │ │ -416648: 6e10 a45f 0100 |001a: invoke-virtual {v1}, Ljava/util/ArrayList;.isEmpty:()Z // method@5fa4 │ │ -41664e: 0a03 |001d: move-result v3 │ │ -416650: 3803 0400 |001e: if-eqz v3, 0022 // +0004 │ │ -416654: 2900 d303 |0020: goto/16 03f3 // +03d3 │ │ -416658: 2203 f10a |0022: new-instance v3, Ljava/lang/StringBuilder; // type@0af1 │ │ -41665c: 7010 ee5c 0300 |0024: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -416662: 6e10 f55a 0200 |0027: invoke-virtual {v2}, Landroid/widget/TableLayout;.getChildCount:()I // method@5af5 │ │ -416668: 0a04 |002a: move-result v4 │ │ -41666a: 1215 |002b: const/4 v5, #int 1 // #1 │ │ -41666c: b154 |002c: sub-int/2addr v4, v5 │ │ -41666e: 1a06 7e04 |002d: const-string v6, "-" // string@047e │ │ -416672: 1a07 691d |002f: const-string v7, "IPv6" // string@1d69 │ │ -416676: 1a08 7108 |0031: const-string v8, ":" // string@0871 │ │ -41667a: 1209 |0033: const/4 v9, #int 0 // #0 │ │ -41667c: 3a04 7600 |0034: if-ltz v4, 00aa // +0076 │ │ -416680: 6e20 f45a 4200 |0036: invoke-virtual {v2, v4}, Landroid/widget/TableLayout;.getChildAt:(I)Landroid/view/View; // method@5af4 │ │ -416686: 0c0a |0039: move-result-object v10 │ │ -416688: 1f0a 950a |003a: check-cast v10, Landroid/widget/TableRow; // type@0a95 │ │ -41668c: 390a 0300 |003c: if-nez v10, 003f // +0003 │ │ -416690: 2869 |003e: goto 00a7 // +0069 │ │ -416692: 6e20 fc5a 5a00 |003f: invoke-virtual {v10, v5}, Landroid/widget/TableRow;.getChildAt:(I)Landroid/view/View; // method@5afc │ │ -416698: 0c0b |0042: move-result-object v11 │ │ -41669a: 1f0b 970a |0043: check-cast v11, Landroid/widget/TextView; // type@0a97 │ │ -41669e: 390b 0600 |0045: if-nez v11, 004b // +0006 │ │ -4166a2: 6e20 f75a a200 |0047: invoke-virtual {v2, v10}, Landroid/widget/TableLayout;.removeView:(Landroid/view/View;)V // method@5af7 │ │ -4166a8: 285d |004a: goto 00a7 // +005d │ │ -4166aa: 6e10 a55f 0100 |004b: invoke-virtual {v1}, Ljava/util/ArrayList;.iterator:()Ljava/util/Iterator; // method@5fa5 │ │ -4166b0: 0c0c |004e: move-result-object v12 │ │ -4166b2: 7210 1860 0c00 |004f: invoke-interface {v12}, Ljava/util/Iterator;.hasNext:()Z // method@6018 │ │ -4166b8: 0a0d |0052: move-result v13 │ │ -4166ba: 380d 4f00 |0053: if-eqz v13, 00a2 // +004f │ │ -4166be: 7210 1960 0c00 |0055: invoke-interface {v12}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@6019 │ │ -4166c4: 0c0d |0058: move-result-object v13 │ │ -4166c6: 1f0d 2e1a |0059: check-cast v13, Lorg/purple/smoke/NeighborElement; // type@1a2e │ │ -4166ca: 6e10 ff5c 0300 |005b: invoke-virtual {v3}, Ljava/lang/StringBuilder;.length:()I // method@5cff │ │ -4166d0: 0a0e |005e: move-result v14 │ │ -4166d2: 6e30 fd5c 930e |005f: invoke-virtual {v3, v9, v14}, Ljava/lang/StringBuilder;.delete:(II)Ljava/lang/StringBuilder; // method@5cfd │ │ -4166d8: 54de 8053 |0062: iget-object v14, v13, Lorg/purple/smoke/NeighborElement;.m_remoteIpAddress:Ljava/lang/String; // field@5380 │ │ -4166dc: 6e20 f95c e300 |0064: invoke-virtual {v3, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4166e2: 54de 7553 |0067: iget-object v14, v13, Lorg/purple/smoke/NeighborElement;.m_ipVersion:Ljava/lang/String; // field@5375 │ │ -4166e6: 6e20 b85c 7e00 |0069: invoke-virtual {v14, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -4166ec: 0a0e |006c: move-result v14 │ │ -4166ee: 380e 1200 |006d: if-eqz v14, 007f // +0012 │ │ -4166f2: 54de 8253 |006f: iget-object v14, v13, Lorg/purple/smoke/NeighborElement;.m_remoteScopeId:Ljava/lang/String; // field@5382 │ │ -4166f6: 6e10 c35c 0e00 |0071: invoke-virtual {v14}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -4166fc: 0a0e |0074: move-result v14 │ │ -4166fe: 390e 0a00 |0075: if-nez v14, 007f // +000a │ │ -416702: 6e20 f95c 6300 |0077: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416708: 54de 8253 |007a: iget-object v14, v13, Lorg/purple/smoke/NeighborElement;.m_remoteScopeId:Ljava/lang/String; // field@5382 │ │ -41670c: 6e20 f95c e300 |007c: invoke-virtual {v3, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416712: 6e20 f95c 8300 |007f: invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416718: 54de 8153 |0082: iget-object v14, v13, Lorg/purple/smoke/NeighborElement;.m_remotePort:Ljava/lang/String; // field@5381 │ │ -41671c: 6e20 f95c e300 |0084: invoke-virtual {v3, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416722: 6e20 f95c 8300 |0087: invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416728: 54dd 8653 |008a: iget-object v13, v13, Lorg/purple/smoke/NeighborElement;.m_transport:Ljava/lang/String; // field@5386 │ │ -41672c: 6e20 f95c d300 |008c: invoke-virtual {v3, v13}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416732: 6e10 1c5b 0b00 |008f: invoke-virtual {v11}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ -416738: 0c0d |0092: move-result-object v13 │ │ -41673a: 7210 045c 0d00 |0093: invoke-interface {v13}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ -416740: 0c0d |0096: move-result-object v13 │ │ -416742: 6e10 035d 0300 |0097: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -416748: 0c0e |009a: move-result-object v14 │ │ -41674a: 6e20 b65c ed00 |009b: invoke-virtual {v13, v14}, Ljava/lang/String;.contains:(Ljava/lang/CharSequence;)Z // method@5cb6 │ │ -416750: 0a0d |009e: move-result v13 │ │ -416752: 380d b0ff |009f: if-eqz v13, 004f // -0050 │ │ -416756: 1219 |00a1: const/4 v9, #int 1 // #1 │ │ -416758: 3909 0500 |00a2: if-nez v9, 00a7 // +0005 │ │ -41675c: 6e20 f75a a200 |00a4: invoke-virtual {v2, v10}, Landroid/widget/TableLayout;.removeView:(Landroid/view/View;)V // method@5af7 │ │ -416762: d804 04ff |00a7: add-int/lit8 v4, v4, #int -1 // #ff │ │ -416766: 2884 |00a9: goto 002d // -007c │ │ -416768: 1404 a600 087f |00aa: const v4, #float 1.80778e+38 // #7f0800a6 │ │ -41676e: 6e20 dcb8 4000 |00ad: invoke-virtual {v0, v4}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -416774: 0c04 |00b0: move-result-object v4 │ │ -416776: 1f04 8d0a |00b1: check-cast v4, Landroid/widget/Switch; // type@0a8d │ │ -41677a: 6e10 a55f 0100 |00b3: invoke-virtual {v1}, Ljava/util/ArrayList;.iterator:()Ljava/util/Iterator; // method@5fa5 │ │ -416780: 0c0a |00b6: move-result-object v10 │ │ -416782: 120b |00b7: const/4 v11, #int 0 // #0 │ │ -416784: 7210 1860 0a00 |00b8: invoke-interface {v10}, Ljava/util/Iterator;.hasNext:()Z // method@6018 │ │ -41678a: 0a0c |00bb: move-result v12 │ │ -41678c: 380c 3103 |00bc: if-eqz v12, 03ed // +0331 │ │ -416790: 7210 1960 0a00 |00be: invoke-interface {v10}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@6019 │ │ -416796: 0c0c |00c1: move-result-object v12 │ │ -416798: 1f0c 2e1a |00c2: check-cast v12, Lorg/purple/smoke/NeighborElement; // type@1a2e │ │ -41679c: 390c 0300 |00c4: if-nez v12, 00c7 // +0003 │ │ -4167a0: 28f2 |00c6: goto 00b8 // -000e │ │ -4167a2: 6e10 f55a 0200 |00c7: invoke-virtual {v2}, Landroid/widget/TableLayout;.getChildCount:()I // method@5af5 │ │ -4167a8: 0a0d |00ca: move-result v13 │ │ -4167aa: 120e |00cb: const/4 v14, #int 0 // #0 │ │ -4167ac: 35de 6200 |00cc: if-ge v14, v13, 012e // +0062 │ │ -4167b0: 6e20 f45a e200 |00ce: invoke-virtual {v2, v14}, Landroid/widget/TableLayout;.getChildAt:(I)Landroid/view/View; // method@5af4 │ │ -4167b6: 0c10 |00d1: move-result-object v16 │ │ -4167b8: 080f 1000 |00d2: move-object/from16 v15, v16 │ │ -4167bc: 1f0f 950a |00d4: check-cast v15, Landroid/widget/TableRow; // type@0a95 │ │ -4167c0: 390f 0300 |00d6: if-nez v15, 00d9 // +0003 │ │ -4167c4: 2851 |00d8: goto 0129 // +0051 │ │ -4167c6: 6e20 fc5a 5f00 |00d9: invoke-virtual {v15, v5}, Landroid/widget/TableRow;.getChildAt:(I)Landroid/view/View; // method@5afc │ │ -4167cc: 0c0f |00dc: move-result-object v15 │ │ -4167ce: 1f0f 970a |00dd: check-cast v15, Landroid/widget/TextView; // type@0a97 │ │ -4167d2: 390f 0300 |00df: if-nez v15, 00e2 // +0003 │ │ -4167d6: 2848 |00e1: goto 0129 // +0048 │ │ -4167d8: 6e10 ff5c 0300 |00e2: invoke-virtual {v3}, Ljava/lang/StringBuilder;.length:()I // method@5cff │ │ -4167de: 0a05 |00e5: move-result v5 │ │ -4167e0: 6e30 fd5c 9305 |00e6: invoke-virtual {v3, v9, v5}, Ljava/lang/StringBuilder;.delete:(II)Ljava/lang/StringBuilder; // method@5cfd │ │ -4167e6: 54c5 8053 |00e9: iget-object v5, v12, Lorg/purple/smoke/NeighborElement;.m_remoteIpAddress:Ljava/lang/String; // field@5380 │ │ -4167ea: 6e20 f95c 5300 |00eb: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4167f0: 54c5 7553 |00ee: iget-object v5, v12, Lorg/purple/smoke/NeighborElement;.m_ipVersion:Ljava/lang/String; // field@5375 │ │ -4167f4: 6e20 b85c 7500 |00f0: invoke-virtual {v5, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -4167fa: 0a05 |00f3: move-result v5 │ │ -4167fc: 3805 1200 |00f4: if-eqz v5, 0106 // +0012 │ │ -416800: 54c5 8253 |00f6: iget-object v5, v12, Lorg/purple/smoke/NeighborElement;.m_remoteScopeId:Ljava/lang/String; // field@5382 │ │ -416804: 6e10 c35c 0500 |00f8: invoke-virtual {v5}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -41680a: 0a05 |00fb: move-result v5 │ │ -41680c: 3905 0a00 |00fc: if-nez v5, 0106 // +000a │ │ -416810: 6e20 f95c 6300 |00fe: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416816: 54c5 8253 |0101: iget-object v5, v12, Lorg/purple/smoke/NeighborElement;.m_remoteScopeId:Ljava/lang/String; // field@5382 │ │ -41681a: 6e20 f95c 5300 |0103: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416820: 6e20 f95c 8300 |0106: invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416826: 54c5 8153 |0109: iget-object v5, v12, Lorg/purple/smoke/NeighborElement;.m_remotePort:Ljava/lang/String; // field@5381 │ │ -41682a: 6e20 f95c 5300 |010b: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416830: 6e20 f95c 8300 |010e: invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416836: 54c5 8653 |0111: iget-object v5, v12, Lorg/purple/smoke/NeighborElement;.m_transport:Ljava/lang/String; // field@5386 │ │ -41683a: 6e20 f95c 5300 |0113: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416840: 6e10 1c5b 0f00 |0116: invoke-virtual {v15}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ -416846: 0c05 |0119: move-result-object v5 │ │ -416848: 7210 045c 0500 |011a: invoke-interface {v5}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ -41684e: 0c05 |011d: move-result-object v5 │ │ -416850: 6e10 035d 0300 |011e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -416856: 0c09 |0121: move-result-object v9 │ │ -416858: 6e20 b65c 9500 |0122: invoke-virtual {v5, v9}, Ljava/lang/String;.contains:(Ljava/lang/CharSequence;)Z // method@5cb6 │ │ -41685e: 0a05 |0125: move-result v5 │ │ -416860: 3805 0300 |0126: if-eqz v5, 0129 // +0003 │ │ -416864: 2807 |0128: goto 012f // +0007 │ │ -416866: d80e 0e01 |0129: add-int/lit8 v14, v14, #int 1 // #01 │ │ -41686a: 1215 |012b: const/4 v5, #int 1 // #1 │ │ -41686c: 1209 |012c: const/4 v9, #int 0 // #0 │ │ -41686e: 289f |012d: goto 00cc // -0061 │ │ -416870: 120f |012e: const/4 v15, #int 0 // #0 │ │ -416872: 1a05 5217 |012f: const-string v5, "Disconnect" // string@1752 │ │ -416876: 12e9 |0131: const/4 v9, #int -2 // #fe │ │ -416878: 390f 8000 |0132: if-nez v15, 01b2 // +0080 │ │ -41687c: 220d 940a |0134: new-instance v13, Landroid/widget/TableRow$LayoutParams; // type@0a94 │ │ -416880: 7020 f85a 9d00 |0136: invoke-direct {v13, v9}, Landroid/widget/TableRow$LayoutParams;.:(I)V // method@5af8 │ │ -416886: 220f 950a |0139: new-instance v15, Landroid/widget/TableRow; // type@0a95 │ │ -41688a: 7020 fa5a 0f00 |013b: invoke-direct {v15, v0}, Landroid/widget/TableRow;.:(Landroid/content/Context;)V // method@5afa │ │ -416890: 52ce 7953 |013e: iget v14, v12, Lorg/purple/smoke/NeighborElement;.m_oid:I // field@5379 │ │ -416894: 6e20 fd5a ef00 |0140: invoke-virtual {v15, v14}, Landroid/widget/TableRow;.setId:(I)V // method@5afd │ │ -41689a: 6e20 fe5a df00 |0143: invoke-virtual {v15, v13}, Landroid/widget/TableRow;.setLayoutParams:(Landroid/view/ViewGroup$LayoutParams;)V // method@5afe │ │ -4168a0: 220d 8b0a |0146: new-instance v13, Landroid/widget/Spinner; // type@0a8b │ │ -4168a4: 7020 ae5a 0d00 |0148: invoke-direct {v13, v0}, Landroid/widget/Spinner;.:(Landroid/content/Context;)V // method@5aae │ │ -4168aa: 220e f10a |014b: new-instance v14, Ljava/lang/StringBuilder; // type@0af1 │ │ -4168ae: 7010 ee5c 0e00 |014d: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -4168b4: 54c9 8053 |0150: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_remoteIpAddress:Ljava/lang/String; // field@5380 │ │ -4168b8: 6e20 f95c 9e00 |0152: invoke-virtual {v14, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4168be: 6e20 f95c 8e00 |0155: invoke-virtual {v14, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4168c4: 54c9 8153 |0158: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_remotePort:Ljava/lang/String; // field@5381 │ │ -4168c8: 6e20 f95c 9e00 |015a: invoke-virtual {v14, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4168ce: 6e10 035d 0e00 |015d: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -4168d4: 0c09 |0160: move-result-object v9 │ │ -4168d6: 54ce 8653 |0161: iget-object v14, v12, Lorg/purple/smoke/NeighborElement;.m_transport:Ljava/lang/String; // field@5386 │ │ -4168da: 0812 0a00 |0163: move-object/from16 v18, v10 │ │ -4168de: 1a0a e04b |0165: const-string v10, "TCP" // string@4be0 │ │ -4168e2: 6e20 b85c ae00 |0167: invoke-virtual {v14, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -4168e8: 0a0a |016a: move-result v10 │ │ -4168ea: 380a 1700 |016b: if-eqz v10, 0182 // +0017 │ │ -4168ee: 1a13 d10a |016d: const-string v19, "Action" // string@0ad1 │ │ -4168f2: 1a14 e213 |016f: const-string v20, "Connect" // string@13e2 │ │ -4168f6: 1a15 fd16 |0171: const-string v21, "Delete" // string@16fd │ │ -4168fa: 1a16 5217 |0173: const-string v22, "Disconnect" // string@1752 │ │ -4168fe: 1a17 6344 |0175: const-string v23, "Purge Queue" // string@4463 │ │ -416902: 1a18 e945 |0177: const-string v24, "Reset SSL/TLS Credentials" // string@45e9 │ │ -416906: 2506 1a1b 1300 |0179: filled-new-array/range {v19, v20, v21, v22, v23, v24}, [Ljava/lang/String; // type@1b1a │ │ -41690c: 0c0a |017c: move-result-object v10 │ │ -41690e: 0813 0100 |017d: move-object/from16 v19, v1 │ │ -416912: 081a 0f00 |017f: move-object/from16 v26, v15 │ │ -416916: 2811 |0181: goto 0192 // +0011 │ │ -416918: 1a0a d10a |0182: const-string v10, "Action" // string@0ad1 │ │ -41691c: 1a0e e213 |0184: const-string v14, "Connect" // string@13e2 │ │ -416920: 081a 0f00 |0186: move-object/from16 v26, v15 │ │ -416924: 1a0f fd16 |0188: const-string v15, "Delete" // string@16fd │ │ -416928: 0813 0100 |018a: move-object/from16 v19, v1 │ │ -41692c: 1a01 6344 |018c: const-string v1, "Purge Queue" // string@4463 │ │ -416930: 2451 1a1b ea5f |018e: filled-new-array {v10, v14, v15, v5, v1}, [Ljava/lang/String; // type@1b1a │ │ -416936: 0c0a |0191: move-result-object v10 │ │ -416938: 2201 5b0a |0192: new-instance v1, Landroid/widget/ArrayAdapter; // type@0a5b │ │ -41693c: 140e 0800 0901 |0194: const v14, #float 2.51629e-38 // #01090008 │ │ -416942: 7040 cb58 01ae |0197: invoke-direct {v1, v0, v14, v10}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;I[Ljava/lang/Object;)V // method@58cb │ │ -416948: 6e20 c05a 1d00 |019a: invoke-virtual {v13, v1}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@5ac0 │ │ -41694e: 52c1 7953 |019d: iget v1, v12, Lorg/purple/smoke/NeighborElement;.m_oid:I // field@5379 │ │ -416952: 6e20 c75a 1d00 |019f: invoke-virtual {v13, v1}, Landroid/widget/Spinner;.setId:(I)V // method@5ac7 │ │ -416958: 2201 6b1a |01a2: new-instance v1, Lorg/purple/smoke/Settings$4; // type@1a6b │ │ -41695c: 7030 94b8 0109 |01a4: invoke-direct {v1, v0, v9}, Lorg/purple/smoke/Settings$4;.:(Lorg/purple/smoke/Settings;Ljava/lang/String;)V // method@b894 │ │ -416962: 6e20 c95a 1d00 |01a7: invoke-virtual {v13, v1}, Landroid/widget/Spinner;.setOnItemSelectedListener:(Landroid/widget/AdapterView$OnItemSelectedListener;)V // method@5ac9 │ │ -416968: 220f 970a |01aa: new-instance v15, Landroid/widget/TextView; // type@0a97 │ │ -41696c: 7020 ff5a 0f00 |01ac: invoke-direct {v15, v0}, Landroid/widget/TextView;.:(Landroid/content/Context;)V // method@5aff │ │ -416972: 0801 1a00 |01af: move-object/from16 v1, v26 │ │ -416976: 2807 |01b1: goto 01b8 // +0007 │ │ -416978: 0813 0100 |01b2: move-object/from16 v19, v1 │ │ -41697c: 0812 0a00 |01b4: move-object/from16 v18, v10 │ │ -416980: 1201 |01b6: const/4 v1, #int 0 // #0 │ │ -416982: 120d |01b7: const/4 v13, #int 0 // #0 │ │ -416984: 54c9 8453 |01b8: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_status:Ljava/lang/String; // field@5384 │ │ -416988: 6e10 bf5c 0900 |01ba: invoke-virtual {v9}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ -41698e: 1a0a 0f5f |01bd: const-string v10, "connecting" // string@5f0f │ │ -416992: 6e20 b85c a900 |01bf: invoke-virtual {v9, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -416998: 0a0a |01c2: move-result v10 │ │ -41699a: 390a 2500 |01c3: if-nez v10, 01e8 // +0025 │ │ -41699e: 1a0a 0c5f |01c5: const-string v10, "connected" // string@5f0c │ │ -4169a2: 6e20 b85c a900 |01c7: invoke-virtual {v9, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -4169a8: 0a09 |01ca: move-result v9 │ │ -4169aa: 3909 0e00 |01cb: if-nez v9, 01d9 // +000e │ │ -4169ae: 1309 b700 |01cd: const/16 v9, #int 183 // #b7 │ │ -4169b2: 130a 1c00 |01cf: const/16 v10, #int 28 // #1c │ │ -4169b6: 7130 c902 a90a |01d1: invoke-static {v9, v10, v10}, Landroid/graphics/Color;.rgb:(III)I // method@02c9 │ │ -4169bc: 0a09 |01d4: move-result v9 │ │ -4169be: 6e20 4c5b 9f00 |01d5: invoke-virtual {v15, v9}, Landroid/widget/TextView;.setTextColor:(I)V // method@5b4c │ │ -4169c4: 280e |01d8: goto 01e6 // +000e │ │ -4169c6: 1309 1b00 |01d9: const/16 v9, #int 27 // #1b │ │ -4169ca: 130a 5e00 |01db: const/16 v10, #int 94 // #5e │ │ -4169ce: 130e 2000 |01dd: const/16 v14, #int 32 // #20 │ │ -4169d2: 7130 c902 a90e |01df: invoke-static {v9, v10, v14}, Landroid/graphics/Color;.rgb:(III)I // method@02c9 │ │ -4169d8: 0a09 |01e2: move-result v9 │ │ -4169da: 6e20 4c5b 9f00 |01e3: invoke-virtual {v15, v9}, Landroid/widget/TextView;.setTextColor:(I)V // method@5b4c │ │ -4169e0: 120e |01e6: const/4 v14, #int 0 // #0 │ │ -4169e2: 280d |01e7: goto 01f4 // +000d │ │ -4169e4: 1309 ff00 |01e8: const/16 v9, #int 255 // #ff │ │ -4169e8: 130a 6f00 |01ea: const/16 v10, #int 111 // #6f │ │ -4169ec: 120e |01ec: const/4 v14, #int 0 // #0 │ │ -4169ee: 7130 c902 a90e |01ed: invoke-static {v9, v10, v14}, Landroid/graphics/Color;.rgb:(III)I // method@02c9 │ │ -4169f4: 0a09 |01f0: move-result v9 │ │ -4169f6: 6e20 4c5b 9f00 |01f1: invoke-virtual {v15, v9}, Landroid/widget/TextView;.setTextColor:(I)V // method@5b4c │ │ -4169fc: 6e10 ff5c 0300 |01f4: invoke-virtual {v3}, Ljava/lang/StringBuilder;.length:()I // method@5cff │ │ -416a02: 0a09 |01f7: move-result v9 │ │ -416a04: 6e30 fd5c e309 |01f8: invoke-virtual {v3, v14, v9}, Ljava/lang/StringBuilder;.delete:(II)Ljava/lang/StringBuilder; // method@5cfd │ │ -416a0a: 1a09 b314 |01fb: const-string v9, "Control: " // string@14b3 │ │ -416a0e: 6e20 f95c 9300 |01fd: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416a14: 54c9 8553 |0200: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_statusControl:Ljava/lang/String; // field@5385 │ │ -416a18: 121a |0202: const/4 v10, #int 1 // #1 │ │ -416a1a: 6e30 cd5c e90a |0203: invoke-virtual {v9, v14, v10}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@5ccd │ │ -416a20: 0c09 |0206: move-result-object v9 │ │ -416a22: 6e10 d15c 0900 |0207: invoke-virtual {v9}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@5cd1 │ │ -416a28: 0c09 |020a: move-result-object v9 │ │ -416a2a: 6e20 f95c 9300 |020b: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416a30: 54c9 8553 |020e: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_statusControl:Ljava/lang/String; // field@5385 │ │ -416a34: 6e20 cc5c a900 |0210: invoke-virtual {v9, v10}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@5ccc │ │ -416a3a: 0c09 |0213: move-result-object v9 │ │ -416a3c: 6e20 f95c 9300 |0214: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416a42: 2804 |0217: goto 021b // +0004 │ │ -416a44: 6e20 f95c 5300 |0218: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416a4a: 1a05 0100 |021b: const-string v5, " │ │ +416600: |[416600] org.purple.smoke.Settings.populateNeighbors:(Ljava/util/ArrayList;)V │ │ +416610: 0800 1900 |0000: move-object/from16 v0, v25 │ │ +416614: 391a 0b00 |0002: if-nez v26, 000d // +000b │ │ +416618: 5401 1a5d |0004: iget-object v1, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +41661c: 6202 1e5d |0006: sget-object v2, Lorg/purple/smoke/Settings;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d1e │ │ +416620: 6e20 09b6 2100 |0008: invoke-virtual {v1, v2}, Lorg/purple/smoke/Database;.readNeighbors:(Lorg/purple/smoke/Cryptography;)Ljava/util/ArrayList; // method@b609 │ │ +416626: 0c01 |000b: move-result-object v1 │ │ +416628: 2803 |000c: goto 000f // +0003 │ │ +41662a: 0801 1a00 |000d: move-object/from16 v1, v26 │ │ +41662e: 1402 a700 087f |000f: const v2, #float 1.80778e+38 // #7f0800a7 │ │ +416634: 6e20 dcb8 2000 |0012: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +41663a: 0c02 |0015: move-result-object v2 │ │ +41663c: 1f02 930a |0016: check-cast v2, Landroid/widget/TableLayout; // type@0a93 │ │ +416640: 3801 db03 |0018: if-eqz v1, 03f3 // +03db │ │ +416644: 6e10 a45f 0100 |001a: invoke-virtual {v1}, Ljava/util/ArrayList;.isEmpty:()Z // method@5fa4 │ │ +41664a: 0a03 |001d: move-result v3 │ │ +41664c: 3803 0400 |001e: if-eqz v3, 0022 // +0004 │ │ +416650: 2900 d303 |0020: goto/16 03f3 // +03d3 │ │ +416654: 2203 f10a |0022: new-instance v3, Ljava/lang/StringBuilder; // type@0af1 │ │ +416658: 7010 ee5c 0300 |0024: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41665e: 6e10 f55a 0200 |0027: invoke-virtual {v2}, Landroid/widget/TableLayout;.getChildCount:()I // method@5af5 │ │ +416664: 0a04 |002a: move-result v4 │ │ +416666: 1215 |002b: const/4 v5, #int 1 // #1 │ │ +416668: b154 |002c: sub-int/2addr v4, v5 │ │ +41666a: 1a06 7e04 |002d: const-string v6, "-" // string@047e │ │ +41666e: 1a07 691d |002f: const-string v7, "IPv6" // string@1d69 │ │ +416672: 1a08 7108 |0031: const-string v8, ":" // string@0871 │ │ +416676: 1209 |0033: const/4 v9, #int 0 // #0 │ │ +416678: 3a04 7600 |0034: if-ltz v4, 00aa // +0076 │ │ +41667c: 6e20 f45a 4200 |0036: invoke-virtual {v2, v4}, Landroid/widget/TableLayout;.getChildAt:(I)Landroid/view/View; // method@5af4 │ │ +416682: 0c0a |0039: move-result-object v10 │ │ +416684: 1f0a 950a |003a: check-cast v10, Landroid/widget/TableRow; // type@0a95 │ │ +416688: 390a 0300 |003c: if-nez v10, 003f // +0003 │ │ +41668c: 2869 |003e: goto 00a7 // +0069 │ │ +41668e: 6e20 fc5a 5a00 |003f: invoke-virtual {v10, v5}, Landroid/widget/TableRow;.getChildAt:(I)Landroid/view/View; // method@5afc │ │ +416694: 0c0b |0042: move-result-object v11 │ │ +416696: 1f0b 970a |0043: check-cast v11, Landroid/widget/TextView; // type@0a97 │ │ +41669a: 390b 0600 |0045: if-nez v11, 004b // +0006 │ │ +41669e: 6e20 f75a a200 |0047: invoke-virtual {v2, v10}, Landroid/widget/TableLayout;.removeView:(Landroid/view/View;)V // method@5af7 │ │ +4166a4: 285d |004a: goto 00a7 // +005d │ │ +4166a6: 6e10 a55f 0100 |004b: invoke-virtual {v1}, Ljava/util/ArrayList;.iterator:()Ljava/util/Iterator; // method@5fa5 │ │ +4166ac: 0c0c |004e: move-result-object v12 │ │ +4166ae: 7210 1860 0c00 |004f: invoke-interface {v12}, Ljava/util/Iterator;.hasNext:()Z // method@6018 │ │ +4166b4: 0a0d |0052: move-result v13 │ │ +4166b6: 380d 4f00 |0053: if-eqz v13, 00a2 // +004f │ │ +4166ba: 7210 1960 0c00 |0055: invoke-interface {v12}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@6019 │ │ +4166c0: 0c0d |0058: move-result-object v13 │ │ +4166c2: 1f0d 2e1a |0059: check-cast v13, Lorg/purple/smoke/NeighborElement; // type@1a2e │ │ +4166c6: 6e10 ff5c 0300 |005b: invoke-virtual {v3}, Ljava/lang/StringBuilder;.length:()I // method@5cff │ │ +4166cc: 0a0e |005e: move-result v14 │ │ +4166ce: 6e30 fd5c 930e |005f: invoke-virtual {v3, v9, v14}, Ljava/lang/StringBuilder;.delete:(II)Ljava/lang/StringBuilder; // method@5cfd │ │ +4166d4: 54de 8053 |0062: iget-object v14, v13, Lorg/purple/smoke/NeighborElement;.m_remoteIpAddress:Ljava/lang/String; // field@5380 │ │ +4166d8: 6e20 f95c e300 |0064: invoke-virtual {v3, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4166de: 54de 7553 |0067: iget-object v14, v13, Lorg/purple/smoke/NeighborElement;.m_ipVersion:Ljava/lang/String; // field@5375 │ │ +4166e2: 6e20 b85c 7e00 |0069: invoke-virtual {v14, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +4166e8: 0a0e |006c: move-result v14 │ │ +4166ea: 380e 1200 |006d: if-eqz v14, 007f // +0012 │ │ +4166ee: 54de 8253 |006f: iget-object v14, v13, Lorg/purple/smoke/NeighborElement;.m_remoteScopeId:Ljava/lang/String; // field@5382 │ │ +4166f2: 6e10 c35c 0e00 |0071: invoke-virtual {v14}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +4166f8: 0a0e |0074: move-result v14 │ │ +4166fa: 390e 0a00 |0075: if-nez v14, 007f // +000a │ │ +4166fe: 6e20 f95c 6300 |0077: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416704: 54de 8253 |007a: iget-object v14, v13, Lorg/purple/smoke/NeighborElement;.m_remoteScopeId:Ljava/lang/String; // field@5382 │ │ +416708: 6e20 f95c e300 |007c: invoke-virtual {v3, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41670e: 6e20 f95c 8300 |007f: invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416714: 54de 8153 |0082: iget-object v14, v13, Lorg/purple/smoke/NeighborElement;.m_remotePort:Ljava/lang/String; // field@5381 │ │ +416718: 6e20 f95c e300 |0084: invoke-virtual {v3, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41671e: 6e20 f95c 8300 |0087: invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416724: 54dd 8653 |008a: iget-object v13, v13, Lorg/purple/smoke/NeighborElement;.m_transport:Ljava/lang/String; // field@5386 │ │ +416728: 6e20 f95c d300 |008c: invoke-virtual {v3, v13}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41672e: 6e10 1c5b 0b00 |008f: invoke-virtual {v11}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ +416734: 0c0d |0092: move-result-object v13 │ │ +416736: 7210 045c 0d00 |0093: invoke-interface {v13}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ +41673c: 0c0d |0096: move-result-object v13 │ │ +41673e: 6e10 035d 0300 |0097: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +416744: 0c0e |009a: move-result-object v14 │ │ +416746: 6e20 b65c ed00 |009b: invoke-virtual {v13, v14}, Ljava/lang/String;.contains:(Ljava/lang/CharSequence;)Z // method@5cb6 │ │ +41674c: 0a0d |009e: move-result v13 │ │ +41674e: 380d b0ff |009f: if-eqz v13, 004f // -0050 │ │ +416752: 1219 |00a1: const/4 v9, #int 1 // #1 │ │ +416754: 3909 0500 |00a2: if-nez v9, 00a7 // +0005 │ │ +416758: 6e20 f75a a200 |00a4: invoke-virtual {v2, v10}, Landroid/widget/TableLayout;.removeView:(Landroid/view/View;)V // method@5af7 │ │ +41675e: d804 04ff |00a7: add-int/lit8 v4, v4, #int -1 // #ff │ │ +416762: 2884 |00a9: goto 002d // -007c │ │ +416764: 1404 a600 087f |00aa: const v4, #float 1.80778e+38 // #7f0800a6 │ │ +41676a: 6e20 dcb8 4000 |00ad: invoke-virtual {v0, v4}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +416770: 0c04 |00b0: move-result-object v4 │ │ +416772: 1f04 8d0a |00b1: check-cast v4, Landroid/widget/Switch; // type@0a8d │ │ +416776: 6e10 a55f 0100 |00b3: invoke-virtual {v1}, Ljava/util/ArrayList;.iterator:()Ljava/util/Iterator; // method@5fa5 │ │ +41677c: 0c0a |00b6: move-result-object v10 │ │ +41677e: 120b |00b7: const/4 v11, #int 0 // #0 │ │ +416780: 7210 1860 0a00 |00b8: invoke-interface {v10}, Ljava/util/Iterator;.hasNext:()Z // method@6018 │ │ +416786: 0a0c |00bb: move-result v12 │ │ +416788: 380c 3103 |00bc: if-eqz v12, 03ed // +0331 │ │ +41678c: 7210 1960 0a00 |00be: invoke-interface {v10}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@6019 │ │ +416792: 0c0c |00c1: move-result-object v12 │ │ +416794: 1f0c 2e1a |00c2: check-cast v12, Lorg/purple/smoke/NeighborElement; // type@1a2e │ │ +416798: 390c 0300 |00c4: if-nez v12, 00c7 // +0003 │ │ +41679c: 28f2 |00c6: goto 00b8 // -000e │ │ +41679e: 6e10 f55a 0200 |00c7: invoke-virtual {v2}, Landroid/widget/TableLayout;.getChildCount:()I // method@5af5 │ │ +4167a4: 0a0d |00ca: move-result v13 │ │ +4167a6: 120e |00cb: const/4 v14, #int 0 // #0 │ │ +4167a8: 35de 6200 |00cc: if-ge v14, v13, 012e // +0062 │ │ +4167ac: 6e20 f45a e200 |00ce: invoke-virtual {v2, v14}, Landroid/widget/TableLayout;.getChildAt:(I)Landroid/view/View; // method@5af4 │ │ +4167b2: 0c10 |00d1: move-result-object v16 │ │ +4167b4: 080f 1000 |00d2: move-object/from16 v15, v16 │ │ +4167b8: 1f0f 950a |00d4: check-cast v15, Landroid/widget/TableRow; // type@0a95 │ │ +4167bc: 390f 0300 |00d6: if-nez v15, 00d9 // +0003 │ │ +4167c0: 2851 |00d8: goto 0129 // +0051 │ │ +4167c2: 6e20 fc5a 5f00 |00d9: invoke-virtual {v15, v5}, Landroid/widget/TableRow;.getChildAt:(I)Landroid/view/View; // method@5afc │ │ +4167c8: 0c0f |00dc: move-result-object v15 │ │ +4167ca: 1f0f 970a |00dd: check-cast v15, Landroid/widget/TextView; // type@0a97 │ │ +4167ce: 390f 0300 |00df: if-nez v15, 00e2 // +0003 │ │ +4167d2: 2848 |00e1: goto 0129 // +0048 │ │ +4167d4: 6e10 ff5c 0300 |00e2: invoke-virtual {v3}, Ljava/lang/StringBuilder;.length:()I // method@5cff │ │ +4167da: 0a05 |00e5: move-result v5 │ │ +4167dc: 6e30 fd5c 9305 |00e6: invoke-virtual {v3, v9, v5}, Ljava/lang/StringBuilder;.delete:(II)Ljava/lang/StringBuilder; // method@5cfd │ │ +4167e2: 54c5 8053 |00e9: iget-object v5, v12, Lorg/purple/smoke/NeighborElement;.m_remoteIpAddress:Ljava/lang/String; // field@5380 │ │ +4167e6: 6e20 f95c 5300 |00eb: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4167ec: 54c5 7553 |00ee: iget-object v5, v12, Lorg/purple/smoke/NeighborElement;.m_ipVersion:Ljava/lang/String; // field@5375 │ │ +4167f0: 6e20 b85c 7500 |00f0: invoke-virtual {v5, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +4167f6: 0a05 |00f3: move-result v5 │ │ +4167f8: 3805 1200 |00f4: if-eqz v5, 0106 // +0012 │ │ +4167fc: 54c5 8253 |00f6: iget-object v5, v12, Lorg/purple/smoke/NeighborElement;.m_remoteScopeId:Ljava/lang/String; // field@5382 │ │ +416800: 6e10 c35c 0500 |00f8: invoke-virtual {v5}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +416806: 0a05 |00fb: move-result v5 │ │ +416808: 3905 0a00 |00fc: if-nez v5, 0106 // +000a │ │ +41680c: 6e20 f95c 6300 |00fe: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416812: 54c5 8253 |0101: iget-object v5, v12, Lorg/purple/smoke/NeighborElement;.m_remoteScopeId:Ljava/lang/String; // field@5382 │ │ +416816: 6e20 f95c 5300 |0103: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41681c: 6e20 f95c 8300 |0106: invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416822: 54c5 8153 |0109: iget-object v5, v12, Lorg/purple/smoke/NeighborElement;.m_remotePort:Ljava/lang/String; // field@5381 │ │ +416826: 6e20 f95c 5300 |010b: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41682c: 6e20 f95c 8300 |010e: invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416832: 54c5 8653 |0111: iget-object v5, v12, Lorg/purple/smoke/NeighborElement;.m_transport:Ljava/lang/String; // field@5386 │ │ +416836: 6e20 f95c 5300 |0113: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41683c: 6e10 1c5b 0f00 |0116: invoke-virtual {v15}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ +416842: 0c05 |0119: move-result-object v5 │ │ +416844: 7210 045c 0500 |011a: invoke-interface {v5}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ +41684a: 0c05 |011d: move-result-object v5 │ │ +41684c: 6e10 035d 0300 |011e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +416852: 0c09 |0121: move-result-object v9 │ │ +416854: 6e20 b65c 9500 |0122: invoke-virtual {v5, v9}, Ljava/lang/String;.contains:(Ljava/lang/CharSequence;)Z // method@5cb6 │ │ +41685a: 0a05 |0125: move-result v5 │ │ +41685c: 3805 0300 |0126: if-eqz v5, 0129 // +0003 │ │ +416860: 2807 |0128: goto 012f // +0007 │ │ +416862: d80e 0e01 |0129: add-int/lit8 v14, v14, #int 1 // #01 │ │ +416866: 1215 |012b: const/4 v5, #int 1 // #1 │ │ +416868: 1209 |012c: const/4 v9, #int 0 // #0 │ │ +41686a: 289f |012d: goto 00cc // -0061 │ │ +41686c: 120f |012e: const/4 v15, #int 0 // #0 │ │ +41686e: 1a05 5217 |012f: const-string v5, "Disconnect" // string@1752 │ │ +416872: 12e9 |0131: const/4 v9, #int -2 // #fe │ │ +416874: 390f 8000 |0132: if-nez v15, 01b2 // +0080 │ │ +416878: 220d 940a |0134: new-instance v13, Landroid/widget/TableRow$LayoutParams; // type@0a94 │ │ +41687c: 7020 f85a 9d00 |0136: invoke-direct {v13, v9}, Landroid/widget/TableRow$LayoutParams;.:(I)V // method@5af8 │ │ +416882: 220f 950a |0139: new-instance v15, Landroid/widget/TableRow; // type@0a95 │ │ +416886: 7020 fa5a 0f00 |013b: invoke-direct {v15, v0}, Landroid/widget/TableRow;.:(Landroid/content/Context;)V // method@5afa │ │ +41688c: 52ce 7953 |013e: iget v14, v12, Lorg/purple/smoke/NeighborElement;.m_oid:I // field@5379 │ │ +416890: 6e20 fd5a ef00 |0140: invoke-virtual {v15, v14}, Landroid/widget/TableRow;.setId:(I)V // method@5afd │ │ +416896: 6e20 fe5a df00 |0143: invoke-virtual {v15, v13}, Landroid/widget/TableRow;.setLayoutParams:(Landroid/view/ViewGroup$LayoutParams;)V // method@5afe │ │ +41689c: 220d 8b0a |0146: new-instance v13, Landroid/widget/Spinner; // type@0a8b │ │ +4168a0: 7020 ae5a 0d00 |0148: invoke-direct {v13, v0}, Landroid/widget/Spinner;.:(Landroid/content/Context;)V // method@5aae │ │ +4168a6: 220e f10a |014b: new-instance v14, Ljava/lang/StringBuilder; // type@0af1 │ │ +4168aa: 7010 ee5c 0e00 |014d: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +4168b0: 54c9 8053 |0150: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_remoteIpAddress:Ljava/lang/String; // field@5380 │ │ +4168b4: 6e20 f95c 9e00 |0152: invoke-virtual {v14, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4168ba: 6e20 f95c 8e00 |0155: invoke-virtual {v14, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4168c0: 54c9 8153 |0158: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_remotePort:Ljava/lang/String; // field@5381 │ │ +4168c4: 6e20 f95c 9e00 |015a: invoke-virtual {v14, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4168ca: 6e10 035d 0e00 |015d: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +4168d0: 0c09 |0160: move-result-object v9 │ │ +4168d2: 54ce 8653 |0161: iget-object v14, v12, Lorg/purple/smoke/NeighborElement;.m_transport:Ljava/lang/String; // field@5386 │ │ +4168d6: 0812 0a00 |0163: move-object/from16 v18, v10 │ │ +4168da: 1a0a e04b |0165: const-string v10, "TCP" // string@4be0 │ │ +4168de: 6e20 b85c ae00 |0167: invoke-virtual {v14, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +4168e4: 0a0a |016a: move-result v10 │ │ +4168e6: 380a 1700 |016b: if-eqz v10, 0182 // +0017 │ │ +4168ea: 1a13 d10a |016d: const-string v19, "Action" // string@0ad1 │ │ +4168ee: 1a14 e213 |016f: const-string v20, "Connect" // string@13e2 │ │ +4168f2: 1a15 fd16 |0171: const-string v21, "Delete" // string@16fd │ │ +4168f6: 1a16 5217 |0173: const-string v22, "Disconnect" // string@1752 │ │ +4168fa: 1a17 6344 |0175: const-string v23, "Purge Queue" // string@4463 │ │ +4168fe: 1a18 e945 |0177: const-string v24, "Reset SSL/TLS Credentials" // string@45e9 │ │ +416902: 2506 1a1b 1300 |0179: filled-new-array/range {v19, v20, v21, v22, v23, v24}, [Ljava/lang/String; // type@1b1a │ │ +416908: 0c0a |017c: move-result-object v10 │ │ +41690a: 0813 0100 |017d: move-object/from16 v19, v1 │ │ +41690e: 081a 0f00 |017f: move-object/from16 v26, v15 │ │ +416912: 2811 |0181: goto 0192 // +0011 │ │ +416914: 1a0a d10a |0182: const-string v10, "Action" // string@0ad1 │ │ +416918: 1a0e e213 |0184: const-string v14, "Connect" // string@13e2 │ │ +41691c: 081a 0f00 |0186: move-object/from16 v26, v15 │ │ +416920: 1a0f fd16 |0188: const-string v15, "Delete" // string@16fd │ │ +416924: 0813 0100 |018a: move-object/from16 v19, v1 │ │ +416928: 1a01 6344 |018c: const-string v1, "Purge Queue" // string@4463 │ │ +41692c: 2451 1a1b ea5f |018e: filled-new-array {v10, v14, v15, v5, v1}, [Ljava/lang/String; // type@1b1a │ │ +416932: 0c0a |0191: move-result-object v10 │ │ +416934: 2201 5b0a |0192: new-instance v1, Landroid/widget/ArrayAdapter; // type@0a5b │ │ +416938: 140e 0800 0901 |0194: const v14, #float 2.51629e-38 // #01090008 │ │ +41693e: 7040 cb58 01ae |0197: invoke-direct {v1, v0, v14, v10}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;I[Ljava/lang/Object;)V // method@58cb │ │ +416944: 6e20 c05a 1d00 |019a: invoke-virtual {v13, v1}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@5ac0 │ │ +41694a: 52c1 7953 |019d: iget v1, v12, Lorg/purple/smoke/NeighborElement;.m_oid:I // field@5379 │ │ +41694e: 6e20 c75a 1d00 |019f: invoke-virtual {v13, v1}, Landroid/widget/Spinner;.setId:(I)V // method@5ac7 │ │ +416954: 2201 6b1a |01a2: new-instance v1, Lorg/purple/smoke/Settings$4; // type@1a6b │ │ +416958: 7030 94b8 0109 |01a4: invoke-direct {v1, v0, v9}, Lorg/purple/smoke/Settings$4;.:(Lorg/purple/smoke/Settings;Ljava/lang/String;)V // method@b894 │ │ +41695e: 6e20 c95a 1d00 |01a7: invoke-virtual {v13, v1}, Landroid/widget/Spinner;.setOnItemSelectedListener:(Landroid/widget/AdapterView$OnItemSelectedListener;)V // method@5ac9 │ │ +416964: 220f 970a |01aa: new-instance v15, Landroid/widget/TextView; // type@0a97 │ │ +416968: 7020 ff5a 0f00 |01ac: invoke-direct {v15, v0}, Landroid/widget/TextView;.:(Landroid/content/Context;)V // method@5aff │ │ +41696e: 0801 1a00 |01af: move-object/from16 v1, v26 │ │ +416972: 2807 |01b1: goto 01b8 // +0007 │ │ +416974: 0813 0100 |01b2: move-object/from16 v19, v1 │ │ +416978: 0812 0a00 |01b4: move-object/from16 v18, v10 │ │ +41697c: 1201 |01b6: const/4 v1, #int 0 // #0 │ │ +41697e: 120d |01b7: const/4 v13, #int 0 // #0 │ │ +416980: 54c9 8453 |01b8: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_status:Ljava/lang/String; // field@5384 │ │ +416984: 6e10 bf5c 0900 |01ba: invoke-virtual {v9}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ +41698a: 1a0a 0f5f |01bd: const-string v10, "connecting" // string@5f0f │ │ +41698e: 6e20 b85c a900 |01bf: invoke-virtual {v9, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +416994: 0a0a |01c2: move-result v10 │ │ +416996: 390a 2500 |01c3: if-nez v10, 01e8 // +0025 │ │ +41699a: 1a0a 0c5f |01c5: const-string v10, "connected" // string@5f0c │ │ +41699e: 6e20 b85c a900 |01c7: invoke-virtual {v9, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +4169a4: 0a09 |01ca: move-result v9 │ │ +4169a6: 3909 0e00 |01cb: if-nez v9, 01d9 // +000e │ │ +4169aa: 1309 b700 |01cd: const/16 v9, #int 183 // #b7 │ │ +4169ae: 130a 1c00 |01cf: const/16 v10, #int 28 // #1c │ │ +4169b2: 7130 c902 a90a |01d1: invoke-static {v9, v10, v10}, Landroid/graphics/Color;.rgb:(III)I // method@02c9 │ │ +4169b8: 0a09 |01d4: move-result v9 │ │ +4169ba: 6e20 4c5b 9f00 |01d5: invoke-virtual {v15, v9}, Landroid/widget/TextView;.setTextColor:(I)V // method@5b4c │ │ +4169c0: 280e |01d8: goto 01e6 // +000e │ │ +4169c2: 1309 1b00 |01d9: const/16 v9, #int 27 // #1b │ │ +4169c6: 130a 5e00 |01db: const/16 v10, #int 94 // #5e │ │ +4169ca: 130e 2000 |01dd: const/16 v14, #int 32 // #20 │ │ +4169ce: 7130 c902 a90e |01df: invoke-static {v9, v10, v14}, Landroid/graphics/Color;.rgb:(III)I // method@02c9 │ │ +4169d4: 0a09 |01e2: move-result v9 │ │ +4169d6: 6e20 4c5b 9f00 |01e3: invoke-virtual {v15, v9}, Landroid/widget/TextView;.setTextColor:(I)V // method@5b4c │ │ +4169dc: 120e |01e6: const/4 v14, #int 0 // #0 │ │ +4169de: 280d |01e7: goto 01f4 // +000d │ │ +4169e0: 1309 ff00 |01e8: const/16 v9, #int 255 // #ff │ │ +4169e4: 130a 6f00 |01ea: const/16 v10, #int 111 // #6f │ │ +4169e8: 120e |01ec: const/4 v14, #int 0 // #0 │ │ +4169ea: 7130 c902 a90e |01ed: invoke-static {v9, v10, v14}, Landroid/graphics/Color;.rgb:(III)I // method@02c9 │ │ +4169f0: 0a09 |01f0: move-result v9 │ │ +4169f2: 6e20 4c5b 9f00 |01f1: invoke-virtual {v15, v9}, Landroid/widget/TextView;.setTextColor:(I)V // method@5b4c │ │ +4169f8: 6e10 ff5c 0300 |01f4: invoke-virtual {v3}, Ljava/lang/StringBuilder;.length:()I // method@5cff │ │ +4169fe: 0a09 |01f7: move-result v9 │ │ +416a00: 6e30 fd5c e309 |01f8: invoke-virtual {v3, v14, v9}, Ljava/lang/StringBuilder;.delete:(II)Ljava/lang/StringBuilder; // method@5cfd │ │ +416a06: 1a09 b314 |01fb: const-string v9, "Control: " // string@14b3 │ │ +416a0a: 6e20 f95c 9300 |01fd: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416a10: 54c9 8553 |0200: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_statusControl:Ljava/lang/String; // field@5385 │ │ +416a14: 121a |0202: const/4 v10, #int 1 // #1 │ │ +416a16: 6e30 cd5c e90a |0203: invoke-virtual {v9, v14, v10}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@5ccd │ │ +416a1c: 0c09 |0206: move-result-object v9 │ │ +416a1e: 6e10 d15c 0900 |0207: invoke-virtual {v9}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@5cd1 │ │ +416a24: 0c09 |020a: move-result-object v9 │ │ +416a26: 6e20 f95c 9300 |020b: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416a2c: 54c9 8553 |020e: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_statusControl:Ljava/lang/String; // field@5385 │ │ +416a30: 6e20 cc5c a900 |0210: invoke-virtual {v9, v10}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@5ccc │ │ +416a36: 0c09 |0213: move-result-object v9 │ │ +416a38: 6e20 f95c 9300 |0214: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416a3e: 2804 |0217: goto 021b // +0004 │ │ +416a40: 6e20 f95c 5300 |0218: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416a46: 1a05 0100 |021b: const-string v5, " │ │ " // string@0001 │ │ -416a4e: 6e20 f95c 5300 |021d: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416a54: 1a09 4c4b |0220: const-string v9, "Status: " // string@4b4c │ │ -416a58: 6e20 f95c 9300 |0222: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416a5e: 54c9 8453 |0225: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_status:Ljava/lang/String; // field@5384 │ │ -416a62: 120a |0227: const/4 v10, #int 0 // #0 │ │ -416a64: 121e |0228: const/4 v14, #int 1 // #1 │ │ -416a66: 6e30 cd5c a90e |0229: invoke-virtual {v9, v10, v14}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@5ccd │ │ -416a6c: 0c09 |022c: move-result-object v9 │ │ -416a6e: 6e10 d15c 0900 |022d: invoke-virtual {v9}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@5cd1 │ │ -416a74: 0c09 |0230: move-result-object v9 │ │ -416a76: 6e20 f95c 9300 |0231: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416a7c: 54c9 8453 |0234: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_status:Ljava/lang/String; // field@5384 │ │ -416a80: 6e20 cc5c e900 |0236: invoke-virtual {v9, v14}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@5ccc │ │ -416a86: 0c09 |0239: move-result-object v9 │ │ -416a88: 6e20 f95c 9300 |023a: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416a8e: 2806 |023d: goto 0243 // +0006 │ │ -416a90: 1a09 5317 |023e: const-string v9, "Disconnected" // string@1753 │ │ -416a94: 6e20 f95c 9300 |0240: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416a9a: 6e20 f95c 5300 |0243: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416aa0: 54c9 7453 |0246: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_error:Ljava/lang/String; // field@5374 │ │ -416aa4: 6e10 c35c 0900 |0248: invoke-virtual {v9}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -416aaa: 0a09 |024b: move-result v9 │ │ -416aac: 3909 0f00 |024c: if-nez v9, 025b // +000f │ │ -416ab0: 1a09 3919 |024e: const-string v9, "Error: " // string@1939 │ │ -416ab4: 6e20 f95c 9300 |0250: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416aba: 54c9 7453 |0253: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_error:Ljava/lang/String; // field@5374 │ │ -416abe: 6e20 f95c 9300 |0255: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416ac4: 6e20 f95c 5300 |0258: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416aca: 54c9 8053 |025b: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_remoteIpAddress:Ljava/lang/String; // field@5380 │ │ -416ace: 6e20 f95c 9300 |025d: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416ad4: 54c9 7553 |0260: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_ipVersion:Ljava/lang/String; // field@5375 │ │ -416ad8: 6e20 b85c 7900 |0262: invoke-virtual {v9, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -416ade: 0a09 |0265: move-result v9 │ │ -416ae0: 3809 1200 |0266: if-eqz v9, 0278 // +0012 │ │ -416ae4: 54c9 8253 |0268: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_remoteScopeId:Ljava/lang/String; // field@5382 │ │ -416ae8: 6e10 c35c 0900 |026a: invoke-virtual {v9}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -416aee: 0a09 |026d: move-result v9 │ │ -416af0: 3909 0a00 |026e: if-nez v9, 0278 // +000a │ │ -416af4: 6e20 f95c 6300 |0270: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416afa: 54c9 8253 |0273: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_remoteScopeId:Ljava/lang/String; // field@5382 │ │ -416afe: 6e20 f95c 9300 |0275: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416b04: 6e20 f95c 8300 |0278: invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416b0a: 54c9 8153 |027b: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_remotePort:Ljava/lang/String; // field@5381 │ │ -416b0e: 6e20 f95c 9300 |027d: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416b14: 6e20 f95c 8300 |0280: invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416b1a: 54c9 8653 |0283: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_transport:Ljava/lang/String; // field@5386 │ │ -416b1e: 6e20 f95c 9300 |0285: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416b24: 54c9 7653 |0288: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_localIpAddress:Ljava/lang/String; // field@5376 │ │ -416b28: 6e10 c35c 0900 |028a: invoke-virtual {v9}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -416b2e: 0a09 |028d: move-result v9 │ │ -416b30: 3909 1a00 |028e: if-nez v9, 02a8 // +001a │ │ -416b34: 54c9 7753 |0290: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_localPort:Ljava/lang/String; // field@5377 │ │ -416b38: 6e10 c35c 0900 |0292: invoke-virtual {v9}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -416b3e: 0a09 |0295: move-result v9 │ │ -416b40: 3909 1200 |0296: if-nez v9, 02a8 // +0012 │ │ -416b44: 6e20 f95c 5300 |0298: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416b4a: 54c9 7653 |029b: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_localIpAddress:Ljava/lang/String; // field@5376 │ │ -416b4e: 6e20 f95c 9300 |029d: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416b54: 6e20 f95c 8300 |02a0: invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416b5a: 54c9 7753 |02a3: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_localPort:Ljava/lang/String; // field@5377 │ │ -416b5e: 6e20 f95c 9300 |02a5: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416b64: 1a09 1200 |02a8: const-string v9, " │ │ +416a4a: 6e20 f95c 5300 |021d: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416a50: 1a09 4c4b |0220: const-string v9, "Status: " // string@4b4c │ │ +416a54: 6e20 f95c 9300 |0222: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416a5a: 54c9 8453 |0225: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_status:Ljava/lang/String; // field@5384 │ │ +416a5e: 120a |0227: const/4 v10, #int 0 // #0 │ │ +416a60: 121e |0228: const/4 v14, #int 1 // #1 │ │ +416a62: 6e30 cd5c a90e |0229: invoke-virtual {v9, v10, v14}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@5ccd │ │ +416a68: 0c09 |022c: move-result-object v9 │ │ +416a6a: 6e10 d15c 0900 |022d: invoke-virtual {v9}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@5cd1 │ │ +416a70: 0c09 |0230: move-result-object v9 │ │ +416a72: 6e20 f95c 9300 |0231: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416a78: 54c9 8453 |0234: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_status:Ljava/lang/String; // field@5384 │ │ +416a7c: 6e20 cc5c e900 |0236: invoke-virtual {v9, v14}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@5ccc │ │ +416a82: 0c09 |0239: move-result-object v9 │ │ +416a84: 6e20 f95c 9300 |023a: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416a8a: 2806 |023d: goto 0243 // +0006 │ │ +416a8c: 1a09 5317 |023e: const-string v9, "Disconnected" // string@1753 │ │ +416a90: 6e20 f95c 9300 |0240: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416a96: 6e20 f95c 5300 |0243: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416a9c: 54c9 7453 |0246: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_error:Ljava/lang/String; // field@5374 │ │ +416aa0: 6e10 c35c 0900 |0248: invoke-virtual {v9}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +416aa6: 0a09 |024b: move-result v9 │ │ +416aa8: 3909 0f00 |024c: if-nez v9, 025b // +000f │ │ +416aac: 1a09 3919 |024e: const-string v9, "Error: " // string@1939 │ │ +416ab0: 6e20 f95c 9300 |0250: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416ab6: 54c9 7453 |0253: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_error:Ljava/lang/String; // field@5374 │ │ +416aba: 6e20 f95c 9300 |0255: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416ac0: 6e20 f95c 5300 |0258: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416ac6: 54c9 8053 |025b: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_remoteIpAddress:Ljava/lang/String; // field@5380 │ │ +416aca: 6e20 f95c 9300 |025d: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416ad0: 54c9 7553 |0260: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_ipVersion:Ljava/lang/String; // field@5375 │ │ +416ad4: 6e20 b85c 7900 |0262: invoke-virtual {v9, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +416ada: 0a09 |0265: move-result v9 │ │ +416adc: 3809 1200 |0266: if-eqz v9, 0278 // +0012 │ │ +416ae0: 54c9 8253 |0268: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_remoteScopeId:Ljava/lang/String; // field@5382 │ │ +416ae4: 6e10 c35c 0900 |026a: invoke-virtual {v9}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +416aea: 0a09 |026d: move-result v9 │ │ +416aec: 3909 0a00 |026e: if-nez v9, 0278 // +000a │ │ +416af0: 6e20 f95c 6300 |0270: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416af6: 54c9 8253 |0273: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_remoteScopeId:Ljava/lang/String; // field@5382 │ │ +416afa: 6e20 f95c 9300 |0275: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416b00: 6e20 f95c 8300 |0278: invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416b06: 54c9 8153 |027b: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_remotePort:Ljava/lang/String; // field@5381 │ │ +416b0a: 6e20 f95c 9300 |027d: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416b10: 6e20 f95c 8300 |0280: invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416b16: 54c9 8653 |0283: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_transport:Ljava/lang/String; // field@5386 │ │ +416b1a: 6e20 f95c 9300 |0285: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416b20: 54c9 7653 |0288: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_localIpAddress:Ljava/lang/String; // field@5376 │ │ +416b24: 6e10 c35c 0900 |028a: invoke-virtual {v9}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +416b2a: 0a09 |028d: move-result v9 │ │ +416b2c: 3909 1a00 |028e: if-nez v9, 02a8 // +001a │ │ +416b30: 54c9 7753 |0290: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_localPort:Ljava/lang/String; // field@5377 │ │ +416b34: 6e10 c35c 0900 |0292: invoke-virtual {v9}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +416b3a: 0a09 |0295: move-result v9 │ │ +416b3c: 3909 1200 |0296: if-nez v9, 02a8 // +0012 │ │ +416b40: 6e20 f95c 5300 |0298: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416b46: 54c9 7653 |029b: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_localIpAddress:Ljava/lang/String; // field@5376 │ │ +416b4a: 6e20 f95c 9300 |029d: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416b50: 6e20 f95c 8300 |02a0: invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416b56: 54c9 7753 |02a3: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_localPort:Ljava/lang/String; // field@5377 │ │ +416b5a: 6e20 f95c 9300 |02a5: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416b60: 1a09 1200 |02a8: const-string v9, " │ │ Passthrough: " // string@0012 │ │ -416b68: 6e20 f95c 9300 |02aa: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416b6e: 54c9 7b53 |02ad: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_passthrough:Ljava/lang/String; // field@537b │ │ -416b72: 6e20 f95c 9300 |02af: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416b78: 1a09 1300 |02b2: const-string v9, " │ │ +416b64: 6e20 f95c 9300 |02aa: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416b6a: 54c9 7b53 |02ad: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_passthrough:Ljava/lang/String; // field@537b │ │ +416b6e: 6e20 f95c 9300 |02af: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416b74: 1a09 1300 |02b2: const-string v9, " │ │ Proxy: " // string@0013 │ │ -416b7c: 6e20 f95c 9300 |02b4: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416b82: 54c9 7c53 |02b7: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_proxyIpAddress:Ljava/lang/String; // field@537c │ │ -416b86: 6e10 c35c 0900 |02b9: invoke-virtual {v9}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -416b8c: 0a09 |02bc: move-result v9 │ │ -416b8e: 3909 1f00 |02bd: if-nez v9, 02dc // +001f │ │ -416b92: 54c9 7d53 |02bf: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_proxyPort:Ljava/lang/String; // field@537d │ │ -416b96: 6e10 c35c 0900 |02c1: invoke-virtual {v9}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -416b9c: 0a09 |02c4: move-result v9 │ │ -416b9e: 3909 1700 |02c5: if-nez v9, 02dc // +0017 │ │ -416ba2: 54c9 7c53 |02c7: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_proxyIpAddress:Ljava/lang/String; // field@537c │ │ -416ba6: 6e20 f95c 9300 |02c9: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416bac: 6e20 f95c 8300 |02cc: invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416bb2: 54c9 7d53 |02cf: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_proxyPort:Ljava/lang/String; // field@537d │ │ -416bb6: 6e20 f95c 9300 |02d1: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416bbc: 6e20 f95c 8300 |02d4: invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416bc2: 54c9 7e53 |02d7: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_proxyType:Ljava/lang/String; // field@537e │ │ -416bc6: 6e20 f95c 9300 |02d9: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416bcc: 6e10 da5a 0400 |02dc: invoke-virtual {v4}, Landroid/widget/Switch;.isChecked:()Z // method@5ada │ │ -416bd2: 0a09 |02df: move-result v9 │ │ -416bd4: 3809 3900 |02e0: if-eqz v9, 0319 // +0039 │ │ -416bd8: 54c9 7f53 |02e2: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_remoteCertificate:[B // field@537f │ │ -416bdc: 3809 2000 |02e4: if-eqz v9, 0304 // +0020 │ │ -416be0: 54c9 7f53 |02e6: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_remoteCertificate:[B // field@537f │ │ -416be4: 2199 |02e8: array-length v9, v9 │ │ -416be6: 3d09 1b00 |02e9: if-lez v9, 0304 // +001b │ │ -416bea: 6e20 f95c 5300 |02eb: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416bf0: 1a09 ca45 |02ee: const-string v9, "Remote Certificate's Fingerprint: " // string@45ca │ │ -416bf4: 6e20 f95c 9300 |02f0: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416bfa: 54c9 7f53 |02f3: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_remoteCertificate:[B // field@537f │ │ -416bfe: 7110 e6b7 0900 |02f5: invoke-static {v9}, Lorg/purple/smoke/Miscellaneous;.pemFormat:([B)Ljava/lang/String; // method@b7e6 │ │ -416c04: 0c09 |02f8: move-result-object v9 │ │ -416c06: 6e10 bc5c 0900 |02f9: invoke-virtual {v9}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -416c0c: 0c09 |02fc: move-result-object v9 │ │ -416c0e: 7110 81b5 0900 |02fd: invoke-static {v9}, Lorg/purple/smoke/Cryptography;.fingerPrint:([B)Ljava/lang/String; // method@b581 │ │ -416c14: 0c09 |0300: move-result-object v9 │ │ -416c16: 6e20 f95c 9300 |0301: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416c1c: 54c9 8353 |0304: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_sessionCipher:Ljava/lang/String; // field@5383 │ │ -416c20: 6e10 c35c 0900 |0306: invoke-virtual {v9}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -416c26: 0a09 |0309: move-result v9 │ │ -416c28: 3909 0f00 |030a: if-nez v9, 0319 // +000f │ │ -416c2c: 6e20 f95c 5300 |030c: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416c32: 1a09 1a4a |030f: const-string v9, "Session Cipher: " // string@4a1a │ │ -416c36: 6e20 f95c 9300 |0311: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416c3c: 54c9 8353 |0314: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_sessionCipher:Ljava/lang/String; // field@5383 │ │ -416c40: 6e20 f95c 9300 |0316: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416c46: 6e20 f95c 5300 |0319: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416c4c: 1a09 484d |031c: const-string v9, "Temp. Queued: " // string@4d48 │ │ -416c50: 6e20 f95c 9300 |031e: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416c56: 54c9 7353 |0321: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_echoQueueSize:Ljava/lang/String; // field@5373 │ │ -416c5a: 6e20 f95c 9300 |0323: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416c60: 1a09 a700 |0326: const-string v9, " / " // string@00a7 │ │ -416c64: 6e20 f95c 9300 |0328: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416c6a: 1309 0001 |032b: const/16 v9, #int 256 // #100 │ │ -416c6e: 6e20 f45c 9300 |032d: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@5cf4 │ │ -416c74: 6e20 f95c 5300 |0330: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416c7a: 1a09 bb1d |0333: const-string v9, "In: " // string@1dbb │ │ -416c7e: 6e20 f95c 9300 |0335: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416c84: 54c9 7153 |0338: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_bytesRead:Ljava/lang/String; // field@5371 │ │ -416c88: 7110 dfb7 0900 |033a: invoke-static {v9}, Lorg/purple/smoke/Miscellaneous;.formattedDigitalInformation:(Ljava/lang/String;)Ljava/lang/String; // method@b7df │ │ -416c8e: 0c09 |033d: move-result-object v9 │ │ -416c90: 6e20 f95c 9300 |033e: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416c96: 6e20 f95c 5300 |0341: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416c9c: 1a09 c341 |0344: const-string v9, "Out: " // string@41c3 │ │ -416ca0: 6e20 f95c 9300 |0346: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416ca6: 54c9 7253 |0349: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_bytesWritten:Ljava/lang/String; // field@5372 │ │ -416caa: 7110 dfb7 0900 |034b: invoke-static {v9}, Lorg/purple/smoke/Miscellaneous;.formattedDigitalInformation:(Ljava/lang/String;)Ljava/lang/String; // method@b7df │ │ -416cb0: 0c09 |034e: move-result-object v9 │ │ -416cb2: 6e20 f95c 9300 |034f: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416cb8: 6e20 f95c 5300 |0352: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416cbe: 1a09 c441 |0355: const-string v9, "Outbound Queued: " // string@41c4 │ │ -416cc2: 6e20 f95c 9300 |0357: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416cc8: 53c9 7a53 |035a: iget-wide v9, v12, Lorg/purple/smoke/NeighborElement;.m_outboundQueued:J // field@537a │ │ -416ccc: 6e30 f55c 930a |035c: invoke-virtual {v3, v9, v10}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@5cf5 │ │ -416cd2: 6e20 f95c 5300 |035f: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416cd8: 1a05 644f |0362: const-string v5, "Uptime: " // string@4f64 │ │ -416cdc: 6e20 f95c 5300 |0364: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416ce2: 54c5 8753 |0367: iget-object v5, v12, Lorg/purple/smoke/NeighborElement;.m_uptime:Ljava/lang/String; // field@5387 │ │ -416ce6: 7110 675c 0500 |0369: invoke-static {v5}, Ljava/lang/Long;.parseLong:(Ljava/lang/String;)J // method@5c67 │ │ -416cec: 0b09 |036c: move-result-wide v9 │ │ -416cee: 7100 4b60 0000 |036d: invoke-static {}, Ljava/util/Locale;.getDefault:()Ljava/util/Locale; // method@604b │ │ -416cf4: 0c05 |0370: move-result-object v5 │ │ -416cf6: 1a0c 0c03 |0371: const-string v12, "%d:%02d" // string@030c │ │ -416cfa: 122e |0373: const/4 v14, #int 2 // #2 │ │ -416cfc: 23ee 181b |0374: new-array v14, v14, [Ljava/lang/Object; // type@1b18 │ │ -416d00: 6200 ed2c |0376: sget-object v0, Ljava/util/concurrent/TimeUnit;.NANOSECONDS:Ljava/util/concurrent/TimeUnit; // field@2ced │ │ -416d04: 6e30 d060 900a |0378: invoke-virtual {v0, v9, v10}, Ljava/util/concurrent/TimeUnit;.toMinutes:(J)J // method@60d0 │ │ -416d0a: 0b14 |037b: move-result-wide v20 │ │ -416d0c: 7702 6f5c 1400 |037c: invoke-static/range {v20, v21}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@5c6f │ │ -416d12: 0c00 |037f: move-result-object v0 │ │ -416d14: 1311 0000 |0380: const/16 v17, #int 0 // #0 │ │ -416d18: 4d00 0e11 |0382: aput-object v0, v14, v17 │ │ -416d1c: 6200 ed2c |0384: sget-object v0, Ljava/util/concurrent/TimeUnit;.NANOSECONDS:Ljava/util/concurrent/TimeUnit; // field@2ced │ │ -416d20: 6e30 d260 900a |0386: invoke-virtual {v0, v9, v10}, Ljava/util/concurrent/TimeUnit;.toSeconds:(J)J // method@60d2 │ │ -416d26: 0b14 |0389: move-result-wide v20 │ │ -416d28: 6200 ec2c |038a: sget-object v0, Ljava/util/concurrent/TimeUnit;.MINUTES:Ljava/util/concurrent/TimeUnit; // field@2cec │ │ -416d2c: 081a 0400 |038c: move-object/from16 v26, v4 │ │ -416d30: 6204 ed2c |038e: sget-object v4, Ljava/util/concurrent/TimeUnit;.NANOSECONDS:Ljava/util/concurrent/TimeUnit; // field@2ced │ │ -416d34: 6e30 d060 940a |0390: invoke-virtual {v4, v9, v10}, Ljava/util/concurrent/TimeUnit;.toMinutes:(J)J // method@60d0 │ │ -416d3a: 0b09 |0393: move-result-wide v9 │ │ -416d3c: 6e30 d260 900a |0394: invoke-virtual {v0, v9, v10}, Ljava/util/concurrent/TimeUnit;.toSeconds:(J)J // method@60d2 │ │ -416d42: 0b09 |0397: move-result-wide v9 │ │ -416d44: 9c14 1409 |0398: sub-long v20, v20, v9 │ │ -416d48: 7702 6f5c 1400 |039a: invoke-static/range {v20, v21}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@5c6f │ │ -416d4e: 0c00 |039d: move-result-object v0 │ │ -416d50: 1214 |039e: const/4 v4, #int 1 // #1 │ │ -416d52: 4d00 0e04 |039f: aput-object v0, v14, v4 │ │ -416d56: 7130 bb5c c50e |03a1: invoke-static {v5, v12, v14}, Ljava/lang/String;.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; // method@5cbb │ │ -416d5c: 0c00 |03a4: move-result-object v0 │ │ -416d5e: 6e20 f95c 0300 |03a5: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416d64: 2809 |03a8: goto 03b1 // +0009 │ │ -416d66: 081a 0400 |03a9: move-object/from16 v26, v4 │ │ -416d6a: 1214 |03ab: const/4 v4, #int 1 // #1 │ │ -416d6c: 1a00 7b05 |03ac: const-string v0, "0:00" // string@057b │ │ -416d70: 6e20 f95c 0300 |03ae: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416d76: 1a00 c900 |03b1: const-string v0, " Min. │ │ +416b78: 6e20 f95c 9300 |02b4: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416b7e: 54c9 7c53 |02b7: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_proxyIpAddress:Ljava/lang/String; // field@537c │ │ +416b82: 6e10 c35c 0900 |02b9: invoke-virtual {v9}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +416b88: 0a09 |02bc: move-result v9 │ │ +416b8a: 3909 1f00 |02bd: if-nez v9, 02dc // +001f │ │ +416b8e: 54c9 7d53 |02bf: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_proxyPort:Ljava/lang/String; // field@537d │ │ +416b92: 6e10 c35c 0900 |02c1: invoke-virtual {v9}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +416b98: 0a09 |02c4: move-result v9 │ │ +416b9a: 3909 1700 |02c5: if-nez v9, 02dc // +0017 │ │ +416b9e: 54c9 7c53 |02c7: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_proxyIpAddress:Ljava/lang/String; // field@537c │ │ +416ba2: 6e20 f95c 9300 |02c9: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416ba8: 6e20 f95c 8300 |02cc: invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416bae: 54c9 7d53 |02cf: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_proxyPort:Ljava/lang/String; // field@537d │ │ +416bb2: 6e20 f95c 9300 |02d1: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416bb8: 6e20 f95c 8300 |02d4: invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416bbe: 54c9 7e53 |02d7: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_proxyType:Ljava/lang/String; // field@537e │ │ +416bc2: 6e20 f95c 9300 |02d9: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416bc8: 6e10 da5a 0400 |02dc: invoke-virtual {v4}, Landroid/widget/Switch;.isChecked:()Z // method@5ada │ │ +416bce: 0a09 |02df: move-result v9 │ │ +416bd0: 3809 3900 |02e0: if-eqz v9, 0319 // +0039 │ │ +416bd4: 54c9 7f53 |02e2: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_remoteCertificate:[B // field@537f │ │ +416bd8: 3809 2000 |02e4: if-eqz v9, 0304 // +0020 │ │ +416bdc: 54c9 7f53 |02e6: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_remoteCertificate:[B // field@537f │ │ +416be0: 2199 |02e8: array-length v9, v9 │ │ +416be2: 3d09 1b00 |02e9: if-lez v9, 0304 // +001b │ │ +416be6: 6e20 f95c 5300 |02eb: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416bec: 1a09 ca45 |02ee: const-string v9, "Remote Certificate's Fingerprint: " // string@45ca │ │ +416bf0: 6e20 f95c 9300 |02f0: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416bf6: 54c9 7f53 |02f3: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_remoteCertificate:[B // field@537f │ │ +416bfa: 7110 e6b7 0900 |02f5: invoke-static {v9}, Lorg/purple/smoke/Miscellaneous;.pemFormat:([B)Ljava/lang/String; // method@b7e6 │ │ +416c00: 0c09 |02f8: move-result-object v9 │ │ +416c02: 6e10 bc5c 0900 |02f9: invoke-virtual {v9}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +416c08: 0c09 |02fc: move-result-object v9 │ │ +416c0a: 7110 81b5 0900 |02fd: invoke-static {v9}, Lorg/purple/smoke/Cryptography;.fingerPrint:([B)Ljava/lang/String; // method@b581 │ │ +416c10: 0c09 |0300: move-result-object v9 │ │ +416c12: 6e20 f95c 9300 |0301: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416c18: 54c9 8353 |0304: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_sessionCipher:Ljava/lang/String; // field@5383 │ │ +416c1c: 6e10 c35c 0900 |0306: invoke-virtual {v9}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +416c22: 0a09 |0309: move-result v9 │ │ +416c24: 3909 0f00 |030a: if-nez v9, 0319 // +000f │ │ +416c28: 6e20 f95c 5300 |030c: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416c2e: 1a09 1a4a |030f: const-string v9, "Session Cipher: " // string@4a1a │ │ +416c32: 6e20 f95c 9300 |0311: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416c38: 54c9 8353 |0314: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_sessionCipher:Ljava/lang/String; // field@5383 │ │ +416c3c: 6e20 f95c 9300 |0316: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416c42: 6e20 f95c 5300 |0319: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416c48: 1a09 484d |031c: const-string v9, "Temp. Queued: " // string@4d48 │ │ +416c4c: 6e20 f95c 9300 |031e: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416c52: 54c9 7353 |0321: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_echoQueueSize:Ljava/lang/String; // field@5373 │ │ +416c56: 6e20 f95c 9300 |0323: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416c5c: 1a09 a700 |0326: const-string v9, " / " // string@00a7 │ │ +416c60: 6e20 f95c 9300 |0328: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416c66: 1309 0001 |032b: const/16 v9, #int 256 // #100 │ │ +416c6a: 6e20 f45c 9300 |032d: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@5cf4 │ │ +416c70: 6e20 f95c 5300 |0330: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416c76: 1a09 bb1d |0333: const-string v9, "In: " // string@1dbb │ │ +416c7a: 6e20 f95c 9300 |0335: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416c80: 54c9 7153 |0338: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_bytesRead:Ljava/lang/String; // field@5371 │ │ +416c84: 7110 dfb7 0900 |033a: invoke-static {v9}, Lorg/purple/smoke/Miscellaneous;.formattedDigitalInformation:(Ljava/lang/String;)Ljava/lang/String; // method@b7df │ │ +416c8a: 0c09 |033d: move-result-object v9 │ │ +416c8c: 6e20 f95c 9300 |033e: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416c92: 6e20 f95c 5300 |0341: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416c98: 1a09 c341 |0344: const-string v9, "Out: " // string@41c3 │ │ +416c9c: 6e20 f95c 9300 |0346: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416ca2: 54c9 7253 |0349: iget-object v9, v12, Lorg/purple/smoke/NeighborElement;.m_bytesWritten:Ljava/lang/String; // field@5372 │ │ +416ca6: 7110 dfb7 0900 |034b: invoke-static {v9}, Lorg/purple/smoke/Miscellaneous;.formattedDigitalInformation:(Ljava/lang/String;)Ljava/lang/String; // method@b7df │ │ +416cac: 0c09 |034e: move-result-object v9 │ │ +416cae: 6e20 f95c 9300 |034f: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416cb4: 6e20 f95c 5300 |0352: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416cba: 1a09 c441 |0355: const-string v9, "Outbound Queued: " // string@41c4 │ │ +416cbe: 6e20 f95c 9300 |0357: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416cc4: 53c9 7a53 |035a: iget-wide v9, v12, Lorg/purple/smoke/NeighborElement;.m_outboundQueued:J // field@537a │ │ +416cc8: 6e30 f55c 930a |035c: invoke-virtual {v3, v9, v10}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@5cf5 │ │ +416cce: 6e20 f95c 5300 |035f: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416cd4: 1a05 644f |0362: const-string v5, "Uptime: " // string@4f64 │ │ +416cd8: 6e20 f95c 5300 |0364: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416cde: 54c5 8753 |0367: iget-object v5, v12, Lorg/purple/smoke/NeighborElement;.m_uptime:Ljava/lang/String; // field@5387 │ │ +416ce2: 7110 675c 0500 |0369: invoke-static {v5}, Ljava/lang/Long;.parseLong:(Ljava/lang/String;)J // method@5c67 │ │ +416ce8: 0b09 |036c: move-result-wide v9 │ │ +416cea: 7100 4b60 0000 |036d: invoke-static {}, Ljava/util/Locale;.getDefault:()Ljava/util/Locale; // method@604b │ │ +416cf0: 0c05 |0370: move-result-object v5 │ │ +416cf2: 1a0c 0c03 |0371: const-string v12, "%d:%02d" // string@030c │ │ +416cf6: 122e |0373: const/4 v14, #int 2 // #2 │ │ +416cf8: 23ee 181b |0374: new-array v14, v14, [Ljava/lang/Object; // type@1b18 │ │ +416cfc: 6200 ed2c |0376: sget-object v0, Ljava/util/concurrent/TimeUnit;.NANOSECONDS:Ljava/util/concurrent/TimeUnit; // field@2ced │ │ +416d00: 6e30 d060 900a |0378: invoke-virtual {v0, v9, v10}, Ljava/util/concurrent/TimeUnit;.toMinutes:(J)J // method@60d0 │ │ +416d06: 0b14 |037b: move-result-wide v20 │ │ +416d08: 7702 6f5c 1400 |037c: invoke-static/range {v20, v21}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@5c6f │ │ +416d0e: 0c00 |037f: move-result-object v0 │ │ +416d10: 1311 0000 |0380: const/16 v17, #int 0 // #0 │ │ +416d14: 4d00 0e11 |0382: aput-object v0, v14, v17 │ │ +416d18: 6200 ed2c |0384: sget-object v0, Ljava/util/concurrent/TimeUnit;.NANOSECONDS:Ljava/util/concurrent/TimeUnit; // field@2ced │ │ +416d1c: 6e30 d260 900a |0386: invoke-virtual {v0, v9, v10}, Ljava/util/concurrent/TimeUnit;.toSeconds:(J)J // method@60d2 │ │ +416d22: 0b14 |0389: move-result-wide v20 │ │ +416d24: 6200 ec2c |038a: sget-object v0, Ljava/util/concurrent/TimeUnit;.MINUTES:Ljava/util/concurrent/TimeUnit; // field@2cec │ │ +416d28: 081a 0400 |038c: move-object/from16 v26, v4 │ │ +416d2c: 6204 ed2c |038e: sget-object v4, Ljava/util/concurrent/TimeUnit;.NANOSECONDS:Ljava/util/concurrent/TimeUnit; // field@2ced │ │ +416d30: 6e30 d060 940a |0390: invoke-virtual {v4, v9, v10}, Ljava/util/concurrent/TimeUnit;.toMinutes:(J)J // method@60d0 │ │ +416d36: 0b09 |0393: move-result-wide v9 │ │ +416d38: 6e30 d260 900a |0394: invoke-virtual {v0, v9, v10}, Ljava/util/concurrent/TimeUnit;.toSeconds:(J)J // method@60d2 │ │ +416d3e: 0b09 |0397: move-result-wide v9 │ │ +416d40: 9c14 1409 |0398: sub-long v20, v20, v9 │ │ +416d44: 7702 6f5c 1400 |039a: invoke-static/range {v20, v21}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@5c6f │ │ +416d4a: 0c00 |039d: move-result-object v0 │ │ +416d4c: 1214 |039e: const/4 v4, #int 1 // #1 │ │ +416d4e: 4d00 0e04 |039f: aput-object v0, v14, v4 │ │ +416d52: 7130 bb5c c50e |03a1: invoke-static {v5, v12, v14}, Ljava/lang/String;.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; // method@5cbb │ │ +416d58: 0c00 |03a4: move-result-object v0 │ │ +416d5a: 6e20 f95c 0300 |03a5: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416d60: 2809 |03a8: goto 03b1 // +0009 │ │ +416d62: 081a 0400 |03a9: move-object/from16 v26, v4 │ │ +416d66: 1214 |03ab: const/4 v4, #int 1 // #1 │ │ +416d68: 1a00 7b05 |03ac: const-string v0, "0:00" // string@057b │ │ +416d6c: 6e20 f95c 0300 |03ae: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416d72: 1a00 c900 |03b1: const-string v0, " Min. │ │ " // string@00c9 │ │ -416d7a: 6e20 f95c 0300 |03b3: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416d80: 1300 1000 |03b6: const/16 v0, #int 16 // #10 │ │ -416d84: 6e20 365b 0f00 |03b8: invoke-virtual {v15, v0}, Landroid/widget/TextView;.setGravity:(I)V // method@5b36 │ │ -416d8a: 2200 940a |03bb: new-instance v0, Landroid/widget/TableRow$LayoutParams; // type@0a94 │ │ -416d8e: 1505 803f |03bd: const/high16 v5, #int 1065353216 // #3f80 │ │ -416d92: 12e9 |03bf: const/4 v9, #int -2 // #fe │ │ -416d94: 120a |03c0: const/4 v10, #int 0 // #0 │ │ -416d96: 7040 f95a a059 |03c1: invoke-direct {v0, v10, v9, v5}, Landroid/widget/TableRow$LayoutParams;.:(IIF)V // method@5af9 │ │ -416d9c: 6e20 3b5b 0f00 |03c4: invoke-virtual {v15, v0}, Landroid/widget/TextView;.setLayoutParams:(Landroid/view/ViewGroup$LayoutParams;)V // method@5b3b │ │ -416da2: 6e20 495b 3f00 |03c7: invoke-virtual {v15, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -416da8: 6200 6200 |03ca: sget-object v0, Landroid/graphics/Typeface;.MONOSPACE:Landroid/graphics/Typeface; // field@0062 │ │ -416dac: 6e20 525b 0f00 |03cc: invoke-virtual {v15, v0}, Landroid/widget/TextView;.setTypeface:(Landroid/graphics/Typeface;)V // method@5b52 │ │ -416db2: 1300 f401 |03cf: const/16 v0, #int 500 // #1f4 │ │ -416db6: 6e20 545b 0f00 |03d1: invoke-virtual {v15, v0}, Landroid/widget/TextView;.setWidth:(I)V // method@5b54 │ │ -416dbc: 3801 0b00 |03d4: if-eqz v1, 03df // +000b │ │ -416dc0: 6e20 fb5a d100 |03d6: invoke-virtual {v1, v13}, Landroid/widget/TableRow;.addView:(Landroid/view/View;)V // method@5afb │ │ -416dc6: 6e20 fb5a f100 |03d9: invoke-virtual {v1, v15}, Landroid/widget/TableRow;.addView:(Landroid/view/View;)V // method@5afb │ │ -416dcc: 6e30 f35a 120b |03dc: invoke-virtual {v2, v1, v11}, Landroid/widget/TableLayout;.addView:(Landroid/view/View;I)V // method@5af3 │ │ -416dd2: d80b 0b01 |03df: add-int/lit8 v11, v11, #int 1 // #01 │ │ -416dd6: 0800 1900 |03e1: move-object/from16 v0, v25 │ │ -416dda: 0804 1a00 |03e3: move-object/from16 v4, v26 │ │ -416dde: 080a 1200 |03e5: move-object/from16 v10, v18 │ │ -416de2: 0801 1300 |03e7: move-object/from16 v1, v19 │ │ -416de6: 1215 |03e9: const/4 v5, #int 1 // #1 │ │ -416de8: 1209 |03ea: const/4 v9, #int 0 // #0 │ │ -416dea: 2900 cdfc |03eb: goto/16 00b8 // -0333 │ │ -416dee: 0813 0100 |03ed: move-object/from16 v19, v1 │ │ -416df2: 7401 9d5f 1300 |03ef: invoke-virtual/range {v19}, Ljava/util/ArrayList;.clear:()V // method@5f9d │ │ -416df8: 0e00 |03f2: return-void │ │ -416dfa: 6e10 f65a 0200 |03f3: invoke-virtual {v2}, Landroid/widget/TableLayout;.removeAllViews:()V // method@5af6 │ │ -416e00: 0e00 |03f6: return-void │ │ +416d76: 6e20 f95c 0300 |03b3: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416d7c: 1300 1000 |03b6: const/16 v0, #int 16 // #10 │ │ +416d80: 6e20 365b 0f00 |03b8: invoke-virtual {v15, v0}, Landroid/widget/TextView;.setGravity:(I)V // method@5b36 │ │ +416d86: 2200 940a |03bb: new-instance v0, Landroid/widget/TableRow$LayoutParams; // type@0a94 │ │ +416d8a: 1505 803f |03bd: const/high16 v5, #int 1065353216 // #3f80 │ │ +416d8e: 12e9 |03bf: const/4 v9, #int -2 // #fe │ │ +416d90: 120a |03c0: const/4 v10, #int 0 // #0 │ │ +416d92: 7040 f95a a059 |03c1: invoke-direct {v0, v10, v9, v5}, Landroid/widget/TableRow$LayoutParams;.:(IIF)V // method@5af9 │ │ +416d98: 6e20 3b5b 0f00 |03c4: invoke-virtual {v15, v0}, Landroid/widget/TextView;.setLayoutParams:(Landroid/view/ViewGroup$LayoutParams;)V // method@5b3b │ │ +416d9e: 6e20 495b 3f00 |03c7: invoke-virtual {v15, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +416da4: 6200 6200 |03ca: sget-object v0, Landroid/graphics/Typeface;.MONOSPACE:Landroid/graphics/Typeface; // field@0062 │ │ +416da8: 6e20 525b 0f00 |03cc: invoke-virtual {v15, v0}, Landroid/widget/TextView;.setTypeface:(Landroid/graphics/Typeface;)V // method@5b52 │ │ +416dae: 1300 f401 |03cf: const/16 v0, #int 500 // #1f4 │ │ +416db2: 6e20 545b 0f00 |03d1: invoke-virtual {v15, v0}, Landroid/widget/TextView;.setWidth:(I)V // method@5b54 │ │ +416db8: 3801 0b00 |03d4: if-eqz v1, 03df // +000b │ │ +416dbc: 6e20 fb5a d100 |03d6: invoke-virtual {v1, v13}, Landroid/widget/TableRow;.addView:(Landroid/view/View;)V // method@5afb │ │ +416dc2: 6e20 fb5a f100 |03d9: invoke-virtual {v1, v15}, Landroid/widget/TableRow;.addView:(Landroid/view/View;)V // method@5afb │ │ +416dc8: 6e30 f35a 120b |03dc: invoke-virtual {v2, v1, v11}, Landroid/widget/TableLayout;.addView:(Landroid/view/View;I)V // method@5af3 │ │ +416dce: d80b 0b01 |03df: add-int/lit8 v11, v11, #int 1 // #01 │ │ +416dd2: 0800 1900 |03e1: move-object/from16 v0, v25 │ │ +416dd6: 0804 1a00 |03e3: move-object/from16 v4, v26 │ │ +416dda: 080a 1200 |03e5: move-object/from16 v10, v18 │ │ +416dde: 0801 1300 |03e7: move-object/from16 v1, v19 │ │ +416de2: 1215 |03e9: const/4 v5, #int 1 // #1 │ │ +416de4: 1209 |03ea: const/4 v9, #int 0 // #0 │ │ +416de6: 2900 cdfc |03eb: goto/16 00b8 // -0333 │ │ +416dea: 0813 0100 |03ed: move-object/from16 v19, v1 │ │ +416dee: 7401 9d5f 1300 |03ef: invoke-virtual/range {v19}, Ljava/util/ArrayList;.clear:()V // method@5f9d │ │ +416df4: 0e00 |03f2: return-void │ │ +416df6: 6e10 f65a 0200 |03f3: invoke-virtual {v2}, Landroid/widget/TableLayout;.removeAllViews:()V // method@5af6 │ │ +416dfc: 0e00 |03f6: return-void │ │ catches : 5 │ │ 0x0200 - 0x0217 │ │ Ljava/lang/Exception; -> 0x0218 │ │ 0x0225 - 0x023d │ │ Ljava/lang/Exception; -> 0x023e │ │ 0x0367 - 0x038c │ │ Ljava/lang/Exception; -> 0x03a9 │ │ @@ -1541338,26 +1541337,26 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 23 16-bit code units │ │ -416e48: |[416e48] org.purple.smoke.Settings.populateOzone:()V │ │ -416e58: 1400 b700 087f |0000: const v0, #float 1.80779e+38 // #7f0800b7 │ │ -416e5e: 6e20 dcb8 0400 |0003: invoke-virtual {v4, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -416e64: 0c00 |0006: move-result-object v0 │ │ -416e66: 1f00 970a |0007: check-cast v0, Landroid/widget/TextView; // type@0a97 │ │ -416e6a: 5441 1a5d |0009: iget-object v1, v4, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -416e6e: 6202 1e5d |000b: sget-object v2, Lorg/purple/smoke/Settings;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d1e │ │ -416e72: 1a03 2590 |000d: const-string v3, "ozone_address" // string@9025 │ │ -416e76: 6e30 0eb6 2103 |000f: invoke-virtual {v1, v2, v3}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ -416e7c: 0c01 |0012: move-result-object v1 │ │ -416e7e: 6e20 495b 1000 |0013: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -416e84: 0e00 |0016: return-void │ │ +416e44: |[416e44] org.purple.smoke.Settings.populateOzone:()V │ │ +416e54: 1400 b700 087f |0000: const v0, #float 1.80779e+38 // #7f0800b7 │ │ +416e5a: 6e20 dcb8 0400 |0003: invoke-virtual {v4, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +416e60: 0c00 |0006: move-result-object v0 │ │ +416e62: 1f00 970a |0007: check-cast v0, Landroid/widget/TextView; // type@0a97 │ │ +416e66: 5441 1a5d |0009: iget-object v1, v4, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +416e6a: 6202 1e5d |000b: sget-object v2, Lorg/purple/smoke/Settings;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d1e │ │ +416e6e: 1a03 2590 |000d: const-string v3, "ozone_address" // string@9025 │ │ +416e72: 6e30 0eb6 2103 |000f: invoke-virtual {v1, v2, v3}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ +416e78: 0c01 |0012: move-result-object v1 │ │ +416e7a: 6e20 495b 1000 |0013: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +416e80: 0e00 |0016: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=1193 │ │ 0x0009 line=1195 │ │ 0x000f line=1196 │ │ locals : │ │ 0x0000 - 0x0017 reg=4 this Lorg/purple/smoke/Settings; │ │ @@ -1541367,126 +1541366,126 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 17 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 239 16-bit code units │ │ -416e88: |[416e88] org.purple.smoke.Settings.populateParticipants:()V │ │ -416e98: 0800 1000 |0000: move-object/from16 v0, v16 │ │ -416e9c: 5401 1a5d |0002: iget-object v1, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -416ea0: 6202 1e5d |0004: sget-object v2, Lorg/purple/smoke/Settings;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d1e │ │ -416ea4: 1a03 0000 |0006: const-string v3, "" // string@0000 │ │ -416ea8: 6e30 12b6 2103 |0008: invoke-virtual {v1, v2, v3}, Lorg/purple/smoke/Database;.readSipHashIds:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/util/ArrayList; // method@b612 │ │ -416eae: 0c01 |000b: move-result-object v1 │ │ -416eb0: 1402 bf00 087f |000c: const v2, #float 1.80779e+38 // #7f0800bf │ │ -416eb6: 6e20 dcb8 2000 |000f: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -416ebc: 0c03 |0012: move-result-object v3 │ │ -416ebe: 1f03 930a |0013: check-cast v3, Landroid/widget/TableLayout; // type@0a93 │ │ -416ec2: 6e10 f65a 0300 |0015: invoke-virtual {v3}, Landroid/widget/TableLayout;.removeAllViews:()V // method@5af6 │ │ -416ec8: 3801 d600 |0018: if-eqz v1, 00ee // +00d6 │ │ -416ecc: 6e10 a45f 0100 |001a: invoke-virtual {v1}, Ljava/util/ArrayList;.isEmpty:()Z // method@5fa4 │ │ -416ed2: 0a04 |001d: move-result v4 │ │ -416ed4: 3804 0400 |001e: if-eqz v4, 0022 // +0004 │ │ -416ed8: 2900 ce00 |0020: goto/16 00ee // +00ce │ │ -416edc: 6e10 a55f 0100 |0022: invoke-virtual {v1}, Ljava/util/ArrayList;.iterator:()Ljava/util/Iterator; // method@5fa5 │ │ -416ee2: 0c04 |0025: move-result-object v4 │ │ -416ee4: 1205 |0026: const/4 v5, #int 0 // #0 │ │ -416ee6: 1206 |0027: const/4 v6, #int 0 // #0 │ │ -416ee8: 7210 1860 0400 |0028: invoke-interface {v4}, Ljava/util/Iterator;.hasNext:()Z // method@6018 │ │ -416eee: 0a07 |002b: move-result v7 │ │ -416ef0: 3807 bf00 |002c: if-eqz v7, 00eb // +00bf │ │ -416ef4: 7210 1960 0400 |002e: invoke-interface {v4}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@6019 │ │ -416efa: 0c07 |0031: move-result-object v7 │ │ -416efc: 1f07 7e1a |0032: check-cast v7, Lorg/purple/smoke/SipHashIdElement; // type@1a7e │ │ -416f00: 3907 0300 |0034: if-nez v7, 0037 // +0003 │ │ -416f04: 28f2 |0036: goto 0028 // -000e │ │ -416f06: 5478 375d |0037: iget-object v8, v7, Lorg/purple/smoke/SipHashIdElement;.m_sipHashId:Ljava/lang/String; // field@5d37 │ │ -416f0a: 7110 e7b7 0800 |0039: invoke-static {v8}, Lorg/purple/smoke/Miscellaneous;.prepareSipHashId:(Ljava/lang/String;)Ljava/lang/String; // method@b7e7 │ │ -416f10: 0c08 |003c: move-result-object v8 │ │ -416f12: 2209 940a |003d: new-instance v9, Landroid/widget/TableRow$LayoutParams; // type@0a94 │ │ -416f16: 12ea |003f: const/4 v10, #int -2 // #fe │ │ -416f18: 7020 f85a a900 |0040: invoke-direct {v9, v10}, Landroid/widget/TableRow$LayoutParams;.:(I)V // method@5af8 │ │ -416f1e: 220b 950a |0043: new-instance v11, Landroid/widget/TableRow; // type@0a95 │ │ -416f22: 7020 fa5a 0b00 |0045: invoke-direct {v11, v0}, Landroid/widget/TableRow;.:(Landroid/content/Context;)V // method@5afa │ │ -416f28: 6e20 fe5a 9b00 |0048: invoke-virtual {v11, v9}, Landroid/widget/TableRow;.setLayoutParams:(Landroid/view/ViewGroup$LayoutParams;)V // method@5afe │ │ -416f2e: 1209 |004b: const/4 v9, #int 0 // #0 │ │ -416f30: 123c |004c: const/4 v12, #int 3 // #3 │ │ -416f32: 35c9 9700 |004d: if-ge v9, v12, 00e4 // +0097 │ │ -416f36: 220c 970a |004f: new-instance v12, Landroid/widget/TextView; // type@0a97 │ │ -416f3a: 7020 ff5a 0c00 |0051: invoke-direct {v12, v0}, Landroid/widget/TextView;.:(Landroid/content/Context;)V // method@5aff │ │ -416f40: 527d 355d |0054: iget v13, v7, Lorg/purple/smoke/SipHashIdElement;.m_oid:I // field@5d35 │ │ -416f44: 6e20 395b dc00 |0056: invoke-virtual {v12, v13}, Landroid/widget/TextView;.setId:(I)V // method@5b39 │ │ -416f4a: 12fd |0059: const/4 v13, #int -1 // #ff │ │ -416f4c: 130e 1000 |005a: const/16 v14, #int 16 // #10 │ │ -416f50: 150f 803f |005c: const/high16 v15, #int 1065353216 // #3f80 │ │ -416f54: 3809 5b00 |005e: if-eqz v9, 00b9 // +005b │ │ -416f58: 121a |0060: const/4 v10, #int 1 // #1 │ │ -416f5a: 32a9 2100 |0061: if-eq v9, v10, 0082 // +0021 │ │ -416f5e: 122a |0063: const/4 v10, #int 2 // #2 │ │ -416f60: 32a9 0400 |0064: if-eq v9, v10, 0068 // +0004 │ │ -416f64: 12ea |0066: const/4 v10, #int -2 // #fe │ │ -416f66: 2867 |0067: goto 00ce // +0067 │ │ -416f68: 130a 1100 |0068: const/16 v10, #int 17 // #11 │ │ -416f6c: 6e20 365b ac00 |006a: invoke-virtual {v12, v10}, Landroid/widget/TextView;.setGravity:(I)V // method@5b36 │ │ -416f72: 220a 940a |006d: new-instance v10, Landroid/widget/TableRow$LayoutParams; // type@0a94 │ │ -416f76: 7040 f95a 5afd |006f: invoke-direct {v10, v5, v13, v15}, Landroid/widget/TableRow$LayoutParams;.:(IIF)V // method@5af9 │ │ -416f7c: 6e20 3b5b ac00 |0072: invoke-virtual {v12, v10}, Landroid/widget/TextView;.setLayoutParams:(Landroid/view/ViewGroup$LayoutParams;)V // method@5b3b │ │ -416f82: 6e30 485b 2c08 |0075: invoke-virtual {v12, v2, v8}, Landroid/widget/TextView;.setTag:(ILjava/lang/Object;)V // method@5b48 │ │ -416f88: 527a 325d |0078: iget v10, v7, Lorg/purple/smoke/SipHashIdElement;.m_fiascoKeys:I // field@5d32 │ │ -416f8c: 7110 d55c 0a00 |007a: invoke-static {v10}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ -416f92: 0c0a |007d: move-result-object v10 │ │ -416f94: 6e20 495b ac00 |007e: invoke-virtual {v12, v10}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -416f9a: 28e5 |0081: goto 0066 // -001b │ │ -416f9c: 557a 315d |0082: iget-boolean v10, v7, Lorg/purple/smoke/SipHashIdElement;.m_epksCompleted:Z // field@5d31 │ │ -416fa0: 380a 0d00 |0084: if-eqz v10, 0091 // +000d │ │ -416fa4: 557a 335d |0086: iget-boolean v10, v7, Lorg/purple/smoke/SipHashIdElement;.m_keysSigned:Z // field@5d33 │ │ -416fa8: 380a 0900 |0088: if-eqz v10, 0091 // +0009 │ │ -416fac: 140a 7000 077f |008a: const v10, #float 1.79448e+38 // #7f070070 │ │ -416fb2: 6e55 2f5b ac55 |008d: invoke-virtual {v12, v10, v5, v5, v5}, Landroid/widget/TextView;.setCompoundDrawablesWithIntrinsicBounds:(IIII)V // method@5b2f │ │ -416fb8: 2812 |0090: goto 00a2 // +0012 │ │ -416fba: 557a 315d |0091: iget-boolean v10, v7, Lorg/purple/smoke/SipHashIdElement;.m_epksCompleted:Z // field@5d31 │ │ -416fbe: 380a 0900 |0093: if-eqz v10, 009c // +0009 │ │ -416fc2: 140a 6f00 077f |0095: const v10, #float 1.79448e+38 // #7f07006f │ │ -416fc8: 6e55 2f5b ac55 |0098: invoke-virtual {v12, v10, v5, v5, v5}, Landroid/widget/TextView;.setCompoundDrawablesWithIntrinsicBounds:(IIII)V // method@5b2f │ │ -416fce: 2807 |009b: goto 00a2 // +0007 │ │ -416fd0: 140a 8c00 077f |009c: const v10, #float 1.79449e+38 // #7f07008c │ │ -416fd6: 6e55 2f5b ac55 |009f: invoke-virtual {v12, v10, v5, v5, v5}, Landroid/widget/TextView;.setCompoundDrawablesWithIntrinsicBounds:(IIII)V // method@5b2f │ │ -416fdc: 125a |00a2: const/4 v10, #int 5 // #5 │ │ -416fde: 6e20 2a5b ac00 |00a3: invoke-virtual {v12, v10}, Landroid/widget/TextView;.setCompoundDrawablePadding:(I)V // method@5b2a │ │ -416fe4: 6e20 365b ec00 |00a6: invoke-virtual {v12, v14}, Landroid/widget/TextView;.setGravity:(I)V // method@5b36 │ │ -416fea: 220a 940a |00a9: new-instance v10, Landroid/widget/TableRow$LayoutParams; // type@0a94 │ │ -416fee: 12ed |00ab: const/4 v13, #int -2 // #fe │ │ -416ff0: 7040 f95a 5afd |00ac: invoke-direct {v10, v5, v13, v15}, Landroid/widget/TableRow$LayoutParams;.:(IIF)V // method@5af9 │ │ -416ff6: 6e20 3b5b ac00 |00af: invoke-virtual {v12, v10}, Landroid/widget/TextView;.setLayoutParams:(Landroid/view/ViewGroup$LayoutParams;)V // method@5b3b │ │ -416ffc: 6e30 485b 2c08 |00b2: invoke-virtual {v12, v2, v8}, Landroid/widget/TextView;.setTag:(ILjava/lang/Object;)V // method@5b48 │ │ -417002: 6e20 495b 8c00 |00b5: invoke-virtual {v12, v8}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -417008: 28ae |00b8: goto 0066 // -0052 │ │ -41700a: 6e20 365b ec00 |00b9: invoke-virtual {v12, v14}, Landroid/widget/TextView;.setGravity:(I)V // method@5b36 │ │ -417010: 220e 940a |00bc: new-instance v14, Landroid/widget/TableRow$LayoutParams; // type@0a94 │ │ -417014: 7040 f95a 5efd |00be: invoke-direct {v14, v5, v13, v15}, Landroid/widget/TableRow$LayoutParams;.:(IIF)V // method@5af9 │ │ -41701a: 6e20 3b5b ec00 |00c1: invoke-virtual {v12, v14}, Landroid/widget/TextView;.setLayoutParams:(Landroid/view/ViewGroup$LayoutParams;)V // method@5b3b │ │ -417020: 547d 345d |00c4: iget-object v13, v7, Lorg/purple/smoke/SipHashIdElement;.m_name:Ljava/lang/String; // field@5d34 │ │ -417024: 6e30 485b 2c0d |00c6: invoke-virtual {v12, v2, v13}, Landroid/widget/TextView;.setTag:(ILjava/lang/Object;)V // method@5b48 │ │ -41702a: 547d 345d |00c9: iget-object v13, v7, Lorg/purple/smoke/SipHashIdElement;.m_name:Ljava/lang/String; // field@5d34 │ │ -41702e: 6e20 495b dc00 |00cb: invoke-virtual {v12, v13}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -417034: 140d db00 087f |00ce: const v13, #float 1.80779e+38 // #7f0800db │ │ -41703a: 557e 315d |00d1: iget-boolean v14, v7, Lorg/purple/smoke/SipHashIdElement;.m_epksCompleted:Z // field@5d31 │ │ -41703e: 7110 ff5b 0e00 |00d3: invoke-static {v14}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@5bff │ │ -417044: 0c0e |00d6: move-result-object v14 │ │ -417046: 6e30 485b dc0e |00d7: invoke-virtual {v12, v13, v14}, Landroid/widget/TextView;.setTag:(ILjava/lang/Object;)V // method@5b48 │ │ -41704c: 6e20 fab8 c000 |00da: invoke-virtual {v0, v12}, Lorg/purple/smoke/Settings;.registerForContextMenu:(Landroid/view/View;)V // method@b8fa │ │ -417052: 6e20 fb5a cb00 |00dd: invoke-virtual {v11, v12}, Landroid/widget/TableRow;.addView:(Landroid/view/View;)V // method@5afb │ │ -417058: d809 0901 |00e0: add-int/lit8 v9, v9, #int 1 // #01 │ │ -41705c: 2900 6aff |00e2: goto/16 004c // -0096 │ │ -417060: 6e30 f35a b306 |00e4: invoke-virtual {v3, v11, v6}, Landroid/widget/TableLayout;.addView:(Landroid/view/View;I)V // method@5af3 │ │ -417066: d806 0601 |00e7: add-int/lit8 v6, v6, #int 1 // #01 │ │ -41706a: 2900 3fff |00e9: goto/16 0028 // -00c1 │ │ -41706e: 6e10 9d5f 0100 |00eb: invoke-virtual {v1}, Ljava/util/ArrayList;.clear:()V // method@5f9d │ │ -417074: 0e00 |00ee: return-void │ │ +416e84: |[416e84] org.purple.smoke.Settings.populateParticipants:()V │ │ +416e94: 0800 1000 |0000: move-object/from16 v0, v16 │ │ +416e98: 5401 1a5d |0002: iget-object v1, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +416e9c: 6202 1e5d |0004: sget-object v2, Lorg/purple/smoke/Settings;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d1e │ │ +416ea0: 1a03 0000 |0006: const-string v3, "" // string@0000 │ │ +416ea4: 6e30 12b6 2103 |0008: invoke-virtual {v1, v2, v3}, Lorg/purple/smoke/Database;.readSipHashIds:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/util/ArrayList; // method@b612 │ │ +416eaa: 0c01 |000b: move-result-object v1 │ │ +416eac: 1402 bf00 087f |000c: const v2, #float 1.80779e+38 // #7f0800bf │ │ +416eb2: 6e20 dcb8 2000 |000f: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +416eb8: 0c03 |0012: move-result-object v3 │ │ +416eba: 1f03 930a |0013: check-cast v3, Landroid/widget/TableLayout; // type@0a93 │ │ +416ebe: 6e10 f65a 0300 |0015: invoke-virtual {v3}, Landroid/widget/TableLayout;.removeAllViews:()V // method@5af6 │ │ +416ec4: 3801 d600 |0018: if-eqz v1, 00ee // +00d6 │ │ +416ec8: 6e10 a45f 0100 |001a: invoke-virtual {v1}, Ljava/util/ArrayList;.isEmpty:()Z // method@5fa4 │ │ +416ece: 0a04 |001d: move-result v4 │ │ +416ed0: 3804 0400 |001e: if-eqz v4, 0022 // +0004 │ │ +416ed4: 2900 ce00 |0020: goto/16 00ee // +00ce │ │ +416ed8: 6e10 a55f 0100 |0022: invoke-virtual {v1}, Ljava/util/ArrayList;.iterator:()Ljava/util/Iterator; // method@5fa5 │ │ +416ede: 0c04 |0025: move-result-object v4 │ │ +416ee0: 1205 |0026: const/4 v5, #int 0 // #0 │ │ +416ee2: 1206 |0027: const/4 v6, #int 0 // #0 │ │ +416ee4: 7210 1860 0400 |0028: invoke-interface {v4}, Ljava/util/Iterator;.hasNext:()Z // method@6018 │ │ +416eea: 0a07 |002b: move-result v7 │ │ +416eec: 3807 bf00 |002c: if-eqz v7, 00eb // +00bf │ │ +416ef0: 7210 1960 0400 |002e: invoke-interface {v4}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@6019 │ │ +416ef6: 0c07 |0031: move-result-object v7 │ │ +416ef8: 1f07 7e1a |0032: check-cast v7, Lorg/purple/smoke/SipHashIdElement; // type@1a7e │ │ +416efc: 3907 0300 |0034: if-nez v7, 0037 // +0003 │ │ +416f00: 28f2 |0036: goto 0028 // -000e │ │ +416f02: 5478 375d |0037: iget-object v8, v7, Lorg/purple/smoke/SipHashIdElement;.m_sipHashId:Ljava/lang/String; // field@5d37 │ │ +416f06: 7110 e7b7 0800 |0039: invoke-static {v8}, Lorg/purple/smoke/Miscellaneous;.prepareSipHashId:(Ljava/lang/String;)Ljava/lang/String; // method@b7e7 │ │ +416f0c: 0c08 |003c: move-result-object v8 │ │ +416f0e: 2209 940a |003d: new-instance v9, Landroid/widget/TableRow$LayoutParams; // type@0a94 │ │ +416f12: 12ea |003f: const/4 v10, #int -2 // #fe │ │ +416f14: 7020 f85a a900 |0040: invoke-direct {v9, v10}, Landroid/widget/TableRow$LayoutParams;.:(I)V // method@5af8 │ │ +416f1a: 220b 950a |0043: new-instance v11, Landroid/widget/TableRow; // type@0a95 │ │ +416f1e: 7020 fa5a 0b00 |0045: invoke-direct {v11, v0}, Landroid/widget/TableRow;.:(Landroid/content/Context;)V // method@5afa │ │ +416f24: 6e20 fe5a 9b00 |0048: invoke-virtual {v11, v9}, Landroid/widget/TableRow;.setLayoutParams:(Landroid/view/ViewGroup$LayoutParams;)V // method@5afe │ │ +416f2a: 1209 |004b: const/4 v9, #int 0 // #0 │ │ +416f2c: 123c |004c: const/4 v12, #int 3 // #3 │ │ +416f2e: 35c9 9700 |004d: if-ge v9, v12, 00e4 // +0097 │ │ +416f32: 220c 970a |004f: new-instance v12, Landroid/widget/TextView; // type@0a97 │ │ +416f36: 7020 ff5a 0c00 |0051: invoke-direct {v12, v0}, Landroid/widget/TextView;.:(Landroid/content/Context;)V // method@5aff │ │ +416f3c: 527d 355d |0054: iget v13, v7, Lorg/purple/smoke/SipHashIdElement;.m_oid:I // field@5d35 │ │ +416f40: 6e20 395b dc00 |0056: invoke-virtual {v12, v13}, Landroid/widget/TextView;.setId:(I)V // method@5b39 │ │ +416f46: 12fd |0059: const/4 v13, #int -1 // #ff │ │ +416f48: 130e 1000 |005a: const/16 v14, #int 16 // #10 │ │ +416f4c: 150f 803f |005c: const/high16 v15, #int 1065353216 // #3f80 │ │ +416f50: 3809 5b00 |005e: if-eqz v9, 00b9 // +005b │ │ +416f54: 121a |0060: const/4 v10, #int 1 // #1 │ │ +416f56: 32a9 2100 |0061: if-eq v9, v10, 0082 // +0021 │ │ +416f5a: 122a |0063: const/4 v10, #int 2 // #2 │ │ +416f5c: 32a9 0400 |0064: if-eq v9, v10, 0068 // +0004 │ │ +416f60: 12ea |0066: const/4 v10, #int -2 // #fe │ │ +416f62: 2867 |0067: goto 00ce // +0067 │ │ +416f64: 130a 1100 |0068: const/16 v10, #int 17 // #11 │ │ +416f68: 6e20 365b ac00 |006a: invoke-virtual {v12, v10}, Landroid/widget/TextView;.setGravity:(I)V // method@5b36 │ │ +416f6e: 220a 940a |006d: new-instance v10, Landroid/widget/TableRow$LayoutParams; // type@0a94 │ │ +416f72: 7040 f95a 5afd |006f: invoke-direct {v10, v5, v13, v15}, Landroid/widget/TableRow$LayoutParams;.:(IIF)V // method@5af9 │ │ +416f78: 6e20 3b5b ac00 |0072: invoke-virtual {v12, v10}, Landroid/widget/TextView;.setLayoutParams:(Landroid/view/ViewGroup$LayoutParams;)V // method@5b3b │ │ +416f7e: 6e30 485b 2c08 |0075: invoke-virtual {v12, v2, v8}, Landroid/widget/TextView;.setTag:(ILjava/lang/Object;)V // method@5b48 │ │ +416f84: 527a 325d |0078: iget v10, v7, Lorg/purple/smoke/SipHashIdElement;.m_fiascoKeys:I // field@5d32 │ │ +416f88: 7110 d55c 0a00 |007a: invoke-static {v10}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ +416f8e: 0c0a |007d: move-result-object v10 │ │ +416f90: 6e20 495b ac00 |007e: invoke-virtual {v12, v10}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +416f96: 28e5 |0081: goto 0066 // -001b │ │ +416f98: 557a 315d |0082: iget-boolean v10, v7, Lorg/purple/smoke/SipHashIdElement;.m_epksCompleted:Z // field@5d31 │ │ +416f9c: 380a 0d00 |0084: if-eqz v10, 0091 // +000d │ │ +416fa0: 557a 335d |0086: iget-boolean v10, v7, Lorg/purple/smoke/SipHashIdElement;.m_keysSigned:Z // field@5d33 │ │ +416fa4: 380a 0900 |0088: if-eqz v10, 0091 // +0009 │ │ +416fa8: 140a 7000 077f |008a: const v10, #float 1.79448e+38 // #7f070070 │ │ +416fae: 6e55 2f5b ac55 |008d: invoke-virtual {v12, v10, v5, v5, v5}, Landroid/widget/TextView;.setCompoundDrawablesWithIntrinsicBounds:(IIII)V // method@5b2f │ │ +416fb4: 2812 |0090: goto 00a2 // +0012 │ │ +416fb6: 557a 315d |0091: iget-boolean v10, v7, Lorg/purple/smoke/SipHashIdElement;.m_epksCompleted:Z // field@5d31 │ │ +416fba: 380a 0900 |0093: if-eqz v10, 009c // +0009 │ │ +416fbe: 140a 6f00 077f |0095: const v10, #float 1.79448e+38 // #7f07006f │ │ +416fc4: 6e55 2f5b ac55 |0098: invoke-virtual {v12, v10, v5, v5, v5}, Landroid/widget/TextView;.setCompoundDrawablesWithIntrinsicBounds:(IIII)V // method@5b2f │ │ +416fca: 2807 |009b: goto 00a2 // +0007 │ │ +416fcc: 140a 8c00 077f |009c: const v10, #float 1.79449e+38 // #7f07008c │ │ +416fd2: 6e55 2f5b ac55 |009f: invoke-virtual {v12, v10, v5, v5, v5}, Landroid/widget/TextView;.setCompoundDrawablesWithIntrinsicBounds:(IIII)V // method@5b2f │ │ +416fd8: 125a |00a2: const/4 v10, #int 5 // #5 │ │ +416fda: 6e20 2a5b ac00 |00a3: invoke-virtual {v12, v10}, Landroid/widget/TextView;.setCompoundDrawablePadding:(I)V // method@5b2a │ │ +416fe0: 6e20 365b ec00 |00a6: invoke-virtual {v12, v14}, Landroid/widget/TextView;.setGravity:(I)V // method@5b36 │ │ +416fe6: 220a 940a |00a9: new-instance v10, Landroid/widget/TableRow$LayoutParams; // type@0a94 │ │ +416fea: 12ed |00ab: const/4 v13, #int -2 // #fe │ │ +416fec: 7040 f95a 5afd |00ac: invoke-direct {v10, v5, v13, v15}, Landroid/widget/TableRow$LayoutParams;.:(IIF)V // method@5af9 │ │ +416ff2: 6e20 3b5b ac00 |00af: invoke-virtual {v12, v10}, Landroid/widget/TextView;.setLayoutParams:(Landroid/view/ViewGroup$LayoutParams;)V // method@5b3b │ │ +416ff8: 6e30 485b 2c08 |00b2: invoke-virtual {v12, v2, v8}, Landroid/widget/TextView;.setTag:(ILjava/lang/Object;)V // method@5b48 │ │ +416ffe: 6e20 495b 8c00 |00b5: invoke-virtual {v12, v8}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +417004: 28ae |00b8: goto 0066 // -0052 │ │ +417006: 6e20 365b ec00 |00b9: invoke-virtual {v12, v14}, Landroid/widget/TextView;.setGravity:(I)V // method@5b36 │ │ +41700c: 220e 940a |00bc: new-instance v14, Landroid/widget/TableRow$LayoutParams; // type@0a94 │ │ +417010: 7040 f95a 5efd |00be: invoke-direct {v14, v5, v13, v15}, Landroid/widget/TableRow$LayoutParams;.:(IIF)V // method@5af9 │ │ +417016: 6e20 3b5b ec00 |00c1: invoke-virtual {v12, v14}, Landroid/widget/TextView;.setLayoutParams:(Landroid/view/ViewGroup$LayoutParams;)V // method@5b3b │ │ +41701c: 547d 345d |00c4: iget-object v13, v7, Lorg/purple/smoke/SipHashIdElement;.m_name:Ljava/lang/String; // field@5d34 │ │ +417020: 6e30 485b 2c0d |00c6: invoke-virtual {v12, v2, v13}, Landroid/widget/TextView;.setTag:(ILjava/lang/Object;)V // method@5b48 │ │ +417026: 547d 345d |00c9: iget-object v13, v7, Lorg/purple/smoke/SipHashIdElement;.m_name:Ljava/lang/String; // field@5d34 │ │ +41702a: 6e20 495b dc00 |00cb: invoke-virtual {v12, v13}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +417030: 140d db00 087f |00ce: const v13, #float 1.80779e+38 // #7f0800db │ │ +417036: 557e 315d |00d1: iget-boolean v14, v7, Lorg/purple/smoke/SipHashIdElement;.m_epksCompleted:Z // field@5d31 │ │ +41703a: 7110 ff5b 0e00 |00d3: invoke-static {v14}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@5bff │ │ +417040: 0c0e |00d6: move-result-object v14 │ │ +417042: 6e30 485b dc0e |00d7: invoke-virtual {v12, v13, v14}, Landroid/widget/TextView;.setTag:(ILjava/lang/Object;)V // method@5b48 │ │ +417048: 6e20 fab8 c000 |00da: invoke-virtual {v0, v12}, Lorg/purple/smoke/Settings;.registerForContextMenu:(Landroid/view/View;)V // method@b8fa │ │ +41704e: 6e20 fb5a cb00 |00dd: invoke-virtual {v11, v12}, Landroid/widget/TableRow;.addView:(Landroid/view/View;)V // method@5afb │ │ +417054: d809 0901 |00e0: add-int/lit8 v9, v9, #int 1 // #01 │ │ +417058: 2900 6aff |00e2: goto/16 004c // -0096 │ │ +41705c: 6e30 f35a b306 |00e4: invoke-virtual {v3, v11, v6}, Landroid/widget/TableLayout;.addView:(Landroid/view/View;I)V // method@5af3 │ │ +417062: d806 0601 |00e7: add-int/lit8 v6, v6, #int 1 // #01 │ │ +417066: 2900 3fff |00e9: goto/16 0028 // -00c1 │ │ +41706a: 6e10 9d5f 0100 |00eb: invoke-virtual {v1}, Ljava/util/ArrayList;.clear:()V // method@5f9d │ │ +417070: 0e00 |00ee: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=1201 │ │ 0x0008 line=1202 │ │ 0x000f line=1204 │ │ 0x0015 line=1206 │ │ 0x001a line=1208 │ │ @@ -1541536,116 +1541535,116 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 16 │ │ ins : 1 │ │ outs : 12 │ │ insns size : 196 16-bit code units │ │ -417078: |[417078] org.purple.smoke.Settings.prepareCredentials:()V │ │ -417088: 6e10 e6b8 0f00 |0000: invoke-virtual {v15}, Lorg/purple/smoke/Settings;.isFinishing:()Z // method@b8e6 │ │ -41708e: 0a00 |0003: move-result v0 │ │ -417090: 3800 0300 |0004: if-eqz v0, 0007 // +0003 │ │ -417094: 0e00 |0006: return-void │ │ -417096: 1400 8500 087f |0007: const v0, #float 1.80778e+38 // #7f080085 │ │ -41709c: 6e20 dcb8 0f00 |000a: invoke-virtual {v15, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4170a2: 0c00 |000d: move-result-object v0 │ │ -4170a4: 1f00 8b0a |000e: check-cast v0, Landroid/widget/Spinner; // type@0a8b │ │ -4170a8: 1401 8700 087f |0010: const v1, #float 1.80778e+38 // #7f080087 │ │ -4170ae: 6e20 dcb8 1f00 |0013: invoke-virtual {v15, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4170b4: 0c01 |0016: move-result-object v1 │ │ -4170b6: 1f01 8b0a |0017: check-cast v1, Landroid/widget/Spinner; // type@0a8b │ │ -4170ba: 1402 ca00 087f |0019: const v2, #float 1.80779e+38 // #7f0800ca │ │ -4170c0: 6e20 dcb8 2f00 |001c: invoke-virtual {v15, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4170c6: 0c02 |001f: move-result-object v2 │ │ -4170c8: 072b |0020: move-object v11, v2 │ │ -4170ca: 1f0b 8b0a |0021: check-cast v11, Landroid/widget/Spinner; // type@0a8b │ │ -4170ce: 1402 cc00 087f |0023: const v2, #float 1.80779e+38 // #7f0800cc │ │ -4170d4: 6e20 dcb8 2f00 |0026: invoke-virtual {v15, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4170da: 0c02 |0029: move-result-object v2 │ │ -4170dc: 072c |002a: move-object v12, v2 │ │ -4170de: 1f0c 8b0a |002b: check-cast v12, Landroid/widget/Spinner; // type@0a8b │ │ -4170e2: 1402 c400 087f |002d: const v2, #float 1.80779e+38 // #7f0800c4 │ │ -4170e8: 6e20 dcb8 2f00 |0030: invoke-virtual {v15, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4170ee: 0c02 |0033: move-result-object v2 │ │ -4170f0: 072d |0034: move-object v13, v2 │ │ -4170f2: 1f0d 970a |0035: check-cast v13, Landroid/widget/TextView; // type@0a97 │ │ -4170f6: 1402 c500 087f |0037: const v2, #float 1.80779e+38 // #7f0800c5 │ │ -4170fc: 6e20 dcb8 2f00 |003a: invoke-virtual {v15, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -417102: 0c02 |003d: move-result-object v2 │ │ -417104: 072e |003e: move-object v14, v2 │ │ -417106: 1f0e 970a |003f: check-cast v14, Landroid/widget/TextView; // type@0a97 │ │ -41710a: 6e10 ba5a 0000 |0041: invoke-virtual {v0}, Landroid/widget/Spinner;.getSelectedItem:()Ljava/lang/Object; // method@5aba │ │ -417110: 0c00 |0044: move-result-object v0 │ │ -417112: 6e10 965c 0000 |0045: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@5c96 │ │ -417118: 0c00 |0048: move-result-object v0 │ │ -41711a: 7110 555c 0000 |0049: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@5c55 │ │ -417120: 0a00 |004c: move-result v0 │ │ -417122: 0108 |004d: move v8, v0 │ │ -417124: 2805 |004e: goto 0053 // +0005 │ │ -417126: 1300 e803 |004f: const/16 v0, #int 1000 // #3e8 │ │ -41712a: 1308 e803 |0051: const/16 v8, #int 1000 // #3e8 │ │ -41712e: 1210 |0053: const/4 v0, #int 1 // #1 │ │ -417130: 1202 |0054: const/4 v2, #int 0 // #0 │ │ -417132: 6e10 ba5a 0100 |0055: invoke-virtual {v1}, Landroid/widget/Spinner;.getSelectedItem:()Ljava/lang/Object; // method@5aba │ │ -417138: 0c01 |0058: move-result-object v1 │ │ -41713a: 6e10 965c 0100 |0059: invoke-virtual {v1}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@5c96 │ │ -417140: 0c01 |005c: move-result-object v1 │ │ -417142: 12f3 |005d: const/4 v3, #int -1 // #ff │ │ -417144: 6e10 bf5c 0100 |005e: invoke-virtual {v1}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ -41714a: 0a04 |0061: move-result v4 │ │ -41714c: 1405 18ea c4a4 |0062: const v5, #float -8.5398e-17 // #a4c4ea18 │ │ -417152: 3254 0300 |0065: if-eq v4, v5, 0068 // +0003 │ │ -417156: 280a |0067: goto 0071 // +000a │ │ -417158: 1a04 6d0e |0068: const-string v4, "Argon2id" // string@0e6d │ │ -41715c: 6e20 b85c 4100 |006a: invoke-virtual {v1, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -417162: 0a01 |006d: move-result v1 │ │ -417164: 3801 0300 |006e: if-eqz v1, 0071 // +0003 │ │ -417168: 1203 |0070: const/4 v3, #int 0 // #0 │ │ -41716a: 3803 0400 |0071: if-eqz v3, 0075 // +0004 │ │ -41716e: 1211 |0073: const/4 v1, #int 1 // #1 │ │ -417170: 2802 |0074: goto 0076 // +0002 │ │ -417172: 1201 |0075: const/4 v1, #int 0 // #0 │ │ -417174: 0119 |0076: move v9, v1 │ │ -417176: 2802 |0077: goto 0079 // +0002 │ │ -417178: 1219 |0078: const/4 v9, #int 1 // #1 │ │ -41717a: 1401 7500 087f |0079: const v1, #float 1.80777e+38 // #7f080075 │ │ -417180: 6e20 dcb8 1f00 |007c: invoke-virtual {v15, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -417186: 0c01 |007f: move-result-object v1 │ │ -417188: 071a |0080: move-object v10, v1 │ │ -41718a: 1f0a 7c0a |0081: check-cast v10, Landroid/widget/ProgressBar; // type@0a7c │ │ -41718e: 6e20 5a5a 0a00 |0083: invoke-virtual {v10, v0}, Landroid/widget/ProgressBar;.setIndeterminate:(Z)V // method@5a5a │ │ -417194: 6e20 5f5a 2a00 |0086: invoke-virtual {v10, v2}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ -41719a: 6e10 e4b8 0f00 |0089: invoke-virtual {v15}, Lorg/purple/smoke/Settings;.getWindow:()Landroid/view/Window; // method@b8e4 │ │ -4171a0: 0c00 |008c: move-result-object v0 │ │ -4171a2: 1301 1000 |008d: const/16 v1, #int 16 // #10 │ │ -4171a6: 6e30 9057 1001 |008f: invoke-virtual {v0, v1, v1}, Landroid/view/Window;.setFlags:(II)V // method@5790 │ │ -4171ac: 1400 9200 087f |0092: const v0, #float 1.80778e+38 // #7f080092 │ │ -4171b2: 6e20 dcb8 0f00 |0095: invoke-virtual {v15, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4171b8: 0c00 |0098: move-result-object v0 │ │ -4171ba: 7120 ddb7 2000 |0099: invoke-static {v0, v2}, Lorg/purple/smoke/Miscellaneous;.enableChildren:(Landroid/view/View;Z)V // method@b7dd │ │ -4171c0: 2200 f40a |009c: new-instance v0, Ljava/lang/Thread; // type@0af4 │ │ -4171c4: 2201 691a |009e: new-instance v1, Lorg/purple/smoke/Settings$3SingleShot; // type@1a69 │ │ -4171c8: 6e10 ba5a 0b00 |00a0: invoke-virtual {v11}, Landroid/widget/Spinner;.getSelectedItem:()Ljava/lang/Object; // method@5aba │ │ -4171ce: 0c02 |00a3: move-result-object v2 │ │ -4171d0: 6e10 965c 0200 |00a4: invoke-virtual {v2}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@5c96 │ │ -4171d6: 0c05 |00a7: move-result-object v5 │ │ -4171d8: 6e10 1c5b 0d00 |00a8: invoke-virtual {v13}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ -4171de: 0c02 |00ab: move-result-object v2 │ │ -4171e0: 7210 045c 0200 |00ac: invoke-interface {v2}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ -4171e6: 0c06 |00af: move-result-object v6 │ │ -4171e8: 6e10 ba5a 0c00 |00b0: invoke-virtual {v12}, Landroid/widget/Spinner;.getSelectedItem:()Ljava/lang/Object; // method@5aba │ │ -4171ee: 0c02 |00b3: move-result-object v2 │ │ -4171f0: 6e10 965c 0200 |00b4: invoke-virtual {v2}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@5c96 │ │ -4171f6: 0c07 |00b7: move-result-object v7 │ │ -4171f8: 0713 |00b8: move-object v3, v1 │ │ -4171fa: 07f4 |00b9: move-object v4, v15 │ │ -4171fc: 760c 8fb8 0300 |00ba: invoke-direct/range {v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14}, Lorg/purple/smoke/Settings$3SingleShot;.:(Lorg/purple/smoke/Settings;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IILandroid/widget/ProgressBar;Landroid/widget/Spinner;Landroid/widget/Spinner;Landroid/widget/TextView;Landroid/widget/TextView;)V // method@b88f │ │ -417202: 7020 0e5d 1000 |00bd: invoke-direct {v0, v1}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@5d0e │ │ -417208: 6e10 195d 0000 |00c0: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@5d19 │ │ -41720e: 0e00 |00c3: return-void │ │ +417074: |[417074] org.purple.smoke.Settings.prepareCredentials:()V │ │ +417084: 6e10 e6b8 0f00 |0000: invoke-virtual {v15}, Lorg/purple/smoke/Settings;.isFinishing:()Z // method@b8e6 │ │ +41708a: 0a00 |0003: move-result v0 │ │ +41708c: 3800 0300 |0004: if-eqz v0, 0007 // +0003 │ │ +417090: 0e00 |0006: return-void │ │ +417092: 1400 8500 087f |0007: const v0, #float 1.80778e+38 // #7f080085 │ │ +417098: 6e20 dcb8 0f00 |000a: invoke-virtual {v15, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +41709e: 0c00 |000d: move-result-object v0 │ │ +4170a0: 1f00 8b0a |000e: check-cast v0, Landroid/widget/Spinner; // type@0a8b │ │ +4170a4: 1401 8700 087f |0010: const v1, #float 1.80778e+38 // #7f080087 │ │ +4170aa: 6e20 dcb8 1f00 |0013: invoke-virtual {v15, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4170b0: 0c01 |0016: move-result-object v1 │ │ +4170b2: 1f01 8b0a |0017: check-cast v1, Landroid/widget/Spinner; // type@0a8b │ │ +4170b6: 1402 ca00 087f |0019: const v2, #float 1.80779e+38 // #7f0800ca │ │ +4170bc: 6e20 dcb8 2f00 |001c: invoke-virtual {v15, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4170c2: 0c02 |001f: move-result-object v2 │ │ +4170c4: 072b |0020: move-object v11, v2 │ │ +4170c6: 1f0b 8b0a |0021: check-cast v11, Landroid/widget/Spinner; // type@0a8b │ │ +4170ca: 1402 cc00 087f |0023: const v2, #float 1.80779e+38 // #7f0800cc │ │ +4170d0: 6e20 dcb8 2f00 |0026: invoke-virtual {v15, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4170d6: 0c02 |0029: move-result-object v2 │ │ +4170d8: 072c |002a: move-object v12, v2 │ │ +4170da: 1f0c 8b0a |002b: check-cast v12, Landroid/widget/Spinner; // type@0a8b │ │ +4170de: 1402 c400 087f |002d: const v2, #float 1.80779e+38 // #7f0800c4 │ │ +4170e4: 6e20 dcb8 2f00 |0030: invoke-virtual {v15, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4170ea: 0c02 |0033: move-result-object v2 │ │ +4170ec: 072d |0034: move-object v13, v2 │ │ +4170ee: 1f0d 970a |0035: check-cast v13, Landroid/widget/TextView; // type@0a97 │ │ +4170f2: 1402 c500 087f |0037: const v2, #float 1.80779e+38 // #7f0800c5 │ │ +4170f8: 6e20 dcb8 2f00 |003a: invoke-virtual {v15, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4170fe: 0c02 |003d: move-result-object v2 │ │ +417100: 072e |003e: move-object v14, v2 │ │ +417102: 1f0e 970a |003f: check-cast v14, Landroid/widget/TextView; // type@0a97 │ │ +417106: 6e10 ba5a 0000 |0041: invoke-virtual {v0}, Landroid/widget/Spinner;.getSelectedItem:()Ljava/lang/Object; // method@5aba │ │ +41710c: 0c00 |0044: move-result-object v0 │ │ +41710e: 6e10 965c 0000 |0045: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@5c96 │ │ +417114: 0c00 |0048: move-result-object v0 │ │ +417116: 7110 555c 0000 |0049: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@5c55 │ │ +41711c: 0a00 |004c: move-result v0 │ │ +41711e: 0108 |004d: move v8, v0 │ │ +417120: 2805 |004e: goto 0053 // +0005 │ │ +417122: 1300 e803 |004f: const/16 v0, #int 1000 // #3e8 │ │ +417126: 1308 e803 |0051: const/16 v8, #int 1000 // #3e8 │ │ +41712a: 1210 |0053: const/4 v0, #int 1 // #1 │ │ +41712c: 1202 |0054: const/4 v2, #int 0 // #0 │ │ +41712e: 6e10 ba5a 0100 |0055: invoke-virtual {v1}, Landroid/widget/Spinner;.getSelectedItem:()Ljava/lang/Object; // method@5aba │ │ +417134: 0c01 |0058: move-result-object v1 │ │ +417136: 6e10 965c 0100 |0059: invoke-virtual {v1}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@5c96 │ │ +41713c: 0c01 |005c: move-result-object v1 │ │ +41713e: 12f3 |005d: const/4 v3, #int -1 // #ff │ │ +417140: 6e10 bf5c 0100 |005e: invoke-virtual {v1}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ +417146: 0a04 |0061: move-result v4 │ │ +417148: 1405 18ea c4a4 |0062: const v5, #float -8.5398e-17 // #a4c4ea18 │ │ +41714e: 3254 0300 |0065: if-eq v4, v5, 0068 // +0003 │ │ +417152: 280a |0067: goto 0071 // +000a │ │ +417154: 1a04 6d0e |0068: const-string v4, "Argon2id" // string@0e6d │ │ +417158: 6e20 b85c 4100 |006a: invoke-virtual {v1, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41715e: 0a01 |006d: move-result v1 │ │ +417160: 3801 0300 |006e: if-eqz v1, 0071 // +0003 │ │ +417164: 1203 |0070: const/4 v3, #int 0 // #0 │ │ +417166: 3803 0400 |0071: if-eqz v3, 0075 // +0004 │ │ +41716a: 1211 |0073: const/4 v1, #int 1 // #1 │ │ +41716c: 2802 |0074: goto 0076 // +0002 │ │ +41716e: 1201 |0075: const/4 v1, #int 0 // #0 │ │ +417170: 0119 |0076: move v9, v1 │ │ +417172: 2802 |0077: goto 0079 // +0002 │ │ +417174: 1219 |0078: const/4 v9, #int 1 // #1 │ │ +417176: 1401 7500 087f |0079: const v1, #float 1.80777e+38 // #7f080075 │ │ +41717c: 6e20 dcb8 1f00 |007c: invoke-virtual {v15, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +417182: 0c01 |007f: move-result-object v1 │ │ +417184: 071a |0080: move-object v10, v1 │ │ +417186: 1f0a 7c0a |0081: check-cast v10, Landroid/widget/ProgressBar; // type@0a7c │ │ +41718a: 6e20 5a5a 0a00 |0083: invoke-virtual {v10, v0}, Landroid/widget/ProgressBar;.setIndeterminate:(Z)V // method@5a5a │ │ +417190: 6e20 5f5a 2a00 |0086: invoke-virtual {v10, v2}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ +417196: 6e10 e4b8 0f00 |0089: invoke-virtual {v15}, Lorg/purple/smoke/Settings;.getWindow:()Landroid/view/Window; // method@b8e4 │ │ +41719c: 0c00 |008c: move-result-object v0 │ │ +41719e: 1301 1000 |008d: const/16 v1, #int 16 // #10 │ │ +4171a2: 6e30 9057 1001 |008f: invoke-virtual {v0, v1, v1}, Landroid/view/Window;.setFlags:(II)V // method@5790 │ │ +4171a8: 1400 9200 087f |0092: const v0, #float 1.80778e+38 // #7f080092 │ │ +4171ae: 6e20 dcb8 0f00 |0095: invoke-virtual {v15, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4171b4: 0c00 |0098: move-result-object v0 │ │ +4171b6: 7120 ddb7 2000 |0099: invoke-static {v0, v2}, Lorg/purple/smoke/Miscellaneous;.enableChildren:(Landroid/view/View;Z)V // method@b7dd │ │ +4171bc: 2200 f40a |009c: new-instance v0, Ljava/lang/Thread; // type@0af4 │ │ +4171c0: 2201 691a |009e: new-instance v1, Lorg/purple/smoke/Settings$3SingleShot; // type@1a69 │ │ +4171c4: 6e10 ba5a 0b00 |00a0: invoke-virtual {v11}, Landroid/widget/Spinner;.getSelectedItem:()Ljava/lang/Object; // method@5aba │ │ +4171ca: 0c02 |00a3: move-result-object v2 │ │ +4171cc: 6e10 965c 0200 |00a4: invoke-virtual {v2}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@5c96 │ │ +4171d2: 0c05 |00a7: move-result-object v5 │ │ +4171d4: 6e10 1c5b 0d00 |00a8: invoke-virtual {v13}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ +4171da: 0c02 |00ab: move-result-object v2 │ │ +4171dc: 7210 045c 0200 |00ac: invoke-interface {v2}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ +4171e2: 0c06 |00af: move-result-object v6 │ │ +4171e4: 6e10 ba5a 0c00 |00b0: invoke-virtual {v12}, Landroid/widget/Spinner;.getSelectedItem:()Ljava/lang/Object; // method@5aba │ │ +4171ea: 0c02 |00b3: move-result-object v2 │ │ +4171ec: 6e10 965c 0200 |00b4: invoke-virtual {v2}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@5c96 │ │ +4171f2: 0c07 |00b7: move-result-object v7 │ │ +4171f4: 0713 |00b8: move-object v3, v1 │ │ +4171f6: 07f4 |00b9: move-object v4, v15 │ │ +4171f8: 760c 8fb8 0300 |00ba: invoke-direct/range {v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14}, Lorg/purple/smoke/Settings$3SingleShot;.:(Lorg/purple/smoke/Settings;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IILandroid/widget/ProgressBar;Landroid/widget/Spinner;Landroid/widget/Spinner;Landroid/widget/TextView;Landroid/widget/TextView;)V // method@b88f │ │ +4171fe: 7020 0e5d 1000 |00bd: invoke-direct {v0, v1}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@5d0e │ │ +417204: 6e10 195d 0000 |00c0: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@5d19 │ │ +41720a: 0e00 |00c3: return-void │ │ catches : 2 │ │ 0x0041 - 0x004d │ │ Ljava/lang/Exception; -> 0x004f │ │ 0x0055 - 0x006e │ │ Ljava/lang/Exception; -> 0x0078 │ │ positions : │ │ 0x0000 line=1295 │ │ @@ -1541675,28 +1541674,28 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 25 16-bit code units │ │ -41722c: |[41722c] org.purple.smoke.Settings.prepareForegroundService:()V │ │ -41723c: 5430 1a5d |0000: iget-object v0, v3, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -417240: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -417242: 1a02 f167 |0003: const-string v2, "foreground_service" // string@67f1 │ │ -417246: 6e30 0eb6 1002 |0005: invoke-virtual {v0, v1, v2}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ -41724c: 0c00 |0008: move-result-object v0 │ │ -41724e: 1a01 c066 |0009: const-string v1, "false" // string@66c0 │ │ -417252: 6e20 b85c 1000 |000b: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -417258: 0a00 |000e: move-result v0 │ │ -41725a: 3800 0600 |000f: if-eqz v0, 0015 // +0006 │ │ -41725e: 7110 2db9 0300 |0011: invoke-static {v3}, Lorg/purple/smoke/SmokeService;.stopForegroundTask:(Landroid/content/Context;)V // method@b92d │ │ -417264: 2804 |0014: goto 0018 // +0004 │ │ -417266: 7110 2ab9 0300 |0015: invoke-static {v3}, Lorg/purple/smoke/SmokeService;.startForegroundTask:(Landroid/content/Context;)V // method@b92a │ │ -41726c: 0e00 |0018: return-void │ │ +417228: |[417228] org.purple.smoke.Settings.prepareForegroundService:()V │ │ +417238: 5430 1a5d |0000: iget-object v0, v3, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +41723c: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +41723e: 1a02 f167 |0003: const-string v2, "foreground_service" // string@67f1 │ │ +417242: 6e30 0eb6 1002 |0005: invoke-virtual {v0, v1, v2}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ +417248: 0c00 |0008: move-result-object v0 │ │ +41724a: 1a01 c066 |0009: const-string v1, "false" // string@66c0 │ │ +41724e: 6e20 b85c 1000 |000b: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +417254: 0a00 |000e: move-result v0 │ │ +417256: 3800 0600 |000f: if-eqz v0, 0015 // +0006 │ │ +41725a: 7110 2db9 0300 |0011: invoke-static {v3}, Lorg/purple/smoke/SmokeService;.stopForegroundTask:(Landroid/content/Context;)V // method@b92d │ │ +417260: 2804 |0014: goto 0018 // +0004 │ │ +417262: 7110 2ab9 0300 |0015: invoke-static {v3}, Lorg/purple/smoke/SmokeService;.startForegroundTask:(Landroid/content/Context;)V // method@b92a │ │ +417268: 0e00 |0018: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1643 │ │ 0x0005 line=1644 │ │ 0x0011 line=1645 │ │ 0x0015 line=1647 │ │ locals : │ │ @@ -1541707,237 +1541706,237 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 538 16-bit code units │ │ -417270: |[417270] org.purple.smoke.Settings.prepareListeners:()V │ │ -417280: 1400 ae00 087f |0000: const v0, #float 1.80779e+38 // #7f0800ae │ │ -417286: 6e20 dcb8 0500 |0003: invoke-virtual {v5, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41728c: 0c00 |0006: move-result-object v0 │ │ -41728e: 1f00 8b0a |0007: check-cast v0, Landroid/widget/Spinner; // type@0a8b │ │ -417292: 1401 bd00 087f |0009: const v1, #float 1.80779e+38 // #7f0800bd │ │ -417298: 6e20 dcb8 1500 |000c: invoke-virtual {v5, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41729e: 0c01 |000f: move-result-object v1 │ │ -4172a0: 1f01 970a |0010: check-cast v1, Landroid/widget/TextView; // type@0a97 │ │ -4172a4: 1402 1e00 087f |0012: const v2, #float 1.80776e+38 // #7f08001e │ │ -4172aa: 6e20 dcb8 2500 |0015: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4172b0: 0c02 |0018: move-result-object v2 │ │ -4172b2: 1f02 5e0a |0019: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -4172b6: 2203 6e1a |001b: new-instance v3, Lorg/purple/smoke/Settings$5; // type@1a6e │ │ -4172ba: 7020 9cb8 5300 |001d: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$5;.:(Lorg/purple/smoke/Settings;)V // method@b89c │ │ -4172c0: 6e20 e258 3200 |0020: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ -4172c6: 1402 1f00 087f |0023: const v2, #float 1.80776e+38 // #7f08001f │ │ -4172cc: 6e20 dcb8 2500 |0026: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4172d2: 0c02 |0029: move-result-object v2 │ │ -4172d4: 1f02 5e0a |002a: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -4172d8: 2203 711a |002c: new-instance v3, Lorg/purple/smoke/Settings$6; // type@1a71 │ │ -4172dc: 7020 a3b8 5300 |002e: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$6;.:(Lorg/purple/smoke/Settings;)V // method@b8a3 │ │ -4172e2: 6e20 e258 3200 |0031: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ -4172e8: 1402 4000 087f |0034: const v2, #float 1.80776e+38 // #7f080040 │ │ -4172ee: 6e20 dcb8 2500 |0037: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4172f4: 0c02 |003a: move-result-object v2 │ │ -4172f6: 1f02 5e0a |003b: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -4172fa: 2203 741a |003d: new-instance v3, Lorg/purple/smoke/Settings$7; // type@1a74 │ │ -4172fe: 7020 aab8 5300 |003f: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$7;.:(Lorg/purple/smoke/Settings;)V // method@b8aa │ │ -417304: 6e20 e258 3200 |0042: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ -41730a: 1402 5d00 087f |0045: const v2, #float 1.80777e+38 // #7f08005d │ │ -417310: 6e20 dcb8 2500 |0048: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -417316: 0c02 |004b: move-result-object v2 │ │ -417318: 1f02 5e0a |004c: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -41731c: 2203 771a |004e: new-instance v3, Lorg/purple/smoke/Settings$8; // type@1a77 │ │ -417320: 7020 b5b8 5300 |0050: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$8;.:(Lorg/purple/smoke/Settings;)V // method@b8b5 │ │ -417326: 6e20 e258 3200 |0053: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ -41732c: 1402 6400 087f |0056: const v2, #float 1.80777e+38 // #7f080064 │ │ -417332: 6e20 dcb8 2500 |0059: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -417338: 0c02 |005c: move-result-object v2 │ │ -41733a: 1f02 5e0a |005d: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -41733e: 2203 781a |005f: new-instance v3, Lorg/purple/smoke/Settings$9; // type@1a78 │ │ -417342: 7020 b7b8 5300 |0061: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$9;.:(Lorg/purple/smoke/Settings;)V // method@b8b7 │ │ -417348: 6e20 e258 3200 |0064: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ -41734e: 1402 7400 087f |0067: const v2, #float 1.80777e+38 // #7f080074 │ │ -417354: 6e20 dcb8 2500 |006a: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41735a: 0c02 |006d: move-result-object v2 │ │ -41735c: 1f02 5e0a |006e: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -417360: 2203 421a |0070: new-instance v3, Lorg/purple/smoke/Settings$10; // type@1a42 │ │ -417364: 7020 3cb8 5300 |0072: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$10;.:(Lorg/purple/smoke/Settings;)V // method@b83c │ │ -41736a: 6e20 e258 3200 |0075: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ -417370: 1402 8200 087f |0078: const v2, #float 1.80778e+38 // #7f080082 │ │ -417376: 6e20 dcb8 2500 |007b: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41737c: 0c02 |007e: move-result-object v2 │ │ -41737e: 1f02 5e0a |007f: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -417382: 2203 431a |0081: new-instance v3, Lorg/purple/smoke/Settings$11; // type@1a43 │ │ -417386: 7020 3eb8 5300 |0083: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$11;.:(Lorg/purple/smoke/Settings;)V // method@b83e │ │ -41738c: 6e20 e258 3200 |0086: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ -417392: 1402 b800 087f |0089: const v2, #float 1.80779e+38 // #7f0800b8 │ │ -417398: 6e20 dcb8 2500 |008c: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41739e: 0c02 |008f: move-result-object v2 │ │ -4173a0: 1f02 5e0a |0090: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -4173a4: 2203 441a |0092: new-instance v3, Lorg/purple/smoke/Settings$12; // type@1a44 │ │ -4173a8: 7020 40b8 5300 |0094: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$12;.:(Lorg/purple/smoke/Settings;)V // method@b840 │ │ -4173ae: 6e20 e258 3200 |0097: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ -4173b4: 1402 c200 087f |009a: const v2, #float 1.80779e+38 // #7f0800c2 │ │ -4173ba: 6e20 dcb8 2500 |009d: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4173c0: 0c02 |00a0: move-result-object v2 │ │ -4173c2: 1f02 5e0a |00a1: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -4173c6: 2203 451a |00a3: new-instance v3, Lorg/purple/smoke/Settings$13; // type@1a45 │ │ -4173ca: 7020 42b8 5300 |00a5: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$13;.:(Lorg/purple/smoke/Settings;)V // method@b842 │ │ -4173d0: 6e20 e258 3200 |00a8: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ -4173d6: 1402 da00 087f |00ab: const v2, #float 1.80779e+38 // #7f0800da │ │ -4173dc: 6e20 dcb8 2500 |00ae: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4173e2: 0c02 |00b1: move-result-object v2 │ │ -4173e4: 1f02 5e0a |00b2: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -4173e8: 2203 461a |00b4: new-instance v3, Lorg/purple/smoke/Settings$14; // type@1a46 │ │ -4173ec: 7020 44b8 5300 |00b6: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$14;.:(Lorg/purple/smoke/Settings;)V // method@b844 │ │ -4173f2: 6e20 e258 3200 |00b9: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ -4173f8: 1402 db00 087f |00bc: const v2, #float 1.80779e+38 // #7f0800db │ │ -4173fe: 6e20 dcb8 2500 |00bf: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -417404: 0c02 |00c2: move-result-object v2 │ │ -417406: 1f02 5e0a |00c3: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -41740a: 2203 471a |00c5: new-instance v3, Lorg/purple/smoke/Settings$15; // type@1a47 │ │ -41740e: 7020 46b8 5300 |00c7: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$15;.:(Lorg/purple/smoke/Settings;)V // method@b846 │ │ -417414: 6e20 e258 3200 |00ca: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ -41741a: 2202 481a |00cd: new-instance v2, Lorg/purple/smoke/Settings$16; // type@1a48 │ │ -41741e: 7020 48b8 5200 |00cf: invoke-direct {v2, v5}, Lorg/purple/smoke/Settings$16;.:(Lorg/purple/smoke/Settings;)V // method@b848 │ │ -417424: 1403 de00 087f |00d2: const v3, #float 1.8078e+38 // #7f0800de │ │ -41742a: 6e20 dcb8 3500 |00d5: invoke-virtual {v5, v3}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -417430: 0c03 |00d8: move-result-object v3 │ │ -417432: 1f03 5e0a |00d9: check-cast v3, Landroid/widget/Button; // type@0a5e │ │ -417436: 2204 491a |00db: new-instance v4, Lorg/purple/smoke/Settings$17; // type@1a49 │ │ -41743a: 7030 4ab8 5402 |00dd: invoke-direct {v4, v5, v2}, Lorg/purple/smoke/Settings$17;.:(Lorg/purple/smoke/Settings;Landroid/content/DialogInterface$OnCancelListener;)V // method@b84a │ │ -417440: 6e20 e258 4300 |00e0: invoke-virtual {v3, v4}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ -417446: 1402 e000 087f |00e3: const v2, #float 1.8078e+38 // #7f0800e0 │ │ -41744c: 6e20 dcb8 2500 |00e6: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -417452: 0c02 |00e9: move-result-object v2 │ │ -417454: 1f02 5e0a |00ea: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -417458: 2203 4a1a |00ec: new-instance v3, Lorg/purple/smoke/Settings$18; // type@1a4a │ │ -41745c: 7020 4cb8 5300 |00ee: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$18;.:(Lorg/purple/smoke/Settings;)V // method@b84c │ │ -417462: 6e20 e258 3200 |00f1: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ -417468: 1402 e100 087f |00f4: const v2, #float 1.8078e+38 // #7f0800e1 │ │ -41746e: 6e20 dcb8 2500 |00f7: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -417474: 0c02 |00fa: move-result-object v2 │ │ -417476: 1f02 5e0a |00fb: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -41747a: 2203 4b1a |00fd: new-instance v3, Lorg/purple/smoke/Settings$19; // type@1a4b │ │ -41747e: 7020 4eb8 5300 |00ff: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$19;.:(Lorg/purple/smoke/Settings;)V // method@b84e │ │ -417484: 6e20 e258 3200 |0102: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ -41748a: 2202 4f1a |0105: new-instance v2, Lorg/purple/smoke/Settings$20; // type@1a4f │ │ -41748e: 7020 57b8 5200 |0107: invoke-direct {v2, v5}, Lorg/purple/smoke/Settings$20;.:(Lorg/purple/smoke/Settings;)V // method@b857 │ │ -417494: 1403 e600 087f |010a: const v3, #float 1.8078e+38 // #7f0800e6 │ │ -41749a: 6e20 dcb8 3500 |010d: invoke-virtual {v5, v3}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4174a0: 0c03 |0110: move-result-object v3 │ │ -4174a2: 1f03 5e0a |0111: check-cast v3, Landroid/widget/Button; // type@0a5e │ │ -4174a6: 2204 501a |0113: new-instance v4, Lorg/purple/smoke/Settings$21; // type@1a50 │ │ -4174aa: 7020 59b8 5400 |0115: invoke-direct {v4, v5}, Lorg/purple/smoke/Settings$21;.:(Lorg/purple/smoke/Settings;)V // method@b859 │ │ -4174b0: 6e20 e258 4300 |0118: invoke-virtual {v3, v4}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ -4174b6: 1403 e800 087f |011b: const v3, #float 1.8078e+38 // #7f0800e8 │ │ -4174bc: 6e20 dcb8 3500 |011e: invoke-virtual {v5, v3}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4174c2: 0c03 |0121: move-result-object v3 │ │ -4174c4: 1f03 5e0a |0122: check-cast v3, Landroid/widget/Button; // type@0a5e │ │ -4174c8: 2204 511a |0124: new-instance v4, Lorg/purple/smoke/Settings$22; // type@1a51 │ │ -4174cc: 7020 5bb8 5400 |0126: invoke-direct {v4, v5}, Lorg/purple/smoke/Settings$22;.:(Lorg/purple/smoke/Settings;)V // method@b85b │ │ -4174d2: 6e20 e258 4300 |0129: invoke-virtual {v3, v4}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ -4174d8: 1403 ff00 087f |012c: const v3, #float 1.8078e+38 // #7f0800ff │ │ -4174de: 6e20 dcb8 3500 |012f: invoke-virtual {v5, v3}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4174e4: 0c03 |0132: move-result-object v3 │ │ -4174e6: 1f03 5e0a |0133: check-cast v3, Landroid/widget/Button; // type@0a5e │ │ -4174ea: 2204 521a |0135: new-instance v4, Lorg/purple/smoke/Settings$23; // type@1a52 │ │ -4174ee: 7030 5db8 5402 |0137: invoke-direct {v4, v5, v2}, Lorg/purple/smoke/Settings$23;.:(Lorg/purple/smoke/Settings;Landroid/content/DialogInterface$OnCancelListener;)V // method@b85d │ │ -4174f4: 6e20 e258 4300 |013a: invoke-virtual {v3, v4}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ -4174fa: 1402 0201 087f |013d: const v2, #float 1.8078e+38 // #7f080102 │ │ -417500: 6e20 dcb8 2500 |0140: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -417506: 0c02 |0143: move-result-object v2 │ │ -417508: 1f02 5e0a |0144: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -41750c: 2203 531a |0146: new-instance v3, Lorg/purple/smoke/Settings$24; // type@1a53 │ │ -417510: 7020 5fb8 5300 |0148: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$24;.:(Lorg/purple/smoke/Settings;)V // method@b85f │ │ -417516: 6e20 e258 3200 |014b: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ -41751c: 1402 0901 087f |014e: const v2, #float 1.8078e+38 // #7f080109 │ │ -417522: 6e20 dcb8 2500 |0151: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -417528: 0c02 |0154: move-result-object v2 │ │ -41752a: 1f02 5e0a |0155: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -41752e: 2203 541a |0157: new-instance v3, Lorg/purple/smoke/Settings$25; // type@1a54 │ │ -417532: 7020 61b8 5300 |0159: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$25;.:(Lorg/purple/smoke/Settings;)V // method@b861 │ │ -417538: 6e20 e258 3200 |015c: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ -41753e: 1402 0a01 087f |015f: const v2, #float 1.8078e+38 // #7f08010a │ │ -417544: 6e20 dcb8 2500 |0162: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41754a: 0c02 |0165: move-result-object v2 │ │ -41754c: 1f02 5e0a |0166: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -417550: 2203 551a |0168: new-instance v3, Lorg/purple/smoke/Settings$26; // type@1a55 │ │ -417554: 7020 63b8 5300 |016a: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$26;.:(Lorg/purple/smoke/Settings;)V // method@b863 │ │ -41755a: 6e20 e258 3200 |016d: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ -417560: 1402 2500 087f |0170: const v2, #float 1.80776e+38 // #7f080025 │ │ -417566: 6e20 dcb8 2500 |0173: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41756c: 0c02 |0176: move-result-object v2 │ │ -41756e: 1f02 8d0a |0177: check-cast v2, Landroid/widget/Switch; // type@0a8d │ │ -417572: 2203 561a |0179: new-instance v3, Lorg/purple/smoke/Settings$27; // type@1a56 │ │ -417576: 7020 65b8 5300 |017b: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$27;.:(Lorg/purple/smoke/Settings;)V // method@b865 │ │ -41757c: 6e20 e25a 3200 |017e: invoke-virtual {v2, v3}, Landroid/widget/Switch;.setOnCheckedChangeListener:(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V // method@5ae2 │ │ -417582: 1402 2c00 087f |0181: const v2, #float 1.80776e+38 // #7f08002c │ │ -417588: 6e20 dcb8 2500 |0184: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41758e: 0c02 |0187: move-result-object v2 │ │ -417590: 1f02 8d0a |0188: check-cast v2, Landroid/widget/Switch; // type@0a8d │ │ -417594: 2203 571a |018a: new-instance v3, Lorg/purple/smoke/Settings$28; // type@1a57 │ │ -417598: 7020 67b8 5300 |018c: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$28;.:(Lorg/purple/smoke/Settings;)V // method@b867 │ │ -41759e: 6e20 e25a 3200 |018f: invoke-virtual {v2, v3}, Landroid/widget/Switch;.setOnCheckedChangeListener:(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V // method@5ae2 │ │ -4175a4: 1402 5c00 087f |0192: const v2, #float 1.80777e+38 // #7f08005c │ │ -4175aa: 6e20 dcb8 2500 |0195: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4175b0: 0c02 |0198: move-result-object v2 │ │ -4175b2: 1f02 8d0a |0199: check-cast v2, Landroid/widget/Switch; // type@0a8d │ │ -4175b6: 2203 581a |019b: new-instance v3, Lorg/purple/smoke/Settings$29; // type@1a58 │ │ -4175ba: 7020 69b8 5300 |019d: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$29;.:(Lorg/purple/smoke/Settings;)V // method@b869 │ │ -4175c0: 6e20 e25a 3200 |01a0: invoke-virtual {v2, v3}, Landroid/widget/Switch;.setOnCheckedChangeListener:(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V // method@5ae2 │ │ -4175c6: 1402 7300 087f |01a3: const v2, #float 1.80777e+38 // #7f080073 │ │ -4175cc: 6e20 dcb8 2500 |01a6: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4175d2: 0c02 |01a9: move-result-object v2 │ │ -4175d4: 1f02 8d0a |01aa: check-cast v2, Landroid/widget/Switch; // type@0a8d │ │ -4175d8: 2203 5d1a |01ac: new-instance v3, Lorg/purple/smoke/Settings$30; // type@1a5d │ │ -4175dc: 7020 74b8 5300 |01ae: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$30;.:(Lorg/purple/smoke/Settings;)V // method@b874 │ │ -4175e2: 6e20 e25a 3200 |01b1: invoke-virtual {v2, v3}, Landroid/widget/Switch;.setOnCheckedChangeListener:(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V // method@5ae2 │ │ -4175e8: 1402 a600 087f |01b4: const v2, #float 1.80778e+38 // #7f0800a6 │ │ -4175ee: 6e20 dcb8 2500 |01b7: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4175f4: 0c02 |01ba: move-result-object v2 │ │ -4175f6: 1f02 8d0a |01bb: check-cast v2, Landroid/widget/Switch; // type@0a8d │ │ -4175fa: 2203 5e1a |01bd: new-instance v3, Lorg/purple/smoke/Settings$31; // type@1a5e │ │ -4175fe: 7020 76b8 5300 |01bf: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$31;.:(Lorg/purple/smoke/Settings;)V // method@b876 │ │ -417604: 6e20 e25a 3200 |01c2: invoke-virtual {v2, v3}, Landroid/widget/Switch;.setOnCheckedChangeListener:(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V // method@5ae2 │ │ -41760a: 1402 b600 087f |01c5: const v2, #float 1.80779e+38 // #7f0800b6 │ │ -417610: 6e20 dcb8 2500 |01c8: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -417616: 0c02 |01cb: move-result-object v2 │ │ -417618: 1f02 8d0a |01cc: check-cast v2, Landroid/widget/Switch; // type@0a8d │ │ -41761c: 2203 5f1a |01ce: new-instance v3, Lorg/purple/smoke/Settings$32; // type@1a5f │ │ -417620: 7020 78b8 5300 |01d0: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$32;.:(Lorg/purple/smoke/Settings;)V // method@b878 │ │ -417626: 6e20 e25a 3200 |01d3: invoke-virtual {v2, v3}, Landroid/widget/Switch;.setOnCheckedChangeListener:(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V // method@5ae2 │ │ -41762c: 1402 d500 087f |01d6: const v2, #float 1.80779e+38 // #7f0800d5 │ │ -417632: 6e20 dcb8 2500 |01d9: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -417638: 0c02 |01dc: move-result-object v2 │ │ -41763a: 1f02 8d0a |01dd: check-cast v2, Landroid/widget/Switch; // type@0a8d │ │ -41763e: 2203 601a |01df: new-instance v3, Lorg/purple/smoke/Settings$33; // type@1a60 │ │ -417642: 7020 7ab8 5300 |01e1: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$33;.:(Lorg/purple/smoke/Settings;)V // method@b87a │ │ -417648: 6e20 e25a 3200 |01e4: invoke-virtual {v2, v3}, Landroid/widget/Switch;.setOnCheckedChangeListener:(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V // method@5ae2 │ │ -41764e: 1402 0801 087f |01e7: const v2, #float 1.8078e+38 // #7f080108 │ │ -417654: 6e20 dcb8 2500 |01ea: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41765a: 0c02 |01ed: move-result-object v2 │ │ -41765c: 1f02 8d0a |01ee: check-cast v2, Landroid/widget/Switch; // type@0a8d │ │ -417660: 2203 611a |01f0: new-instance v3, Lorg/purple/smoke/Settings$34; // type@1a61 │ │ -417664: 7020 7cb8 5300 |01f2: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$34;.:(Lorg/purple/smoke/Settings;)V // method@b87c │ │ -41766a: 6e20 e25a 3200 |01f5: invoke-virtual {v2, v3}, Landroid/widget/Switch;.setOnCheckedChangeListener:(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V // method@5ae2 │ │ -417670: 1402 0c01 087f |01f8: const v2, #float 1.8078e+38 // #7f08010c │ │ -417676: 6e20 dcb8 2500 |01fb: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41767c: 0c02 |01fe: move-result-object v2 │ │ -41767e: 1f02 8d0a |01ff: check-cast v2, Landroid/widget/Switch; // type@0a8d │ │ -417682: 2203 621a |0201: new-instance v3, Lorg/purple/smoke/Settings$35; // type@1a62 │ │ -417686: 7020 7eb8 5300 |0203: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$35;.:(Lorg/purple/smoke/Settings;)V // method@b87e │ │ -41768c: 6e20 e25a 3200 |0206: invoke-virtual {v2, v3}, Landroid/widget/Switch;.setOnCheckedChangeListener:(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V // method@5ae2 │ │ -417692: 2202 631a |0209: new-instance v2, Lorg/purple/smoke/Settings$36; // type@1a63 │ │ -417696: 7020 80b8 5200 |020b: invoke-direct {v2, v5}, Lorg/purple/smoke/Settings$36;.:(Lorg/purple/smoke/Settings;)V // method@b880 │ │ -41769c: 6e20 c95a 2000 |020e: invoke-virtual {v0, v2}, Landroid/widget/Spinner;.setOnItemSelectedListener:(Landroid/widget/AdapterView$OnItemSelectedListener;)V // method@5ac9 │ │ -4176a2: 2200 641a |0211: new-instance v0, Lorg/purple/smoke/Settings$37; // type@1a64 │ │ -4176a6: 7020 83b8 5000 |0213: invoke-direct {v0, v5}, Lorg/purple/smoke/Settings$37;.:(Lorg/purple/smoke/Settings;)V // method@b883 │ │ -4176ac: 6e20 025b 0100 |0216: invoke-virtual {v1, v0}, Landroid/widget/TextView;.addTextChangedListener:(Landroid/text/TextWatcher;)V // method@5b02 │ │ -4176b2: 0e00 |0219: return-void │ │ +41726c: |[41726c] org.purple.smoke.Settings.prepareListeners:()V │ │ +41727c: 1400 ae00 087f |0000: const v0, #float 1.80779e+38 // #7f0800ae │ │ +417282: 6e20 dcb8 0500 |0003: invoke-virtual {v5, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +417288: 0c00 |0006: move-result-object v0 │ │ +41728a: 1f00 8b0a |0007: check-cast v0, Landroid/widget/Spinner; // type@0a8b │ │ +41728e: 1401 bd00 087f |0009: const v1, #float 1.80779e+38 // #7f0800bd │ │ +417294: 6e20 dcb8 1500 |000c: invoke-virtual {v5, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +41729a: 0c01 |000f: move-result-object v1 │ │ +41729c: 1f01 970a |0010: check-cast v1, Landroid/widget/TextView; // type@0a97 │ │ +4172a0: 1402 1e00 087f |0012: const v2, #float 1.80776e+38 // #7f08001e │ │ +4172a6: 6e20 dcb8 2500 |0015: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4172ac: 0c02 |0018: move-result-object v2 │ │ +4172ae: 1f02 5e0a |0019: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +4172b2: 2203 6e1a |001b: new-instance v3, Lorg/purple/smoke/Settings$5; // type@1a6e │ │ +4172b6: 7020 9cb8 5300 |001d: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$5;.:(Lorg/purple/smoke/Settings;)V // method@b89c │ │ +4172bc: 6e20 e258 3200 |0020: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ +4172c2: 1402 1f00 087f |0023: const v2, #float 1.80776e+38 // #7f08001f │ │ +4172c8: 6e20 dcb8 2500 |0026: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4172ce: 0c02 |0029: move-result-object v2 │ │ +4172d0: 1f02 5e0a |002a: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +4172d4: 2203 711a |002c: new-instance v3, Lorg/purple/smoke/Settings$6; // type@1a71 │ │ +4172d8: 7020 a3b8 5300 |002e: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$6;.:(Lorg/purple/smoke/Settings;)V // method@b8a3 │ │ +4172de: 6e20 e258 3200 |0031: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ +4172e4: 1402 4000 087f |0034: const v2, #float 1.80776e+38 // #7f080040 │ │ +4172ea: 6e20 dcb8 2500 |0037: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4172f0: 0c02 |003a: move-result-object v2 │ │ +4172f2: 1f02 5e0a |003b: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +4172f6: 2203 741a |003d: new-instance v3, Lorg/purple/smoke/Settings$7; // type@1a74 │ │ +4172fa: 7020 aab8 5300 |003f: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$7;.:(Lorg/purple/smoke/Settings;)V // method@b8aa │ │ +417300: 6e20 e258 3200 |0042: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ +417306: 1402 5d00 087f |0045: const v2, #float 1.80777e+38 // #7f08005d │ │ +41730c: 6e20 dcb8 2500 |0048: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +417312: 0c02 |004b: move-result-object v2 │ │ +417314: 1f02 5e0a |004c: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +417318: 2203 771a |004e: new-instance v3, Lorg/purple/smoke/Settings$8; // type@1a77 │ │ +41731c: 7020 b5b8 5300 |0050: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$8;.:(Lorg/purple/smoke/Settings;)V // method@b8b5 │ │ +417322: 6e20 e258 3200 |0053: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ +417328: 1402 6400 087f |0056: const v2, #float 1.80777e+38 // #7f080064 │ │ +41732e: 6e20 dcb8 2500 |0059: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +417334: 0c02 |005c: move-result-object v2 │ │ +417336: 1f02 5e0a |005d: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +41733a: 2203 781a |005f: new-instance v3, Lorg/purple/smoke/Settings$9; // type@1a78 │ │ +41733e: 7020 b7b8 5300 |0061: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$9;.:(Lorg/purple/smoke/Settings;)V // method@b8b7 │ │ +417344: 6e20 e258 3200 |0064: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ +41734a: 1402 7400 087f |0067: const v2, #float 1.80777e+38 // #7f080074 │ │ +417350: 6e20 dcb8 2500 |006a: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +417356: 0c02 |006d: move-result-object v2 │ │ +417358: 1f02 5e0a |006e: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +41735c: 2203 421a |0070: new-instance v3, Lorg/purple/smoke/Settings$10; // type@1a42 │ │ +417360: 7020 3cb8 5300 |0072: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$10;.:(Lorg/purple/smoke/Settings;)V // method@b83c │ │ +417366: 6e20 e258 3200 |0075: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ +41736c: 1402 8200 087f |0078: const v2, #float 1.80778e+38 // #7f080082 │ │ +417372: 6e20 dcb8 2500 |007b: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +417378: 0c02 |007e: move-result-object v2 │ │ +41737a: 1f02 5e0a |007f: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +41737e: 2203 431a |0081: new-instance v3, Lorg/purple/smoke/Settings$11; // type@1a43 │ │ +417382: 7020 3eb8 5300 |0083: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$11;.:(Lorg/purple/smoke/Settings;)V // method@b83e │ │ +417388: 6e20 e258 3200 |0086: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ +41738e: 1402 b800 087f |0089: const v2, #float 1.80779e+38 // #7f0800b8 │ │ +417394: 6e20 dcb8 2500 |008c: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +41739a: 0c02 |008f: move-result-object v2 │ │ +41739c: 1f02 5e0a |0090: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +4173a0: 2203 441a |0092: new-instance v3, Lorg/purple/smoke/Settings$12; // type@1a44 │ │ +4173a4: 7020 40b8 5300 |0094: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$12;.:(Lorg/purple/smoke/Settings;)V // method@b840 │ │ +4173aa: 6e20 e258 3200 |0097: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ +4173b0: 1402 c200 087f |009a: const v2, #float 1.80779e+38 // #7f0800c2 │ │ +4173b6: 6e20 dcb8 2500 |009d: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4173bc: 0c02 |00a0: move-result-object v2 │ │ +4173be: 1f02 5e0a |00a1: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +4173c2: 2203 451a |00a3: new-instance v3, Lorg/purple/smoke/Settings$13; // type@1a45 │ │ +4173c6: 7020 42b8 5300 |00a5: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$13;.:(Lorg/purple/smoke/Settings;)V // method@b842 │ │ +4173cc: 6e20 e258 3200 |00a8: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ +4173d2: 1402 da00 087f |00ab: const v2, #float 1.80779e+38 // #7f0800da │ │ +4173d8: 6e20 dcb8 2500 |00ae: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4173de: 0c02 |00b1: move-result-object v2 │ │ +4173e0: 1f02 5e0a |00b2: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +4173e4: 2203 461a |00b4: new-instance v3, Lorg/purple/smoke/Settings$14; // type@1a46 │ │ +4173e8: 7020 44b8 5300 |00b6: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$14;.:(Lorg/purple/smoke/Settings;)V // method@b844 │ │ +4173ee: 6e20 e258 3200 |00b9: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ +4173f4: 1402 db00 087f |00bc: const v2, #float 1.80779e+38 // #7f0800db │ │ +4173fa: 6e20 dcb8 2500 |00bf: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +417400: 0c02 |00c2: move-result-object v2 │ │ +417402: 1f02 5e0a |00c3: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +417406: 2203 471a |00c5: new-instance v3, Lorg/purple/smoke/Settings$15; // type@1a47 │ │ +41740a: 7020 46b8 5300 |00c7: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$15;.:(Lorg/purple/smoke/Settings;)V // method@b846 │ │ +417410: 6e20 e258 3200 |00ca: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ +417416: 2202 481a |00cd: new-instance v2, Lorg/purple/smoke/Settings$16; // type@1a48 │ │ +41741a: 7020 48b8 5200 |00cf: invoke-direct {v2, v5}, Lorg/purple/smoke/Settings$16;.:(Lorg/purple/smoke/Settings;)V // method@b848 │ │ +417420: 1403 de00 087f |00d2: const v3, #float 1.8078e+38 // #7f0800de │ │ +417426: 6e20 dcb8 3500 |00d5: invoke-virtual {v5, v3}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +41742c: 0c03 |00d8: move-result-object v3 │ │ +41742e: 1f03 5e0a |00d9: check-cast v3, Landroid/widget/Button; // type@0a5e │ │ +417432: 2204 491a |00db: new-instance v4, Lorg/purple/smoke/Settings$17; // type@1a49 │ │ +417436: 7030 4ab8 5402 |00dd: invoke-direct {v4, v5, v2}, Lorg/purple/smoke/Settings$17;.:(Lorg/purple/smoke/Settings;Landroid/content/DialogInterface$OnCancelListener;)V // method@b84a │ │ +41743c: 6e20 e258 4300 |00e0: invoke-virtual {v3, v4}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ +417442: 1402 e000 087f |00e3: const v2, #float 1.8078e+38 // #7f0800e0 │ │ +417448: 6e20 dcb8 2500 |00e6: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +41744e: 0c02 |00e9: move-result-object v2 │ │ +417450: 1f02 5e0a |00ea: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +417454: 2203 4a1a |00ec: new-instance v3, Lorg/purple/smoke/Settings$18; // type@1a4a │ │ +417458: 7020 4cb8 5300 |00ee: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$18;.:(Lorg/purple/smoke/Settings;)V // method@b84c │ │ +41745e: 6e20 e258 3200 |00f1: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ +417464: 1402 e100 087f |00f4: const v2, #float 1.8078e+38 // #7f0800e1 │ │ +41746a: 6e20 dcb8 2500 |00f7: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +417470: 0c02 |00fa: move-result-object v2 │ │ +417472: 1f02 5e0a |00fb: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +417476: 2203 4b1a |00fd: new-instance v3, Lorg/purple/smoke/Settings$19; // type@1a4b │ │ +41747a: 7020 4eb8 5300 |00ff: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$19;.:(Lorg/purple/smoke/Settings;)V // method@b84e │ │ +417480: 6e20 e258 3200 |0102: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ +417486: 2202 4f1a |0105: new-instance v2, Lorg/purple/smoke/Settings$20; // type@1a4f │ │ +41748a: 7020 57b8 5200 |0107: invoke-direct {v2, v5}, Lorg/purple/smoke/Settings$20;.:(Lorg/purple/smoke/Settings;)V // method@b857 │ │ +417490: 1403 e600 087f |010a: const v3, #float 1.8078e+38 // #7f0800e6 │ │ +417496: 6e20 dcb8 3500 |010d: invoke-virtual {v5, v3}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +41749c: 0c03 |0110: move-result-object v3 │ │ +41749e: 1f03 5e0a |0111: check-cast v3, Landroid/widget/Button; // type@0a5e │ │ +4174a2: 2204 501a |0113: new-instance v4, Lorg/purple/smoke/Settings$21; // type@1a50 │ │ +4174a6: 7020 59b8 5400 |0115: invoke-direct {v4, v5}, Lorg/purple/smoke/Settings$21;.:(Lorg/purple/smoke/Settings;)V // method@b859 │ │ +4174ac: 6e20 e258 4300 |0118: invoke-virtual {v3, v4}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ +4174b2: 1403 e800 087f |011b: const v3, #float 1.8078e+38 // #7f0800e8 │ │ +4174b8: 6e20 dcb8 3500 |011e: invoke-virtual {v5, v3}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4174be: 0c03 |0121: move-result-object v3 │ │ +4174c0: 1f03 5e0a |0122: check-cast v3, Landroid/widget/Button; // type@0a5e │ │ +4174c4: 2204 511a |0124: new-instance v4, Lorg/purple/smoke/Settings$22; // type@1a51 │ │ +4174c8: 7020 5bb8 5400 |0126: invoke-direct {v4, v5}, Lorg/purple/smoke/Settings$22;.:(Lorg/purple/smoke/Settings;)V // method@b85b │ │ +4174ce: 6e20 e258 4300 |0129: invoke-virtual {v3, v4}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ +4174d4: 1403 ff00 087f |012c: const v3, #float 1.8078e+38 // #7f0800ff │ │ +4174da: 6e20 dcb8 3500 |012f: invoke-virtual {v5, v3}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4174e0: 0c03 |0132: move-result-object v3 │ │ +4174e2: 1f03 5e0a |0133: check-cast v3, Landroid/widget/Button; // type@0a5e │ │ +4174e6: 2204 521a |0135: new-instance v4, Lorg/purple/smoke/Settings$23; // type@1a52 │ │ +4174ea: 7030 5db8 5402 |0137: invoke-direct {v4, v5, v2}, Lorg/purple/smoke/Settings$23;.:(Lorg/purple/smoke/Settings;Landroid/content/DialogInterface$OnCancelListener;)V // method@b85d │ │ +4174f0: 6e20 e258 4300 |013a: invoke-virtual {v3, v4}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ +4174f6: 1402 0201 087f |013d: const v2, #float 1.8078e+38 // #7f080102 │ │ +4174fc: 6e20 dcb8 2500 |0140: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +417502: 0c02 |0143: move-result-object v2 │ │ +417504: 1f02 5e0a |0144: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +417508: 2203 531a |0146: new-instance v3, Lorg/purple/smoke/Settings$24; // type@1a53 │ │ +41750c: 7020 5fb8 5300 |0148: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$24;.:(Lorg/purple/smoke/Settings;)V // method@b85f │ │ +417512: 6e20 e258 3200 |014b: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ +417518: 1402 0901 087f |014e: const v2, #float 1.8078e+38 // #7f080109 │ │ +41751e: 6e20 dcb8 2500 |0151: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +417524: 0c02 |0154: move-result-object v2 │ │ +417526: 1f02 5e0a |0155: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +41752a: 2203 541a |0157: new-instance v3, Lorg/purple/smoke/Settings$25; // type@1a54 │ │ +41752e: 7020 61b8 5300 |0159: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$25;.:(Lorg/purple/smoke/Settings;)V // method@b861 │ │ +417534: 6e20 e258 3200 |015c: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ +41753a: 1402 0a01 087f |015f: const v2, #float 1.8078e+38 // #7f08010a │ │ +417540: 6e20 dcb8 2500 |0162: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +417546: 0c02 |0165: move-result-object v2 │ │ +417548: 1f02 5e0a |0166: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +41754c: 2203 551a |0168: new-instance v3, Lorg/purple/smoke/Settings$26; // type@1a55 │ │ +417550: 7020 63b8 5300 |016a: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$26;.:(Lorg/purple/smoke/Settings;)V // method@b863 │ │ +417556: 6e20 e258 3200 |016d: invoke-virtual {v2, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ +41755c: 1402 2500 087f |0170: const v2, #float 1.80776e+38 // #7f080025 │ │ +417562: 6e20 dcb8 2500 |0173: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +417568: 0c02 |0176: move-result-object v2 │ │ +41756a: 1f02 8d0a |0177: check-cast v2, Landroid/widget/Switch; // type@0a8d │ │ +41756e: 2203 561a |0179: new-instance v3, Lorg/purple/smoke/Settings$27; // type@1a56 │ │ +417572: 7020 65b8 5300 |017b: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$27;.:(Lorg/purple/smoke/Settings;)V // method@b865 │ │ +417578: 6e20 e25a 3200 |017e: invoke-virtual {v2, v3}, Landroid/widget/Switch;.setOnCheckedChangeListener:(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V // method@5ae2 │ │ +41757e: 1402 2c00 087f |0181: const v2, #float 1.80776e+38 // #7f08002c │ │ +417584: 6e20 dcb8 2500 |0184: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +41758a: 0c02 |0187: move-result-object v2 │ │ +41758c: 1f02 8d0a |0188: check-cast v2, Landroid/widget/Switch; // type@0a8d │ │ +417590: 2203 571a |018a: new-instance v3, Lorg/purple/smoke/Settings$28; // type@1a57 │ │ +417594: 7020 67b8 5300 |018c: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$28;.:(Lorg/purple/smoke/Settings;)V // method@b867 │ │ +41759a: 6e20 e25a 3200 |018f: invoke-virtual {v2, v3}, Landroid/widget/Switch;.setOnCheckedChangeListener:(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V // method@5ae2 │ │ +4175a0: 1402 5c00 087f |0192: const v2, #float 1.80777e+38 // #7f08005c │ │ +4175a6: 6e20 dcb8 2500 |0195: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4175ac: 0c02 |0198: move-result-object v2 │ │ +4175ae: 1f02 8d0a |0199: check-cast v2, Landroid/widget/Switch; // type@0a8d │ │ +4175b2: 2203 581a |019b: new-instance v3, Lorg/purple/smoke/Settings$29; // type@1a58 │ │ +4175b6: 7020 69b8 5300 |019d: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$29;.:(Lorg/purple/smoke/Settings;)V // method@b869 │ │ +4175bc: 6e20 e25a 3200 |01a0: invoke-virtual {v2, v3}, Landroid/widget/Switch;.setOnCheckedChangeListener:(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V // method@5ae2 │ │ +4175c2: 1402 7300 087f |01a3: const v2, #float 1.80777e+38 // #7f080073 │ │ +4175c8: 6e20 dcb8 2500 |01a6: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4175ce: 0c02 |01a9: move-result-object v2 │ │ +4175d0: 1f02 8d0a |01aa: check-cast v2, Landroid/widget/Switch; // type@0a8d │ │ +4175d4: 2203 5d1a |01ac: new-instance v3, Lorg/purple/smoke/Settings$30; // type@1a5d │ │ +4175d8: 7020 74b8 5300 |01ae: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$30;.:(Lorg/purple/smoke/Settings;)V // method@b874 │ │ +4175de: 6e20 e25a 3200 |01b1: invoke-virtual {v2, v3}, Landroid/widget/Switch;.setOnCheckedChangeListener:(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V // method@5ae2 │ │ +4175e4: 1402 a600 087f |01b4: const v2, #float 1.80778e+38 // #7f0800a6 │ │ +4175ea: 6e20 dcb8 2500 |01b7: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4175f0: 0c02 |01ba: move-result-object v2 │ │ +4175f2: 1f02 8d0a |01bb: check-cast v2, Landroid/widget/Switch; // type@0a8d │ │ +4175f6: 2203 5e1a |01bd: new-instance v3, Lorg/purple/smoke/Settings$31; // type@1a5e │ │ +4175fa: 7020 76b8 5300 |01bf: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$31;.:(Lorg/purple/smoke/Settings;)V // method@b876 │ │ +417600: 6e20 e25a 3200 |01c2: invoke-virtual {v2, v3}, Landroid/widget/Switch;.setOnCheckedChangeListener:(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V // method@5ae2 │ │ +417606: 1402 b600 087f |01c5: const v2, #float 1.80779e+38 // #7f0800b6 │ │ +41760c: 6e20 dcb8 2500 |01c8: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +417612: 0c02 |01cb: move-result-object v2 │ │ +417614: 1f02 8d0a |01cc: check-cast v2, Landroid/widget/Switch; // type@0a8d │ │ +417618: 2203 5f1a |01ce: new-instance v3, Lorg/purple/smoke/Settings$32; // type@1a5f │ │ +41761c: 7020 78b8 5300 |01d0: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$32;.:(Lorg/purple/smoke/Settings;)V // method@b878 │ │ +417622: 6e20 e25a 3200 |01d3: invoke-virtual {v2, v3}, Landroid/widget/Switch;.setOnCheckedChangeListener:(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V // method@5ae2 │ │ +417628: 1402 d500 087f |01d6: const v2, #float 1.80779e+38 // #7f0800d5 │ │ +41762e: 6e20 dcb8 2500 |01d9: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +417634: 0c02 |01dc: move-result-object v2 │ │ +417636: 1f02 8d0a |01dd: check-cast v2, Landroid/widget/Switch; // type@0a8d │ │ +41763a: 2203 601a |01df: new-instance v3, Lorg/purple/smoke/Settings$33; // type@1a60 │ │ +41763e: 7020 7ab8 5300 |01e1: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$33;.:(Lorg/purple/smoke/Settings;)V // method@b87a │ │ +417644: 6e20 e25a 3200 |01e4: invoke-virtual {v2, v3}, Landroid/widget/Switch;.setOnCheckedChangeListener:(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V // method@5ae2 │ │ +41764a: 1402 0801 087f |01e7: const v2, #float 1.8078e+38 // #7f080108 │ │ +417650: 6e20 dcb8 2500 |01ea: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +417656: 0c02 |01ed: move-result-object v2 │ │ +417658: 1f02 8d0a |01ee: check-cast v2, Landroid/widget/Switch; // type@0a8d │ │ +41765c: 2203 611a |01f0: new-instance v3, Lorg/purple/smoke/Settings$34; // type@1a61 │ │ +417660: 7020 7cb8 5300 |01f2: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$34;.:(Lorg/purple/smoke/Settings;)V // method@b87c │ │ +417666: 6e20 e25a 3200 |01f5: invoke-virtual {v2, v3}, Landroid/widget/Switch;.setOnCheckedChangeListener:(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V // method@5ae2 │ │ +41766c: 1402 0c01 087f |01f8: const v2, #float 1.8078e+38 // #7f08010c │ │ +417672: 6e20 dcb8 2500 |01fb: invoke-virtual {v5, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +417678: 0c02 |01fe: move-result-object v2 │ │ +41767a: 1f02 8d0a |01ff: check-cast v2, Landroid/widget/Switch; // type@0a8d │ │ +41767e: 2203 621a |0201: new-instance v3, Lorg/purple/smoke/Settings$35; // type@1a62 │ │ +417682: 7020 7eb8 5300 |0203: invoke-direct {v3, v5}, Lorg/purple/smoke/Settings$35;.:(Lorg/purple/smoke/Settings;)V // method@b87e │ │ +417688: 6e20 e25a 3200 |0206: invoke-virtual {v2, v3}, Landroid/widget/Switch;.setOnCheckedChangeListener:(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V // method@5ae2 │ │ +41768e: 2202 631a |0209: new-instance v2, Lorg/purple/smoke/Settings$36; // type@1a63 │ │ +417692: 7020 80b8 5200 |020b: invoke-direct {v2, v5}, Lorg/purple/smoke/Settings$36;.:(Lorg/purple/smoke/Settings;)V // method@b880 │ │ +417698: 6e20 c95a 2000 |020e: invoke-virtual {v0, v2}, Landroid/widget/Spinner;.setOnItemSelectedListener:(Landroid/widget/AdapterView$OnItemSelectedListener;)V // method@5ac9 │ │ +41769e: 2200 641a |0211: new-instance v0, Lorg/purple/smoke/Settings$37; // type@1a64 │ │ +4176a2: 7020 83b8 5000 |0213: invoke-direct {v0, v5}, Lorg/purple/smoke/Settings$37;.:(Lorg/purple/smoke/Settings;)V // method@b883 │ │ +4176a8: 6e20 025b 0100 |0216: invoke-virtual {v1, v0}, Landroid/widget/TextView;.addTextChangedListener:(Landroid/text/TextWatcher;)V // method@5b02 │ │ +4176ae: 0e00 |0219: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=1653 │ │ 0x000c line=1655 │ │ 0x0015 line=1657 │ │ 0x001b line=1658 │ │ 0x0026 line=1669 │ │ @@ -1542019,62 +1542018,62 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 10 │ │ ins : 1 │ │ outs : 7 │ │ insns size : 96 16-bit code units │ │ -4176b4: |[4176b4] org.purple.smoke.Settings.preparePKI:()V │ │ -4176c4: 6e10 e6b8 0900 |0000: invoke-virtual {v9}, Lorg/purple/smoke/Settings;.isFinishing:()Z // method@b8e6 │ │ -4176ca: 0a00 |0003: move-result v0 │ │ -4176cc: 3800 0300 |0004: if-eqz v0, 0007 // +0003 │ │ -4176d0: 0e00 |0006: return-void │ │ -4176d2: 1400 7500 087f |0007: const v0, #float 1.80777e+38 // #7f080075 │ │ -4176d8: 6e20 dcb8 0900 |000a: invoke-virtual {v9, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4176de: 0c00 |000d: move-result-object v0 │ │ -4176e0: 0705 |000e: move-object v5, v0 │ │ -4176e2: 1f05 7c0a |000f: check-cast v5, Landroid/widget/ProgressBar; // type@0a7c │ │ -4176e6: 1400 ca00 087f |0011: const v0, #float 1.80779e+38 // #7f0800ca │ │ -4176ec: 6e20 dcb8 0900 |0014: invoke-virtual {v9, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4176f2: 0c00 |0017: move-result-object v0 │ │ -4176f4: 0706 |0018: move-object v6, v0 │ │ -4176f6: 1f06 8b0a |0019: check-cast v6, Landroid/widget/Spinner; // type@0a8b │ │ -4176fa: 1400 cc00 087f |001b: const v0, #float 1.80779e+38 // #7f0800cc │ │ -417700: 6e20 dcb8 0900 |001e: invoke-virtual {v9, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -417706: 0c00 |0021: move-result-object v0 │ │ -417708: 0707 |0022: move-object v7, v0 │ │ -41770a: 1f07 8b0a |0023: check-cast v7, Landroid/widget/Spinner; // type@0a8b │ │ -41770e: 1210 |0025: const/4 v0, #int 1 // #1 │ │ -417710: 6e20 5a5a 0500 |0026: invoke-virtual {v5, v0}, Landroid/widget/ProgressBar;.setIndeterminate:(Z)V // method@5a5a │ │ -417716: 1200 |0029: const/4 v0, #int 0 // #0 │ │ -417718: 6e20 5f5a 0500 |002a: invoke-virtual {v5, v0}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ -41771e: 6e10 e4b8 0900 |002d: invoke-virtual {v9}, Lorg/purple/smoke/Settings;.getWindow:()Landroid/view/Window; // method@b8e4 │ │ -417724: 0c01 |0030: move-result-object v1 │ │ -417726: 1302 1000 |0031: const/16 v2, #int 16 // #10 │ │ -41772a: 6e30 9057 2102 |0033: invoke-virtual {v1, v2, v2}, Landroid/view/Window;.setFlags:(II)V // method@5790 │ │ -417730: 1401 9200 087f |0036: const v1, #float 1.80778e+38 // #7f080092 │ │ -417736: 6e20 dcb8 1900 |0039: invoke-virtual {v9, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41773c: 0c01 |003c: move-result-object v1 │ │ -41773e: 7120 ddb7 0100 |003d: invoke-static {v1, v0}, Lorg/purple/smoke/Miscellaneous;.enableChildren:(Landroid/view/View;Z)V // method@b7dd │ │ -417744: 2200 f40a |0040: new-instance v0, Ljava/lang/Thread; // type@0af4 │ │ -417748: 2208 6d1a |0042: new-instance v8, Lorg/purple/smoke/Settings$4SingleShot; // type@1a6d │ │ -41774c: 6e10 ba5a 0600 |0044: invoke-virtual {v6}, Landroid/widget/Spinner;.getSelectedItem:()Ljava/lang/Object; // method@5aba │ │ -417752: 0c01 |0047: move-result-object v1 │ │ -417754: 6e10 965c 0100 |0048: invoke-virtual {v1}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@5c96 │ │ -41775a: 0c03 |004b: move-result-object v3 │ │ -41775c: 6e10 ba5a 0700 |004c: invoke-virtual {v7}, Landroid/widget/Spinner;.getSelectedItem:()Ljava/lang/Object; // method@5aba │ │ -417762: 0c01 |004f: move-result-object v1 │ │ -417764: 6e10 965c 0100 |0050: invoke-virtual {v1}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@5c96 │ │ -41776a: 0c04 |0053: move-result-object v4 │ │ -41776c: 0781 |0054: move-object v1, v8 │ │ -41776e: 0792 |0055: move-object v2, v9 │ │ -417770: 7607 99b8 0100 |0056: invoke-direct/range {v1, v2, v3, v4, v5, v6, v7}, Lorg/purple/smoke/Settings$4SingleShot;.:(Lorg/purple/smoke/Settings;Ljava/lang/String;Ljava/lang/String;Landroid/widget/ProgressBar;Landroid/widget/Spinner;Landroid/widget/Spinner;)V // method@b899 │ │ -417776: 7020 0e5d 8000 |0059: invoke-direct {v0, v8}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@5d0e │ │ -41777c: 6e10 195d 0000 |005c: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@5d19 │ │ -417782: 0e00 |005f: return-void │ │ +4176b0: |[4176b0] org.purple.smoke.Settings.preparePKI:()V │ │ +4176c0: 6e10 e6b8 0900 |0000: invoke-virtual {v9}, Lorg/purple/smoke/Settings;.isFinishing:()Z // method@b8e6 │ │ +4176c6: 0a00 |0003: move-result v0 │ │ +4176c8: 3800 0300 |0004: if-eqz v0, 0007 // +0003 │ │ +4176cc: 0e00 |0006: return-void │ │ +4176ce: 1400 7500 087f |0007: const v0, #float 1.80777e+38 // #7f080075 │ │ +4176d4: 6e20 dcb8 0900 |000a: invoke-virtual {v9, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4176da: 0c00 |000d: move-result-object v0 │ │ +4176dc: 0705 |000e: move-object v5, v0 │ │ +4176de: 1f05 7c0a |000f: check-cast v5, Landroid/widget/ProgressBar; // type@0a7c │ │ +4176e2: 1400 ca00 087f |0011: const v0, #float 1.80779e+38 // #7f0800ca │ │ +4176e8: 6e20 dcb8 0900 |0014: invoke-virtual {v9, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4176ee: 0c00 |0017: move-result-object v0 │ │ +4176f0: 0706 |0018: move-object v6, v0 │ │ +4176f2: 1f06 8b0a |0019: check-cast v6, Landroid/widget/Spinner; // type@0a8b │ │ +4176f6: 1400 cc00 087f |001b: const v0, #float 1.80779e+38 // #7f0800cc │ │ +4176fc: 6e20 dcb8 0900 |001e: invoke-virtual {v9, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +417702: 0c00 |0021: move-result-object v0 │ │ +417704: 0707 |0022: move-object v7, v0 │ │ +417706: 1f07 8b0a |0023: check-cast v7, Landroid/widget/Spinner; // type@0a8b │ │ +41770a: 1210 |0025: const/4 v0, #int 1 // #1 │ │ +41770c: 6e20 5a5a 0500 |0026: invoke-virtual {v5, v0}, Landroid/widget/ProgressBar;.setIndeterminate:(Z)V // method@5a5a │ │ +417712: 1200 |0029: const/4 v0, #int 0 // #0 │ │ +417714: 6e20 5f5a 0500 |002a: invoke-virtual {v5, v0}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ +41771a: 6e10 e4b8 0900 |002d: invoke-virtual {v9}, Lorg/purple/smoke/Settings;.getWindow:()Landroid/view/Window; // method@b8e4 │ │ +417720: 0c01 |0030: move-result-object v1 │ │ +417722: 1302 1000 |0031: const/16 v2, #int 16 // #10 │ │ +417726: 6e30 9057 2102 |0033: invoke-virtual {v1, v2, v2}, Landroid/view/Window;.setFlags:(II)V // method@5790 │ │ +41772c: 1401 9200 087f |0036: const v1, #float 1.80778e+38 // #7f080092 │ │ +417732: 6e20 dcb8 1900 |0039: invoke-virtual {v9, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +417738: 0c01 |003c: move-result-object v1 │ │ +41773a: 7120 ddb7 0100 |003d: invoke-static {v1, v0}, Lorg/purple/smoke/Miscellaneous;.enableChildren:(Landroid/view/View;Z)V // method@b7dd │ │ +417740: 2200 f40a |0040: new-instance v0, Ljava/lang/Thread; // type@0af4 │ │ +417744: 2208 6d1a |0042: new-instance v8, Lorg/purple/smoke/Settings$4SingleShot; // type@1a6d │ │ +417748: 6e10 ba5a 0600 |0044: invoke-virtual {v6}, Landroid/widget/Spinner;.getSelectedItem:()Ljava/lang/Object; // method@5aba │ │ +41774e: 0c01 |0047: move-result-object v1 │ │ +417750: 6e10 965c 0100 |0048: invoke-virtual {v1}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@5c96 │ │ +417756: 0c03 |004b: move-result-object v3 │ │ +417758: 6e10 ba5a 0700 |004c: invoke-virtual {v7}, Landroid/widget/Spinner;.getSelectedItem:()Ljava/lang/Object; // method@5aba │ │ +41775e: 0c01 |004f: move-result-object v1 │ │ +417760: 6e10 965c 0100 |0050: invoke-virtual {v1}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@5c96 │ │ +417766: 0c04 |0053: move-result-object v4 │ │ +417768: 0781 |0054: move-object v1, v8 │ │ +41776a: 0792 |0055: move-object v2, v9 │ │ +41776c: 7607 99b8 0100 |0056: invoke-direct/range {v1, v2, v3, v4, v5, v6, v7}, Lorg/purple/smoke/Settings$4SingleShot;.:(Lorg/purple/smoke/Settings;Ljava/lang/String;Ljava/lang/String;Landroid/widget/ProgressBar;Landroid/widget/Spinner;Landroid/widget/Spinner;)V // method@b899 │ │ +417772: 7020 0e5d 8000 |0059: invoke-direct {v0, v8}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@5d0e │ │ +417778: 6e10 195d 0000 |005c: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@5d19 │ │ +41777e: 0e00 |005f: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=2540 │ │ 0x000a line=2544 │ │ 0x0014 line=2546 │ │ 0x001e line=2548 │ │ 0x0026 line=2550 │ │ @@ -1542093,17 +1542092,17 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -417784: |[417784] org.purple.smoke.Settings.releaseResources:()V │ │ -417794: 7010 0cb9 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Settings;.stopTimers:()V // method@b90c │ │ -41779a: 0e00 |0003: return-void │ │ +417780: |[417780] org.purple.smoke.Settings.releaseResources:()V │ │ +417790: 7010 0cb9 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Settings;.stopTimers:()V // method@b90c │ │ +417796: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=2746 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lorg/purple/smoke/Settings; │ │ │ │ #41 : (in Lorg/purple/smoke/Settings;) │ │ @@ -1542111,41 +1542110,41 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 57 16-bit code units │ │ -41779c: |[41779c] org.purple.smoke.Settings.requestKeysOf:(Ljava/lang/String;)V │ │ -4177ac: 6e10 e6b8 0400 |0000: invoke-virtual {v4}, Lorg/purple/smoke/Settings;.isFinishing:()Z // method@b8e6 │ │ -4177b2: 0a00 |0003: move-result v0 │ │ -4177b4: 3800 0300 |0004: if-eqz v0, 0007 // +0003 │ │ -4177b8: 0e00 |0006: return-void │ │ -4177ba: 1400 0101 087f |0007: const v0, #float 1.8078e+38 // #7f080101 │ │ -4177c0: 6e20 dcb8 0400 |000a: invoke-virtual {v4, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4177c6: 0c00 |000d: move-result-object v0 │ │ -4177c8: 1f00 7c0a |000e: check-cast v0, Landroid/widget/ProgressBar; // type@0a7c │ │ -4177cc: 1211 |0010: const/4 v1, #int 1 // #1 │ │ -4177ce: 6e20 5a5a 1000 |0011: invoke-virtual {v0, v1}, Landroid/widget/ProgressBar;.setIndeterminate:(Z)V // method@5a5a │ │ -4177d4: 1201 |0014: const/4 v1, #int 0 // #0 │ │ -4177d6: 6e20 5f5a 1000 |0015: invoke-virtual {v0, v1}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ -4177dc: 6e10 e4b8 0400 |0018: invoke-virtual {v4}, Lorg/purple/smoke/Settings;.getWindow:()Landroid/view/Window; // method@b8e4 │ │ -4177e2: 0c02 |001b: move-result-object v2 │ │ -4177e4: 1303 1000 |001c: const/16 v3, #int 16 // #10 │ │ -4177e8: 6e30 9057 3203 |001e: invoke-virtual {v2, v3, v3}, Landroid/view/Window;.setFlags:(II)V // method@5790 │ │ -4177ee: 1402 9200 087f |0021: const v2, #float 1.80778e+38 // #7f080092 │ │ -4177f4: 6e20 dcb8 2400 |0024: invoke-virtual {v4, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4177fa: 0c02 |0027: move-result-object v2 │ │ -4177fc: 7120 ddb7 1200 |0028: invoke-static {v2, v1}, Lorg/purple/smoke/Miscellaneous;.enableChildren:(Landroid/view/View;Z)V // method@b7dd │ │ -417802: 2201 f40a |002b: new-instance v1, Ljava/lang/Thread; // type@0af4 │ │ -417806: 2202 701a |002d: new-instance v2, Lorg/purple/smoke/Settings$5SingleShot; // type@1a70 │ │ -41780a: 7040 a0b8 4205 |002f: invoke-direct {v2, v4, v5, v0}, Lorg/purple/smoke/Settings$5SingleShot;.:(Lorg/purple/smoke/Settings;Ljava/lang/String;Landroid/widget/ProgressBar;)V // method@b8a0 │ │ -417810: 7020 0e5d 2100 |0032: invoke-direct {v1, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@5d0e │ │ -417816: 6e10 195d 0100 |0035: invoke-virtual {v1}, Ljava/lang/Thread;.start:()V // method@5d19 │ │ -41781c: 0e00 |0038: return-void │ │ +417798: |[417798] org.purple.smoke.Settings.requestKeysOf:(Ljava/lang/String;)V │ │ +4177a8: 6e10 e6b8 0400 |0000: invoke-virtual {v4}, Lorg/purple/smoke/Settings;.isFinishing:()Z // method@b8e6 │ │ +4177ae: 0a00 |0003: move-result v0 │ │ +4177b0: 3800 0300 |0004: if-eqz v0, 0007 // +0003 │ │ +4177b4: 0e00 |0006: return-void │ │ +4177b6: 1400 0101 087f |0007: const v0, #float 1.8078e+38 // #7f080101 │ │ +4177bc: 6e20 dcb8 0400 |000a: invoke-virtual {v4, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4177c2: 0c00 |000d: move-result-object v0 │ │ +4177c4: 1f00 7c0a |000e: check-cast v0, Landroid/widget/ProgressBar; // type@0a7c │ │ +4177c8: 1211 |0010: const/4 v1, #int 1 // #1 │ │ +4177ca: 6e20 5a5a 1000 |0011: invoke-virtual {v0, v1}, Landroid/widget/ProgressBar;.setIndeterminate:(Z)V // method@5a5a │ │ +4177d0: 1201 |0014: const/4 v1, #int 0 // #0 │ │ +4177d2: 6e20 5f5a 1000 |0015: invoke-virtual {v0, v1}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ +4177d8: 6e10 e4b8 0400 |0018: invoke-virtual {v4}, Lorg/purple/smoke/Settings;.getWindow:()Landroid/view/Window; // method@b8e4 │ │ +4177de: 0c02 |001b: move-result-object v2 │ │ +4177e0: 1303 1000 |001c: const/16 v3, #int 16 // #10 │ │ +4177e4: 6e30 9057 3203 |001e: invoke-virtual {v2, v3, v3}, Landroid/view/Window;.setFlags:(II)V // method@5790 │ │ +4177ea: 1402 9200 087f |0021: const v2, #float 1.80778e+38 // #7f080092 │ │ +4177f0: 6e20 dcb8 2400 |0024: invoke-virtual {v4, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4177f6: 0c02 |0027: move-result-object v2 │ │ +4177f8: 7120 ddb7 1200 |0028: invoke-static {v2, v1}, Lorg/purple/smoke/Miscellaneous;.enableChildren:(Landroid/view/View;Z)V // method@b7dd │ │ +4177fe: 2201 f40a |002b: new-instance v1, Ljava/lang/Thread; // type@0af4 │ │ +417802: 2202 701a |002d: new-instance v2, Lorg/purple/smoke/Settings$5SingleShot; // type@1a70 │ │ +417806: 7040 a0b8 4205 |002f: invoke-direct {v2, v4, v5, v0}, Lorg/purple/smoke/Settings$5SingleShot;.:(Lorg/purple/smoke/Settings;Ljava/lang/String;Landroid/widget/ProgressBar;)V // method@b8a0 │ │ +41780c: 7020 0e5d 2100 |0032: invoke-direct {v1, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@5d0e │ │ +417812: 6e10 195d 0100 |0035: invoke-virtual {v1}, Ljava/lang/Thread;.start:()V // method@5d19 │ │ +417818: 0e00 |0038: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=2751 │ │ 0x000a line=2755 │ │ 0x0011 line=2757 │ │ 0x0015 line=2758 │ │ 0x0018 line=2759 │ │ @@ -1542161,41 +1542160,41 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 57 16-bit code units │ │ -417820: |[417820] org.purple.smoke.Settings.shareKeysOf:(Ljava/lang/String;)V │ │ -417830: 6e10 e6b8 0400 |0000: invoke-virtual {v4}, Lorg/purple/smoke/Settings;.isFinishing:()Z // method@b8e6 │ │ -417836: 0a00 |0003: move-result v0 │ │ -417838: 3800 0300 |0004: if-eqz v0, 0007 // +0003 │ │ -41783c: 0e00 |0006: return-void │ │ -41783e: 1400 0101 087f |0007: const v0, #float 1.8078e+38 // #7f080101 │ │ -417844: 6e20 dcb8 0400 |000a: invoke-virtual {v4, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41784a: 0c00 |000d: move-result-object v0 │ │ -41784c: 1f00 7c0a |000e: check-cast v0, Landroid/widget/ProgressBar; // type@0a7c │ │ -417850: 1211 |0010: const/4 v1, #int 1 // #1 │ │ -417852: 6e20 5a5a 1000 |0011: invoke-virtual {v0, v1}, Landroid/widget/ProgressBar;.setIndeterminate:(Z)V // method@5a5a │ │ -417858: 1201 |0014: const/4 v1, #int 0 // #0 │ │ -41785a: 6e20 5f5a 1000 |0015: invoke-virtual {v0, v1}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ -417860: 6e10 e4b8 0400 |0018: invoke-virtual {v4}, Lorg/purple/smoke/Settings;.getWindow:()Landroid/view/Window; // method@b8e4 │ │ -417866: 0c02 |001b: move-result-object v2 │ │ -417868: 1303 1000 |001c: const/16 v3, #int 16 // #10 │ │ -41786c: 6e30 9057 3203 |001e: invoke-virtual {v2, v3, v3}, Landroid/view/Window;.setFlags:(II)V // method@5790 │ │ -417872: 1402 9200 087f |0021: const v2, #float 1.80778e+38 // #7f080092 │ │ -417878: 6e20 dcb8 2400 |0024: invoke-virtual {v4, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41787e: 0c02 |0027: move-result-object v2 │ │ -417880: 7120 ddb7 1200 |0028: invoke-static {v2, v1}, Lorg/purple/smoke/Miscellaneous;.enableChildren:(Landroid/view/View;Z)V // method@b7dd │ │ -417886: 2201 f40a |002b: new-instance v1, Ljava/lang/Thread; // type@0af4 │ │ -41788a: 2202 731a |002d: new-instance v2, Lorg/purple/smoke/Settings$6SingleShot; // type@1a73 │ │ -41788e: 7040 a7b8 4205 |002f: invoke-direct {v2, v4, v5, v0}, Lorg/purple/smoke/Settings$6SingleShot;.:(Lorg/purple/smoke/Settings;Ljava/lang/String;Landroid/widget/ProgressBar;)V // method@b8a7 │ │ -417894: 7020 0e5d 2100 |0032: invoke-direct {v1, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@5d0e │ │ -41789a: 6e10 195d 0100 |0035: invoke-virtual {v1}, Ljava/lang/Thread;.start:()V // method@5d19 │ │ -4178a0: 0e00 |0038: return-void │ │ +41781c: |[41781c] org.purple.smoke.Settings.shareKeysOf:(Ljava/lang/String;)V │ │ +41782c: 6e10 e6b8 0400 |0000: invoke-virtual {v4}, Lorg/purple/smoke/Settings;.isFinishing:()Z // method@b8e6 │ │ +417832: 0a00 |0003: move-result v0 │ │ +417834: 3800 0300 |0004: if-eqz v0, 0007 // +0003 │ │ +417838: 0e00 |0006: return-void │ │ +41783a: 1400 0101 087f |0007: const v0, #float 1.8078e+38 // #7f080101 │ │ +417840: 6e20 dcb8 0400 |000a: invoke-virtual {v4, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +417846: 0c00 |000d: move-result-object v0 │ │ +417848: 1f00 7c0a |000e: check-cast v0, Landroid/widget/ProgressBar; // type@0a7c │ │ +41784c: 1211 |0010: const/4 v1, #int 1 // #1 │ │ +41784e: 6e20 5a5a 1000 |0011: invoke-virtual {v0, v1}, Landroid/widget/ProgressBar;.setIndeterminate:(Z)V // method@5a5a │ │ +417854: 1201 |0014: const/4 v1, #int 0 // #0 │ │ +417856: 6e20 5f5a 1000 |0015: invoke-virtual {v0, v1}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ +41785c: 6e10 e4b8 0400 |0018: invoke-virtual {v4}, Lorg/purple/smoke/Settings;.getWindow:()Landroid/view/Window; // method@b8e4 │ │ +417862: 0c02 |001b: move-result-object v2 │ │ +417864: 1303 1000 |001c: const/16 v3, #int 16 // #10 │ │ +417868: 6e30 9057 3203 |001e: invoke-virtual {v2, v3, v3}, Landroid/view/Window;.setFlags:(II)V // method@5790 │ │ +41786e: 1402 9200 087f |0021: const v2, #float 1.80778e+38 // #7f080092 │ │ +417874: 6e20 dcb8 2400 |0024: invoke-virtual {v4, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +41787a: 0c02 |0027: move-result-object v2 │ │ +41787c: 7120 ddb7 1200 |0028: invoke-static {v2, v1}, Lorg/purple/smoke/Miscellaneous;.enableChildren:(Landroid/view/View;Z)V // method@b7dd │ │ +417882: 2201 f40a |002b: new-instance v1, Ljava/lang/Thread; // type@0af4 │ │ +417886: 2202 731a |002d: new-instance v2, Lorg/purple/smoke/Settings$6SingleShot; // type@1a73 │ │ +41788a: 7040 a7b8 4205 |002f: invoke-direct {v2, v4, v5, v0}, Lorg/purple/smoke/Settings$6SingleShot;.:(Lorg/purple/smoke/Settings;Ljava/lang/String;Landroid/widget/ProgressBar;)V // method@b8a7 │ │ +417890: 7020 0e5d 2100 |0032: invoke-direct {v1, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@5d0e │ │ +417896: 6e10 195d 0100 |0035: invoke-virtual {v1}, Ljava/lang/Thread;.start:()V // method@5d19 │ │ +41789c: 0e00 |0038: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=2825 │ │ 0x000a line=2829 │ │ 0x0011 line=2831 │ │ 0x0015 line=2832 │ │ 0x0018 line=2833 │ │ @@ -1542211,30 +1542210,30 @@ │ │ type : '(I)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 29 16-bit code units │ │ -4178a4: |[4178a4] org.purple.smoke.Settings.shareSipHashId:(I)V │ │ -4178b4: 6e10 e6b8 0100 |0000: invoke-virtual {v1}, Lorg/purple/smoke/Settings;.isFinishing:()Z // method@b8e6 │ │ -4178ba: 0a00 |0003: move-result v0 │ │ -4178bc: 3800 0300 |0004: if-eqz v0, 0007 // +0003 │ │ -4178c0: 0e00 |0006: return-void │ │ -4178c2: 6200 1e5d |0007: sget-object v0, Lorg/purple/smoke/Settings;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d1e │ │ -4178c6: 6e10 89b5 0000 |0009: invoke-virtual {v0}, Lorg/purple/smoke/Cryptography;.hasValidOzoneKeys:()Z // method@b589 │ │ -4178cc: 0a00 |000c: move-result v0 │ │ -4178ce: 3900 0800 |000d: if-nez v0, 0015 // +0008 │ │ -4178d2: 1a02 d743 |000f: const-string v2, "Please prepare Ozone credentials." // string@43d7 │ │ -4178d6: 7120 ecb7 2100 |0011: invoke-static {v1, v2}, Lorg/purple/smoke/Miscellaneous;.showErrorDialog:(Landroid/content/Context;Ljava/lang/String;)V // method@b7ec │ │ -4178dc: 0e00 |0014: return-void │ │ -4178de: 7100 02b7 0000 |0015: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ -4178e4: 0c00 |0018: move-result-object v0 │ │ -4178e6: 6e20 feb6 2000 |0019: invoke-virtual {v0, v2}, Lorg/purple/smoke/Kernel;.enqueueShareSipHashIdMessage:(I)V // method@b6fe │ │ -4178ec: 0e00 |001c: return-void │ │ +4178a0: |[4178a0] org.purple.smoke.Settings.shareSipHashId:(I)V │ │ +4178b0: 6e10 e6b8 0100 |0000: invoke-virtual {v1}, Lorg/purple/smoke/Settings;.isFinishing:()Z // method@b8e6 │ │ +4178b6: 0a00 |0003: move-result v0 │ │ +4178b8: 3800 0300 |0004: if-eqz v0, 0007 // +0003 │ │ +4178bc: 0e00 |0006: return-void │ │ +4178be: 6200 1e5d |0007: sget-object v0, Lorg/purple/smoke/Settings;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d1e │ │ +4178c2: 6e10 89b5 0000 |0009: invoke-virtual {v0}, Lorg/purple/smoke/Cryptography;.hasValidOzoneKeys:()Z // method@b589 │ │ +4178c8: 0a00 |000c: move-result v0 │ │ +4178ca: 3900 0800 |000d: if-nez v0, 0015 // +0008 │ │ +4178ce: 1a02 d743 |000f: const-string v2, "Please prepare Ozone credentials." // string@43d7 │ │ +4178d2: 7120 ecb7 2100 |0011: invoke-static {v1, v2}, Lorg/purple/smoke/Miscellaneous;.showErrorDialog:(Landroid/content/Context;Ljava/lang/String;)V // method@b7ec │ │ +4178d8: 0e00 |0014: return-void │ │ +4178da: 7100 02b7 0000 |0015: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ +4178e0: 0c00 |0018: move-result-object v0 │ │ +4178e2: 6e20 feb6 2000 |0019: invoke-virtual {v0, v2}, Lorg/purple/smoke/Kernel;.enqueueShareSipHashIdMessage:(I)V // method@b6fe │ │ +4178e8: 0e00 |001c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=2904 │ │ 0x0007 line=2906 │ │ 0x0011 line=2909 │ │ 0x0015 line=2913 │ │ locals : │ │ @@ -1542246,21 +1542245,21 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 14 16-bit code units │ │ -4178f0: |[4178f0] org.purple.smoke.Settings.showAuthenticateActivity:()V │ │ -417900: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ -417904: 1c01 ba19 |0002: const-class v1, Lorg/purple/smoke/Authenticate; // type@19ba │ │ -417908: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ -41790e: 6e20 09b9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.startActivity:(Landroid/content/Intent;)V // method@b909 │ │ -417914: 6e10 ddb8 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Settings;.finish:()V // method@b8dd │ │ -41791a: 0e00 |000d: return-void │ │ +4178ec: |[4178ec] org.purple.smoke.Settings.showAuthenticateActivity:()V │ │ +4178fc: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ +417900: 1c01 ba19 |0002: const-class v1, Lorg/purple/smoke/Authenticate; // type@19ba │ │ +417904: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ +41790a: 6e20 09b9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.startActivity:(Landroid/content/Intent;)V // method@b909 │ │ +417910: 6e10 ddb8 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Settings;.finish:()V // method@b8dd │ │ +417916: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=2918 │ │ 0x0007 line=2920 │ │ 0x000a line=2921 │ │ locals : │ │ 0x0000 - 0x000e reg=2 this Lorg/purple/smoke/Settings; │ │ @@ -1542270,21 +1542269,21 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 14 16-bit code units │ │ -41791c: |[41791c] org.purple.smoke.Settings.showChatActivity:()V │ │ -41792c: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ -417930: 1c01 cc19 |0002: const-class v1, Lorg/purple/smoke/Chat; // type@19cc │ │ -417934: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ -41793a: 6e20 09b9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.startActivity:(Landroid/content/Intent;)V // method@b909 │ │ -417940: 6e10 ddb8 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Settings;.finish:()V // method@b8dd │ │ -417946: 0e00 |000d: return-void │ │ +417918: |[417918] org.purple.smoke.Settings.showChatActivity:()V │ │ +417928: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ +41792c: 1c01 cc19 |0002: const-class v1, Lorg/purple/smoke/Chat; // type@19cc │ │ +417930: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ +417936: 6e20 09b9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.startActivity:(Landroid/content/Intent;)V // method@b909 │ │ +41793c: 6e10 ddb8 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Settings;.finish:()V // method@b8dd │ │ +417942: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=2926 │ │ 0x0007 line=2928 │ │ 0x000a line=2929 │ │ locals : │ │ 0x0000 - 0x000e reg=2 this Lorg/purple/smoke/Settings; │ │ @@ -1542294,41 +1542293,41 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 57 16-bit code units │ │ -417948: |[417948] org.purple.smoke.Settings.showDetailsOfParticipant:(Ljava/lang/String;)V │ │ -417958: 6e10 e6b8 0400 |0000: invoke-virtual {v4}, Lorg/purple/smoke/Settings;.isFinishing:()Z // method@b8e6 │ │ -41795e: 0a00 |0003: move-result v0 │ │ -417960: 3800 0300 |0004: if-eqz v0, 0007 // +0003 │ │ -417964: 0e00 |0006: return-void │ │ -417966: 1400 0101 087f |0007: const v0, #float 1.8078e+38 // #7f080101 │ │ -41796c: 6e20 dcb8 0400 |000a: invoke-virtual {v4, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -417972: 0c00 |000d: move-result-object v0 │ │ -417974: 1f00 7c0a |000e: check-cast v0, Landroid/widget/ProgressBar; // type@0a7c │ │ -417978: 1211 |0010: const/4 v1, #int 1 // #1 │ │ -41797a: 6e20 5a5a 1000 |0011: invoke-virtual {v0, v1}, Landroid/widget/ProgressBar;.setIndeterminate:(Z)V // method@5a5a │ │ -417980: 1201 |0014: const/4 v1, #int 0 // #0 │ │ -417982: 6e20 5f5a 1000 |0015: invoke-virtual {v0, v1}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ -417988: 6e10 e4b8 0400 |0018: invoke-virtual {v4}, Lorg/purple/smoke/Settings;.getWindow:()Landroid/view/Window; // method@b8e4 │ │ -41798e: 0c02 |001b: move-result-object v2 │ │ -417990: 1303 1000 |001c: const/16 v3, #int 16 // #10 │ │ -417994: 6e30 9057 3203 |001e: invoke-virtual {v2, v3, v3}, Landroid/view/Window;.setFlags:(II)V // method@5790 │ │ -41799a: 1402 9200 087f |0021: const v2, #float 1.80778e+38 // #7f080092 │ │ -4179a0: 6e20 dcb8 2400 |0024: invoke-virtual {v4, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4179a6: 0c02 |0027: move-result-object v2 │ │ -4179a8: 7120 ddb7 1200 |0028: invoke-static {v2, v1}, Lorg/purple/smoke/Miscellaneous;.enableChildren:(Landroid/view/View;Z)V // method@b7dd │ │ -4179ae: 2201 f40a |002b: new-instance v1, Ljava/lang/Thread; // type@0af4 │ │ -4179b2: 2202 761a |002d: new-instance v2, Lorg/purple/smoke/Settings$7SingleShot; // type@1a76 │ │ -4179b6: 7040 aeb8 4205 |002f: invoke-direct {v2, v4, v5, v0}, Lorg/purple/smoke/Settings$7SingleShot;.:(Lorg/purple/smoke/Settings;Ljava/lang/String;Landroid/widget/ProgressBar;)V // method@b8ae │ │ -4179bc: 7020 0e5d 2100 |0032: invoke-direct {v1, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@5d0e │ │ -4179c2: 6e10 195d 0100 |0035: invoke-virtual {v1}, Ljava/lang/Thread;.start:()V // method@5d19 │ │ -4179c8: 0e00 |0038: return-void │ │ +417944: |[417944] org.purple.smoke.Settings.showDetailsOfParticipant:(Ljava/lang/String;)V │ │ +417954: 6e10 e6b8 0400 |0000: invoke-virtual {v4}, Lorg/purple/smoke/Settings;.isFinishing:()Z // method@b8e6 │ │ +41795a: 0a00 |0003: move-result v0 │ │ +41795c: 3800 0300 |0004: if-eqz v0, 0007 // +0003 │ │ +417960: 0e00 |0006: return-void │ │ +417962: 1400 0101 087f |0007: const v0, #float 1.8078e+38 // #7f080101 │ │ +417968: 6e20 dcb8 0400 |000a: invoke-virtual {v4, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +41796e: 0c00 |000d: move-result-object v0 │ │ +417970: 1f00 7c0a |000e: check-cast v0, Landroid/widget/ProgressBar; // type@0a7c │ │ +417974: 1211 |0010: const/4 v1, #int 1 // #1 │ │ +417976: 6e20 5a5a 1000 |0011: invoke-virtual {v0, v1}, Landroid/widget/ProgressBar;.setIndeterminate:(Z)V // method@5a5a │ │ +41797c: 1201 |0014: const/4 v1, #int 0 // #0 │ │ +41797e: 6e20 5f5a 1000 |0015: invoke-virtual {v0, v1}, Landroid/widget/ProgressBar;.setVisibility:(I)V // method@5a5f │ │ +417984: 6e10 e4b8 0400 |0018: invoke-virtual {v4}, Lorg/purple/smoke/Settings;.getWindow:()Landroid/view/Window; // method@b8e4 │ │ +41798a: 0c02 |001b: move-result-object v2 │ │ +41798c: 1303 1000 |001c: const/16 v3, #int 16 // #10 │ │ +417990: 6e30 9057 3203 |001e: invoke-virtual {v2, v3, v3}, Landroid/view/Window;.setFlags:(II)V // method@5790 │ │ +417996: 1402 9200 087f |0021: const v2, #float 1.80778e+38 // #7f080092 │ │ +41799c: 6e20 dcb8 2400 |0024: invoke-virtual {v4, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4179a2: 0c02 |0027: move-result-object v2 │ │ +4179a4: 7120 ddb7 1200 |0028: invoke-static {v2, v1}, Lorg/purple/smoke/Miscellaneous;.enableChildren:(Landroid/view/View;Z)V // method@b7dd │ │ +4179aa: 2201 f40a |002b: new-instance v1, Ljava/lang/Thread; // type@0af4 │ │ +4179ae: 2202 761a |002d: new-instance v2, Lorg/purple/smoke/Settings$7SingleShot; // type@1a76 │ │ +4179b2: 7040 aeb8 4205 |002f: invoke-direct {v2, v4, v5, v0}, Lorg/purple/smoke/Settings$7SingleShot;.:(Lorg/purple/smoke/Settings;Ljava/lang/String;Landroid/widget/ProgressBar;)V // method@b8ae │ │ +4179b8: 7020 0e5d 2100 |0032: invoke-direct {v1, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@5d0e │ │ +4179be: 6e10 195d 0100 |0035: invoke-virtual {v1}, Ljava/lang/Thread;.start:()V // method@5d19 │ │ +4179c4: 0e00 |0038: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=2934 │ │ 0x000a line=2938 │ │ 0x0011 line=2940 │ │ 0x0015 line=2941 │ │ 0x0018 line=2942 │ │ @@ -1542344,21 +1542343,21 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 14 16-bit code units │ │ -4179cc: |[4179cc] org.purple.smoke.Settings.showFireActivity:()V │ │ -4179dc: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ -4179e0: 1c01 e719 |0002: const-class v1, Lorg/purple/smoke/Fire; // type@19e7 │ │ -4179e4: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ -4179ea: 6e20 09b9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.startActivity:(Landroid/content/Intent;)V // method@b909 │ │ -4179f0: 6e10 ddb8 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Settings;.finish:()V // method@b8dd │ │ -4179f6: 0e00 |000d: return-void │ │ +4179c8: |[4179c8] org.purple.smoke.Settings.showFireActivity:()V │ │ +4179d8: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ +4179dc: 1c01 e719 |0002: const-class v1, Lorg/purple/smoke/Fire; // type@19e7 │ │ +4179e0: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ +4179e6: 6e20 09b9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.startActivity:(Landroid/content/Intent;)V // method@b909 │ │ +4179ec: 6e10 ddb8 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Settings;.finish:()V // method@b8dd │ │ +4179f2: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=3129 │ │ 0x0007 line=3131 │ │ 0x000a line=3132 │ │ locals : │ │ 0x0000 - 0x000e reg=2 this Lorg/purple/smoke/Settings; │ │ @@ -1542368,21 +1542367,21 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 14 16-bit code units │ │ -4179f8: |[4179f8] org.purple.smoke.Settings.showMemberChatActivity:()V │ │ -417a08: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ -417a0c: 1c01 181a |0002: const-class v1, Lorg/purple/smoke/MemberChat; // type@1a18 │ │ -417a10: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ -417a16: 6e20 09b9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.startActivity:(Landroid/content/Intent;)V // method@b909 │ │ -417a1c: 6e10 ddb8 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Settings;.finish:()V // method@b8dd │ │ -417a22: 0e00 |000d: return-void │ │ +4179f4: |[4179f4] org.purple.smoke.Settings.showMemberChatActivity:()V │ │ +417a04: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ +417a08: 1c01 181a |0002: const-class v1, Lorg/purple/smoke/MemberChat; // type@1a18 │ │ +417a0c: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ +417a12: 6e20 09b9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.startActivity:(Landroid/content/Intent;)V // method@b909 │ │ +417a18: 6e10 ddb8 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Settings;.finish:()V // method@b8dd │ │ +417a1e: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=3137 │ │ 0x0007 line=3139 │ │ 0x000a line=3140 │ │ locals : │ │ 0x0000 - 0x000e reg=2 this Lorg/purple/smoke/Settings; │ │ @@ -1542392,21 +1542391,21 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 14 16-bit code units │ │ -417a24: |[417a24] org.purple.smoke.Settings.showSmokescreenActivity:()V │ │ -417a34: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ -417a38: 1c01 851a |0002: const-class v1, Lorg/purple/smoke/Smokescreen; // type@1a85 │ │ -417a3c: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ -417a42: 6e20 09b9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.startActivity:(Landroid/content/Intent;)V // method@b909 │ │ -417a48: 6e10 ddb8 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Settings;.finish:()V // method@b8dd │ │ -417a4e: 0e00 |000d: return-void │ │ +417a20: |[417a20] org.purple.smoke.Settings.showSmokescreenActivity:()V │ │ +417a30: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ +417a34: 1c01 851a |0002: const-class v1, Lorg/purple/smoke/Smokescreen; // type@1a85 │ │ +417a38: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ +417a3e: 6e20 09b9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.startActivity:(Landroid/content/Intent;)V // method@b909 │ │ +417a44: 6e10 ddb8 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Settings;.finish:()V // method@b8dd │ │ +417a4a: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=3145 │ │ 0x0007 line=3147 │ │ 0x000a line=3148 │ │ locals : │ │ 0x0000 - 0x000e reg=2 this Lorg/purple/smoke/Settings; │ │ @@ -1542416,21 +1542415,21 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 14 16-bit code units │ │ -417a50: |[417a50] org.purple.smoke.Settings.showSteamActivity:()V │ │ -417a60: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ -417a64: 1c01 921a |0002: const-class v1, Lorg/purple/smoke/Steam; // type@1a92 │ │ -417a68: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ -417a6e: 6e20 09b9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.startActivity:(Landroid/content/Intent;)V // method@b909 │ │ -417a74: 6e10 ddb8 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Settings;.finish:()V // method@b8dd │ │ -417a7a: 0e00 |000d: return-void │ │ +417a4c: |[417a4c] org.purple.smoke.Settings.showSteamActivity:()V │ │ +417a5c: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ +417a60: 1c01 921a |0002: const-class v1, Lorg/purple/smoke/Steam; // type@1a92 │ │ +417a64: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ +417a6a: 6e20 09b9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Settings;.startActivity:(Landroid/content/Intent;)V // method@b909 │ │ +417a70: 6e10 ddb8 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Settings;.finish:()V // method@b8dd │ │ +417a76: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=3153 │ │ 0x0007 line=3155 │ │ 0x000a line=3156 │ │ locals : │ │ 0x0000 - 0x000e reg=2 this Lorg/purple/smoke/Settings; │ │ @@ -1542440,42 +1542439,42 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 57 16-bit code units │ │ -417a7c: |[417a7c] org.purple.smoke.Settings.showWidgets:()V │ │ -417a8c: 1400 9200 087f |0000: const v0, #float 1.80778e+38 // #7f080092 │ │ -417a92: 6e20 dcb8 0600 |0003: invoke-virtual {v6, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -417a98: 0c00 |0006: move-result-object v0 │ │ -417a9a: 1f00 210a |0007: check-cast v0, Landroid/view/ViewGroup; // type@0a21 │ │ -417a9e: 6e10 e356 0000 |0009: invoke-virtual {v0}, Landroid/view/ViewGroup;.getChildCount:()I // method@56e3 │ │ -417aa4: 0a01 |000c: move-result v1 │ │ -417aa6: 1202 |000d: const/4 v2, #int 0 // #0 │ │ -417aa8: 1203 |000e: const/4 v3, #int 0 // #0 │ │ -417aaa: 3513 1500 |000f: if-ge v3, v1, 0024 // +0015 │ │ -417aae: 6e20 e256 3000 |0011: invoke-virtual {v0, v3}, Landroid/view/ViewGroup;.getChildAt:(I)Landroid/view/View; // method@56e2 │ │ -417ab4: 0c04 |0014: move-result-object v4 │ │ -417ab6: 1405 ad00 087f |0015: const v5, #float 1.80779e+38 // #7f0800ad │ │ -417abc: 6e20 dcb8 5600 |0018: invoke-virtual {v6, v5}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -417ac2: 0c05 |001b: move-result-object v5 │ │ -417ac4: 3254 0500 |001c: if-eq v4, v5, 0021 // +0005 │ │ -417ac8: 6e20 ac56 2400 |001e: invoke-virtual {v4, v2}, Landroid/view/View;.setVisibility:(I)V // method@56ac │ │ -417ace: d803 0301 |0021: add-int/lit8 v3, v3, #int 1 // #01 │ │ -417ad2: 28ec |0023: goto 000f // -0014 │ │ -417ad4: 1400 7400 087f |0024: const v0, #float 1.80777e+38 // #7f080074 │ │ -417ada: 6e20 dcb8 0600 |0027: invoke-virtual {v6, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -417ae0: 0c00 |002a: move-result-object v0 │ │ -417ae2: 6e20 ac56 2000 |002b: invoke-virtual {v0, v2}, Landroid/view/View;.setVisibility:(I)V // method@56ac │ │ -417ae8: 1400 b600 087f |002e: const v0, #float 1.80779e+38 // #7f0800b6 │ │ -417aee: 6e20 dcb8 0600 |0031: invoke-virtual {v6, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -417af4: 0c00 |0034: move-result-object v0 │ │ -417af6: 6e20 ac56 2000 |0035: invoke-virtual {v0, v2}, Landroid/view/View;.setVisibility:(I)V // method@56ac │ │ -417afc: 0e00 |0038: return-void │ │ +417a78: |[417a78] org.purple.smoke.Settings.showWidgets:()V │ │ +417a88: 1400 9200 087f |0000: const v0, #float 1.80778e+38 // #7f080092 │ │ +417a8e: 6e20 dcb8 0600 |0003: invoke-virtual {v6, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +417a94: 0c00 |0006: move-result-object v0 │ │ +417a96: 1f00 210a |0007: check-cast v0, Landroid/view/ViewGroup; // type@0a21 │ │ +417a9a: 6e10 e356 0000 |0009: invoke-virtual {v0}, Landroid/view/ViewGroup;.getChildCount:()I // method@56e3 │ │ +417aa0: 0a01 |000c: move-result v1 │ │ +417aa2: 1202 |000d: const/4 v2, #int 0 // #0 │ │ +417aa4: 1203 |000e: const/4 v3, #int 0 // #0 │ │ +417aa6: 3513 1500 |000f: if-ge v3, v1, 0024 // +0015 │ │ +417aaa: 6e20 e256 3000 |0011: invoke-virtual {v0, v3}, Landroid/view/ViewGroup;.getChildAt:(I)Landroid/view/View; // method@56e2 │ │ +417ab0: 0c04 |0014: move-result-object v4 │ │ +417ab2: 1405 ad00 087f |0015: const v5, #float 1.80779e+38 // #7f0800ad │ │ +417ab8: 6e20 dcb8 5600 |0018: invoke-virtual {v6, v5}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +417abe: 0c05 |001b: move-result-object v5 │ │ +417ac0: 3254 0500 |001c: if-eq v4, v5, 0021 // +0005 │ │ +417ac4: 6e20 ac56 2400 |001e: invoke-virtual {v4, v2}, Landroid/view/View;.setVisibility:(I)V // method@56ac │ │ +417aca: d803 0301 |0021: add-int/lit8 v3, v3, #int 1 // #01 │ │ +417ace: 28ec |0023: goto 000f // -0014 │ │ +417ad0: 1400 7400 087f |0024: const v0, #float 1.80777e+38 // #7f080074 │ │ +417ad6: 6e20 dcb8 0600 |0027: invoke-virtual {v6, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +417adc: 0c00 |002a: move-result-object v0 │ │ +417ade: 6e20 ac56 2000 |002b: invoke-virtual {v0, v2}, Landroid/view/View;.setVisibility:(I)V // method@56ac │ │ +417ae4: 1400 b600 087f |002e: const v0, #float 1.80779e+38 // #7f0800b6 │ │ +417aea: 6e20 dcb8 0600 |0031: invoke-virtual {v6, v0}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +417af0: 0c00 |0034: move-result-object v0 │ │ +417af2: 6e20 ac56 2000 |0035: invoke-virtual {v0, v2}, Landroid/view/View;.setVisibility:(I)V // method@56ac │ │ +417af8: 0e00 |0038: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=3161 │ │ 0x0009 line=3162 │ │ 0x0011 line=3166 │ │ 0x0018 line=3168 │ │ 0x001e line=3169 │ │ @@ -1542489,17 +1542488,17 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 4 16-bit code units │ │ -417b00: |[417b00] org.purple.smoke.Settings.startKernel:()V │ │ -417b10: 7100 02b7 0000 |0000: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ -417b16: 0e00 |0003: return-void │ │ +417afc: |[417afc] org.purple.smoke.Settings.startKernel:()V │ │ +417b0c: 7100 02b7 0000 |0000: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ +417b12: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=3178 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lorg/purple/smoke/Settings; │ │ │ │ #53 : (in Lorg/purple/smoke/Settings;) │ │ @@ -1542507,27 +1542506,27 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 9 │ │ ins : 1 │ │ outs : 7 │ │ insns size : 25 16-bit code units │ │ -417b18: |[417b18] org.purple.smoke.Settings.startTimers:()V │ │ -417b28: 5480 1d5d |0000: iget-object v0, v8, Lorg/purple/smoke/Settings;.m_scheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d1d │ │ -417b2c: 3900 1600 |0002: if-nez v0, 0018 // +0016 │ │ -417b30: 7100 c460 0000 |0004: invoke-static {}, Ljava/util/concurrent/Executors;.newSingleThreadScheduledExecutor:()Ljava/util/concurrent/ScheduledExecutorService; // method@60c4 │ │ -417b36: 0c01 |0007: move-result-object v1 │ │ -417b38: 5b81 1d5d |0008: iput-object v1, v8, Lorg/purple/smoke/Settings;.m_scheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d1d │ │ -417b3c: 2202 651a |000a: new-instance v2, Lorg/purple/smoke/Settings$38; // type@1a65 │ │ -417b40: 7020 87b8 8200 |000c: invoke-direct {v2, v8}, Lorg/purple/smoke/Settings$38;.:(Lorg/purple/smoke/Settings;)V // method@b887 │ │ -417b46: 1603 dc05 |000f: const-wide/16 v3, #int 1500 // #5dc │ │ -417b4a: 1605 c409 |0011: const-wide/16 v5, #int 2500 // #9c4 │ │ -417b4e: 6207 eb2c |0013: sget-object v7, Ljava/util/concurrent/TimeUnit;.MILLISECONDS:Ljava/util/concurrent/TimeUnit; // field@2ceb │ │ -417b52: 7807 cc60 0100 |0015: invoke-interface/range {v1, v2, v3, v4, v5, v6, v7}, Ljava/util/concurrent/ScheduledExecutorService;.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; // method@60cc │ │ -417b58: 0e00 |0018: return-void │ │ +417b14: |[417b14] org.purple.smoke.Settings.startTimers:()V │ │ +417b24: 5480 1d5d |0000: iget-object v0, v8, Lorg/purple/smoke/Settings;.m_scheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d1d │ │ +417b28: 3900 1600 |0002: if-nez v0, 0018 // +0016 │ │ +417b2c: 7100 c460 0000 |0004: invoke-static {}, Ljava/util/concurrent/Executors;.newSingleThreadScheduledExecutor:()Ljava/util/concurrent/ScheduledExecutorService; // method@60c4 │ │ +417b32: 0c01 |0007: move-result-object v1 │ │ +417b34: 5b81 1d5d |0008: iput-object v1, v8, Lorg/purple/smoke/Settings;.m_scheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d1d │ │ +417b38: 2202 651a |000a: new-instance v2, Lorg/purple/smoke/Settings$38; // type@1a65 │ │ +417b3c: 7020 87b8 8200 |000c: invoke-direct {v2, v8}, Lorg/purple/smoke/Settings$38;.:(Lorg/purple/smoke/Settings;)V // method@b887 │ │ +417b42: 1603 dc05 |000f: const-wide/16 v3, #int 1500 // #5dc │ │ +417b46: 1605 c409 |0011: const-wide/16 v5, #int 2500 // #9c4 │ │ +417b4a: 6207 eb2c |0013: sget-object v7, Ljava/util/concurrent/TimeUnit;.MILLISECONDS:Ljava/util/concurrent/TimeUnit; // field@2ceb │ │ +417b4e: 7807 cc60 0100 |0015: invoke-interface/range {v1, v2, v3, v4, v5, v6, v7}, Ljava/util/concurrent/ScheduledExecutorService;.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; // method@60cc │ │ +417b54: 0e00 |0018: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=3183 │ │ 0x0004 line=3185 │ │ 0x000a line=3186 │ │ locals : │ │ 0x0000 - 0x0019 reg=8 this Lorg/purple/smoke/Settings; │ │ @@ -1542537,33 +1542536,33 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 33 16-bit code units │ │ -417b5c: |[417b5c] org.purple.smoke.Settings.stopTimers:()V │ │ -417b6c: 5450 1d5d |0000: iget-object v0, v5, Lorg/purple/smoke/Settings;.m_scheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d1d │ │ -417b70: 3800 1e00 |0002: if-eqz v0, 0020 // +001e │ │ -417b74: 7210 cd60 0000 |0004: invoke-interface {v0}, Ljava/util/concurrent/ScheduledExecutorService;.shutdown:()V // method@60cd │ │ -417b7a: 1200 |0007: const/4 v0, #int 0 // #0 │ │ -417b7c: 5451 1d5d |0008: iget-object v1, v5, Lorg/purple/smoke/Settings;.m_scheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d1d │ │ -417b80: 1602 0500 |000a: const-wide/16 v2, #int 5 // #5 │ │ -417b84: 6204 ee2c |000c: sget-object v4, Ljava/util/concurrent/TimeUnit;.SECONDS:Ljava/util/concurrent/TimeUnit; // field@2cee │ │ -417b88: 7240 ca60 2143 |000e: invoke-interface {v1, v2, v3, v4}, Ljava/util/concurrent/ScheduledExecutorService;.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z // method@60ca │ │ -417b8e: 0a01 |0011: move-result v1 │ │ -417b90: 3901 0c00 |0012: if-nez v1, 001e // +000c │ │ -417b94: 5451 1d5d |0014: iget-object v1, v5, Lorg/purple/smoke/Settings;.m_scheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d1d │ │ -417b98: 7210 ce60 0100 |0016: invoke-interface {v1}, Ljava/util/concurrent/ScheduledExecutorService;.shutdownNow:()Ljava/util/List; // method@60ce │ │ -417b9e: 2805 |0019: goto 001e // +0005 │ │ -417ba0: 0d01 |001a: move-exception v1 │ │ -417ba2: 5b50 1d5d |001b: iput-object v0, v5, Lorg/purple/smoke/Settings;.m_scheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d1d │ │ -417ba6: 2701 |001d: throw v1 │ │ -417ba8: 5b50 1d5d |001e: iput-object v0, v5, Lorg/purple/smoke/Settings;.m_scheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d1d │ │ -417bac: 0e00 |0020: return-void │ │ +417b58: |[417b58] org.purple.smoke.Settings.stopTimers:()V │ │ +417b68: 5450 1d5d |0000: iget-object v0, v5, Lorg/purple/smoke/Settings;.m_scheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d1d │ │ +417b6c: 3800 1e00 |0002: if-eqz v0, 0020 // +001e │ │ +417b70: 7210 cd60 0000 |0004: invoke-interface {v0}, Ljava/util/concurrent/ScheduledExecutorService;.shutdown:()V // method@60cd │ │ +417b76: 1200 |0007: const/4 v0, #int 0 // #0 │ │ +417b78: 5451 1d5d |0008: iget-object v1, v5, Lorg/purple/smoke/Settings;.m_scheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d1d │ │ +417b7c: 1602 0500 |000a: const-wide/16 v2, #int 5 // #5 │ │ +417b80: 6204 ee2c |000c: sget-object v4, Ljava/util/concurrent/TimeUnit;.SECONDS:Ljava/util/concurrent/TimeUnit; // field@2cee │ │ +417b84: 7240 ca60 2143 |000e: invoke-interface {v1, v2, v3, v4}, Ljava/util/concurrent/ScheduledExecutorService;.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z // method@60ca │ │ +417b8a: 0a01 |0011: move-result v1 │ │ +417b8c: 3901 0c00 |0012: if-nez v1, 001e // +000c │ │ +417b90: 5451 1d5d |0014: iget-object v1, v5, Lorg/purple/smoke/Settings;.m_scheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d1d │ │ +417b94: 7210 ce60 0100 |0016: invoke-interface {v1}, Ljava/util/concurrent/ScheduledExecutorService;.shutdownNow:()Ljava/util/List; // method@60ce │ │ +417b9a: 2805 |0019: goto 001e // +0005 │ │ +417b9c: 0d01 |001a: move-exception v1 │ │ +417b9e: 5b50 1d5d |001b: iput-object v0, v5, Lorg/purple/smoke/Settings;.m_scheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d1d │ │ +417ba2: 2701 |001d: throw v1 │ │ +417ba4: 5b50 1d5d |001e: iput-object v0, v5, Lorg/purple/smoke/Settings;.m_scheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d1d │ │ +417ba8: 0e00 |0020: return-void │ │ catches : 2 │ │ 0x0004 - 0x0007 │ │ Ljava/lang/Exception; -> 0x0007 │ │ 0x0008 - 0x0019 │ │ Ljava/lang/Exception; -> 0x001e │ │ -> 0x001a │ │ positions : │ │ @@ -1542584,125 +1542583,125 @@ │ │ type : '(Landroid/view/MenuItem;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 10 │ │ ins : 2 │ │ outs : 6 │ │ insns size : 256 16-bit code units │ │ -414544: |[414544] org.purple.smoke.Settings.onContextItemSelected:(Landroid/view/MenuItem;)Z │ │ -414554: 3909 0400 |0000: if-nez v9, 0004 // +0004 │ │ -414558: 1209 |0002: const/4 v9, #int 0 // #0 │ │ -41455a: 0f09 |0003: return v9 │ │ -41455c: 7210 6a55 0900 |0004: invoke-interface {v9}, Landroid/view/MenuItem;.getGroupId:()I // method@556a │ │ -414562: 0a00 |0007: move-result v0 │ │ -414564: 7210 6c55 0900 |0008: invoke-interface {v9}, Landroid/view/MenuItem;.getItemId:()I // method@556c │ │ -41456a: 0a01 |000b: move-result v1 │ │ -41456c: 2203 6a1a |000c: new-instance v3, Lorg/purple/smoke/Settings$40; // type@1a6a │ │ -414570: 7040 92b8 8310 |000e: invoke-direct {v3, v8, v0, v1}, Lorg/purple/smoke/Settings$40;.:(Lorg/purple/smoke/Settings;II)V // method@b892 │ │ -414576: 1a02 eb08 |0011: const-string v2, "?" // string@08eb │ │ -41457a: 1a04 e403 |0013: const-string v4, ")" // string@03e4 │ │ -41457e: 1a05 0000 |0015: const-string v5, "" // string@0000 │ │ -414582: 2b00 d500 0000 |0017: packed-switch v0, 000000ec // +000000d5 │ │ -414588: 2900 d000 |001a: goto/16 00ea // +00d0 │ │ -41458c: 7110 d55c 0100 |001c: invoke-static {v1}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ -414592: 0c09 |001f: move-result-object v9 │ │ -414594: 7020 03b9 9800 |0020: invoke-direct {v8, v9}, Lorg/purple/smoke/Settings;.showDetailsOfParticipant:(Ljava/lang/String;)V // method@b903 │ │ -41459a: 2900 c700 |0023: goto/16 00ea // +00c7 │ │ -41459e: 7020 00b9 1800 |0025: invoke-direct {v8, v1}, Lorg/purple/smoke/Settings;.shareSipHashId:(I)V // method@b900 │ │ -4145a4: 2900 c200 |0028: goto/16 00ea // +00c2 │ │ -4145a8: 7110 d55c 0100 |002a: invoke-static {v1}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ -4145ae: 0c09 |002d: move-result-object v9 │ │ -4145b0: 7020 ffb8 9800 |002e: invoke-direct {v8, v9}, Lorg/purple/smoke/Settings;.shareKeysOf:(Ljava/lang/String;)V // method@b8ff │ │ -4145b6: 2900 b900 |0031: goto/16 00ea // +00b9 │ │ -4145ba: 7110 d55c 0100 |0033: invoke-static {v1}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ -4145c0: 0c09 |0036: move-result-object v9 │ │ -4145c2: 7020 fcb8 9800 |0037: invoke-direct {v8, v9}, Lorg/purple/smoke/Settings;.requestKeysOf:(Ljava/lang/String;)V // method@b8fc │ │ -4145c8: 2900 b000 |003a: goto/16 00ea // +00b0 │ │ -4145cc: 7210 6e55 0900 |003c: invoke-interface {v9}, Landroid/view/MenuItem;.getTitle:()Ljava/lang/CharSequence; // method@556e │ │ -4145d2: 0c09 |003f: move-result-object v9 │ │ -4145d4: 7210 045c 0900 |0040: invoke-interface {v9}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ -4145da: 0c09 |0043: move-result-object v9 │ │ -4145dc: 1a00 5440 |0044: const-string v0, "New Name (" // string@4054 │ │ -4145e0: 6e30 c85c 0905 |0046: invoke-virtual {v9, v0, v5}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ -4145e6: 0c09 |0049: move-result-object v9 │ │ -4145e8: 6e30 c85c 4905 |004a: invoke-virtual {v9, v4, v5}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ -4145ee: 0c05 |004d: move-result-object v5 │ │ -4145f0: 2209 f10a |004e: new-instance v9, Ljava/lang/StringBuilder; // type@0af1 │ │ -4145f4: 7010 ee5c 0900 |0050: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -4145fa: 1a00 d843 |0053: const-string v0, "Please provide a new name for " // string@43d8 │ │ -4145fe: 6e20 f95c 0900 |0055: invoke-virtual {v9, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -414604: 6e20 f95c 5900 |0058: invoke-virtual {v9, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41460a: 1a00 9104 |005b: const-string v0, "." // string@0491 │ │ -41460e: 6e20 f95c 0900 |005d: invoke-virtual {v9, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -414614: 6e10 035d 0900 |0060: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41461a: 0c04 |0063: move-result-object v4 │ │ -41461c: 1217 |0064: const/4 v7, #int 1 // #1 │ │ -41461e: 1a06 1f40 |0065: const-string v6, "Name" // string@401f │ │ -414622: 0782 |0067: move-object v2, v8 │ │ -414624: 7706 f0b7 0200 |0068: invoke-static/range {v2, v3, v4, v5, v6, v7}, Lorg/purple/smoke/Miscellaneous;.showTextInputDialog:(Landroid/content/Context;Landroid/content/DialogInterface$OnCancelListener;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V // method@b7f0 │ │ -41462a: 2900 7f00 |006b: goto/16 00ea // +007f │ │ -41462e: 2200 f10a |006d: new-instance v0, Ljava/lang/StringBuilder; // type@0af1 │ │ -414632: 7010 ee5c 0000 |006f: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -414638: 1a01 660e |0072: const-string v1, "Are you sure that you wish to delete the public keys of " // string@0e66 │ │ -41463c: 6e20 f95c 1000 |0074: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -414642: 7210 6e55 0900 |0077: invoke-interface {v9}, Landroid/view/MenuItem;.getTitle:()Ljava/lang/CharSequence; // method@556e │ │ -414648: 0c09 |007a: move-result-object v9 │ │ -41464a: 7210 045c 0900 |007b: invoke-interface {v9}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ -414650: 0c09 |007e: move-result-object v9 │ │ -414652: 1a01 0317 |007f: const-string v1, "Delete Public Keys (" // string@1703 │ │ -414656: 6e30 c85c 1905 |0081: invoke-virtual {v9, v1, v5}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ -41465c: 0c09 |0084: move-result-object v9 │ │ -41465e: 6e30 c85c 4905 |0085: invoke-virtual {v9, v4, v5}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ -414664: 0c09 |0088: move-result-object v9 │ │ -414666: 6e20 f95c 9000 |0089: invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41466c: 6e20 f95c 2000 |008c: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -414672: 6e10 035d 0000 |008f: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -414678: 0c09 |0092: move-result-object v9 │ │ -41467a: 7130 eeb7 3809 |0093: invoke-static {v8, v3, v9}, Lorg/purple/smoke/Miscellaneous;.showPromptDialog:(Landroid/content/Context;Landroid/content/DialogInterface$OnCancelListener;Ljava/lang/String;)V // method@b7ee │ │ -414680: 2854 |0096: goto 00ea // +0054 │ │ -414682: 2200 f10a |0097: new-instance v0, Ljava/lang/StringBuilder; // type@0af1 │ │ -414686: 7010 ee5c 0000 |0099: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41468c: 1a01 620e |009c: const-string v1, "Are you sure that you wish to delete the Fiasco keys of " // string@0e62 │ │ -414690: 6e20 f95c 1000 |009e: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -414696: 7210 6e55 0900 |00a1: invoke-interface {v9}, Landroid/view/MenuItem;.getTitle:()Ljava/lang/CharSequence; // method@556e │ │ -41469c: 0c09 |00a4: move-result-object v9 │ │ -41469e: 7210 045c 0900 |00a5: invoke-interface {v9}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ -4146a4: 0c09 |00a8: move-result-object v9 │ │ -4146a6: 1a01 0117 |00a9: const-string v1, "Delete Fiasco Keys (" // string@1701 │ │ -4146aa: 6e30 c85c 1905 |00ab: invoke-virtual {v9, v1, v5}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ -4146b0: 0c09 |00ae: move-result-object v9 │ │ -4146b2: 6e30 c85c 4905 |00af: invoke-virtual {v9, v4, v5}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ -4146b8: 0c09 |00b2: move-result-object v9 │ │ -4146ba: 6e20 f95c 9000 |00b3: invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4146c0: 6e20 f95c 2000 |00b6: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4146c6: 6e10 035d 0000 |00b9: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -4146cc: 0c09 |00bc: move-result-object v9 │ │ -4146ce: 7130 eeb7 3809 |00bd: invoke-static {v8, v3, v9}, Lorg/purple/smoke/Miscellaneous;.showPromptDialog:(Landroid/content/Context;Landroid/content/DialogInterface$OnCancelListener;Ljava/lang/String;)V // method@b7ee │ │ -4146d4: 282a |00c0: goto 00ea // +002a │ │ -4146d6: 2200 f10a |00c1: new-instance v0, Ljava/lang/StringBuilder; // type@0af1 │ │ -4146da: 7010 ee5c 0000 |00c3: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -4146e0: 1a01 650e |00c6: const-string v1, "Are you sure that you wish to delete the participant " // string@0e65 │ │ -4146e4: 6e20 f95c 1000 |00c8: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4146ea: 7210 6e55 0900 |00cb: invoke-interface {v9}, Landroid/view/MenuItem;.getTitle:()Ljava/lang/CharSequence; // method@556e │ │ -4146f0: 0c09 |00ce: move-result-object v9 │ │ -4146f2: 7210 045c 0900 |00cf: invoke-interface {v9}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ -4146f8: 0c09 |00d2: move-result-object v9 │ │ -4146fa: 1a01 fe16 |00d3: const-string v1, "Delete (" // string@16fe │ │ -4146fe: 6e30 c85c 1905 |00d5: invoke-virtual {v9, v1, v5}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ -414704: 0c09 |00d8: move-result-object v9 │ │ -414706: 6e30 c85c 4905 |00d9: invoke-virtual {v9, v4, v5}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ -41470c: 0c09 |00dc: move-result-object v9 │ │ -41470e: 6e20 f95c 9000 |00dd: invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -414714: 6e20 f95c 2000 |00e0: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41471a: 6e10 035d 0000 |00e3: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -414720: 0c09 |00e6: move-result-object v9 │ │ -414722: 7130 eeb7 3809 |00e7: invoke-static {v8, v3, v9}, Lorg/purple/smoke/Miscellaneous;.showPromptDialog:(Landroid/content/Context;Landroid/content/DialogInterface$OnCancelListener;Ljava/lang/String;)V // method@b7ee │ │ -414728: 1219 |00ea: const/4 v9, #int 1 // #1 │ │ -41472a: 0f09 |00eb: return v9 │ │ -41472c: 0001 0800 0000 0000 aa00 0000 8000 ... |00ec: packed-switch-data (20 units) │ │ +414540: |[414540] org.purple.smoke.Settings.onContextItemSelected:(Landroid/view/MenuItem;)Z │ │ +414550: 3909 0400 |0000: if-nez v9, 0004 // +0004 │ │ +414554: 1209 |0002: const/4 v9, #int 0 // #0 │ │ +414556: 0f09 |0003: return v9 │ │ +414558: 7210 6a55 0900 |0004: invoke-interface {v9}, Landroid/view/MenuItem;.getGroupId:()I // method@556a │ │ +41455e: 0a00 |0007: move-result v0 │ │ +414560: 7210 6c55 0900 |0008: invoke-interface {v9}, Landroid/view/MenuItem;.getItemId:()I // method@556c │ │ +414566: 0a01 |000b: move-result v1 │ │ +414568: 2203 6a1a |000c: new-instance v3, Lorg/purple/smoke/Settings$40; // type@1a6a │ │ +41456c: 7040 92b8 8310 |000e: invoke-direct {v3, v8, v0, v1}, Lorg/purple/smoke/Settings$40;.:(Lorg/purple/smoke/Settings;II)V // method@b892 │ │ +414572: 1a02 eb08 |0011: const-string v2, "?" // string@08eb │ │ +414576: 1a04 e403 |0013: const-string v4, ")" // string@03e4 │ │ +41457a: 1a05 0000 |0015: const-string v5, "" // string@0000 │ │ +41457e: 2b00 d500 0000 |0017: packed-switch v0, 000000ec // +000000d5 │ │ +414584: 2900 d000 |001a: goto/16 00ea // +00d0 │ │ +414588: 7110 d55c 0100 |001c: invoke-static {v1}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ +41458e: 0c09 |001f: move-result-object v9 │ │ +414590: 7020 03b9 9800 |0020: invoke-direct {v8, v9}, Lorg/purple/smoke/Settings;.showDetailsOfParticipant:(Ljava/lang/String;)V // method@b903 │ │ +414596: 2900 c700 |0023: goto/16 00ea // +00c7 │ │ +41459a: 7020 00b9 1800 |0025: invoke-direct {v8, v1}, Lorg/purple/smoke/Settings;.shareSipHashId:(I)V // method@b900 │ │ +4145a0: 2900 c200 |0028: goto/16 00ea // +00c2 │ │ +4145a4: 7110 d55c 0100 |002a: invoke-static {v1}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ +4145aa: 0c09 |002d: move-result-object v9 │ │ +4145ac: 7020 ffb8 9800 |002e: invoke-direct {v8, v9}, Lorg/purple/smoke/Settings;.shareKeysOf:(Ljava/lang/String;)V // method@b8ff │ │ +4145b2: 2900 b900 |0031: goto/16 00ea // +00b9 │ │ +4145b6: 7110 d55c 0100 |0033: invoke-static {v1}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ +4145bc: 0c09 |0036: move-result-object v9 │ │ +4145be: 7020 fcb8 9800 |0037: invoke-direct {v8, v9}, Lorg/purple/smoke/Settings;.requestKeysOf:(Ljava/lang/String;)V // method@b8fc │ │ +4145c4: 2900 b000 |003a: goto/16 00ea // +00b0 │ │ +4145c8: 7210 6e55 0900 |003c: invoke-interface {v9}, Landroid/view/MenuItem;.getTitle:()Ljava/lang/CharSequence; // method@556e │ │ +4145ce: 0c09 |003f: move-result-object v9 │ │ +4145d0: 7210 045c 0900 |0040: invoke-interface {v9}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ +4145d6: 0c09 |0043: move-result-object v9 │ │ +4145d8: 1a00 5440 |0044: const-string v0, "New Name (" // string@4054 │ │ +4145dc: 6e30 c85c 0905 |0046: invoke-virtual {v9, v0, v5}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ +4145e2: 0c09 |0049: move-result-object v9 │ │ +4145e4: 6e30 c85c 4905 |004a: invoke-virtual {v9, v4, v5}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ +4145ea: 0c05 |004d: move-result-object v5 │ │ +4145ec: 2209 f10a |004e: new-instance v9, Ljava/lang/StringBuilder; // type@0af1 │ │ +4145f0: 7010 ee5c 0900 |0050: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +4145f6: 1a00 d843 |0053: const-string v0, "Please provide a new name for " // string@43d8 │ │ +4145fa: 6e20 f95c 0900 |0055: invoke-virtual {v9, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +414600: 6e20 f95c 5900 |0058: invoke-virtual {v9, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +414606: 1a00 9104 |005b: const-string v0, "." // string@0491 │ │ +41460a: 6e20 f95c 0900 |005d: invoke-virtual {v9, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +414610: 6e10 035d 0900 |0060: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +414616: 0c04 |0063: move-result-object v4 │ │ +414618: 1217 |0064: const/4 v7, #int 1 // #1 │ │ +41461a: 1a06 1f40 |0065: const-string v6, "Name" // string@401f │ │ +41461e: 0782 |0067: move-object v2, v8 │ │ +414620: 7706 f0b7 0200 |0068: invoke-static/range {v2, v3, v4, v5, v6, v7}, Lorg/purple/smoke/Miscellaneous;.showTextInputDialog:(Landroid/content/Context;Landroid/content/DialogInterface$OnCancelListener;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V // method@b7f0 │ │ +414626: 2900 7f00 |006b: goto/16 00ea // +007f │ │ +41462a: 2200 f10a |006d: new-instance v0, Ljava/lang/StringBuilder; // type@0af1 │ │ +41462e: 7010 ee5c 0000 |006f: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +414634: 1a01 660e |0072: const-string v1, "Are you sure that you wish to delete the public keys of " // string@0e66 │ │ +414638: 6e20 f95c 1000 |0074: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41463e: 7210 6e55 0900 |0077: invoke-interface {v9}, Landroid/view/MenuItem;.getTitle:()Ljava/lang/CharSequence; // method@556e │ │ +414644: 0c09 |007a: move-result-object v9 │ │ +414646: 7210 045c 0900 |007b: invoke-interface {v9}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ +41464c: 0c09 |007e: move-result-object v9 │ │ +41464e: 1a01 0317 |007f: const-string v1, "Delete Public Keys (" // string@1703 │ │ +414652: 6e30 c85c 1905 |0081: invoke-virtual {v9, v1, v5}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ +414658: 0c09 |0084: move-result-object v9 │ │ +41465a: 6e30 c85c 4905 |0085: invoke-virtual {v9, v4, v5}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ +414660: 0c09 |0088: move-result-object v9 │ │ +414662: 6e20 f95c 9000 |0089: invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +414668: 6e20 f95c 2000 |008c: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41466e: 6e10 035d 0000 |008f: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +414674: 0c09 |0092: move-result-object v9 │ │ +414676: 7130 eeb7 3809 |0093: invoke-static {v8, v3, v9}, Lorg/purple/smoke/Miscellaneous;.showPromptDialog:(Landroid/content/Context;Landroid/content/DialogInterface$OnCancelListener;Ljava/lang/String;)V // method@b7ee │ │ +41467c: 2854 |0096: goto 00ea // +0054 │ │ +41467e: 2200 f10a |0097: new-instance v0, Ljava/lang/StringBuilder; // type@0af1 │ │ +414682: 7010 ee5c 0000 |0099: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +414688: 1a01 620e |009c: const-string v1, "Are you sure that you wish to delete the Fiasco keys of " // string@0e62 │ │ +41468c: 6e20 f95c 1000 |009e: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +414692: 7210 6e55 0900 |00a1: invoke-interface {v9}, Landroid/view/MenuItem;.getTitle:()Ljava/lang/CharSequence; // method@556e │ │ +414698: 0c09 |00a4: move-result-object v9 │ │ +41469a: 7210 045c 0900 |00a5: invoke-interface {v9}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ +4146a0: 0c09 |00a8: move-result-object v9 │ │ +4146a2: 1a01 0117 |00a9: const-string v1, "Delete Fiasco Keys (" // string@1701 │ │ +4146a6: 6e30 c85c 1905 |00ab: invoke-virtual {v9, v1, v5}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ +4146ac: 0c09 |00ae: move-result-object v9 │ │ +4146ae: 6e30 c85c 4905 |00af: invoke-virtual {v9, v4, v5}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ +4146b4: 0c09 |00b2: move-result-object v9 │ │ +4146b6: 6e20 f95c 9000 |00b3: invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4146bc: 6e20 f95c 2000 |00b6: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4146c2: 6e10 035d 0000 |00b9: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +4146c8: 0c09 |00bc: move-result-object v9 │ │ +4146ca: 7130 eeb7 3809 |00bd: invoke-static {v8, v3, v9}, Lorg/purple/smoke/Miscellaneous;.showPromptDialog:(Landroid/content/Context;Landroid/content/DialogInterface$OnCancelListener;Ljava/lang/String;)V // method@b7ee │ │ +4146d0: 282a |00c0: goto 00ea // +002a │ │ +4146d2: 2200 f10a |00c1: new-instance v0, Ljava/lang/StringBuilder; // type@0af1 │ │ +4146d6: 7010 ee5c 0000 |00c3: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +4146dc: 1a01 650e |00c6: const-string v1, "Are you sure that you wish to delete the participant " // string@0e65 │ │ +4146e0: 6e20 f95c 1000 |00c8: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4146e6: 7210 6e55 0900 |00cb: invoke-interface {v9}, Landroid/view/MenuItem;.getTitle:()Ljava/lang/CharSequence; // method@556e │ │ +4146ec: 0c09 |00ce: move-result-object v9 │ │ +4146ee: 7210 045c 0900 |00cf: invoke-interface {v9}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ +4146f4: 0c09 |00d2: move-result-object v9 │ │ +4146f6: 1a01 fe16 |00d3: const-string v1, "Delete (" // string@16fe │ │ +4146fa: 6e30 c85c 1905 |00d5: invoke-virtual {v9, v1, v5}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ +414700: 0c09 |00d8: move-result-object v9 │ │ +414702: 6e30 c85c 4905 |00d9: invoke-virtual {v9, v4, v5}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ +414708: 0c09 |00dc: move-result-object v9 │ │ +41470a: 6e20 f95c 9000 |00dd: invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +414710: 6e20 f95c 2000 |00e0: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +414716: 6e10 035d 0000 |00e3: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41471c: 0c09 |00e6: move-result-object v9 │ │ +41471e: 7130 eeb7 3809 |00e7: invoke-static {v8, v3, v9}, Lorg/purple/smoke/Miscellaneous;.showPromptDialog:(Landroid/content/Context;Landroid/content/DialogInterface$OnCancelListener;Ljava/lang/String;)V // method@b7ee │ │ +414724: 1219 |00ea: const/4 v9, #int 1 // #1 │ │ +414726: 0f09 |00eb: return v9 │ │ +414728: 0001 0800 0000 0000 aa00 0000 8000 ... |00ec: packed-switch-data (20 units) │ │ catches : (none) │ │ positions : │ │ 0x0004 line=3751 │ │ 0x0008 line=3752 │ │ 0x000c line=3758 │ │ 0x001c line=3887 │ │ 0x0025 line=3884 │ │ @@ -1542733,647 +1542732,647 @@ │ │ type : '(Landroid/os/Bundle;)V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 42 │ │ ins : 2 │ │ outs : 30 │ │ insns size : 1411 16-bit code units │ │ -4154b4: |[4154b4] org.purple.smoke.Settings.onCreate:(Landroid/os/Bundle;)V │ │ -4154c4: 0800 2800 |0000: move-object/from16 v0, v40 │ │ -4154c8: 7502 f23c 2800 |0002: invoke-super/range {v40, v41}, Landroid/support/v7/app/AppCompatActivity;.onCreate:(Landroid/os/Bundle;)V // method@3cf2 │ │ -4154ce: 7401 dfb8 2800 |0005: invoke-virtual/range {v40}, Lorg/purple/smoke/Settings;.getApplicationContext:()Landroid/content/Context; // method@b8df │ │ -4154d4: 0c01 |0008: move-result-object v1 │ │ -4154d6: 7110 e9b5 0100 |0009: invoke-static {v1}, Lorg/purple/smoke/Database;.getInstance:(Landroid/content/Context;)Lorg/purple/smoke/Database; // method@b5e9 │ │ -4154dc: 0c01 |000c: move-result-object v1 │ │ -4154de: 5b01 1a5d |000d: iput-object v1, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -4154e2: 7100 66b9 0000 |000f: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -4154e8: 0c01 |0012: move-result-object v1 │ │ -4154ea: 6e10 69b9 0100 |0013: invoke-virtual {v1}, Lorg/purple/smoke/State;.isAuthenticated:()Z // method@b969 │ │ -4154f0: 0a01 |0016: move-result v1 │ │ -4154f2: 3901 0e00 |0017: if-nez v1, 0025 // +000e │ │ -4154f6: 5402 1a5d |0019: iget-object v2, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -4154fa: 6e10 d4b5 0200 |001b: invoke-virtual {v2}, Lorg/purple/smoke/Database;.accountPrepared:()Z // method@b5d4 │ │ -415500: 0a02 |001e: move-result v2 │ │ -415502: 3802 0600 |001f: if-eqz v2, 0025 // +0006 │ │ -415506: 7601 01b9 2800 |0021: invoke-direct/range {v40}, Lorg/purple/smoke/Settings;.showAuthenticateActivity:()V // method@b901 │ │ -41550c: 0e00 |0024: return-void │ │ -41550e: 7100 02b7 0000 |0025: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ -415514: 0c02 |0028: move-result-object v2 │ │ -415516: 5403 1a5d |0029: iget-object v3, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -41551a: 1204 |002b: const/4 v4, #int 0 // #0 │ │ -41551c: 1a05 2858 |002c: const-string v5, "always_awake" // string@5828 │ │ -415520: 6e30 0eb6 4305 |002e: invoke-virtual {v3, v4, v5}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ -415526: 0c03 |0031: move-result-object v3 │ │ -415528: 1a06 00a3 |0032: const-string v6, "true" // string@a300 │ │ -41552c: 6e20 b85c 6300 |0034: invoke-virtual {v3, v6}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -415532: 0a03 |0037: move-result v3 │ │ -415534: 6e20 15b7 3200 |0038: invoke-virtual {v2, v3}, Lorg/purple/smoke/Kernel;.setWakeLock:(Z)V // method@b715 │ │ -41553a: 7100 66b9 0000 |003b: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -415540: 0c02 |003e: move-result-object v2 │ │ -415542: 5403 1a5d |003f: iget-object v3, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -415546: 1a07 e289 |0041: const-string v7, "neighbors_echo" // string@89e2 │ │ -41554a: 6e30 0eb6 4307 |0043: invoke-virtual {v3, v4, v7}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ -415550: 0c03 |0046: move-result-object v3 │ │ -415552: 6e20 b85c 6300 |0047: invoke-virtual {v3, v6}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -415558: 0a03 |004a: move-result v3 │ │ -41555a: 6e20 7db9 3200 |004b: invoke-virtual {v2, v3}, Lorg/purple/smoke/State;.setNeighborsEcho:(Z)V // method@b97d │ │ -415560: 2202 7b1a |004e: new-instance v2, Lorg/purple/smoke/Settings$SettingsBroadcastReceiver; // type@1a7b │ │ -415564: 7020 bcb8 0200 |0050: invoke-direct {v2, v0}, Lorg/purple/smoke/Settings$SettingsBroadcastReceiver;.:(Lorg/purple/smoke/Settings;)V // method@b8bc │ │ -41556a: 5b02 1b5d |0053: iput-object v2, v0, Lorg/purple/smoke/Settings;.m_receiver:Lorg/purple/smoke/Settings$SettingsBroadcastReceiver; // field@5d1b │ │ -41556e: 7601 f7b8 2800 |0055: invoke-direct/range {v40}, Lorg/purple/smoke/Settings;.prepareForegroundService:()V // method@b8f7 │ │ -415574: 1402 1f00 0a7f |0058: const v2, #float 1.83434e+38 // #7f0a001f │ │ -41557a: 6e20 feb8 2000 |005b: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.setContentView:(I)V // method@b8fe │ │ -415580: 7401 e3b8 2800 |005e: invoke-virtual/range {v40}, Lorg/purple/smoke/Settings;.getSupportActionBar:()Landroid/support/v7/app/ActionBar; // method@b8e3 │ │ -415586: 0c02 |0061: move-result-object v2 │ │ -415588: 7100 20b9 0000 |0062: invoke-static {}, Lorg/purple/smoke/Smoke;.networkStatusString:()Ljava/lang/String; // method@b920 │ │ -41558e: 0c03 |0065: move-result-object v3 │ │ -415590: 6e20 0a3c 3200 |0066: invoke-virtual {v2, v3}, Landroid/support/v7/app/ActionBar;.setSubtitle:(Ljava/lang/CharSequence;)V // method@3c0a │ │ -415596: 7401 e3b8 2800 |0069: invoke-virtual/range {v40}, Lorg/purple/smoke/Settings;.getSupportActionBar:()Landroid/support/v7/app/ActionBar; // method@b8e3 │ │ -41559c: 0c02 |006c: move-result-object v2 │ │ -41559e: 1a03 064b |006d: const-string v3, "Smoke | Settings" // string@4b06 │ │ -4155a2: 6e20 0c3c 3200 |006f: invoke-virtual {v2, v3}, Landroid/support/v7/app/ActionBar;.setTitle:(Ljava/lang/CharSequence;)V // method@3c0c │ │ -4155a8: 2802 |0072: goto 0074 // +0002 │ │ -4155aa: 0000 |0073: nop // spacer │ │ -4155ac: 7601 f8b8 2800 |0074: invoke-direct/range {v40}, Lorg/purple/smoke/Settings;.prepareListeners:()V // method@b8f8 │ │ -4155b2: 1402 1e00 087f |0077: const v2, #float 1.80776e+38 // #7f08001e │ │ -4155b8: 6e20 dcb8 2000 |007a: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4155be: 0c02 |007d: move-result-object v2 │ │ -4155c0: 1f02 5e0a |007e: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -4155c4: 6e20 e058 1200 |0080: invoke-virtual {v2, v1}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ -4155ca: 1402 1f00 087f |0083: const v2, #float 1.80776e+38 // #7f08001f │ │ -4155d0: 6e20 dcb8 2000 |0086: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4155d6: 0c02 |0089: move-result-object v2 │ │ -4155d8: 1f02 5e0a |008a: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -4155dc: 6e20 e058 1200 |008c: invoke-virtual {v2, v1}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ -4155e2: 1402 5d00 087f |008f: const v2, #float 1.80777e+38 // #7f08005d │ │ -4155e8: 6e20 dcb8 2000 |0092: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4155ee: 0c02 |0095: move-result-object v2 │ │ -4155f0: 1f02 5e0a |0096: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -4155f4: 1403 6e00 077f |0098: const v3, #float 1.79448e+38 // #7f07006e │ │ -4155fa: 1208 |009b: const/4 v8, #int 0 // #0 │ │ -4155fc: 6e58 df58 3288 |009c: invoke-virtual {v2, v3, v8, v8, v8}, Landroid/widget/Button;.setCompoundDrawablesWithIntrinsicBounds:(IIII)V // method@58df │ │ -415602: 1402 6400 087f |009f: const v2, #float 1.80777e+38 // #7f080064 │ │ -415608: 6e20 dcb8 2000 |00a2: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41560e: 0c02 |00a5: move-result-object v2 │ │ -415610: 1f02 5e0a |00a6: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -415614: 1409 8500 077f |00a8: const v9, #float 1.79448e+38 // #7f070085 │ │ -41561a: 6e58 df58 9288 |00ab: invoke-virtual {v2, v9, v8, v8, v8}, Landroid/widget/Button;.setCompoundDrawablesWithIntrinsicBounds:(IIII)V // method@58df │ │ -415620: 6e20 e058 1200 |00ae: invoke-virtual {v2, v1}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ -415626: 1402 8200 087f |00b1: const v2, #float 1.80778e+38 // #7f080082 │ │ -41562c: 6e20 dcb8 2000 |00b4: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415632: 0c02 |00b7: move-result-object v2 │ │ -415634: 1f02 5e0a |00b8: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -415638: 6e58 df58 3288 |00ba: invoke-virtual {v2, v3, v8, v8, v8}, Landroid/widget/Button;.setCompoundDrawablesWithIntrinsicBounds:(IIII)V // method@58df │ │ -41563e: 1402 b800 087f |00bd: const v2, #float 1.80779e+38 // #7f0800b8 │ │ -415644: 6e20 dcb8 2000 |00c0: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41564a: 0c02 |00c3: move-result-object v2 │ │ -41564c: 1f02 5e0a |00c4: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -415650: 6e58 df58 3288 |00c6: invoke-virtual {v2, v3, v8, v8, v8}, Landroid/widget/Button;.setCompoundDrawablesWithIntrinsicBounds:(IIII)V // method@58df │ │ -415656: 1402 c200 087f |00c9: const v2, #float 1.80779e+38 // #7f0800c2 │ │ -41565c: 6e20 dcb8 2000 |00cc: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415662: 0c02 |00cf: move-result-object v2 │ │ -415664: 1f02 5e0a |00d0: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -415668: 6e58 df58 3288 |00d2: invoke-virtual {v2, v3, v8, v8, v8}, Landroid/widget/Button;.setCompoundDrawablesWithIntrinsicBounds:(IIII)V // method@58df │ │ -41566e: 1402 da00 087f |00d5: const v2, #float 1.80779e+38 // #7f0800da │ │ -415674: 6e20 dcb8 2000 |00d8: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41567a: 0c02 |00db: move-result-object v2 │ │ -41567c: 1f02 5e0a |00dc: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -415680: 6e20 e058 1200 |00de: invoke-virtual {v2, v1}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ -415686: 1402 db00 087f |00e1: const v2, #float 1.80779e+38 // #7f0800db │ │ -41568c: 6e20 dcb8 2000 |00e4: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415692: 0c02 |00e7: move-result-object v2 │ │ -415694: 1f02 5e0a |00e8: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -415698: 6e20 e058 1200 |00ea: invoke-virtual {v2, v1}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ -41569e: 1402 e000 087f |00ed: const v2, #float 1.8078e+38 // #7f0800e0 │ │ -4156a4: 6e20 dcb8 2000 |00f0: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4156aa: 0c02 |00f3: move-result-object v2 │ │ -4156ac: 1f02 5e0a |00f4: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -4156b0: 6e20 e058 1200 |00f6: invoke-virtual {v2, v1}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ -4156b6: 1402 e100 087f |00f9: const v2, #float 1.8078e+38 // #7f0800e1 │ │ -4156bc: 6e20 dcb8 2000 |00fc: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4156c2: 0c02 |00ff: move-result-object v2 │ │ -4156c4: 1f02 5e0a |0100: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -4156c8: 6e20 e058 1200 |0102: invoke-virtual {v2, v1}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ -4156ce: 1402 e800 087f |0105: const v2, #float 1.8078e+38 // #7f0800e8 │ │ -4156d4: 6e20 dcb8 2000 |0108: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4156da: 0c02 |010b: move-result-object v2 │ │ -4156dc: 1f02 5e0a |010c: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -4156e0: 6e20 e058 1200 |010e: invoke-virtual {v2, v1}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ -4156e6: 1402 0201 087f |0111: const v2, #float 1.8078e+38 // #7f080102 │ │ -4156ec: 6e20 dcb8 2000 |0114: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4156f2: 0c02 |0117: move-result-object v2 │ │ -4156f4: 1f02 5e0a |0118: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -4156f8: 6e58 df58 9288 |011a: invoke-virtual {v2, v9, v8, v8, v8}, Landroid/widget/Button;.setCompoundDrawablesWithIntrinsicBounds:(IIII)V // method@58df │ │ -4156fe: 6e20 e058 1200 |011d: invoke-virtual {v2, v1}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ -415704: 1402 0901 087f |0120: const v2, #float 1.8078e+38 // #7f080109 │ │ -41570a: 6e20 dcb8 2000 |0123: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415710: 0c02 |0126: move-result-object v2 │ │ -415712: 1f02 5e0a |0127: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -415716: 6e58 df58 3288 |0129: invoke-virtual {v2, v3, v8, v8, v8}, Landroid/widget/Button;.setCompoundDrawablesWithIntrinsicBounds:(IIII)V // method@58df │ │ -41571c: 1402 0a01 087f |012c: const v2, #float 1.8078e+38 // #7f08010a │ │ -415722: 6e20 dcb8 2000 |012f: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415728: 0c02 |0132: move-result-object v2 │ │ -41572a: 1f02 5e0a |0133: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -41572e: 6e58 df58 3288 |0135: invoke-virtual {v2, v3, v8, v8, v8}, Landroid/widget/Button;.setCompoundDrawablesWithIntrinsicBounds:(IIII)V // method@58df │ │ -415734: 1402 2500 087f |0138: const v2, #float 1.80776e+38 // #7f080025 │ │ -41573a: 6e20 dcb8 2000 |013b: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415740: 0c02 |013e: move-result-object v2 │ │ -415742: 1f02 8d0a |013f: check-cast v2, Landroid/widget/Switch; // type@0a8d │ │ -415746: 1213 |0141: const/4 v3, #int 1 // #1 │ │ -415748: 6e20 db5a 3200 |0142: invoke-virtual {v2, v3}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ -41574e: 1402 2c00 087f |0145: const v2, #float 1.80776e+38 // #7f08002c │ │ -415754: 6e20 dcb8 2000 |0148: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41575a: 0c09 |014b: move-result-object v9 │ │ -41575c: 1f09 8d0a |014c: check-cast v9, Landroid/widget/Switch; // type@0a8d │ │ -415760: 540a 1a5d |014e: iget-object v10, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -415764: 1a0b 255a |0150: const-string v11, "automatic_neighbors_refresh" // string@5a25 │ │ -415768: 6e30 0eb6 4a0b |0152: invoke-virtual {v10, v4, v11}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ -41576e: 0c0a |0155: move-result-object v10 │ │ -415770: 6e10 c35c 0a00 |0156: invoke-virtual {v10}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -415776: 0a0a |0159: move-result v10 │ │ -415778: 380a 0b00 |015a: if-eqz v10, 0165 // +000b │ │ -41577c: 6e20 db5a 3900 |015c: invoke-virtual {v9, v3}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ -415782: 540a 1a5d |015f: iget-object v10, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -415786: 6e40 30b6 4a6b |0161: invoke-virtual {v10, v4, v11, v6}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -41578c: 2814 |0164: goto 0178 // +0014 │ │ -41578e: 540a 1a5d |0165: iget-object v10, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -415792: 6e30 0eb6 4a0b |0167: invoke-virtual {v10, v4, v11}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ -415798: 0c0a |016a: move-result-object v10 │ │ -41579a: 6e20 b85c 6a00 |016b: invoke-virtual {v10, v6}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -4157a0: 0a0a |016e: move-result v10 │ │ -4157a2: 380a 0600 |016f: if-eqz v10, 0175 // +0006 │ │ -4157a6: 6e20 db5a 3900 |0171: invoke-virtual {v9, v3}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ -4157ac: 2804 |0174: goto 0178 // +0004 │ │ -4157ae: 6e20 db5a 8900 |0175: invoke-virtual {v9, v8}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ -4157b4: 6e10 da5a 0900 |0178: invoke-virtual {v9}, Landroid/widget/Switch;.isChecked:()Z // method@5ada │ │ -4157ba: 0a09 |017b: move-result v9 │ │ -4157bc: 3809 0500 |017c: if-eqz v9, 0181 // +0005 │ │ -4157c0: 7601 0bb9 2800 |017e: invoke-direct/range {v40}, Lorg/purple/smoke/Settings;.startTimers:()V // method@b90b │ │ -4157c6: 1409 5c00 087f |0181: const v9, #float 1.80777e+38 // #7f08005c │ │ -4157cc: 6e20 dcb8 9000 |0184: invoke-virtual {v0, v9}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4157d2: 0c09 |0187: move-result-object v9 │ │ -4157d4: 1f09 8d0a |0188: check-cast v9, Landroid/widget/Switch; // type@0a8d │ │ -4157d8: 540a 1a5d |018a: iget-object v10, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -4157dc: 6e30 0eb6 4a07 |018c: invoke-virtual {v10, v4, v7}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ -4157e2: 0c07 |018f: move-result-object v7 │ │ -4157e4: 6e20 b85c 6700 |0190: invoke-virtual {v7, v6}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -4157ea: 0a07 |0193: move-result v7 │ │ -4157ec: 3807 0600 |0194: if-eqz v7, 019a // +0006 │ │ -4157f0: 6e20 db5a 3900 |0196: invoke-virtual {v9, v3}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ -4157f6: 2804 |0199: goto 019d // +0004 │ │ -4157f8: 6e20 db5a 8900 |019a: invoke-virtual {v9, v8}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ -4157fe: 1407 7300 087f |019d: const v7, #float 1.80777e+38 // #7f080073 │ │ -415804: 6e20 dcb8 7000 |01a0: invoke-virtual {v0, v7}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41580a: 0c07 |01a3: move-result-object v7 │ │ -41580c: 1f07 8d0a |01a4: check-cast v7, Landroid/widget/Switch; // type@0a8d │ │ -415810: 5409 1a5d |01a6: iget-object v9, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -415814: 1a0a f167 |01a8: const-string v10, "foreground_service" // string@67f1 │ │ -415818: 6e30 0eb6 490a |01aa: invoke-virtual {v9, v4, v10}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ -41581e: 0c09 |01ad: move-result-object v9 │ │ -415820: 1a0a c066 |01ae: const-string v10, "false" // string@66c0 │ │ -415824: 6e20 b85c a900 |01b0: invoke-virtual {v9, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41582a: 0a09 |01b3: move-result v9 │ │ -41582c: 3809 0600 |01b4: if-eqz v9, 01ba // +0006 │ │ -415830: 6e20 db5a 8700 |01b6: invoke-virtual {v7, v8}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ -415836: 2804 |01b9: goto 01bd // +0004 │ │ -415838: 6e20 db5a 3700 |01ba: invoke-virtual {v7, v3}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ -41583e: 1407 a600 087f |01bd: const v7, #float 1.80778e+38 // #7f0800a6 │ │ -415844: 6e20 dcb8 7000 |01c0: invoke-virtual {v0, v7}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41584a: 0c07 |01c3: move-result-object v7 │ │ -41584c: 1f07 8d0a |01c4: check-cast v7, Landroid/widget/Switch; // type@0a8d │ │ -415850: 5409 1a5d |01c6: iget-object v9, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -415854: 1a0a e189 |01c8: const-string v10, "neighbors_details" // string@89e1 │ │ -415858: 6e30 0eb6 490a |01ca: invoke-virtual {v9, v4, v10}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ -41585e: 0c09 |01cd: move-result-object v9 │ │ -415860: 6e20 b85c 6900 |01ce: invoke-virtual {v9, v6}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -415866: 0a09 |01d1: move-result v9 │ │ -415868: 3809 0600 |01d2: if-eqz v9, 01d8 // +0006 │ │ -41586c: 6e20 db5a 3700 |01d4: invoke-virtual {v7, v3}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ -415872: 2804 |01d7: goto 01db // +0004 │ │ -415874: 6e20 db5a 8700 |01d8: invoke-virtual {v7, v8}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ -41587a: 1407 d500 087f |01db: const v7, #float 1.80779e+38 // #7f0800d5 │ │ -415880: 6e20 dcb8 7000 |01de: invoke-virtual {v0, v7}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415886: 0c07 |01e1: move-result-object v7 │ │ -415888: 1f07 8d0a |01e2: check-cast v7, Landroid/widget/Switch; // type@0a8d │ │ -41588c: 5409 1a5d |01e4: iget-object v9, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -415890: 1a0a b193 |01e6: const-string v10, "query_time_server" // string@93b1 │ │ -415894: 6e30 0eb6 490a |01e8: invoke-virtual {v9, v4, v10}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ -41589a: 0c09 |01eb: move-result-object v9 │ │ -41589c: 6e20 b85c 6900 |01ec: invoke-virtual {v9, v6}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -4158a2: 0a09 |01ef: move-result v9 │ │ -4158a4: 3809 0600 |01f0: if-eqz v9, 01f6 // +0006 │ │ -4158a8: 6e20 db5a 3700 |01f2: invoke-virtual {v7, v3}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ -4158ae: 2804 |01f5: goto 01f9 // +0004 │ │ -4158b0: 6e20 db5a 8700 |01f6: invoke-virtual {v7, v8}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ -4158b6: 7100 66b9 0000 |01f9: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -4158bc: 0c09 |01fc: move-result-object v9 │ │ -4158be: 6e10 da5a 0700 |01fd: invoke-virtual {v7}, Landroid/widget/Switch;.isChecked:()Z // method@5ada │ │ -4158c4: 0a07 |0200: move-result v7 │ │ -4158c6: 6e20 7eb9 7900 |0201: invoke-virtual {v9, v7}, Lorg/purple/smoke/State;.setQueryTimerServer:(Z)V // method@b97e │ │ -4158cc: 1407 0801 087f |0204: const v7, #float 1.8078e+38 // #7f080108 │ │ -4158d2: 6e20 dcb8 7000 |0207: invoke-virtual {v0, v7}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4158d8: 0c07 |020a: move-result-object v7 │ │ -4158da: 1f07 8d0a |020b: check-cast v7, Landroid/widget/Switch; // type@0a8d │ │ -4158de: 5409 1a5d |020d: iget-object v9, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -4158e2: 1a0a 529f |020f: const-string v10, "silent" // string@9f52 │ │ -4158e6: 6e30 0eb6 490a |0211: invoke-virtual {v9, v4, v10}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ -4158ec: 0c09 |0214: move-result-object v9 │ │ -4158ee: 6e20 b85c 6900 |0215: invoke-virtual {v9, v6}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -4158f4: 0a09 |0218: move-result v9 │ │ -4158f6: 3809 0600 |0219: if-eqz v9, 021f // +0006 │ │ -4158fa: 6e20 db5a 3700 |021b: invoke-virtual {v7, v3}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ -415900: 2804 |021e: goto 0222 // +0004 │ │ -415902: 6e20 db5a 8700 |021f: invoke-virtual {v7, v8}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ -415908: 7100 66b9 0000 |0222: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -41590e: 0c09 |0225: move-result-object v9 │ │ -415910: 6e10 da5a 0700 |0226: invoke-virtual {v7}, Landroid/widget/Switch;.isChecked:()Z // method@5ada │ │ -415916: 0a07 |0229: move-result v7 │ │ -415918: 6e20 7fb9 7900 |022a: invoke-virtual {v9, v7}, Lorg/purple/smoke/State;.setSilent:(Z)V // method@b97f │ │ -41591e: 1407 0c01 087f |022d: const v7, #float 1.8078e+38 // #7f08010c │ │ -415924: 6e20 dcb8 7000 |0230: invoke-virtual {v0, v7}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41592a: 0c07 |0233: move-result-object v7 │ │ -41592c: 1f07 8d0a |0234: check-cast v7, Landroid/widget/Switch; // type@0a8d │ │ -415930: 5409 1a5d |0236: iget-object v9, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -415934: 6e30 0eb6 4905 |0238: invoke-virtual {v9, v4, v5}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ -41593a: 0c09 |023b: move-result-object v9 │ │ -41593c: 6e10 c35c 0900 |023c: invoke-virtual {v9}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -415942: 0a09 |023f: move-result v9 │ │ -415944: 3809 0b00 |0240: if-eqz v9, 024b // +000b │ │ -415948: 6e20 db5a 3700 |0242: invoke-virtual {v7, v3}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ -41594e: 5407 1a5d |0245: iget-object v7, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -415952: 6e40 30b6 4765 |0247: invoke-virtual {v7, v4, v5, v6}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -415958: 2814 |024a: goto 025e // +0014 │ │ -41595a: 5409 1a5d |024b: iget-object v9, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -41595e: 6e30 0eb6 4905 |024d: invoke-virtual {v9, v4, v5}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ -415964: 0c05 |0250: move-result-object v5 │ │ -415966: 6e20 b85c 6500 |0251: invoke-virtual {v5, v6}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -41596c: 0a05 |0254: move-result v5 │ │ -41596e: 3805 0600 |0255: if-eqz v5, 025b // +0006 │ │ -415972: 6e20 db5a 3700 |0257: invoke-virtual {v7, v3}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ -415978: 2804 |025a: goto 025e // +0004 │ │ -41597a: 6e20 db5a 8700 |025b: invoke-virtual {v7, v8}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ -415980: 1405 a900 087f |025e: const v5, #float 1.80778e+38 // #7f0800a9 │ │ -415986: 6e20 dcb8 5000 |0261: invoke-virtual {v0, v5}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -41598c: 0c05 |0264: move-result-object v5 │ │ -41598e: 1f05 7d0a |0265: check-cast v5, Landroid/widget/RadioButton; // type@0a7d │ │ -415992: 6e20 645a 1500 |0267: invoke-virtual {v5, v1}, Landroid/widget/RadioButton;.setEnabled:(Z)V // method@5a64 │ │ -415998: 1405 aa00 087f |026a: const v5, #float 1.80778e+38 // #7f0800aa │ │ -41599e: 6e20 dcb8 5000 |026d: invoke-virtual {v0, v5}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4159a4: 0c05 |0270: move-result-object v5 │ │ -4159a6: 1f05 7d0a |0271: check-cast v5, Landroid/widget/RadioButton; // type@0a7d │ │ -4159aa: 6e20 645a 1500 |0273: invoke-virtual {v5, v1}, Landroid/widget/RadioButton;.setEnabled:(Z)V // method@5a64 │ │ -4159b0: 1405 d400 087f |0276: const v5, #float 1.80779e+38 // #7f0800d4 │ │ -4159b6: 6e20 dcb8 5000 |0279: invoke-virtual {v0, v5}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4159bc: 0c05 |027c: move-result-object v5 │ │ -4159be: 1f05 8b0a |027d: check-cast v5, Landroid/widget/Spinner; // type@0a8b │ │ -4159c2: 1a06 351c |027f: const-string v6, "HTTP" // string@1c35 │ │ -4159c6: 1a07 4b48 |0281: const-string v7, "SOCKS" // string@484b │ │ -4159ca: 2420 1a1b 7600 |0283: filled-new-array {v6, v7}, [Ljava/lang/String; // type@1b1a │ │ -4159d0: 0c06 |0286: move-result-object v6 │ │ -4159d2: 6e20 c65a 1500 |0287: invoke-virtual {v5, v1}, Landroid/widget/Spinner;.setEnabled:(Z)V // method@5ac6 │ │ -4159d8: 2207 5b0a |028a: new-instance v7, Landroid/widget/ArrayAdapter; // type@0a5b │ │ -4159dc: 1409 0800 0901 |028c: const v9, #float 2.51629e-38 // #01090008 │ │ -4159e2: 7040 cb58 0769 |028f: invoke-direct {v7, v0, v9, v6}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;I[Ljava/lang/Object;)V // method@58cb │ │ -4159e8: 6e20 c05a 7500 |0292: invoke-virtual {v5, v7}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@5ac0 │ │ -4159ee: 1405 ae00 087f |0295: const v5, #float 1.80779e+38 // #7f0800ae │ │ -4159f4: 6e20 dcb8 5000 |0298: invoke-virtual {v0, v5}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -4159fa: 0c05 |029b: move-result-object v5 │ │ -4159fc: 1f05 8b0a |029c: check-cast v5, Landroid/widget/Spinner; // type@0a8b │ │ -415a00: 1a06 e04b |029e: const-string v6, "TCP" // string@4be0 │ │ -415a04: 1a07 d24e |02a0: const-string v7, "UDP" // string@4ed2 │ │ -415a08: 2420 1a1b 7600 |02a2: filled-new-array {v6, v7}, [Ljava/lang/String; // type@1b1a │ │ -415a0e: 0c06 |02a5: move-result-object v6 │ │ -415a10: 6e20 c65a 1500 |02a6: invoke-virtual {v5, v1}, Landroid/widget/Spinner;.setEnabled:(Z)V // method@5ac6 │ │ -415a16: 2207 5b0a |02a9: new-instance v7, Landroid/widget/ArrayAdapter; // type@0a5b │ │ -415a1a: 7040 cb58 0769 |02ab: invoke-direct {v7, v0, v9, v6}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;I[Ljava/lang/Object;)V // method@58cb │ │ -415a20: 6e20 c05a 7500 |02ae: invoke-virtual {v5, v7}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@5ac0 │ │ -415a26: 1a0a de07 |02b1: const-string v10, "5" // string@07de │ │ -415a2a: 1a0b 5306 |02b3: const-string v11, "10" // string@0653 │ │ -415a2e: 1a0c b206 |02b5: const-string v12, "15" // string@06b2 │ │ -415a32: 1a0d 4d07 |02b7: const-string v13, "25" // string@074d │ │ -415a36: 1a0e e007 |02b9: const-string v14, "50" // string@07e0 │ │ -415a3a: 1a0f 5606 |02bb: const-string v15, "100" // string@0656 │ │ -415a3e: 1a10 5806 |02bd: const-string v16, "1000" // string@0658 │ │ -415a42: 1a11 4e07 |02bf: const-string v17, "2500" // string@074e │ │ -415a46: 1a12 e207 |02c1: const-string v18, "5000" // string@07e2 │ │ -415a4a: 1a13 2d08 |02c3: const-string v19, "7500" // string@082d │ │ -415a4e: 1a14 5906 |02c5: const-string v20, "10000" // string@0659 │ │ -415a52: 1a15 a006 |02c7: const-string v21, "12500" // string@06a0 │ │ -415a56: 1a16 b706 |02c9: const-string v22, "15000" // string@06b7 │ │ -415a5a: 1a17 c206 |02cb: const-string v23, "17500" // string@06c2 │ │ -415a5e: 1a18 3907 |02cd: const-string v24, "20000" // string@0739 │ │ -415a62: 1a19 4f07 |02cf: const-string v25, "25000" // string@074f │ │ -415a66: 1a1a 7307 |02d1: const-string v26, "30000" // string@0773 │ │ -415a6a: 1a1b a107 |02d3: const-string v27, "35000" // string@07a1 │ │ -415a6e: 1a1c be07 |02d5: const-string v28, "40000" // string@07be │ │ -415a72: 1a1d d107 |02d7: const-string v29, "45000" // string@07d1 │ │ -415a76: 1a1e e307 |02d9: const-string v30, "50000" // string@07e3 │ │ -415a7a: 1a1f f607 |02db: const-string v31, "55000" // string@07f6 │ │ -415a7e: 1a20 0a08 |02dd: const-string v32, "60000" // string@080a │ │ -415a82: 1a21 1108 |02df: const-string v33, "65000" // string@0811 │ │ -415a86: 1a22 2508 |02e1: const-string v34, "70000" // string@0825 │ │ -415a8a: 1a23 5a06 |02e3: const-string v35, "100000" // string@065a │ │ -415a8e: 1a24 5007 |02e5: const-string v36, "250000" // string@0750 │ │ -415a92: 1a25 5b06 |02e7: const-string v37, "1000000" // string@065b │ │ -415a96: 1a26 5107 |02e9: const-string v38, "2500000" // string@0751 │ │ -415a9a: 1a27 5c06 |02eb: const-string v39, "10000000" // string@065c │ │ -415a9e: 251e 1a1b 0a00 |02ed: filled-new-array/range {v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39}, [Ljava/lang/String; // type@1b1a │ │ -415aa4: 0c05 |02f0: move-result-object v5 │ │ -415aa6: 2206 5b0a |02f1: new-instance v6, Landroid/widget/ArrayAdapter; // type@0a5b │ │ -415aaa: 7040 cb58 0659 |02f3: invoke-direct {v6, v0, v9, v5}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;I[Ljava/lang/Object;)V // method@58cb │ │ -415ab0: 5405 1a5d |02f6: iget-object v5, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -415ab4: 1a07 637a |02f8: const-string v7, "iterationCount" // string@7a63 │ │ -415ab8: 6e30 0eb6 4507 |02fa: invoke-virtual {v5, v4, v7}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ -415abe: 0c05 |02fd: move-result-object v5 │ │ -415ac0: 6e20 cc58 5600 |02fe: invoke-virtual {v6, v5}, Landroid/widget/ArrayAdapter;.getPosition:(Ljava/lang/Object;)I // method@58cc │ │ -415ac6: 0a05 |0301: move-result v5 │ │ -415ac8: 1407 8500 087f |0302: const v7, #float 1.80778e+38 // #7f080085 │ │ -415ace: 6e20 dcb8 7000 |0305: invoke-virtual {v0, v7}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415ad4: 0c0a |0308: move-result-object v10 │ │ -415ad6: 1f0a 8b0a |0309: check-cast v10, Landroid/widget/Spinner; // type@0a8b │ │ -415ada: 6e20 c05a 6a00 |030b: invoke-virtual {v10, v6}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@5ac0 │ │ -415ae0: 1a06 6d0e |030e: const-string v6, "Argon2id" // string@0e6d │ │ -415ae4: 1a0a 7d42 |0310: const-string v10, "PBKDF2" // string@427d │ │ -415ae8: 2420 1a1b a600 |0312: filled-new-array {v6, v10}, [Ljava/lang/String; // type@1b1a │ │ -415aee: 0c06 |0315: move-result-object v6 │ │ -415af0: 220a 5b0a |0316: new-instance v10, Landroid/widget/ArrayAdapter; // type@0a5b │ │ -415af4: 7040 cb58 0a69 |0318: invoke-direct {v10, v0, v9, v6}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;I[Ljava/lang/Object;)V // method@58cb │ │ -415afa: 5406 1a5d |031b: iget-object v6, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -415afe: 1a0b d77a |031d: const-string v11, "keyDerivationFunction" // string@7ad7 │ │ -415b02: 6e30 0eb6 460b |031f: invoke-virtual {v6, v4, v11}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ -415b08: 0c06 |0322: move-result-object v6 │ │ -415b0a: 7110 555c 0600 |0323: invoke-static {v6}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@5c55 │ │ -415b10: 0a06 |0326: move-result v6 │ │ -415b12: 2802 |0327: goto 0329 // +0002 │ │ -415b14: 1216 |0328: const/4 v6, #int 1 // #1 │ │ -415b16: 140b 8700 087f |0329: const v11, #float 1.80778e+38 // #7f080087 │ │ -415b1c: 6e20 dcb8 b000 |032c: invoke-virtual {v0, v11}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415b22: 0c0c |032f: move-result-object v12 │ │ -415b24: 1f0c 8b0a |0330: check-cast v12, Landroid/widget/Spinner; // type@0a8b │ │ -415b28: 6e20 c05a ac00 |0332: invoke-virtual {v12, v10}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@5ac0 │ │ -415b2e: 620a d651 |0335: sget-object v10, Lorg/purple/smoke/Cryptography;.PUBLIC_KEY_TYPES:[Ljava/lang/String; // field@51d6 │ │ -415b32: 220c 5b0a |0337: new-instance v12, Landroid/widget/ArrayAdapter; // type@0a5b │ │ -415b36: 7040 cb58 0ca9 |0339: invoke-direct {v12, v0, v9, v10}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;I[Ljava/lang/Object;)V // method@58cb │ │ -415b3c: 140a ca00 087f |033c: const v10, #float 1.80779e+38 // #7f0800ca │ │ -415b42: 6e20 dcb8 a000 |033f: invoke-virtual {v0, v10}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415b48: 0c0d |0342: move-result-object v13 │ │ -415b4a: 1f0d 8b0a |0343: check-cast v13, Landroid/widget/Spinner; // type@0a8b │ │ -415b4e: 6e20 c05a cd00 |0345: invoke-virtual {v13, v12}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@5ac0 │ │ -415b54: 1a0c e617 |0348: const-string v12, "ECDSA" // string@17e6 │ │ -415b58: 1a0d 6945 |034a: const-string v13, "RSA" // string@4569 │ │ -415b5c: 1a0e 9545 |034c: const-string v14, "Rainbow" // string@4595 │ │ -415b60: 1a0f 6f48 |034e: const-string v15, "SPHINCS" // string@486f │ │ -415b64: 2440 1a1b dcfe |0350: filled-new-array {v12, v13, v14, v15}, [Ljava/lang/String; // type@1b1a │ │ -415b6a: 0c0c |0353: move-result-object v12 │ │ -415b6c: 220d 5b0a |0354: new-instance v13, Landroid/widget/ArrayAdapter; // type@0a5b │ │ -415b70: 7040 cb58 0dc9 |0356: invoke-direct {v13, v0, v9, v12}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;I[Ljava/lang/Object;)V // method@58cb │ │ -415b76: 1409 cc00 087f |0359: const v9, #float 1.80779e+38 // #7f0800cc │ │ -415b7c: 6e20 dcb8 9000 |035c: invoke-virtual {v0, v9}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415b82: 0c0c |035f: move-result-object v12 │ │ -415b84: 1f0c 8b0a |0360: check-cast v12, Landroid/widget/Spinner; // type@0a8b │ │ -415b88: 6e20 c05a dc00 |0362: invoke-virtual {v12, v13}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@5ac0 │ │ -415b8e: 140c ab00 087f |0365: const v12, #float 1.80778e+38 // #7f0800ab │ │ -415b94: 6e20 dcb8 c000 |0368: invoke-virtual {v0, v12}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415b9a: 0c0c |036b: move-result-object v12 │ │ -415b9c: 1f0c 7f0a |036c: check-cast v12, Landroid/widget/RadioGroup; // type@0a7f │ │ -415ba0: 220d 661a |036e: new-instance v13, Lorg/purple/smoke/Settings$39; // type@1a66 │ │ -415ba4: 7020 89b8 0d00 |0370: invoke-direct {v13, v0}, Lorg/purple/smoke/Settings$39;.:(Lorg/purple/smoke/Settings;)V // method@b889 │ │ -415baa: 6e20 675a dc00 |0373: invoke-virtual {v12, v13}, Landroid/widget/RadioGroup;.setOnCheckedChangeListener:(Landroid/widget/RadioGroup$OnCheckedChangeListener;)V // method@5a67 │ │ -415bb0: 140c b600 087f |0376: const v12, #float 1.80779e+38 // #7f0800b6 │ │ -415bb6: 6e20 dcb8 c000 |0379: invoke-virtual {v0, v12}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415bbc: 0c0d |037c: move-result-object v13 │ │ -415bbe: 1f0d 8d0a |037d: check-cast v13, Landroid/widget/Switch; // type@0a8d │ │ -415bc2: 6e20 db5a 8d00 |037f: invoke-virtual {v13, v8}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ -415bc8: 6e20 de5a 1d00 |0382: invoke-virtual {v13, v1}, Landroid/widget/Switch;.setEnabled:(Z)V // method@5ade │ │ -415bce: 140d 7400 087f |0385: const v13, #float 1.80777e+38 // #7f080074 │ │ -415bd4: 6e20 dcb8 d000 |0388: invoke-virtual {v0, v13}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415bda: 0c0e |038b: move-result-object v14 │ │ -415bdc: 1f0e 5e0a |038c: check-cast v14, Landroid/widget/Button; // type@0a5e │ │ -415be0: 3801 0500 |038e: if-eqz v1, 0393 // +0005 │ │ -415be4: 6e20 e058 8e00 |0390: invoke-virtual {v14, v8}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ -415bea: 140e ff00 087f |0393: const v14, #float 1.8078e+38 // #7f0800ff │ │ -415bf0: 6e20 dcb8 e000 |0396: invoke-virtual {v0, v14}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415bf6: 0c0e |0399: move-result-object v14 │ │ -415bf8: 1f0e 5e0a |039a: check-cast v14, Landroid/widget/Button; // type@0a5e │ │ -415bfc: 3801 0500 |039c: if-eqz v1, 03a1 // +0005 │ │ -415c00: 6e20 e058 8e00 |039e: invoke-virtual {v14, v8}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ -415c06: 150e 087f |03a1: const/high16 v14, #int 2131230720 // #7f08 │ │ -415c0a: 6e20 dcb8 e000 |03a3: invoke-virtual {v0, v14}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415c10: 0c0e |03a6: move-result-object v14 │ │ -415c12: 1f0e 970a |03a7: check-cast v14, Landroid/widget/TextView; // type@0a97 │ │ -415c16: 7100 bfb4 0000 |03a9: invoke-static {}, Lorg/purple/smoke/About;.about:()Ljava/lang/String; // method@b4bf │ │ -415c1c: 0c0f |03ac: move-result-object v15 │ │ -415c1e: 6e20 495b fe00 |03ad: invoke-virtual {v14, v15}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -415c24: 1a0f 0100 |03b0: const-string v15, " │ │ +4154b0: |[4154b0] org.purple.smoke.Settings.onCreate:(Landroid/os/Bundle;)V │ │ +4154c0: 0800 2800 |0000: move-object/from16 v0, v40 │ │ +4154c4: 7502 f23c 2800 |0002: invoke-super/range {v40, v41}, Landroid/support/v7/app/AppCompatActivity;.onCreate:(Landroid/os/Bundle;)V // method@3cf2 │ │ +4154ca: 7401 dfb8 2800 |0005: invoke-virtual/range {v40}, Lorg/purple/smoke/Settings;.getApplicationContext:()Landroid/content/Context; // method@b8df │ │ +4154d0: 0c01 |0008: move-result-object v1 │ │ +4154d2: 7110 e9b5 0100 |0009: invoke-static {v1}, Lorg/purple/smoke/Database;.getInstance:(Landroid/content/Context;)Lorg/purple/smoke/Database; // method@b5e9 │ │ +4154d8: 0c01 |000c: move-result-object v1 │ │ +4154da: 5b01 1a5d |000d: iput-object v1, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +4154de: 7100 66b9 0000 |000f: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +4154e4: 0c01 |0012: move-result-object v1 │ │ +4154e6: 6e10 69b9 0100 |0013: invoke-virtual {v1}, Lorg/purple/smoke/State;.isAuthenticated:()Z // method@b969 │ │ +4154ec: 0a01 |0016: move-result v1 │ │ +4154ee: 3901 0e00 |0017: if-nez v1, 0025 // +000e │ │ +4154f2: 5402 1a5d |0019: iget-object v2, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +4154f6: 6e10 d4b5 0200 |001b: invoke-virtual {v2}, Lorg/purple/smoke/Database;.accountPrepared:()Z // method@b5d4 │ │ +4154fc: 0a02 |001e: move-result v2 │ │ +4154fe: 3802 0600 |001f: if-eqz v2, 0025 // +0006 │ │ +415502: 7601 01b9 2800 |0021: invoke-direct/range {v40}, Lorg/purple/smoke/Settings;.showAuthenticateActivity:()V // method@b901 │ │ +415508: 0e00 |0024: return-void │ │ +41550a: 7100 02b7 0000 |0025: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ +415510: 0c02 |0028: move-result-object v2 │ │ +415512: 5403 1a5d |0029: iget-object v3, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +415516: 1204 |002b: const/4 v4, #int 0 // #0 │ │ +415518: 1a05 2858 |002c: const-string v5, "always_awake" // string@5828 │ │ +41551c: 6e30 0eb6 4305 |002e: invoke-virtual {v3, v4, v5}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ +415522: 0c03 |0031: move-result-object v3 │ │ +415524: 1a06 00a3 |0032: const-string v6, "true" // string@a300 │ │ +415528: 6e20 b85c 6300 |0034: invoke-virtual {v3, v6}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41552e: 0a03 |0037: move-result v3 │ │ +415530: 6e20 15b7 3200 |0038: invoke-virtual {v2, v3}, Lorg/purple/smoke/Kernel;.setWakeLock:(Z)V // method@b715 │ │ +415536: 7100 66b9 0000 |003b: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +41553c: 0c02 |003e: move-result-object v2 │ │ +41553e: 5403 1a5d |003f: iget-object v3, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +415542: 1a07 e289 |0041: const-string v7, "neighbors_echo" // string@89e2 │ │ +415546: 6e30 0eb6 4307 |0043: invoke-virtual {v3, v4, v7}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ +41554c: 0c03 |0046: move-result-object v3 │ │ +41554e: 6e20 b85c 6300 |0047: invoke-virtual {v3, v6}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +415554: 0a03 |004a: move-result v3 │ │ +415556: 6e20 7db9 3200 |004b: invoke-virtual {v2, v3}, Lorg/purple/smoke/State;.setNeighborsEcho:(Z)V // method@b97d │ │ +41555c: 2202 7b1a |004e: new-instance v2, Lorg/purple/smoke/Settings$SettingsBroadcastReceiver; // type@1a7b │ │ +415560: 7020 bcb8 0200 |0050: invoke-direct {v2, v0}, Lorg/purple/smoke/Settings$SettingsBroadcastReceiver;.:(Lorg/purple/smoke/Settings;)V // method@b8bc │ │ +415566: 5b02 1b5d |0053: iput-object v2, v0, Lorg/purple/smoke/Settings;.m_receiver:Lorg/purple/smoke/Settings$SettingsBroadcastReceiver; // field@5d1b │ │ +41556a: 7601 f7b8 2800 |0055: invoke-direct/range {v40}, Lorg/purple/smoke/Settings;.prepareForegroundService:()V // method@b8f7 │ │ +415570: 1402 1f00 0a7f |0058: const v2, #float 1.83434e+38 // #7f0a001f │ │ +415576: 6e20 feb8 2000 |005b: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.setContentView:(I)V // method@b8fe │ │ +41557c: 7401 e3b8 2800 |005e: invoke-virtual/range {v40}, Lorg/purple/smoke/Settings;.getSupportActionBar:()Landroid/support/v7/app/ActionBar; // method@b8e3 │ │ +415582: 0c02 |0061: move-result-object v2 │ │ +415584: 7100 20b9 0000 |0062: invoke-static {}, Lorg/purple/smoke/Smoke;.networkStatusString:()Ljava/lang/String; // method@b920 │ │ +41558a: 0c03 |0065: move-result-object v3 │ │ +41558c: 6e20 0a3c 3200 |0066: invoke-virtual {v2, v3}, Landroid/support/v7/app/ActionBar;.setSubtitle:(Ljava/lang/CharSequence;)V // method@3c0a │ │ +415592: 7401 e3b8 2800 |0069: invoke-virtual/range {v40}, Lorg/purple/smoke/Settings;.getSupportActionBar:()Landroid/support/v7/app/ActionBar; // method@b8e3 │ │ +415598: 0c02 |006c: move-result-object v2 │ │ +41559a: 1a03 064b |006d: const-string v3, "Smoke | Settings" // string@4b06 │ │ +41559e: 6e20 0c3c 3200 |006f: invoke-virtual {v2, v3}, Landroid/support/v7/app/ActionBar;.setTitle:(Ljava/lang/CharSequence;)V // method@3c0c │ │ +4155a4: 2802 |0072: goto 0074 // +0002 │ │ +4155a6: 0000 |0073: nop // spacer │ │ +4155a8: 7601 f8b8 2800 |0074: invoke-direct/range {v40}, Lorg/purple/smoke/Settings;.prepareListeners:()V // method@b8f8 │ │ +4155ae: 1402 1e00 087f |0077: const v2, #float 1.80776e+38 // #7f08001e │ │ +4155b4: 6e20 dcb8 2000 |007a: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4155ba: 0c02 |007d: move-result-object v2 │ │ +4155bc: 1f02 5e0a |007e: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +4155c0: 6e20 e058 1200 |0080: invoke-virtual {v2, v1}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ +4155c6: 1402 1f00 087f |0083: const v2, #float 1.80776e+38 // #7f08001f │ │ +4155cc: 6e20 dcb8 2000 |0086: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4155d2: 0c02 |0089: move-result-object v2 │ │ +4155d4: 1f02 5e0a |008a: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +4155d8: 6e20 e058 1200 |008c: invoke-virtual {v2, v1}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ +4155de: 1402 5d00 087f |008f: const v2, #float 1.80777e+38 // #7f08005d │ │ +4155e4: 6e20 dcb8 2000 |0092: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4155ea: 0c02 |0095: move-result-object v2 │ │ +4155ec: 1f02 5e0a |0096: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +4155f0: 1403 6e00 077f |0098: const v3, #float 1.79448e+38 // #7f07006e │ │ +4155f6: 1208 |009b: const/4 v8, #int 0 // #0 │ │ +4155f8: 6e58 df58 3288 |009c: invoke-virtual {v2, v3, v8, v8, v8}, Landroid/widget/Button;.setCompoundDrawablesWithIntrinsicBounds:(IIII)V // method@58df │ │ +4155fe: 1402 6400 087f |009f: const v2, #float 1.80777e+38 // #7f080064 │ │ +415604: 6e20 dcb8 2000 |00a2: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +41560a: 0c02 |00a5: move-result-object v2 │ │ +41560c: 1f02 5e0a |00a6: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +415610: 1409 8500 077f |00a8: const v9, #float 1.79448e+38 // #7f070085 │ │ +415616: 6e58 df58 9288 |00ab: invoke-virtual {v2, v9, v8, v8, v8}, Landroid/widget/Button;.setCompoundDrawablesWithIntrinsicBounds:(IIII)V // method@58df │ │ +41561c: 6e20 e058 1200 |00ae: invoke-virtual {v2, v1}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ +415622: 1402 8200 087f |00b1: const v2, #float 1.80778e+38 // #7f080082 │ │ +415628: 6e20 dcb8 2000 |00b4: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +41562e: 0c02 |00b7: move-result-object v2 │ │ +415630: 1f02 5e0a |00b8: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +415634: 6e58 df58 3288 |00ba: invoke-virtual {v2, v3, v8, v8, v8}, Landroid/widget/Button;.setCompoundDrawablesWithIntrinsicBounds:(IIII)V // method@58df │ │ +41563a: 1402 b800 087f |00bd: const v2, #float 1.80779e+38 // #7f0800b8 │ │ +415640: 6e20 dcb8 2000 |00c0: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415646: 0c02 |00c3: move-result-object v2 │ │ +415648: 1f02 5e0a |00c4: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +41564c: 6e58 df58 3288 |00c6: invoke-virtual {v2, v3, v8, v8, v8}, Landroid/widget/Button;.setCompoundDrawablesWithIntrinsicBounds:(IIII)V // method@58df │ │ +415652: 1402 c200 087f |00c9: const v2, #float 1.80779e+38 // #7f0800c2 │ │ +415658: 6e20 dcb8 2000 |00cc: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +41565e: 0c02 |00cf: move-result-object v2 │ │ +415660: 1f02 5e0a |00d0: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +415664: 6e58 df58 3288 |00d2: invoke-virtual {v2, v3, v8, v8, v8}, Landroid/widget/Button;.setCompoundDrawablesWithIntrinsicBounds:(IIII)V // method@58df │ │ +41566a: 1402 da00 087f |00d5: const v2, #float 1.80779e+38 // #7f0800da │ │ +415670: 6e20 dcb8 2000 |00d8: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415676: 0c02 |00db: move-result-object v2 │ │ +415678: 1f02 5e0a |00dc: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +41567c: 6e20 e058 1200 |00de: invoke-virtual {v2, v1}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ +415682: 1402 db00 087f |00e1: const v2, #float 1.80779e+38 // #7f0800db │ │ +415688: 6e20 dcb8 2000 |00e4: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +41568e: 0c02 |00e7: move-result-object v2 │ │ +415690: 1f02 5e0a |00e8: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +415694: 6e20 e058 1200 |00ea: invoke-virtual {v2, v1}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ +41569a: 1402 e000 087f |00ed: const v2, #float 1.8078e+38 // #7f0800e0 │ │ +4156a0: 6e20 dcb8 2000 |00f0: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4156a6: 0c02 |00f3: move-result-object v2 │ │ +4156a8: 1f02 5e0a |00f4: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +4156ac: 6e20 e058 1200 |00f6: invoke-virtual {v2, v1}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ +4156b2: 1402 e100 087f |00f9: const v2, #float 1.8078e+38 // #7f0800e1 │ │ +4156b8: 6e20 dcb8 2000 |00fc: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4156be: 0c02 |00ff: move-result-object v2 │ │ +4156c0: 1f02 5e0a |0100: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +4156c4: 6e20 e058 1200 |0102: invoke-virtual {v2, v1}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ +4156ca: 1402 e800 087f |0105: const v2, #float 1.8078e+38 // #7f0800e8 │ │ +4156d0: 6e20 dcb8 2000 |0108: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4156d6: 0c02 |010b: move-result-object v2 │ │ +4156d8: 1f02 5e0a |010c: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +4156dc: 6e20 e058 1200 |010e: invoke-virtual {v2, v1}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ +4156e2: 1402 0201 087f |0111: const v2, #float 1.8078e+38 // #7f080102 │ │ +4156e8: 6e20 dcb8 2000 |0114: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4156ee: 0c02 |0117: move-result-object v2 │ │ +4156f0: 1f02 5e0a |0118: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +4156f4: 6e58 df58 9288 |011a: invoke-virtual {v2, v9, v8, v8, v8}, Landroid/widget/Button;.setCompoundDrawablesWithIntrinsicBounds:(IIII)V // method@58df │ │ +4156fa: 6e20 e058 1200 |011d: invoke-virtual {v2, v1}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ +415700: 1402 0901 087f |0120: const v2, #float 1.8078e+38 // #7f080109 │ │ +415706: 6e20 dcb8 2000 |0123: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +41570c: 0c02 |0126: move-result-object v2 │ │ +41570e: 1f02 5e0a |0127: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +415712: 6e58 df58 3288 |0129: invoke-virtual {v2, v3, v8, v8, v8}, Landroid/widget/Button;.setCompoundDrawablesWithIntrinsicBounds:(IIII)V // method@58df │ │ +415718: 1402 0a01 087f |012c: const v2, #float 1.8078e+38 // #7f08010a │ │ +41571e: 6e20 dcb8 2000 |012f: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415724: 0c02 |0132: move-result-object v2 │ │ +415726: 1f02 5e0a |0133: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +41572a: 6e58 df58 3288 |0135: invoke-virtual {v2, v3, v8, v8, v8}, Landroid/widget/Button;.setCompoundDrawablesWithIntrinsicBounds:(IIII)V // method@58df │ │ +415730: 1402 2500 087f |0138: const v2, #float 1.80776e+38 // #7f080025 │ │ +415736: 6e20 dcb8 2000 |013b: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +41573c: 0c02 |013e: move-result-object v2 │ │ +41573e: 1f02 8d0a |013f: check-cast v2, Landroid/widget/Switch; // type@0a8d │ │ +415742: 1213 |0141: const/4 v3, #int 1 // #1 │ │ +415744: 6e20 db5a 3200 |0142: invoke-virtual {v2, v3}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ +41574a: 1402 2c00 087f |0145: const v2, #float 1.80776e+38 // #7f08002c │ │ +415750: 6e20 dcb8 2000 |0148: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415756: 0c09 |014b: move-result-object v9 │ │ +415758: 1f09 8d0a |014c: check-cast v9, Landroid/widget/Switch; // type@0a8d │ │ +41575c: 540a 1a5d |014e: iget-object v10, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +415760: 1a0b 255a |0150: const-string v11, "automatic_neighbors_refresh" // string@5a25 │ │ +415764: 6e30 0eb6 4a0b |0152: invoke-virtual {v10, v4, v11}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ +41576a: 0c0a |0155: move-result-object v10 │ │ +41576c: 6e10 c35c 0a00 |0156: invoke-virtual {v10}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +415772: 0a0a |0159: move-result v10 │ │ +415774: 380a 0b00 |015a: if-eqz v10, 0165 // +000b │ │ +415778: 6e20 db5a 3900 |015c: invoke-virtual {v9, v3}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ +41577e: 540a 1a5d |015f: iget-object v10, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +415782: 6e40 30b6 4a6b |0161: invoke-virtual {v10, v4, v11, v6}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +415788: 2814 |0164: goto 0178 // +0014 │ │ +41578a: 540a 1a5d |0165: iget-object v10, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +41578e: 6e30 0eb6 4a0b |0167: invoke-virtual {v10, v4, v11}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ +415794: 0c0a |016a: move-result-object v10 │ │ +415796: 6e20 b85c 6a00 |016b: invoke-virtual {v10, v6}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41579c: 0a0a |016e: move-result v10 │ │ +41579e: 380a 0600 |016f: if-eqz v10, 0175 // +0006 │ │ +4157a2: 6e20 db5a 3900 |0171: invoke-virtual {v9, v3}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ +4157a8: 2804 |0174: goto 0178 // +0004 │ │ +4157aa: 6e20 db5a 8900 |0175: invoke-virtual {v9, v8}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ +4157b0: 6e10 da5a 0900 |0178: invoke-virtual {v9}, Landroid/widget/Switch;.isChecked:()Z // method@5ada │ │ +4157b6: 0a09 |017b: move-result v9 │ │ +4157b8: 3809 0500 |017c: if-eqz v9, 0181 // +0005 │ │ +4157bc: 7601 0bb9 2800 |017e: invoke-direct/range {v40}, Lorg/purple/smoke/Settings;.startTimers:()V // method@b90b │ │ +4157c2: 1409 5c00 087f |0181: const v9, #float 1.80777e+38 // #7f08005c │ │ +4157c8: 6e20 dcb8 9000 |0184: invoke-virtual {v0, v9}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4157ce: 0c09 |0187: move-result-object v9 │ │ +4157d0: 1f09 8d0a |0188: check-cast v9, Landroid/widget/Switch; // type@0a8d │ │ +4157d4: 540a 1a5d |018a: iget-object v10, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +4157d8: 6e30 0eb6 4a07 |018c: invoke-virtual {v10, v4, v7}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ +4157de: 0c07 |018f: move-result-object v7 │ │ +4157e0: 6e20 b85c 6700 |0190: invoke-virtual {v7, v6}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +4157e6: 0a07 |0193: move-result v7 │ │ +4157e8: 3807 0600 |0194: if-eqz v7, 019a // +0006 │ │ +4157ec: 6e20 db5a 3900 |0196: invoke-virtual {v9, v3}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ +4157f2: 2804 |0199: goto 019d // +0004 │ │ +4157f4: 6e20 db5a 8900 |019a: invoke-virtual {v9, v8}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ +4157fa: 1407 7300 087f |019d: const v7, #float 1.80777e+38 // #7f080073 │ │ +415800: 6e20 dcb8 7000 |01a0: invoke-virtual {v0, v7}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415806: 0c07 |01a3: move-result-object v7 │ │ +415808: 1f07 8d0a |01a4: check-cast v7, Landroid/widget/Switch; // type@0a8d │ │ +41580c: 5409 1a5d |01a6: iget-object v9, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +415810: 1a0a f167 |01a8: const-string v10, "foreground_service" // string@67f1 │ │ +415814: 6e30 0eb6 490a |01aa: invoke-virtual {v9, v4, v10}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ +41581a: 0c09 |01ad: move-result-object v9 │ │ +41581c: 1a0a c066 |01ae: const-string v10, "false" // string@66c0 │ │ +415820: 6e20 b85c a900 |01b0: invoke-virtual {v9, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +415826: 0a09 |01b3: move-result v9 │ │ +415828: 3809 0600 |01b4: if-eqz v9, 01ba // +0006 │ │ +41582c: 6e20 db5a 8700 |01b6: invoke-virtual {v7, v8}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ +415832: 2804 |01b9: goto 01bd // +0004 │ │ +415834: 6e20 db5a 3700 |01ba: invoke-virtual {v7, v3}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ +41583a: 1407 a600 087f |01bd: const v7, #float 1.80778e+38 // #7f0800a6 │ │ +415840: 6e20 dcb8 7000 |01c0: invoke-virtual {v0, v7}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415846: 0c07 |01c3: move-result-object v7 │ │ +415848: 1f07 8d0a |01c4: check-cast v7, Landroid/widget/Switch; // type@0a8d │ │ +41584c: 5409 1a5d |01c6: iget-object v9, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +415850: 1a0a e189 |01c8: const-string v10, "neighbors_details" // string@89e1 │ │ +415854: 6e30 0eb6 490a |01ca: invoke-virtual {v9, v4, v10}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ +41585a: 0c09 |01cd: move-result-object v9 │ │ +41585c: 6e20 b85c 6900 |01ce: invoke-virtual {v9, v6}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +415862: 0a09 |01d1: move-result v9 │ │ +415864: 3809 0600 |01d2: if-eqz v9, 01d8 // +0006 │ │ +415868: 6e20 db5a 3700 |01d4: invoke-virtual {v7, v3}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ +41586e: 2804 |01d7: goto 01db // +0004 │ │ +415870: 6e20 db5a 8700 |01d8: invoke-virtual {v7, v8}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ +415876: 1407 d500 087f |01db: const v7, #float 1.80779e+38 // #7f0800d5 │ │ +41587c: 6e20 dcb8 7000 |01de: invoke-virtual {v0, v7}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415882: 0c07 |01e1: move-result-object v7 │ │ +415884: 1f07 8d0a |01e2: check-cast v7, Landroid/widget/Switch; // type@0a8d │ │ +415888: 5409 1a5d |01e4: iget-object v9, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +41588c: 1a0a b193 |01e6: const-string v10, "query_time_server" // string@93b1 │ │ +415890: 6e30 0eb6 490a |01e8: invoke-virtual {v9, v4, v10}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ +415896: 0c09 |01eb: move-result-object v9 │ │ +415898: 6e20 b85c 6900 |01ec: invoke-virtual {v9, v6}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41589e: 0a09 |01ef: move-result v9 │ │ +4158a0: 3809 0600 |01f0: if-eqz v9, 01f6 // +0006 │ │ +4158a4: 6e20 db5a 3700 |01f2: invoke-virtual {v7, v3}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ +4158aa: 2804 |01f5: goto 01f9 // +0004 │ │ +4158ac: 6e20 db5a 8700 |01f6: invoke-virtual {v7, v8}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ +4158b2: 7100 66b9 0000 |01f9: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +4158b8: 0c09 |01fc: move-result-object v9 │ │ +4158ba: 6e10 da5a 0700 |01fd: invoke-virtual {v7}, Landroid/widget/Switch;.isChecked:()Z // method@5ada │ │ +4158c0: 0a07 |0200: move-result v7 │ │ +4158c2: 6e20 7eb9 7900 |0201: invoke-virtual {v9, v7}, Lorg/purple/smoke/State;.setQueryTimerServer:(Z)V // method@b97e │ │ +4158c8: 1407 0801 087f |0204: const v7, #float 1.8078e+38 // #7f080108 │ │ +4158ce: 6e20 dcb8 7000 |0207: invoke-virtual {v0, v7}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4158d4: 0c07 |020a: move-result-object v7 │ │ +4158d6: 1f07 8d0a |020b: check-cast v7, Landroid/widget/Switch; // type@0a8d │ │ +4158da: 5409 1a5d |020d: iget-object v9, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +4158de: 1a0a 529f |020f: const-string v10, "silent" // string@9f52 │ │ +4158e2: 6e30 0eb6 490a |0211: invoke-virtual {v9, v4, v10}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ +4158e8: 0c09 |0214: move-result-object v9 │ │ +4158ea: 6e20 b85c 6900 |0215: invoke-virtual {v9, v6}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +4158f0: 0a09 |0218: move-result v9 │ │ +4158f2: 3809 0600 |0219: if-eqz v9, 021f // +0006 │ │ +4158f6: 6e20 db5a 3700 |021b: invoke-virtual {v7, v3}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ +4158fc: 2804 |021e: goto 0222 // +0004 │ │ +4158fe: 6e20 db5a 8700 |021f: invoke-virtual {v7, v8}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ +415904: 7100 66b9 0000 |0222: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +41590a: 0c09 |0225: move-result-object v9 │ │ +41590c: 6e10 da5a 0700 |0226: invoke-virtual {v7}, Landroid/widget/Switch;.isChecked:()Z // method@5ada │ │ +415912: 0a07 |0229: move-result v7 │ │ +415914: 6e20 7fb9 7900 |022a: invoke-virtual {v9, v7}, Lorg/purple/smoke/State;.setSilent:(Z)V // method@b97f │ │ +41591a: 1407 0c01 087f |022d: const v7, #float 1.8078e+38 // #7f08010c │ │ +415920: 6e20 dcb8 7000 |0230: invoke-virtual {v0, v7}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415926: 0c07 |0233: move-result-object v7 │ │ +415928: 1f07 8d0a |0234: check-cast v7, Landroid/widget/Switch; // type@0a8d │ │ +41592c: 5409 1a5d |0236: iget-object v9, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +415930: 6e30 0eb6 4905 |0238: invoke-virtual {v9, v4, v5}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ +415936: 0c09 |023b: move-result-object v9 │ │ +415938: 6e10 c35c 0900 |023c: invoke-virtual {v9}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +41593e: 0a09 |023f: move-result v9 │ │ +415940: 3809 0b00 |0240: if-eqz v9, 024b // +000b │ │ +415944: 6e20 db5a 3700 |0242: invoke-virtual {v7, v3}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ +41594a: 5407 1a5d |0245: iget-object v7, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +41594e: 6e40 30b6 4765 |0247: invoke-virtual {v7, v4, v5, v6}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +415954: 2814 |024a: goto 025e // +0014 │ │ +415956: 5409 1a5d |024b: iget-object v9, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +41595a: 6e30 0eb6 4905 |024d: invoke-virtual {v9, v4, v5}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ +415960: 0c05 |0250: move-result-object v5 │ │ +415962: 6e20 b85c 6500 |0251: invoke-virtual {v5, v6}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +415968: 0a05 |0254: move-result v5 │ │ +41596a: 3805 0600 |0255: if-eqz v5, 025b // +0006 │ │ +41596e: 6e20 db5a 3700 |0257: invoke-virtual {v7, v3}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ +415974: 2804 |025a: goto 025e // +0004 │ │ +415976: 6e20 db5a 8700 |025b: invoke-virtual {v7, v8}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ +41597c: 1405 a900 087f |025e: const v5, #float 1.80778e+38 // #7f0800a9 │ │ +415982: 6e20 dcb8 5000 |0261: invoke-virtual {v0, v5}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415988: 0c05 |0264: move-result-object v5 │ │ +41598a: 1f05 7d0a |0265: check-cast v5, Landroid/widget/RadioButton; // type@0a7d │ │ +41598e: 6e20 645a 1500 |0267: invoke-virtual {v5, v1}, Landroid/widget/RadioButton;.setEnabled:(Z)V // method@5a64 │ │ +415994: 1405 aa00 087f |026a: const v5, #float 1.80778e+38 // #7f0800aa │ │ +41599a: 6e20 dcb8 5000 |026d: invoke-virtual {v0, v5}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4159a0: 0c05 |0270: move-result-object v5 │ │ +4159a2: 1f05 7d0a |0271: check-cast v5, Landroid/widget/RadioButton; // type@0a7d │ │ +4159a6: 6e20 645a 1500 |0273: invoke-virtual {v5, v1}, Landroid/widget/RadioButton;.setEnabled:(Z)V // method@5a64 │ │ +4159ac: 1405 d400 087f |0276: const v5, #float 1.80779e+38 // #7f0800d4 │ │ +4159b2: 6e20 dcb8 5000 |0279: invoke-virtual {v0, v5}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4159b8: 0c05 |027c: move-result-object v5 │ │ +4159ba: 1f05 8b0a |027d: check-cast v5, Landroid/widget/Spinner; // type@0a8b │ │ +4159be: 1a06 351c |027f: const-string v6, "HTTP" // string@1c35 │ │ +4159c2: 1a07 4b48 |0281: const-string v7, "SOCKS" // string@484b │ │ +4159c6: 2420 1a1b 7600 |0283: filled-new-array {v6, v7}, [Ljava/lang/String; // type@1b1a │ │ +4159cc: 0c06 |0286: move-result-object v6 │ │ +4159ce: 6e20 c65a 1500 |0287: invoke-virtual {v5, v1}, Landroid/widget/Spinner;.setEnabled:(Z)V // method@5ac6 │ │ +4159d4: 2207 5b0a |028a: new-instance v7, Landroid/widget/ArrayAdapter; // type@0a5b │ │ +4159d8: 1409 0800 0901 |028c: const v9, #float 2.51629e-38 // #01090008 │ │ +4159de: 7040 cb58 0769 |028f: invoke-direct {v7, v0, v9, v6}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;I[Ljava/lang/Object;)V // method@58cb │ │ +4159e4: 6e20 c05a 7500 |0292: invoke-virtual {v5, v7}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@5ac0 │ │ +4159ea: 1405 ae00 087f |0295: const v5, #float 1.80779e+38 // #7f0800ae │ │ +4159f0: 6e20 dcb8 5000 |0298: invoke-virtual {v0, v5}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +4159f6: 0c05 |029b: move-result-object v5 │ │ +4159f8: 1f05 8b0a |029c: check-cast v5, Landroid/widget/Spinner; // type@0a8b │ │ +4159fc: 1a06 e04b |029e: const-string v6, "TCP" // string@4be0 │ │ +415a00: 1a07 d24e |02a0: const-string v7, "UDP" // string@4ed2 │ │ +415a04: 2420 1a1b 7600 |02a2: filled-new-array {v6, v7}, [Ljava/lang/String; // type@1b1a │ │ +415a0a: 0c06 |02a5: move-result-object v6 │ │ +415a0c: 6e20 c65a 1500 |02a6: invoke-virtual {v5, v1}, Landroid/widget/Spinner;.setEnabled:(Z)V // method@5ac6 │ │ +415a12: 2207 5b0a |02a9: new-instance v7, Landroid/widget/ArrayAdapter; // type@0a5b │ │ +415a16: 7040 cb58 0769 |02ab: invoke-direct {v7, v0, v9, v6}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;I[Ljava/lang/Object;)V // method@58cb │ │ +415a1c: 6e20 c05a 7500 |02ae: invoke-virtual {v5, v7}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@5ac0 │ │ +415a22: 1a0a de07 |02b1: const-string v10, "5" // string@07de │ │ +415a26: 1a0b 5306 |02b3: const-string v11, "10" // string@0653 │ │ +415a2a: 1a0c b206 |02b5: const-string v12, "15" // string@06b2 │ │ +415a2e: 1a0d 4d07 |02b7: const-string v13, "25" // string@074d │ │ +415a32: 1a0e e007 |02b9: const-string v14, "50" // string@07e0 │ │ +415a36: 1a0f 5606 |02bb: const-string v15, "100" // string@0656 │ │ +415a3a: 1a10 5806 |02bd: const-string v16, "1000" // string@0658 │ │ +415a3e: 1a11 4e07 |02bf: const-string v17, "2500" // string@074e │ │ +415a42: 1a12 e207 |02c1: const-string v18, "5000" // string@07e2 │ │ +415a46: 1a13 2d08 |02c3: const-string v19, "7500" // string@082d │ │ +415a4a: 1a14 5906 |02c5: const-string v20, "10000" // string@0659 │ │ +415a4e: 1a15 a006 |02c7: const-string v21, "12500" // string@06a0 │ │ +415a52: 1a16 b706 |02c9: const-string v22, "15000" // string@06b7 │ │ +415a56: 1a17 c206 |02cb: const-string v23, "17500" // string@06c2 │ │ +415a5a: 1a18 3907 |02cd: const-string v24, "20000" // string@0739 │ │ +415a5e: 1a19 4f07 |02cf: const-string v25, "25000" // string@074f │ │ +415a62: 1a1a 7307 |02d1: const-string v26, "30000" // string@0773 │ │ +415a66: 1a1b a107 |02d3: const-string v27, "35000" // string@07a1 │ │ +415a6a: 1a1c be07 |02d5: const-string v28, "40000" // string@07be │ │ +415a6e: 1a1d d107 |02d7: const-string v29, "45000" // string@07d1 │ │ +415a72: 1a1e e307 |02d9: const-string v30, "50000" // string@07e3 │ │ +415a76: 1a1f f607 |02db: const-string v31, "55000" // string@07f6 │ │ +415a7a: 1a20 0a08 |02dd: const-string v32, "60000" // string@080a │ │ +415a7e: 1a21 1108 |02df: const-string v33, "65000" // string@0811 │ │ +415a82: 1a22 2508 |02e1: const-string v34, "70000" // string@0825 │ │ +415a86: 1a23 5a06 |02e3: const-string v35, "100000" // string@065a │ │ +415a8a: 1a24 5007 |02e5: const-string v36, "250000" // string@0750 │ │ +415a8e: 1a25 5b06 |02e7: const-string v37, "1000000" // string@065b │ │ +415a92: 1a26 5107 |02e9: const-string v38, "2500000" // string@0751 │ │ +415a96: 1a27 5c06 |02eb: const-string v39, "10000000" // string@065c │ │ +415a9a: 251e 1a1b 0a00 |02ed: filled-new-array/range {v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39}, [Ljava/lang/String; // type@1b1a │ │ +415aa0: 0c05 |02f0: move-result-object v5 │ │ +415aa2: 2206 5b0a |02f1: new-instance v6, Landroid/widget/ArrayAdapter; // type@0a5b │ │ +415aa6: 7040 cb58 0659 |02f3: invoke-direct {v6, v0, v9, v5}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;I[Ljava/lang/Object;)V // method@58cb │ │ +415aac: 5405 1a5d |02f6: iget-object v5, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +415ab0: 1a07 637a |02f8: const-string v7, "iterationCount" // string@7a63 │ │ +415ab4: 6e30 0eb6 4507 |02fa: invoke-virtual {v5, v4, v7}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ +415aba: 0c05 |02fd: move-result-object v5 │ │ +415abc: 6e20 cc58 5600 |02fe: invoke-virtual {v6, v5}, Landroid/widget/ArrayAdapter;.getPosition:(Ljava/lang/Object;)I // method@58cc │ │ +415ac2: 0a05 |0301: move-result v5 │ │ +415ac4: 1407 8500 087f |0302: const v7, #float 1.80778e+38 // #7f080085 │ │ +415aca: 6e20 dcb8 7000 |0305: invoke-virtual {v0, v7}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415ad0: 0c0a |0308: move-result-object v10 │ │ +415ad2: 1f0a 8b0a |0309: check-cast v10, Landroid/widget/Spinner; // type@0a8b │ │ +415ad6: 6e20 c05a 6a00 |030b: invoke-virtual {v10, v6}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@5ac0 │ │ +415adc: 1a06 6d0e |030e: const-string v6, "Argon2id" // string@0e6d │ │ +415ae0: 1a0a 7d42 |0310: const-string v10, "PBKDF2" // string@427d │ │ +415ae4: 2420 1a1b a600 |0312: filled-new-array {v6, v10}, [Ljava/lang/String; // type@1b1a │ │ +415aea: 0c06 |0315: move-result-object v6 │ │ +415aec: 220a 5b0a |0316: new-instance v10, Landroid/widget/ArrayAdapter; // type@0a5b │ │ +415af0: 7040 cb58 0a69 |0318: invoke-direct {v10, v0, v9, v6}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;I[Ljava/lang/Object;)V // method@58cb │ │ +415af6: 5406 1a5d |031b: iget-object v6, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +415afa: 1a0b d77a |031d: const-string v11, "keyDerivationFunction" // string@7ad7 │ │ +415afe: 6e30 0eb6 460b |031f: invoke-virtual {v6, v4, v11}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ +415b04: 0c06 |0322: move-result-object v6 │ │ +415b06: 7110 555c 0600 |0323: invoke-static {v6}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@5c55 │ │ +415b0c: 0a06 |0326: move-result v6 │ │ +415b0e: 2802 |0327: goto 0329 // +0002 │ │ +415b10: 1216 |0328: const/4 v6, #int 1 // #1 │ │ +415b12: 140b 8700 087f |0329: const v11, #float 1.80778e+38 // #7f080087 │ │ +415b18: 6e20 dcb8 b000 |032c: invoke-virtual {v0, v11}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415b1e: 0c0c |032f: move-result-object v12 │ │ +415b20: 1f0c 8b0a |0330: check-cast v12, Landroid/widget/Spinner; // type@0a8b │ │ +415b24: 6e20 c05a ac00 |0332: invoke-virtual {v12, v10}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@5ac0 │ │ +415b2a: 620a d651 |0335: sget-object v10, Lorg/purple/smoke/Cryptography;.PUBLIC_KEY_TYPES:[Ljava/lang/String; // field@51d6 │ │ +415b2e: 220c 5b0a |0337: new-instance v12, Landroid/widget/ArrayAdapter; // type@0a5b │ │ +415b32: 7040 cb58 0ca9 |0339: invoke-direct {v12, v0, v9, v10}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;I[Ljava/lang/Object;)V // method@58cb │ │ +415b38: 140a ca00 087f |033c: const v10, #float 1.80779e+38 // #7f0800ca │ │ +415b3e: 6e20 dcb8 a000 |033f: invoke-virtual {v0, v10}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415b44: 0c0d |0342: move-result-object v13 │ │ +415b46: 1f0d 8b0a |0343: check-cast v13, Landroid/widget/Spinner; // type@0a8b │ │ +415b4a: 6e20 c05a cd00 |0345: invoke-virtual {v13, v12}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@5ac0 │ │ +415b50: 1a0c e617 |0348: const-string v12, "ECDSA" // string@17e6 │ │ +415b54: 1a0d 6945 |034a: const-string v13, "RSA" // string@4569 │ │ +415b58: 1a0e 9545 |034c: const-string v14, "Rainbow" // string@4595 │ │ +415b5c: 1a0f 6f48 |034e: const-string v15, "SPHINCS" // string@486f │ │ +415b60: 2440 1a1b dcfe |0350: filled-new-array {v12, v13, v14, v15}, [Ljava/lang/String; // type@1b1a │ │ +415b66: 0c0c |0353: move-result-object v12 │ │ +415b68: 220d 5b0a |0354: new-instance v13, Landroid/widget/ArrayAdapter; // type@0a5b │ │ +415b6c: 7040 cb58 0dc9 |0356: invoke-direct {v13, v0, v9, v12}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;I[Ljava/lang/Object;)V // method@58cb │ │ +415b72: 1409 cc00 087f |0359: const v9, #float 1.80779e+38 // #7f0800cc │ │ +415b78: 6e20 dcb8 9000 |035c: invoke-virtual {v0, v9}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415b7e: 0c0c |035f: move-result-object v12 │ │ +415b80: 1f0c 8b0a |0360: check-cast v12, Landroid/widget/Spinner; // type@0a8b │ │ +415b84: 6e20 c05a dc00 |0362: invoke-virtual {v12, v13}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@5ac0 │ │ +415b8a: 140c ab00 087f |0365: const v12, #float 1.80778e+38 // #7f0800ab │ │ +415b90: 6e20 dcb8 c000 |0368: invoke-virtual {v0, v12}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415b96: 0c0c |036b: move-result-object v12 │ │ +415b98: 1f0c 7f0a |036c: check-cast v12, Landroid/widget/RadioGroup; // type@0a7f │ │ +415b9c: 220d 661a |036e: new-instance v13, Lorg/purple/smoke/Settings$39; // type@1a66 │ │ +415ba0: 7020 89b8 0d00 |0370: invoke-direct {v13, v0}, Lorg/purple/smoke/Settings$39;.:(Lorg/purple/smoke/Settings;)V // method@b889 │ │ +415ba6: 6e20 675a dc00 |0373: invoke-virtual {v12, v13}, Landroid/widget/RadioGroup;.setOnCheckedChangeListener:(Landroid/widget/RadioGroup$OnCheckedChangeListener;)V // method@5a67 │ │ +415bac: 140c b600 087f |0376: const v12, #float 1.80779e+38 // #7f0800b6 │ │ +415bb2: 6e20 dcb8 c000 |0379: invoke-virtual {v0, v12}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415bb8: 0c0d |037c: move-result-object v13 │ │ +415bba: 1f0d 8d0a |037d: check-cast v13, Landroid/widget/Switch; // type@0a8d │ │ +415bbe: 6e20 db5a 8d00 |037f: invoke-virtual {v13, v8}, Landroid/widget/Switch;.setChecked:(Z)V // method@5adb │ │ +415bc4: 6e20 de5a 1d00 |0382: invoke-virtual {v13, v1}, Landroid/widget/Switch;.setEnabled:(Z)V // method@5ade │ │ +415bca: 140d 7400 087f |0385: const v13, #float 1.80777e+38 // #7f080074 │ │ +415bd0: 6e20 dcb8 d000 |0388: invoke-virtual {v0, v13}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415bd6: 0c0e |038b: move-result-object v14 │ │ +415bd8: 1f0e 5e0a |038c: check-cast v14, Landroid/widget/Button; // type@0a5e │ │ +415bdc: 3801 0500 |038e: if-eqz v1, 0393 // +0005 │ │ +415be0: 6e20 e058 8e00 |0390: invoke-virtual {v14, v8}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ +415be6: 140e ff00 087f |0393: const v14, #float 1.8078e+38 // #7f0800ff │ │ +415bec: 6e20 dcb8 e000 |0396: invoke-virtual {v0, v14}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415bf2: 0c0e |0399: move-result-object v14 │ │ +415bf4: 1f0e 5e0a |039a: check-cast v14, Landroid/widget/Button; // type@0a5e │ │ +415bf8: 3801 0500 |039c: if-eqz v1, 03a1 // +0005 │ │ +415bfc: 6e20 e058 8e00 |039e: invoke-virtual {v14, v8}, Landroid/widget/Button;.setEnabled:(Z)V // method@58e0 │ │ +415c02: 150e 087f |03a1: const/high16 v14, #int 2131230720 // #7f08 │ │ +415c06: 6e20 dcb8 e000 |03a3: invoke-virtual {v0, v14}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415c0c: 0c0e |03a6: move-result-object v14 │ │ +415c0e: 1f0e 970a |03a7: check-cast v14, Landroid/widget/TextView; // type@0a97 │ │ +415c12: 7100 bfb4 0000 |03a9: invoke-static {}, Lorg/purple/smoke/About;.about:()Ljava/lang/String; // method@b4bf │ │ +415c18: 0c0f |03ac: move-result-object v15 │ │ +415c1a: 6e20 495b fe00 |03ad: invoke-virtual {v14, v15}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +415c20: 1a0f 0100 |03b0: const-string v15, " │ │ " // string@0001 │ │ -415c28: 6e20 035b fe00 |03b2: invoke-virtual {v14, v15}, Landroid/widget/TextView;.append:(Ljava/lang/CharSequence;)V // method@5b03 │ │ -415c2e: 220c f10a |03b5: new-instance v12, Ljava/lang/StringBuilder; // type@0af1 │ │ -415c32: 7010 ee5c 0c00 |03b7: invoke-direct {v12}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -415c38: 1a0d d051 |03ba: const-string v13, "WakeLock Locked: " // string@51d0 │ │ -415c3c: 6e20 f95c dc00 |03bc: invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -415c42: 7100 02b7 0000 |03bf: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ -415c48: 0c0d |03c2: move-result-object v13 │ │ -415c4a: 6e10 16b7 0d00 |03c3: invoke-virtual {v13}, Lorg/purple/smoke/Kernel;.wakeLocked:()Z // method@b716 │ │ -415c50: 0a0d |03c6: move-result v13 │ │ -415c52: 7110 e5b7 0d00 |03c7: invoke-static {v13}, Lorg/purple/smoke/Miscellaneous;.niceBoolean:(Z)Ljava/lang/String; // method@b7e5 │ │ -415c58: 0c0d |03ca: move-result-object v13 │ │ -415c5a: 6e20 f95c dc00 |03cb: invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -415c60: 6e10 035d 0c00 |03ce: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -415c66: 0c0c |03d1: move-result-object v12 │ │ -415c68: 6e20 035b ce00 |03d2: invoke-virtual {v14, v12}, Landroid/widget/TextView;.append:(Ljava/lang/CharSequence;)V // method@5b03 │ │ -415c6e: 6e20 035b fe00 |03d5: invoke-virtual {v14, v15}, Landroid/widget/TextView;.append:(Ljava/lang/CharSequence;)V // method@5b03 │ │ -415c74: 220c f10a |03d8: new-instance v12, Ljava/lang/StringBuilder; // type@0af1 │ │ -415c78: 7010 ee5c 0c00 |03da: invoke-direct {v12}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -415c7e: 1a0d d951 |03dd: const-string v13, "WiFiLock Locked: " // string@51d9 │ │ -415c82: 6e20 f95c dc00 |03df: invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -415c88: 7100 02b7 0000 |03e2: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ -415c8e: 0c0d |03e5: move-result-object v13 │ │ -415c90: 6e10 18b7 0d00 |03e6: invoke-virtual {v13}, Lorg/purple/smoke/Kernel;.wifiLocked:()Z // method@b718 │ │ -415c96: 0a0d |03e9: move-result v13 │ │ -415c98: 7110 e5b7 0d00 |03ea: invoke-static {v13}, Lorg/purple/smoke/Miscellaneous;.niceBoolean:(Z)Ljava/lang/String; // method@b7e5 │ │ -415c9e: 0c0d |03ed: move-result-object v13 │ │ -415ca0: 6e20 f95c dc00 |03ee: invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -415ca6: 6e10 035d 0c00 |03f1: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -415cac: 0c0c |03f4: move-result-object v12 │ │ -415cae: 6e20 035b ce00 |03f5: invoke-virtual {v14, v12}, Landroid/widget/TextView;.append:(Ljava/lang/CharSequence;)V // method@5b03 │ │ -415cb4: 140c ad00 087f |03f8: const v12, #float 1.80779e+38 // #7f0800ad │ │ -415cba: 6e20 dcb8 c000 |03fb: invoke-virtual {v0, v12}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415cc0: 0c0c |03fe: move-result-object v12 │ │ -415cc2: 1f0c 970a |03ff: check-cast v12, Landroid/widget/TextView; // type@0a97 │ │ -415cc6: 6e20 335b 8c00 |0401: invoke-virtual {v12, v8}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ -415ccc: 140c ac00 087f |0404: const v12, #float 1.80778e+38 // #7f0800ac │ │ -415cd2: 6e20 dcb8 c000 |0407: invoke-virtual {v0, v12}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415cd8: 0c0c |040a: move-result-object v12 │ │ -415cda: 1f0c 970a |040b: check-cast v12, Landroid/widget/TextView; // type@0a97 │ │ -415cde: 6e20 335b 1c00 |040d: invoke-virtual {v12, v1}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ -415ce4: 233d 0f1b |0410: new-array v13, v3, [Landroid/text/InputFilter; // type@1b0f │ │ -415ce8: 620e 1f5d |0412: sget-object v14, Lorg/purple/smoke/Settings;.s_portFilter:Landroid/text/InputFilter; // field@5d1f │ │ -415cec: 4d0e 0d08 |0414: aput-object v14, v13, v8 │ │ -415cf0: 6e20 345b dc00 |0416: invoke-virtual {v12, v13}, Landroid/widget/TextView;.setFilters:([Landroid/text/InputFilter;)V // method@5b34 │ │ -415cf6: 1a0d d507 |0419: const-string v13, "4710" // string@07d5 │ │ -415cfa: 6e20 495b dc00 |041b: invoke-virtual {v12, v13}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -415d00: 140c a800 087f |041e: const v12, #float 1.80778e+38 // #7f0800a8 │ │ -415d06: 6e20 dcb8 c000 |0421: invoke-virtual {v0, v12}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415d0c: 0c0c |0424: move-result-object v12 │ │ -415d0e: 1f0c 970a |0425: check-cast v12, Landroid/widget/TextView; // type@0a97 │ │ -415d12: 3801 0500 |0427: if-eqz v1, 042c // +0005 │ │ -415d16: 6e10 265b 0c00 |0429: invoke-virtual {v12}, Landroid/widget/TextView;.requestFocus:()Z // method@5b26 │ │ -415d1c: 6e20 335b 1c00 |042c: invoke-virtual {v12, v1}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ -415d22: 140c b700 087f |042f: const v12, #float 1.80779e+38 // #7f0800b7 │ │ -415d28: 6e20 dcb8 c000 |0432: invoke-virtual {v0, v12}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415d2e: 0c0d |0435: move-result-object v13 │ │ -415d30: 1f0d 970a |0436: check-cast v13, Landroid/widget/TextView; // type@0a97 │ │ -415d34: 6e20 335b 1d00 |0438: invoke-virtual {v13, v1}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ -415d3a: 140d bd00 087f |043b: const v13, #float 1.80779e+38 // #7f0800bd │ │ -415d40: 6e20 dcb8 d000 |043e: invoke-virtual {v0, v13}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415d46: 0c0d |0441: move-result-object v13 │ │ -415d48: 1f0d 970a |0442: check-cast v13, Landroid/widget/TextView; // type@0a97 │ │ -415d4c: 6e20 335b 1d00 |0444: invoke-virtual {v13, v1}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ -415d52: 140d be00 087f |0447: const v13, #float 1.80779e+38 // #7f0800be │ │ -415d58: 6e20 dcb8 d000 |044a: invoke-virtual {v0, v13}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415d5e: 0c0d |044d: move-result-object v13 │ │ -415d60: 1f0d 970a |044e: check-cast v13, Landroid/widget/TextView; // type@0a97 │ │ -415d64: 6e20 335b 1d00 |0450: invoke-virtual {v13, v1}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ -415d6a: 140d c400 087f |0453: const v13, #float 1.80779e+38 // #7f0800c4 │ │ -415d70: 6e20 dcb8 d000 |0456: invoke-virtual {v0, v13}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415d76: 0c0f |0459: move-result-object v15 │ │ -415d78: 1f0f 970a |045a: check-cast v15, Landroid/widget/TextView; // type@0a97 │ │ -415d7c: 3901 0500 |045c: if-nez v1, 0461 // +0005 │ │ -415d80: 6e10 265b 0f00 |045e: invoke-virtual {v15}, Landroid/widget/TextView;.requestFocus:()Z // method@5b26 │ │ -415d86: 1a0d 0000 |0461: const-string v13, "" // string@0000 │ │ -415d8a: 6e20 495b df00 |0463: invoke-virtual {v15, v13}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -415d90: 140f c500 087f |0466: const v15, #float 1.80779e+38 // #7f0800c5 │ │ -415d96: 6e20 dcb8 f000 |0469: invoke-virtual {v0, v15}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415d9c: 0c0f |046c: move-result-object v15 │ │ -415d9e: 1f0f 970a |046d: check-cast v15, Landroid/widget/TextView; // type@0a97 │ │ -415da2: 6e20 495b df00 |046f: invoke-virtual {v15, v13}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -415da8: 140d d200 087f |0472: const v13, #float 1.80779e+38 // #7f0800d2 │ │ -415dae: 6e20 dcb8 d000 |0475: invoke-virtual {v0, v13}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415db4: 0c0d |0478: move-result-object v13 │ │ -415db6: 1f0d 970a |0479: check-cast v13, Landroid/widget/TextView; // type@0a97 │ │ -415dba: 6e20 335b 1d00 |047b: invoke-virtual {v13, v1}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ -415dc0: 140d d300 087f |047e: const v13, #float 1.80779e+38 // #7f0800d3 │ │ -415dc6: 6e20 dcb8 d000 |0481: invoke-virtual {v0, v13}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415dcc: 0c0d |0484: move-result-object v13 │ │ -415dce: 1f0d 970a |0485: check-cast v13, Landroid/widget/TextView; // type@0a97 │ │ -415dd2: 6e20 335b 1d00 |0487: invoke-virtual {v13, v1}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ -415dd8: 233f 0f1b |048a: new-array v15, v3, [Landroid/text/InputFilter; // type@1b0f │ │ -415ddc: 4d0e 0f08 |048c: aput-object v14, v15, v8 │ │ -415de0: 6e20 345b fd00 |048e: invoke-virtual {v13, v15}, Landroid/widget/TextView;.setFilters:([Landroid/text/InputFilter;)V // method@5b34 │ │ -415de6: 6e20 dcb8 7000 |0491: invoke-virtual {v0, v7}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415dec: 0c07 |0494: move-result-object v7 │ │ -415dee: 1f07 8b0a |0495: check-cast v7, Landroid/widget/Spinner; // type@0a8b │ │ -415df2: 7120 7e5c 5800 |0497: invoke-static {v8, v5}, Ljava/lang/Math;.max:(II)I // method@5c7e │ │ -415df8: 0a05 |049a: move-result v5 │ │ -415dfa: 6e20 cc5a 5700 |049b: invoke-virtual {v7, v5}, Landroid/widget/Spinner;.setSelection:(I)V // method@5acc │ │ -415e00: 6e20 dcb8 b000 |049e: invoke-virtual {v0, v11}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415e06: 0c05 |04a1: move-result-object v5 │ │ -415e08: 1f05 8b0a |04a2: check-cast v5, Landroid/widget/Spinner; // type@0a8b │ │ -415e0c: 3a06 0600 |04a4: if-ltz v6, 04aa // +0006 │ │ -415e10: 6e20 cc5a 6500 |04a6: invoke-virtual {v5, v6}, Landroid/widget/Spinner;.setSelection:(I)V // method@5acc │ │ -415e16: 2804 |04a9: goto 04ad // +0004 │ │ -415e18: 6e20 cc5a 3500 |04aa: invoke-virtual {v5, v3}, Landroid/widget/Spinner;.setSelection:(I)V // method@5acc │ │ -415e1e: 6e20 dcb8 a000 |04ad: invoke-virtual {v0, v10}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415e24: 0c05 |04b0: move-result-object v5 │ │ -415e26: 1f05 8b0a |04b1: check-cast v5, Landroid/widget/Spinner; // type@0a8b │ │ -415e2a: 1246 |04b3: const/4 v6, #int 4 // #4 │ │ -415e2c: 6e20 cc5a 6500 |04b4: invoke-virtual {v5, v6}, Landroid/widget/Spinner;.setSelection:(I)V // method@5acc │ │ -415e32: 6e20 dcb8 9000 |04b7: invoke-virtual {v0, v9}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415e38: 0c05 |04ba: move-result-object v5 │ │ -415e3a: 1f05 8b0a |04bb: check-cast v5, Landroid/widget/Spinner; // type@0a8b │ │ -415e3e: 6e10 b15a 0500 |04bd: invoke-virtual {v5}, Landroid/widget/Spinner;.getAdapter:()Landroid/widget/SpinnerAdapter; // method@5ab1 │ │ -415e44: 0c06 |04c0: move-result-object v6 │ │ -415e46: 7210 cd5a 0600 |04c1: invoke-interface {v6}, Landroid/widget/SpinnerAdapter;.getCount:()I // method@5acd │ │ -415e4c: 0a06 |04c4: move-result v6 │ │ -415e4e: 3736 0500 |04c5: if-le v6, v3, 04ca // +0005 │ │ -415e52: 6e20 cc5a 3500 |04c7: invoke-virtual {v5, v3}, Landroid/widget/Spinner;.setSelection:(I)V // method@5acc │ │ -415e58: 7601 f2b8 2800 |04ca: invoke-direct/range {v40}, Lorg/purple/smoke/Settings;.populateFancyKeyData:()V // method@b8f2 │ │ -415e5e: 3801 3f00 |04cd: if-eqz v1, 050c // +003f │ │ -415e62: 6e20 dcb8 2000 |04cf: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415e68: 0c01 |04d2: move-result-object v1 │ │ -415e6a: 1f01 8d0a |04d3: check-cast v1, Landroid/widget/Switch; // type@0a8d │ │ -415e6e: 1402 2200 087f |04d5: const v2, #float 1.80776e+38 // #7f080022 │ │ -415e74: 6e20 dcb8 2000 |04d8: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415e7a: 0c02 |04db: move-result-object v2 │ │ -415e7c: 1f02 970a |04dc: check-cast v2, Landroid/widget/TextView; // type@0a97 │ │ -415e80: 5405 1a5d |04de: iget-object v5, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -415e84: 6206 1e5d |04e0: sget-object v6, Lorg/purple/smoke/Settings;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d1e │ │ -415e88: 1a07 0958 |04e2: const-string v7, "alias" // string@5809 │ │ -415e8c: 6e30 0eb6 6507 |04e4: invoke-virtual {v5, v6, v7}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ -415e92: 0c05 |04e7: move-result-object v5 │ │ -415e94: 6e20 495b 5200 |04e8: invoke-virtual {v2, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -415e9a: 6e20 dcb8 c000 |04eb: invoke-virtual {v0, v12}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415ea0: 0c02 |04ee: move-result-object v2 │ │ -415ea2: 1f02 970a |04ef: check-cast v2, Landroid/widget/TextView; // type@0a97 │ │ -415ea6: 5405 1a5d |04f1: iget-object v5, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -415eaa: 1a07 2590 |04f3: const-string v7, "ozone_address" // string@9025 │ │ -415eae: 6e30 0eb6 6507 |04f5: invoke-virtual {v5, v6, v7}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ -415eb4: 0c05 |04f8: move-result-object v5 │ │ -415eb6: 6e20 495b 5200 |04f9: invoke-virtual {v2, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -415ebc: 7601 f5b8 2800 |04fc: invoke-direct/range {v40}, Lorg/purple/smoke/Settings;.populateParticipants:()V // method@b8f5 │ │ -415ec2: 7601 0ab9 2800 |04ff: invoke-direct/range {v40}, Lorg/purple/smoke/Settings;.startKernel:()V // method@b90a │ │ -415ec8: 6e10 da5a 0100 |0502: invoke-virtual {v1}, Landroid/widget/Switch;.isChecked:()Z // method@5ada │ │ -415ece: 0a01 |0505: move-result v1 │ │ -415ed0: 3901 6200 |0506: if-nez v1, 0568 // +0062 │ │ -415ed4: 7020 f3b8 4000 |0508: invoke-direct {v0, v4}, Lorg/purple/smoke/Settings;.populateNeighbors:(Ljava/util/ArrayList;)V // method@b8f3 │ │ -415eda: 285d |050b: goto 0568 // +005d │ │ -415edc: 1401 9200 087f |050c: const v1, #float 1.80778e+38 // #7f080092 │ │ -415ee2: 6e20 dcb8 1000 |050f: invoke-virtual {v0, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415ee8: 0c01 |0512: move-result-object v1 │ │ -415eea: 1f01 210a |0513: check-cast v1, Landroid/view/ViewGroup; // type@0a21 │ │ -415eee: 6e10 e356 0100 |0515: invoke-virtual {v1}, Landroid/view/ViewGroup;.getChildCount:()I // method@56e3 │ │ -415ef4: 0a02 |0518: move-result v2 │ │ -415ef6: 1304 0800 |0519: const/16 v4, #int 8 // #8 │ │ -415efa: 3528 3900 |051b: if-ge v8, v2, 0554 // +0039 │ │ -415efe: 6e20 e256 8100 |051d: invoke-virtual {v1, v8}, Landroid/view/ViewGroup;.getChildAt:(I)Landroid/view/View; // method@56e2 │ │ -415f04: 0c05 |0520: move-result-object v5 │ │ -415f06: 1406 c400 087f |0521: const v6, #float 1.80779e+38 // #7f0800c4 │ │ -415f0c: 6e20 dcb8 6000 |0524: invoke-virtual {v0, v6}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415f12: 0c07 |0527: move-result-object v7 │ │ -415f14: 3275 2900 |0528: if-eq v5, v7, 0551 // +0029 │ │ -415f18: 1407 c500 087f |052a: const v7, #float 1.80779e+38 // #7f0800c5 │ │ -415f1e: 6e20 dcb8 7000 |052d: invoke-virtual {v0, v7}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415f24: 0c07 |0530: move-result-object v7 │ │ -415f26: 3275 2000 |0531: if-eq v5, v7, 0551 // +0020 │ │ -415f2a: 1407 c600 087f |0533: const v7, #float 1.80779e+38 // #7f0800c6 │ │ -415f30: 6e20 dcb8 7000 |0536: invoke-virtual {v0, v7}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415f36: 0c07 |0539: move-result-object v7 │ │ -415f38: 3275 1700 |053a: if-eq v5, v7, 0551 // +0017 │ │ -415f3c: 1407 cb00 087f |053c: const v7, #float 1.80779e+38 // #7f0800cb │ │ -415f42: 6e20 dcb8 7000 |053f: invoke-virtual {v0, v7}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415f48: 0c07 |0542: move-result-object v7 │ │ -415f4a: 3275 0e00 |0543: if-eq v5, v7, 0551 // +000e │ │ -415f4e: 1407 0001 087f |0545: const v7, #float 1.8078e+38 // #7f080100 │ │ -415f54: 6e20 dcb8 7000 |0548: invoke-virtual {v0, v7}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415f5a: 0c07 |054b: move-result-object v7 │ │ -415f5c: 3275 0500 |054c: if-eq v5, v7, 0551 // +0005 │ │ -415f60: 6e20 ac56 4500 |054e: invoke-virtual {v5, v4}, Landroid/view/View;.setVisibility:(I)V // method@56ac │ │ -415f66: d808 0801 |0551: add-int/lit8 v8, v8, #int 1 // #01 │ │ -415f6a: 28c6 |0553: goto 0519 // -003a │ │ -415f6c: 1405 7400 087f |0554: const v5, #float 1.80777e+38 // #7f080074 │ │ -415f72: 6e20 dcb8 5000 |0557: invoke-virtual {v0, v5}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415f78: 0c01 |055a: move-result-object v1 │ │ -415f7a: 6e20 ac56 4100 |055b: invoke-virtual {v1, v4}, Landroid/view/View;.setVisibility:(I)V // method@56ac │ │ -415f80: 1401 b600 087f |055e: const v1, #float 1.80779e+38 // #7f0800b6 │ │ -415f86: 6e20 dcb8 1000 |0561: invoke-virtual {v0, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ -415f8c: 0c01 |0564: move-result-object v1 │ │ -415f8e: 6e20 ac56 4100 |0565: invoke-virtual {v1, v4}, Landroid/view/View;.setVisibility:(I)V // method@56ac │ │ -415f94: 5401 1a5d |0568: iget-object v1, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -415f98: 6e10 d4b5 0100 |056a: invoke-virtual {v1}, Lorg/purple/smoke/Database;.accountPrepared:()Z // method@b5d4 │ │ -415f9e: 0a01 |056d: move-result v1 │ │ -415fa0: 3901 1400 |056e: if-nez v1, 0582 // +0014 │ │ -415fa4: 1a01 8458 |0570: const-string v1, "android.permission.READ_EXTERNAL_STORAGE" // string@5884 │ │ -415fa8: 2410 1a1b 0100 |0572: filled-new-array {v1}, [Ljava/lang/String; // type@1b1a │ │ -415fae: 0c01 |0575: move-result-object v1 │ │ -415fb0: 7130 9515 1003 |0576: invoke-static {v0, v1, v3}, Landroid/support/v4/app/ActivityCompat;.requestPermissions:(Landroid/app/Activity;[Ljava/lang/String;I)V // method@1595 │ │ -415fb6: 1a01 8558 |0579: const-string v1, "android.permission.WRITE_EXTERNAL_STORAGE" // string@5885 │ │ -415fba: 2410 1a1b 0100 |057b: filled-new-array {v1}, [Ljava/lang/String; // type@1b1a │ │ -415fc0: 0c01 |057e: move-result-object v1 │ │ -415fc2: 7130 9515 1003 |057f: invoke-static {v0, v1, v3}, Landroid/support/v4/app/ActivityCompat;.requestPermissions:(Landroid/app/Activity;[Ljava/lang/String;I)V // method@1595 │ │ -415fc8: 0e00 |0582: return-void │ │ +415c24: 6e20 035b fe00 |03b2: invoke-virtual {v14, v15}, Landroid/widget/TextView;.append:(Ljava/lang/CharSequence;)V // method@5b03 │ │ +415c2a: 220c f10a |03b5: new-instance v12, Ljava/lang/StringBuilder; // type@0af1 │ │ +415c2e: 7010 ee5c 0c00 |03b7: invoke-direct {v12}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +415c34: 1a0d d051 |03ba: const-string v13, "WakeLock Locked: " // string@51d0 │ │ +415c38: 6e20 f95c dc00 |03bc: invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +415c3e: 7100 02b7 0000 |03bf: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ +415c44: 0c0d |03c2: move-result-object v13 │ │ +415c46: 6e10 16b7 0d00 |03c3: invoke-virtual {v13}, Lorg/purple/smoke/Kernel;.wakeLocked:()Z // method@b716 │ │ +415c4c: 0a0d |03c6: move-result v13 │ │ +415c4e: 7110 e5b7 0d00 |03c7: invoke-static {v13}, Lorg/purple/smoke/Miscellaneous;.niceBoolean:(Z)Ljava/lang/String; // method@b7e5 │ │ +415c54: 0c0d |03ca: move-result-object v13 │ │ +415c56: 6e20 f95c dc00 |03cb: invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +415c5c: 6e10 035d 0c00 |03ce: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +415c62: 0c0c |03d1: move-result-object v12 │ │ +415c64: 6e20 035b ce00 |03d2: invoke-virtual {v14, v12}, Landroid/widget/TextView;.append:(Ljava/lang/CharSequence;)V // method@5b03 │ │ +415c6a: 6e20 035b fe00 |03d5: invoke-virtual {v14, v15}, Landroid/widget/TextView;.append:(Ljava/lang/CharSequence;)V // method@5b03 │ │ +415c70: 220c f10a |03d8: new-instance v12, Ljava/lang/StringBuilder; // type@0af1 │ │ +415c74: 7010 ee5c 0c00 |03da: invoke-direct {v12}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +415c7a: 1a0d d951 |03dd: const-string v13, "WiFiLock Locked: " // string@51d9 │ │ +415c7e: 6e20 f95c dc00 |03df: invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +415c84: 7100 02b7 0000 |03e2: invoke-static {}, Lorg/purple/smoke/Kernel;.getInstance:()Lorg/purple/smoke/Kernel; // method@b702 │ │ +415c8a: 0c0d |03e5: move-result-object v13 │ │ +415c8c: 6e10 18b7 0d00 |03e6: invoke-virtual {v13}, Lorg/purple/smoke/Kernel;.wifiLocked:()Z // method@b718 │ │ +415c92: 0a0d |03e9: move-result v13 │ │ +415c94: 7110 e5b7 0d00 |03ea: invoke-static {v13}, Lorg/purple/smoke/Miscellaneous;.niceBoolean:(Z)Ljava/lang/String; // method@b7e5 │ │ +415c9a: 0c0d |03ed: move-result-object v13 │ │ +415c9c: 6e20 f95c dc00 |03ee: invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +415ca2: 6e10 035d 0c00 |03f1: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +415ca8: 0c0c |03f4: move-result-object v12 │ │ +415caa: 6e20 035b ce00 |03f5: invoke-virtual {v14, v12}, Landroid/widget/TextView;.append:(Ljava/lang/CharSequence;)V // method@5b03 │ │ +415cb0: 140c ad00 087f |03f8: const v12, #float 1.80779e+38 // #7f0800ad │ │ +415cb6: 6e20 dcb8 c000 |03fb: invoke-virtual {v0, v12}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415cbc: 0c0c |03fe: move-result-object v12 │ │ +415cbe: 1f0c 970a |03ff: check-cast v12, Landroid/widget/TextView; // type@0a97 │ │ +415cc2: 6e20 335b 8c00 |0401: invoke-virtual {v12, v8}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ +415cc8: 140c ac00 087f |0404: const v12, #float 1.80778e+38 // #7f0800ac │ │ +415cce: 6e20 dcb8 c000 |0407: invoke-virtual {v0, v12}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415cd4: 0c0c |040a: move-result-object v12 │ │ +415cd6: 1f0c 970a |040b: check-cast v12, Landroid/widget/TextView; // type@0a97 │ │ +415cda: 6e20 335b 1c00 |040d: invoke-virtual {v12, v1}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ +415ce0: 233d 0f1b |0410: new-array v13, v3, [Landroid/text/InputFilter; // type@1b0f │ │ +415ce4: 620e 1f5d |0412: sget-object v14, Lorg/purple/smoke/Settings;.s_portFilter:Landroid/text/InputFilter; // field@5d1f │ │ +415ce8: 4d0e 0d08 |0414: aput-object v14, v13, v8 │ │ +415cec: 6e20 345b dc00 |0416: invoke-virtual {v12, v13}, Landroid/widget/TextView;.setFilters:([Landroid/text/InputFilter;)V // method@5b34 │ │ +415cf2: 1a0d d507 |0419: const-string v13, "4710" // string@07d5 │ │ +415cf6: 6e20 495b dc00 |041b: invoke-virtual {v12, v13}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +415cfc: 140c a800 087f |041e: const v12, #float 1.80778e+38 // #7f0800a8 │ │ +415d02: 6e20 dcb8 c000 |0421: invoke-virtual {v0, v12}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415d08: 0c0c |0424: move-result-object v12 │ │ +415d0a: 1f0c 970a |0425: check-cast v12, Landroid/widget/TextView; // type@0a97 │ │ +415d0e: 3801 0500 |0427: if-eqz v1, 042c // +0005 │ │ +415d12: 6e10 265b 0c00 |0429: invoke-virtual {v12}, Landroid/widget/TextView;.requestFocus:()Z // method@5b26 │ │ +415d18: 6e20 335b 1c00 |042c: invoke-virtual {v12, v1}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ +415d1e: 140c b700 087f |042f: const v12, #float 1.80779e+38 // #7f0800b7 │ │ +415d24: 6e20 dcb8 c000 |0432: invoke-virtual {v0, v12}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415d2a: 0c0d |0435: move-result-object v13 │ │ +415d2c: 1f0d 970a |0436: check-cast v13, Landroid/widget/TextView; // type@0a97 │ │ +415d30: 6e20 335b 1d00 |0438: invoke-virtual {v13, v1}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ +415d36: 140d bd00 087f |043b: const v13, #float 1.80779e+38 // #7f0800bd │ │ +415d3c: 6e20 dcb8 d000 |043e: invoke-virtual {v0, v13}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415d42: 0c0d |0441: move-result-object v13 │ │ +415d44: 1f0d 970a |0442: check-cast v13, Landroid/widget/TextView; // type@0a97 │ │ +415d48: 6e20 335b 1d00 |0444: invoke-virtual {v13, v1}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ +415d4e: 140d be00 087f |0447: const v13, #float 1.80779e+38 // #7f0800be │ │ +415d54: 6e20 dcb8 d000 |044a: invoke-virtual {v0, v13}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415d5a: 0c0d |044d: move-result-object v13 │ │ +415d5c: 1f0d 970a |044e: check-cast v13, Landroid/widget/TextView; // type@0a97 │ │ +415d60: 6e20 335b 1d00 |0450: invoke-virtual {v13, v1}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ +415d66: 140d c400 087f |0453: const v13, #float 1.80779e+38 // #7f0800c4 │ │ +415d6c: 6e20 dcb8 d000 |0456: invoke-virtual {v0, v13}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415d72: 0c0f |0459: move-result-object v15 │ │ +415d74: 1f0f 970a |045a: check-cast v15, Landroid/widget/TextView; // type@0a97 │ │ +415d78: 3901 0500 |045c: if-nez v1, 0461 // +0005 │ │ +415d7c: 6e10 265b 0f00 |045e: invoke-virtual {v15}, Landroid/widget/TextView;.requestFocus:()Z // method@5b26 │ │ +415d82: 1a0d 0000 |0461: const-string v13, "" // string@0000 │ │ +415d86: 6e20 495b df00 |0463: invoke-virtual {v15, v13}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +415d8c: 140f c500 087f |0466: const v15, #float 1.80779e+38 // #7f0800c5 │ │ +415d92: 6e20 dcb8 f000 |0469: invoke-virtual {v0, v15}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415d98: 0c0f |046c: move-result-object v15 │ │ +415d9a: 1f0f 970a |046d: check-cast v15, Landroid/widget/TextView; // type@0a97 │ │ +415d9e: 6e20 495b df00 |046f: invoke-virtual {v15, v13}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +415da4: 140d d200 087f |0472: const v13, #float 1.80779e+38 // #7f0800d2 │ │ +415daa: 6e20 dcb8 d000 |0475: invoke-virtual {v0, v13}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415db0: 0c0d |0478: move-result-object v13 │ │ +415db2: 1f0d 970a |0479: check-cast v13, Landroid/widget/TextView; // type@0a97 │ │ +415db6: 6e20 335b 1d00 |047b: invoke-virtual {v13, v1}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ +415dbc: 140d d300 087f |047e: const v13, #float 1.80779e+38 // #7f0800d3 │ │ +415dc2: 6e20 dcb8 d000 |0481: invoke-virtual {v0, v13}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415dc8: 0c0d |0484: move-result-object v13 │ │ +415dca: 1f0d 970a |0485: check-cast v13, Landroid/widget/TextView; // type@0a97 │ │ +415dce: 6e20 335b 1d00 |0487: invoke-virtual {v13, v1}, Landroid/widget/TextView;.setEnabled:(Z)V // method@5b33 │ │ +415dd4: 233f 0f1b |048a: new-array v15, v3, [Landroid/text/InputFilter; // type@1b0f │ │ +415dd8: 4d0e 0f08 |048c: aput-object v14, v15, v8 │ │ +415ddc: 6e20 345b fd00 |048e: invoke-virtual {v13, v15}, Landroid/widget/TextView;.setFilters:([Landroid/text/InputFilter;)V // method@5b34 │ │ +415de2: 6e20 dcb8 7000 |0491: invoke-virtual {v0, v7}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415de8: 0c07 |0494: move-result-object v7 │ │ +415dea: 1f07 8b0a |0495: check-cast v7, Landroid/widget/Spinner; // type@0a8b │ │ +415dee: 7120 7e5c 5800 |0497: invoke-static {v8, v5}, Ljava/lang/Math;.max:(II)I // method@5c7e │ │ +415df4: 0a05 |049a: move-result v5 │ │ +415df6: 6e20 cc5a 5700 |049b: invoke-virtual {v7, v5}, Landroid/widget/Spinner;.setSelection:(I)V // method@5acc │ │ +415dfc: 6e20 dcb8 b000 |049e: invoke-virtual {v0, v11}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415e02: 0c05 |04a1: move-result-object v5 │ │ +415e04: 1f05 8b0a |04a2: check-cast v5, Landroid/widget/Spinner; // type@0a8b │ │ +415e08: 3a06 0600 |04a4: if-ltz v6, 04aa // +0006 │ │ +415e0c: 6e20 cc5a 6500 |04a6: invoke-virtual {v5, v6}, Landroid/widget/Spinner;.setSelection:(I)V // method@5acc │ │ +415e12: 2804 |04a9: goto 04ad // +0004 │ │ +415e14: 6e20 cc5a 3500 |04aa: invoke-virtual {v5, v3}, Landroid/widget/Spinner;.setSelection:(I)V // method@5acc │ │ +415e1a: 6e20 dcb8 a000 |04ad: invoke-virtual {v0, v10}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415e20: 0c05 |04b0: move-result-object v5 │ │ +415e22: 1f05 8b0a |04b1: check-cast v5, Landroid/widget/Spinner; // type@0a8b │ │ +415e26: 1246 |04b3: const/4 v6, #int 4 // #4 │ │ +415e28: 6e20 cc5a 6500 |04b4: invoke-virtual {v5, v6}, Landroid/widget/Spinner;.setSelection:(I)V // method@5acc │ │ +415e2e: 6e20 dcb8 9000 |04b7: invoke-virtual {v0, v9}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415e34: 0c05 |04ba: move-result-object v5 │ │ +415e36: 1f05 8b0a |04bb: check-cast v5, Landroid/widget/Spinner; // type@0a8b │ │ +415e3a: 6e10 b15a 0500 |04bd: invoke-virtual {v5}, Landroid/widget/Spinner;.getAdapter:()Landroid/widget/SpinnerAdapter; // method@5ab1 │ │ +415e40: 0c06 |04c0: move-result-object v6 │ │ +415e42: 7210 cd5a 0600 |04c1: invoke-interface {v6}, Landroid/widget/SpinnerAdapter;.getCount:()I // method@5acd │ │ +415e48: 0a06 |04c4: move-result v6 │ │ +415e4a: 3736 0500 |04c5: if-le v6, v3, 04ca // +0005 │ │ +415e4e: 6e20 cc5a 3500 |04c7: invoke-virtual {v5, v3}, Landroid/widget/Spinner;.setSelection:(I)V // method@5acc │ │ +415e54: 7601 f2b8 2800 |04ca: invoke-direct/range {v40}, Lorg/purple/smoke/Settings;.populateFancyKeyData:()V // method@b8f2 │ │ +415e5a: 3801 3f00 |04cd: if-eqz v1, 050c // +003f │ │ +415e5e: 6e20 dcb8 2000 |04cf: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415e64: 0c01 |04d2: move-result-object v1 │ │ +415e66: 1f01 8d0a |04d3: check-cast v1, Landroid/widget/Switch; // type@0a8d │ │ +415e6a: 1402 2200 087f |04d5: const v2, #float 1.80776e+38 // #7f080022 │ │ +415e70: 6e20 dcb8 2000 |04d8: invoke-virtual {v0, v2}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415e76: 0c02 |04db: move-result-object v2 │ │ +415e78: 1f02 970a |04dc: check-cast v2, Landroid/widget/TextView; // type@0a97 │ │ +415e7c: 5405 1a5d |04de: iget-object v5, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +415e80: 6206 1e5d |04e0: sget-object v6, Lorg/purple/smoke/Settings;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d1e │ │ +415e84: 1a07 0958 |04e2: const-string v7, "alias" // string@5809 │ │ +415e88: 6e30 0eb6 6507 |04e4: invoke-virtual {v5, v6, v7}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ +415e8e: 0c05 |04e7: move-result-object v5 │ │ +415e90: 6e20 495b 5200 |04e8: invoke-virtual {v2, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +415e96: 6e20 dcb8 c000 |04eb: invoke-virtual {v0, v12}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415e9c: 0c02 |04ee: move-result-object v2 │ │ +415e9e: 1f02 970a |04ef: check-cast v2, Landroid/widget/TextView; // type@0a97 │ │ +415ea2: 5405 1a5d |04f1: iget-object v5, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +415ea6: 1a07 2590 |04f3: const-string v7, "ozone_address" // string@9025 │ │ +415eaa: 6e30 0eb6 6507 |04f5: invoke-virtual {v5, v6, v7}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ +415eb0: 0c05 |04f8: move-result-object v5 │ │ +415eb2: 6e20 495b 5200 |04f9: invoke-virtual {v2, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +415eb8: 7601 f5b8 2800 |04fc: invoke-direct/range {v40}, Lorg/purple/smoke/Settings;.populateParticipants:()V // method@b8f5 │ │ +415ebe: 7601 0ab9 2800 |04ff: invoke-direct/range {v40}, Lorg/purple/smoke/Settings;.startKernel:()V // method@b90a │ │ +415ec4: 6e10 da5a 0100 |0502: invoke-virtual {v1}, Landroid/widget/Switch;.isChecked:()Z // method@5ada │ │ +415eca: 0a01 |0505: move-result v1 │ │ +415ecc: 3901 6200 |0506: if-nez v1, 0568 // +0062 │ │ +415ed0: 7020 f3b8 4000 |0508: invoke-direct {v0, v4}, Lorg/purple/smoke/Settings;.populateNeighbors:(Ljava/util/ArrayList;)V // method@b8f3 │ │ +415ed6: 285d |050b: goto 0568 // +005d │ │ +415ed8: 1401 9200 087f |050c: const v1, #float 1.80778e+38 // #7f080092 │ │ +415ede: 6e20 dcb8 1000 |050f: invoke-virtual {v0, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415ee4: 0c01 |0512: move-result-object v1 │ │ +415ee6: 1f01 210a |0513: check-cast v1, Landroid/view/ViewGroup; // type@0a21 │ │ +415eea: 6e10 e356 0100 |0515: invoke-virtual {v1}, Landroid/view/ViewGroup;.getChildCount:()I // method@56e3 │ │ +415ef0: 0a02 |0518: move-result v2 │ │ +415ef2: 1304 0800 |0519: const/16 v4, #int 8 // #8 │ │ +415ef6: 3528 3900 |051b: if-ge v8, v2, 0554 // +0039 │ │ +415efa: 6e20 e256 8100 |051d: invoke-virtual {v1, v8}, Landroid/view/ViewGroup;.getChildAt:(I)Landroid/view/View; // method@56e2 │ │ +415f00: 0c05 |0520: move-result-object v5 │ │ +415f02: 1406 c400 087f |0521: const v6, #float 1.80779e+38 // #7f0800c4 │ │ +415f08: 6e20 dcb8 6000 |0524: invoke-virtual {v0, v6}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415f0e: 0c07 |0527: move-result-object v7 │ │ +415f10: 3275 2900 |0528: if-eq v5, v7, 0551 // +0029 │ │ +415f14: 1407 c500 087f |052a: const v7, #float 1.80779e+38 // #7f0800c5 │ │ +415f1a: 6e20 dcb8 7000 |052d: invoke-virtual {v0, v7}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415f20: 0c07 |0530: move-result-object v7 │ │ +415f22: 3275 2000 |0531: if-eq v5, v7, 0551 // +0020 │ │ +415f26: 1407 c600 087f |0533: const v7, #float 1.80779e+38 // #7f0800c6 │ │ +415f2c: 6e20 dcb8 7000 |0536: invoke-virtual {v0, v7}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415f32: 0c07 |0539: move-result-object v7 │ │ +415f34: 3275 1700 |053a: if-eq v5, v7, 0551 // +0017 │ │ +415f38: 1407 cb00 087f |053c: const v7, #float 1.80779e+38 // #7f0800cb │ │ +415f3e: 6e20 dcb8 7000 |053f: invoke-virtual {v0, v7}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415f44: 0c07 |0542: move-result-object v7 │ │ +415f46: 3275 0e00 |0543: if-eq v5, v7, 0551 // +000e │ │ +415f4a: 1407 0001 087f |0545: const v7, #float 1.8078e+38 // #7f080100 │ │ +415f50: 6e20 dcb8 7000 |0548: invoke-virtual {v0, v7}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415f56: 0c07 |054b: move-result-object v7 │ │ +415f58: 3275 0500 |054c: if-eq v5, v7, 0551 // +0005 │ │ +415f5c: 6e20 ac56 4500 |054e: invoke-virtual {v5, v4}, Landroid/view/View;.setVisibility:(I)V // method@56ac │ │ +415f62: d808 0801 |0551: add-int/lit8 v8, v8, #int 1 // #01 │ │ +415f66: 28c6 |0553: goto 0519 // -003a │ │ +415f68: 1405 7400 087f |0554: const v5, #float 1.80777e+38 // #7f080074 │ │ +415f6e: 6e20 dcb8 5000 |0557: invoke-virtual {v0, v5}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415f74: 0c01 |055a: move-result-object v1 │ │ +415f76: 6e20 ac56 4100 |055b: invoke-virtual {v1, v4}, Landroid/view/View;.setVisibility:(I)V // method@56ac │ │ +415f7c: 1401 b600 087f |055e: const v1, #float 1.80779e+38 // #7f0800b6 │ │ +415f82: 6e20 dcb8 1000 |0561: invoke-virtual {v0, v1}, Lorg/purple/smoke/Settings;.findViewById:(I)Landroid/view/View; // method@b8dc │ │ +415f88: 0c01 |0564: move-result-object v1 │ │ +415f8a: 6e20 ac56 4100 |0565: invoke-virtual {v1, v4}, Landroid/view/View;.setVisibility:(I)V // method@56ac │ │ +415f90: 5401 1a5d |0568: iget-object v1, v0, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +415f94: 6e10 d4b5 0100 |056a: invoke-virtual {v1}, Lorg/purple/smoke/Database;.accountPrepared:()Z // method@b5d4 │ │ +415f9a: 0a01 |056d: move-result v1 │ │ +415f9c: 3901 1400 |056e: if-nez v1, 0582 // +0014 │ │ +415fa0: 1a01 8458 |0570: const-string v1, "android.permission.READ_EXTERNAL_STORAGE" // string@5884 │ │ +415fa4: 2410 1a1b 0100 |0572: filled-new-array {v1}, [Ljava/lang/String; // type@1b1a │ │ +415faa: 0c01 |0575: move-result-object v1 │ │ +415fac: 7130 9515 1003 |0576: invoke-static {v0, v1, v3}, Landroid/support/v4/app/ActivityCompat;.requestPermissions:(Landroid/app/Activity;[Ljava/lang/String;I)V // method@1595 │ │ +415fb2: 1a01 8558 |0579: const-string v1, "android.permission.WRITE_EXTERNAL_STORAGE" // string@5885 │ │ +415fb6: 2410 1a1b 0100 |057b: filled-new-array {v1}, [Ljava/lang/String; // type@1b1a │ │ +415fbc: 0c01 |057e: move-result-object v1 │ │ +415fbe: 7130 9515 1003 |057f: invoke-static {v0, v1, v3}, Landroid/support/v4/app/ActivityCompat;.requestPermissions:(Landroid/app/Activity;[Ljava/lang/String;I)V // method@1595 │ │ +415fc4: 0e00 |0582: return-void │ │ catches : 2 │ │ 0x005e - 0x0072 │ │ Ljava/lang/Exception; -> 0x0073 │ │ 0x031b - 0x0327 │ │ Ljava/lang/Exception; -> 0x0328 │ │ positions : │ │ 0x0002 line=3240 │ │ @@ -1543595,137 +1543594,137 @@ │ │ type : '(Landroid/view/ContextMenu;Landroid/view/View;Landroid/view/ContextMenu$ContextMenuInfo;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 11 │ │ ins : 4 │ │ outs : 5 │ │ insns size : 278 16-bit code units │ │ -415fe8: |[415fe8] org.purple.smoke.Settings.onCreateContextMenu:(Landroid/view/ContextMenu;Landroid/view/View;Landroid/view/ContextMenu$ContextMenuInfo;)V │ │ -415ff8: 3808 1501 |0000: if-eqz v8, 0115 // +0115 │ │ -415ffc: 3909 0400 |0002: if-nez v9, 0006 // +0004 │ │ -416000: 2900 1101 |0004: goto/16 0115 // +0111 │ │ -416004: 1400 bf00 087f |0006: const v0, #float 1.80779e+38 // #7f0800bf │ │ -41600a: 6e20 1d56 0900 |0009: invoke-virtual {v9, v0}, Landroid/view/View;.getTag:(I)Ljava/lang/Object; // method@561d │ │ -416010: 0c00 |000c: move-result-object v0 │ │ -416012: 1401 db00 087f |000d: const v1, #float 1.80779e+38 // #7f0800db │ │ -416018: 6e20 1d56 1900 |0010: invoke-virtual {v9, v1}, Landroid/view/View;.getTag:(I)Ljava/lang/Object; // method@561d │ │ -41601e: 0c01 |0013: move-result-object v1 │ │ -416020: 3800 0101 |0014: if-eqz v0, 0115 // +0101 │ │ -416024: 3801 ff00 |0016: if-eqz v1, 0115 // +00ff │ │ -416028: 6f40 f33c 87a9 |0018: invoke-super {v7, v8, v9, v10}, Landroid/support/v7/app/AppCompatActivity;.onCreateContextMenu:(Landroid/view/ContextMenu;Landroid/view/View;Landroid/view/ContextMenu$ContextMenuInfo;)V // method@3cf3 │ │ -41602e: 6e10 f455 0900 |001b: invoke-virtual {v9}, Landroid/view/View;.getId:()I // method@55f4 │ │ -416034: 0a0a |001e: move-result v10 │ │ -416036: 2202 f10a |001f: new-instance v2, Ljava/lang/StringBuilder; // type@0af1 │ │ -41603a: 7010 ee5c 0200 |0021: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -416040: 1a03 fe16 |0024: const-string v3, "Delete (" // string@16fe │ │ -416044: 6e20 f95c 3200 |0026: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41604a: 6e20 f85c 0200 |0029: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@5cf8 │ │ -416050: 1a03 e403 |002c: const-string v3, ")" // string@03e4 │ │ -416054: 6e20 f95c 3200 |002e: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41605a: 6e10 035d 0200 |0031: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -416060: 0c02 |0034: move-result-object v2 │ │ -416062: 1204 |0035: const/4 v4, #int 0 // #0 │ │ -416064: 7252 0c55 484a |0036: invoke-interface {v8, v4, v10, v4, v2}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ -41606a: 6e10 f455 0900 |0039: invoke-virtual {v9}, Landroid/view/View;.getId:()I // method@55f4 │ │ -416070: 0a0a |003c: move-result v10 │ │ -416072: 2202 f10a |003d: new-instance v2, Ljava/lang/StringBuilder; // type@0af1 │ │ -416076: 7010 ee5c 0200 |003f: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41607c: 1a05 0117 |0042: const-string v5, "Delete Fiasco Keys (" // string@1701 │ │ -416080: 6e20 f95c 5200 |0044: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416086: 6e20 f85c 0200 |0047: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@5cf8 │ │ -41608c: 6e20 f95c 3200 |004a: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416092: 6e10 035d 0200 |004d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -416098: 0c02 |0050: move-result-object v2 │ │ -41609a: 1215 |0051: const/4 v5, #int 1 // #1 │ │ -41609c: 7252 0c55 585a |0052: invoke-interface {v8, v5, v10, v5, v2}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ -4160a2: 6e10 f455 0900 |0055: invoke-virtual {v9}, Landroid/view/View;.getId:()I // method@55f4 │ │ -4160a8: 0a0a |0058: move-result v10 │ │ -4160aa: 2202 f10a |0059: new-instance v2, Ljava/lang/StringBuilder; // type@0af1 │ │ -4160ae: 7010 ee5c 0200 |005b: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -4160b4: 1a05 0317 |005e: const-string v5, "Delete Public Keys (" // string@1703 │ │ -4160b8: 6e20 f95c 5200 |0060: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4160be: 6e20 f85c 0200 |0063: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@5cf8 │ │ -4160c4: 6e20 f95c 3200 |0066: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4160ca: 6e10 035d 0200 |0069: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -4160d0: 0c02 |006c: move-result-object v2 │ │ -4160d2: 1225 |006d: const/4 v5, #int 2 // #2 │ │ -4160d4: 7252 0c55 585a |006e: invoke-interface {v8, v5, v10, v5, v2}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ -4160da: 6e10 f455 0900 |0071: invoke-virtual {v9}, Landroid/view/View;.getId:()I // method@55f4 │ │ -4160e0: 0a0a |0074: move-result v10 │ │ -4160e2: 2202 f10a |0075: new-instance v2, Ljava/lang/StringBuilder; // type@0af1 │ │ -4160e6: 7010 ee5c 0200 |0077: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -4160ec: 1a05 5440 |007a: const-string v5, "New Name (" // string@4054 │ │ -4160f0: 6e20 f95c 5200 |007c: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4160f6: 6e20 f85c 0200 |007f: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@5cf8 │ │ -4160fc: 6e20 f95c 3200 |0082: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416102: 6e10 035d 0200 |0085: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -416108: 0c02 |0088: move-result-object v2 │ │ -41610a: 1235 |0089: const/4 v5, #int 3 // #3 │ │ -41610c: 7252 0c55 585a |008a: invoke-interface {v8, v5, v10, v5, v2}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ -416112: 620a 1e5d |008d: sget-object v10, Lorg/purple/smoke/Settings;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d1e │ │ -416116: 6e10 89b5 0a00 |008f: invoke-virtual {v10}, Lorg/purple/smoke/Cryptography;.hasValidOzoneKeys:()Z // method@b589 │ │ -41611c: 0a0a |0092: move-result v10 │ │ -41611e: 6e10 f455 0900 |0093: invoke-virtual {v9}, Landroid/view/View;.getId:()I // method@55f4 │ │ -416124: 0a02 |0096: move-result v2 │ │ -416126: 2205 f10a |0097: new-instance v5, Ljava/lang/StringBuilder; // type@0af1 │ │ -41612a: 7010 ee5c 0500 |0099: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -416130: 1a06 dd45 |009c: const-string v6, "Request Keys via Ozone (" // string@45dd │ │ -416134: 6e20 f95c 6500 |009e: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41613a: 6e20 f85c 0500 |00a1: invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@5cf8 │ │ -416140: 6e20 f95c 3500 |00a4: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416146: 6e10 035d 0500 |00a7: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41614c: 0c05 |00aa: move-result-object v5 │ │ -41614e: 1246 |00ab: const/4 v6, #int 4 // #4 │ │ -416150: 7255 0c55 6842 |00ac: invoke-interface {v8, v6, v2, v4, v5}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ -416156: 0c02 |00af: move-result-object v2 │ │ -416158: 7220 7a55 a200 |00b0: invoke-interface {v2, v10}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ -41615e: 6e10 f455 0900 |00b3: invoke-virtual {v9}, Landroid/view/View;.getId:()I // method@55f4 │ │ -416164: 0a02 |00b6: move-result v2 │ │ -416166: 2204 f10a |00b7: new-instance v4, Ljava/lang/StringBuilder; // type@0af1 │ │ -41616a: 7010 ee5c 0400 |00b9: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -416170: 1a05 364a |00bc: const-string v5, "Share Keys Of (" // string@4a36 │ │ -416174: 6e20 f95c 5400 |00be: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41617a: 6e20 f85c 0400 |00c1: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@5cf8 │ │ -416180: 6e20 f95c 3400 |00c4: invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416186: 6e10 035d 0400 |00c7: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41618c: 0c04 |00ca: move-result-object v4 │ │ -41618e: 1255 |00cb: const/4 v5, #int 5 // #5 │ │ -416190: 7254 0c55 5862 |00cc: invoke-interface {v8, v5, v2, v6, v4}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ -416196: 0c02 |00cf: move-result-object v2 │ │ -416198: 1f01 c60a |00d0: check-cast v1, Ljava/lang/Boolean; // type@0ac6 │ │ -41619c: 6e10 fe5b 0100 |00d2: invoke-virtual {v1}, Ljava/lang/Boolean;.booleanValue:()Z // method@5bfe │ │ -4161a2: 0a01 |00d5: move-result v1 │ │ -4161a4: 7220 7a55 1200 |00d6: invoke-interface {v2, v1}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ -4161aa: 6e10 f455 0900 |00d9: invoke-virtual {v9}, Landroid/view/View;.getId:()I // method@55f4 │ │ -4161b0: 0a01 |00dc: move-result v1 │ │ -4161b2: 2202 f10a |00dd: new-instance v2, Ljava/lang/StringBuilder; // type@0af1 │ │ -4161b6: 7010 ee5c 0200 |00df: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -4161bc: 1a04 374a |00e2: const-string v4, "Share Smoke ID Of (" // string@4a37 │ │ -4161c0: 6e20 f95c 4200 |00e4: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4161c6: 6e20 f85c 0200 |00e7: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@5cf8 │ │ -4161cc: 6e20 f95c 3200 |00ea: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -4161d2: 6e10 035d 0200 |00ed: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -4161d8: 0c02 |00f0: move-result-object v2 │ │ -4161da: 1264 |00f1: const/4 v4, #int 6 // #6 │ │ -4161dc: 7252 0c55 4851 |00f2: invoke-interface {v8, v4, v1, v5, v2}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ -4161e2: 0c01 |00f5: move-result-object v1 │ │ -4161e4: 7220 7a55 a100 |00f6: invoke-interface {v1, v10}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ -4161ea: 127a |00f9: const/4 v10, #int 7 // #7 │ │ -4161ec: 6e10 f455 0900 |00fa: invoke-virtual {v9}, Landroid/view/View;.getId:()I // method@55f4 │ │ -4161f2: 0a09 |00fd: move-result v9 │ │ -4161f4: 2201 f10a |00fe: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ -4161f8: 7010 ee5c 0100 |0100: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -4161fe: 1a02 2851 |0103: const-string v2, "View Details (" // string@5128 │ │ -416202: 6e20 f95c 2100 |0105: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416208: 6e20 f85c 0100 |0108: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@5cf8 │ │ -41620e: 6e20 f95c 3100 |010b: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -416214: 6e10 035d 0100 |010e: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41621a: 0c00 |0111: move-result-object v0 │ │ -41621c: 7250 0c55 a849 |0112: invoke-interface {v8, v10, v9, v4, v0}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ -416222: 0e00 |0115: return-void │ │ +415fe4: |[415fe4] org.purple.smoke.Settings.onCreateContextMenu:(Landroid/view/ContextMenu;Landroid/view/View;Landroid/view/ContextMenu$ContextMenuInfo;)V │ │ +415ff4: 3808 1501 |0000: if-eqz v8, 0115 // +0115 │ │ +415ff8: 3909 0400 |0002: if-nez v9, 0006 // +0004 │ │ +415ffc: 2900 1101 |0004: goto/16 0115 // +0111 │ │ +416000: 1400 bf00 087f |0006: const v0, #float 1.80779e+38 // #7f0800bf │ │ +416006: 6e20 1d56 0900 |0009: invoke-virtual {v9, v0}, Landroid/view/View;.getTag:(I)Ljava/lang/Object; // method@561d │ │ +41600c: 0c00 |000c: move-result-object v0 │ │ +41600e: 1401 db00 087f |000d: const v1, #float 1.80779e+38 // #7f0800db │ │ +416014: 6e20 1d56 1900 |0010: invoke-virtual {v9, v1}, Landroid/view/View;.getTag:(I)Ljava/lang/Object; // method@561d │ │ +41601a: 0c01 |0013: move-result-object v1 │ │ +41601c: 3800 0101 |0014: if-eqz v0, 0115 // +0101 │ │ +416020: 3801 ff00 |0016: if-eqz v1, 0115 // +00ff │ │ +416024: 6f40 f33c 87a9 |0018: invoke-super {v7, v8, v9, v10}, Landroid/support/v7/app/AppCompatActivity;.onCreateContextMenu:(Landroid/view/ContextMenu;Landroid/view/View;Landroid/view/ContextMenu$ContextMenuInfo;)V // method@3cf3 │ │ +41602a: 6e10 f455 0900 |001b: invoke-virtual {v9}, Landroid/view/View;.getId:()I // method@55f4 │ │ +416030: 0a0a |001e: move-result v10 │ │ +416032: 2202 f10a |001f: new-instance v2, Ljava/lang/StringBuilder; // type@0af1 │ │ +416036: 7010 ee5c 0200 |0021: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41603c: 1a03 fe16 |0024: const-string v3, "Delete (" // string@16fe │ │ +416040: 6e20 f95c 3200 |0026: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416046: 6e20 f85c 0200 |0029: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@5cf8 │ │ +41604c: 1a03 e403 |002c: const-string v3, ")" // string@03e4 │ │ +416050: 6e20 f95c 3200 |002e: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416056: 6e10 035d 0200 |0031: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41605c: 0c02 |0034: move-result-object v2 │ │ +41605e: 1204 |0035: const/4 v4, #int 0 // #0 │ │ +416060: 7252 0c55 484a |0036: invoke-interface {v8, v4, v10, v4, v2}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ +416066: 6e10 f455 0900 |0039: invoke-virtual {v9}, Landroid/view/View;.getId:()I // method@55f4 │ │ +41606c: 0a0a |003c: move-result v10 │ │ +41606e: 2202 f10a |003d: new-instance v2, Ljava/lang/StringBuilder; // type@0af1 │ │ +416072: 7010 ee5c 0200 |003f: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +416078: 1a05 0117 |0042: const-string v5, "Delete Fiasco Keys (" // string@1701 │ │ +41607c: 6e20 f95c 5200 |0044: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416082: 6e20 f85c 0200 |0047: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@5cf8 │ │ +416088: 6e20 f95c 3200 |004a: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41608e: 6e10 035d 0200 |004d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +416094: 0c02 |0050: move-result-object v2 │ │ +416096: 1215 |0051: const/4 v5, #int 1 // #1 │ │ +416098: 7252 0c55 585a |0052: invoke-interface {v8, v5, v10, v5, v2}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ +41609e: 6e10 f455 0900 |0055: invoke-virtual {v9}, Landroid/view/View;.getId:()I // method@55f4 │ │ +4160a4: 0a0a |0058: move-result v10 │ │ +4160a6: 2202 f10a |0059: new-instance v2, Ljava/lang/StringBuilder; // type@0af1 │ │ +4160aa: 7010 ee5c 0200 |005b: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +4160b0: 1a05 0317 |005e: const-string v5, "Delete Public Keys (" // string@1703 │ │ +4160b4: 6e20 f95c 5200 |0060: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4160ba: 6e20 f85c 0200 |0063: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@5cf8 │ │ +4160c0: 6e20 f95c 3200 |0066: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4160c6: 6e10 035d 0200 |0069: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +4160cc: 0c02 |006c: move-result-object v2 │ │ +4160ce: 1225 |006d: const/4 v5, #int 2 // #2 │ │ +4160d0: 7252 0c55 585a |006e: invoke-interface {v8, v5, v10, v5, v2}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ +4160d6: 6e10 f455 0900 |0071: invoke-virtual {v9}, Landroid/view/View;.getId:()I // method@55f4 │ │ +4160dc: 0a0a |0074: move-result v10 │ │ +4160de: 2202 f10a |0075: new-instance v2, Ljava/lang/StringBuilder; // type@0af1 │ │ +4160e2: 7010 ee5c 0200 |0077: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +4160e8: 1a05 5440 |007a: const-string v5, "New Name (" // string@4054 │ │ +4160ec: 6e20 f95c 5200 |007c: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4160f2: 6e20 f85c 0200 |007f: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@5cf8 │ │ +4160f8: 6e20 f95c 3200 |0082: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4160fe: 6e10 035d 0200 |0085: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +416104: 0c02 |0088: move-result-object v2 │ │ +416106: 1235 |0089: const/4 v5, #int 3 // #3 │ │ +416108: 7252 0c55 585a |008a: invoke-interface {v8, v5, v10, v5, v2}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ +41610e: 620a 1e5d |008d: sget-object v10, Lorg/purple/smoke/Settings;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d1e │ │ +416112: 6e10 89b5 0a00 |008f: invoke-virtual {v10}, Lorg/purple/smoke/Cryptography;.hasValidOzoneKeys:()Z // method@b589 │ │ +416118: 0a0a |0092: move-result v10 │ │ +41611a: 6e10 f455 0900 |0093: invoke-virtual {v9}, Landroid/view/View;.getId:()I // method@55f4 │ │ +416120: 0a02 |0096: move-result v2 │ │ +416122: 2205 f10a |0097: new-instance v5, Ljava/lang/StringBuilder; // type@0af1 │ │ +416126: 7010 ee5c 0500 |0099: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41612c: 1a06 dd45 |009c: const-string v6, "Request Keys via Ozone (" // string@45dd │ │ +416130: 6e20 f95c 6500 |009e: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416136: 6e20 f85c 0500 |00a1: invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@5cf8 │ │ +41613c: 6e20 f95c 3500 |00a4: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416142: 6e10 035d 0500 |00a7: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +416148: 0c05 |00aa: move-result-object v5 │ │ +41614a: 1246 |00ab: const/4 v6, #int 4 // #4 │ │ +41614c: 7255 0c55 6842 |00ac: invoke-interface {v8, v6, v2, v4, v5}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ +416152: 0c02 |00af: move-result-object v2 │ │ +416154: 7220 7a55 a200 |00b0: invoke-interface {v2, v10}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ +41615a: 6e10 f455 0900 |00b3: invoke-virtual {v9}, Landroid/view/View;.getId:()I // method@55f4 │ │ +416160: 0a02 |00b6: move-result v2 │ │ +416162: 2204 f10a |00b7: new-instance v4, Ljava/lang/StringBuilder; // type@0af1 │ │ +416166: 7010 ee5c 0400 |00b9: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41616c: 1a05 364a |00bc: const-string v5, "Share Keys Of (" // string@4a36 │ │ +416170: 6e20 f95c 5400 |00be: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416176: 6e20 f85c 0400 |00c1: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@5cf8 │ │ +41617c: 6e20 f95c 3400 |00c4: invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416182: 6e10 035d 0400 |00c7: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +416188: 0c04 |00ca: move-result-object v4 │ │ +41618a: 1255 |00cb: const/4 v5, #int 5 // #5 │ │ +41618c: 7254 0c55 5862 |00cc: invoke-interface {v8, v5, v2, v6, v4}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ +416192: 0c02 |00cf: move-result-object v2 │ │ +416194: 1f01 c60a |00d0: check-cast v1, Ljava/lang/Boolean; // type@0ac6 │ │ +416198: 6e10 fe5b 0100 |00d2: invoke-virtual {v1}, Ljava/lang/Boolean;.booleanValue:()Z // method@5bfe │ │ +41619e: 0a01 |00d5: move-result v1 │ │ +4161a0: 7220 7a55 1200 |00d6: invoke-interface {v2, v1}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ +4161a6: 6e10 f455 0900 |00d9: invoke-virtual {v9}, Landroid/view/View;.getId:()I // method@55f4 │ │ +4161ac: 0a01 |00dc: move-result v1 │ │ +4161ae: 2202 f10a |00dd: new-instance v2, Ljava/lang/StringBuilder; // type@0af1 │ │ +4161b2: 7010 ee5c 0200 |00df: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +4161b8: 1a04 374a |00e2: const-string v4, "Share Smoke ID Of (" // string@4a37 │ │ +4161bc: 6e20 f95c 4200 |00e4: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4161c2: 6e20 f85c 0200 |00e7: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@5cf8 │ │ +4161c8: 6e20 f95c 3200 |00ea: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +4161ce: 6e10 035d 0200 |00ed: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +4161d4: 0c02 |00f0: move-result-object v2 │ │ +4161d6: 1264 |00f1: const/4 v4, #int 6 // #6 │ │ +4161d8: 7252 0c55 4851 |00f2: invoke-interface {v8, v4, v1, v5, v2}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ +4161de: 0c01 |00f5: move-result-object v1 │ │ +4161e0: 7220 7a55 a100 |00f6: invoke-interface {v1, v10}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ +4161e6: 127a |00f9: const/4 v10, #int 7 // #7 │ │ +4161e8: 6e10 f455 0900 |00fa: invoke-virtual {v9}, Landroid/view/View;.getId:()I // method@55f4 │ │ +4161ee: 0a09 |00fd: move-result v9 │ │ +4161f0: 2201 f10a |00fe: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ +4161f4: 7010 ee5c 0100 |0100: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +4161fa: 1a02 2851 |0103: const-string v2, "View Details (" // string@5128 │ │ +4161fe: 6e20 f95c 2100 |0105: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416204: 6e20 f85c 0100 |0108: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@5cf8 │ │ +41620a: 6e20 f95c 3100 |010b: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +416210: 6e10 035d 0100 |010e: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +416216: 0c00 |0111: move-result-object v0 │ │ +416218: 7250 0c55 a849 |0112: invoke-interface {v8, v10, v9, v4, v0}, Landroid/view/ContextMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@550c │ │ +41621e: 0e00 |0115: return-void │ │ catches : (none) │ │ positions : │ │ 0x0009 line=4001 │ │ 0x0010 line=4002 │ │ 0x0018 line=4006 │ │ 0x001b line=4008 │ │ 0x0036 line=4007 │ │ @@ -1543758,21 +1543757,21 @@ │ │ type : '(Landroid/view/Menu;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 12 16-bit code units │ │ -414754: |[414754] org.purple.smoke.Settings.onCreateOptionsMenu:(Landroid/view/Menu;)Z │ │ -414764: 6e10 e1b8 0200 |0000: invoke-virtual {v2}, Lorg/purple/smoke/Settings;.getMenuInflater:()Landroid/view/MenuInflater; // method@b8e1 │ │ -41476a: 0c00 |0003: move-result-object v0 │ │ -41476c: 1401 0400 0b7f |0004: const v1, #float 1.84763e+38 // #7f0b0004 │ │ -414772: 6e30 6255 1003 |0007: invoke-virtual {v0, v1, v3}, Landroid/view/MenuInflater;.inflate:(ILandroid/view/Menu;)V // method@5562 │ │ -414778: 1213 |000a: const/4 v3, #int 1 // #1 │ │ -41477a: 0f03 |000b: return v3 │ │ +414750: |[414750] org.purple.smoke.Settings.onCreateOptionsMenu:(Landroid/view/Menu;)Z │ │ +414760: 6e10 e1b8 0200 |0000: invoke-virtual {v2}, Lorg/purple/smoke/Settings;.getMenuInflater:()Landroid/view/MenuInflater; // method@b8e1 │ │ +414766: 0c00 |0003: move-result-object v0 │ │ +414768: 1401 0400 0b7f |0004: const v1, #float 1.84763e+38 // #7f0b0004 │ │ +41476e: 6e30 6255 1003 |0007: invoke-virtual {v0, v1, v3}, Landroid/view/MenuInflater;.inflate:(ILandroid/view/Menu;)V // method@5562 │ │ +414774: 1213 |000a: const/4 v3, #int 1 // #1 │ │ +414776: 0f03 |000b: return v3 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=3899 │ │ locals : │ │ 0x0000 - 0x000c reg=2 this Lorg/purple/smoke/Settings; │ │ 0x0000 - 0x000c reg=3 (null) Landroid/view/Menu; │ │ │ │ @@ -1543781,27 +1543780,27 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 25 16-bit code units │ │ -416224: |[416224] org.purple.smoke.Settings.onDestroy:()V │ │ -416234: 7100 66b9 0000 |0000: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -41623a: 0c00 |0003: move-result-object v0 │ │ -41623c: 6e10 61b9 0000 |0004: invoke-virtual {v0}, Lorg/purple/smoke/State;.exit:()Z // method@b961 │ │ -416242: 0a00 |0007: move-result v0 │ │ -416244: 3800 0a00 |0008: if-eqz v0, 0012 // +000a │ │ -416248: 7100 5705 0000 |000a: invoke-static {}, Landroid/os/Process;.myPid:()I // method@0557 │ │ -41624e: 0a00 |000d: move-result v0 │ │ -416250: 7110 5605 0000 |000e: invoke-static {v0}, Landroid/os/Process;.killProcess:(I)V // method@0556 │ │ -416256: 2807 |0011: goto 0018 // +0007 │ │ -416258: 7010 0cb9 0100 |0012: invoke-direct {v1}, Lorg/purple/smoke/Settings;.stopTimers:()V // method@b90c │ │ -41625e: 6f10 f53c 0100 |0015: invoke-super {v1}, Landroid/support/v7/app/AppCompatActivity;.onDestroy:()V // method@3cf5 │ │ -416264: 0e00 |0018: return-void │ │ +416220: |[416220] org.purple.smoke.Settings.onDestroy:()V │ │ +416230: 7100 66b9 0000 |0000: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +416236: 0c00 |0003: move-result-object v0 │ │ +416238: 6e10 61b9 0000 |0004: invoke-virtual {v0}, Lorg/purple/smoke/State;.exit:()Z // method@b961 │ │ +41623e: 0a00 |0007: move-result v0 │ │ +416240: 3800 0a00 |0008: if-eqz v0, 0012 // +000a │ │ +416244: 7100 5705 0000 |000a: invoke-static {}, Landroid/os/Process;.myPid:()I // method@0557 │ │ +41624a: 0a00 |000d: move-result v0 │ │ +41624c: 7110 5605 0000 |000e: invoke-static {v0}, Landroid/os/Process;.killProcess:(I)V // method@0556 │ │ +416252: 2807 |0011: goto 0018 // +0007 │ │ +416254: 7010 0cb9 0100 |0012: invoke-direct {v1}, Lorg/purple/smoke/Settings;.stopTimers:()V // method@b90c │ │ +41625a: 6f10 f53c 0100 |0015: invoke-super {v1}, Landroid/support/v7/app/AppCompatActivity;.onDestroy:()V // method@3cf5 │ │ +416260: 0e00 |0018: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=3651 │ │ 0x000a line=3652 │ │ 0x0012 line=3655 │ │ 0x0015 line=3656 │ │ locals : │ │ @@ -1543812,87 +1543811,87 @@ │ │ type : '(Landroid/view/MenuItem;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 10 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 168 16-bit code units │ │ -41477c: |[41477c] org.purple.smoke.Settings.onOptionsItemSelected:(Landroid/view/MenuItem;)Z │ │ -41478c: 7210 6a55 0900 |0000: invoke-interface {v9}, Landroid/view/MenuItem;.getGroupId:()I // method@556a │ │ -414792: 0a00 |0003: move-result v0 │ │ -414794: 7210 6c55 0900 |0004: invoke-interface {v9}, Landroid/view/MenuItem;.getItemId:()I // method@556c │ │ -41479a: 0a01 |0007: move-result v1 │ │ -41479c: 1a02 287b |0008: const-string v2, "lastActivity" // string@7b28 │ │ -4147a0: 1203 |000a: const/4 v3, #int 0 // #0 │ │ -4147a2: 1214 |000b: const/4 v4, #int 1 // #1 │ │ -4147a4: 3900 2f00 |000c: if-nez v0, 003b // +002f │ │ -4147a8: 2c01 8400 0000 |000e: sparse-switch v1, 00000092 // +00000084 │ │ -4147ae: 287b |0011: goto 008c // +007b │ │ -4147b0: 5489 1a5d |0012: iget-object v9, v8, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -4147b4: 1a00 514b |0014: const-string v0, "Steam" // string@4b51 │ │ -4147b8: 6e40 30b6 3902 |0016: invoke-virtual {v9, v3, v2, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -4147be: 7010 07b9 0800 |0019: invoke-direct {v8}, Lorg/purple/smoke/Settings;.showSteamActivity:()V // method@b907 │ │ -4147c4: 0f04 |001c: return v4 │ │ -4147c6: 7010 06b9 0800 |001d: invoke-direct {v8}, Lorg/purple/smoke/Settings;.showSmokescreenActivity:()V // method@b906 │ │ -4147cc: 0f04 |0020: return v4 │ │ -4147ce: 5489 1a5d |0021: iget-object v9, v8, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -4147d2: 1a00 b31a |0023: const-string v0, "Fire" // string@1ab3 │ │ -4147d6: 6e40 30b6 3902 |0025: invoke-virtual {v9, v3, v2, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -4147dc: 7010 04b9 0800 |0028: invoke-direct {v8}, Lorg/purple/smoke/Settings;.showFireActivity:()V // method@b904 │ │ -4147e2: 0f04 |002b: return v4 │ │ -4147e4: 7120 1cb9 8400 |002c: invoke-static {v4, v8}, Lorg/purple/smoke/Smoke;.exit:(ZLandroid/content/Context;)V // method@b91c │ │ -4147ea: 0f04 |002f: return v4 │ │ -4147ec: 5489 1a5d |0030: iget-object v9, v8, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -4147f0: 1a00 da12 |0032: const-string v0, "Chat" // string@12da │ │ -4147f4: 6e40 30b6 3902 |0034: invoke-virtual {v9, v3, v2, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -4147fa: 7010 02b9 0800 |0037: invoke-direct {v8}, Lorg/purple/smoke/Settings;.showChatActivity:()V // method@b902 │ │ -414800: 0f04 |003a: return v4 │ │ -414802: 7210 6e55 0900 |003b: invoke-interface {v9}, Landroid/view/MenuItem;.getTitle:()Ljava/lang/CharSequence; // method@556e │ │ -414808: 0c00 |003e: move-result-object v0 │ │ -41480a: 7210 045c 0000 |003f: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ -414810: 0c00 |0042: move-result-object v0 │ │ -414812: 1a05 7203 |0043: const-string v5, "(" // string@0372 │ │ -414816: 6e20 c25c 5000 |0045: invoke-virtual {v0, v5}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@5cc2 │ │ -41481c: 0a05 |0048: move-result v5 │ │ -41481e: 3a05 0f00 |0049: if-ltz v5, 0058 // +000f │ │ -414822: b045 |004b: add-int/2addr v5, v4 │ │ -414824: 6e20 cc5c 5000 |004c: invoke-virtual {v0, v5}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@5ccc │ │ -41482a: 0c04 |004f: move-result-object v4 │ │ -41482c: 1a05 e403 |0050: const-string v5, ")" // string@03e4 │ │ -414830: 1a06 0000 |0052: const-string v6, "" // string@0000 │ │ -414834: 6e30 c85c 5406 |0054: invoke-virtual {v4, v5, v6}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ -41483a: 0c00 |0057: move-result-object v0 │ │ -41483c: 7110 e7b7 0000 |0058: invoke-static {v0}, Lorg/purple/smoke/Miscellaneous;.prepareSipHashId:(Ljava/lang/String;)Ljava/lang/String; // method@b7e7 │ │ -414842: 0c00 |005b: move-result-object v0 │ │ -414844: 7100 66b9 0000 |005c: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -41484a: 0c04 |005f: move-result-object v4 │ │ -41484c: 7110 d55c 0100 |0060: invoke-static {v1}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ -414852: 0c05 |0063: move-result-object v5 │ │ -414854: 1a06 9b88 |0064: const-string v6, "member_chat_oid" // string@889b │ │ -414858: 6e30 81b9 6405 |0066: invoke-virtual {v4, v6, v5}, Lorg/purple/smoke/State;.setString:(Ljava/lang/String;Ljava/lang/String;)V // method@b981 │ │ -41485e: 7100 66b9 0000 |0069: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -414864: 0c04 |006c: move-result-object v4 │ │ -414866: 1a05 9d88 |006d: const-string v5, "member_chat_siphash_id" // string@889d │ │ -41486a: 6e30 81b9 5400 |006f: invoke-virtual {v4, v5, v0}, Lorg/purple/smoke/State;.setString:(Ljava/lang/String;Ljava/lang/String;)V // method@b981 │ │ -414870: 5484 1a5d |0072: iget-object v4, v8, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -414874: 1a07 263f |0074: const-string v7, "MemberChat" // string@3f26 │ │ -414878: 6e40 30b6 3472 |0076: invoke-virtual {v4, v3, v2, v7}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -41487e: 5482 1a5d |0079: iget-object v2, v8, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -414882: 6203 1e5d |007b: sget-object v3, Lorg/purple/smoke/Settings;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d1e │ │ -414886: 7110 d55c 0100 |007d: invoke-static {v1}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ -41488c: 0c01 |0080: move-result-object v1 │ │ -41488e: 6e40 30b6 3216 |0081: invoke-virtual {v2, v3, v6, v1}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -414894: 5481 1a5d |0084: iget-object v1, v8, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -414898: 6e40 30b6 3105 |0086: invoke-virtual {v1, v3, v5, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -41489e: 7010 05b9 0800 |0089: invoke-direct {v8}, Lorg/purple/smoke/Settings;.showMemberChatActivity:()V // method@b905 │ │ -4148a4: 6f20 f83c 9800 |008c: invoke-super {v8, v9}, Landroid/support/v7/app/AppCompatActivity;.onOptionsItemSelected:(Landroid/view/MenuItem;)Z // method@3cf8 │ │ -4148aa: 0a09 |008f: move-result v9 │ │ -4148ac: 0f09 |0090: return v9 │ │ -4148ae: 0000 |0091: nop // spacer │ │ -4148b0: 0002 0500 0a00 087f 0e00 087f 0f00 ... |0092: sparse-switch-data (22 units) │ │ +414778: |[414778] org.purple.smoke.Settings.onOptionsItemSelected:(Landroid/view/MenuItem;)Z │ │ +414788: 7210 6a55 0900 |0000: invoke-interface {v9}, Landroid/view/MenuItem;.getGroupId:()I // method@556a │ │ +41478e: 0a00 |0003: move-result v0 │ │ +414790: 7210 6c55 0900 |0004: invoke-interface {v9}, Landroid/view/MenuItem;.getItemId:()I // method@556c │ │ +414796: 0a01 |0007: move-result v1 │ │ +414798: 1a02 287b |0008: const-string v2, "lastActivity" // string@7b28 │ │ +41479c: 1203 |000a: const/4 v3, #int 0 // #0 │ │ +41479e: 1214 |000b: const/4 v4, #int 1 // #1 │ │ +4147a0: 3900 2f00 |000c: if-nez v0, 003b // +002f │ │ +4147a4: 2c01 8400 0000 |000e: sparse-switch v1, 00000092 // +00000084 │ │ +4147aa: 287b |0011: goto 008c // +007b │ │ +4147ac: 5489 1a5d |0012: iget-object v9, v8, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +4147b0: 1a00 514b |0014: const-string v0, "Steam" // string@4b51 │ │ +4147b4: 6e40 30b6 3902 |0016: invoke-virtual {v9, v3, v2, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +4147ba: 7010 07b9 0800 |0019: invoke-direct {v8}, Lorg/purple/smoke/Settings;.showSteamActivity:()V // method@b907 │ │ +4147c0: 0f04 |001c: return v4 │ │ +4147c2: 7010 06b9 0800 |001d: invoke-direct {v8}, Lorg/purple/smoke/Settings;.showSmokescreenActivity:()V // method@b906 │ │ +4147c8: 0f04 |0020: return v4 │ │ +4147ca: 5489 1a5d |0021: iget-object v9, v8, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +4147ce: 1a00 b31a |0023: const-string v0, "Fire" // string@1ab3 │ │ +4147d2: 6e40 30b6 3902 |0025: invoke-virtual {v9, v3, v2, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +4147d8: 7010 04b9 0800 |0028: invoke-direct {v8}, Lorg/purple/smoke/Settings;.showFireActivity:()V // method@b904 │ │ +4147de: 0f04 |002b: return v4 │ │ +4147e0: 7120 1cb9 8400 |002c: invoke-static {v4, v8}, Lorg/purple/smoke/Smoke;.exit:(ZLandroid/content/Context;)V // method@b91c │ │ +4147e6: 0f04 |002f: return v4 │ │ +4147e8: 5489 1a5d |0030: iget-object v9, v8, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +4147ec: 1a00 da12 |0032: const-string v0, "Chat" // string@12da │ │ +4147f0: 6e40 30b6 3902 |0034: invoke-virtual {v9, v3, v2, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +4147f6: 7010 02b9 0800 |0037: invoke-direct {v8}, Lorg/purple/smoke/Settings;.showChatActivity:()V // method@b902 │ │ +4147fc: 0f04 |003a: return v4 │ │ +4147fe: 7210 6e55 0900 |003b: invoke-interface {v9}, Landroid/view/MenuItem;.getTitle:()Ljava/lang/CharSequence; // method@556e │ │ +414804: 0c00 |003e: move-result-object v0 │ │ +414806: 7210 045c 0000 |003f: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ +41480c: 0c00 |0042: move-result-object v0 │ │ +41480e: 1a05 7203 |0043: const-string v5, "(" // string@0372 │ │ +414812: 6e20 c25c 5000 |0045: invoke-virtual {v0, v5}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@5cc2 │ │ +414818: 0a05 |0048: move-result v5 │ │ +41481a: 3a05 0f00 |0049: if-ltz v5, 0058 // +000f │ │ +41481e: b045 |004b: add-int/2addr v5, v4 │ │ +414820: 6e20 cc5c 5000 |004c: invoke-virtual {v0, v5}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@5ccc │ │ +414826: 0c04 |004f: move-result-object v4 │ │ +414828: 1a05 e403 |0050: const-string v5, ")" // string@03e4 │ │ +41482c: 1a06 0000 |0052: const-string v6, "" // string@0000 │ │ +414830: 6e30 c85c 5406 |0054: invoke-virtual {v4, v5, v6}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ +414836: 0c00 |0057: move-result-object v0 │ │ +414838: 7110 e7b7 0000 |0058: invoke-static {v0}, Lorg/purple/smoke/Miscellaneous;.prepareSipHashId:(Ljava/lang/String;)Ljava/lang/String; // method@b7e7 │ │ +41483e: 0c00 |005b: move-result-object v0 │ │ +414840: 7100 66b9 0000 |005c: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +414846: 0c04 |005f: move-result-object v4 │ │ +414848: 7110 d55c 0100 |0060: invoke-static {v1}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ +41484e: 0c05 |0063: move-result-object v5 │ │ +414850: 1a06 9b88 |0064: const-string v6, "member_chat_oid" // string@889b │ │ +414854: 6e30 81b9 6405 |0066: invoke-virtual {v4, v6, v5}, Lorg/purple/smoke/State;.setString:(Ljava/lang/String;Ljava/lang/String;)V // method@b981 │ │ +41485a: 7100 66b9 0000 |0069: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +414860: 0c04 |006c: move-result-object v4 │ │ +414862: 1a05 9d88 |006d: const-string v5, "member_chat_siphash_id" // string@889d │ │ +414866: 6e30 81b9 5400 |006f: invoke-virtual {v4, v5, v0}, Lorg/purple/smoke/State;.setString:(Ljava/lang/String;Ljava/lang/String;)V // method@b981 │ │ +41486c: 5484 1a5d |0072: iget-object v4, v8, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +414870: 1a07 263f |0074: const-string v7, "MemberChat" // string@3f26 │ │ +414874: 6e40 30b6 3472 |0076: invoke-virtual {v4, v3, v2, v7}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +41487a: 5482 1a5d |0079: iget-object v2, v8, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +41487e: 6203 1e5d |007b: sget-object v3, Lorg/purple/smoke/Settings;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d1e │ │ +414882: 7110 d55c 0100 |007d: invoke-static {v1}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ +414888: 0c01 |0080: move-result-object v1 │ │ +41488a: 6e40 30b6 3216 |0081: invoke-virtual {v2, v3, v6, v1}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +414890: 5481 1a5d |0084: iget-object v1, v8, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +414894: 6e40 30b6 3105 |0086: invoke-virtual {v1, v3, v5, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +41489a: 7010 05b9 0800 |0089: invoke-direct {v8}, Lorg/purple/smoke/Settings;.showMemberChatActivity:()V // method@b905 │ │ +4148a0: 6f20 f83c 9800 |008c: invoke-super {v8, v9}, Landroid/support/v7/app/AppCompatActivity;.onOptionsItemSelected:(Landroid/view/MenuItem;)Z // method@3cf8 │ │ +4148a6: 0a09 |008f: move-result v9 │ │ +4148a8: 0f09 |0090: return v9 │ │ +4148aa: 0000 |0091: nop // spacer │ │ +4148ac: 0002 0500 0a00 087f 0e00 087f 0f00 ... |0092: sparse-switch-data (22 units) │ │ catches : 1 │ │ 0x0043 - 0x0058 │ │ Ljava/lang/Exception; -> 0x0058 │ │ positions : │ │ 0x0000 line=3906 │ │ 0x0004 line=3907 │ │ 0x0012 line=3928 │ │ @@ -1543928,26 +1543927,26 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 23 16-bit code units │ │ -416268: |[416268] org.purple.smoke.Settings.onPause:()V │ │ -416278: 6f10 fa3c 0200 |0000: invoke-super {v2}, Landroid/support/v7/app/AppCompatActivity;.onPause:()V // method@3cfa │ │ -41627e: 5520 1c5d |0003: iget-boolean v0, v2, Lorg/purple/smoke/Settings;.m_receiverRegistered:Z // field@5d1c │ │ -416282: 3800 0e00 |0005: if-eqz v0, 0013 // +000e │ │ -416286: 7110 a41d 0200 |0007: invoke-static {v2}, Landroid/support/v4/content/LocalBroadcastManager;.getInstance:(Landroid/content/Context;)Landroid/support/v4/content/LocalBroadcastManager; // method@1da4 │ │ -41628c: 0c00 |000a: move-result-object v0 │ │ -41628e: 5421 1b5d |000b: iget-object v1, v2, Lorg/purple/smoke/Settings;.m_receiver:Lorg/purple/smoke/Settings$SettingsBroadcastReceiver; // field@5d1b │ │ -416292: 6e20 a81d 1000 |000d: invoke-virtual {v0, v1}, Landroid/support/v4/content/LocalBroadcastManager;.unregisterReceiver:(Landroid/content/BroadcastReceiver;)V // method@1da8 │ │ -416298: 1200 |0010: const/4 v0, #int 0 // #0 │ │ -41629a: 5c20 1c5d |0011: iput-boolean v0, v2, Lorg/purple/smoke/Settings;.m_receiverRegistered:Z // field@5d1c │ │ -41629e: 7010 fbb8 0200 |0013: invoke-direct {v2}, Lorg/purple/smoke/Settings;.releaseResources:()V // method@b8fb │ │ -4162a4: 0e00 |0016: return-void │ │ +416264: |[416264] org.purple.smoke.Settings.onPause:()V │ │ +416274: 6f10 fa3c 0200 |0000: invoke-super {v2}, Landroid/support/v7/app/AppCompatActivity;.onPause:()V // method@3cfa │ │ +41627a: 5520 1c5d |0003: iget-boolean v0, v2, Lorg/purple/smoke/Settings;.m_receiverRegistered:Z // field@5d1c │ │ +41627e: 3800 0e00 |0005: if-eqz v0, 0013 // +000e │ │ +416282: 7110 a41d 0200 |0007: invoke-static {v2}, Landroid/support/v4/content/LocalBroadcastManager;.getInstance:(Landroid/content/Context;)Landroid/support/v4/content/LocalBroadcastManager; // method@1da4 │ │ +416288: 0c00 |000a: move-result-object v0 │ │ +41628a: 5421 1b5d |000b: iget-object v1, v2, Lorg/purple/smoke/Settings;.m_receiver:Lorg/purple/smoke/Settings$SettingsBroadcastReceiver; // field@5d1b │ │ +41628e: 6e20 a81d 1000 |000d: invoke-virtual {v0, v1}, Landroid/support/v4/content/LocalBroadcastManager;.unregisterReceiver:(Landroid/content/BroadcastReceiver;)V // method@1da8 │ │ +416294: 1200 |0010: const/4 v0, #int 0 // #0 │ │ +416296: 5c20 1c5d |0011: iput-boolean v0, v2, Lorg/purple/smoke/Settings;.m_receiverRegistered:Z // field@5d1c │ │ +41629a: 7010 fbb8 0200 |0013: invoke-direct {v2}, Lorg/purple/smoke/Settings;.releaseResources:()V // method@b8fb │ │ +4162a0: 0e00 |0016: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=3663 │ │ 0x0003 line=3665 │ │ 0x0007 line=3667 │ │ 0x000d line=3668 │ │ 0x0011 line=3669 │ │ @@ -1543960,66 +1543959,66 @@ │ │ type : '(Landroid/view/Menu;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 108 16-bit code units │ │ -4148ec: |[4148ec] org.purple.smoke.Settings.onPrepareOptionsMenu:(Landroid/view/Menu;)Z │ │ -4148fc: 7100 66b9 0000 |0000: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -414902: 0c00 |0003: move-result-object v0 │ │ -414904: 6e10 69b9 0000 |0004: invoke-virtual {v0}, Lorg/purple/smoke/State;.isAuthenticated:()Z // method@b969 │ │ -41490a: 0a00 |0007: move-result v0 │ │ -41490c: 5431 1a5d |0008: iget-object v1, v3, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -414910: 6e10 d4b5 0100 |000a: invoke-virtual {v1}, Lorg/purple/smoke/Database;.accountPrepared:()Z // method@b5d4 │ │ -414916: 0a01 |000d: move-result v1 │ │ -414918: 1212 |000e: const/4 v2, #int 1 // #1 │ │ -41491a: 3901 0300 |000f: if-nez v1, 0012 // +0003 │ │ -41491e: 1210 |0011: const/4 v0, #int 1 // #1 │ │ -414920: 1401 0200 087f |0012: const v1, #float 1.80775e+38 // #7f080002 │ │ -414926: 7220 5c55 1400 |0015: invoke-interface {v4, v1}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ -41492c: 0c01 |0018: move-result-object v1 │ │ -41492e: b720 |0019: xor-int/2addr v0, v2 │ │ -414930: 7220 7a55 0100 |001a: invoke-interface {v1, v0}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ -414936: 1400 0a00 087f |001d: const v0, #float 1.80775e+38 // #7f08000a │ │ -41493c: 7220 5c55 0400 |0020: invoke-interface {v4, v0}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ -414942: 0c00 |0023: move-result-object v0 │ │ -414944: 7100 66b9 0000 |0024: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -41494a: 0c01 |0027: move-result-object v1 │ │ -41494c: 6e10 69b9 0100 |0028: invoke-virtual {v1}, Lorg/purple/smoke/State;.isAuthenticated:()Z // method@b969 │ │ -414952: 0a01 |002b: move-result v1 │ │ -414954: 7220 7a55 1000 |002c: invoke-interface {v0, v1}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ -41495a: 1400 0f00 087f |002f: const v0, #float 1.80775e+38 // #7f08000f │ │ -414960: 7220 5c55 0400 |0032: invoke-interface {v4, v0}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ -414966: 0c00 |0035: move-result-object v0 │ │ -414968: 7100 66b9 0000 |0036: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -41496e: 0c01 |0039: move-result-object v1 │ │ -414970: 6e10 69b9 0100 |003a: invoke-virtual {v1}, Lorg/purple/smoke/State;.isAuthenticated:()Z // method@b969 │ │ -414976: 0a01 |003d: move-result v1 │ │ -414978: 7220 7a55 1000 |003e: invoke-interface {v0, v1}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ -41497e: 1400 1700 087f |0041: const v0, #float 1.80775e+38 // #7f080017 │ │ -414984: 7220 5c55 0400 |0044: invoke-interface {v4, v0}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ -41498a: 0c00 |0047: move-result-object v0 │ │ -41498c: 7100 66b9 0000 |0048: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -414992: 0c01 |004b: move-result-object v1 │ │ -414994: 6e10 69b9 0100 |004c: invoke-virtual {v1}, Lorg/purple/smoke/State;.isAuthenticated:()Z // method@b969 │ │ -41499a: 0a01 |004f: move-result v1 │ │ -41499c: 7220 7a55 1000 |0050: invoke-interface {v0, v1}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ -4149a2: 1400 1800 087f |0053: const v0, #float 1.80775e+38 // #7f080018 │ │ -4149a8: 7220 5c55 0400 |0056: invoke-interface {v4, v0}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ -4149ae: 0c00 |0059: move-result-object v0 │ │ -4149b0: 7100 66b9 0000 |005a: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -4149b6: 0c01 |005d: move-result-object v1 │ │ -4149b8: 6e10 69b9 0100 |005e: invoke-virtual {v1}, Lorg/purple/smoke/State;.isAuthenticated:()Z // method@b969 │ │ -4149be: 0a01 |0061: move-result v1 │ │ -4149c0: 7220 7a55 1000 |0062: invoke-interface {v0, v1}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ -4149c6: 1260 |0065: const/4 v0, #int 6 // #6 │ │ -4149c8: 1301 fa00 |0066: const/16 v1, #int 250 // #fa │ │ -4149cc: 7130 d5b7 0401 |0068: invoke-static {v4, v0, v1}, Lorg/purple/smoke/Miscellaneous;.addMembersToMenu:(Landroid/view/Menu;II)Landroid/view/SubMenu; // method@b7d5 │ │ -4149d2: 0f02 |006b: return v2 │ │ +4148e8: |[4148e8] org.purple.smoke.Settings.onPrepareOptionsMenu:(Landroid/view/Menu;)Z │ │ +4148f8: 7100 66b9 0000 |0000: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +4148fe: 0c00 |0003: move-result-object v0 │ │ +414900: 6e10 69b9 0000 |0004: invoke-virtual {v0}, Lorg/purple/smoke/State;.isAuthenticated:()Z // method@b969 │ │ +414906: 0a00 |0007: move-result v0 │ │ +414908: 5431 1a5d |0008: iget-object v1, v3, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +41490c: 6e10 d4b5 0100 |000a: invoke-virtual {v1}, Lorg/purple/smoke/Database;.accountPrepared:()Z // method@b5d4 │ │ +414912: 0a01 |000d: move-result v1 │ │ +414914: 1212 |000e: const/4 v2, #int 1 // #1 │ │ +414916: 3901 0300 |000f: if-nez v1, 0012 // +0003 │ │ +41491a: 1210 |0011: const/4 v0, #int 1 // #1 │ │ +41491c: 1401 0200 087f |0012: const v1, #float 1.80775e+38 // #7f080002 │ │ +414922: 7220 5c55 1400 |0015: invoke-interface {v4, v1}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ +414928: 0c01 |0018: move-result-object v1 │ │ +41492a: b720 |0019: xor-int/2addr v0, v2 │ │ +41492c: 7220 7a55 0100 |001a: invoke-interface {v1, v0}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ +414932: 1400 0a00 087f |001d: const v0, #float 1.80775e+38 // #7f08000a │ │ +414938: 7220 5c55 0400 |0020: invoke-interface {v4, v0}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ +41493e: 0c00 |0023: move-result-object v0 │ │ +414940: 7100 66b9 0000 |0024: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +414946: 0c01 |0027: move-result-object v1 │ │ +414948: 6e10 69b9 0100 |0028: invoke-virtual {v1}, Lorg/purple/smoke/State;.isAuthenticated:()Z // method@b969 │ │ +41494e: 0a01 |002b: move-result v1 │ │ +414950: 7220 7a55 1000 |002c: invoke-interface {v0, v1}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ +414956: 1400 0f00 087f |002f: const v0, #float 1.80775e+38 // #7f08000f │ │ +41495c: 7220 5c55 0400 |0032: invoke-interface {v4, v0}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ +414962: 0c00 |0035: move-result-object v0 │ │ +414964: 7100 66b9 0000 |0036: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +41496a: 0c01 |0039: move-result-object v1 │ │ +41496c: 6e10 69b9 0100 |003a: invoke-virtual {v1}, Lorg/purple/smoke/State;.isAuthenticated:()Z // method@b969 │ │ +414972: 0a01 |003d: move-result v1 │ │ +414974: 7220 7a55 1000 |003e: invoke-interface {v0, v1}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ +41497a: 1400 1700 087f |0041: const v0, #float 1.80775e+38 // #7f080017 │ │ +414980: 7220 5c55 0400 |0044: invoke-interface {v4, v0}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ +414986: 0c00 |0047: move-result-object v0 │ │ +414988: 7100 66b9 0000 |0048: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +41498e: 0c01 |004b: move-result-object v1 │ │ +414990: 6e10 69b9 0100 |004c: invoke-virtual {v1}, Lorg/purple/smoke/State;.isAuthenticated:()Z // method@b969 │ │ +414996: 0a01 |004f: move-result v1 │ │ +414998: 7220 7a55 1000 |0050: invoke-interface {v0, v1}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ +41499e: 1400 1800 087f |0053: const v0, #float 1.80775e+38 // #7f080018 │ │ +4149a4: 7220 5c55 0400 |0056: invoke-interface {v4, v0}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ +4149aa: 0c00 |0059: move-result-object v0 │ │ +4149ac: 7100 66b9 0000 |005a: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +4149b2: 0c01 |005d: move-result-object v1 │ │ +4149b4: 6e10 69b9 0100 |005e: invoke-virtual {v1}, Lorg/purple/smoke/State;.isAuthenticated:()Z // method@b969 │ │ +4149ba: 0a01 |0061: move-result v1 │ │ +4149bc: 7220 7a55 1000 |0062: invoke-interface {v0, v1}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ +4149c2: 1260 |0065: const/4 v0, #int 6 // #6 │ │ +4149c4: 1301 fa00 |0066: const/16 v1, #int 250 // #fa │ │ +4149c8: 7130 d5b7 0401 |0068: invoke-static {v4, v0, v1}, Lorg/purple/smoke/Miscellaneous;.addMembersToMenu:(Landroid/view/Menu;II)Landroid/view/SubMenu; // method@b7d5 │ │ +4149ce: 0f02 |006b: return v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=3971 │ │ 0x0008 line=3973 │ │ 0x0015 line=3980 │ │ 0x0020 line=3981 │ │ 0x0024 line=3982 │ │ @@ -1544039,128 +1544038,128 @@ │ │ type : '(Landroid/os/Bundle;)V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -4162a8: |[4162a8] org.purple.smoke.Settings.onRestoreInstanceState:(Landroid/os/Bundle;)V │ │ -4162b8: 0e00 |0000: return-void │ │ +4162a4: |[4162a4] org.purple.smoke.Settings.onRestoreInstanceState:(Landroid/os/Bundle;)V │ │ +4162b4: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #9 : (in Lorg/purple/smoke/Settings;) │ │ name : 'onResume' │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 224 16-bit code units │ │ -4162bc: |[4162bc] org.purple.smoke.Settings.onResume:()V │ │ -4162cc: 6f10 fe3c 0500 |0000: invoke-super {v5}, Landroid/support/v7/app/AppCompatActivity;.onResume:()V // method@3cfe │ │ -4162d2: 7010 e7b8 0500 |0003: invoke-direct {v5}, Lorg/purple/smoke/Settings;.networkStatusChanged:()V // method@b8e7 │ │ -4162d8: 5550 1c5d |0006: iget-boolean v0, v5, Lorg/purple/smoke/Settings;.m_receiverRegistered:Z // field@5d1c │ │ -4162dc: 1211 |0008: const/4 v1, #int 1 // #1 │ │ -4162de: 3900 4400 |0009: if-nez v0, 004d // +0044 │ │ -4162e2: 2200 4a00 |000b: new-instance v0, Landroid/content/IntentFilter; // type@004a │ │ -4162e6: 7010 cf01 0000 |000d: invoke-direct {v0}, Landroid/content/IntentFilter;.:()V // method@01cf │ │ -4162ec: 1a02 c18f |0010: const-string v2, "org.purple.smoke.chat_message" // string@8fc1 │ │ -4162f0: 6e20 d001 2000 |0012: invoke-virtual {v0, v2}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ -4162f6: 1a02 c98f |0015: const-string v2, "org.purple.smoke.neighbor_aborted" // string@8fc9 │ │ -4162fa: 6e20 d001 2000 |0017: invoke-virtual {v0, v2}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ -416300: 1a02 ca8f |001a: const-string v2, "org.purple.smoke.neighbor_connected" // string@8fca │ │ -416304: 6e20 d001 2000 |001c: invoke-virtual {v0, v2}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ -41630a: 1a02 cb8f |001f: const-string v2, "org.purple.smoke.neighbor_disconnected" // string@8fcb │ │ -41630e: 6e20 d001 2000 |0021: invoke-virtual {v0, v2}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ -416314: 1a02 cc8f |0024: const-string v2, "org.purple.smoke.network_connected" // string@8fcc │ │ -416318: 6e20 d001 2000 |0026: invoke-virtual {v0, v2}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ -41631e: 1a02 cd8f |0029: const-string v2, "org.purple.smoke.network_disconnected" // string@8fcd │ │ -416322: 6e20 d001 2000 |002b: invoke-virtual {v0, v2}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ -416328: 1a02 cf8f |002e: const-string v2, "org.purple.smoke.populate_participants" // string@8fcf │ │ -41632c: 6e20 d001 2000 |0030: invoke-virtual {v0, v2}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ -416332: 1a02 d48f |0033: const-string v2, "org.purple.smoke.siphash_share_confirmation" // string@8fd4 │ │ -416336: 6e20 d001 2000 |0035: invoke-virtual {v0, v2}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ -41633c: 1a02 d58f |0038: const-string v2, "org.purple.smoke.state_participants_populated" // string@8fd5 │ │ -416340: 6e20 d001 2000 |003a: invoke-virtual {v0, v2}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ -416346: 1a02 d98f |003d: const-string v2, "org.purple.smoke.time" // string@8fd9 │ │ -41634a: 6e20 d001 2000 |003f: invoke-virtual {v0, v2}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ -416350: 7110 a41d 0500 |0042: invoke-static {v5}, Landroid/support/v4/content/LocalBroadcastManager;.getInstance:(Landroid/content/Context;)Landroid/support/v4/content/LocalBroadcastManager; // method@1da4 │ │ -416356: 0c02 |0045: move-result-object v2 │ │ -416358: 5453 1b5d |0046: iget-object v3, v5, Lorg/purple/smoke/Settings;.m_receiver:Lorg/purple/smoke/Settings$SettingsBroadcastReceiver; // field@5d1b │ │ -41635c: 6e30 a51d 3200 |0048: invoke-virtual {v2, v3, v0}, Landroid/support/v4/content/LocalBroadcastManager;.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)V // method@1da5 │ │ -416362: 5c51 1c5d |004b: iput-boolean v1, v5, Lorg/purple/smoke/Settings;.m_receiverRegistered:Z // field@5d1c │ │ -416366: 7100 66b9 0000 |004d: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -41636c: 0c00 |0050: move-result-object v0 │ │ -41636e: 6e10 6ab9 0000 |0051: invoke-virtual {v0}, Lorg/purple/smoke/State;.isLocked:()Z // method@b96a │ │ -416374: 0a00 |0054: move-result v0 │ │ -416376: 3800 0600 |0055: if-eqz v0, 005b // +0006 │ │ -41637a: 7010 06b9 0500 |0057: invoke-direct {v5}, Lorg/purple/smoke/Settings;.showSmokescreenActivity:()V // method@b906 │ │ -416380: 0e00 |005a: return-void │ │ -416382: 5450 1a5d |005b: iget-object v0, v5, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -416386: 1202 |005d: const/4 v2, #int 0 // #0 │ │ -416388: 1a03 287b |005e: const-string v3, "lastActivity" // string@7b28 │ │ -41638c: 6e30 0eb6 2003 |0060: invoke-virtual {v0, v2, v3}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ -416392: 0c00 |0063: move-result-object v0 │ │ -416394: 6e10 bf5c 0000 |0064: invoke-virtual {v0}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ -41639a: 12f3 |0067: const/4 v3, #int -1 // #ff │ │ -41639c: 6e10 bf5c 0000 |0068: invoke-virtual {v0}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ -4163a2: 0a04 |006b: move-result v4 │ │ -4163a4: 2c04 5600 0000 |006c: sparse-switch v4, 000000c2 // +00000056 │ │ -4163aa: 12f1 |006f: const/4 v1, #int -1 // #ff │ │ -4163ac: 282a |0070: goto 009a // +002a │ │ -4163ae: 1a01 263f |0071: const-string v1, "MemberChat" // string@3f26 │ │ -4163b2: 6e20 b85c 1000 |0073: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -4163b8: 0a00 |0076: move-result v0 │ │ -4163ba: 3900 0300 |0077: if-nez v0, 007a // +0003 │ │ -4163be: 28f6 |0079: goto 006f // -000a │ │ -4163c0: 1231 |007a: const/4 v1, #int 3 // #3 │ │ -4163c2: 281f |007b: goto 009a // +001f │ │ -4163c4: 1a01 514b |007c: const-string v1, "Steam" // string@4b51 │ │ -4163c8: 6e20 b85c 1000 |007e: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -4163ce: 0a00 |0081: move-result v0 │ │ -4163d0: 3900 0300 |0082: if-nez v0, 0085 // +0003 │ │ -4163d4: 28eb |0084: goto 006f // -0015 │ │ -4163d6: 1221 |0085: const/4 v1, #int 2 // #2 │ │ -4163d8: 2814 |0086: goto 009a // +0014 │ │ -4163da: 1a04 b31a |0087: const-string v4, "Fire" // string@1ab3 │ │ -4163de: 6e20 b85c 4000 |0089: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -4163e4: 0a00 |008c: move-result v0 │ │ -4163e6: 3900 0d00 |008d: if-nez v0, 009a // +000d │ │ -4163ea: 28e0 |008f: goto 006f // -0020 │ │ -4163ec: 1a01 da12 |0090: const-string v1, "Chat" // string@12da │ │ -4163f0: 6e20 b85c 1000 |0092: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -4163f6: 0a00 |0095: move-result v0 │ │ -4163f8: 3900 0300 |0096: if-nez v0, 0099 // +0003 │ │ -4163fc: 28d7 |0098: goto 006f // -0029 │ │ -4163fe: 1201 |0099: const/4 v1, #int 0 // #0 │ │ -416400: 2b01 3a00 0000 |009a: packed-switch v1, 000000d4 // +0000003a │ │ -416406: 5450 1a5d |009d: iget-object v0, v5, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ -41640a: 1a01 255a |009f: const-string v1, "automatic_neighbors_refresh" // string@5a25 │ │ -41640e: 6e30 0eb6 2001 |00a1: invoke-virtual {v0, v2, v1}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ -416414: 0c00 |00a4: move-result-object v0 │ │ -416416: 1a01 00a3 |00a5: const-string v1, "true" // string@a300 │ │ -41641a: 6e20 b85c 1000 |00a7: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ -416420: 0a00 |00aa: move-result v0 │ │ -416422: 3800 1500 |00ab: if-eqz v0, 00c0 // +0015 │ │ -416426: 7010 0bb9 0500 |00ad: invoke-direct {v5}, Lorg/purple/smoke/Settings;.startTimers:()V // method@b90b │ │ -41642c: 2810 |00b0: goto 00c0 // +0010 │ │ -41642e: 7010 05b9 0500 |00b1: invoke-direct {v5}, Lorg/purple/smoke/Settings;.showMemberChatActivity:()V // method@b905 │ │ -416434: 280c |00b4: goto 00c0 // +000c │ │ -416436: 7010 07b9 0500 |00b5: invoke-direct {v5}, Lorg/purple/smoke/Settings;.showSteamActivity:()V // method@b907 │ │ -41643c: 2808 |00b8: goto 00c0 // +0008 │ │ -41643e: 7010 04b9 0500 |00b9: invoke-direct {v5}, Lorg/purple/smoke/Settings;.showFireActivity:()V // method@b904 │ │ -416444: 2804 |00bc: goto 00c0 // +0004 │ │ -416446: 7010 02b9 0500 |00bd: invoke-direct {v5}, Lorg/purple/smoke/Settings;.showChatActivity:()V // method@b902 │ │ -41644c: 0e00 |00c0: return-void │ │ -41644e: 0000 |00c1: nop // spacer │ │ -416450: 0002 0400 7807 2000 566a 2100 30e1 ... |00c2: sparse-switch-data (18 units) │ │ -416474: 0001 0400 0000 0000 2300 0000 1f00 ... |00d4: packed-switch-data (12 units) │ │ +4162b8: |[4162b8] org.purple.smoke.Settings.onResume:()V │ │ +4162c8: 6f10 fe3c 0500 |0000: invoke-super {v5}, Landroid/support/v7/app/AppCompatActivity;.onResume:()V // method@3cfe │ │ +4162ce: 7010 e7b8 0500 |0003: invoke-direct {v5}, Lorg/purple/smoke/Settings;.networkStatusChanged:()V // method@b8e7 │ │ +4162d4: 5550 1c5d |0006: iget-boolean v0, v5, Lorg/purple/smoke/Settings;.m_receiverRegistered:Z // field@5d1c │ │ +4162d8: 1211 |0008: const/4 v1, #int 1 // #1 │ │ +4162da: 3900 4400 |0009: if-nez v0, 004d // +0044 │ │ +4162de: 2200 4a00 |000b: new-instance v0, Landroid/content/IntentFilter; // type@004a │ │ +4162e2: 7010 cf01 0000 |000d: invoke-direct {v0}, Landroid/content/IntentFilter;.:()V // method@01cf │ │ +4162e8: 1a02 c18f |0010: const-string v2, "org.purple.smoke.chat_message" // string@8fc1 │ │ +4162ec: 6e20 d001 2000 |0012: invoke-virtual {v0, v2}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ +4162f2: 1a02 c98f |0015: const-string v2, "org.purple.smoke.neighbor_aborted" // string@8fc9 │ │ +4162f6: 6e20 d001 2000 |0017: invoke-virtual {v0, v2}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ +4162fc: 1a02 ca8f |001a: const-string v2, "org.purple.smoke.neighbor_connected" // string@8fca │ │ +416300: 6e20 d001 2000 |001c: invoke-virtual {v0, v2}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ +416306: 1a02 cb8f |001f: const-string v2, "org.purple.smoke.neighbor_disconnected" // string@8fcb │ │ +41630a: 6e20 d001 2000 |0021: invoke-virtual {v0, v2}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ +416310: 1a02 cc8f |0024: const-string v2, "org.purple.smoke.network_connected" // string@8fcc │ │ +416314: 6e20 d001 2000 |0026: invoke-virtual {v0, v2}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ +41631a: 1a02 cd8f |0029: const-string v2, "org.purple.smoke.network_disconnected" // string@8fcd │ │ +41631e: 6e20 d001 2000 |002b: invoke-virtual {v0, v2}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ +416324: 1a02 cf8f |002e: const-string v2, "org.purple.smoke.populate_participants" // string@8fcf │ │ +416328: 6e20 d001 2000 |0030: invoke-virtual {v0, v2}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ +41632e: 1a02 d48f |0033: const-string v2, "org.purple.smoke.siphash_share_confirmation" // string@8fd4 │ │ +416332: 6e20 d001 2000 |0035: invoke-virtual {v0, v2}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ +416338: 1a02 d58f |0038: const-string v2, "org.purple.smoke.state_participants_populated" // string@8fd5 │ │ +41633c: 6e20 d001 2000 |003a: invoke-virtual {v0, v2}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ +416342: 1a02 d98f |003d: const-string v2, "org.purple.smoke.time" // string@8fd9 │ │ +416346: 6e20 d001 2000 |003f: invoke-virtual {v0, v2}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ +41634c: 7110 a41d 0500 |0042: invoke-static {v5}, Landroid/support/v4/content/LocalBroadcastManager;.getInstance:(Landroid/content/Context;)Landroid/support/v4/content/LocalBroadcastManager; // method@1da4 │ │ +416352: 0c02 |0045: move-result-object v2 │ │ +416354: 5453 1b5d |0046: iget-object v3, v5, Lorg/purple/smoke/Settings;.m_receiver:Lorg/purple/smoke/Settings$SettingsBroadcastReceiver; // field@5d1b │ │ +416358: 6e30 a51d 3200 |0048: invoke-virtual {v2, v3, v0}, Landroid/support/v4/content/LocalBroadcastManager;.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)V // method@1da5 │ │ +41635e: 5c51 1c5d |004b: iput-boolean v1, v5, Lorg/purple/smoke/Settings;.m_receiverRegistered:Z // field@5d1c │ │ +416362: 7100 66b9 0000 |004d: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +416368: 0c00 |0050: move-result-object v0 │ │ +41636a: 6e10 6ab9 0000 |0051: invoke-virtual {v0}, Lorg/purple/smoke/State;.isLocked:()Z // method@b96a │ │ +416370: 0a00 |0054: move-result v0 │ │ +416372: 3800 0600 |0055: if-eqz v0, 005b // +0006 │ │ +416376: 7010 06b9 0500 |0057: invoke-direct {v5}, Lorg/purple/smoke/Settings;.showSmokescreenActivity:()V // method@b906 │ │ +41637c: 0e00 |005a: return-void │ │ +41637e: 5450 1a5d |005b: iget-object v0, v5, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +416382: 1202 |005d: const/4 v2, #int 0 // #0 │ │ +416384: 1a03 287b |005e: const-string v3, "lastActivity" // string@7b28 │ │ +416388: 6e30 0eb6 2003 |0060: invoke-virtual {v0, v2, v3}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ +41638e: 0c00 |0063: move-result-object v0 │ │ +416390: 6e10 bf5c 0000 |0064: invoke-virtual {v0}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ +416396: 12f3 |0067: const/4 v3, #int -1 // #ff │ │ +416398: 6e10 bf5c 0000 |0068: invoke-virtual {v0}, Ljava/lang/String;.hashCode:()I // method@5cbf │ │ +41639e: 0a04 |006b: move-result v4 │ │ +4163a0: 2c04 5600 0000 |006c: sparse-switch v4, 000000c2 // +00000056 │ │ +4163a6: 12f1 |006f: const/4 v1, #int -1 // #ff │ │ +4163a8: 282a |0070: goto 009a // +002a │ │ +4163aa: 1a01 263f |0071: const-string v1, "MemberChat" // string@3f26 │ │ +4163ae: 6e20 b85c 1000 |0073: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +4163b4: 0a00 |0076: move-result v0 │ │ +4163b6: 3900 0300 |0077: if-nez v0, 007a // +0003 │ │ +4163ba: 28f6 |0079: goto 006f // -000a │ │ +4163bc: 1231 |007a: const/4 v1, #int 3 // #3 │ │ +4163be: 281f |007b: goto 009a // +001f │ │ +4163c0: 1a01 514b |007c: const-string v1, "Steam" // string@4b51 │ │ +4163c4: 6e20 b85c 1000 |007e: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +4163ca: 0a00 |0081: move-result v0 │ │ +4163cc: 3900 0300 |0082: if-nez v0, 0085 // +0003 │ │ +4163d0: 28eb |0084: goto 006f // -0015 │ │ +4163d2: 1221 |0085: const/4 v1, #int 2 // #2 │ │ +4163d4: 2814 |0086: goto 009a // +0014 │ │ +4163d6: 1a04 b31a |0087: const-string v4, "Fire" // string@1ab3 │ │ +4163da: 6e20 b85c 4000 |0089: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +4163e0: 0a00 |008c: move-result v0 │ │ +4163e2: 3900 0d00 |008d: if-nez v0, 009a // +000d │ │ +4163e6: 28e0 |008f: goto 006f // -0020 │ │ +4163e8: 1a01 da12 |0090: const-string v1, "Chat" // string@12da │ │ +4163ec: 6e20 b85c 1000 |0092: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +4163f2: 0a00 |0095: move-result v0 │ │ +4163f4: 3900 0300 |0096: if-nez v0, 0099 // +0003 │ │ +4163f8: 28d7 |0098: goto 006f // -0029 │ │ +4163fa: 1201 |0099: const/4 v1, #int 0 // #0 │ │ +4163fc: 2b01 3a00 0000 |009a: packed-switch v1, 000000d4 // +0000003a │ │ +416402: 5450 1a5d |009d: iget-object v0, v5, Lorg/purple/smoke/Settings;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d1a │ │ +416406: 1a01 255a |009f: const-string v1, "automatic_neighbors_refresh" // string@5a25 │ │ +41640a: 6e30 0eb6 2001 |00a1: invoke-virtual {v0, v2, v1}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ +416410: 0c00 |00a4: move-result-object v0 │ │ +416412: 1a01 00a3 |00a5: const-string v1, "true" // string@a300 │ │ +416416: 6e20 b85c 1000 |00a7: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@5cb8 │ │ +41641c: 0a00 |00aa: move-result v0 │ │ +41641e: 3800 1500 |00ab: if-eqz v0, 00c0 // +0015 │ │ +416422: 7010 0bb9 0500 |00ad: invoke-direct {v5}, Lorg/purple/smoke/Settings;.startTimers:()V // method@b90b │ │ +416428: 2810 |00b0: goto 00c0 // +0010 │ │ +41642a: 7010 05b9 0500 |00b1: invoke-direct {v5}, Lorg/purple/smoke/Settings;.showMemberChatActivity:()V // method@b905 │ │ +416430: 280c |00b4: goto 00c0 // +000c │ │ +416432: 7010 07b9 0500 |00b5: invoke-direct {v5}, Lorg/purple/smoke/Settings;.showSteamActivity:()V // method@b907 │ │ +416438: 2808 |00b8: goto 00c0 // +0008 │ │ +41643a: 7010 04b9 0500 |00b9: invoke-direct {v5}, Lorg/purple/smoke/Settings;.showFireActivity:()V // method@b904 │ │ +416440: 2804 |00bc: goto 00c0 // +0004 │ │ +416442: 7010 02b9 0500 |00bd: invoke-direct {v5}, Lorg/purple/smoke/Settings;.showChatActivity:()V // method@b902 │ │ +416448: 0e00 |00c0: return-void │ │ +41644a: 0000 |00c1: nop // spacer │ │ +41644c: 0002 0400 7807 2000 566a 2100 30e1 ... |00c2: sparse-switch-data (18 units) │ │ +416470: 0001 0400 0000 0000 2300 0000 1f00 ... |00d4: packed-switch-data (12 units) │ │ catches : (none) │ │ positions : │ │ 0x0000 line=3686 │ │ 0x0003 line=3687 │ │ 0x0006 line=3689 │ │ 0x000b line=3691 │ │ 0x0012 line=3693 │ │ @@ -1544239,42 +1544238,42 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 7 16-bit code units │ │ -418aac: |[418aac] org.purple.smoke.Smokescreen.:()V │ │ -418abc: 7100 88b5 0000 |0000: invoke-static {}, Lorg/purple/smoke/Cryptography;.getInstance:()Lorg/purple/smoke/Cryptography; // method@b588 │ │ -418ac2: 0c00 |0003: move-result-object v0 │ │ -418ac4: 6900 455d |0004: sput-object v0, Lorg/purple/smoke/Smokescreen;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d45 │ │ -418ac8: 0e00 |0006: return-void │ │ +418aa8: |[418aa8] org.purple.smoke.Smokescreen.:()V │ │ +418ab8: 7100 88b5 0000 |0000: invoke-static {}, Lorg/purple/smoke/Cryptography;.getInstance:()Lorg/purple/smoke/Cryptography; // method@b588 │ │ +418abe: 0c00 |0003: move-result-object v0 │ │ +418ac0: 6900 455d |0004: sput-object v0, Lorg/purple/smoke/Smokescreen;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d45 │ │ +418ac4: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=48 │ │ locals : │ │ │ │ #1 : (in Lorg/purple/smoke/Smokescreen;) │ │ name : '' │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 15 16-bit code units │ │ -418acc: |[418acc] org.purple.smoke.Smokescreen.:()V │ │ -418adc: 7010 df3c 0100 |0000: invoke-direct {v1}, Landroid/support/v7/app/AppCompatActivity;.:()V // method@3cdf │ │ -418ae2: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -418ae4: 5b10 425d |0004: iput-object v0, v1, Lorg/purple/smoke/Smokescreen;.m_lock:Landroid/widget/Button; // field@5d42 │ │ -418ae8: 5b10 445d |0006: iput-object v0, v1, Lorg/purple/smoke/Smokescreen;.m_unlock:Landroid/widget/Button; // field@5d44 │ │ -418aec: 5b10 405d |0008: iput-object v0, v1, Lorg/purple/smoke/Smokescreen;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d40 │ │ -418af0: 5b10 415d |000a: iput-object v0, v1, Lorg/purple/smoke/Smokescreen;.m_label:Landroid/widget/TextView; // field@5d41 │ │ -418af4: 5b10 435d |000c: iput-object v0, v1, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ -418af8: 0e00 |000e: return-void │ │ +418ac8: |[418ac8] org.purple.smoke.Smokescreen.:()V │ │ +418ad8: 7010 df3c 0100 |0000: invoke-direct {v1}, Landroid/support/v7/app/AppCompatActivity;.:()V // method@3cdf │ │ +418ade: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +418ae0: 5b10 425d |0004: iput-object v0, v1, Lorg/purple/smoke/Smokescreen;.m_lock:Landroid/widget/Button; // field@5d42 │ │ +418ae4: 5b10 445d |0006: iput-object v0, v1, Lorg/purple/smoke/Smokescreen;.m_unlock:Landroid/widget/Button; // field@5d44 │ │ +418ae8: 5b10 405d |0008: iput-object v0, v1, Lorg/purple/smoke/Smokescreen;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d40 │ │ +418aec: 5b10 415d |000a: iput-object v0, v1, Lorg/purple/smoke/Smokescreen;.m_label:Landroid/widget/TextView; // field@5d41 │ │ +418af0: 5b10 435d |000c: iput-object v0, v1, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ +418af4: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=40 │ │ 0x0004 line=42 │ │ 0x0006 line=43 │ │ 0x0008 line=44 │ │ 0x000a line=45 │ │ @@ -1544287,17 +1544286,17 @@ │ │ type : '(Lorg/purple/smoke/Smokescreen;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -418afc: |[418afc] org.purple.smoke.Smokescreen.access$000:(Lorg/purple/smoke/Smokescreen;)V │ │ -418b0c: 7010 48b9 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Smokescreen;.prepareWidgets:()V // method@b948 │ │ -418b12: 0e00 |0003: return-void │ │ +418af8: |[418af8] org.purple.smoke.Smokescreen.access$000:(Lorg/purple/smoke/Smokescreen;)V │ │ +418b08: 7010 48b9 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Smokescreen;.prepareWidgets:()V // method@b948 │ │ +418b0e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=40 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/Smokescreen; │ │ │ │ #3 : (in Lorg/purple/smoke/Smokescreen;) │ │ @@ -1544305,17 +1544304,17 @@ │ │ type : '(Lorg/purple/smoke/Smokescreen;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -418b14: |[418b14] org.purple.smoke.Smokescreen.access$100:(Lorg/purple/smoke/Smokescreen;)V │ │ -418b24: 7010 3bb9 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Smokescreen;.authenticate:()V // method@b93b │ │ -418b2a: 0e00 |0003: return-void │ │ +418b10: |[418b10] org.purple.smoke.Smokescreen.access$100:(Lorg/purple/smoke/Smokescreen;)V │ │ +418b20: 7010 3bb9 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Smokescreen;.authenticate:()V // method@b93b │ │ +418b26: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=40 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/Smokescreen; │ │ │ │ #4 : (in Lorg/purple/smoke/Smokescreen;) │ │ @@ -1544323,17 +1544322,17 @@ │ │ type : '(Lorg/purple/smoke/Smokescreen;)Landroid/widget/TextView;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -4187dc: |[4187dc] org.purple.smoke.Smokescreen.access$200:(Lorg/purple/smoke/Smokescreen;)Landroid/widget/TextView; │ │ -4187ec: 5400 435d |0000: iget-object v0, v0, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ -4187f0: 1100 |0002: return-object v0 │ │ +4187d8: |[4187d8] org.purple.smoke.Smokescreen.access$200:(Lorg/purple/smoke/Smokescreen;)Landroid/widget/TextView; │ │ +4187e8: 5400 435d |0000: iget-object v0, v0, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ +4187ec: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=40 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/Smokescreen; │ │ │ │ #5 : (in Lorg/purple/smoke/Smokescreen;) │ │ @@ -1544341,96 +1544340,96 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 9 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 162 16-bit code units │ │ -418b2c: |[418b2c] org.purple.smoke.Smokescreen.authenticate:()V │ │ -418b3c: 6e10 41b9 0800 |0000: invoke-virtual {v8}, Lorg/purple/smoke/Smokescreen;.isFinishing:()Z // method@b941 │ │ -418b42: 0a00 |0003: move-result v0 │ │ -418b44: 3800 0300 |0004: if-eqz v0, 0007 // +0003 │ │ -418b48: 0e00 |0006: return-void │ │ -418b4a: 5480 405d |0007: iget-object v0, v8, Lorg/purple/smoke/Smokescreen;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d40 │ │ -418b4e: 1201 |0009: const/4 v1, #int 0 // #0 │ │ -418b50: 1a02 ea64 |000a: const-string v2, "encryptionSalt" // string@64ea │ │ -418b54: 6e30 0eb6 1002 |000c: invoke-virtual {v0, v1, v2}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ -418b5a: 0c00 |000f: move-result-object v0 │ │ -418b5c: 6e10 bc5c 0000 |0010: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -418b62: 0c00 |0013: move-result-object v0 │ │ -418b64: 1202 |0014: const/4 v2, #int 0 // #0 │ │ -418b66: 7120 c254 2000 |0015: invoke-static {v0, v2}, Landroid/util/Base64;.decode:([BI)[B // method@54c2 │ │ -418b6c: 0c00 |0018: move-result-object v0 │ │ -418b6e: 5483 435d |0019: iget-object v3, v8, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ -418b72: 1214 |001b: const/4 v4, #int 1 // #1 │ │ -418b74: 6e20 445b 4300 |001c: invoke-virtual {v3, v4}, Landroid/widget/TextView;.setSelectAllOnFocus:(Z)V // method@5b44 │ │ -418b7a: 1a03 0000 |001f: const-string v3, "" // string@0000 │ │ -418b7e: 3900 0d00 |0021: if-nez v0, 002e // +000d │ │ -418b82: 5480 435d |0023: iget-object v0, v8, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ -418b86: 6e20 495b 3000 |0025: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -418b8c: 5480 435d |0028: iget-object v0, v8, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ -418b90: 6e10 265b 0000 |002a: invoke-virtual {v0}, Landroid/widget/TextView;.requestFocus:()Z // method@5b26 │ │ -418b96: 0e00 |002d: return-void │ │ -418b98: 5485 405d |002e: iget-object v5, v8, Lorg/purple/smoke/Smokescreen;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d40 │ │ -418b9c: 1a06 d087 |0030: const-string v6, "macSalt" // string@87d0 │ │ -418ba0: 6e30 0eb6 1506 |0032: invoke-virtual {v5, v1, v6}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ -418ba6: 0c05 |0035: move-result-object v5 │ │ -418ba8: 6e10 bc5c 0500 |0036: invoke-virtual {v5}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -418bae: 0c05 |0039: move-result-object v5 │ │ -418bb0: 7120 c254 2500 |003a: invoke-static {v5, v2}, Landroid/util/Base64;.decode:([BI)[B // method@54c2 │ │ -418bb6: 0c05 |003d: move-result-object v5 │ │ -418bb8: 3905 0d00 |003e: if-nez v5, 004b // +000d │ │ -418bbc: 5480 435d |0040: iget-object v0, v8, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ -418bc0: 6e20 495b 3000 |0042: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -418bc6: 5480 435d |0045: iget-object v0, v8, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ -418bca: 6e10 265b 0000 |0047: invoke-virtual {v0}, Landroid/widget/TextView;.requestFocus:()Z // method@5b26 │ │ -418bd0: 0e00 |004a: return-void │ │ -418bd2: 1236 |004b: const/4 v6, #int 3 // #3 │ │ -418bd4: 2366 811b |004c: new-array v6, v6, [[B // type@1b81 │ │ -418bd8: 5487 435d |004e: iget-object v7, v8, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ -418bdc: 6e10 1c5b 0700 |0050: invoke-virtual {v7}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ -418be2: 0c07 |0053: move-result-object v7 │ │ -418be4: 7210 045c 0700 |0054: invoke-interface {v7}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ -418bea: 0c07 |0057: move-result-object v7 │ │ -418bec: 6e10 bc5c 0700 |0058: invoke-virtual {v7}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -418bf2: 0c07 |005b: move-result-object v7 │ │ -418bf4: 4d07 0602 |005c: aput-object v7, v6, v2 │ │ -418bf8: 4d00 0604 |005e: aput-object v0, v6, v4 │ │ -418bfc: 1220 |0060: const/4 v0, #int 2 // #2 │ │ -418bfe: 4d05 0600 |0061: aput-object v5, v6, v0 │ │ -418c02: 7110 b2b5 0600 |0063: invoke-static {v6}, Lorg/purple/smoke/Cryptography;.sha512:([[B)[B // method@b5b2 │ │ -418c08: 0c00 |0066: move-result-object v0 │ │ -418c0a: 3900 0d00 |0067: if-nez v0, 0074 // +000d │ │ -418c0e: 5480 435d |0069: iget-object v0, v8, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ -418c12: 6e20 495b 3000 |006b: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -418c18: 5480 435d |006e: iget-object v0, v8, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ -418c1c: 6e10 265b 0000 |0070: invoke-virtual {v0}, Landroid/widget/TextView;.requestFocus:()Z // method@5b26 │ │ -418c22: 0e00 |0073: return-void │ │ -418c24: 5484 405d |0074: iget-object v4, v8, Lorg/purple/smoke/Smokescreen;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d40 │ │ -418c28: 1a05 6297 |0076: const-string v5, "saltedPassword" // string@9762 │ │ -418c2c: 6e30 0eb6 1405 |0078: invoke-virtual {v4, v1, v5}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ -418c32: 0c01 |007b: move-result-object v1 │ │ -418c34: 6e10 bc5c 0100 |007c: invoke-virtual {v1}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ -418c3a: 0c01 |007f: move-result-object v1 │ │ -418c3c: 7120 c354 2000 |0080: invoke-static {v0, v2}, Landroid/util/Base64;.encode:([BI)[B // method@54c3 │ │ -418c42: 0c00 |0083: move-result-object v0 │ │ -418c44: 7120 93b5 0100 |0084: invoke-static {v1, v0}, Lorg/purple/smoke/Cryptography;.memcmp:([B[B)Z // method@b593 │ │ -418c4a: 0a00 |0087: move-result v0 │ │ -418c4c: 3900 0d00 |0088: if-nez v0, 0095 // +000d │ │ -418c50: 5480 435d |008a: iget-object v0, v8, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ -418c54: 6e20 495b 3000 |008c: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -418c5a: 5480 435d |008f: iget-object v0, v8, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ -418c5e: 6e10 265b 0000 |0091: invoke-virtual {v0}, Landroid/widget/TextView;.requestFocus:()Z // method@5b26 │ │ -418c64: 0e00 |0094: return-void │ │ -418c66: 7100 66b9 0000 |0095: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -418c6c: 0c00 |0098: move-result-object v0 │ │ -418c6e: 6e20 7cb9 2000 |0099: invoke-virtual {v0, v2}, Lorg/purple/smoke/State;.setLocked:(Z)V // method@b97c │ │ -418c74: 5480 435d |009c: iget-object v0, v8, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ -418c78: 6e20 495b 3000 |009e: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -418c7e: 0e00 |00a1: return-void │ │ +418b28: |[418b28] org.purple.smoke.Smokescreen.authenticate:()V │ │ +418b38: 6e10 41b9 0800 |0000: invoke-virtual {v8}, Lorg/purple/smoke/Smokescreen;.isFinishing:()Z // method@b941 │ │ +418b3e: 0a00 |0003: move-result v0 │ │ +418b40: 3800 0300 |0004: if-eqz v0, 0007 // +0003 │ │ +418b44: 0e00 |0006: return-void │ │ +418b46: 5480 405d |0007: iget-object v0, v8, Lorg/purple/smoke/Smokescreen;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d40 │ │ +418b4a: 1201 |0009: const/4 v1, #int 0 // #0 │ │ +418b4c: 1a02 ea64 |000a: const-string v2, "encryptionSalt" // string@64ea │ │ +418b50: 6e30 0eb6 1002 |000c: invoke-virtual {v0, v1, v2}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ +418b56: 0c00 |000f: move-result-object v0 │ │ +418b58: 6e10 bc5c 0000 |0010: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +418b5e: 0c00 |0013: move-result-object v0 │ │ +418b60: 1202 |0014: const/4 v2, #int 0 // #0 │ │ +418b62: 7120 c254 2000 |0015: invoke-static {v0, v2}, Landroid/util/Base64;.decode:([BI)[B // method@54c2 │ │ +418b68: 0c00 |0018: move-result-object v0 │ │ +418b6a: 5483 435d |0019: iget-object v3, v8, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ +418b6e: 1214 |001b: const/4 v4, #int 1 // #1 │ │ +418b70: 6e20 445b 4300 |001c: invoke-virtual {v3, v4}, Landroid/widget/TextView;.setSelectAllOnFocus:(Z)V // method@5b44 │ │ +418b76: 1a03 0000 |001f: const-string v3, "" // string@0000 │ │ +418b7a: 3900 0d00 |0021: if-nez v0, 002e // +000d │ │ +418b7e: 5480 435d |0023: iget-object v0, v8, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ +418b82: 6e20 495b 3000 |0025: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +418b88: 5480 435d |0028: iget-object v0, v8, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ +418b8c: 6e10 265b 0000 |002a: invoke-virtual {v0}, Landroid/widget/TextView;.requestFocus:()Z // method@5b26 │ │ +418b92: 0e00 |002d: return-void │ │ +418b94: 5485 405d |002e: iget-object v5, v8, Lorg/purple/smoke/Smokescreen;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d40 │ │ +418b98: 1a06 d087 |0030: const-string v6, "macSalt" // string@87d0 │ │ +418b9c: 6e30 0eb6 1506 |0032: invoke-virtual {v5, v1, v6}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ +418ba2: 0c05 |0035: move-result-object v5 │ │ +418ba4: 6e10 bc5c 0500 |0036: invoke-virtual {v5}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +418baa: 0c05 |0039: move-result-object v5 │ │ +418bac: 7120 c254 2500 |003a: invoke-static {v5, v2}, Landroid/util/Base64;.decode:([BI)[B // method@54c2 │ │ +418bb2: 0c05 |003d: move-result-object v5 │ │ +418bb4: 3905 0d00 |003e: if-nez v5, 004b // +000d │ │ +418bb8: 5480 435d |0040: iget-object v0, v8, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ +418bbc: 6e20 495b 3000 |0042: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +418bc2: 5480 435d |0045: iget-object v0, v8, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ +418bc6: 6e10 265b 0000 |0047: invoke-virtual {v0}, Landroid/widget/TextView;.requestFocus:()Z // method@5b26 │ │ +418bcc: 0e00 |004a: return-void │ │ +418bce: 1236 |004b: const/4 v6, #int 3 // #3 │ │ +418bd0: 2366 811b |004c: new-array v6, v6, [[B // type@1b81 │ │ +418bd4: 5487 435d |004e: iget-object v7, v8, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ +418bd8: 6e10 1c5b 0700 |0050: invoke-virtual {v7}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ +418bde: 0c07 |0053: move-result-object v7 │ │ +418be0: 7210 045c 0700 |0054: invoke-interface {v7}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ +418be6: 0c07 |0057: move-result-object v7 │ │ +418be8: 6e10 bc5c 0700 |0058: invoke-virtual {v7}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +418bee: 0c07 |005b: move-result-object v7 │ │ +418bf0: 4d07 0602 |005c: aput-object v7, v6, v2 │ │ +418bf4: 4d00 0604 |005e: aput-object v0, v6, v4 │ │ +418bf8: 1220 |0060: const/4 v0, #int 2 // #2 │ │ +418bfa: 4d05 0600 |0061: aput-object v5, v6, v0 │ │ +418bfe: 7110 b2b5 0600 |0063: invoke-static {v6}, Lorg/purple/smoke/Cryptography;.sha512:([[B)[B // method@b5b2 │ │ +418c04: 0c00 |0066: move-result-object v0 │ │ +418c06: 3900 0d00 |0067: if-nez v0, 0074 // +000d │ │ +418c0a: 5480 435d |0069: iget-object v0, v8, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ +418c0e: 6e20 495b 3000 |006b: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +418c14: 5480 435d |006e: iget-object v0, v8, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ +418c18: 6e10 265b 0000 |0070: invoke-virtual {v0}, Landroid/widget/TextView;.requestFocus:()Z // method@5b26 │ │ +418c1e: 0e00 |0073: return-void │ │ +418c20: 5484 405d |0074: iget-object v4, v8, Lorg/purple/smoke/Smokescreen;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d40 │ │ +418c24: 1a05 6297 |0076: const-string v5, "saltedPassword" // string@9762 │ │ +418c28: 6e30 0eb6 1405 |0078: invoke-virtual {v4, v1, v5}, Lorg/purple/smoke/Database;.readSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;)Ljava/lang/String; // method@b60e │ │ +418c2e: 0c01 |007b: move-result-object v1 │ │ +418c30: 6e10 bc5c 0100 |007c: invoke-virtual {v1}, Ljava/lang/String;.getBytes:()[B // method@5cbc │ │ +418c36: 0c01 |007f: move-result-object v1 │ │ +418c38: 7120 c354 2000 |0080: invoke-static {v0, v2}, Landroid/util/Base64;.encode:([BI)[B // method@54c3 │ │ +418c3e: 0c00 |0083: move-result-object v0 │ │ +418c40: 7120 93b5 0100 |0084: invoke-static {v1, v0}, Lorg/purple/smoke/Cryptography;.memcmp:([B[B)Z // method@b593 │ │ +418c46: 0a00 |0087: move-result v0 │ │ +418c48: 3900 0d00 |0088: if-nez v0, 0095 // +000d │ │ +418c4c: 5480 435d |008a: iget-object v0, v8, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ +418c50: 6e20 495b 3000 |008c: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +418c56: 5480 435d |008f: iget-object v0, v8, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ +418c5a: 6e10 265b 0000 |0091: invoke-virtual {v0}, Landroid/widget/TextView;.requestFocus:()Z // method@5b26 │ │ +418c60: 0e00 |0094: return-void │ │ +418c62: 7100 66b9 0000 |0095: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +418c68: 0c00 |0098: move-result-object v0 │ │ +418c6a: 6e20 7cb9 2000 |0099: invoke-virtual {v0, v2}, Lorg/purple/smoke/State;.setLocked:(Z)V // method@b97c │ │ +418c70: 5480 435d |009c: iget-object v0, v8, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ +418c74: 6e20 495b 3000 |009e: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +418c7a: 0e00 |00a1: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=52 │ │ 0x0007 line=55 │ │ 0x000c line=56 │ │ 0x0019 line=59 │ │ 0x0023 line=63 │ │ @@ -1544459,26 +1544458,26 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 25 16-bit code units │ │ -418d7c: |[418d7c] org.purple.smoke.Smokescreen.prepareListeners:()V │ │ -418d8c: 5420 425d |0000: iget-object v0, v2, Lorg/purple/smoke/Smokescreen;.m_lock:Landroid/widget/Button; // field@5d42 │ │ -418d90: 3800 0a00 |0002: if-eqz v0, 000c // +000a │ │ -418d94: 2201 821a |0004: new-instance v1, Lorg/purple/smoke/Smokescreen$1; // type@1a82 │ │ -418d98: 7020 30b9 2100 |0006: invoke-direct {v1, v2}, Lorg/purple/smoke/Smokescreen$1;.:(Lorg/purple/smoke/Smokescreen;)V // method@b930 │ │ -418d9e: 6e20 e258 1000 |0009: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ -418da4: 5420 445d |000c: iget-object v0, v2, Lorg/purple/smoke/Smokescreen;.m_unlock:Landroid/widget/Button; // field@5d44 │ │ -418da8: 3800 0a00 |000e: if-eqz v0, 0018 // +000a │ │ -418dac: 2201 831a |0010: new-instance v1, Lorg/purple/smoke/Smokescreen$2; // type@1a83 │ │ -418db0: 7020 32b9 2100 |0012: invoke-direct {v1, v2}, Lorg/purple/smoke/Smokescreen$2;.:(Lorg/purple/smoke/Smokescreen;)V // method@b932 │ │ -418db6: 6e20 e258 1000 |0015: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ -418dbc: 0e00 |0018: return-void │ │ +418d78: |[418d78] org.purple.smoke.Smokescreen.prepareListeners:()V │ │ +418d88: 5420 425d |0000: iget-object v0, v2, Lorg/purple/smoke/Smokescreen;.m_lock:Landroid/widget/Button; // field@5d42 │ │ +418d8c: 3800 0a00 |0002: if-eqz v0, 000c // +000a │ │ +418d90: 2201 821a |0004: new-instance v1, Lorg/purple/smoke/Smokescreen$1; // type@1a82 │ │ +418d94: 7020 30b9 2100 |0006: invoke-direct {v1, v2}, Lorg/purple/smoke/Smokescreen$1;.:(Lorg/purple/smoke/Smokescreen;)V // method@b930 │ │ +418d9a: 6e20 e258 1000 |0009: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ +418da0: 5420 445d |000c: iget-object v0, v2, Lorg/purple/smoke/Smokescreen;.m_unlock:Landroid/widget/Button; // field@5d44 │ │ +418da4: 3800 0a00 |000e: if-eqz v0, 0018 // +000a │ │ +418da8: 2201 831a |0010: new-instance v1, Lorg/purple/smoke/Smokescreen$2; // type@1a83 │ │ +418dac: 7020 32b9 2100 |0012: invoke-direct {v1, v2}, Lorg/purple/smoke/Smokescreen$2;.:(Lorg/purple/smoke/Smokescreen;)V // method@b932 │ │ +418db2: 6e20 e258 1000 |0015: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ +418db8: 0e00 |0018: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=106 │ │ 0x0004 line=107 │ │ 0x000c line=119 │ │ 0x0010 line=120 │ │ locals : │ │ @@ -1544489,49 +1544488,49 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 66 16-bit code units │ │ -418dc0: |[418dc0] org.purple.smoke.Smokescreen.prepareWidgets:()V │ │ -418dd0: 7100 66b9 0000 |0000: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -418dd6: 0c00 |0003: move-result-object v0 │ │ -418dd8: 6e10 6ab9 0000 |0004: invoke-virtual {v0}, Lorg/purple/smoke/State;.isLocked:()Z // method@b96a │ │ -418dde: 0a00 |0007: move-result v0 │ │ -418de0: 5451 415d |0008: iget-object v1, v5, Lorg/purple/smoke/Smokescreen;.m_label:Landroid/widget/TextView; // field@5d41 │ │ -418de4: 3800 0500 |000a: if-eqz v0, 000f // +0005 │ │ -418de8: 1a02 fe4a |000c: const-string v2, "Smoke is locked. To unlock, please provide the correct password and click the below button." // string@4afe │ │ -418dec: 2803 |000e: goto 0011 // +0003 │ │ -418dee: 1a02 ff4a |000f: const-string v2, "Smoke is unlocked. To lock, please click the below button." // string@4aff │ │ -418df2: 6e20 495b 2100 |0011: invoke-virtual {v1, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -418df8: 5451 425d |0014: iget-object v1, v5, Lorg/purple/smoke/Smokescreen;.m_lock:Landroid/widget/Button; // field@5d42 │ │ -418dfc: 1302 0800 |0016: const/16 v2, #int 8 // #8 │ │ -418e00: 1203 |0018: const/4 v3, #int 0 // #0 │ │ -418e02: 3800 0500 |0019: if-eqz v0, 001e // +0005 │ │ -418e06: 1304 0800 |001b: const/16 v4, #int 8 // #8 │ │ -418e0a: 2802 |001d: goto 001f // +0002 │ │ -418e0c: 1204 |001e: const/4 v4, #int 0 // #0 │ │ -418e0e: 6e20 e558 4100 |001f: invoke-virtual {v1, v4}, Landroid/widget/Button;.setVisibility:(I)V // method@58e5 │ │ -418e14: 5451 435d |0022: iget-object v1, v5, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ -418e18: 3800 0400 |0024: if-eqz v0, 0028 // +0004 │ │ -418e1c: 1204 |0026: const/4 v4, #int 0 // #0 │ │ -418e1e: 2803 |0027: goto 002a // +0003 │ │ -418e20: 1304 0800 |0028: const/16 v4, #int 8 // #8 │ │ -418e24: 6e20 535b 4100 |002a: invoke-virtual {v1, v4}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ -418e2a: 3800 0c00 |002d: if-eqz v0, 0039 // +000c │ │ -418e2e: 5451 435d |002f: iget-object v1, v5, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ -418e32: 2204 841a |0031: new-instance v4, Lorg/purple/smoke/Smokescreen$3; // type@1a84 │ │ -418e36: 7020 34b9 5400 |0033: invoke-direct {v4, v5}, Lorg/purple/smoke/Smokescreen$3;.:(Lorg/purple/smoke/Smokescreen;)V // method@b934 │ │ -418e3c: 6e20 255b 4100 |0036: invoke-virtual {v1, v4}, Landroid/widget/TextView;.post:(Ljava/lang/Runnable;)Z // method@5b25 │ │ -418e42: 5451 445d |0039: iget-object v1, v5, Lorg/purple/smoke/Smokescreen;.m_unlock:Landroid/widget/Button; // field@5d44 │ │ -418e46: 3800 0300 |003b: if-eqz v0, 003e // +0003 │ │ -418e4a: 1202 |003d: const/4 v2, #int 0 // #0 │ │ -418e4c: 6e20 e558 2100 |003e: invoke-virtual {v1, v2}, Landroid/widget/Button;.setVisibility:(I)V // method@58e5 │ │ -418e52: 0e00 |0041: return-void │ │ +418dbc: |[418dbc] org.purple.smoke.Smokescreen.prepareWidgets:()V │ │ +418dcc: 7100 66b9 0000 |0000: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +418dd2: 0c00 |0003: move-result-object v0 │ │ +418dd4: 6e10 6ab9 0000 |0004: invoke-virtual {v0}, Lorg/purple/smoke/State;.isLocked:()Z // method@b96a │ │ +418dda: 0a00 |0007: move-result v0 │ │ +418ddc: 5451 415d |0008: iget-object v1, v5, Lorg/purple/smoke/Smokescreen;.m_label:Landroid/widget/TextView; // field@5d41 │ │ +418de0: 3800 0500 |000a: if-eqz v0, 000f // +0005 │ │ +418de4: 1a02 fe4a |000c: const-string v2, "Smoke is locked. To unlock, please provide the correct password and click the below button." // string@4afe │ │ +418de8: 2803 |000e: goto 0011 // +0003 │ │ +418dea: 1a02 ff4a |000f: const-string v2, "Smoke is unlocked. To lock, please click the below button." // string@4aff │ │ +418dee: 6e20 495b 2100 |0011: invoke-virtual {v1, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +418df4: 5451 425d |0014: iget-object v1, v5, Lorg/purple/smoke/Smokescreen;.m_lock:Landroid/widget/Button; // field@5d42 │ │ +418df8: 1302 0800 |0016: const/16 v2, #int 8 // #8 │ │ +418dfc: 1203 |0018: const/4 v3, #int 0 // #0 │ │ +418dfe: 3800 0500 |0019: if-eqz v0, 001e // +0005 │ │ +418e02: 1304 0800 |001b: const/16 v4, #int 8 // #8 │ │ +418e06: 2802 |001d: goto 001f // +0002 │ │ +418e08: 1204 |001e: const/4 v4, #int 0 // #0 │ │ +418e0a: 6e20 e558 4100 |001f: invoke-virtual {v1, v4}, Landroid/widget/Button;.setVisibility:(I)V // method@58e5 │ │ +418e10: 5451 435d |0022: iget-object v1, v5, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ +418e14: 3800 0400 |0024: if-eqz v0, 0028 // +0004 │ │ +418e18: 1204 |0026: const/4 v4, #int 0 // #0 │ │ +418e1a: 2803 |0027: goto 002a // +0003 │ │ +418e1c: 1304 0800 |0028: const/16 v4, #int 8 // #8 │ │ +418e20: 6e20 535b 4100 |002a: invoke-virtual {v1, v4}, Landroid/widget/TextView;.setVisibility:(I)V // method@5b53 │ │ +418e26: 3800 0c00 |002d: if-eqz v0, 0039 // +000c │ │ +418e2a: 5451 435d |002f: iget-object v1, v5, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ +418e2e: 2204 841a |0031: new-instance v4, Lorg/purple/smoke/Smokescreen$3; // type@1a84 │ │ +418e32: 7020 34b9 5400 |0033: invoke-direct {v4, v5}, Lorg/purple/smoke/Smokescreen$3;.:(Lorg/purple/smoke/Smokescreen;)V // method@b934 │ │ +418e38: 6e20 255b 4100 |0036: invoke-virtual {v1, v4}, Landroid/widget/TextView;.post:(Ljava/lang/Runnable;)Z // method@5b25 │ │ +418e3e: 5451 445d |0039: iget-object v1, v5, Lorg/purple/smoke/Smokescreen;.m_unlock:Landroid/widget/Button; // field@5d44 │ │ +418e42: 3800 0300 |003b: if-eqz v0, 003e // +0003 │ │ +418e46: 1202 |003d: const/4 v2, #int 0 // #0 │ │ +418e48: 6e20 e558 2100 |003e: invoke-virtual {v1, v2}, Landroid/widget/Button;.setVisibility:(I)V // method@58e5 │ │ +418e4e: 0e00 |0041: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=135 │ │ 0x0008 line=137 │ │ 0x0011 line=138 │ │ 0x0014 line=142 │ │ 0x0022 line=143 │ │ @@ -1544545,21 +1544544,21 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 14 16-bit code units │ │ -418e54: |[418e54] org.purple.smoke.Smokescreen.showChatActivity:()V │ │ -418e64: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ -418e68: 1c01 cc19 |0002: const-class v1, Lorg/purple/smoke/Chat; // type@19cc │ │ -418e6c: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ -418e72: 6e20 4fb9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Smokescreen;.startActivity:(Landroid/content/Intent;)V // method@b94f │ │ -418e78: 6e10 3db9 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Smokescreen;.finish:()V // method@b93d │ │ -418e7e: 0e00 |000d: return-void │ │ +418e50: |[418e50] org.purple.smoke.Smokescreen.showChatActivity:()V │ │ +418e60: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ +418e64: 1c01 cc19 |0002: const-class v1, Lorg/purple/smoke/Chat; // type@19cc │ │ +418e68: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ +418e6e: 6e20 4fb9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Smokescreen;.startActivity:(Landroid/content/Intent;)V // method@b94f │ │ +418e74: 6e10 3db9 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Smokescreen;.finish:()V // method@b93d │ │ +418e7a: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=160 │ │ 0x0007 line=162 │ │ 0x000a line=163 │ │ locals : │ │ 0x0000 - 0x000e reg=2 this Lorg/purple/smoke/Smokescreen; │ │ @@ -1544569,21 +1544568,21 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 14 16-bit code units │ │ -418e80: |[418e80] org.purple.smoke.Smokescreen.showFireActivity:()V │ │ -418e90: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ -418e94: 1c01 e719 |0002: const-class v1, Lorg/purple/smoke/Fire; // type@19e7 │ │ -418e98: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ -418e9e: 6e20 4fb9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Smokescreen;.startActivity:(Landroid/content/Intent;)V // method@b94f │ │ -418ea4: 6e10 3db9 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Smokescreen;.finish:()V // method@b93d │ │ -418eaa: 0e00 |000d: return-void │ │ +418e7c: |[418e7c] org.purple.smoke.Smokescreen.showFireActivity:()V │ │ +418e8c: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ +418e90: 1c01 e719 |0002: const-class v1, Lorg/purple/smoke/Fire; // type@19e7 │ │ +418e94: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ +418e9a: 6e20 4fb9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Smokescreen;.startActivity:(Landroid/content/Intent;)V // method@b94f │ │ +418ea0: 6e10 3db9 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Smokescreen;.finish:()V // method@b93d │ │ +418ea6: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=168 │ │ 0x0007 line=170 │ │ 0x000a line=171 │ │ locals : │ │ 0x0000 - 0x000e reg=2 this Lorg/purple/smoke/Smokescreen; │ │ @@ -1544593,21 +1544592,21 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 14 16-bit code units │ │ -418eac: |[418eac] org.purple.smoke.Smokescreen.showMemberChatActivity:()V │ │ -418ebc: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ -418ec0: 1c01 181a |0002: const-class v1, Lorg/purple/smoke/MemberChat; // type@1a18 │ │ -418ec4: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ -418eca: 6e20 4fb9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Smokescreen;.startActivity:(Landroid/content/Intent;)V // method@b94f │ │ -418ed0: 6e10 3db9 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Smokescreen;.finish:()V // method@b93d │ │ -418ed6: 0e00 |000d: return-void │ │ +418ea8: |[418ea8] org.purple.smoke.Smokescreen.showMemberChatActivity:()V │ │ +418eb8: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ +418ebc: 1c01 181a |0002: const-class v1, Lorg/purple/smoke/MemberChat; // type@1a18 │ │ +418ec0: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ +418ec6: 6e20 4fb9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Smokescreen;.startActivity:(Landroid/content/Intent;)V // method@b94f │ │ +418ecc: 6e10 3db9 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Smokescreen;.finish:()V // method@b93d │ │ +418ed2: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=176 │ │ 0x0007 line=178 │ │ 0x000a line=179 │ │ locals : │ │ 0x0000 - 0x000e reg=2 this Lorg/purple/smoke/Smokescreen; │ │ @@ -1544617,21 +1544616,21 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 14 16-bit code units │ │ -418ed8: |[418ed8] org.purple.smoke.Smokescreen.showSettingsActivity:()V │ │ -418ee8: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ -418eec: 1c01 7c1a |0002: const-class v1, Lorg/purple/smoke/Settings; // type@1a7c │ │ -418ef0: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ -418ef6: 6e20 4fb9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Smokescreen;.startActivity:(Landroid/content/Intent;)V // method@b94f │ │ -418efc: 6e10 3db9 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Smokescreen;.finish:()V // method@b93d │ │ -418f02: 0e00 |000d: return-void │ │ +418ed4: |[418ed4] org.purple.smoke.Smokescreen.showSettingsActivity:()V │ │ +418ee4: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ +418ee8: 1c01 7c1a |0002: const-class v1, Lorg/purple/smoke/Settings; // type@1a7c │ │ +418eec: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ +418ef2: 6e20 4fb9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Smokescreen;.startActivity:(Landroid/content/Intent;)V // method@b94f │ │ +418ef8: 6e10 3db9 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Smokescreen;.finish:()V // method@b93d │ │ +418efe: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=184 │ │ 0x0007 line=186 │ │ 0x000a line=187 │ │ locals : │ │ 0x0000 - 0x000e reg=2 this Lorg/purple/smoke/Smokescreen; │ │ @@ -1544641,21 +1544640,21 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 14 16-bit code units │ │ -418f04: |[418f04] org.purple.smoke.Smokescreen.showSteamActivity:()V │ │ -418f14: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ -418f18: 1c01 921a |0002: const-class v1, Lorg/purple/smoke/Steam; // type@1a92 │ │ -418f1c: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ -418f22: 6e20 4fb9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Smokescreen;.startActivity:(Landroid/content/Intent;)V // method@b94f │ │ -418f28: 6e10 3db9 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Smokescreen;.finish:()V // method@b93d │ │ -418f2e: 0e00 |000d: return-void │ │ +418f00: |[418f00] org.purple.smoke.Smokescreen.showSteamActivity:()V │ │ +418f10: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ +418f14: 1c01 921a |0002: const-class v1, Lorg/purple/smoke/Steam; // type@1a92 │ │ +418f18: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ +418f1e: 6e20 4fb9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Smokescreen;.startActivity:(Landroid/content/Intent;)V // method@b94f │ │ +418f24: 6e10 3db9 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Smokescreen;.finish:()V // method@b93d │ │ +418f2a: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=192 │ │ 0x0007 line=194 │ │ 0x000a line=195 │ │ locals : │ │ 0x0000 - 0x000e reg=2 this Lorg/purple/smoke/Smokescreen; │ │ @@ -1544666,50 +1544665,50 @@ │ │ type : '(Landroid/os/Bundle;)V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 79 16-bit code units │ │ -418c80: |[418c80] org.purple.smoke.Smokescreen.onCreate:(Landroid/os/Bundle;)V │ │ -418c90: 6f20 f23c 2100 |0000: invoke-super {v1, v2}, Landroid/support/v7/app/AppCompatActivity;.onCreate:(Landroid/os/Bundle;)V // method@3cf2 │ │ -418c96: 6e10 3eb9 0100 |0003: invoke-virtual {v1}, Lorg/purple/smoke/Smokescreen;.getApplicationContext:()Landroid/content/Context; // method@b93e │ │ -418c9c: 0c02 |0006: move-result-object v2 │ │ -418c9e: 7110 e9b5 0200 |0007: invoke-static {v2}, Lorg/purple/smoke/Database;.getInstance:(Landroid/content/Context;)Lorg/purple/smoke/Database; // method@b5e9 │ │ -418ca4: 0c02 |000a: move-result-object v2 │ │ -418ca6: 5b12 405d |000b: iput-object v2, v1, Lorg/purple/smoke/Smokescreen;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d40 │ │ -418caa: 1402 2000 0a7f |000d: const v2, #float 1.83434e+38 // #7f0a0020 │ │ -418cb0: 6e20 49b9 2100 |0010: invoke-virtual {v1, v2}, Lorg/purple/smoke/Smokescreen;.setContentView:(I)V // method@b949 │ │ -418cb6: 6e10 40b9 0100 |0013: invoke-virtual {v1}, Lorg/purple/smoke/Smokescreen;.getSupportActionBar:()Landroid/support/v7/app/ActionBar; // method@b940 │ │ -418cbc: 0c02 |0016: move-result-object v2 │ │ -418cbe: 1a00 074b |0017: const-string v0, "Smoke | Smokescreen" // string@4b07 │ │ -418cc2: 6e20 0c3c 0200 |0019: invoke-virtual {v2, v0}, Landroid/support/v7/app/ActionBar;.setTitle:(Ljava/lang/CharSequence;)V // method@3c0c │ │ -418cc8: 1402 8b00 087f |001c: const v2, #float 1.80778e+38 // #7f08008b │ │ -418cce: 6e20 3cb9 2100 |001f: invoke-virtual {v1, v2}, Lorg/purple/smoke/Smokescreen;.findViewById:(I)Landroid/view/View; // method@b93c │ │ -418cd4: 0c02 |0022: move-result-object v2 │ │ -418cd6: 1f02 970a |0023: check-cast v2, Landroid/widget/TextView; // type@0a97 │ │ -418cda: 5b12 415d |0025: iput-object v2, v1, Lorg/purple/smoke/Smokescreen;.m_label:Landroid/widget/TextView; // field@5d41 │ │ -418cde: 1402 9700 087f |0027: const v2, #float 1.80778e+38 // #7f080097 │ │ -418ce4: 6e20 3cb9 2100 |002a: invoke-virtual {v1, v2}, Lorg/purple/smoke/Smokescreen;.findViewById:(I)Landroid/view/View; // method@b93c │ │ -418cea: 0c02 |002d: move-result-object v2 │ │ -418cec: 1f02 5e0a |002e: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -418cf0: 5b12 425d |0030: iput-object v2, v1, Lorg/purple/smoke/Smokescreen;.m_lock:Landroid/widget/Button; // field@5d42 │ │ -418cf4: 1402 c300 087f |0032: const v2, #float 1.80779e+38 // #7f0800c3 │ │ -418cfa: 6e20 3cb9 2100 |0035: invoke-virtual {v1, v2}, Lorg/purple/smoke/Smokescreen;.findViewById:(I)Landroid/view/View; // method@b93c │ │ -418d00: 0c02 |0038: move-result-object v2 │ │ -418d02: 1f02 970a |0039: check-cast v2, Landroid/widget/TextView; // type@0a97 │ │ -418d06: 5b12 435d |003b: iput-object v2, v1, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ -418d0a: 1402 2800 087f |003d: const v2, #float 1.80776e+38 // #7f080028 │ │ -418d10: 6e20 3cb9 2100 |0040: invoke-virtual {v1, v2}, Lorg/purple/smoke/Smokescreen;.findViewById:(I)Landroid/view/View; // method@b93c │ │ -418d16: 0c02 |0043: move-result-object v2 │ │ -418d18: 1f02 5e0a |0044: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ -418d1c: 5b12 445d |0046: iput-object v2, v1, Lorg/purple/smoke/Smokescreen;.m_unlock:Landroid/widget/Button; // field@5d44 │ │ -418d20: 7010 47b9 0100 |0048: invoke-direct {v1}, Lorg/purple/smoke/Smokescreen;.prepareListeners:()V // method@b947 │ │ -418d26: 7010 48b9 0100 |004b: invoke-direct {v1}, Lorg/purple/smoke/Smokescreen;.prepareWidgets:()V // method@b948 │ │ -418d2c: 0e00 |004e: return-void │ │ +418c7c: |[418c7c] org.purple.smoke.Smokescreen.onCreate:(Landroid/os/Bundle;)V │ │ +418c8c: 6f20 f23c 2100 |0000: invoke-super {v1, v2}, Landroid/support/v7/app/AppCompatActivity;.onCreate:(Landroid/os/Bundle;)V // method@3cf2 │ │ +418c92: 6e10 3eb9 0100 |0003: invoke-virtual {v1}, Lorg/purple/smoke/Smokescreen;.getApplicationContext:()Landroid/content/Context; // method@b93e │ │ +418c98: 0c02 |0006: move-result-object v2 │ │ +418c9a: 7110 e9b5 0200 |0007: invoke-static {v2}, Lorg/purple/smoke/Database;.getInstance:(Landroid/content/Context;)Lorg/purple/smoke/Database; // method@b5e9 │ │ +418ca0: 0c02 |000a: move-result-object v2 │ │ +418ca2: 5b12 405d |000b: iput-object v2, v1, Lorg/purple/smoke/Smokescreen;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d40 │ │ +418ca6: 1402 2000 0a7f |000d: const v2, #float 1.83434e+38 // #7f0a0020 │ │ +418cac: 6e20 49b9 2100 |0010: invoke-virtual {v1, v2}, Lorg/purple/smoke/Smokescreen;.setContentView:(I)V // method@b949 │ │ +418cb2: 6e10 40b9 0100 |0013: invoke-virtual {v1}, Lorg/purple/smoke/Smokescreen;.getSupportActionBar:()Landroid/support/v7/app/ActionBar; // method@b940 │ │ +418cb8: 0c02 |0016: move-result-object v2 │ │ +418cba: 1a00 074b |0017: const-string v0, "Smoke | Smokescreen" // string@4b07 │ │ +418cbe: 6e20 0c3c 0200 |0019: invoke-virtual {v2, v0}, Landroid/support/v7/app/ActionBar;.setTitle:(Ljava/lang/CharSequence;)V // method@3c0c │ │ +418cc4: 1402 8b00 087f |001c: const v2, #float 1.80778e+38 // #7f08008b │ │ +418cca: 6e20 3cb9 2100 |001f: invoke-virtual {v1, v2}, Lorg/purple/smoke/Smokescreen;.findViewById:(I)Landroid/view/View; // method@b93c │ │ +418cd0: 0c02 |0022: move-result-object v2 │ │ +418cd2: 1f02 970a |0023: check-cast v2, Landroid/widget/TextView; // type@0a97 │ │ +418cd6: 5b12 415d |0025: iput-object v2, v1, Lorg/purple/smoke/Smokescreen;.m_label:Landroid/widget/TextView; // field@5d41 │ │ +418cda: 1402 9700 087f |0027: const v2, #float 1.80778e+38 // #7f080097 │ │ +418ce0: 6e20 3cb9 2100 |002a: invoke-virtual {v1, v2}, Lorg/purple/smoke/Smokescreen;.findViewById:(I)Landroid/view/View; // method@b93c │ │ +418ce6: 0c02 |002d: move-result-object v2 │ │ +418ce8: 1f02 5e0a |002e: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +418cec: 5b12 425d |0030: iput-object v2, v1, Lorg/purple/smoke/Smokescreen;.m_lock:Landroid/widget/Button; // field@5d42 │ │ +418cf0: 1402 c300 087f |0032: const v2, #float 1.80779e+38 // #7f0800c3 │ │ +418cf6: 6e20 3cb9 2100 |0035: invoke-virtual {v1, v2}, Lorg/purple/smoke/Smokescreen;.findViewById:(I)Landroid/view/View; // method@b93c │ │ +418cfc: 0c02 |0038: move-result-object v2 │ │ +418cfe: 1f02 970a |0039: check-cast v2, Landroid/widget/TextView; // type@0a97 │ │ +418d02: 5b12 435d |003b: iput-object v2, v1, Lorg/purple/smoke/Smokescreen;.m_password:Landroid/widget/TextView; // field@5d43 │ │ +418d06: 1402 2800 087f |003d: const v2, #float 1.80776e+38 // #7f080028 │ │ +418d0c: 6e20 3cb9 2100 |0040: invoke-virtual {v1, v2}, Lorg/purple/smoke/Smokescreen;.findViewById:(I)Landroid/view/View; // method@b93c │ │ +418d12: 0c02 |0043: move-result-object v2 │ │ +418d14: 1f02 5e0a |0044: check-cast v2, Landroid/widget/Button; // type@0a5e │ │ +418d18: 5b12 445d |0046: iput-object v2, v1, Lorg/purple/smoke/Smokescreen;.m_unlock:Landroid/widget/Button; // field@5d44 │ │ +418d1c: 7010 47b9 0100 |0048: invoke-direct {v1}, Lorg/purple/smoke/Smokescreen;.prepareListeners:()V // method@b947 │ │ +418d22: 7010 48b9 0100 |004b: invoke-direct {v1}, Lorg/purple/smoke/Smokescreen;.prepareWidgets:()V // method@b948 │ │ +418d28: 0e00 |004e: return-void │ │ catches : 1 │ │ 0x0013 - 0x001c │ │ Ljava/lang/Exception; -> 0x001c │ │ positions : │ │ 0x0000 line=201 │ │ 0x0003 line=202 │ │ 0x0010 line=203 │ │ @@ -1544729,42 +1544728,42 @@ │ │ type : '(Landroid/view/Menu;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 2 16-bit code units │ │ -4187f4: |[4187f4] org.purple.smoke.Smokescreen.onCreateOptionsMenu:(Landroid/view/Menu;)Z │ │ -418804: 1211 |0000: const/4 v1, #int 1 // #1 │ │ -418806: 0f01 |0001: return v1 │ │ +4187f0: |[4187f0] org.purple.smoke.Smokescreen.onCreateOptionsMenu:(Landroid/view/Menu;)Z │ │ +418800: 1211 |0000: const/4 v1, #int 1 // #1 │ │ +418802: 0f01 |0001: return v1 │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #2 : (in Lorg/purple/smoke/Smokescreen;) │ │ name : 'onDestroy' │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 22 16-bit code units │ │ -418d40: |[418d40] org.purple.smoke.Smokescreen.onDestroy:()V │ │ -418d50: 7100 66b9 0000 |0000: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -418d56: 0c00 |0003: move-result-object v0 │ │ -418d58: 6e10 61b9 0000 |0004: invoke-virtual {v0}, Lorg/purple/smoke/State;.exit:()Z // method@b961 │ │ -418d5e: 0a00 |0007: move-result v0 │ │ -418d60: 3800 0a00 |0008: if-eqz v0, 0012 // +000a │ │ -418d64: 7100 5705 0000 |000a: invoke-static {}, Landroid/os/Process;.myPid:()I // method@0557 │ │ -418d6a: 0a00 |000d: move-result v0 │ │ -418d6c: 7110 5605 0000 |000e: invoke-static {v0}, Landroid/os/Process;.killProcess:(I)V // method@0556 │ │ -418d72: 2804 |0011: goto 0015 // +0004 │ │ -418d74: 6f10 f53c 0100 |0012: invoke-super {v1}, Landroid/support/v7/app/AppCompatActivity;.onDestroy:()V // method@3cf5 │ │ -418d7a: 0e00 |0015: return-void │ │ +418d3c: |[418d3c] org.purple.smoke.Smokescreen.onDestroy:()V │ │ +418d4c: 7100 66b9 0000 |0000: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +418d52: 0c00 |0003: move-result-object v0 │ │ +418d54: 6e10 61b9 0000 |0004: invoke-virtual {v0}, Lorg/purple/smoke/State;.exit:()Z // method@b961 │ │ +418d5a: 0a00 |0007: move-result v0 │ │ +418d5c: 3800 0a00 |0008: if-eqz v0, 0012 // +000a │ │ +418d60: 7100 5705 0000 |000a: invoke-static {}, Landroid/os/Process;.myPid:()I // method@0557 │ │ +418d66: 0a00 |000d: move-result v0 │ │ +418d68: 7110 5605 0000 |000e: invoke-static {v0}, Landroid/os/Process;.killProcess:(I)V // method@0556 │ │ +418d6e: 2804 |0011: goto 0015 // +0004 │ │ +418d70: 6f10 f53c 0100 |0012: invoke-super {v1}, Landroid/support/v7/app/AppCompatActivity;.onDestroy:()V // method@3cf5 │ │ +418d76: 0e00 |0015: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=224 │ │ 0x000a line=225 │ │ 0x0012 line=227 │ │ locals : │ │ 0x0000 - 0x0016 reg=1 this Lorg/purple/smoke/Smokescreen; │ │ @@ -1544774,90 +1544773,90 @@ │ │ type : '(Landroid/view/MenuItem;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 10 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 176 16-bit code units │ │ -418808: |[418808] org.purple.smoke.Smokescreen.onOptionsItemSelected:(Landroid/view/MenuItem;)Z │ │ -418818: 7210 6a55 0900 |0000: invoke-interface {v9}, Landroid/view/MenuItem;.getGroupId:()I // method@556a │ │ -41881e: 0a00 |0003: move-result v0 │ │ -418820: 7210 6c55 0900 |0004: invoke-interface {v9}, Landroid/view/MenuItem;.getItemId:()I // method@556c │ │ -418826: 0a01 |0007: move-result v1 │ │ -418828: 1a02 287b |0008: const-string v2, "lastActivity" // string@7b28 │ │ -41882c: 1203 |000a: const/4 v3, #int 0 // #0 │ │ -41882e: 1214 |000b: const/4 v4, #int 1 // #1 │ │ -418830: 3900 3700 |000c: if-nez v0, 0043 // +0037 │ │ -418834: 2c01 8c00 0000 |000e: sparse-switch v1, 0000009a // +0000008c │ │ -41883a: 2900 8300 |0011: goto/16 0094 // +0083 │ │ -41883e: 5489 405d |0013: iget-object v9, v8, Lorg/purple/smoke/Smokescreen;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d40 │ │ -418842: 1a00 514b |0015: const-string v0, "Steam" // string@4b51 │ │ -418846: 6e40 30b6 3902 |0017: invoke-virtual {v9, v3, v2, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -41884c: 7010 4eb9 0800 |001a: invoke-direct {v8}, Lorg/purple/smoke/Smokescreen;.showSteamActivity:()V // method@b94e │ │ -418852: 0f04 |001d: return v4 │ │ -418854: 5489 405d |001e: iget-object v9, v8, Lorg/purple/smoke/Smokescreen;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d40 │ │ -418858: 1a00 284a |0020: const-string v0, "Settings" // string@4a28 │ │ -41885c: 6e40 30b6 3902 |0022: invoke-virtual {v9, v3, v2, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -418862: 7010 4db9 0800 |0025: invoke-direct {v8}, Lorg/purple/smoke/Smokescreen;.showSettingsActivity:()V // method@b94d │ │ -418868: 0f04 |0028: return v4 │ │ -41886a: 5489 405d |0029: iget-object v9, v8, Lorg/purple/smoke/Smokescreen;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d40 │ │ -41886e: 1a00 b31a |002b: const-string v0, "Fire" // string@1ab3 │ │ -418872: 6e40 30b6 3902 |002d: invoke-virtual {v9, v3, v2, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -418878: 7010 4bb9 0800 |0030: invoke-direct {v8}, Lorg/purple/smoke/Smokescreen;.showFireActivity:()V // method@b94b │ │ -41887e: 0f04 |0033: return v4 │ │ -418880: 7120 1cb9 8400 |0034: invoke-static {v4, v8}, Lorg/purple/smoke/Smoke;.exit:(ZLandroid/content/Context;)V // method@b91c │ │ -418886: 0f04 |0037: return v4 │ │ -418888: 5489 405d |0038: iget-object v9, v8, Lorg/purple/smoke/Smokescreen;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d40 │ │ -41888c: 1a00 da12 |003a: const-string v0, "Chat" // string@12da │ │ -418890: 6e40 30b6 3902 |003c: invoke-virtual {v9, v3, v2, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -418896: 7010 4ab9 0800 |003f: invoke-direct {v8}, Lorg/purple/smoke/Smokescreen;.showChatActivity:()V // method@b94a │ │ -41889c: 0f04 |0042: return v4 │ │ -41889e: 7210 6e55 0900 |0043: invoke-interface {v9}, Landroid/view/MenuItem;.getTitle:()Ljava/lang/CharSequence; // method@556e │ │ -4188a4: 0c00 |0046: move-result-object v0 │ │ -4188a6: 7210 045c 0000 |0047: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ -4188ac: 0c00 |004a: move-result-object v0 │ │ -4188ae: 1a05 7203 |004b: const-string v5, "(" // string@0372 │ │ -4188b2: 6e20 c25c 5000 |004d: invoke-virtual {v0, v5}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@5cc2 │ │ -4188b8: 0a05 |0050: move-result v5 │ │ -4188ba: 3a05 0f00 |0051: if-ltz v5, 0060 // +000f │ │ -4188be: b045 |0053: add-int/2addr v5, v4 │ │ -4188c0: 6e20 cc5c 5000 |0054: invoke-virtual {v0, v5}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@5ccc │ │ -4188c6: 0c04 |0057: move-result-object v4 │ │ -4188c8: 1a05 e403 |0058: const-string v5, ")" // string@03e4 │ │ -4188cc: 1a06 0000 |005a: const-string v6, "" // string@0000 │ │ -4188d0: 6e30 c85c 5406 |005c: invoke-virtual {v4, v5, v6}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ -4188d6: 0c00 |005f: move-result-object v0 │ │ -4188d8: 7110 e7b7 0000 |0060: invoke-static {v0}, Lorg/purple/smoke/Miscellaneous;.prepareSipHashId:(Ljava/lang/String;)Ljava/lang/String; // method@b7e7 │ │ -4188de: 0c00 |0063: move-result-object v0 │ │ -4188e0: 7100 66b9 0000 |0064: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -4188e6: 0c04 |0067: move-result-object v4 │ │ -4188e8: 7110 d55c 0100 |0068: invoke-static {v1}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ -4188ee: 0c05 |006b: move-result-object v5 │ │ -4188f0: 1a06 9b88 |006c: const-string v6, "member_chat_oid" // string@889b │ │ -4188f4: 6e30 81b9 6405 |006e: invoke-virtual {v4, v6, v5}, Lorg/purple/smoke/State;.setString:(Ljava/lang/String;Ljava/lang/String;)V // method@b981 │ │ -4188fa: 7100 66b9 0000 |0071: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -418900: 0c04 |0074: move-result-object v4 │ │ -418902: 1a05 9d88 |0075: const-string v5, "member_chat_siphash_id" // string@889d │ │ -418906: 6e30 81b9 5400 |0077: invoke-virtual {v4, v5, v0}, Lorg/purple/smoke/State;.setString:(Ljava/lang/String;Ljava/lang/String;)V // method@b981 │ │ -41890c: 5484 405d |007a: iget-object v4, v8, Lorg/purple/smoke/Smokescreen;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d40 │ │ -418910: 1a07 263f |007c: const-string v7, "MemberChat" // string@3f26 │ │ -418914: 6e40 30b6 3472 |007e: invoke-virtual {v4, v3, v2, v7}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -41891a: 5482 405d |0081: iget-object v2, v8, Lorg/purple/smoke/Smokescreen;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d40 │ │ -41891e: 6203 455d |0083: sget-object v3, Lorg/purple/smoke/Smokescreen;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d45 │ │ -418922: 7110 d55c 0100 |0085: invoke-static {v1}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ -418928: 0c01 |0088: move-result-object v1 │ │ -41892a: 6e40 30b6 3216 |0089: invoke-virtual {v2, v3, v6, v1}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -418930: 5481 405d |008c: iget-object v1, v8, Lorg/purple/smoke/Smokescreen;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d40 │ │ -418934: 6e40 30b6 3105 |008e: invoke-virtual {v1, v3, v5, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -41893a: 7010 4cb9 0800 |0091: invoke-direct {v8}, Lorg/purple/smoke/Smokescreen;.showMemberChatActivity:()V // method@b94c │ │ -418940: 6f20 f83c 9800 |0094: invoke-super {v8, v9}, Landroid/support/v7/app/AppCompatActivity;.onOptionsItemSelected:(Landroid/view/MenuItem;)Z // method@3cf8 │ │ -418946: 0a09 |0097: move-result v9 │ │ -418948: 0f09 |0098: return v9 │ │ -41894a: 0000 |0099: nop // spacer │ │ -41894c: 0002 0500 0a00 087f 0e00 087f 0f00 ... |009a: sparse-switch-data (22 units) │ │ +418804: |[418804] org.purple.smoke.Smokescreen.onOptionsItemSelected:(Landroid/view/MenuItem;)Z │ │ +418814: 7210 6a55 0900 |0000: invoke-interface {v9}, Landroid/view/MenuItem;.getGroupId:()I // method@556a │ │ +41881a: 0a00 |0003: move-result v0 │ │ +41881c: 7210 6c55 0900 |0004: invoke-interface {v9}, Landroid/view/MenuItem;.getItemId:()I // method@556c │ │ +418822: 0a01 |0007: move-result v1 │ │ +418824: 1a02 287b |0008: const-string v2, "lastActivity" // string@7b28 │ │ +418828: 1203 |000a: const/4 v3, #int 0 // #0 │ │ +41882a: 1214 |000b: const/4 v4, #int 1 // #1 │ │ +41882c: 3900 3700 |000c: if-nez v0, 0043 // +0037 │ │ +418830: 2c01 8c00 0000 |000e: sparse-switch v1, 0000009a // +0000008c │ │ +418836: 2900 8300 |0011: goto/16 0094 // +0083 │ │ +41883a: 5489 405d |0013: iget-object v9, v8, Lorg/purple/smoke/Smokescreen;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d40 │ │ +41883e: 1a00 514b |0015: const-string v0, "Steam" // string@4b51 │ │ +418842: 6e40 30b6 3902 |0017: invoke-virtual {v9, v3, v2, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +418848: 7010 4eb9 0800 |001a: invoke-direct {v8}, Lorg/purple/smoke/Smokescreen;.showSteamActivity:()V // method@b94e │ │ +41884e: 0f04 |001d: return v4 │ │ +418850: 5489 405d |001e: iget-object v9, v8, Lorg/purple/smoke/Smokescreen;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d40 │ │ +418854: 1a00 284a |0020: const-string v0, "Settings" // string@4a28 │ │ +418858: 6e40 30b6 3902 |0022: invoke-virtual {v9, v3, v2, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +41885e: 7010 4db9 0800 |0025: invoke-direct {v8}, Lorg/purple/smoke/Smokescreen;.showSettingsActivity:()V // method@b94d │ │ +418864: 0f04 |0028: return v4 │ │ +418866: 5489 405d |0029: iget-object v9, v8, Lorg/purple/smoke/Smokescreen;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d40 │ │ +41886a: 1a00 b31a |002b: const-string v0, "Fire" // string@1ab3 │ │ +41886e: 6e40 30b6 3902 |002d: invoke-virtual {v9, v3, v2, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +418874: 7010 4bb9 0800 |0030: invoke-direct {v8}, Lorg/purple/smoke/Smokescreen;.showFireActivity:()V // method@b94b │ │ +41887a: 0f04 |0033: return v4 │ │ +41887c: 7120 1cb9 8400 |0034: invoke-static {v4, v8}, Lorg/purple/smoke/Smoke;.exit:(ZLandroid/content/Context;)V // method@b91c │ │ +418882: 0f04 |0037: return v4 │ │ +418884: 5489 405d |0038: iget-object v9, v8, Lorg/purple/smoke/Smokescreen;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d40 │ │ +418888: 1a00 da12 |003a: const-string v0, "Chat" // string@12da │ │ +41888c: 6e40 30b6 3902 |003c: invoke-virtual {v9, v3, v2, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +418892: 7010 4ab9 0800 |003f: invoke-direct {v8}, Lorg/purple/smoke/Smokescreen;.showChatActivity:()V // method@b94a │ │ +418898: 0f04 |0042: return v4 │ │ +41889a: 7210 6e55 0900 |0043: invoke-interface {v9}, Landroid/view/MenuItem;.getTitle:()Ljava/lang/CharSequence; // method@556e │ │ +4188a0: 0c00 |0046: move-result-object v0 │ │ +4188a2: 7210 045c 0000 |0047: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ +4188a8: 0c00 |004a: move-result-object v0 │ │ +4188aa: 1a05 7203 |004b: const-string v5, "(" // string@0372 │ │ +4188ae: 6e20 c25c 5000 |004d: invoke-virtual {v0, v5}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@5cc2 │ │ +4188b4: 0a05 |0050: move-result v5 │ │ +4188b6: 3a05 0f00 |0051: if-ltz v5, 0060 // +000f │ │ +4188ba: b045 |0053: add-int/2addr v5, v4 │ │ +4188bc: 6e20 cc5c 5000 |0054: invoke-virtual {v0, v5}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@5ccc │ │ +4188c2: 0c04 |0057: move-result-object v4 │ │ +4188c4: 1a05 e403 |0058: const-string v5, ")" // string@03e4 │ │ +4188c8: 1a06 0000 |005a: const-string v6, "" // string@0000 │ │ +4188cc: 6e30 c85c 5406 |005c: invoke-virtual {v4, v5, v6}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ +4188d2: 0c00 |005f: move-result-object v0 │ │ +4188d4: 7110 e7b7 0000 |0060: invoke-static {v0}, Lorg/purple/smoke/Miscellaneous;.prepareSipHashId:(Ljava/lang/String;)Ljava/lang/String; // method@b7e7 │ │ +4188da: 0c00 |0063: move-result-object v0 │ │ +4188dc: 7100 66b9 0000 |0064: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +4188e2: 0c04 |0067: move-result-object v4 │ │ +4188e4: 7110 d55c 0100 |0068: invoke-static {v1}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ +4188ea: 0c05 |006b: move-result-object v5 │ │ +4188ec: 1a06 9b88 |006c: const-string v6, "member_chat_oid" // string@889b │ │ +4188f0: 6e30 81b9 6405 |006e: invoke-virtual {v4, v6, v5}, Lorg/purple/smoke/State;.setString:(Ljava/lang/String;Ljava/lang/String;)V // method@b981 │ │ +4188f6: 7100 66b9 0000 |0071: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +4188fc: 0c04 |0074: move-result-object v4 │ │ +4188fe: 1a05 9d88 |0075: const-string v5, "member_chat_siphash_id" // string@889d │ │ +418902: 6e30 81b9 5400 |0077: invoke-virtual {v4, v5, v0}, Lorg/purple/smoke/State;.setString:(Ljava/lang/String;Ljava/lang/String;)V // method@b981 │ │ +418908: 5484 405d |007a: iget-object v4, v8, Lorg/purple/smoke/Smokescreen;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d40 │ │ +41890c: 1a07 263f |007c: const-string v7, "MemberChat" // string@3f26 │ │ +418910: 6e40 30b6 3472 |007e: invoke-virtual {v4, v3, v2, v7}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +418916: 5482 405d |0081: iget-object v2, v8, Lorg/purple/smoke/Smokescreen;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d40 │ │ +41891a: 6203 455d |0083: sget-object v3, Lorg/purple/smoke/Smokescreen;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d45 │ │ +41891e: 7110 d55c 0100 |0085: invoke-static {v1}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ +418924: 0c01 |0088: move-result-object v1 │ │ +418926: 6e40 30b6 3216 |0089: invoke-virtual {v2, v3, v6, v1}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +41892c: 5481 405d |008c: iget-object v1, v8, Lorg/purple/smoke/Smokescreen;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d40 │ │ +418930: 6e40 30b6 3105 |008e: invoke-virtual {v1, v3, v5, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +418936: 7010 4cb9 0800 |0091: invoke-direct {v8}, Lorg/purple/smoke/Smokescreen;.showMemberChatActivity:()V // method@b94c │ │ +41893c: 6f20 f83c 9800 |0094: invoke-super {v8, v9}, Landroid/support/v7/app/AppCompatActivity;.onOptionsItemSelected:(Landroid/view/MenuItem;)Z // method@3cf8 │ │ +418942: 0a09 |0097: move-result v9 │ │ +418944: 0f09 |0098: return v9 │ │ +418946: 0000 |0099: nop // spacer │ │ +418948: 0002 0500 0a00 087f 0e00 087f 0f00 ... |009a: sparse-switch-data (22 units) │ │ catches : 1 │ │ 0x004b - 0x0060 │ │ Ljava/lang/Exception; -> 0x0060 │ │ positions : │ │ 0x0000 line=239 │ │ 0x0004 line=240 │ │ 0x0013 line=261 │ │ @@ -1544894,77 +1544893,77 @@ │ │ type : '(Landroid/view/Menu;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 10 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 137 16-bit code units │ │ -418988: |[418988] org.purple.smoke.Smokescreen.onPrepareOptionsMenu:(Landroid/view/Menu;)Z │ │ -418998: 7210 5b55 0900 |0000: invoke-interface {v9}, Landroid/view/Menu;.clear:()V // method@555b │ │ -41899e: 6e10 3fb9 0800 |0003: invoke-virtual {v8}, Lorg/purple/smoke/Smokescreen;.getMenuInflater:()Landroid/view/MenuInflater; // method@b93f │ │ -4189a4: 0c00 |0006: move-result-object v0 │ │ -4189a6: 1401 0500 0b7f |0007: const v1, #float 1.84763e+38 // #7f0b0005 │ │ -4189ac: 6e30 6255 1009 |000a: invoke-virtual {v0, v1, v9}, Landroid/view/MenuInflater;.inflate:(ILandroid/view/Menu;)V // method@5562 │ │ -4189b2: 7100 66b9 0000 |000d: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -4189b8: 0c00 |0010: move-result-object v0 │ │ -4189ba: 6e10 6ab9 0000 |0011: invoke-virtual {v0}, Lorg/purple/smoke/State;.isLocked:()Z // method@b96a │ │ -4189c0: 0a00 |0014: move-result v0 │ │ -4189c2: 1401 1800 087f |0015: const v1, #float 1.80775e+38 // #7f080018 │ │ -4189c8: 1402 1600 087f |0018: const v2, #float 1.80775e+38 // #7f080016 │ │ -4189ce: 1403 0f00 087f |001b: const v3, #float 1.80775e+38 // #7f08000f │ │ -4189d4: 1404 0a00 087f |001e: const v4, #float 1.80775e+38 // #7f08000a │ │ -4189da: 1405 0200 087f |0021: const v5, #float 1.80775e+38 // #7f080002 │ │ -4189e0: 1216 |0024: const/4 v6, #int 1 // #1 │ │ -4189e2: 3800 2700 |0025: if-eqz v0, 004c // +0027 │ │ -4189e6: 7220 5c55 5900 |0027: invoke-interface {v9, v5}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ -4189ec: 0c00 |002a: move-result-object v0 │ │ -4189ee: 1205 |002b: const/4 v5, #int 0 // #0 │ │ -4189f0: 7220 7a55 5000 |002c: invoke-interface {v0, v5}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ -4189f6: 7220 5c55 4900 |002f: invoke-interface {v9, v4}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ -4189fc: 0c00 |0032: move-result-object v0 │ │ -4189fe: 7220 7a55 5000 |0033: invoke-interface {v0, v5}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ -418a04: 7220 5c55 3900 |0036: invoke-interface {v9, v3}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ -418a0a: 0c00 |0039: move-result-object v0 │ │ -418a0c: 7220 7a55 5000 |003a: invoke-interface {v0, v5}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ -418a12: 7220 5c55 2900 |003d: invoke-interface {v9, v2}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ -418a18: 0c00 |0040: move-result-object v0 │ │ -418a1a: 7220 7a55 5000 |0041: invoke-interface {v0, v5}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ -418a20: 7220 5c55 1900 |0044: invoke-interface {v9, v1}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ -418a26: 0c09 |0047: move-result-object v9 │ │ -418a28: 7220 7a55 5900 |0048: invoke-interface {v9, v5}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ -418a2e: 283d |004b: goto 0088 // +003d │ │ -418a30: 7100 66b9 0000 |004c: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -418a36: 0c00 |004f: move-result-object v0 │ │ -418a38: 6e10 69b9 0000 |0050: invoke-virtual {v0}, Lorg/purple/smoke/State;.isAuthenticated:()Z // method@b969 │ │ -418a3e: 0a00 |0053: move-result v0 │ │ -418a40: 5487 405d |0054: iget-object v7, v8, Lorg/purple/smoke/Smokescreen;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d40 │ │ -418a44: 6e10 d4b5 0700 |0056: invoke-virtual {v7}, Lorg/purple/smoke/Database;.accountPrepared:()Z // method@b5d4 │ │ -418a4a: 0a07 |0059: move-result v7 │ │ -418a4c: 3907 0300 |005a: if-nez v7, 005d // +0003 │ │ -418a50: 1210 |005c: const/4 v0, #int 1 // #1 │ │ -418a52: 7220 5c55 5900 |005d: invoke-interface {v9, v5}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ -418a58: 0c05 |0060: move-result-object v5 │ │ -418a5a: df07 0001 |0061: xor-int/lit8 v7, v0, #int 1 // #01 │ │ -418a5e: 7220 7a55 7500 |0063: invoke-interface {v5, v7}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ -418a64: 7220 5c55 4900 |0066: invoke-interface {v9, v4}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ -418a6a: 0c04 |0069: move-result-object v4 │ │ -418a6c: 7220 7a55 0400 |006a: invoke-interface {v4, v0}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ -418a72: 7220 5c55 3900 |006d: invoke-interface {v9, v3}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ -418a78: 0c03 |0070: move-result-object v3 │ │ -418a7a: 7220 7a55 0300 |0071: invoke-interface {v3, v0}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ -418a80: 7220 5c55 2900 |0074: invoke-interface {v9, v2}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ -418a86: 0c02 |0077: move-result-object v2 │ │ -418a88: 7220 7a55 0200 |0078: invoke-interface {v2, v0}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ -418a8e: 7220 5c55 1900 |007b: invoke-interface {v9, v1}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ -418a94: 0c01 |007e: move-result-object v1 │ │ -418a96: 7220 7a55 0100 |007f: invoke-interface {v1, v0}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ -418a9c: 1260 |0082: const/4 v0, #int 6 // #6 │ │ -418a9e: 1301 fa00 |0083: const/16 v1, #int 250 // #fa │ │ -418aa2: 7130 d5b7 0901 |0085: invoke-static {v9, v0, v1}, Lorg/purple/smoke/Miscellaneous;.addMembersToMenu:(Landroid/view/Menu;II)Landroid/view/SubMenu; // method@b7d5 │ │ -418aa8: 0f06 |0088: return v6 │ │ +418984: |[418984] org.purple.smoke.Smokescreen.onPrepareOptionsMenu:(Landroid/view/Menu;)Z │ │ +418994: 7210 5b55 0900 |0000: invoke-interface {v9}, Landroid/view/Menu;.clear:()V // method@555b │ │ +41899a: 6e10 3fb9 0800 |0003: invoke-virtual {v8}, Lorg/purple/smoke/Smokescreen;.getMenuInflater:()Landroid/view/MenuInflater; // method@b93f │ │ +4189a0: 0c00 |0006: move-result-object v0 │ │ +4189a2: 1401 0500 0b7f |0007: const v1, #float 1.84763e+38 // #7f0b0005 │ │ +4189a8: 6e30 6255 1009 |000a: invoke-virtual {v0, v1, v9}, Landroid/view/MenuInflater;.inflate:(ILandroid/view/Menu;)V // method@5562 │ │ +4189ae: 7100 66b9 0000 |000d: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +4189b4: 0c00 |0010: move-result-object v0 │ │ +4189b6: 6e10 6ab9 0000 |0011: invoke-virtual {v0}, Lorg/purple/smoke/State;.isLocked:()Z // method@b96a │ │ +4189bc: 0a00 |0014: move-result v0 │ │ +4189be: 1401 1800 087f |0015: const v1, #float 1.80775e+38 // #7f080018 │ │ +4189c4: 1402 1600 087f |0018: const v2, #float 1.80775e+38 // #7f080016 │ │ +4189ca: 1403 0f00 087f |001b: const v3, #float 1.80775e+38 // #7f08000f │ │ +4189d0: 1404 0a00 087f |001e: const v4, #float 1.80775e+38 // #7f08000a │ │ +4189d6: 1405 0200 087f |0021: const v5, #float 1.80775e+38 // #7f080002 │ │ +4189dc: 1216 |0024: const/4 v6, #int 1 // #1 │ │ +4189de: 3800 2700 |0025: if-eqz v0, 004c // +0027 │ │ +4189e2: 7220 5c55 5900 |0027: invoke-interface {v9, v5}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ +4189e8: 0c00 |002a: move-result-object v0 │ │ +4189ea: 1205 |002b: const/4 v5, #int 0 // #0 │ │ +4189ec: 7220 7a55 5000 |002c: invoke-interface {v0, v5}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ +4189f2: 7220 5c55 4900 |002f: invoke-interface {v9, v4}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ +4189f8: 0c00 |0032: move-result-object v0 │ │ +4189fa: 7220 7a55 5000 |0033: invoke-interface {v0, v5}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ +418a00: 7220 5c55 3900 |0036: invoke-interface {v9, v3}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ +418a06: 0c00 |0039: move-result-object v0 │ │ +418a08: 7220 7a55 5000 |003a: invoke-interface {v0, v5}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ +418a0e: 7220 5c55 2900 |003d: invoke-interface {v9, v2}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ +418a14: 0c00 |0040: move-result-object v0 │ │ +418a16: 7220 7a55 5000 |0041: invoke-interface {v0, v5}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ +418a1c: 7220 5c55 1900 |0044: invoke-interface {v9, v1}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ +418a22: 0c09 |0047: move-result-object v9 │ │ +418a24: 7220 7a55 5900 |0048: invoke-interface {v9, v5}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ +418a2a: 283d |004b: goto 0088 // +003d │ │ +418a2c: 7100 66b9 0000 |004c: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +418a32: 0c00 |004f: move-result-object v0 │ │ +418a34: 6e10 69b9 0000 |0050: invoke-virtual {v0}, Lorg/purple/smoke/State;.isAuthenticated:()Z // method@b969 │ │ +418a3a: 0a00 |0053: move-result v0 │ │ +418a3c: 5487 405d |0054: iget-object v7, v8, Lorg/purple/smoke/Smokescreen;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d40 │ │ +418a40: 6e10 d4b5 0700 |0056: invoke-virtual {v7}, Lorg/purple/smoke/Database;.accountPrepared:()Z // method@b5d4 │ │ +418a46: 0a07 |0059: move-result v7 │ │ +418a48: 3907 0300 |005a: if-nez v7, 005d // +0003 │ │ +418a4c: 1210 |005c: const/4 v0, #int 1 // #1 │ │ +418a4e: 7220 5c55 5900 |005d: invoke-interface {v9, v5}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ +418a54: 0c05 |0060: move-result-object v5 │ │ +418a56: df07 0001 |0061: xor-int/lit8 v7, v0, #int 1 // #01 │ │ +418a5a: 7220 7a55 7500 |0063: invoke-interface {v5, v7}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ +418a60: 7220 5c55 4900 |0066: invoke-interface {v9, v4}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ +418a66: 0c04 |0069: move-result-object v4 │ │ +418a68: 7220 7a55 0400 |006a: invoke-interface {v4, v0}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ +418a6e: 7220 5c55 3900 |006d: invoke-interface {v9, v3}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ +418a74: 0c03 |0070: move-result-object v3 │ │ +418a76: 7220 7a55 0300 |0071: invoke-interface {v3, v0}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ +418a7c: 7220 5c55 2900 |0074: invoke-interface {v9, v2}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ +418a82: 0c02 |0077: move-result-object v2 │ │ +418a84: 7220 7a55 0200 |0078: invoke-interface {v2, v0}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ +418a8a: 7220 5c55 1900 |007b: invoke-interface {v9, v1}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ +418a90: 0c01 |007e: move-result-object v1 │ │ +418a92: 7220 7a55 0100 |007f: invoke-interface {v1, v0}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ +418a98: 1260 |0082: const/4 v0, #int 6 // #6 │ │ +418a9a: 1301 fa00 |0083: const/16 v1, #int 250 // #fa │ │ +418a9e: 7130 d5b7 0901 |0085: invoke-static {v9, v0, v1}, Lorg/purple/smoke/Miscellaneous;.addMembersToMenu:(Landroid/view/Menu;II)Landroid/view/SubMenu; // method@b7d5 │ │ +418aa4: 0f06 |0088: return v6 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=303 │ │ 0x0003 line=304 │ │ 0x000d line=306 │ │ 0x0027 line=310 │ │ 0x002f line=311 │ │ @@ -1545099,54 +1545098,54 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 7 16-bit code units │ │ -41f19c: |[41f19c] org.purple.smoke.Steam.:()V │ │ -41f1ac: 7100 88b5 0000 |0000: invoke-static {}, Lorg/purple/smoke/Cryptography;.getInstance:()Lorg/purple/smoke/Cryptography; // method@b588 │ │ -41f1b2: 0c00 |0003: move-result-object v0 │ │ -41f1b4: 6900 7c5d |0004: sput-object v0, Lorg/purple/smoke/Steam;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d7c │ │ -41f1b8: 0e00 |0006: return-void │ │ +41f198: |[41f198] org.purple.smoke.Steam.:()V │ │ +41f1a8: 7100 88b5 0000 |0000: invoke-static {}, Lorg/purple/smoke/Cryptography;.getInstance:()Lorg/purple/smoke/Cryptography; // method@b588 │ │ +41f1ae: 0c00 |0003: move-result-object v0 │ │ +41f1b0: 6900 7c5d |0004: sput-object v0, Lorg/purple/smoke/Steam;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d7c │ │ +41f1b4: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=143 │ │ locals : │ │ │ │ #1 : (in Lorg/purple/smoke/Steam;) │ │ name : '' │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 38 16-bit code units │ │ -41f1bc: |[41f1bc] org.purple.smoke.Steam.:()V │ │ -41f1cc: 7010 df3c 0200 |0000: invoke-direct {v2}, Landroid/support/v7/app/AppCompatActivity;.:()V // method@3cdf │ │ -41f1d2: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -41f1d4: 5b20 6f5d |0004: iput-object v0, v2, Lorg/purple/smoke/Steam;.m_attachmentButton:Landroid/widget/Button; // field@5d6f │ │ -41f1d8: 5b20 7a5d |0006: iput-object v0, v2, Lorg/purple/smoke/Steam;.m_sendButton:Landroid/widget/Button; // field@5d7a │ │ -41f1dc: 5b20 705d |0008: iput-object v0, v2, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ -41f1e0: 5b20 795d |000a: iput-object v0, v2, Lorg/purple/smoke/Steam;.m_recyclerView:Landroid/support/v7/widget/RecyclerView; // field@5d79 │ │ -41f1e4: 5b20 6e5d |000c: iput-object v0, v2, Lorg/purple/smoke/Steam;.m_adapter:Landroid/support/v7/widget/RecyclerView$Adapter; // field@5d6e │ │ -41f1e8: 5b20 7b5d |000e: iput-object v0, v2, Lorg/purple/smoke/Steam;.m_statusScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d7b │ │ -41f1ec: 5b20 745d |0010: iput-object v0, v2, Lorg/purple/smoke/Steam;.m_keysSpinner:Landroid/widget/Spinner; // field@5d74 │ │ -41f1f0: 5b20 765d |0012: iput-object v0, v2, Lorg/purple/smoke/Steam;.m_participantsSpinner:Landroid/widget/Spinner; // field@5d76 │ │ -41f1f4: 5b20 775d |0014: iput-object v0, v2, Lorg/purple/smoke/Steam;.m_receiver:Lorg/purple/smoke/Steam$SteamBroadcastReceiver; // field@5d77 │ │ -41f1f8: 5b20 755d |0016: iput-object v0, v2, Lorg/purple/smoke/Steam;.m_layoutManager:Lorg/purple/smoke/Steam$SteamLinearLayoutManager; // field@5d75 │ │ -41f1fc: 1a01 0000 |0018: const-string v1, "" // string@0000 │ │ -41f200: 5b21 6d5d |001a: iput-object v1, v2, Lorg/purple/smoke/Steam;.m_absoluteFileName:Ljava/lang/String; // field@5d6d │ │ -41f204: 5b20 715d |001c: iput-object v0, v2, Lorg/purple/smoke/Steam;.m_displayFileName:Landroid/widget/TextView; // field@5d71 │ │ -41f208: 5b20 725d |001e: iput-object v0, v2, Lorg/purple/smoke/Steam;.m_downloads:Landroid/widget/TextView; // field@5d72 │ │ -41f20c: 5b20 735d |0020: iput-object v0, v2, Lorg/purple/smoke/Steam;.m_information:Landroid/widget/TextView; // field@5d73 │ │ -41f210: 1200 |0022: const/4 v0, #int 0 // #0 │ │ -41f212: 5c20 785d |0023: iput-boolean v0, v2, Lorg/purple/smoke/Steam;.m_receiverRegistered:Z // field@5d78 │ │ -41f216: 0e00 |0025: return-void │ │ +41f1b8: |[41f1b8] org.purple.smoke.Steam.:()V │ │ +41f1c8: 7010 df3c 0200 |0000: invoke-direct {v2}, Landroid/support/v7/app/AppCompatActivity;.:()V // method@3cdf │ │ +41f1ce: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +41f1d0: 5b20 6f5d |0004: iput-object v0, v2, Lorg/purple/smoke/Steam;.m_attachmentButton:Landroid/widget/Button; // field@5d6f │ │ +41f1d4: 5b20 7a5d |0006: iput-object v0, v2, Lorg/purple/smoke/Steam;.m_sendButton:Landroid/widget/Button; // field@5d7a │ │ +41f1d8: 5b20 705d |0008: iput-object v0, v2, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ +41f1dc: 5b20 795d |000a: iput-object v0, v2, Lorg/purple/smoke/Steam;.m_recyclerView:Landroid/support/v7/widget/RecyclerView; // field@5d79 │ │ +41f1e0: 5b20 6e5d |000c: iput-object v0, v2, Lorg/purple/smoke/Steam;.m_adapter:Landroid/support/v7/widget/RecyclerView$Adapter; // field@5d6e │ │ +41f1e4: 5b20 7b5d |000e: iput-object v0, v2, Lorg/purple/smoke/Steam;.m_statusScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d7b │ │ +41f1e8: 5b20 745d |0010: iput-object v0, v2, Lorg/purple/smoke/Steam;.m_keysSpinner:Landroid/widget/Spinner; // field@5d74 │ │ +41f1ec: 5b20 765d |0012: iput-object v0, v2, Lorg/purple/smoke/Steam;.m_participantsSpinner:Landroid/widget/Spinner; // field@5d76 │ │ +41f1f0: 5b20 775d |0014: iput-object v0, v2, Lorg/purple/smoke/Steam;.m_receiver:Lorg/purple/smoke/Steam$SteamBroadcastReceiver; // field@5d77 │ │ +41f1f4: 5b20 755d |0016: iput-object v0, v2, Lorg/purple/smoke/Steam;.m_layoutManager:Lorg/purple/smoke/Steam$SteamLinearLayoutManager; // field@5d75 │ │ +41f1f8: 1a01 0000 |0018: const-string v1, "" // string@0000 │ │ +41f1fc: 5b21 6d5d |001a: iput-object v1, v2, Lorg/purple/smoke/Steam;.m_absoluteFileName:Ljava/lang/String; // field@5d6d │ │ +41f200: 5b20 715d |001c: iput-object v0, v2, Lorg/purple/smoke/Steam;.m_displayFileName:Landroid/widget/TextView; // field@5d71 │ │ +41f204: 5b20 725d |001e: iput-object v0, v2, Lorg/purple/smoke/Steam;.m_downloads:Landroid/widget/TextView; // field@5d72 │ │ +41f208: 5b20 735d |0020: iput-object v0, v2, Lorg/purple/smoke/Steam;.m_information:Landroid/widget/TextView; // field@5d73 │ │ +41f20c: 1200 |0022: const/4 v0, #int 0 // #0 │ │ +41f20e: 5c20 785d |0023: iput-boolean v0, v2, Lorg/purple/smoke/Steam;.m_receiverRegistered:Z // field@5d78 │ │ +41f212: 0e00 |0025: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=57 │ │ 0x0004 line=127 │ │ 0x0006 line=128 │ │ 0x0008 line=129 │ │ 0x000a line=130 │ │ @@ -1545169,17 +1545168,17 @@ │ │ type : '(Lorg/purple/smoke/Steam;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -41f218: |[41f218] org.purple.smoke.Steam.access$000:(Lorg/purple/smoke/Steam;)V │ │ -41f228: 7010 b2b9 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Steam;.networkStatusChanged:()V // method@b9b2 │ │ -41f22e: 0e00 |0003: return-void │ │ +41f214: |[41f214] org.purple.smoke.Steam.access$000:(Lorg/purple/smoke/Steam;)V │ │ +41f224: 7010 b2b9 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Steam;.networkStatusChanged:()V // method@b9b2 │ │ +41f22a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=57 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/Steam; │ │ │ │ #3 : (in Lorg/purple/smoke/Steam;) │ │ @@ -1545187,17 +1545186,17 @@ │ │ type : '(Lorg/purple/smoke/Steam;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -41f230: |[41f230] org.purple.smoke.Steam.access$100:(Lorg/purple/smoke/Steam;)V │ │ -41f240: 7010 beb9 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Steam;.populateParticipants:()V // method@b9be │ │ -41f246: 0e00 |0003: return-void │ │ +41f22c: |[41f22c] org.purple.smoke.Steam.access$100:(Lorg/purple/smoke/Steam;)V │ │ +41f23c: 7010 beb9 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Steam;.populateParticipants:()V // method@b9be │ │ +41f242: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=57 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/Steam; │ │ │ │ #4 : (in Lorg/purple/smoke/Steam;) │ │ @@ -1545205,34 +1545204,34 @@ │ │ type : '()Lorg/purple/smoke/Cryptography;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41f154: |[41f154] org.purple.smoke.Steam.access$1000:()Lorg/purple/smoke/Cryptography; │ │ -41f164: 6200 7c5d |0000: sget-object v0, Lorg/purple/smoke/Steam;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d7c │ │ -41f168: 1100 |0002: return-object v0 │ │ +41f150: |[41f150] org.purple.smoke.Steam.access$1000:()Lorg/purple/smoke/Cryptography; │ │ +41f160: 6200 7c5d |0000: sget-object v0, Lorg/purple/smoke/Steam;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d7c │ │ +41f164: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=57 │ │ locals : │ │ │ │ #5 : (in Lorg/purple/smoke/Steam;) │ │ name : 'access$200' │ │ type : '(Lorg/purple/smoke/Steam;)Landroid/support/v7/widget/RecyclerView$Adapter;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41edc8: |[41edc8] org.purple.smoke.Steam.access$200:(Lorg/purple/smoke/Steam;)Landroid/support/v7/widget/RecyclerView$Adapter; │ │ -41edd8: 5400 6e5d |0000: iget-object v0, v0, Lorg/purple/smoke/Steam;.m_adapter:Landroid/support/v7/widget/RecyclerView$Adapter; // field@5d6e │ │ -41eddc: 1100 |0002: return-object v0 │ │ +41edc4: |[41edc4] org.purple.smoke.Steam.access$200:(Lorg/purple/smoke/Steam;)Landroid/support/v7/widget/RecyclerView$Adapter; │ │ +41edd4: 5400 6e5d |0000: iget-object v0, v0, Lorg/purple/smoke/Steam;.m_adapter:Landroid/support/v7/widget/RecyclerView$Adapter; // field@5d6e │ │ +41edd8: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=57 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/Steam; │ │ │ │ #6 : (in Lorg/purple/smoke/Steam;) │ │ @@ -1545240,17 +1545239,17 @@ │ │ type : '(Lorg/purple/smoke/Steam;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -41f248: |[41f248] org.purple.smoke.Steam.access$300:(Lorg/purple/smoke/Steam;)V │ │ -41f258: 7010 cab9 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Steam;.showFileActivity:()V // method@b9ca │ │ -41f25e: 0e00 |0003: return-void │ │ +41f244: |[41f244] org.purple.smoke.Steam.access$300:(Lorg/purple/smoke/Steam;)V │ │ +41f254: 7010 cab9 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Steam;.showFileActivity:()V // method@b9ca │ │ +41f25a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=57 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/Steam; │ │ │ │ #7 : (in Lorg/purple/smoke/Steam;) │ │ @@ -1545258,17 +1545257,17 @@ │ │ type : '(Lorg/purple/smoke/Steam;)Landroid/widget/Spinner;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41ede0: |[41ede0] org.purple.smoke.Steam.access$400:(Lorg/purple/smoke/Steam;)Landroid/widget/Spinner; │ │ -41edf0: 5400 745d |0000: iget-object v0, v0, Lorg/purple/smoke/Steam;.m_keysSpinner:Landroid/widget/Spinner; // field@5d74 │ │ -41edf4: 1100 |0002: return-object v0 │ │ +41eddc: |[41eddc] org.purple.smoke.Steam.access$400:(Lorg/purple/smoke/Steam;)Landroid/widget/Spinner; │ │ +41edec: 5400 745d |0000: iget-object v0, v0, Lorg/purple/smoke/Steam;.m_keysSpinner:Landroid/widget/Spinner; // field@5d74 │ │ +41edf0: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=57 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/Steam; │ │ │ │ #8 : (in Lorg/purple/smoke/Steam;) │ │ @@ -1545276,17 +1545275,17 @@ │ │ type : '(Lorg/purple/smoke/Steam;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -41f260: |[41f260] org.purple.smoke.Steam.access$500:(Lorg/purple/smoke/Steam;)V │ │ -41f270: 7010 c5b9 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Steam;.saveSteam:()V // method@b9c5 │ │ -41f276: 0e00 |0003: return-void │ │ +41f25c: |[41f25c] org.purple.smoke.Steam.access$500:(Lorg/purple/smoke/Steam;)V │ │ +41f26c: 7010 c5b9 0000 |0000: invoke-direct {v0}, Lorg/purple/smoke/Steam;.saveSteam:()V // method@b9c5 │ │ +41f272: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=57 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Lorg/purple/smoke/Steam; │ │ │ │ #9 : (in Lorg/purple/smoke/Steam;) │ │ @@ -1545294,17 +1545293,17 @@ │ │ type : '(Lorg/purple/smoke/Steam;)Landroid/widget/TextView;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41edf8: |[41edf8] org.purple.smoke.Steam.access$600:(Lorg/purple/smoke/Steam;)Landroid/widget/TextView; │ │ -41ee08: 5400 735d |0000: iget-object v0, v0, Lorg/purple/smoke/Steam;.m_information:Landroid/widget/TextView; // field@5d73 │ │ -41ee0c: 1100 |0002: return-object v0 │ │ +41edf4: |[41edf4] org.purple.smoke.Steam.access$600:(Lorg/purple/smoke/Steam;)Landroid/widget/TextView; │ │ +41ee04: 5400 735d |0000: iget-object v0, v0, Lorg/purple/smoke/Steam;.m_information:Landroid/widget/TextView; // field@5d73 │ │ +41ee08: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=57 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/Steam; │ │ │ │ #10 : (in Lorg/purple/smoke/Steam;) │ │ @@ -1545312,17 +1545311,17 @@ │ │ type : '(Lorg/purple/smoke/Steam;)Landroid/support/v7/widget/RecyclerView;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41edb0: |[41edb0] org.purple.smoke.Steam.access$700:(Lorg/purple/smoke/Steam;)Landroid/support/v7/widget/RecyclerView; │ │ -41edc0: 5400 795d |0000: iget-object v0, v0, Lorg/purple/smoke/Steam;.m_recyclerView:Landroid/support/v7/widget/RecyclerView; // field@5d79 │ │ -41edc4: 1100 |0002: return-object v0 │ │ +41edac: |[41edac] org.purple.smoke.Steam.access$700:(Lorg/purple/smoke/Steam;)Landroid/support/v7/widget/RecyclerView; │ │ +41edbc: 5400 795d |0000: iget-object v0, v0, Lorg/purple/smoke/Steam;.m_recyclerView:Landroid/support/v7/widget/RecyclerView; // field@5d79 │ │ +41edc0: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=57 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/Steam; │ │ │ │ #11 : (in Lorg/purple/smoke/Steam;) │ │ @@ -1545330,17 +1545329,17 @@ │ │ type : '(Lorg/purple/smoke/Steam;)Lorg/purple/smoke/Steam$SteamLinearLayoutManager;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41f184: |[41f184] org.purple.smoke.Steam.access$800:(Lorg/purple/smoke/Steam;)Lorg/purple/smoke/Steam$SteamLinearLayoutManager; │ │ -41f194: 5400 755d |0000: iget-object v0, v0, Lorg/purple/smoke/Steam;.m_layoutManager:Lorg/purple/smoke/Steam$SteamLinearLayoutManager; // field@5d75 │ │ -41f198: 1100 |0002: return-object v0 │ │ +41f180: |[41f180] org.purple.smoke.Steam.access$800:(Lorg/purple/smoke/Steam;)Lorg/purple/smoke/Steam$SteamLinearLayoutManager; │ │ +41f190: 5400 755d |0000: iget-object v0, v0, Lorg/purple/smoke/Steam;.m_layoutManager:Lorg/purple/smoke/Steam$SteamLinearLayoutManager; // field@5d75 │ │ +41f194: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=57 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/Steam; │ │ │ │ #12 : (in Lorg/purple/smoke/Steam;) │ │ @@ -1545348,17 +1545347,17 @@ │ │ type : '(Lorg/purple/smoke/Steam;)Lorg/purple/smoke/Database;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -41f16c: |[41f16c] org.purple.smoke.Steam.access$900:(Lorg/purple/smoke/Steam;)Lorg/purple/smoke/Database; │ │ -41f17c: 5400 705d |0000: iget-object v0, v0, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ -41f180: 1100 |0002: return-object v0 │ │ +41f168: |[41f168] org.purple.smoke.Steam.access$900:(Lorg/purple/smoke/Steam;)Lorg/purple/smoke/Database; │ │ +41f178: 5400 705d |0000: iget-object v0, v0, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ +41f17c: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=57 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lorg/purple/smoke/Steam; │ │ │ │ #13 : (in Lorg/purple/smoke/Steam;) │ │ @@ -1545366,21 +1545365,21 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 12 16-bit code units │ │ -41f278: |[41f278] org.purple.smoke.Steam.networkStatusChanged:()V │ │ -41f288: 6e10 afb9 0200 |0000: invoke-virtual {v2}, Lorg/purple/smoke/Steam;.getSupportActionBar:()Landroid/support/v7/app/ActionBar; // method@b9af │ │ -41f28e: 0c00 |0003: move-result-object v0 │ │ -41f290: 7100 20b9 0000 |0004: invoke-static {}, Lorg/purple/smoke/Smoke;.networkStatusString:()Ljava/lang/String; // method@b920 │ │ -41f296: 0c01 |0007: move-result-object v1 │ │ -41f298: 6e20 0a3c 1000 |0008: invoke-virtual {v0, v1}, Landroid/support/v7/app/ActionBar;.setSubtitle:(Ljava/lang/CharSequence;)V // method@3c0a │ │ -41f29e: 0e00 |000b: return-void │ │ +41f274: |[41f274] org.purple.smoke.Steam.networkStatusChanged:()V │ │ +41f284: 6e10 afb9 0200 |0000: invoke-virtual {v2}, Lorg/purple/smoke/Steam;.getSupportActionBar:()Landroid/support/v7/app/ActionBar; // method@b9af │ │ +41f28a: 0c00 |0003: move-result-object v0 │ │ +41f28c: 7100 20b9 0000 |0004: invoke-static {}, Lorg/purple/smoke/Smoke;.networkStatusString:()Ljava/lang/String; // method@b920 │ │ +41f292: 0c01 |0007: move-result-object v1 │ │ +41f294: 6e20 0a3c 1000 |0008: invoke-virtual {v0, v1}, Landroid/support/v7/app/ActionBar;.setSubtitle:(Ljava/lang/CharSequence;)V // method@3c0a │ │ +41f29a: 0e00 |000b: return-void │ │ catches : 1 │ │ 0x0000 - 0x000b │ │ Ljava/lang/Exception; -> 0x000b │ │ positions : │ │ 0x0000 line=165 │ │ locals : │ │ 0x0000 - 0x000c reg=2 this Lorg/purple/smoke/Steam; │ │ @@ -1545390,70 +1545389,70 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 118 16-bit code units │ │ -41f7d4: |[41f7d4] org.purple.smoke.Steam.populateParticipants:()V │ │ -41f7e4: 5460 765d |0000: iget-object v0, v6, Lorg/purple/smoke/Steam;.m_participantsSpinner:Landroid/widget/Spinner; // field@5d76 │ │ -41f7e8: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ -41f7ec: 0e00 |0004: return-void │ │ -41f7ee: 7100 66b9 0000 |0005: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -41f7f4: 0c00 |0008: move-result-object v0 │ │ -41f7f6: 6e10 6eb9 0000 |0009: invoke-virtual {v0}, Lorg/purple/smoke/State;.participants:()Ljava/util/ArrayList; // method@b96e │ │ -41f7fc: 0c00 |000c: move-result-object v0 │ │ -41f7fe: 1a01 be41 |000d: const-string v1, "Other (Non-Smoke)" // string@41be │ │ -41f802: 1402 0800 0901 |000f: const v2, #float 2.51629e-38 // #01090008 │ │ -41f808: 3800 5500 |0012: if-eqz v0, 0067 // +0055 │ │ -41f80c: 6e10 a45f 0000 |0014: invoke-virtual {v0}, Ljava/util/ArrayList;.isEmpty:()Z // method@5fa4 │ │ -41f812: 0a03 |0017: move-result v3 │ │ -41f814: 3803 0300 |0018: if-eqz v3, 001b // +0003 │ │ -41f818: 284d |001a: goto 0067 // +004d │ │ -41f81a: 5463 765d |001b: iget-object v3, v6, Lorg/purple/smoke/Steam;.m_participantsSpinner:Landroid/widget/Spinner; // field@5d76 │ │ -41f81e: 1204 |001d: const/4 v4, #int 0 // #0 │ │ -41f820: 6e20 c05a 4300 |001e: invoke-virtual {v3, v4}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@5ac0 │ │ -41f826: 2203 ab0b |0021: new-instance v3, Ljava/util/ArrayList; // type@0bab │ │ -41f82a: 7010 975f 0300 |0023: invoke-direct {v3}, Ljava/util/ArrayList;.:()V // method@5f97 │ │ -41f830: 6e20 9b5f 1300 |0026: invoke-virtual {v3, v1}, Ljava/util/ArrayList;.add:(Ljava/lang/Object;)Z // method@5f9b │ │ -41f836: 6e10 a55f 0000 |0029: invoke-virtual {v0}, Ljava/util/ArrayList;.iterator:()Ljava/util/Iterator; // method@5fa5 │ │ -41f83c: 0c00 |002c: move-result-object v0 │ │ -41f83e: 7210 1860 0000 |002d: invoke-interface {v0}, Ljava/util/Iterator;.hasNext:()Z // method@6018 │ │ -41f844: 0a01 |0030: move-result v1 │ │ -41f846: 3801 2b00 |0031: if-eqz v1, 005c // +002b │ │ -41f84a: 7210 1960 0000 |0033: invoke-interface {v0}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@6019 │ │ -41f850: 0c01 |0036: move-result-object v1 │ │ -41f852: 1f01 321a |0037: check-cast v1, Lorg/purple/smoke/ParticipantElement; // type@1a32 │ │ -41f856: 3801 f4ff |0039: if-eqz v1, 002d // -000c │ │ -41f85a: 2204 f10a |003b: new-instance v4, Ljava/lang/StringBuilder; // type@0af1 │ │ -41f85e: 7010 ee5c 0400 |003d: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41f864: 5415 9453 |0040: iget-object v5, v1, Lorg/purple/smoke/ParticipantElement;.m_name:Ljava/lang/String; // field@5394 │ │ -41f868: 6e20 f95c 5400 |0042: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41f86e: 1a05 9800 |0045: const-string v5, " (" // string@0098 │ │ -41f872: 6e20 f95c 5400 |0047: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41f878: 5411 9653 |004a: iget-object v1, v1, Lorg/purple/smoke/ParticipantElement;.m_sipHashId:Ljava/lang/String; // field@5396 │ │ -41f87c: 6e20 f95c 1400 |004c: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41f882: 1a01 e403 |004f: const-string v1, ")" // string@03e4 │ │ -41f886: 6e20 f95c 1400 |0051: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41f88c: 6e10 035d 0400 |0054: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41f892: 0c01 |0057: move-result-object v1 │ │ -41f894: 6e20 9b5f 1300 |0058: invoke-virtual {v3, v1}, Ljava/util/ArrayList;.add:(Ljava/lang/Object;)Z // method@5f9b │ │ -41f89a: 28d2 |005b: goto 002d // -002e │ │ -41f89c: 2200 5b0a |005c: new-instance v0, Landroid/widget/ArrayAdapter; // type@0a5b │ │ -41f8a0: 7040 ca58 6032 |005e: invoke-direct {v0, v6, v2, v3}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;ILjava/util/List;)V // method@58ca │ │ -41f8a6: 5461 765d |0061: iget-object v1, v6, Lorg/purple/smoke/Steam;.m_participantsSpinner:Landroid/widget/Spinner; // field@5d76 │ │ -41f8aa: 6e20 c05a 0100 |0063: invoke-virtual {v1, v0}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@5ac0 │ │ -41f8b0: 0e00 |0066: return-void │ │ -41f8b2: 2200 5b0a |0067: new-instance v0, Landroid/widget/ArrayAdapter; // type@0a5b │ │ -41f8b6: 2410 1a1b 0100 |0069: filled-new-array {v1}, [Ljava/lang/String; // type@1b1a │ │ -41f8bc: 0c01 |006c: move-result-object v1 │ │ -41f8be: 7040 cb58 6012 |006d: invoke-direct {v0, v6, v2, v1}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;I[Ljava/lang/Object;)V // method@58cb │ │ -41f8c4: 5461 765d |0070: iget-object v1, v6, Lorg/purple/smoke/Steam;.m_participantsSpinner:Landroid/widget/Spinner; // field@5d76 │ │ -41f8c8: 6e20 c05a 0100 |0072: invoke-virtual {v1, v0}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@5ac0 │ │ -41f8ce: 0e00 |0075: return-void │ │ +41f7d0: |[41f7d0] org.purple.smoke.Steam.populateParticipants:()V │ │ +41f7e0: 5460 765d |0000: iget-object v0, v6, Lorg/purple/smoke/Steam;.m_participantsSpinner:Landroid/widget/Spinner; // field@5d76 │ │ +41f7e4: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ +41f7e8: 0e00 |0004: return-void │ │ +41f7ea: 7100 66b9 0000 |0005: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +41f7f0: 0c00 |0008: move-result-object v0 │ │ +41f7f2: 6e10 6eb9 0000 |0009: invoke-virtual {v0}, Lorg/purple/smoke/State;.participants:()Ljava/util/ArrayList; // method@b96e │ │ +41f7f8: 0c00 |000c: move-result-object v0 │ │ +41f7fa: 1a01 be41 |000d: const-string v1, "Other (Non-Smoke)" // string@41be │ │ +41f7fe: 1402 0800 0901 |000f: const v2, #float 2.51629e-38 // #01090008 │ │ +41f804: 3800 5500 |0012: if-eqz v0, 0067 // +0055 │ │ +41f808: 6e10 a45f 0000 |0014: invoke-virtual {v0}, Ljava/util/ArrayList;.isEmpty:()Z // method@5fa4 │ │ +41f80e: 0a03 |0017: move-result v3 │ │ +41f810: 3803 0300 |0018: if-eqz v3, 001b // +0003 │ │ +41f814: 284d |001a: goto 0067 // +004d │ │ +41f816: 5463 765d |001b: iget-object v3, v6, Lorg/purple/smoke/Steam;.m_participantsSpinner:Landroid/widget/Spinner; // field@5d76 │ │ +41f81a: 1204 |001d: const/4 v4, #int 0 // #0 │ │ +41f81c: 6e20 c05a 4300 |001e: invoke-virtual {v3, v4}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@5ac0 │ │ +41f822: 2203 ab0b |0021: new-instance v3, Ljava/util/ArrayList; // type@0bab │ │ +41f826: 7010 975f 0300 |0023: invoke-direct {v3}, Ljava/util/ArrayList;.:()V // method@5f97 │ │ +41f82c: 6e20 9b5f 1300 |0026: invoke-virtual {v3, v1}, Ljava/util/ArrayList;.add:(Ljava/lang/Object;)Z // method@5f9b │ │ +41f832: 6e10 a55f 0000 |0029: invoke-virtual {v0}, Ljava/util/ArrayList;.iterator:()Ljava/util/Iterator; // method@5fa5 │ │ +41f838: 0c00 |002c: move-result-object v0 │ │ +41f83a: 7210 1860 0000 |002d: invoke-interface {v0}, Ljava/util/Iterator;.hasNext:()Z // method@6018 │ │ +41f840: 0a01 |0030: move-result v1 │ │ +41f842: 3801 2b00 |0031: if-eqz v1, 005c // +002b │ │ +41f846: 7210 1960 0000 |0033: invoke-interface {v0}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@6019 │ │ +41f84c: 0c01 |0036: move-result-object v1 │ │ +41f84e: 1f01 321a |0037: check-cast v1, Lorg/purple/smoke/ParticipantElement; // type@1a32 │ │ +41f852: 3801 f4ff |0039: if-eqz v1, 002d // -000c │ │ +41f856: 2204 f10a |003b: new-instance v4, Ljava/lang/StringBuilder; // type@0af1 │ │ +41f85a: 7010 ee5c 0400 |003d: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41f860: 5415 9453 |0040: iget-object v5, v1, Lorg/purple/smoke/ParticipantElement;.m_name:Ljava/lang/String; // field@5394 │ │ +41f864: 6e20 f95c 5400 |0042: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41f86a: 1a05 9800 |0045: const-string v5, " (" // string@0098 │ │ +41f86e: 6e20 f95c 5400 |0047: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41f874: 5411 9653 |004a: iget-object v1, v1, Lorg/purple/smoke/ParticipantElement;.m_sipHashId:Ljava/lang/String; // field@5396 │ │ +41f878: 6e20 f95c 1400 |004c: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41f87e: 1a01 e403 |004f: const-string v1, ")" // string@03e4 │ │ +41f882: 6e20 f95c 1400 |0051: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41f888: 6e10 035d 0400 |0054: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41f88e: 0c01 |0057: move-result-object v1 │ │ +41f890: 6e20 9b5f 1300 |0058: invoke-virtual {v3, v1}, Ljava/util/ArrayList;.add:(Ljava/lang/Object;)Z // method@5f9b │ │ +41f896: 28d2 |005b: goto 002d // -002e │ │ +41f898: 2200 5b0a |005c: new-instance v0, Landroid/widget/ArrayAdapter; // type@0a5b │ │ +41f89c: 7040 ca58 6032 |005e: invoke-direct {v0, v6, v2, v3}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;ILjava/util/List;)V // method@58ca │ │ +41f8a2: 5461 765d |0061: iget-object v1, v6, Lorg/purple/smoke/Steam;.m_participantsSpinner:Landroid/widget/Spinner; // field@5d76 │ │ +41f8a6: 6e20 c05a 0100 |0063: invoke-virtual {v1, v0}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@5ac0 │ │ +41f8ac: 0e00 |0066: return-void │ │ +41f8ae: 2200 5b0a |0067: new-instance v0, Landroid/widget/ArrayAdapter; // type@0a5b │ │ +41f8b2: 2410 1a1b 0100 |0069: filled-new-array {v1}, [Ljava/lang/String; // type@1b1a │ │ +41f8b8: 0c01 |006c: move-result-object v1 │ │ +41f8ba: 7040 cb58 6012 |006d: invoke-direct {v0, v6, v2, v1}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;I[Ljava/lang/Object;)V // method@58cb │ │ +41f8c0: 5461 765d |0070: iget-object v1, v6, Lorg/purple/smoke/Steam;.m_participantsSpinner:Landroid/widget/Spinner; // field@5d76 │ │ +41f8c4: 6e20 c05a 0100 |0072: invoke-virtual {v1, v0}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@5ac0 │ │ +41f8ca: 0e00 |0075: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=174 │ │ 0x0005 line=177 │ │ 0x0009 line=178 │ │ 0x0014 line=180 │ │ 0x001b line=191 │ │ @@ -1545474,30 +1545473,30 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 35 16-bit code units │ │ -41f8d0: |[41f8d0] org.purple.smoke.Steam.prepareListeners:()V │ │ -41f8e0: 5420 6f5d |0000: iget-object v0, v2, Lorg/purple/smoke/Steam;.m_attachmentButton:Landroid/widget/Button; // field@5d6f │ │ -41f8e4: 3800 0a00 |0002: if-eqz v0, 000c // +000a │ │ -41f8e8: 2201 881a |0004: new-instance v1, Lorg/purple/smoke/Steam$1; // type@1a88 │ │ -41f8ec: 7020 86b9 2100 |0006: invoke-direct {v1, v2}, Lorg/purple/smoke/Steam$1;.:(Lorg/purple/smoke/Steam;)V // method@b986 │ │ -41f8f2: 6e20 e258 1000 |0009: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ -41f8f8: 5420 765d |000c: iget-object v0, v2, Lorg/purple/smoke/Steam;.m_participantsSpinner:Landroid/widget/Spinner; // field@5d76 │ │ -41f8fc: 2201 891a |000e: new-instance v1, Lorg/purple/smoke/Steam$2; // type@1a89 │ │ -41f900: 7020 88b9 2100 |0010: invoke-direct {v1, v2}, Lorg/purple/smoke/Steam$2;.:(Lorg/purple/smoke/Steam;)V // method@b988 │ │ -41f906: 6e20 c95a 1000 |0013: invoke-virtual {v0, v1}, Landroid/widget/Spinner;.setOnItemSelectedListener:(Landroid/widget/AdapterView$OnItemSelectedListener;)V // method@5ac9 │ │ -41f90c: 5420 7a5d |0016: iget-object v0, v2, Lorg/purple/smoke/Steam;.m_sendButton:Landroid/widget/Button; // field@5d7a │ │ -41f910: 3800 0a00 |0018: if-eqz v0, 0022 // +000a │ │ -41f914: 2201 8a1a |001a: new-instance v1, Lorg/purple/smoke/Steam$3; // type@1a8a │ │ -41f918: 7020 8bb9 2100 |001c: invoke-direct {v1, v2}, Lorg/purple/smoke/Steam$3;.:(Lorg/purple/smoke/Steam;)V // method@b98b │ │ -41f91e: 6e20 e258 1000 |001f: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ -41f924: 0e00 |0022: return-void │ │ +41f8cc: |[41f8cc] org.purple.smoke.Steam.prepareListeners:()V │ │ +41f8dc: 5420 6f5d |0000: iget-object v0, v2, Lorg/purple/smoke/Steam;.m_attachmentButton:Landroid/widget/Button; // field@5d6f │ │ +41f8e0: 3800 0a00 |0002: if-eqz v0, 000c // +000a │ │ +41f8e4: 2201 881a |0004: new-instance v1, Lorg/purple/smoke/Steam$1; // type@1a88 │ │ +41f8e8: 7020 86b9 2100 |0006: invoke-direct {v1, v2}, Lorg/purple/smoke/Steam$1;.:(Lorg/purple/smoke/Steam;)V // method@b986 │ │ +41f8ee: 6e20 e258 1000 |0009: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ +41f8f4: 5420 765d |000c: iget-object v0, v2, Lorg/purple/smoke/Steam;.m_participantsSpinner:Landroid/widget/Spinner; // field@5d76 │ │ +41f8f8: 2201 891a |000e: new-instance v1, Lorg/purple/smoke/Steam$2; // type@1a89 │ │ +41f8fc: 7020 88b9 2100 |0010: invoke-direct {v1, v2}, Lorg/purple/smoke/Steam$2;.:(Lorg/purple/smoke/Steam;)V // method@b988 │ │ +41f902: 6e20 c95a 1000 |0013: invoke-virtual {v0, v1}, Landroid/widget/Spinner;.setOnItemSelectedListener:(Landroid/widget/AdapterView$OnItemSelectedListener;)V // method@5ac9 │ │ +41f908: 5420 7a5d |0016: iget-object v0, v2, Lorg/purple/smoke/Steam;.m_sendButton:Landroid/widget/Button; // field@5d7a │ │ +41f90c: 3800 0a00 |0018: if-eqz v0, 0022 // +000a │ │ +41f910: 2201 8a1a |001a: new-instance v1, Lorg/purple/smoke/Steam$3; // type@1a8a │ │ +41f914: 7020 8bb9 2100 |001c: invoke-direct {v1, v2}, Lorg/purple/smoke/Steam$3;.:(Lorg/purple/smoke/Steam;)V // method@b98b │ │ +41f91a: 6e20 e258 1000 |001f: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@58e2 │ │ +41f920: 0e00 |0022: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=210 │ │ 0x0004 line=211 │ │ 0x000c line=222 │ │ 0x0013 line=223 │ │ 0x0016 line=241 │ │ @@ -1545510,27 +1545509,27 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 9 │ │ ins : 1 │ │ outs : 7 │ │ insns size : 25 16-bit code units │ │ -41f928: |[41f928] org.purple.smoke.Steam.prepareSchedulers:()V │ │ -41f938: 5480 7b5d |0000: iget-object v0, v8, Lorg/purple/smoke/Steam;.m_statusScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d7b │ │ -41f93c: 3900 1600 |0002: if-nez v0, 0018 // +0016 │ │ -41f940: 7100 c460 0000 |0004: invoke-static {}, Ljava/util/concurrent/Executors;.newSingleThreadScheduledExecutor:()Ljava/util/concurrent/ScheduledExecutorService; // method@60c4 │ │ -41f946: 0c01 |0007: move-result-object v1 │ │ -41f948: 5b81 7b5d |0008: iput-object v1, v8, Lorg/purple/smoke/Steam;.m_statusScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d7b │ │ -41f94c: 2202 8c1a |000a: new-instance v2, Lorg/purple/smoke/Steam$4; // type@1a8c │ │ -41f950: 7020 8fb9 8200 |000c: invoke-direct {v2, v8}, Lorg/purple/smoke/Steam$4;.:(Lorg/purple/smoke/Steam;)V // method@b98f │ │ -41f956: 1603 0000 |000f: const-wide/16 v3, #int 0 // #0 │ │ -41f95a: 1605 dc05 |0011: const-wide/16 v5, #int 1500 // #5dc │ │ -41f95e: 6207 eb2c |0013: sget-object v7, Ljava/util/concurrent/TimeUnit;.MILLISECONDS:Ljava/util/concurrent/TimeUnit; // field@2ceb │ │ -41f962: 7807 cc60 0100 |0015: invoke-interface/range {v1, v2, v3, v4, v5, v6, v7}, Ljava/util/concurrent/ScheduledExecutorService;.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; // method@60cc │ │ -41f968: 0e00 |0018: return-void │ │ +41f924: |[41f924] org.purple.smoke.Steam.prepareSchedulers:()V │ │ +41f934: 5480 7b5d |0000: iget-object v0, v8, Lorg/purple/smoke/Steam;.m_statusScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d7b │ │ +41f938: 3900 1600 |0002: if-nez v0, 0018 // +0016 │ │ +41f93c: 7100 c460 0000 |0004: invoke-static {}, Ljava/util/concurrent/Executors;.newSingleThreadScheduledExecutor:()Ljava/util/concurrent/ScheduledExecutorService; // method@60c4 │ │ +41f942: 0c01 |0007: move-result-object v1 │ │ +41f944: 5b81 7b5d |0008: iput-object v1, v8, Lorg/purple/smoke/Steam;.m_statusScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d7b │ │ +41f948: 2202 8c1a |000a: new-instance v2, Lorg/purple/smoke/Steam$4; // type@1a8c │ │ +41f94c: 7020 8fb9 8200 |000c: invoke-direct {v2, v8}, Lorg/purple/smoke/Steam$4;.:(Lorg/purple/smoke/Steam;)V // method@b98f │ │ +41f952: 1603 0000 |000f: const-wide/16 v3, #int 0 // #0 │ │ +41f956: 1605 dc05 |0011: const-wide/16 v5, #int 1500 // #5dc │ │ +41f95a: 6207 eb2c |0013: sget-object v7, Ljava/util/concurrent/TimeUnit;.MILLISECONDS:Ljava/util/concurrent/TimeUnit; // field@2ceb │ │ +41f95e: 7807 cc60 0100 |0015: invoke-interface/range {v1, v2, v3, v4, v5, v6, v7}, Ljava/util/concurrent/ScheduledExecutorService;.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; // method@60cc │ │ +41f964: 0e00 |0018: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=256 │ │ 0x0004 line=258 │ │ 0x000a line=259 │ │ locals : │ │ 0x0000 - 0x0019 reg=8 this Lorg/purple/smoke/Steam; │ │ @@ -1545540,32 +1545539,32 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 38 16-bit code units │ │ -41f96c: |[41f96c] org.purple.smoke.Steam.prepareWidgets:()V │ │ -41f97c: 5420 6e5d |0000: iget-object v0, v2, Lorg/purple/smoke/Steam;.m_adapter:Landroid/support/v7/widget/RecyclerView$Adapter; // field@5d6e │ │ -41f980: 3900 2300 |0002: if-nez v0, 0025 // +0023 │ │ -41f984: 5420 795d |0004: iget-object v0, v2, Lorg/purple/smoke/Steam;.m_recyclerView:Landroid/support/v7/widget/RecyclerView; // field@5d79 │ │ -41f988: 3800 1f00 |0006: if-eqz v0, 0025 // +001f │ │ -41f98c: 2200 941a |0008: new-instance v0, Lorg/purple/smoke/SteamAdapter; // type@1a94 │ │ -41f990: 7020 d5b9 2000 |000a: invoke-direct {v0, v2}, Lorg/purple/smoke/SteamAdapter;.:(Lorg/purple/smoke/Steam;)V // method@b9d5 │ │ -41f996: 5b20 6e5d |000d: iput-object v0, v2, Lorg/purple/smoke/Steam;.m_adapter:Landroid/support/v7/widget/RecyclerView$Adapter; // field@5d6e │ │ -41f99a: 2201 8d1a |000f: new-instance v1, Lorg/purple/smoke/Steam$5; // type@1a8d │ │ -41f99e: 7020 91b9 2100 |0011: invoke-direct {v1, v2}, Lorg/purple/smoke/Steam$5;.:(Lorg/purple/smoke/Steam;)V // method@b991 │ │ -41f9a4: 6e20 494c 1000 |0014: invoke-virtual {v0, v1}, Landroid/support/v7/widget/RecyclerView$Adapter;.registerAdapterDataObserver:(Landroid/support/v7/widget/RecyclerView$AdapterDataObserver;)V // method@4c49 │ │ -41f9aa: 5420 795d |0017: iget-object v0, v2, Lorg/purple/smoke/Steam;.m_recyclerView:Landroid/support/v7/widget/RecyclerView; // field@5d79 │ │ -41f9ae: 5421 6e5d |0019: iget-object v1, v2, Lorg/purple/smoke/Steam;.m_adapter:Landroid/support/v7/widget/RecyclerView$Adapter; // field@5d6e │ │ -41f9b2: 6e20 044f 1000 |001b: invoke-virtual {v0, v1}, Landroid/support/v7/widget/RecyclerView;.setAdapter:(Landroid/support/v7/widget/RecyclerView$Adapter;)V // method@4f04 │ │ -41f9b8: 5420 795d |001e: iget-object v0, v2, Lorg/purple/smoke/Steam;.m_recyclerView:Landroid/support/v7/widget/RecyclerView; // field@5d79 │ │ -41f9bc: 5421 755d |0020: iget-object v1, v2, Lorg/purple/smoke/Steam;.m_layoutManager:Lorg/purple/smoke/Steam$SteamLinearLayoutManager; // field@5d75 │ │ -41f9c0: 6e20 114f 1000 |0022: invoke-virtual {v0, v1}, Landroid/support/v7/widget/RecyclerView;.setLayoutManager:(Landroid/support/v7/widget/RecyclerView$LayoutManager;)V // method@4f11 │ │ -41f9c6: 0e00 |0025: return-void │ │ +41f968: |[41f968] org.purple.smoke.Steam.prepareWidgets:()V │ │ +41f978: 5420 6e5d |0000: iget-object v0, v2, Lorg/purple/smoke/Steam;.m_adapter:Landroid/support/v7/widget/RecyclerView$Adapter; // field@5d6e │ │ +41f97c: 3900 2300 |0002: if-nez v0, 0025 // +0023 │ │ +41f980: 5420 795d |0004: iget-object v0, v2, Lorg/purple/smoke/Steam;.m_recyclerView:Landroid/support/v7/widget/RecyclerView; // field@5d79 │ │ +41f984: 3800 1f00 |0006: if-eqz v0, 0025 // +001f │ │ +41f988: 2200 941a |0008: new-instance v0, Lorg/purple/smoke/SteamAdapter; // type@1a94 │ │ +41f98c: 7020 d5b9 2000 |000a: invoke-direct {v0, v2}, Lorg/purple/smoke/SteamAdapter;.:(Lorg/purple/smoke/Steam;)V // method@b9d5 │ │ +41f992: 5b20 6e5d |000d: iput-object v0, v2, Lorg/purple/smoke/Steam;.m_adapter:Landroid/support/v7/widget/RecyclerView$Adapter; // field@5d6e │ │ +41f996: 2201 8d1a |000f: new-instance v1, Lorg/purple/smoke/Steam$5; // type@1a8d │ │ +41f99a: 7020 91b9 2100 |0011: invoke-direct {v1, v2}, Lorg/purple/smoke/Steam$5;.:(Lorg/purple/smoke/Steam;)V // method@b991 │ │ +41f9a0: 6e20 494c 1000 |0014: invoke-virtual {v0, v1}, Landroid/support/v7/widget/RecyclerView$Adapter;.registerAdapterDataObserver:(Landroid/support/v7/widget/RecyclerView$AdapterDataObserver;)V // method@4c49 │ │ +41f9a6: 5420 795d |0017: iget-object v0, v2, Lorg/purple/smoke/Steam;.m_recyclerView:Landroid/support/v7/widget/RecyclerView; // field@5d79 │ │ +41f9aa: 5421 6e5d |0019: iget-object v1, v2, Lorg/purple/smoke/Steam;.m_adapter:Landroid/support/v7/widget/RecyclerView$Adapter; // field@5d6e │ │ +41f9ae: 6e20 044f 1000 |001b: invoke-virtual {v0, v1}, Landroid/support/v7/widget/RecyclerView;.setAdapter:(Landroid/support/v7/widget/RecyclerView$Adapter;)V // method@4f04 │ │ +41f9b4: 5420 795d |001e: iget-object v0, v2, Lorg/purple/smoke/Steam;.m_recyclerView:Landroid/support/v7/widget/RecyclerView; // field@5d79 │ │ +41f9b8: 5421 755d |0020: iget-object v1, v2, Lorg/purple/smoke/Steam;.m_layoutManager:Lorg/purple/smoke/Steam$SteamLinearLayoutManager; // field@5d75 │ │ +41f9bc: 6e20 114f 1000 |0022: invoke-virtual {v0, v1}, Landroid/support/v7/widget/RecyclerView;.setLayoutManager:(Landroid/support/v7/widget/RecyclerView$LayoutManager;)V // method@4f11 │ │ +41f9c2: 0e00 |0025: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=295 │ │ 0x0008 line=297 │ │ 0x000f line=298 │ │ 0x0014 line=299 │ │ 0x0017 line=317 │ │ @@ -1545578,33 +1545577,33 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 33 16-bit code units │ │ -41f9c8: |[41f9c8] org.purple.smoke.Steam.releaseResources:()V │ │ -41f9d8: 5450 7b5d |0000: iget-object v0, v5, Lorg/purple/smoke/Steam;.m_statusScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d7b │ │ -41f9dc: 3800 1e00 |0002: if-eqz v0, 0020 // +001e │ │ -41f9e0: 7210 cd60 0000 |0004: invoke-interface {v0}, Ljava/util/concurrent/ScheduledExecutorService;.shutdown:()V // method@60cd │ │ -41f9e6: 1200 |0007: const/4 v0, #int 0 // #0 │ │ -41f9e8: 5451 7b5d |0008: iget-object v1, v5, Lorg/purple/smoke/Steam;.m_statusScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d7b │ │ -41f9ec: 1602 0500 |000a: const-wide/16 v2, #int 5 // #5 │ │ -41f9f0: 6204 ee2c |000c: sget-object v4, Ljava/util/concurrent/TimeUnit;.SECONDS:Ljava/util/concurrent/TimeUnit; // field@2cee │ │ -41f9f4: 7240 ca60 2143 |000e: invoke-interface {v1, v2, v3, v4}, Ljava/util/concurrent/ScheduledExecutorService;.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z // method@60ca │ │ -41f9fa: 0a01 |0011: move-result v1 │ │ -41f9fc: 3901 0c00 |0012: if-nez v1, 001e // +000c │ │ -41fa00: 5451 7b5d |0014: iget-object v1, v5, Lorg/purple/smoke/Steam;.m_statusScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d7b │ │ -41fa04: 7210 ce60 0100 |0016: invoke-interface {v1}, Ljava/util/concurrent/ScheduledExecutorService;.shutdownNow:()Ljava/util/List; // method@60ce │ │ -41fa0a: 2805 |0019: goto 001e // +0005 │ │ -41fa0c: 0d01 |001a: move-exception v1 │ │ -41fa0e: 5b50 7b5d |001b: iput-object v0, v5, Lorg/purple/smoke/Steam;.m_statusScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d7b │ │ -41fa12: 2701 |001d: throw v1 │ │ -41fa14: 5b50 7b5d |001e: iput-object v0, v5, Lorg/purple/smoke/Steam;.m_statusScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d7b │ │ -41fa18: 0e00 |0020: return-void │ │ +41f9c4: |[41f9c4] org.purple.smoke.Steam.releaseResources:()V │ │ +41f9d4: 5450 7b5d |0000: iget-object v0, v5, Lorg/purple/smoke/Steam;.m_statusScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d7b │ │ +41f9d8: 3800 1e00 |0002: if-eqz v0, 0020 // +001e │ │ +41f9dc: 7210 cd60 0000 |0004: invoke-interface {v0}, Ljava/util/concurrent/ScheduledExecutorService;.shutdown:()V // method@60cd │ │ +41f9e2: 1200 |0007: const/4 v0, #int 0 // #0 │ │ +41f9e4: 5451 7b5d |0008: iget-object v1, v5, Lorg/purple/smoke/Steam;.m_statusScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d7b │ │ +41f9e8: 1602 0500 |000a: const-wide/16 v2, #int 5 // #5 │ │ +41f9ec: 6204 ee2c |000c: sget-object v4, Ljava/util/concurrent/TimeUnit;.SECONDS:Ljava/util/concurrent/TimeUnit; // field@2cee │ │ +41f9f0: 7240 ca60 2143 |000e: invoke-interface {v1, v2, v3, v4}, Ljava/util/concurrent/ScheduledExecutorService;.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z // method@60ca │ │ +41f9f6: 0a01 |0011: move-result v1 │ │ +41f9f8: 3901 0c00 |0012: if-nez v1, 001e // +000c │ │ +41f9fc: 5451 7b5d |0014: iget-object v1, v5, Lorg/purple/smoke/Steam;.m_statusScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d7b │ │ +41fa00: 7210 ce60 0100 |0016: invoke-interface {v1}, Ljava/util/concurrent/ScheduledExecutorService;.shutdownNow:()Ljava/util/List; // method@60ce │ │ +41fa06: 2805 |0019: goto 001e // +0005 │ │ +41fa08: 0d01 |001a: move-exception v1 │ │ +41fa0a: 5b50 7b5d |001b: iput-object v0, v5, Lorg/purple/smoke/Steam;.m_statusScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d7b │ │ +41fa0e: 2701 |001d: throw v1 │ │ +41fa10: 5b50 7b5d |001e: iput-object v0, v5, Lorg/purple/smoke/Steam;.m_statusScheduler:Ljava/util/concurrent/ScheduledExecutorService; // field@5d7b │ │ +41fa14: 0e00 |0020: return-void │ │ catches : 2 │ │ 0x0004 - 0x0007 │ │ Ljava/lang/Exception; -> 0x0007 │ │ 0x0008 - 0x0019 │ │ Ljava/lang/Exception; -> 0x001e │ │ -> 0x001a │ │ positions : │ │ @@ -1545624,51 +1545623,51 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 73 16-bit code units │ │ -41fa38: |[41fa38] org.purple.smoke.Steam.saveSteam:()V │ │ -41fa48: 5440 715d |0000: iget-object v0, v4, Lorg/purple/smoke/Steam;.m_displayFileName:Landroid/widget/TextView; // field@5d71 │ │ -41fa4c: 6e10 1c5b 0000 |0002: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ -41fa52: 0c00 |0005: move-result-object v0 │ │ -41fa54: 7210 045c 0000 |0006: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ -41fa5a: 0c00 |0009: move-result-object v0 │ │ -41fa5c: 6e10 d35c 0000 |000a: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ -41fa62: 0c01 |000d: move-result-object v1 │ │ -41fa64: 6e10 c35c 0100 |000e: invoke-virtual {v1}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -41fa6a: 0a01 |0011: move-result v1 │ │ -41fa6c: 3801 0300 |0012: if-eqz v1, 0015 // +0003 │ │ -41fa70: 0e00 |0014: return-void │ │ -41fa72: 2201 9a1a |0015: new-instance v1, Lorg/purple/smoke/SteamElement; // type@1a9a │ │ -41fa76: 5442 6d5d |0017: iget-object v2, v4, Lorg/purple/smoke/Steam;.m_absoluteFileName:Ljava/lang/String; // field@5d6d │ │ -41fa7a: 5443 745d |0019: iget-object v3, v4, Lorg/purple/smoke/Steam;.m_keysSpinner:Landroid/widget/Spinner; // field@5d74 │ │ -41fa7e: 6e10 ba5a 0300 |001b: invoke-virtual {v3}, Landroid/widget/Spinner;.getSelectedItem:()Ljava/lang/Object; // method@5aba │ │ -41fa84: 0c03 |001e: move-result-object v3 │ │ -41fa86: 6e10 965c 0300 |001f: invoke-virtual {v3}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@5c96 │ │ -41fa8c: 0c03 |0022: move-result-object v3 │ │ -41fa8e: 7040 f8b9 0132 |0023: invoke-direct {v1, v0, v2, v3}, Lorg/purple/smoke/SteamElement;.:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V // method@b9f8 │ │ -41fa94: 5440 765d |0026: iget-object v0, v4, Lorg/purple/smoke/Steam;.m_participantsSpinner:Landroid/widget/Spinner; // field@5d76 │ │ -41fa98: 6e10 ba5a 0000 |0028: invoke-virtual {v0}, Landroid/widget/Spinner;.getSelectedItem:()Ljava/lang/Object; // method@5aba │ │ -41fa9e: 0c00 |002b: move-result-object v0 │ │ -41faa0: 6e10 965c 0000 |002c: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@5c96 │ │ -41faa6: 0c00 |002f: move-result-object v0 │ │ -41faa8: 5b10 a85d |0030: iput-object v0, v1, Lorg/purple/smoke/SteamElement;.m_destination:Ljava/lang/String; // field@5da8 │ │ -41faac: 1a00 0000 |0032: const-string v0, "" // string@0000 │ │ -41fab0: 5b40 6d5d |0034: iput-object v0, v4, Lorg/purple/smoke/Steam;.m_absoluteFileName:Ljava/lang/String; // field@5d6d │ │ -41fab4: 5442 705d |0036: iget-object v2, v4, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ -41fab8: 6203 7c5d |0038: sget-object v3, Lorg/purple/smoke/Steam;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d7c │ │ -41fabc: 6e30 32b6 3201 |003a: invoke-virtual {v2, v3, v1}, Lorg/purple/smoke/Database;.writeSteam:(Lorg/purple/smoke/Cryptography;Lorg/purple/smoke/SteamElement;)V // method@b632 │ │ -41fac2: 5441 715d |003d: iget-object v1, v4, Lorg/purple/smoke/Steam;.m_displayFileName:Landroid/widget/TextView; // field@5d71 │ │ -41fac6: 6e20 495b 0100 |003f: invoke-virtual {v1, v0}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41facc: 5440 765d |0042: iget-object v0, v4, Lorg/purple/smoke/Steam;.m_participantsSpinner:Landroid/widget/Spinner; // field@5d76 │ │ -41fad0: 1201 |0044: const/4 v1, #int 0 // #0 │ │ -41fad2: 6e20 cc5a 1000 |0045: invoke-virtual {v0, v1}, Landroid/widget/Spinner;.setSelection:(I)V // method@5acc │ │ -41fad8: 0e00 |0048: return-void │ │ +41fa34: |[41fa34] org.purple.smoke.Steam.saveSteam:()V │ │ +41fa44: 5440 715d |0000: iget-object v0, v4, Lorg/purple/smoke/Steam;.m_displayFileName:Landroid/widget/TextView; // field@5d71 │ │ +41fa48: 6e10 1c5b 0000 |0002: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@5b1c │ │ +41fa4e: 0c00 |0005: move-result-object v0 │ │ +41fa50: 7210 045c 0000 |0006: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ +41fa56: 0c00 |0009: move-result-object v0 │ │ +41fa58: 6e10 d35c 0000 |000a: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@5cd3 │ │ +41fa5e: 0c01 |000d: move-result-object v1 │ │ +41fa60: 6e10 c35c 0100 |000e: invoke-virtual {v1}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +41fa66: 0a01 |0011: move-result v1 │ │ +41fa68: 3801 0300 |0012: if-eqz v1, 0015 // +0003 │ │ +41fa6c: 0e00 |0014: return-void │ │ +41fa6e: 2201 9a1a |0015: new-instance v1, Lorg/purple/smoke/SteamElement; // type@1a9a │ │ +41fa72: 5442 6d5d |0017: iget-object v2, v4, Lorg/purple/smoke/Steam;.m_absoluteFileName:Ljava/lang/String; // field@5d6d │ │ +41fa76: 5443 745d |0019: iget-object v3, v4, Lorg/purple/smoke/Steam;.m_keysSpinner:Landroid/widget/Spinner; // field@5d74 │ │ +41fa7a: 6e10 ba5a 0300 |001b: invoke-virtual {v3}, Landroid/widget/Spinner;.getSelectedItem:()Ljava/lang/Object; // method@5aba │ │ +41fa80: 0c03 |001e: move-result-object v3 │ │ +41fa82: 6e10 965c 0300 |001f: invoke-virtual {v3}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@5c96 │ │ +41fa88: 0c03 |0022: move-result-object v3 │ │ +41fa8a: 7040 f8b9 0132 |0023: invoke-direct {v1, v0, v2, v3}, Lorg/purple/smoke/SteamElement;.:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V // method@b9f8 │ │ +41fa90: 5440 765d |0026: iget-object v0, v4, Lorg/purple/smoke/Steam;.m_participantsSpinner:Landroid/widget/Spinner; // field@5d76 │ │ +41fa94: 6e10 ba5a 0000 |0028: invoke-virtual {v0}, Landroid/widget/Spinner;.getSelectedItem:()Ljava/lang/Object; // method@5aba │ │ +41fa9a: 0c00 |002b: move-result-object v0 │ │ +41fa9c: 6e10 965c 0000 |002c: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@5c96 │ │ +41faa2: 0c00 |002f: move-result-object v0 │ │ +41faa4: 5b10 a85d |0030: iput-object v0, v1, Lorg/purple/smoke/SteamElement;.m_destination:Ljava/lang/String; // field@5da8 │ │ +41faa8: 1a00 0000 |0032: const-string v0, "" // string@0000 │ │ +41faac: 5b40 6d5d |0034: iput-object v0, v4, Lorg/purple/smoke/Steam;.m_absoluteFileName:Ljava/lang/String; // field@5d6d │ │ +41fab0: 5442 705d |0036: iget-object v2, v4, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ +41fab4: 6203 7c5d |0038: sget-object v3, Lorg/purple/smoke/Steam;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d7c │ │ +41fab8: 6e30 32b6 3201 |003a: invoke-virtual {v2, v3, v1}, Lorg/purple/smoke/Database;.writeSteam:(Lorg/purple/smoke/Cryptography;Lorg/purple/smoke/SteamElement;)V // method@b632 │ │ +41fabe: 5441 715d |003d: iget-object v1, v4, Lorg/purple/smoke/Steam;.m_displayFileName:Landroid/widget/TextView; // field@5d71 │ │ +41fac2: 6e20 495b 0100 |003f: invoke-virtual {v1, v0}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41fac8: 5440 765d |0042: iget-object v0, v4, Lorg/purple/smoke/Steam;.m_participantsSpinner:Landroid/widget/Spinner; // field@5d76 │ │ +41facc: 1201 |0044: const/4 v1, #int 0 // #0 │ │ +41face: 6e20 cc5a 1000 |0045: invoke-virtual {v0, v1}, Landroid/widget/Spinner;.setSelection:(I)V // method@5acc │ │ +41fad4: 0e00 |0048: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=352 │ │ 0x000a line=354 │ │ 0x0015 line=357 │ │ 0x001b line=360 │ │ 0x0026 line=362 │ │ @@ -1545685,21 +1545684,21 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 14 16-bit code units │ │ -41fadc: |[41fadc] org.purple.smoke.Steam.showChatActivity:()V │ │ -41faec: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ -41faf0: 1c01 cc19 |0002: const-class v1, Lorg/purple/smoke/Chat; // type@19cc │ │ -41faf4: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ -41fafa: 6e20 cfb9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Steam;.startActivity:(Landroid/content/Intent;)V // method@b9cf │ │ -41fb00: 6e10 abb9 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Steam;.finish:()V // method@b9ab │ │ -41fb06: 0e00 |000d: return-void │ │ +41fad8: |[41fad8] org.purple.smoke.Steam.showChatActivity:()V │ │ +41fae8: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ +41faec: 1c01 cc19 |0002: const-class v1, Lorg/purple/smoke/Chat; // type@19cc │ │ +41faf0: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ +41faf6: 6e20 cfb9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Steam;.startActivity:(Landroid/content/Intent;)V // method@b9cf │ │ +41fafc: 6e10 abb9 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Steam;.finish:()V // method@b9ab │ │ +41fb02: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=372 │ │ 0x0007 line=374 │ │ 0x000a line=375 │ │ locals : │ │ 0x0000 - 0x000e reg=2 this Lorg/purple/smoke/Steam; │ │ @@ -1545709,23 +1545708,23 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 17 16-bit code units │ │ -41fb2c: |[41fb2c] org.purple.smoke.Steam.showFileActivity:()V │ │ -41fb3c: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ -41fb40: 1a01 4458 |0002: const-string v1, "android.intent.action.OPEN_DOCUMENT" // string@5844 │ │ -41fb44: 7020 a001 1000 |0004: invoke-direct {v0, v1}, Landroid/content/Intent;.:(Ljava/lang/String;)V // method@01a0 │ │ -41fb4a: 1a01 1e04 |0007: const-string v1, "*/*" // string@041e │ │ -41fb4e: 6e20 ce01 1000 |0009: invoke-virtual {v0, v1}, Landroid/content/Intent;.setType:(Ljava/lang/String;)Landroid/content/Intent; // method@01ce │ │ -41fb54: 1201 |000c: const/4 v1, #int 0 // #0 │ │ -41fb56: 6e30 d0b9 0201 |000d: invoke-virtual {v2, v0, v1}, Lorg/purple/smoke/Steam;.startActivityForResult:(Landroid/content/Intent;I)V // method@b9d0 │ │ -41fb5c: 0e00 |0010: return-void │ │ +41fb28: |[41fb28] org.purple.smoke.Steam.showFileActivity:()V │ │ +41fb38: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ +41fb3c: 1a01 4458 |0002: const-string v1, "android.intent.action.OPEN_DOCUMENT" // string@5844 │ │ +41fb40: 7020 a001 1000 |0004: invoke-direct {v0, v1}, Landroid/content/Intent;.:(Ljava/lang/String;)V // method@01a0 │ │ +41fb46: 1a01 1e04 |0007: const-string v1, "*/*" // string@041e │ │ +41fb4a: 6e20 ce01 1000 |0009: invoke-virtual {v0, v1}, Landroid/content/Intent;.setType:(Ljava/lang/String;)Landroid/content/Intent; // method@01ce │ │ +41fb50: 1201 |000c: const/4 v1, #int 0 // #0 │ │ +41fb52: 6e30 d0b9 0201 |000d: invoke-virtual {v2, v0, v1}, Lorg/purple/smoke/Steam;.startActivityForResult:(Landroid/content/Intent;I)V // method@b9d0 │ │ +41fb58: 0e00 |0010: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=380 │ │ 0x0009 line=382 │ │ 0x000d line=383 │ │ locals : │ │ 0x0000 - 0x0011 reg=2 this Lorg/purple/smoke/Steam; │ │ @@ -1545735,21 +1545734,21 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 14 16-bit code units │ │ -41fb60: |[41fb60] org.purple.smoke.Steam.showFireActivity:()V │ │ -41fb70: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ -41fb74: 1c01 e719 |0002: const-class v1, Lorg/purple/smoke/Fire; // type@19e7 │ │ -41fb78: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ -41fb7e: 6e20 cfb9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Steam;.startActivity:(Landroid/content/Intent;)V // method@b9cf │ │ -41fb84: 6e10 abb9 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Steam;.finish:()V // method@b9ab │ │ -41fb8a: 0e00 |000d: return-void │ │ +41fb5c: |[41fb5c] org.purple.smoke.Steam.showFireActivity:()V │ │ +41fb6c: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ +41fb70: 1c01 e719 |0002: const-class v1, Lorg/purple/smoke/Fire; // type@19e7 │ │ +41fb74: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ +41fb7a: 6e20 cfb9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Steam;.startActivity:(Landroid/content/Intent;)V // method@b9cf │ │ +41fb80: 6e10 abb9 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Steam;.finish:()V // method@b9ab │ │ +41fb86: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=388 │ │ 0x0007 line=390 │ │ 0x000a line=391 │ │ locals : │ │ 0x0000 - 0x000e reg=2 this Lorg/purple/smoke/Steam; │ │ @@ -1545759,21 +1545758,21 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 14 16-bit code units │ │ -41fb8c: |[41fb8c] org.purple.smoke.Steam.showMemberChatActivity:()V │ │ -41fb9c: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ -41fba0: 1c01 181a |0002: const-class v1, Lorg/purple/smoke/MemberChat; // type@1a18 │ │ -41fba4: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ -41fbaa: 6e20 cfb9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Steam;.startActivity:(Landroid/content/Intent;)V // method@b9cf │ │ -41fbb0: 6e10 abb9 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Steam;.finish:()V // method@b9ab │ │ -41fbb6: 0e00 |000d: return-void │ │ +41fb88: |[41fb88] org.purple.smoke.Steam.showMemberChatActivity:()V │ │ +41fb98: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ +41fb9c: 1c01 181a |0002: const-class v1, Lorg/purple/smoke/MemberChat; // type@1a18 │ │ +41fba0: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ +41fba6: 6e20 cfb9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Steam;.startActivity:(Landroid/content/Intent;)V // method@b9cf │ │ +41fbac: 6e10 abb9 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Steam;.finish:()V // method@b9ab │ │ +41fbb2: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=396 │ │ 0x0007 line=398 │ │ 0x000a line=399 │ │ locals : │ │ 0x0000 - 0x000e reg=2 this Lorg/purple/smoke/Steam; │ │ @@ -1545783,21 +1545782,21 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 14 16-bit code units │ │ -41fbb8: |[41fbb8] org.purple.smoke.Steam.showSettingsActivity:()V │ │ -41fbc8: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ -41fbcc: 1c01 7c1a |0002: const-class v1, Lorg/purple/smoke/Settings; // type@1a7c │ │ -41fbd0: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ -41fbd6: 6e20 cfb9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Steam;.startActivity:(Landroid/content/Intent;)V // method@b9cf │ │ -41fbdc: 6e10 abb9 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Steam;.finish:()V // method@b9ab │ │ -41fbe2: 0e00 |000d: return-void │ │ +41fbb4: |[41fbb4] org.purple.smoke.Steam.showSettingsActivity:()V │ │ +41fbc4: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ +41fbc8: 1c01 7c1a |0002: const-class v1, Lorg/purple/smoke/Settings; // type@1a7c │ │ +41fbcc: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ +41fbd2: 6e20 cfb9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Steam;.startActivity:(Landroid/content/Intent;)V // method@b9cf │ │ +41fbd8: 6e10 abb9 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Steam;.finish:()V // method@b9ab │ │ +41fbde: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=404 │ │ 0x0007 line=406 │ │ 0x000a line=407 │ │ locals : │ │ 0x0000 - 0x000e reg=2 this Lorg/purple/smoke/Steam; │ │ @@ -1545807,21 +1545806,21 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 14 16-bit code units │ │ -41fbe4: |[41fbe4] org.purple.smoke.Steam.showSmokescreenActivity:()V │ │ -41fbf4: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ -41fbf8: 1c01 851a |0002: const-class v1, Lorg/purple/smoke/Smokescreen; // type@1a85 │ │ -41fbfc: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ -41fc02: 6e20 cfb9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Steam;.startActivity:(Landroid/content/Intent;)V // method@b9cf │ │ -41fc08: 6e10 abb9 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Steam;.finish:()V // method@b9ab │ │ -41fc0e: 0e00 |000d: return-void │ │ +41fbe0: |[41fbe0] org.purple.smoke.Steam.showSmokescreenActivity:()V │ │ +41fbf0: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ +41fbf4: 1c01 851a |0002: const-class v1, Lorg/purple/smoke/Smokescreen; // type@1a85 │ │ +41fbf8: 7030 9e01 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@019e │ │ +41fbfe: 6e20 cfb9 0200 |0007: invoke-virtual {v2, v0}, Lorg/purple/smoke/Steam;.startActivity:(Landroid/content/Intent;)V // method@b9cf │ │ +41fc04: 6e10 abb9 0200 |000a: invoke-virtual {v2}, Lorg/purple/smoke/Steam;.finish:()V // method@b9ab │ │ +41fc0a: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=412 │ │ 0x0007 line=414 │ │ 0x000a line=415 │ │ locals : │ │ 0x0000 - 0x000e reg=2 this Lorg/purple/smoke/Steam; │ │ @@ -1545832,101 +1545831,101 @@ │ │ type : '(IILandroid/content/Intent;)V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 12 │ │ ins : 4 │ │ outs : 6 │ │ insns size : 175 16-bit code units │ │ -41f2b0: |[41f2b0] org.purple.smoke.Steam.onActivityResult:(IILandroid/content/Intent;)V │ │ -41f2c0: 1a00 9104 |0000: const-string v0, "." // string@0491 │ │ -41f2c4: 6f40 ec3c 98ba |0002: invoke-super {v8, v9, v10, v11}, Landroid/support/v7/app/AppCompatActivity;.onActivityResult:(IILandroid/content/Intent;)V // method@3cec │ │ -41f2ca: 380b a900 |0005: if-eqz v11, 00ae // +00a9 │ │ -41f2ce: 3909 a700 |0007: if-nez v9, 00ae // +00a7 │ │ -41f2d2: 12f9 |0009: const/4 v9, #int -1 // #ff │ │ -41f2d4: 339a a400 |000a: if-ne v10, v9, 00ae // +00a4 │ │ -41f2d8: 1209 |000c: const/4 v9, #int 0 // #0 │ │ -41f2da: 6e10 adb9 0800 |000d: invoke-virtual {v8}, Lorg/purple/smoke/Steam;.getContentResolver:()Landroid/content/ContentResolver; // method@b9ad │ │ -41f2e0: 0c0a |0010: move-result-object v10 │ │ -41f2e2: 6e10 ac01 0b00 |0011: invoke-virtual {v11}, Landroid/content/Intent;.getData:()Landroid/net/Uri; // method@01ac │ │ -41f2e8: 0c01 |0014: move-result-object v1 │ │ -41f2ea: 6e20 5701 1a00 |0015: invoke-virtual {v10, v1}, Landroid/content/ContentResolver;.getType:(Landroid/net/Uri;)Ljava/lang/String; // method@0157 │ │ -41f2f0: 0c0a |0018: move-result-object v10 │ │ -41f2f2: 1301 2f00 |0019: const/16 v1, #int 47 // #2f │ │ -41f2f6: 6e20 c45c 1a00 |001b: invoke-virtual {v10, v1}, Ljava/lang/String;.lastIndexOf:(I)I // method@5cc4 │ │ -41f2fc: 0a02 |001e: move-result v2 │ │ -41f2fe: 3d02 0c00 |001f: if-lez v2, 002b // +000c │ │ -41f302: 6e20 c45c 1a00 |0021: invoke-virtual {v10, v1}, Ljava/lang/String;.lastIndexOf:(I)I // method@5cc4 │ │ -41f308: 0a01 |0024: move-result v1 │ │ -41f30a: d801 0101 |0025: add-int/lit8 v1, v1, #int 1 // #01 │ │ -41f30e: 6e20 cc5c 1a00 |0027: invoke-virtual {v10, v1}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@5ccc │ │ -41f314: 0c0a |002a: move-result-object v10 │ │ -41f316: 2201 f10a |002b: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ -41f31a: 7010 ee5c 0100 |002d: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41f320: 6e10 ac01 0b00 |0030: invoke-virtual {v11}, Landroid/content/Intent;.getData:()Landroid/net/Uri; // method@01ac │ │ -41f326: 0c02 |0033: move-result-object v2 │ │ -41f328: 6e10 ad04 0200 |0034: invoke-virtual {v2}, Landroid/net/Uri;.toString:()Ljava/lang/String; // method@04ad │ │ -41f32e: 0c02 |0037: move-result-object v2 │ │ -41f330: 6e20 f95c 2100 |0038: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41f336: 6e20 f95c 0100 |003b: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41f33c: 6e20 f95c a100 |003e: invoke-virtual {v1, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41f342: 6e10 035d 0100 |0041: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41f348: 0c01 |0044: move-result-object v1 │ │ -41f34a: 5b81 6d5d |0045: iput-object v1, v8, Lorg/purple/smoke/Steam;.m_absoluteFileName:Ljava/lang/String; // field@5d6d │ │ -41f34e: 6e10 adb9 0800 |0047: invoke-virtual {v8}, Lorg/purple/smoke/Steam;.getContentResolver:()Landroid/content/ContentResolver; // method@b9ad │ │ -41f354: 0c02 |004a: move-result-object v2 │ │ -41f356: 6e10 ac01 0b00 |004b: invoke-virtual {v11}, Landroid/content/Intent;.getData:()Landroid/net/Uri; // method@01ac │ │ -41f35c: 0c03 |004e: move-result-object v3 │ │ -41f35e: 1204 |004f: const/4 v4, #int 0 // #0 │ │ -41f360: 1205 |0050: const/4 v5, #int 0 // #0 │ │ -41f362: 1206 |0051: const/4 v6, #int 0 // #0 │ │ -41f364: 1207 |0052: const/4 v7, #int 0 // #0 │ │ -41f366: 7406 5a01 0200 |0053: invoke-virtual/range {v2, v3, v4, v5, v6, v7}, Landroid/content/ContentResolver;.query:(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; // method@015a │ │ -41f36c: 0c09 |0056: move-result-object v9 │ │ -41f36e: 3809 3200 |0057: if-eqz v9, 0089 // +0032 │ │ -41f372: 7210 6402 0900 |0059: invoke-interface {v9}, Landroid/database/Cursor;.moveToFirst:()Z // method@0264 │ │ -41f378: 0a0b |005c: move-result v11 │ │ -41f37a: 380b 2c00 |005d: if-eqz v11, 0089 // +002c │ │ -41f37e: 1a0b b454 |005f: const-string v11, "_display_name" // string@54b4 │ │ -41f382: 7220 5802 b900 |0061: invoke-interface {v9, v11}, Landroid/database/Cursor;.getColumnIndex:(Ljava/lang/String;)I // method@0258 │ │ -41f388: 0a0b |0064: move-result v11 │ │ -41f38a: 7220 6002 b900 |0065: invoke-interface {v9, v11}, Landroid/database/Cursor;.getString:(I)Ljava/lang/String; // method@0260 │ │ -41f390: 0c0b |0068: move-result-object v11 │ │ -41f392: 6e10 c35c 0b00 |0069: invoke-virtual {v11}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ -41f398: 0a01 |006c: move-result v1 │ │ -41f39a: 3801 1700 |006d: if-eqz v1, 0084 // +0017 │ │ -41f39e: 548b 715d |006f: iget-object v11, v8, Lorg/purple/smoke/Steam;.m_displayFileName:Landroid/widget/TextView; // field@5d71 │ │ -41f3a2: 2201 f10a |0071: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ -41f3a6: 7010 ee5c 0100 |0073: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41f3ac: 6e20 f95c 0100 |0076: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41f3b2: 6e20 f95c a100 |0079: invoke-virtual {v1, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41f3b8: 6e10 035d 0100 |007c: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41f3be: 0c01 |007f: move-result-object v1 │ │ -41f3c0: 6e20 495b 1b00 |0080: invoke-virtual {v11, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41f3c6: 2806 |0083: goto 0089 // +0006 │ │ -41f3c8: 5481 715d |0084: iget-object v1, v8, Lorg/purple/smoke/Steam;.m_displayFileName:Landroid/widget/TextView; // field@5d71 │ │ -41f3cc: 6e20 495b b100 |0086: invoke-virtual {v1, v11}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41f3d2: 3809 2500 |0089: if-eqz v9, 00ae // +0025 │ │ -41f3d6: 7210 5602 0900 |008b: invoke-interface {v9}, Landroid/database/Cursor;.close:()V // method@0256 │ │ -41f3dc: 2820 |008e: goto 00ae // +0020 │ │ -41f3de: 0d0a |008f: move-exception v10 │ │ -41f3e0: 2818 |0090: goto 00a8 // +0018 │ │ -41f3e2: 548b 715d |0091: iget-object v11, v8, Lorg/purple/smoke/Steam;.m_displayFileName:Landroid/widget/TextView; // field@5d71 │ │ -41f3e6: 2201 f10a |0093: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ -41f3ea: 7010 ee5c 0100 |0095: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41f3f0: 6e20 f95c 0100 |0098: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41f3f6: 6e20 f95c a100 |009b: invoke-virtual {v1, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41f3fc: 6e10 035d 0100 |009e: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41f402: 0c0a |00a1: move-result-object v10 │ │ -41f404: 6e20 495b ab00 |00a2: invoke-virtual {v11, v10}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41f40a: 3809 0900 |00a5: if-eqz v9, 00ae // +0009 │ │ -41f40e: 28e4 |00a7: goto 008b // -001c │ │ -41f410: 3809 0500 |00a8: if-eqz v9, 00ad // +0005 │ │ -41f414: 7210 5602 0900 |00aa: invoke-interface {v9}, Landroid/database/Cursor;.close:()V // method@0256 │ │ -41f41a: 270a |00ad: throw v10 │ │ -41f41c: 0e00 |00ae: return-void │ │ +41f2ac: |[41f2ac] org.purple.smoke.Steam.onActivityResult:(IILandroid/content/Intent;)V │ │ +41f2bc: 1a00 9104 |0000: const-string v0, "." // string@0491 │ │ +41f2c0: 6f40 ec3c 98ba |0002: invoke-super {v8, v9, v10, v11}, Landroid/support/v7/app/AppCompatActivity;.onActivityResult:(IILandroid/content/Intent;)V // method@3cec │ │ +41f2c6: 380b a900 |0005: if-eqz v11, 00ae // +00a9 │ │ +41f2ca: 3909 a700 |0007: if-nez v9, 00ae // +00a7 │ │ +41f2ce: 12f9 |0009: const/4 v9, #int -1 // #ff │ │ +41f2d0: 339a a400 |000a: if-ne v10, v9, 00ae // +00a4 │ │ +41f2d4: 1209 |000c: const/4 v9, #int 0 // #0 │ │ +41f2d6: 6e10 adb9 0800 |000d: invoke-virtual {v8}, Lorg/purple/smoke/Steam;.getContentResolver:()Landroid/content/ContentResolver; // method@b9ad │ │ +41f2dc: 0c0a |0010: move-result-object v10 │ │ +41f2de: 6e10 ac01 0b00 |0011: invoke-virtual {v11}, Landroid/content/Intent;.getData:()Landroid/net/Uri; // method@01ac │ │ +41f2e4: 0c01 |0014: move-result-object v1 │ │ +41f2e6: 6e20 5701 1a00 |0015: invoke-virtual {v10, v1}, Landroid/content/ContentResolver;.getType:(Landroid/net/Uri;)Ljava/lang/String; // method@0157 │ │ +41f2ec: 0c0a |0018: move-result-object v10 │ │ +41f2ee: 1301 2f00 |0019: const/16 v1, #int 47 // #2f │ │ +41f2f2: 6e20 c45c 1a00 |001b: invoke-virtual {v10, v1}, Ljava/lang/String;.lastIndexOf:(I)I // method@5cc4 │ │ +41f2f8: 0a02 |001e: move-result v2 │ │ +41f2fa: 3d02 0c00 |001f: if-lez v2, 002b // +000c │ │ +41f2fe: 6e20 c45c 1a00 |0021: invoke-virtual {v10, v1}, Ljava/lang/String;.lastIndexOf:(I)I // method@5cc4 │ │ +41f304: 0a01 |0024: move-result v1 │ │ +41f306: d801 0101 |0025: add-int/lit8 v1, v1, #int 1 // #01 │ │ +41f30a: 6e20 cc5c 1a00 |0027: invoke-virtual {v10, v1}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@5ccc │ │ +41f310: 0c0a |002a: move-result-object v10 │ │ +41f312: 2201 f10a |002b: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ +41f316: 7010 ee5c 0100 |002d: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41f31c: 6e10 ac01 0b00 |0030: invoke-virtual {v11}, Landroid/content/Intent;.getData:()Landroid/net/Uri; // method@01ac │ │ +41f322: 0c02 |0033: move-result-object v2 │ │ +41f324: 6e10 ad04 0200 |0034: invoke-virtual {v2}, Landroid/net/Uri;.toString:()Ljava/lang/String; // method@04ad │ │ +41f32a: 0c02 |0037: move-result-object v2 │ │ +41f32c: 6e20 f95c 2100 |0038: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41f332: 6e20 f95c 0100 |003b: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41f338: 6e20 f95c a100 |003e: invoke-virtual {v1, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41f33e: 6e10 035d 0100 |0041: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41f344: 0c01 |0044: move-result-object v1 │ │ +41f346: 5b81 6d5d |0045: iput-object v1, v8, Lorg/purple/smoke/Steam;.m_absoluteFileName:Ljava/lang/String; // field@5d6d │ │ +41f34a: 6e10 adb9 0800 |0047: invoke-virtual {v8}, Lorg/purple/smoke/Steam;.getContentResolver:()Landroid/content/ContentResolver; // method@b9ad │ │ +41f350: 0c02 |004a: move-result-object v2 │ │ +41f352: 6e10 ac01 0b00 |004b: invoke-virtual {v11}, Landroid/content/Intent;.getData:()Landroid/net/Uri; // method@01ac │ │ +41f358: 0c03 |004e: move-result-object v3 │ │ +41f35a: 1204 |004f: const/4 v4, #int 0 // #0 │ │ +41f35c: 1205 |0050: const/4 v5, #int 0 // #0 │ │ +41f35e: 1206 |0051: const/4 v6, #int 0 // #0 │ │ +41f360: 1207 |0052: const/4 v7, #int 0 // #0 │ │ +41f362: 7406 5a01 0200 |0053: invoke-virtual/range {v2, v3, v4, v5, v6, v7}, Landroid/content/ContentResolver;.query:(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; // method@015a │ │ +41f368: 0c09 |0056: move-result-object v9 │ │ +41f36a: 3809 3200 |0057: if-eqz v9, 0089 // +0032 │ │ +41f36e: 7210 6402 0900 |0059: invoke-interface {v9}, Landroid/database/Cursor;.moveToFirst:()Z // method@0264 │ │ +41f374: 0a0b |005c: move-result v11 │ │ +41f376: 380b 2c00 |005d: if-eqz v11, 0089 // +002c │ │ +41f37a: 1a0b b454 |005f: const-string v11, "_display_name" // string@54b4 │ │ +41f37e: 7220 5802 b900 |0061: invoke-interface {v9, v11}, Landroid/database/Cursor;.getColumnIndex:(Ljava/lang/String;)I // method@0258 │ │ +41f384: 0a0b |0064: move-result v11 │ │ +41f386: 7220 6002 b900 |0065: invoke-interface {v9, v11}, Landroid/database/Cursor;.getString:(I)Ljava/lang/String; // method@0260 │ │ +41f38c: 0c0b |0068: move-result-object v11 │ │ +41f38e: 6e10 c35c 0b00 |0069: invoke-virtual {v11}, Ljava/lang/String;.isEmpty:()Z // method@5cc3 │ │ +41f394: 0a01 |006c: move-result v1 │ │ +41f396: 3801 1700 |006d: if-eqz v1, 0084 // +0017 │ │ +41f39a: 548b 715d |006f: iget-object v11, v8, Lorg/purple/smoke/Steam;.m_displayFileName:Landroid/widget/TextView; // field@5d71 │ │ +41f39e: 2201 f10a |0071: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ +41f3a2: 7010 ee5c 0100 |0073: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41f3a8: 6e20 f95c 0100 |0076: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41f3ae: 6e20 f95c a100 |0079: invoke-virtual {v1, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41f3b4: 6e10 035d 0100 |007c: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41f3ba: 0c01 |007f: move-result-object v1 │ │ +41f3bc: 6e20 495b 1b00 |0080: invoke-virtual {v11, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41f3c2: 2806 |0083: goto 0089 // +0006 │ │ +41f3c4: 5481 715d |0084: iget-object v1, v8, Lorg/purple/smoke/Steam;.m_displayFileName:Landroid/widget/TextView; // field@5d71 │ │ +41f3c8: 6e20 495b b100 |0086: invoke-virtual {v1, v11}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41f3ce: 3809 2500 |0089: if-eqz v9, 00ae // +0025 │ │ +41f3d2: 7210 5602 0900 |008b: invoke-interface {v9}, Landroid/database/Cursor;.close:()V // method@0256 │ │ +41f3d8: 2820 |008e: goto 00ae // +0020 │ │ +41f3da: 0d0a |008f: move-exception v10 │ │ +41f3dc: 2818 |0090: goto 00a8 // +0018 │ │ +41f3de: 548b 715d |0091: iget-object v11, v8, Lorg/purple/smoke/Steam;.m_displayFileName:Landroid/widget/TextView; // field@5d71 │ │ +41f3e2: 2201 f10a |0093: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ +41f3e6: 7010 ee5c 0100 |0095: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41f3ec: 6e20 f95c 0100 |0098: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41f3f2: 6e20 f95c a100 |009b: invoke-virtual {v1, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41f3f8: 6e10 035d 0100 |009e: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41f3fe: 0c0a |00a1: move-result-object v10 │ │ +41f400: 6e20 495b ab00 |00a2: invoke-virtual {v11, v10}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41f406: 3809 0900 |00a5: if-eqz v9, 00ae // +0009 │ │ +41f40a: 28e4 |00a7: goto 008b // -001c │ │ +41f40c: 3809 0500 |00a8: if-eqz v9, 00ad // +0005 │ │ +41f410: 7210 5602 0900 |00aa: invoke-interface {v9}, Landroid/database/Cursor;.close:()V // method@0256 │ │ +41f416: 270a |00ad: throw v10 │ │ +41f418: 0e00 |00ae: return-void │ │ catches : 5 │ │ 0x000d - 0x0047 │ │ Ljava/lang/Exception; -> 0x00ae │ │ 0x0047 - 0x0089 │ │ Ljava/lang/Exception; -> 0x0091 │ │ -> 0x008f │ │ 0x008b - 0x008e │ │ @@ -1545964,24 +1545963,24 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 20 16-bit code units │ │ -41f458: |[41f458] org.purple.smoke.Steam.onBackPressed:()V │ │ -41f468: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ -41f46c: 7010 9d01 0000 |0002: invoke-direct {v0}, Landroid/content/Intent;.:()V // method@019d │ │ -41f472: 1a01 fd45 |0005: const-string v1, "Result" // string@45fd │ │ -41f476: 1a02 6b17 |0007: const-string v2, "Done" // string@176b │ │ -41f47a: 6e30 c201 1002 |0009: invoke-virtual {v0, v1, v2}, Landroid/content/Intent;.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; // method@01c2 │ │ -41f480: 12f1 |000c: const/4 v1, #int -1 // #ff │ │ -41f482: 6e30 c7b9 1300 |000d: invoke-virtual {v3, v1, v0}, Lorg/purple/smoke/Steam;.setResult:(ILandroid/content/Intent;)V // method@b9c7 │ │ -41f488: 6f10 ee3c 0300 |0010: invoke-super {v3}, Landroid/support/v7/app/AppCompatActivity;.onBackPressed:()V // method@3cee │ │ -41f48e: 0e00 |0013: return-void │ │ +41f454: |[41f454] org.purple.smoke.Steam.onBackPressed:()V │ │ +41f464: 2200 4900 |0000: new-instance v0, Landroid/content/Intent; // type@0049 │ │ +41f468: 7010 9d01 0000 |0002: invoke-direct {v0}, Landroid/content/Intent;.:()V // method@019d │ │ +41f46e: 1a01 fd45 |0005: const-string v1, "Result" // string@45fd │ │ +41f472: 1a02 6b17 |0007: const-string v2, "Done" // string@176b │ │ +41f476: 6e30 c201 1002 |0009: invoke-virtual {v0, v1, v2}, Landroid/content/Intent;.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; // method@01c2 │ │ +41f47c: 12f1 |000c: const/4 v1, #int -1 // #ff │ │ +41f47e: 6e30 c7b9 1300 |000d: invoke-virtual {v3, v1, v0}, Lorg/purple/smoke/Steam;.setResult:(ILandroid/content/Intent;)V // method@b9c7 │ │ +41f484: 6f10 ee3c 0300 |0010: invoke-super {v3}, Landroid/support/v7/app/AppCompatActivity;.onBackPressed:()V // method@3cee │ │ +41f48a: 0e00 |0013: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=812 │ │ 0x0009 line=814 │ │ 0x000d line=815 │ │ 0x0010 line=816 │ │ locals : │ │ @@ -1545992,86 +1545991,86 @@ │ │ type : '(Landroid/view/MenuItem;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 11 │ │ ins : 2 │ │ outs : 7 │ │ insns size : 162 16-bit code units │ │ -41ee10: |[41ee10] org.purple.smoke.Steam.onContextItemSelected:(Landroid/view/MenuItem;)Z │ │ -41ee20: 390a 0400 |0000: if-nez v10, 0004 // +0004 │ │ -41ee24: 120a |0002: const/4 v10, #int 0 // #0 │ │ -41ee26: 0f0a |0003: return v10 │ │ -41ee28: 7210 6a55 0a00 |0004: invoke-interface {v10}, Landroid/view/MenuItem;.getGroupId:()I // method@556a │ │ -41ee2e: 0a00 |0007: move-result v0 │ │ -41ee30: 7210 6c55 0a00 |0008: invoke-interface {v10}, Landroid/view/MenuItem;.getItemId:()I // method@556c │ │ -41ee36: 0a05 |000b: move-result v5 │ │ -41ee38: 220a 8e1a |000c: new-instance v10, Lorg/purple/smoke/Steam$6; // type@1a8e │ │ -41ee3c: 7040 94b9 9a50 |000e: invoke-direct {v10, v9, v0, v5}, Lorg/purple/smoke/Steam$6;.:(Lorg/purple/smoke/Steam;II)V // method@b994 │ │ -41ee42: 1218 |0011: const/4 v8, #int 1 // #1 │ │ -41ee44: 2b00 7c00 0000 |0012: packed-switch v0, 0000008e // +0000007c │ │ -41ee4a: 2900 7800 |0015: goto/16 008d // +0078 │ │ -41ee4e: 5490 705d |0017: iget-object v0, v9, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ -41ee52: 6201 7c5d |0019: sget-object v1, Lorg/purple/smoke/Steam;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d7c │ │ -41ee56: 12f2 |001b: const/4 v2, #int -1 // #ff │ │ -41ee58: b185 |001c: sub-int/2addr v5, v8 │ │ -41ee5a: 6e40 13b6 1052 |001d: invoke-virtual {v0, v1, v2, v5}, Lorg/purple/smoke/Database;.readSteam:(Lorg/purple/smoke/Cryptography;II)Lorg/purple/smoke/SteamElement; // method@b613 │ │ -41ee60: 0c00 |0020: move-result-object v0 │ │ -41ee62: 3800 0900 |0021: if-eqz v0, 002a // +0009 │ │ -41ee66: 5400 a85d |0023: iget-object v0, v0, Lorg/purple/smoke/SteamElement;.m_destination:Ljava/lang/String; // field@5da8 │ │ -41ee6a: 7110 f2b7 0000 |0025: invoke-static {v0}, Lorg/purple/smoke/Miscellaneous;.sipHashIdFromDestination:(Ljava/lang/String;)Ljava/lang/String; // method@b7f2 │ │ -41ee70: 0c00 |0028: move-result-object v0 │ │ -41ee72: 2803 |0029: goto 002c // +0003 │ │ -41ee74: 1a00 0000 |002a: const-string v0, "" // string@0000 │ │ -41ee78: 7100 66b9 0000 |002c: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -41ee7e: 0c01 |002f: move-result-object v1 │ │ -41ee80: 6e20 6fb9 0100 |0030: invoke-virtual {v1, v0}, Lorg/purple/smoke/State;.participantsNames:(Ljava/lang/String;)Ljava/util/ArrayList; // method@b96f │ │ -41ee86: 0c00 |0033: move-result-object v0 │ │ -41ee88: 1a01 dd43 |0034: const-string v1, "Please select the desired destination participant(s)." // string@43dd │ │ -41ee8c: 1a02 5d4b |0036: const-string v2, "Steamroll Participant Selection" // string@4b5d │ │ -41ee90: 7152 efb7 901a |0038: invoke-static {v0, v9, v10, v1, v2}, Lorg/purple/smoke/Miscellaneous;.showSwitchDialog:(Ljava/util/ArrayList;Landroid/content/Context;Landroid/content/DialogInterface$OnCancelListener;Ljava/lang/String;Ljava/lang/String;)V // method@b7ef │ │ -41ee96: 7100 66b9 0000 |003b: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -41ee9c: 0c0a |003e: move-result-object v10 │ │ -41ee9e: 6e10 5eb9 0a00 |003f: invoke-virtual {v10}, Lorg/purple/smoke/State;.clearSelectedSwitches:()V // method@b95e │ │ -41eea4: 284b |0042: goto 008d // +004b │ │ -41eea6: 5491 705d |0043: iget-object v1, v9, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ -41eeaa: 6202 7c5d |0045: sget-object v2, Lorg/purple/smoke/Steam;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d7c │ │ -41eeae: 1606 0000 |0047: const-wide/16 v6, #int 0 // #0 │ │ -41eeb2: 1a03 0496 |0049: const-string v3, "rewind" // string@9604 │ │ -41eeb6: 1a04 c404 |004b: const-string v4, "0.00 B / s" // string@04c4 │ │ -41eeba: 7407 39b6 0100 |004d: invoke-virtual/range {v1, v2, v3, v4, v5, v6, v7}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ -41eec0: 549a 6e5d |0050: iget-object v10, v9, Lorg/purple/smoke/Steam;.m_adapter:Landroid/support/v7/widget/RecyclerView$Adapter; // field@5d6e │ │ -41eec4: 6e10 364c 0a00 |0052: invoke-virtual {v10}, Landroid/support/v7/widget/RecyclerView$Adapter;.notifyDataSetChanged:()V // method@4c36 │ │ -41eeca: 2838 |0055: goto 008d // +0038 │ │ -41eecc: 549a 705d |0056: iget-object v10, v9, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ -41eed0: 6e10 19b6 0a00 |0058: invoke-virtual {v10}, Lorg/purple/smoke/Database;.rewindAndResumeAllSteams:()V // method@b619 │ │ -41eed6: 549a 6e5d |005b: iget-object v10, v9, Lorg/purple/smoke/Steam;.m_adapter:Landroid/support/v7/widget/RecyclerView$Adapter; // field@5d6e │ │ -41eeda: 6e10 364c 0a00 |005d: invoke-virtual {v10}, Landroid/support/v7/widget/RecyclerView$Adapter;.notifyDataSetChanged:()V // method@4c36 │ │ -41eee0: 282d |0060: goto 008d // +002d │ │ -41eee2: 549a 705d |0061: iget-object v10, v9, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ -41eee6: 6e10 18b6 0a00 |0063: invoke-virtual {v10}, Lorg/purple/smoke/Database;.rewindAllSteams:()V // method@b618 │ │ -41eeec: 549a 6e5d |0066: iget-object v10, v9, Lorg/purple/smoke/Steam;.m_adapter:Landroid/support/v7/widget/RecyclerView$Adapter; // field@5d6e │ │ -41eef0: 6e10 364c 0a00 |0068: invoke-virtual {v10}, Landroid/support/v7/widget/RecyclerView$Adapter;.notifyDataSetChanged:()V // method@4c36 │ │ -41eef6: 2822 |006b: goto 008d // +0022 │ │ -41eef8: 549a 705d |006c: iget-object v10, v9, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ -41eefc: 6e10 17b6 0a00 |006e: invoke-virtual {v10}, Lorg/purple/smoke/Database;.resumeAllSteams:()V // method@b617 │ │ -41ef02: 549a 6e5d |0071: iget-object v10, v9, Lorg/purple/smoke/Steam;.m_adapter:Landroid/support/v7/widget/RecyclerView$Adapter; // field@5d6e │ │ -41ef06: 6e10 364c 0a00 |0073: invoke-virtual {v10}, Landroid/support/v7/widget/RecyclerView$Adapter;.notifyDataSetChanged:()V // method@4c36 │ │ -41ef0c: 2817 |0076: goto 008d // +0017 │ │ -41ef0e: 549a 705d |0077: iget-object v10, v9, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ -41ef12: 6e10 feb5 0a00 |0079: invoke-virtual {v10}, Lorg/purple/smoke/Database;.pauseAllSteams:()V // method@b5fe │ │ -41ef18: 549a 6e5d |007c: iget-object v10, v9, Lorg/purple/smoke/Steam;.m_adapter:Landroid/support/v7/widget/RecyclerView$Adapter; // field@5d6e │ │ -41ef1c: 6e10 364c 0a00 |007e: invoke-virtual {v10}, Landroid/support/v7/widget/RecyclerView$Adapter;.notifyDataSetChanged:()V // method@4c36 │ │ -41ef22: 280c |0081: goto 008d // +000c │ │ -41ef24: 1a00 670e |0082: const-string v0, "Are you sure that you wish to delete the selected Steam?" // string@0e67 │ │ -41ef28: 7130 eeb7 a900 |0084: invoke-static {v9, v10, v0}, Lorg/purple/smoke/Miscellaneous;.showPromptDialog:(Landroid/content/Context;Landroid/content/DialogInterface$OnCancelListener;Ljava/lang/String;)V // method@b7ee │ │ -41ef2e: 2806 |0087: goto 008d // +0006 │ │ -41ef30: 1a00 600e |0088: const-string v0, "Are you sure that you wish to delete all of the Steams?" // string@0e60 │ │ -41ef34: 7130 eeb7 a900 |008a: invoke-static {v9, v10, v0}, Lorg/purple/smoke/Miscellaneous;.showPromptDialog:(Landroid/content/Context;Landroid/content/DialogInterface$OnCancelListener;Ljava/lang/String;)V // method@b7ee │ │ -41ef3a: 0f08 |008d: return v8 │ │ -41ef3c: 0001 0800 0000 0000 7600 0000 7000 ... |008e: packed-switch-data (20 units) │ │ +41ee0c: |[41ee0c] org.purple.smoke.Steam.onContextItemSelected:(Landroid/view/MenuItem;)Z │ │ +41ee1c: 390a 0400 |0000: if-nez v10, 0004 // +0004 │ │ +41ee20: 120a |0002: const/4 v10, #int 0 // #0 │ │ +41ee22: 0f0a |0003: return v10 │ │ +41ee24: 7210 6a55 0a00 |0004: invoke-interface {v10}, Landroid/view/MenuItem;.getGroupId:()I // method@556a │ │ +41ee2a: 0a00 |0007: move-result v0 │ │ +41ee2c: 7210 6c55 0a00 |0008: invoke-interface {v10}, Landroid/view/MenuItem;.getItemId:()I // method@556c │ │ +41ee32: 0a05 |000b: move-result v5 │ │ +41ee34: 220a 8e1a |000c: new-instance v10, Lorg/purple/smoke/Steam$6; // type@1a8e │ │ +41ee38: 7040 94b9 9a50 |000e: invoke-direct {v10, v9, v0, v5}, Lorg/purple/smoke/Steam$6;.:(Lorg/purple/smoke/Steam;II)V // method@b994 │ │ +41ee3e: 1218 |0011: const/4 v8, #int 1 // #1 │ │ +41ee40: 2b00 7c00 0000 |0012: packed-switch v0, 0000008e // +0000007c │ │ +41ee46: 2900 7800 |0015: goto/16 008d // +0078 │ │ +41ee4a: 5490 705d |0017: iget-object v0, v9, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ +41ee4e: 6201 7c5d |0019: sget-object v1, Lorg/purple/smoke/Steam;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d7c │ │ +41ee52: 12f2 |001b: const/4 v2, #int -1 // #ff │ │ +41ee54: b185 |001c: sub-int/2addr v5, v8 │ │ +41ee56: 6e40 13b6 1052 |001d: invoke-virtual {v0, v1, v2, v5}, Lorg/purple/smoke/Database;.readSteam:(Lorg/purple/smoke/Cryptography;II)Lorg/purple/smoke/SteamElement; // method@b613 │ │ +41ee5c: 0c00 |0020: move-result-object v0 │ │ +41ee5e: 3800 0900 |0021: if-eqz v0, 002a // +0009 │ │ +41ee62: 5400 a85d |0023: iget-object v0, v0, Lorg/purple/smoke/SteamElement;.m_destination:Ljava/lang/String; // field@5da8 │ │ +41ee66: 7110 f2b7 0000 |0025: invoke-static {v0}, Lorg/purple/smoke/Miscellaneous;.sipHashIdFromDestination:(Ljava/lang/String;)Ljava/lang/String; // method@b7f2 │ │ +41ee6c: 0c00 |0028: move-result-object v0 │ │ +41ee6e: 2803 |0029: goto 002c // +0003 │ │ +41ee70: 1a00 0000 |002a: const-string v0, "" // string@0000 │ │ +41ee74: 7100 66b9 0000 |002c: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +41ee7a: 0c01 |002f: move-result-object v1 │ │ +41ee7c: 6e20 6fb9 0100 |0030: invoke-virtual {v1, v0}, Lorg/purple/smoke/State;.participantsNames:(Ljava/lang/String;)Ljava/util/ArrayList; // method@b96f │ │ +41ee82: 0c00 |0033: move-result-object v0 │ │ +41ee84: 1a01 dd43 |0034: const-string v1, "Please select the desired destination participant(s)." // string@43dd │ │ +41ee88: 1a02 5d4b |0036: const-string v2, "Steamroll Participant Selection" // string@4b5d │ │ +41ee8c: 7152 efb7 901a |0038: invoke-static {v0, v9, v10, v1, v2}, Lorg/purple/smoke/Miscellaneous;.showSwitchDialog:(Ljava/util/ArrayList;Landroid/content/Context;Landroid/content/DialogInterface$OnCancelListener;Ljava/lang/String;Ljava/lang/String;)V // method@b7ef │ │ +41ee92: 7100 66b9 0000 |003b: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +41ee98: 0c0a |003e: move-result-object v10 │ │ +41ee9a: 6e10 5eb9 0a00 |003f: invoke-virtual {v10}, Lorg/purple/smoke/State;.clearSelectedSwitches:()V // method@b95e │ │ +41eea0: 284b |0042: goto 008d // +004b │ │ +41eea2: 5491 705d |0043: iget-object v1, v9, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ +41eea6: 6202 7c5d |0045: sget-object v2, Lorg/purple/smoke/Steam;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d7c │ │ +41eeaa: 1606 0000 |0047: const-wide/16 v6, #int 0 // #0 │ │ +41eeae: 1a03 0496 |0049: const-string v3, "rewind" // string@9604 │ │ +41eeb2: 1a04 c404 |004b: const-string v4, "0.00 B / s" // string@04c4 │ │ +41eeb6: 7407 39b6 0100 |004d: invoke-virtual/range {v1, v2, v3, v4, v5, v6, v7}, Lorg/purple/smoke/Database;.writeSteamStatus:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;IJ)V // method@b639 │ │ +41eebc: 549a 6e5d |0050: iget-object v10, v9, Lorg/purple/smoke/Steam;.m_adapter:Landroid/support/v7/widget/RecyclerView$Adapter; // field@5d6e │ │ +41eec0: 6e10 364c 0a00 |0052: invoke-virtual {v10}, Landroid/support/v7/widget/RecyclerView$Adapter;.notifyDataSetChanged:()V // method@4c36 │ │ +41eec6: 2838 |0055: goto 008d // +0038 │ │ +41eec8: 549a 705d |0056: iget-object v10, v9, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ +41eecc: 6e10 19b6 0a00 |0058: invoke-virtual {v10}, Lorg/purple/smoke/Database;.rewindAndResumeAllSteams:()V // method@b619 │ │ +41eed2: 549a 6e5d |005b: iget-object v10, v9, Lorg/purple/smoke/Steam;.m_adapter:Landroid/support/v7/widget/RecyclerView$Adapter; // field@5d6e │ │ +41eed6: 6e10 364c 0a00 |005d: invoke-virtual {v10}, Landroid/support/v7/widget/RecyclerView$Adapter;.notifyDataSetChanged:()V // method@4c36 │ │ +41eedc: 282d |0060: goto 008d // +002d │ │ +41eede: 549a 705d |0061: iget-object v10, v9, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ +41eee2: 6e10 18b6 0a00 |0063: invoke-virtual {v10}, Lorg/purple/smoke/Database;.rewindAllSteams:()V // method@b618 │ │ +41eee8: 549a 6e5d |0066: iget-object v10, v9, Lorg/purple/smoke/Steam;.m_adapter:Landroid/support/v7/widget/RecyclerView$Adapter; // field@5d6e │ │ +41eeec: 6e10 364c 0a00 |0068: invoke-virtual {v10}, Landroid/support/v7/widget/RecyclerView$Adapter;.notifyDataSetChanged:()V // method@4c36 │ │ +41eef2: 2822 |006b: goto 008d // +0022 │ │ +41eef4: 549a 705d |006c: iget-object v10, v9, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ +41eef8: 6e10 17b6 0a00 |006e: invoke-virtual {v10}, Lorg/purple/smoke/Database;.resumeAllSteams:()V // method@b617 │ │ +41eefe: 549a 6e5d |0071: iget-object v10, v9, Lorg/purple/smoke/Steam;.m_adapter:Landroid/support/v7/widget/RecyclerView$Adapter; // field@5d6e │ │ +41ef02: 6e10 364c 0a00 |0073: invoke-virtual {v10}, Landroid/support/v7/widget/RecyclerView$Adapter;.notifyDataSetChanged:()V // method@4c36 │ │ +41ef08: 2817 |0076: goto 008d // +0017 │ │ +41ef0a: 549a 705d |0077: iget-object v10, v9, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ +41ef0e: 6e10 feb5 0a00 |0079: invoke-virtual {v10}, Lorg/purple/smoke/Database;.pauseAllSteams:()V // method@b5fe │ │ +41ef14: 549a 6e5d |007c: iget-object v10, v9, Lorg/purple/smoke/Steam;.m_adapter:Landroid/support/v7/widget/RecyclerView$Adapter; // field@5d6e │ │ +41ef18: 6e10 364c 0a00 |007e: invoke-virtual {v10}, Landroid/support/v7/widget/RecyclerView$Adapter;.notifyDataSetChanged:()V // method@4c36 │ │ +41ef1e: 280c |0081: goto 008d // +000c │ │ +41ef20: 1a00 670e |0082: const-string v0, "Are you sure that you wish to delete the selected Steam?" // string@0e67 │ │ +41ef24: 7130 eeb7 a900 |0084: invoke-static {v9, v10, v0}, Lorg/purple/smoke/Miscellaneous;.showPromptDialog:(Landroid/content/Context;Landroid/content/DialogInterface$OnCancelListener;Ljava/lang/String;)V // method@b7ee │ │ +41ef2a: 2806 |0087: goto 008d // +0006 │ │ +41ef2c: 1a00 600e |0088: const-string v0, "Are you sure that you wish to delete all of the Steams?" // string@0e60 │ │ +41ef30: 7130 eeb7 a900 |008a: invoke-static {v9, v10, v0}, Lorg/purple/smoke/Miscellaneous;.showPromptDialog:(Landroid/content/Context;Landroid/content/DialogInterface$OnCancelListener;Ljava/lang/String;)V // method@b7ee │ │ +41ef36: 0f08 |008d: return v8 │ │ +41ef38: 0001 0800 0000 0000 7600 0000 7000 ... |008e: packed-switch-data (20 units) │ │ catches : (none) │ │ positions : │ │ 0x0004 line=600 │ │ 0x0008 line=601 │ │ 0x000c line=607 │ │ 0x0017 line=699 │ │ 0x001d line=700 │ │ @@ -1546100,117 +1546099,117 @@ │ │ type : '(Landroid/os/Bundle;)V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 231 16-bit code units │ │ -41f490: |[41f490] org.purple.smoke.Steam.onCreate:(Landroid/os/Bundle;)V │ │ -41f4a0: 6f20 f23c 6500 |0000: invoke-super {v5, v6}, Landroid/support/v7/app/AppCompatActivity;.onCreate:(Landroid/os/Bundle;)V // method@3cf2 │ │ -41f4a6: 6e10 acb9 0500 |0003: invoke-virtual {v5}, Lorg/purple/smoke/Steam;.getApplicationContext:()Landroid/content/Context; // method@b9ac │ │ -41f4ac: 0c06 |0006: move-result-object v6 │ │ -41f4ae: 7110 e9b5 0600 |0007: invoke-static {v6}, Lorg/purple/smoke/Database;.getInstance:(Landroid/content/Context;)Lorg/purple/smoke/Database; // method@b5e9 │ │ -41f4b4: 0c06 |000a: move-result-object v6 │ │ -41f4b6: 5b56 705d |000b: iput-object v6, v5, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ -41f4ba: 6200 7c5d |000d: sget-object v0, Lorg/purple/smoke/Steam;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d7c │ │ -41f4be: 6e20 d9b5 0600 |000f: invoke-virtual {v6, v0}, Lorg/purple/smoke/Database;.clearSteamRates:(Lorg/purple/smoke/Cryptography;)V // method@b5d9 │ │ -41f4c4: 2206 901a |0012: new-instance v6, Lorg/purple/smoke/Steam$SteamBroadcastReceiver; // type@1a90 │ │ -41f4c8: 7020 97b9 5600 |0014: invoke-direct {v6, v5}, Lorg/purple/smoke/Steam$SteamBroadcastReceiver;.:(Lorg/purple/smoke/Steam;)V // method@b997 │ │ -41f4ce: 5b56 775d |0017: iput-object v6, v5, Lorg/purple/smoke/Steam;.m_receiver:Lorg/purple/smoke/Steam$SteamBroadcastReceiver; // field@5d77 │ │ -41f4d2: 1406 2100 0a7f |0019: const v6, #float 1.83434e+38 // #7f0a0021 │ │ -41f4d8: 6e20 c6b9 6500 |001c: invoke-virtual {v5, v6}, Lorg/purple/smoke/Steam;.setContentView:(I)V // method@b9c6 │ │ -41f4de: 2206 911a |001f: new-instance v6, Lorg/purple/smoke/Steam$SteamLinearLayoutManager; // type@1a91 │ │ -41f4e2: 7020 99b9 5600 |0021: invoke-direct {v6, v5}, Lorg/purple/smoke/Steam$SteamLinearLayoutManager;.:(Landroid/content/Context;)V // method@b999 │ │ -41f4e8: 5b56 755d |0024: iput-object v6, v5, Lorg/purple/smoke/Steam;.m_layoutManager:Lorg/purple/smoke/Steam$SteamLinearLayoutManager; // field@5d75 │ │ -41f4ec: 1210 |0026: const/4 v0, #int 1 // #1 │ │ -41f4ee: 6e20 9bb9 0600 |0027: invoke-virtual {v6, v0}, Lorg/purple/smoke/Steam$SteamLinearLayoutManager;.setOrientation:(I)V // method@b99b │ │ -41f4f4: 6e10 afb9 0500 |002a: invoke-virtual {v5}, Lorg/purple/smoke/Steam;.getSupportActionBar:()Landroid/support/v7/app/ActionBar; // method@b9af │ │ -41f4fa: 0c06 |002d: move-result-object v6 │ │ -41f4fc: 7100 20b9 0000 |002e: invoke-static {}, Lorg/purple/smoke/Smoke;.networkStatusString:()Ljava/lang/String; // method@b920 │ │ -41f502: 0c01 |0031: move-result-object v1 │ │ -41f504: 6e20 0a3c 1600 |0032: invoke-virtual {v6, v1}, Landroid/support/v7/app/ActionBar;.setSubtitle:(Ljava/lang/CharSequence;)V // method@3c0a │ │ -41f50a: 6e10 afb9 0500 |0035: invoke-virtual {v5}, Lorg/purple/smoke/Steam;.getSupportActionBar:()Landroid/support/v7/app/ActionBar; // method@b9af │ │ -41f510: 0c06 |0038: move-result-object v6 │ │ -41f512: 1a01 084b |0039: const-string v1, "Smoke | Steam" // string@4b08 │ │ -41f516: 6e20 0c3c 1600 |003b: invoke-virtual {v6, v1}, Landroid/support/v7/app/ActionBar;.setTitle:(Ljava/lang/CharSequence;)V // method@3c0c │ │ -41f51c: 1406 2700 087f |003e: const v6, #float 1.80776e+38 // #7f080027 │ │ -41f522: 6e20 aab9 6500 |0041: invoke-virtual {v5, v6}, Lorg/purple/smoke/Steam;.findViewById:(I)Landroid/view/View; // method@b9aa │ │ -41f528: 0c06 |0044: move-result-object v6 │ │ -41f52a: 1f06 5e0a |0045: check-cast v6, Landroid/widget/Button; // type@0a5e │ │ -41f52e: 5b56 6f5d |0047: iput-object v6, v5, Lorg/purple/smoke/Steam;.m_attachmentButton:Landroid/widget/Button; // field@5d6f │ │ -41f532: 1406 6b00 087f |0049: const v6, #float 1.80777e+38 // #7f08006b │ │ -41f538: 6e20 aab9 6500 |004c: invoke-virtual {v5, v6}, Lorg/purple/smoke/Steam;.findViewById:(I)Landroid/view/View; // method@b9aa │ │ -41f53e: 0c06 |004f: move-result-object v6 │ │ -41f540: 1f06 970a |0050: check-cast v6, Landroid/widget/TextView; // type@0a97 │ │ -41f544: 5b56 715d |0052: iput-object v6, v5, Lorg/purple/smoke/Steam;.m_displayFileName:Landroid/widget/TextView; // field@5d71 │ │ -41f548: 1406 5b00 087f |0054: const v6, #float 1.80777e+38 // #7f08005b │ │ -41f54e: 6e20 aab9 6500 |0057: invoke-virtual {v5, v6}, Lorg/purple/smoke/Steam;.findViewById:(I)Landroid/view/View; // method@b9aa │ │ -41f554: 0c06 |005a: move-result-object v6 │ │ -41f556: 1f06 970a |005b: check-cast v6, Landroid/widget/TextView; // type@0a97 │ │ -41f55a: 5b56 725d |005d: iput-object v6, v5, Lorg/purple/smoke/Steam;.m_downloads:Landroid/widget/TextView; // field@5d72 │ │ -41f55e: 2201 f10a |005f: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ -41f562: 7010 ee5c 0100 |0061: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ -41f568: 1a02 6c17 |0064: const-string v2, "Downloads Directory: " // string@176c │ │ -41f56c: 6e20 f95c 2100 |0066: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41f572: 6202 6f00 |0069: sget-object v2, Landroid/os/Environment;.DIRECTORY_DOWNLOADS:Ljava/lang/String; // field@006f │ │ -41f576: 7110 f304 0200 |006b: invoke-static {v2}, Landroid/os/Environment;.getExternalStoragePublicDirectory:(Ljava/lang/String;)Ljava/io/File; // method@04f3 │ │ -41f57c: 0c02 |006e: move-result-object v2 │ │ -41f57e: 6e10 a25b 0200 |006f: invoke-virtual {v2}, Ljava/io/File;.toString:()Ljava/lang/String; // method@5ba2 │ │ -41f584: 0c02 |0072: move-result-object v2 │ │ -41f586: 6e20 f95c 2100 |0073: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ -41f58c: 6e10 035d 0100 |0076: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ -41f592: 0c01 |0079: move-result-object v1 │ │ -41f594: 6e20 495b 1600 |007a: invoke-virtual {v6, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ -41f59a: 1406 8000 087f |007d: const v6, #float 1.80778e+38 // #7f080080 │ │ -41f5a0: 6e20 aab9 6500 |0080: invoke-virtual {v5, v6}, Lorg/purple/smoke/Steam;.findViewById:(I)Landroid/view/View; // method@b9aa │ │ -41f5a6: 0c06 |0083: move-result-object v6 │ │ -41f5a8: 1f06 970a |0084: check-cast v6, Landroid/widget/TextView; // type@0a97 │ │ -41f5ac: 5b56 735d |0086: iput-object v6, v5, Lorg/purple/smoke/Steam;.m_information:Landroid/widget/TextView; // field@5d73 │ │ -41f5b0: 1406 8900 087f |0088: const v6, #float 1.80778e+38 // #7f080089 │ │ -41f5b6: 6e20 aab9 6500 |008b: invoke-virtual {v5, v6}, Lorg/purple/smoke/Steam;.findViewById:(I)Landroid/view/View; // method@b9aa │ │ -41f5bc: 0c06 |008e: move-result-object v6 │ │ -41f5be: 1f06 8b0a |008f: check-cast v6, Landroid/widget/Spinner; // type@0a8b │ │ -41f5c2: 5b56 745d |0091: iput-object v6, v5, Lorg/purple/smoke/Steam;.m_keysSpinner:Landroid/widget/Spinner; // field@5d74 │ │ -41f5c6: 2201 5b0a |0093: new-instance v1, Landroid/widget/ArrayAdapter; // type@0a5b │ │ -41f5ca: 1402 0800 0901 |0095: const v2, #float 2.51629e-38 // #01090008 │ │ -41f5d0: 1a03 c93e |0098: const-string v3, "McEliece" // string@3ec9 │ │ -41f5d4: 1a04 6945 |009a: const-string v4, "RSA" // string@4569 │ │ -41f5d8: 2420 1a1b 4300 |009c: filled-new-array {v3, v4}, [Ljava/lang/String; // type@1b1a │ │ -41f5de: 0c03 |009f: move-result-object v3 │ │ -41f5e0: 7040 cb58 5132 |00a0: invoke-direct {v1, v5, v2, v3}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;I[Ljava/lang/Object;)V // method@58cb │ │ -41f5e6: 6e20 c05a 1600 |00a3: invoke-virtual {v6, v1}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@5ac0 │ │ -41f5ec: 5456 745d |00a6: iget-object v6, v5, Lorg/purple/smoke/Steam;.m_keysSpinner:Landroid/widget/Spinner; // field@5d74 │ │ -41f5f0: 1201 |00a8: const/4 v1, #int 0 // #0 │ │ -41f5f2: 6e20 c65a 1600 |00a9: invoke-virtual {v6, v1}, Landroid/widget/Spinner;.setEnabled:(Z)V // method@5ac6 │ │ -41f5f8: 5456 745d |00ac: iget-object v6, v5, Lorg/purple/smoke/Steam;.m_keysSpinner:Landroid/widget/Spinner; // field@5d74 │ │ -41f5fc: 6e20 cc5a 0600 |00ae: invoke-virtual {v6, v0}, Landroid/widget/Spinner;.setSelection:(I)V // method@5acc │ │ -41f602: 1406 bf00 087f |00b1: const v6, #float 1.80779e+38 // #7f0800bf │ │ -41f608: 6e20 aab9 6500 |00b4: invoke-virtual {v5, v6}, Lorg/purple/smoke/Steam;.findViewById:(I)Landroid/view/View; // method@b9aa │ │ -41f60e: 0c06 |00b7: move-result-object v6 │ │ -41f610: 1f06 8b0a |00b8: check-cast v6, Landroid/widget/Spinner; // type@0a8b │ │ -41f614: 5b56 765d |00ba: iput-object v6, v5, Lorg/purple/smoke/Steam;.m_participantsSpinner:Landroid/widget/Spinner; // field@5d76 │ │ -41f618: 1406 d900 087f |00bc: const v6, #float 1.80779e+38 // #7f0800d9 │ │ -41f61e: 6e20 aab9 6500 |00bf: invoke-virtual {v5, v6}, Lorg/purple/smoke/Steam;.findViewById:(I)Landroid/view/View; // method@b9aa │ │ -41f624: 0c06 |00c2: move-result-object v6 │ │ -41f626: 1f06 4909 |00c3: check-cast v6, Landroid/support/v7/widget/RecyclerView; // type@0949 │ │ -41f62a: 5b56 795d |00c5: iput-object v6, v5, Lorg/purple/smoke/Steam;.m_recyclerView:Landroid/support/v7/widget/RecyclerView; // field@5d79 │ │ -41f62e: 6e20 0d4f 0600 |00c7: invoke-virtual {v6, v0}, Landroid/support/v7/widget/RecyclerView;.setHasFixedSize:(Z)V // method@4f0d │ │ -41f634: 1406 fb00 087f |00ca: const v6, #float 1.8078e+38 // #7f0800fb │ │ -41f63a: 6e20 aab9 6500 |00cd: invoke-virtual {v5, v6}, Lorg/purple/smoke/Steam;.findViewById:(I)Landroid/view/View; // method@b9aa │ │ -41f640: 0c06 |00d0: move-result-object v6 │ │ -41f642: 1f06 5e0a |00d1: check-cast v6, Landroid/widget/Button; // type@0a5e │ │ -41f646: 5b56 7a5d |00d3: iput-object v6, v5, Lorg/purple/smoke/Steam;.m_sendButton:Landroid/widget/Button; // field@5d7a │ │ -41f64a: 7010 beb9 0500 |00d5: invoke-direct {v5}, Lorg/purple/smoke/Steam;.populateParticipants:()V // method@b9be │ │ -41f650: 7010 bfb9 0500 |00d8: invoke-direct {v5}, Lorg/purple/smoke/Steam;.prepareListeners:()V // method@b9bf │ │ -41f656: 7010 c1b9 0500 |00db: invoke-direct {v5}, Lorg/purple/smoke/Steam;.prepareWidgets:()V // method@b9c1 │ │ -41f65c: 5456 755d |00de: iget-object v6, v5, Lorg/purple/smoke/Steam;.m_layoutManager:Lorg/purple/smoke/Steam$SteamLinearLayoutManager; // field@5d75 │ │ -41f660: 5450 795d |00e0: iget-object v0, v5, Lorg/purple/smoke/Steam;.m_recyclerView:Landroid/support/v7/widget/RecyclerView; // field@5d79 │ │ -41f664: 1202 |00e2: const/4 v2, #int 0 // #0 │ │ -41f666: 6e40 9cb9 0612 |00e3: invoke-virtual {v6, v0, v2, v1}, Lorg/purple/smoke/Steam$SteamLinearLayoutManager;.smoothScrollToPosition:(Landroid/support/v7/widget/RecyclerView;Landroid/support/v7/widget/RecyclerView$State;I)V // method@b99c │ │ -41f66c: 0e00 |00e6: return-void │ │ +41f48c: |[41f48c] org.purple.smoke.Steam.onCreate:(Landroid/os/Bundle;)V │ │ +41f49c: 6f20 f23c 6500 |0000: invoke-super {v5, v6}, Landroid/support/v7/app/AppCompatActivity;.onCreate:(Landroid/os/Bundle;)V // method@3cf2 │ │ +41f4a2: 6e10 acb9 0500 |0003: invoke-virtual {v5}, Lorg/purple/smoke/Steam;.getApplicationContext:()Landroid/content/Context; // method@b9ac │ │ +41f4a8: 0c06 |0006: move-result-object v6 │ │ +41f4aa: 7110 e9b5 0600 |0007: invoke-static {v6}, Lorg/purple/smoke/Database;.getInstance:(Landroid/content/Context;)Lorg/purple/smoke/Database; // method@b5e9 │ │ +41f4b0: 0c06 |000a: move-result-object v6 │ │ +41f4b2: 5b56 705d |000b: iput-object v6, v5, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ +41f4b6: 6200 7c5d |000d: sget-object v0, Lorg/purple/smoke/Steam;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d7c │ │ +41f4ba: 6e20 d9b5 0600 |000f: invoke-virtual {v6, v0}, Lorg/purple/smoke/Database;.clearSteamRates:(Lorg/purple/smoke/Cryptography;)V // method@b5d9 │ │ +41f4c0: 2206 901a |0012: new-instance v6, Lorg/purple/smoke/Steam$SteamBroadcastReceiver; // type@1a90 │ │ +41f4c4: 7020 97b9 5600 |0014: invoke-direct {v6, v5}, Lorg/purple/smoke/Steam$SteamBroadcastReceiver;.:(Lorg/purple/smoke/Steam;)V // method@b997 │ │ +41f4ca: 5b56 775d |0017: iput-object v6, v5, Lorg/purple/smoke/Steam;.m_receiver:Lorg/purple/smoke/Steam$SteamBroadcastReceiver; // field@5d77 │ │ +41f4ce: 1406 2100 0a7f |0019: const v6, #float 1.83434e+38 // #7f0a0021 │ │ +41f4d4: 6e20 c6b9 6500 |001c: invoke-virtual {v5, v6}, Lorg/purple/smoke/Steam;.setContentView:(I)V // method@b9c6 │ │ +41f4da: 2206 911a |001f: new-instance v6, Lorg/purple/smoke/Steam$SteamLinearLayoutManager; // type@1a91 │ │ +41f4de: 7020 99b9 5600 |0021: invoke-direct {v6, v5}, Lorg/purple/smoke/Steam$SteamLinearLayoutManager;.:(Landroid/content/Context;)V // method@b999 │ │ +41f4e4: 5b56 755d |0024: iput-object v6, v5, Lorg/purple/smoke/Steam;.m_layoutManager:Lorg/purple/smoke/Steam$SteamLinearLayoutManager; // field@5d75 │ │ +41f4e8: 1210 |0026: const/4 v0, #int 1 // #1 │ │ +41f4ea: 6e20 9bb9 0600 |0027: invoke-virtual {v6, v0}, Lorg/purple/smoke/Steam$SteamLinearLayoutManager;.setOrientation:(I)V // method@b99b │ │ +41f4f0: 6e10 afb9 0500 |002a: invoke-virtual {v5}, Lorg/purple/smoke/Steam;.getSupportActionBar:()Landroid/support/v7/app/ActionBar; // method@b9af │ │ +41f4f6: 0c06 |002d: move-result-object v6 │ │ +41f4f8: 7100 20b9 0000 |002e: invoke-static {}, Lorg/purple/smoke/Smoke;.networkStatusString:()Ljava/lang/String; // method@b920 │ │ +41f4fe: 0c01 |0031: move-result-object v1 │ │ +41f500: 6e20 0a3c 1600 |0032: invoke-virtual {v6, v1}, Landroid/support/v7/app/ActionBar;.setSubtitle:(Ljava/lang/CharSequence;)V // method@3c0a │ │ +41f506: 6e10 afb9 0500 |0035: invoke-virtual {v5}, Lorg/purple/smoke/Steam;.getSupportActionBar:()Landroid/support/v7/app/ActionBar; // method@b9af │ │ +41f50c: 0c06 |0038: move-result-object v6 │ │ +41f50e: 1a01 084b |0039: const-string v1, "Smoke | Steam" // string@4b08 │ │ +41f512: 6e20 0c3c 1600 |003b: invoke-virtual {v6, v1}, Landroid/support/v7/app/ActionBar;.setTitle:(Ljava/lang/CharSequence;)V // method@3c0c │ │ +41f518: 1406 2700 087f |003e: const v6, #float 1.80776e+38 // #7f080027 │ │ +41f51e: 6e20 aab9 6500 |0041: invoke-virtual {v5, v6}, Lorg/purple/smoke/Steam;.findViewById:(I)Landroid/view/View; // method@b9aa │ │ +41f524: 0c06 |0044: move-result-object v6 │ │ +41f526: 1f06 5e0a |0045: check-cast v6, Landroid/widget/Button; // type@0a5e │ │ +41f52a: 5b56 6f5d |0047: iput-object v6, v5, Lorg/purple/smoke/Steam;.m_attachmentButton:Landroid/widget/Button; // field@5d6f │ │ +41f52e: 1406 6b00 087f |0049: const v6, #float 1.80777e+38 // #7f08006b │ │ +41f534: 6e20 aab9 6500 |004c: invoke-virtual {v5, v6}, Lorg/purple/smoke/Steam;.findViewById:(I)Landroid/view/View; // method@b9aa │ │ +41f53a: 0c06 |004f: move-result-object v6 │ │ +41f53c: 1f06 970a |0050: check-cast v6, Landroid/widget/TextView; // type@0a97 │ │ +41f540: 5b56 715d |0052: iput-object v6, v5, Lorg/purple/smoke/Steam;.m_displayFileName:Landroid/widget/TextView; // field@5d71 │ │ +41f544: 1406 5b00 087f |0054: const v6, #float 1.80777e+38 // #7f08005b │ │ +41f54a: 6e20 aab9 6500 |0057: invoke-virtual {v5, v6}, Lorg/purple/smoke/Steam;.findViewById:(I)Landroid/view/View; // method@b9aa │ │ +41f550: 0c06 |005a: move-result-object v6 │ │ +41f552: 1f06 970a |005b: check-cast v6, Landroid/widget/TextView; // type@0a97 │ │ +41f556: 5b56 725d |005d: iput-object v6, v5, Lorg/purple/smoke/Steam;.m_downloads:Landroid/widget/TextView; // field@5d72 │ │ +41f55a: 2201 f10a |005f: new-instance v1, Ljava/lang/StringBuilder; // type@0af1 │ │ +41f55e: 7010 ee5c 0100 |0061: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@5cee │ │ +41f564: 1a02 6c17 |0064: const-string v2, "Downloads Directory: " // string@176c │ │ +41f568: 6e20 f95c 2100 |0066: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41f56e: 6202 6f00 |0069: sget-object v2, Landroid/os/Environment;.DIRECTORY_DOWNLOADS:Ljava/lang/String; // field@006f │ │ +41f572: 7110 f304 0200 |006b: invoke-static {v2}, Landroid/os/Environment;.getExternalStoragePublicDirectory:(Ljava/lang/String;)Ljava/io/File; // method@04f3 │ │ +41f578: 0c02 |006e: move-result-object v2 │ │ +41f57a: 6e10 a25b 0200 |006f: invoke-virtual {v2}, Ljava/io/File;.toString:()Ljava/lang/String; // method@5ba2 │ │ +41f580: 0c02 |0072: move-result-object v2 │ │ +41f582: 6e20 f95c 2100 |0073: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@5cf9 │ │ +41f588: 6e10 035d 0100 |0076: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@5d03 │ │ +41f58e: 0c01 |0079: move-result-object v1 │ │ +41f590: 6e20 495b 1600 |007a: invoke-virtual {v6, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@5b49 │ │ +41f596: 1406 8000 087f |007d: const v6, #float 1.80778e+38 // #7f080080 │ │ +41f59c: 6e20 aab9 6500 |0080: invoke-virtual {v5, v6}, Lorg/purple/smoke/Steam;.findViewById:(I)Landroid/view/View; // method@b9aa │ │ +41f5a2: 0c06 |0083: move-result-object v6 │ │ +41f5a4: 1f06 970a |0084: check-cast v6, Landroid/widget/TextView; // type@0a97 │ │ +41f5a8: 5b56 735d |0086: iput-object v6, v5, Lorg/purple/smoke/Steam;.m_information:Landroid/widget/TextView; // field@5d73 │ │ +41f5ac: 1406 8900 087f |0088: const v6, #float 1.80778e+38 // #7f080089 │ │ +41f5b2: 6e20 aab9 6500 |008b: invoke-virtual {v5, v6}, Lorg/purple/smoke/Steam;.findViewById:(I)Landroid/view/View; // method@b9aa │ │ +41f5b8: 0c06 |008e: move-result-object v6 │ │ +41f5ba: 1f06 8b0a |008f: check-cast v6, Landroid/widget/Spinner; // type@0a8b │ │ +41f5be: 5b56 745d |0091: iput-object v6, v5, Lorg/purple/smoke/Steam;.m_keysSpinner:Landroid/widget/Spinner; // field@5d74 │ │ +41f5c2: 2201 5b0a |0093: new-instance v1, Landroid/widget/ArrayAdapter; // type@0a5b │ │ +41f5c6: 1402 0800 0901 |0095: const v2, #float 2.51629e-38 // #01090008 │ │ +41f5cc: 1a03 c93e |0098: const-string v3, "McEliece" // string@3ec9 │ │ +41f5d0: 1a04 6945 |009a: const-string v4, "RSA" // string@4569 │ │ +41f5d4: 2420 1a1b 4300 |009c: filled-new-array {v3, v4}, [Ljava/lang/String; // type@1b1a │ │ +41f5da: 0c03 |009f: move-result-object v3 │ │ +41f5dc: 7040 cb58 5132 |00a0: invoke-direct {v1, v5, v2, v3}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;I[Ljava/lang/Object;)V // method@58cb │ │ +41f5e2: 6e20 c05a 1600 |00a3: invoke-virtual {v6, v1}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@5ac0 │ │ +41f5e8: 5456 745d |00a6: iget-object v6, v5, Lorg/purple/smoke/Steam;.m_keysSpinner:Landroid/widget/Spinner; // field@5d74 │ │ +41f5ec: 1201 |00a8: const/4 v1, #int 0 // #0 │ │ +41f5ee: 6e20 c65a 1600 |00a9: invoke-virtual {v6, v1}, Landroid/widget/Spinner;.setEnabled:(Z)V // method@5ac6 │ │ +41f5f4: 5456 745d |00ac: iget-object v6, v5, Lorg/purple/smoke/Steam;.m_keysSpinner:Landroid/widget/Spinner; // field@5d74 │ │ +41f5f8: 6e20 cc5a 0600 |00ae: invoke-virtual {v6, v0}, Landroid/widget/Spinner;.setSelection:(I)V // method@5acc │ │ +41f5fe: 1406 bf00 087f |00b1: const v6, #float 1.80779e+38 // #7f0800bf │ │ +41f604: 6e20 aab9 6500 |00b4: invoke-virtual {v5, v6}, Lorg/purple/smoke/Steam;.findViewById:(I)Landroid/view/View; // method@b9aa │ │ +41f60a: 0c06 |00b7: move-result-object v6 │ │ +41f60c: 1f06 8b0a |00b8: check-cast v6, Landroid/widget/Spinner; // type@0a8b │ │ +41f610: 5b56 765d |00ba: iput-object v6, v5, Lorg/purple/smoke/Steam;.m_participantsSpinner:Landroid/widget/Spinner; // field@5d76 │ │ +41f614: 1406 d900 087f |00bc: const v6, #float 1.80779e+38 // #7f0800d9 │ │ +41f61a: 6e20 aab9 6500 |00bf: invoke-virtual {v5, v6}, Lorg/purple/smoke/Steam;.findViewById:(I)Landroid/view/View; // method@b9aa │ │ +41f620: 0c06 |00c2: move-result-object v6 │ │ +41f622: 1f06 4909 |00c3: check-cast v6, Landroid/support/v7/widget/RecyclerView; // type@0949 │ │ +41f626: 5b56 795d |00c5: iput-object v6, v5, Lorg/purple/smoke/Steam;.m_recyclerView:Landroid/support/v7/widget/RecyclerView; // field@5d79 │ │ +41f62a: 6e20 0d4f 0600 |00c7: invoke-virtual {v6, v0}, Landroid/support/v7/widget/RecyclerView;.setHasFixedSize:(Z)V // method@4f0d │ │ +41f630: 1406 fb00 087f |00ca: const v6, #float 1.8078e+38 // #7f0800fb │ │ +41f636: 6e20 aab9 6500 |00cd: invoke-virtual {v5, v6}, Lorg/purple/smoke/Steam;.findViewById:(I)Landroid/view/View; // method@b9aa │ │ +41f63c: 0c06 |00d0: move-result-object v6 │ │ +41f63e: 1f06 5e0a |00d1: check-cast v6, Landroid/widget/Button; // type@0a5e │ │ +41f642: 5b56 7a5d |00d3: iput-object v6, v5, Lorg/purple/smoke/Steam;.m_sendButton:Landroid/widget/Button; // field@5d7a │ │ +41f646: 7010 beb9 0500 |00d5: invoke-direct {v5}, Lorg/purple/smoke/Steam;.populateParticipants:()V // method@b9be │ │ +41f64c: 7010 bfb9 0500 |00d8: invoke-direct {v5}, Lorg/purple/smoke/Steam;.prepareListeners:()V // method@b9bf │ │ +41f652: 7010 c1b9 0500 |00db: invoke-direct {v5}, Lorg/purple/smoke/Steam;.prepareWidgets:()V // method@b9c1 │ │ +41f658: 5456 755d |00de: iget-object v6, v5, Lorg/purple/smoke/Steam;.m_layoutManager:Lorg/purple/smoke/Steam$SteamLinearLayoutManager; // field@5d75 │ │ +41f65c: 5450 795d |00e0: iget-object v0, v5, Lorg/purple/smoke/Steam;.m_recyclerView:Landroid/support/v7/widget/RecyclerView; // field@5d79 │ │ +41f660: 1202 |00e2: const/4 v2, #int 0 // #0 │ │ +41f662: 6e40 9cb9 0612 |00e3: invoke-virtual {v6, v0, v2, v1}, Lorg/purple/smoke/Steam$SteamLinearLayoutManager;.smoothScrollToPosition:(Landroid/support/v7/widget/RecyclerView;Landroid/support/v7/widget/RecyclerView$State;I)V // method@b99c │ │ +41f668: 0e00 |00e6: return-void │ │ catches : 2 │ │ 0x002a - 0x003e │ │ Ljava/lang/Exception; -> 0x003e │ │ 0x00de - 0x00e6 │ │ Ljava/lang/Exception; -> 0x00e6 │ │ positions : │ │ 0x0000 line=479 │ │ @@ -1546252,21 +1546251,21 @@ │ │ type : '(Landroid/view/Menu;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 12 16-bit code units │ │ -41ef64: |[41ef64] org.purple.smoke.Steam.onCreateOptionsMenu:(Landroid/view/Menu;)Z │ │ -41ef74: 6e10 aeb9 0200 |0000: invoke-virtual {v2}, Lorg/purple/smoke/Steam;.getMenuInflater:()Landroid/view/MenuInflater; // method@b9ae │ │ -41ef7a: 0c00 |0003: move-result-object v0 │ │ -41ef7c: 1401 0600 0b7f |0004: const v1, #float 1.84763e+38 // #7f0b0006 │ │ -41ef82: 6e30 6255 1003 |0007: invoke-virtual {v0, v1, v3}, Landroid/view/MenuInflater;.inflate:(ILandroid/view/Menu;)V // method@5562 │ │ -41ef88: 1213 |000a: const/4 v3, #int 1 // #1 │ │ -41ef8a: 0f03 |000b: return v3 │ │ +41ef60: |[41ef60] org.purple.smoke.Steam.onCreateOptionsMenu:(Landroid/view/Menu;)Z │ │ +41ef70: 6e10 aeb9 0200 |0000: invoke-virtual {v2}, Lorg/purple/smoke/Steam;.getMenuInflater:()Landroid/view/MenuInflater; // method@b9ae │ │ +41ef76: 0c00 |0003: move-result-object v0 │ │ +41ef78: 1401 0600 0b7f |0004: const v1, #float 1.84763e+38 // #7f0b0006 │ │ +41ef7e: 6e30 6255 1003 |0007: invoke-virtual {v0, v1, v3}, Landroid/view/MenuInflater;.inflate:(ILandroid/view/Menu;)V // method@5562 │ │ +41ef84: 1213 |000a: const/4 v3, #int 1 // #1 │ │ +41ef86: 0f03 |000b: return v3 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=723 │ │ locals : │ │ 0x0000 - 0x000c reg=2 this Lorg/purple/smoke/Steam; │ │ 0x0000 - 0x000c reg=3 (null) Landroid/view/Menu; │ │ │ │ @@ -1546275,26 +1546274,26 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 22 16-bit code units │ │ -41f68c: |[41f68c] org.purple.smoke.Steam.onDestroy:()V │ │ -41f69c: 7100 66b9 0000 |0000: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -41f6a2: 0c00 |0003: move-result-object v0 │ │ -41f6a4: 6e10 61b9 0000 |0004: invoke-virtual {v0}, Lorg/purple/smoke/State;.exit:()Z // method@b961 │ │ -41f6aa: 0a00 |0007: move-result v0 │ │ -41f6ac: 3800 0a00 |0008: if-eqz v0, 0012 // +000a │ │ -41f6b0: 7100 5705 0000 |000a: invoke-static {}, Landroid/os/Process;.myPid:()I // method@0557 │ │ -41f6b6: 0a00 |000d: move-result v0 │ │ -41f6b8: 7110 5605 0000 |000e: invoke-static {v0}, Landroid/os/Process;.killProcess:(I)V // method@0556 │ │ -41f6be: 2804 |0011: goto 0015 // +0004 │ │ -41f6c0: 6f10 f53c 0100 |0012: invoke-super {v1}, Landroid/support/v7/app/AppCompatActivity;.onDestroy:()V // method@3cf5 │ │ -41f6c6: 0e00 |0015: return-void │ │ +41f688: |[41f688] org.purple.smoke.Steam.onDestroy:()V │ │ +41f698: 7100 66b9 0000 |0000: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +41f69e: 0c00 |0003: move-result-object v0 │ │ +41f6a0: 6e10 61b9 0000 |0004: invoke-virtual {v0}, Lorg/purple/smoke/State;.exit:()Z // method@b961 │ │ +41f6a6: 0a00 |0007: move-result v0 │ │ +41f6a8: 3800 0a00 |0008: if-eqz v0, 0012 // +000a │ │ +41f6ac: 7100 5705 0000 |000a: invoke-static {}, Landroid/os/Process;.myPid:()I // method@0557 │ │ +41f6b2: 0a00 |000d: move-result v0 │ │ +41f6b4: 7110 5605 0000 |000e: invoke-static {v0}, Landroid/os/Process;.killProcess:(I)V // method@0556 │ │ +41f6ba: 2804 |0011: goto 0015 // +0004 │ │ +41f6bc: 6f10 f53c 0100 |0012: invoke-super {v1}, Landroid/support/v7/app/AppCompatActivity;.onDestroy:()V // method@3cf5 │ │ +41f6c2: 0e00 |0015: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=537 │ │ 0x000a line=538 │ │ 0x0012 line=540 │ │ locals : │ │ 0x0000 - 0x0016 reg=1 this Lorg/purple/smoke/Steam; │ │ @@ -1546304,87 +1546303,87 @@ │ │ type : '(Landroid/view/MenuItem;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 10 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 168 16-bit code units │ │ -41ef8c: |[41ef8c] org.purple.smoke.Steam.onOptionsItemSelected:(Landroid/view/MenuItem;)Z │ │ -41ef9c: 7210 6a55 0900 |0000: invoke-interface {v9}, Landroid/view/MenuItem;.getGroupId:()I // method@556a │ │ -41efa2: 0a00 |0003: move-result v0 │ │ -41efa4: 7210 6c55 0900 |0004: invoke-interface {v9}, Landroid/view/MenuItem;.getItemId:()I // method@556c │ │ -41efaa: 0a01 |0007: move-result v1 │ │ -41efac: 1a02 287b |0008: const-string v2, "lastActivity" // string@7b28 │ │ -41efb0: 1203 |000a: const/4 v3, #int 0 // #0 │ │ -41efb2: 1214 |000b: const/4 v4, #int 1 // #1 │ │ -41efb4: 3900 2f00 |000c: if-nez v0, 003b // +002f │ │ -41efb8: 2c01 8400 0000 |000e: sparse-switch v1, 00000092 // +00000084 │ │ -41efbe: 287b |0011: goto 008c // +007b │ │ -41efc0: 7010 ceb9 0800 |0012: invoke-direct {v8}, Lorg/purple/smoke/Steam;.showSmokescreenActivity:()V // method@b9ce │ │ -41efc6: 0f04 |0015: return v4 │ │ -41efc8: 5489 705d |0016: iget-object v9, v8, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ -41efcc: 1a00 284a |0018: const-string v0, "Settings" // string@4a28 │ │ -41efd0: 6e40 30b6 3902 |001a: invoke-virtual {v9, v3, v2, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -41efd6: 7010 cdb9 0800 |001d: invoke-direct {v8}, Lorg/purple/smoke/Steam;.showSettingsActivity:()V // method@b9cd │ │ -41efdc: 0f04 |0020: return v4 │ │ -41efde: 5489 705d |0021: iget-object v9, v8, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ -41efe2: 1a00 b31a |0023: const-string v0, "Fire" // string@1ab3 │ │ -41efe6: 6e40 30b6 3902 |0025: invoke-virtual {v9, v3, v2, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -41efec: 7010 cbb9 0800 |0028: invoke-direct {v8}, Lorg/purple/smoke/Steam;.showFireActivity:()V // method@b9cb │ │ -41eff2: 0f04 |002b: return v4 │ │ -41eff4: 7120 1cb9 8400 |002c: invoke-static {v4, v8}, Lorg/purple/smoke/Smoke;.exit:(ZLandroid/content/Context;)V // method@b91c │ │ -41effa: 0f04 |002f: return v4 │ │ -41effc: 5489 705d |0030: iget-object v9, v8, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ -41f000: 1a00 da12 |0032: const-string v0, "Chat" // string@12da │ │ -41f004: 6e40 30b6 3902 |0034: invoke-virtual {v9, v3, v2, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -41f00a: 7010 c8b9 0800 |0037: invoke-direct {v8}, Lorg/purple/smoke/Steam;.showChatActivity:()V // method@b9c8 │ │ -41f010: 0f04 |003a: return v4 │ │ -41f012: 7210 6e55 0900 |003b: invoke-interface {v9}, Landroid/view/MenuItem;.getTitle:()Ljava/lang/CharSequence; // method@556e │ │ -41f018: 0c00 |003e: move-result-object v0 │ │ -41f01a: 7210 045c 0000 |003f: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ -41f020: 0c00 |0042: move-result-object v0 │ │ -41f022: 1a05 7203 |0043: const-string v5, "(" // string@0372 │ │ -41f026: 6e20 c25c 5000 |0045: invoke-virtual {v0, v5}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@5cc2 │ │ -41f02c: 0a05 |0048: move-result v5 │ │ -41f02e: 3a05 0f00 |0049: if-ltz v5, 0058 // +000f │ │ -41f032: b045 |004b: add-int/2addr v5, v4 │ │ -41f034: 6e20 cc5c 5000 |004c: invoke-virtual {v0, v5}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@5ccc │ │ -41f03a: 0c04 |004f: move-result-object v4 │ │ -41f03c: 1a05 e403 |0050: const-string v5, ")" // string@03e4 │ │ -41f040: 1a06 0000 |0052: const-string v6, "" // string@0000 │ │ -41f044: 6e30 c85c 5406 |0054: invoke-virtual {v4, v5, v6}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ -41f04a: 0c00 |0057: move-result-object v0 │ │ -41f04c: 7110 e7b7 0000 |0058: invoke-static {v0}, Lorg/purple/smoke/Miscellaneous;.prepareSipHashId:(Ljava/lang/String;)Ljava/lang/String; // method@b7e7 │ │ -41f052: 0c00 |005b: move-result-object v0 │ │ -41f054: 7100 66b9 0000 |005c: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -41f05a: 0c04 |005f: move-result-object v4 │ │ -41f05c: 7110 d55c 0100 |0060: invoke-static {v1}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ -41f062: 0c05 |0063: move-result-object v5 │ │ -41f064: 1a06 9b88 |0064: const-string v6, "member_chat_oid" // string@889b │ │ -41f068: 6e30 81b9 6405 |0066: invoke-virtual {v4, v6, v5}, Lorg/purple/smoke/State;.setString:(Ljava/lang/String;Ljava/lang/String;)V // method@b981 │ │ -41f06e: 7100 66b9 0000 |0069: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -41f074: 0c04 |006c: move-result-object v4 │ │ -41f076: 1a05 9d88 |006d: const-string v5, "member_chat_siphash_id" // string@889d │ │ -41f07a: 6e30 81b9 5400 |006f: invoke-virtual {v4, v5, v0}, Lorg/purple/smoke/State;.setString:(Ljava/lang/String;Ljava/lang/String;)V // method@b981 │ │ -41f080: 5484 705d |0072: iget-object v4, v8, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ -41f084: 1a07 263f |0074: const-string v7, "MemberChat" // string@3f26 │ │ -41f088: 6e40 30b6 3472 |0076: invoke-virtual {v4, v3, v2, v7}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -41f08e: 5482 705d |0079: iget-object v2, v8, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ -41f092: 6203 7c5d |007b: sget-object v3, Lorg/purple/smoke/Steam;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d7c │ │ -41f096: 7110 d55c 0100 |007d: invoke-static {v1}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ -41f09c: 0c01 |0080: move-result-object v1 │ │ -41f09e: 6e40 30b6 3216 |0081: invoke-virtual {v2, v3, v6, v1}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -41f0a4: 5481 705d |0084: iget-object v1, v8, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ -41f0a8: 6e40 30b6 3105 |0086: invoke-virtual {v1, v3, v5, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ -41f0ae: 7010 ccb9 0800 |0089: invoke-direct {v8}, Lorg/purple/smoke/Steam;.showMemberChatActivity:()V // method@b9cc │ │ -41f0b4: 6f20 f83c 9800 |008c: invoke-super {v8, v9}, Landroid/support/v7/app/AppCompatActivity;.onOptionsItemSelected:(Landroid/view/MenuItem;)Z // method@3cf8 │ │ -41f0ba: 0a09 |008f: move-result v9 │ │ -41f0bc: 0f09 |0090: return v9 │ │ -41f0be: 0000 |0091: nop // spacer │ │ -41f0c0: 0002 0500 0a00 087f 0e00 087f 0f00 ... |0092: sparse-switch-data (22 units) │ │ +41ef88: |[41ef88] org.purple.smoke.Steam.onOptionsItemSelected:(Landroid/view/MenuItem;)Z │ │ +41ef98: 7210 6a55 0900 |0000: invoke-interface {v9}, Landroid/view/MenuItem;.getGroupId:()I // method@556a │ │ +41ef9e: 0a00 |0003: move-result v0 │ │ +41efa0: 7210 6c55 0900 |0004: invoke-interface {v9}, Landroid/view/MenuItem;.getItemId:()I // method@556c │ │ +41efa6: 0a01 |0007: move-result v1 │ │ +41efa8: 1a02 287b |0008: const-string v2, "lastActivity" // string@7b28 │ │ +41efac: 1203 |000a: const/4 v3, #int 0 // #0 │ │ +41efae: 1214 |000b: const/4 v4, #int 1 // #1 │ │ +41efb0: 3900 2f00 |000c: if-nez v0, 003b // +002f │ │ +41efb4: 2c01 8400 0000 |000e: sparse-switch v1, 00000092 // +00000084 │ │ +41efba: 287b |0011: goto 008c // +007b │ │ +41efbc: 7010 ceb9 0800 |0012: invoke-direct {v8}, Lorg/purple/smoke/Steam;.showSmokescreenActivity:()V // method@b9ce │ │ +41efc2: 0f04 |0015: return v4 │ │ +41efc4: 5489 705d |0016: iget-object v9, v8, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ +41efc8: 1a00 284a |0018: const-string v0, "Settings" // string@4a28 │ │ +41efcc: 6e40 30b6 3902 |001a: invoke-virtual {v9, v3, v2, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +41efd2: 7010 cdb9 0800 |001d: invoke-direct {v8}, Lorg/purple/smoke/Steam;.showSettingsActivity:()V // method@b9cd │ │ +41efd8: 0f04 |0020: return v4 │ │ +41efda: 5489 705d |0021: iget-object v9, v8, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ +41efde: 1a00 b31a |0023: const-string v0, "Fire" // string@1ab3 │ │ +41efe2: 6e40 30b6 3902 |0025: invoke-virtual {v9, v3, v2, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +41efe8: 7010 cbb9 0800 |0028: invoke-direct {v8}, Lorg/purple/smoke/Steam;.showFireActivity:()V // method@b9cb │ │ +41efee: 0f04 |002b: return v4 │ │ +41eff0: 7120 1cb9 8400 |002c: invoke-static {v4, v8}, Lorg/purple/smoke/Smoke;.exit:(ZLandroid/content/Context;)V // method@b91c │ │ +41eff6: 0f04 |002f: return v4 │ │ +41eff8: 5489 705d |0030: iget-object v9, v8, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ +41effc: 1a00 da12 |0032: const-string v0, "Chat" // string@12da │ │ +41f000: 6e40 30b6 3902 |0034: invoke-virtual {v9, v3, v2, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +41f006: 7010 c8b9 0800 |0037: invoke-direct {v8}, Lorg/purple/smoke/Steam;.showChatActivity:()V // method@b9c8 │ │ +41f00c: 0f04 |003a: return v4 │ │ +41f00e: 7210 6e55 0900 |003b: invoke-interface {v9}, Landroid/view/MenuItem;.getTitle:()Ljava/lang/CharSequence; // method@556e │ │ +41f014: 0c00 |003e: move-result-object v0 │ │ +41f016: 7210 045c 0000 |003f: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@5c04 │ │ +41f01c: 0c00 |0042: move-result-object v0 │ │ +41f01e: 1a05 7203 |0043: const-string v5, "(" // string@0372 │ │ +41f022: 6e20 c25c 5000 |0045: invoke-virtual {v0, v5}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@5cc2 │ │ +41f028: 0a05 |0048: move-result v5 │ │ +41f02a: 3a05 0f00 |0049: if-ltz v5, 0058 // +000f │ │ +41f02e: b045 |004b: add-int/2addr v5, v4 │ │ +41f030: 6e20 cc5c 5000 |004c: invoke-virtual {v0, v5}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@5ccc │ │ +41f036: 0c04 |004f: move-result-object v4 │ │ +41f038: 1a05 e403 |0050: const-string v5, ")" // string@03e4 │ │ +41f03c: 1a06 0000 |0052: const-string v6, "" // string@0000 │ │ +41f040: 6e30 c85c 5406 |0054: invoke-virtual {v4, v5, v6}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@5cc8 │ │ +41f046: 0c00 |0057: move-result-object v0 │ │ +41f048: 7110 e7b7 0000 |0058: invoke-static {v0}, Lorg/purple/smoke/Miscellaneous;.prepareSipHashId:(Ljava/lang/String;)Ljava/lang/String; // method@b7e7 │ │ +41f04e: 0c00 |005b: move-result-object v0 │ │ +41f050: 7100 66b9 0000 |005c: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +41f056: 0c04 |005f: move-result-object v4 │ │ +41f058: 7110 d55c 0100 |0060: invoke-static {v1}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ +41f05e: 0c05 |0063: move-result-object v5 │ │ +41f060: 1a06 9b88 |0064: const-string v6, "member_chat_oid" // string@889b │ │ +41f064: 6e30 81b9 6405 |0066: invoke-virtual {v4, v6, v5}, Lorg/purple/smoke/State;.setString:(Ljava/lang/String;Ljava/lang/String;)V // method@b981 │ │ +41f06a: 7100 66b9 0000 |0069: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +41f070: 0c04 |006c: move-result-object v4 │ │ +41f072: 1a05 9d88 |006d: const-string v5, "member_chat_siphash_id" // string@889d │ │ +41f076: 6e30 81b9 5400 |006f: invoke-virtual {v4, v5, v0}, Lorg/purple/smoke/State;.setString:(Ljava/lang/String;Ljava/lang/String;)V // method@b981 │ │ +41f07c: 5484 705d |0072: iget-object v4, v8, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ +41f080: 1a07 263f |0074: const-string v7, "MemberChat" // string@3f26 │ │ +41f084: 6e40 30b6 3472 |0076: invoke-virtual {v4, v3, v2, v7}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +41f08a: 5482 705d |0079: iget-object v2, v8, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ +41f08e: 6203 7c5d |007b: sget-object v3, Lorg/purple/smoke/Steam;.s_cryptography:Lorg/purple/smoke/Cryptography; // field@5d7c │ │ +41f092: 7110 d55c 0100 |007d: invoke-static {v1}, Ljava/lang/String;.valueOf:(I)Ljava/lang/String; // method@5cd5 │ │ +41f098: 0c01 |0080: move-result-object v1 │ │ +41f09a: 6e40 30b6 3216 |0081: invoke-virtual {v2, v3, v6, v1}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +41f0a0: 5481 705d |0084: iget-object v1, v8, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ +41f0a4: 6e40 30b6 3105 |0086: invoke-virtual {v1, v3, v5, v0}, Lorg/purple/smoke/Database;.writeSetting:(Lorg/purple/smoke/Cryptography;Ljava/lang/String;Ljava/lang/String;)V // method@b630 │ │ +41f0aa: 7010 ccb9 0800 |0089: invoke-direct {v8}, Lorg/purple/smoke/Steam;.showMemberChatActivity:()V // method@b9cc │ │ +41f0b0: 6f20 f83c 9800 |008c: invoke-super {v8, v9}, Landroid/support/v7/app/AppCompatActivity;.onOptionsItemSelected:(Landroid/view/MenuItem;)Z // method@3cf8 │ │ +41f0b6: 0a09 |008f: move-result v9 │ │ +41f0b8: 0f09 |0090: return v9 │ │ +41f0ba: 0000 |0091: nop // spacer │ │ +41f0bc: 0002 0500 0a00 087f 0e00 087f 0f00 ... |0092: sparse-switch-data (22 units) │ │ catches : 1 │ │ 0x0043 - 0x0058 │ │ Ljava/lang/Exception; -> 0x0058 │ │ positions : │ │ 0x0000 line=730 │ │ 0x0004 line=731 │ │ 0x0012 line=753 │ │ @@ -1546420,26 +1546419,26 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 23 16-bit code units │ │ -41f6c8: |[41f6c8] org.purple.smoke.Steam.onPause:()V │ │ -41f6d8: 6f10 fa3c 0200 |0000: invoke-super {v2}, Landroid/support/v7/app/AppCompatActivity;.onPause:()V // method@3cfa │ │ -41f6de: 5520 785d |0003: iget-boolean v0, v2, Lorg/purple/smoke/Steam;.m_receiverRegistered:Z // field@5d78 │ │ -41f6e2: 3800 0e00 |0005: if-eqz v0, 0013 // +000e │ │ -41f6e6: 7110 a41d 0200 |0007: invoke-static {v2}, Landroid/support/v4/content/LocalBroadcastManager;.getInstance:(Landroid/content/Context;)Landroid/support/v4/content/LocalBroadcastManager; // method@1da4 │ │ -41f6ec: 0c00 |000a: move-result-object v0 │ │ -41f6ee: 5421 775d |000b: iget-object v1, v2, Lorg/purple/smoke/Steam;.m_receiver:Lorg/purple/smoke/Steam$SteamBroadcastReceiver; // field@5d77 │ │ -41f6f2: 6e20 a81d 1000 |000d: invoke-virtual {v0, v1}, Landroid/support/v4/content/LocalBroadcastManager;.unregisterReceiver:(Landroid/content/BroadcastReceiver;)V // method@1da8 │ │ -41f6f8: 1200 |0010: const/4 v0, #int 0 // #0 │ │ -41f6fa: 5c20 785d |0011: iput-boolean v0, v2, Lorg/purple/smoke/Steam;.m_receiverRegistered:Z // field@5d78 │ │ -41f6fe: 7010 c3b9 0200 |0013: invoke-direct {v2}, Lorg/purple/smoke/Steam;.releaseResources:()V // method@b9c3 │ │ -41f704: 0e00 |0016: return-void │ │ +41f6c4: |[41f6c4] org.purple.smoke.Steam.onPause:()V │ │ +41f6d4: 6f10 fa3c 0200 |0000: invoke-super {v2}, Landroid/support/v7/app/AppCompatActivity;.onPause:()V // method@3cfa │ │ +41f6da: 5520 785d |0003: iget-boolean v0, v2, Lorg/purple/smoke/Steam;.m_receiverRegistered:Z // field@5d78 │ │ +41f6de: 3800 0e00 |0005: if-eqz v0, 0013 // +000e │ │ +41f6e2: 7110 a41d 0200 |0007: invoke-static {v2}, Landroid/support/v4/content/LocalBroadcastManager;.getInstance:(Landroid/content/Context;)Landroid/support/v4/content/LocalBroadcastManager; // method@1da4 │ │ +41f6e8: 0c00 |000a: move-result-object v0 │ │ +41f6ea: 5421 775d |000b: iget-object v1, v2, Lorg/purple/smoke/Steam;.m_receiver:Lorg/purple/smoke/Steam$SteamBroadcastReceiver; // field@5d77 │ │ +41f6ee: 6e20 a81d 1000 |000d: invoke-virtual {v0, v1}, Landroid/support/v4/content/LocalBroadcastManager;.unregisterReceiver:(Landroid/content/BroadcastReceiver;)V // method@1da8 │ │ +41f6f4: 1200 |0010: const/4 v0, #int 0 // #0 │ │ +41f6f6: 5c20 785d |0011: iput-boolean v0, v2, Lorg/purple/smoke/Steam;.m_receiverRegistered:Z // field@5d78 │ │ +41f6fa: 7010 c3b9 0200 |0013: invoke-direct {v2}, Lorg/purple/smoke/Steam;.releaseResources:()V // method@b9c3 │ │ +41f700: 0e00 |0016: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=546 │ │ 0x0003 line=548 │ │ 0x0007 line=550 │ │ 0x000d line=551 │ │ 0x0011 line=552 │ │ @@ -1546452,34 +1546451,34 @@ │ │ type : '(Landroid/view/Menu;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 36 16-bit code units │ │ -41f0fc: |[41f0fc] org.purple.smoke.Steam.onPrepareOptionsMenu:(Landroid/view/Menu;)Z │ │ -41f10c: 7100 66b9 0000 |0000: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ -41f112: 0c00 |0003: move-result-object v0 │ │ -41f114: 6e10 69b9 0000 |0004: invoke-virtual {v0}, Lorg/purple/smoke/State;.isAuthenticated:()Z // method@b969 │ │ -41f11a: 0a00 |0007: move-result v0 │ │ -41f11c: 5431 705d |0008: iget-object v1, v3, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ -41f120: 6e10 d4b5 0100 |000a: invoke-virtual {v1}, Lorg/purple/smoke/Database;.accountPrepared:()Z // method@b5d4 │ │ -41f126: 0a01 |000d: move-result v1 │ │ -41f128: 1212 |000e: const/4 v2, #int 1 // #1 │ │ -41f12a: 3901 0300 |000f: if-nez v1, 0012 // +0003 │ │ -41f12e: 1210 |0011: const/4 v0, #int 1 // #1 │ │ -41f130: 1401 0200 087f |0012: const v1, #float 1.80775e+38 // #7f080002 │ │ -41f136: 7220 5c55 1400 |0015: invoke-interface {v4, v1}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ -41f13c: 0c01 |0018: move-result-object v1 │ │ -41f13e: b720 |0019: xor-int/2addr v0, v2 │ │ -41f140: 7220 7a55 0100 |001a: invoke-interface {v1, v0}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ -41f146: 1260 |001d: const/4 v0, #int 6 // #6 │ │ -41f148: 1301 fa00 |001e: const/16 v1, #int 250 // #fa │ │ -41f14c: 7130 d5b7 0401 |0020: invoke-static {v4, v0, v1}, Lorg/purple/smoke/Miscellaneous;.addMembersToMenu:(Landroid/view/Menu;II)Landroid/view/SubMenu; // method@b7d5 │ │ -41f152: 0f02 |0023: return v2 │ │ +41f0f8: |[41f0f8] org.purple.smoke.Steam.onPrepareOptionsMenu:(Landroid/view/Menu;)Z │ │ +41f108: 7100 66b9 0000 |0000: invoke-static {}, Lorg/purple/smoke/State;.getInstance:()Lorg/purple/smoke/State; // method@b966 │ │ +41f10e: 0c00 |0003: move-result-object v0 │ │ +41f110: 6e10 69b9 0000 |0004: invoke-virtual {v0}, Lorg/purple/smoke/State;.isAuthenticated:()Z // method@b969 │ │ +41f116: 0a00 |0007: move-result v0 │ │ +41f118: 5431 705d |0008: iget-object v1, v3, Lorg/purple/smoke/Steam;.m_databaseHelper:Lorg/purple/smoke/Database; // field@5d70 │ │ +41f11c: 6e10 d4b5 0100 |000a: invoke-virtual {v1}, Lorg/purple/smoke/Database;.accountPrepared:()Z // method@b5d4 │ │ +41f122: 0a01 |000d: move-result v1 │ │ +41f124: 1212 |000e: const/4 v2, #int 1 // #1 │ │ +41f126: 3901 0300 |000f: if-nez v1, 0012 // +0003 │ │ +41f12a: 1210 |0011: const/4 v0, #int 1 // #1 │ │ +41f12c: 1401 0200 087f |0012: const v1, #float 1.80775e+38 // #7f080002 │ │ +41f132: 7220 5c55 1400 |0015: invoke-interface {v4, v1}, Landroid/view/Menu;.findItem:(I)Landroid/view/MenuItem; // method@555c │ │ +41f138: 0c01 |0018: move-result-object v1 │ │ +41f13a: b720 |0019: xor-int/2addr v0, v2 │ │ +41f13c: 7220 7a55 0100 |001a: invoke-interface {v1, v0}, Landroid/view/MenuItem;.setEnabled:(Z)Landroid/view/MenuItem; // method@557a │ │ +41f142: 1260 |001d: const/4 v0, #int 6 // #6 │ │ +41f144: 1301 fa00 |001e: const/16 v1, #int 250 // #fa │ │ +41f148: 7130 d5b7 0401 |0020: invoke-static {v4, v0, v1}, Lorg/purple/smoke/Miscellaneous;.addMembersToMenu:(Landroid/view/Menu;II)Landroid/view/SubMenu; // method@b7d5 │ │ +41f14e: 0f02 |0023: return v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=795 │ │ 0x0008 line=797 │ │ 0x0015 line=804 │ │ 0x0020 line=805 │ │ locals : │ │ @@ -1546491,52 +1546490,52 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 85 16-bit code units │ │ -41f708: |[41f708] org.purple.smoke.Steam.onResume:()V │ │ -41f718: 6f10 fe3c 0400 |0000: invoke-super {v4}, Landroid/support/v7/app/AppCompatActivity;.onResume:()V // method@3cfe │ │ -41f71e: 7010 b2b9 0400 |0003: invoke-direct {v4}, Lorg/purple/smoke/Steam;.networkStatusChanged:()V // method@b9b2 │ │ -41f724: 5540 785d |0006: iget-boolean v0, v4, Lorg/purple/smoke/Steam;.m_receiverRegistered:Z // field@5d78 │ │ -41f728: 3900 3b00 |0008: if-nez v0, 0043 // +003b │ │ -41f72c: 2200 4a00 |000a: new-instance v0, Landroid/content/IntentFilter; // type@004a │ │ -41f730: 7010 cf01 0000 |000c: invoke-direct {v0}, Landroid/content/IntentFilter;.:()V // method@01cf │ │ -41f736: 1a01 c18f |000f: const-string v1, "org.purple.smoke.chat_message" // string@8fc1 │ │ -41f73a: 6e20 d001 1000 |0011: invoke-virtual {v0, v1}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ -41f740: 1a01 ca8f |0014: const-string v1, "org.purple.smoke.neighbor_connected" // string@8fca │ │ -41f744: 6e20 d001 1000 |0016: invoke-virtual {v0, v1}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ -41f74a: 1a01 cc8f |0019: const-string v1, "org.purple.smoke.network_connected" // string@8fcc │ │ -41f74e: 6e20 d001 1000 |001b: invoke-virtual {v0, v1}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ -41f754: 1a01 cd8f |001e: const-string v1, "org.purple.smoke.network_disconnected" // string@8fcd │ │ -41f758: 6e20 d001 1000 |0020: invoke-virtual {v0, v1}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ -41f75e: 1a01 d58f |0023: const-string v1, "org.purple.smoke.state_participants_populated" // string@8fd5 │ │ -41f762: 6e20 d001 1000 |0025: invoke-virtual {v0, v1}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ -41f768: 1a01 d68f |0028: const-string v1, "org.purple.smoke.steam_added" // string@8fd6 │ │ -41f76c: 6e20 d001 1000 |002a: invoke-virtual {v0, v1}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ -41f772: 1a01 d88f |002d: const-string v1, "org.purple.smoke.steam_status" // string@8fd8 │ │ -41f776: 6e20 d001 1000 |002f: invoke-virtual {v0, v1}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ -41f77c: 1a01 d98f |0032: const-string v1, "org.purple.smoke.time" // string@8fd9 │ │ -41f780: 6e20 d001 1000 |0034: invoke-virtual {v0, v1}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ -41f786: 7110 a41d 0400 |0037: invoke-static {v4}, Landroid/support/v4/content/LocalBroadcastManager;.getInstance:(Landroid/content/Context;)Landroid/support/v4/content/LocalBroadcastManager; // method@1da4 │ │ -41f78c: 0c01 |003a: move-result-object v1 │ │ -41f78e: 5442 775d |003b: iget-object v2, v4, Lorg/purple/smoke/Steam;.m_receiver:Lorg/purple/smoke/Steam$SteamBroadcastReceiver; // field@5d77 │ │ -41f792: 6e30 a51d 2100 |003d: invoke-virtual {v1, v2, v0}, Landroid/support/v4/content/LocalBroadcastManager;.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)V // method@1da5 │ │ -41f798: 1210 |0040: const/4 v0, #int 1 // #1 │ │ -41f79a: 5c40 785d |0041: iput-boolean v0, v4, Lorg/purple/smoke/Steam;.m_receiverRegistered:Z // field@5d78 │ │ -41f79e: 5440 6e5d |0043: iget-object v0, v4, Lorg/purple/smoke/Steam;.m_adapter:Landroid/support/v7/widget/RecyclerView$Adapter; // field@5d6e │ │ -41f7a2: 6e10 364c 0000 |0045: invoke-virtual {v0}, Landroid/support/v7/widget/RecyclerView$Adapter;.notifyDataSetChanged:()V // method@4c36 │ │ -41f7a8: 5440 755d |0048: iget-object v0, v4, Lorg/purple/smoke/Steam;.m_layoutManager:Lorg/purple/smoke/Steam$SteamLinearLayoutManager; // field@5d75 │ │ -41f7ac: 5441 795d |004a: iget-object v1, v4, Lorg/purple/smoke/Steam;.m_recyclerView:Landroid/support/v7/widget/RecyclerView; // field@5d79 │ │ -41f7b0: 1202 |004c: const/4 v2, #int 0 // #0 │ │ -41f7b2: 1203 |004d: const/4 v3, #int 0 // #0 │ │ -41f7b4: 6e40 9cb9 1032 |004e: invoke-virtual {v0, v1, v2, v3}, Lorg/purple/smoke/Steam$SteamLinearLayoutManager;.smoothScrollToPosition:(Landroid/support/v7/widget/RecyclerView;Landroid/support/v7/widget/RecyclerView$State;I)V // method@b99c │ │ -41f7ba: 7010 c0b9 0400 |0051: invoke-direct {v4}, Lorg/purple/smoke/Steam;.prepareSchedulers:()V // method@b9c0 │ │ -41f7c0: 0e00 |0054: return-void │ │ +41f704: |[41f704] org.purple.smoke.Steam.onResume:()V │ │ +41f714: 6f10 fe3c 0400 |0000: invoke-super {v4}, Landroid/support/v7/app/AppCompatActivity;.onResume:()V // method@3cfe │ │ +41f71a: 7010 b2b9 0400 |0003: invoke-direct {v4}, Lorg/purple/smoke/Steam;.networkStatusChanged:()V // method@b9b2 │ │ +41f720: 5540 785d |0006: iget-boolean v0, v4, Lorg/purple/smoke/Steam;.m_receiverRegistered:Z // field@5d78 │ │ +41f724: 3900 3b00 |0008: if-nez v0, 0043 // +003b │ │ +41f728: 2200 4a00 |000a: new-instance v0, Landroid/content/IntentFilter; // type@004a │ │ +41f72c: 7010 cf01 0000 |000c: invoke-direct {v0}, Landroid/content/IntentFilter;.:()V // method@01cf │ │ +41f732: 1a01 c18f |000f: const-string v1, "org.purple.smoke.chat_message" // string@8fc1 │ │ +41f736: 6e20 d001 1000 |0011: invoke-virtual {v0, v1}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ +41f73c: 1a01 ca8f |0014: const-string v1, "org.purple.smoke.neighbor_connected" // string@8fca │ │ +41f740: 6e20 d001 1000 |0016: invoke-virtual {v0, v1}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ +41f746: 1a01 cc8f |0019: const-string v1, "org.purple.smoke.network_connected" // string@8fcc │ │ +41f74a: 6e20 d001 1000 |001b: invoke-virtual {v0, v1}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ +41f750: 1a01 cd8f |001e: const-string v1, "org.purple.smoke.network_disconnected" // string@8fcd │ │ +41f754: 6e20 d001 1000 |0020: invoke-virtual {v0, v1}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ +41f75a: 1a01 d58f |0023: const-string v1, "org.purple.smoke.state_participants_populated" // string@8fd5 │ │ +41f75e: 6e20 d001 1000 |0025: invoke-virtual {v0, v1}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ +41f764: 1a01 d68f |0028: const-string v1, "org.purple.smoke.steam_added" // string@8fd6 │ │ +41f768: 6e20 d001 1000 |002a: invoke-virtual {v0, v1}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ +41f76e: 1a01 d88f |002d: const-string v1, "org.purple.smoke.steam_status" // string@8fd8 │ │ +41f772: 6e20 d001 1000 |002f: invoke-virtual {v0, v1}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ +41f778: 1a01 d98f |0032: const-string v1, "org.purple.smoke.time" // string@8fd9 │ │ +41f77c: 6e20 d001 1000 |0034: invoke-virtual {v0, v1}, Landroid/content/IntentFilter;.addAction:(Ljava/lang/String;)V // method@01d0 │ │ +41f782: 7110 a41d 0400 |0037: invoke-static {v4}, Landroid/support/v4/content/LocalBroadcastManager;.getInstance:(Landroid/content/Context;)Landroid/support/v4/content/LocalBroadcastManager; // method@1da4 │ │ +41f788: 0c01 |003a: move-result-object v1 │ │ +41f78a: 5442 775d |003b: iget-object v2, v4, Lorg/purple/smoke/Steam;.m_receiver:Lorg/purple/smoke/Steam$SteamBroadcastReceiver; // field@5d77 │ │ +41f78e: 6e30 a51d 2100 |003d: invoke-virtual {v1, v2, v0}, Landroid/support/v4/content/LocalBroadcastManager;.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)V // method@1da5 │ │ +41f794: 1210 |0040: const/4 v0, #int 1 // #1 │ │ +41f796: 5c40 785d |0041: iput-boolean v0, v4, Lorg/purple/smoke/Steam;.m_receiverRegistered:Z // field@5d78 │ │ +41f79a: 5440 6e5d |0043: iget-object v0, v4, Lorg/purple/smoke/Steam;.m_adapter:Landroid/support/v7/widget/RecyclerView$Adapter; // field@5d6e │ │ +41f79e: 6e10 364c 0000 |0045: invoke-virtual {v0}, Landroid/support/v7/widget/RecyclerView$Adapter;.notifyDataSetChanged:()V // method@4c36 │ │ +41f7a4: 5440 755d |0048: iget-object v0, v4, Lorg/purple/smoke/Steam;.m_layoutManager:Lorg/purple/smoke/Steam$SteamLinearLayoutManager; // field@5d75 │ │ +41f7a8: 5441 795d |004a: iget-object v1, v4, Lorg/purple/smoke/Steam;.m_recyclerView:Landroid/support/v7/widget/RecyclerView; // field@5d79 │ │ +41f7ac: 1202 |004c: const/4 v2, #int 0 // #0 │ │ +41f7ae: 1203 |004d: const/4 v3, #int 0 // #0 │ │ +41f7b0: 6e40 9cb9 1032 |004e: invoke-virtual {v0, v1, v2, v3}, Lorg/purple/smoke/Steam$SteamLinearLayoutManager;.smoothScrollToPosition:(Landroid/support/v7/widget/RecyclerView;Landroid/support/v7/widget/RecyclerView$State;I)V // method@b99c │ │ +41f7b6: 7010 c0b9 0400 |0051: invoke-direct {v4}, Lorg/purple/smoke/Steam;.prepareSchedulers:()V // method@b9c0 │ │ +41f7bc: 0e00 |0054: return-void │ │ catches : 1 │ │ 0x0043 - 0x0051 │ │ Ljava/lang/Exception; -> 0x0051 │ │ positions : │ │ 0x0000 line=561 │ │ 0x0003 line=562 │ │ 0x0006 line=564 │ │ @@ -1546563,19 +1546562,19 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 9 16-bit code units │ │ -41fb08: |[41fb08] org.purple.smoke.Steam.showContextMenu:(Landroid/view/View;)V │ │ -41fb18: 3801 0800 |0000: if-eqz v1, 0008 // +0008 │ │ -41fb1c: 6e20 c2b9 1000 |0002: invoke-virtual {v0, v1}, Lorg/purple/smoke/Steam;.registerForContextMenu:(Landroid/view/View;)V // method@b9c2 │ │ -41fb22: 6e20 bdb9 1000 |0005: invoke-virtual {v0, v1}, Lorg/purple/smoke/Steam;.openContextMenu:(Landroid/view/View;)V // method@b9bd │ │ -41fb28: 0e00 |0008: return-void │ │ +41fb04: |[41fb04] org.purple.smoke.Steam.showContextMenu:(Landroid/view/View;)V │ │ +41fb14: 3801 0800 |0000: if-eqz v1, 0008 // +0008 │ │ +41fb18: 6e20 c2b9 1000 |0002: invoke-virtual {v0, v1}, Lorg/purple/smoke/Steam;.registerForContextMenu:(Landroid/view/View;)V // method@b9c2 │ │ +41fb1e: 6e20 bdb9 1000 |0005: invoke-virtual {v0, v1}, Lorg/purple/smoke/Steam;.openContextMenu:(Landroid/view/View;)V // method@b9bd │ │ +41fb24: 0e00 |0008: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=823 │ │ 0x0005 line=824 │ │ locals : │ │ 0x0000 - 0x0009 reg=0 this Lorg/purple/smoke/Steam; │ │ 0x0000 - 0x0009 reg=1 (null) Landroid/view/View; │ ├── classes.jar │ │ ├── zipinfo {} │ │ │ @@ -1,8 +1,8 @@ │ │ │ -Zip file size: 11759469 bytes, number of entries: 5910 │ │ │ +Zip file size: 11759454 bytes, number of entries: 5910 │ │ │ ?rwxrwxr-x 2.0 unx 125 b- stor 80-Jan-01 00:00 android/support/annotation/AnimRes.class │ │ │ ?rwxrwxr-x 2.0 unx 129 b- stor 80-Jan-01 00:00 android/support/annotation/AnimatorRes.class │ │ │ ?rwxrwxr-x 2.0 unx 124 b- stor 80-Jan-01 00:00 android/support/annotation/AnyRes.class │ │ │ ?rwxrwxr-x 2.0 unx 127 b- stor 80-Jan-01 00:00 android/support/annotation/AnyThread.class │ │ │ ?rwxrwxr-x 2.0 unx 126 b- stor 80-Jan-01 00:00 android/support/annotation/ArrayRes.class │ │ │ ?rwxrwxr-x 2.0 unx 125 b- stor 80-Jan-01 00:00 android/support/annotation/AttrRes.class │ │ │ ?rwxrwxr-x 2.0 unx 130 b- stor 80-Jan-01 00:00 android/support/annotation/BinderThread.class │ │ │ @@ -2635,15 +2635,15 @@ │ │ │ ?rwxrwxr-x 2.0 unx 949 b- stor 80-Jan-01 00:00 org/purple/smoke/Settings$31.class │ │ │ ?rwxrwxr-x 2.0 unx 573 b- stor 80-Jan-01 00:00 org/purple/smoke/Settings$32.class │ │ │ ?rwxrwxr-x 2.0 unx 825 b- stor 80-Jan-01 00:00 org/purple/smoke/Settings$33.class │ │ │ ?rwxrwxr-x 2.0 unx 804 b- stor 80-Jan-01 00:00 org/purple/smoke/Settings$34.class │ │ │ ?rwxrwxr-x 2.0 unx 1471 b- stor 80-Jan-01 00:00 org/purple/smoke/Settings$35.class │ │ │ ?rwxrwxr-x 2.0 unx 1083 b- stor 80-Jan-01 00:00 org/purple/smoke/Settings$36.class │ │ │ ?rwxrwxr-x 2.0 unx 757 b- stor 80-Jan-01 00:00 org/purple/smoke/Settings$37.class │ │ │ -?rwxrwxr-x 2.0 unx 1050 b- stor 80-Jan-01 00:00 org/purple/smoke/Settings$38.class │ │ │ +?rwxrwxr-x 2.0 unx 1035 b- stor 80-Jan-01 00:00 org/purple/smoke/Settings$38.class │ │ │ ?rwxrwxr-x 2.0 unx 749 b- stor 80-Jan-01 00:00 org/purple/smoke/Settings$39.class │ │ │ ?rwxrwxr-x 2.0 unx 1381 b- stor 80-Jan-01 00:00 org/purple/smoke/Settings$3.class │ │ │ ?rwxrwxr-x 2.0 unx 3134 b- stor 80-Jan-01 00:00 org/purple/smoke/Settings$3SingleShot$1.class │ │ │ ?rwxrwxr-x 2.0 unx 6067 b- stor 80-Jan-01 00:00 org/purple/smoke/Settings$3SingleShot.class │ │ │ ?rwxrwxr-x 2.0 unx 2038 b- stor 80-Jan-01 00:00 org/purple/smoke/Settings$40.class │ │ │ ?rwxrwxr-x 2.0 unx 1557 b- stor 80-Jan-01 00:00 org/purple/smoke/Settings$4.class │ │ │ ?rwxrwxr-x 2.0 unx 1781 b- stor 80-Jan-01 00:00 org/purple/smoke/Settings$4SingleShot$1.class │ │ │ @@ -5905,8 +5905,8 @@ │ │ │ ?rwxrwxr-x 2.0 unx 770 b- stor 80-Jan-01 00:00 android/support/v4/view/ViewCompat$KitKatViewCompatImpl.class │ │ │ ?rwxrwxr-x 2.0 unx 829 b- stor 80-Jan-01 00:00 android/support/v4/view/accessibility/AccessibilityNodeInfoCompat$AccessibilityNodeInfoApi22Impl.class │ │ │ ?rwxrwxr-x 2.0 unx 3468 b- stor 80-Jan-01 00:00 android/support/v4/view/ViewCompat$LollipopViewCompatImpl.class │ │ │ ?rwxrwxr-x 2.0 unx 1008 b- stor 80-Jan-01 00:00 android/support/v4/view/accessibility/AccessibilityNodeInfoCompat$AccessibilityNodeInfoApi23Impl.class │ │ │ ?rwxrwxr-x 2.0 unx 641 b- stor 80-Jan-01 00:00 android/support/v4/view/ViewCompat$MarshmallowViewCompatImpl.class │ │ │ ?rwxrwxr-x 2.0 unx 814 b- stor 80-Jan-01 00:00 android/support/v4/view/accessibility/AccessibilityNodeInfoCompat$AccessibilityNodeInfoApi24Impl.class │ │ │ ?rwxrwxr-x 2.0 unx 539 b- stor 80-Jan-01 00:00 android/support/v4/view/ViewCompat$Api24ViewCompatImpl.class │ │ │ -5910 files, 12440249 bytes uncompressed, 10606867 bytes compressed: 14.7% │ │ │ +5910 files, 12440234 bytes uncompressed, 10606852 bytes compressed: 14.7% │ │ ├── org/purple/smoke/About.class │ │ │ ├── procyon -ec {} │ │ │ │ @@ -38,15 +38,15 @@ │ │ │ │ final StringBuilder sb = new StringBuilder(); │ │ │ │ sb.append("Bouncy Castle Version "); │ │ │ │ try { │ │ │ │ sb.append(new BouncyCastleProvider().getVersion()); │ │ │ │ sb.append("\nSmoke Version 2022.04.10 Smudge (Final) "); │ │ │ │ sb.append("(Release)"); │ │ │ │ sb.append("\nBuild Date "); │ │ │ │ - final Date date = new Date(1649689680602L); │ │ │ │ + final Date date = new Date(1660464554775L); │ │ │ │ final SimpleDateFormat simpleDateFormat = s_simpleDateFormat; │ │ │ │ try { │ │ │ │ sb.append(simpleDateFormat.format(date)); │ │ │ │ sb.append(" UTC\nAndroid "); │ │ │ │ sb.append(Build$VERSION.RELEASE); │ │ │ │ String str; │ │ │ │ if (Build$VERSION.SDK_INT < 21) { │ │ ├── org/purple/smoke/BuildConfig.class │ │ │ ├── procyon -ec {} │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ package org.purple.smoke; │ │ │ │ │ │ │ │ public final class BuildConfig │ │ │ │ { │ │ │ │ public static final String APPLICATION_ID = "org.purple.smoke"; │ │ │ │ - public static final long BUILD_TIME = 1649689680602L; │ │ │ │ + public static final long BUILD_TIME = 1660464554775L; │ │ │ │ public static final String BUILD_TYPE = "release"; │ │ │ │ public static final boolean DEBUG = false; │ │ │ │ public static final String SMOKE_IPV4_HOST = "127.0.0.1"; │ │ │ │ public static final String SMOKE_IPV4_PORT = "4710"; │ │ │ │ public static final int VERSION_CODE = 20220410; │ │ │ │ public static final String VERSION_NAME = "2022.04.10"; │ │ │ │ } │ │ ├── org/purple/smoke/Settings$38.class │ │ │ ├── procyon -ec {} │ │ │ │ @@ -17,46 +17,43 @@ │ │ │ │ try { │ │ │ │ final Database access$400 = Settings.access$400(this$0); │ │ │ │ try { │ │ │ │ final ArrayList neighbors = access$400.readNeighbors(Settings.access$300()); │ │ │ │ try { │ │ │ │ final Settings this$2 = this.this$0; │ │ │ │ try { │ │ │ │ + final Settings$PopulateNeighbors settings$PopulateNeighbors = new Settings$PopulateNeighbors(this$2, neighbors); │ │ │ │ + final Settings settings = this$2; │ │ │ │ try { │ │ │ │ - final Settings$PopulateNeighbors settings$PopulateNeighbors = new Settings$PopulateNeighbors(this.this$0, neighbors); │ │ │ │ - final Settings settings = this$2; │ │ │ │ + settings.runOnUiThread((Runnable)settings$PopulateNeighbors); │ │ │ │ + final Settings this$3 = this.this$0; │ │ │ │ try { │ │ │ │ - settings.runOnUiThread((Runnable)settings$PopulateNeighbors); │ │ │ │ - final Settings this$3 = this.this$0; │ │ │ │ + final Database access$401 = Settings.access$400(this$3); │ │ │ │ try { │ │ │ │ - final Database access$401 = Settings.access$400(this$3); │ │ │ │ + access$401.cleanDanglingOutboundQueued(); │ │ │ │ + final Settings this$4 = this.this$0; │ │ │ │ try { │ │ │ │ - access$401.cleanDanglingOutboundQueued(); │ │ │ │ - final Settings this$4 = this.this$0; │ │ │ │ + final Database access$402 = Settings.access$400(this$4); │ │ │ │ try { │ │ │ │ - final Database access$402 = Settings.access$400(this$4); │ │ │ │ - try { │ │ │ │ - access$402.cleanDanglingParticipants(); │ │ │ │ - } │ │ │ │ - catch (Exception ex) {} │ │ │ │ + access$402.cleanDanglingParticipants(); │ │ │ │ } │ │ │ │ - catch (Exception ex2) {} │ │ │ │ + catch (Exception ex) {} │ │ │ │ } │ │ │ │ - catch (Exception ex3) {} │ │ │ │ + catch (Exception ex2) {} │ │ │ │ } │ │ │ │ - catch (Exception ex4) {} │ │ │ │ + catch (Exception ex3) {} │ │ │ │ } │ │ │ │ - catch (Exception ex5) {} │ │ │ │ + catch (Exception ex4) {} │ │ │ │ } │ │ │ │ - catch (Exception ex6) {} │ │ │ │ + catch (Exception ex5) {} │ │ │ │ } │ │ │ │ - catch (Exception ex7) {} │ │ │ │ + catch (Exception ex6) {} │ │ │ │ } │ │ │ │ - catch (Exception ex8) {} │ │ │ │ + catch (Exception ex7) {} │ │ │ │ } │ │ │ │ - catch (Exception ex9) {} │ │ │ │ + catch (Exception ex8) {} │ │ │ │ } │ │ │ │ - catch (Exception ex10) {} │ │ │ │ + catch (Exception ex9) {} │ │ │ │ } │ │ │ │ - catch (Exception ex11) {} │ │ │ │ + catch (Exception ex10) {} │ │ │ │ } │ │ │ │ } ├── smali/org/purple/smoke/Settings$38.smali │ @@ -32,15 +32,15 @@ │ │ return-void │ .end method │ │ │ # virtual methods │ .method public run()V │ - .locals 4 │ + .locals 3 │ │ .line 3193 │ :try_start_0 │ iget-object v0, p0, Lorg/purple/smoke/Settings$38;->this$0:Lorg/purple/smoke/Settings; │ │ .line 3194 │ invoke-static {v0}, Lorg/purple/smoke/Settings;->access$400(Lorg/purple/smoke/Settings;)Lorg/purple/smoke/Database; │ @@ -56,17 +56,15 @@ │ move-result-object v0 │ │ .line 3196 │ iget-object v1, p0, Lorg/purple/smoke/Settings$38;->this$0:Lorg/purple/smoke/Settings; │ │ new-instance v2, Lorg/purple/smoke/Settings$PopulateNeighbors; │ │ - iget-object v3, p0, Lorg/purple/smoke/Settings$38;->this$0:Lorg/purple/smoke/Settings; │ - │ - invoke-direct {v2, v3, v0}, Lorg/purple/smoke/Settings$PopulateNeighbors;->(Lorg/purple/smoke/Settings;Ljava/util/ArrayList;)V │ + invoke-direct {v2, v1, v0}, Lorg/purple/smoke/Settings$PopulateNeighbors;->(Lorg/purple/smoke/Settings;Ljava/util/ArrayList;)V │ │ .line 3197 │ invoke-virtual {v1, v2}, Lorg/purple/smoke/Settings;->runOnUiThread(Ljava/lang/Runnable;)V │ │ .line 3198 │ iget-object v0, p0, Lorg/purple/smoke/Settings$38;->this$0:Lorg/purple/smoke/Settings; ├── smali/org/purple/smoke/About.smali │ @@ -102,15 +102,15 @@ │ │ const-string v3, "\nBuild Date " │ │ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ new-instance v3, Ljava/util/Date; │ │ - const-wide v4, 0x180192adadaL │ + const-wide v4, 0x1829b666317L │ │ invoke-direct {v3, v4, v5}, Ljava/util/Date;->(J)V │ │ .line 62 │ invoke-virtual {v1, v3}, Ljava/text/SimpleDateFormat;->format(Ljava/util/Date;)Ljava/lang/String; │ │ move-result-object v1 ├── smali/org/purple/smoke/BuildConfig.smali │ @@ -2,15 +2,15 @@ │ .super Ljava/lang/Object; │ .source "BuildConfig.java" │ │ │ # static fields │ .field public static final APPLICATION_ID:Ljava/lang/String; = "org.purple.smoke" │ │ -.field public static final BUILD_TIME:J = 0x180192adadaL │ +.field public static final BUILD_TIME:J = 0x1829b666317L │ │ .field public static final BUILD_TYPE:Ljava/lang/String; = "release" │ │ .field public static final DEBUG:Z = false │ │ .field public static final SMOKE_IPV4_HOST:Ljava/lang/String; = "127.0.0.1"