--- /home/fdroid/fdroiddata/tmp/dnsfilter.android_1505701.apk +++ /home/fdroid/fdroiddata/tmp/sigcp_dnsfilter.android_1505701.apk ├── zipinfo {} │ @@ -1,11 +1,11 @@ │ Zip file size: 624993 bytes, number of entries: 405 │ -rw-r--r-- 0.0 unx 56 b- defN 81-Jan-01 01:01 META-INF/com/android/build/gradle/app-metadata.properties │ -rw-r--r-- 0.0 unx 120 b- defN 81-Jan-01 01:01 META-INF/version-control-info.textproto │ --rw-r--r-- 0.0 unx 270104 b- defN 81-Jan-01 01:01 classes.dex │ +-rw-r--r-- 0.0 unx 270100 b- defN 81-Jan-01 01:01 classes.dex │ -rw-r--r-- 0.0 unx 1144 b- defN 81-Jan-01 01:01 assets/additionalHosts.txt │ -rw-r--r-- 0.0 unx 11656 b- defN 81-Jan-01 01:01 assets/dnsfilter-1505401.conf │ -rw-r--r-- 0.0 unx 12306 b- defN 81-Jan-01 01:01 assets/dnsfilter.conf │ -rw---- 0.0 fat 6144 b- defN 81-Jan-01 01:01 AndroidManifest.xml │ -rw---- 0.0 fat 328 b- stor 81-Jan-01 01:01 res/--.png │ -rw---- 0.0 fat 427 b- stor 81-Jan-01 01:01 res/-b.png │ -rw---- 0.0 fat 190 b- stor 81-Jan-01 01:01 res/-c.png │ @@ -400,8 +400,8 @@ │ -rw---- 0.0 fat 4164 b- stor 81-Jan-01 01:01 res/zr.png │ -rw---- 0.0 fat 1144 b- defN 81-Jan-01 01:01 res/zs.xml │ -rw---- 0.0 fat 863 b- stor 81-Jan-01 01:01 res/zt.png │ -rw---- 0.0 fat 119820 b- stor 81-Jan-01 01:01 resources.arsc │ -rw---- 2.0 fat 25607 b- defN 81-Jan-01 01:01 META-INF/5C450DCE.SF │ -rw---- 2.0 fat 1326 b- defN 81-Jan-01 01:01 META-INF/5C450DCE.RSA │ -rw---- 2.0 fat 25499 b- defN 81-Jan-01 01:01 META-INF/MANIFEST.MF │ -405 files, 947988 bytes uncompressed, 580960 bytes compressed: 38.7% │ +405 files, 947984 bytes uncompressed, 580960 bytes compressed: 38.7% ├── 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 : 880a8895 │ │ -signature : 7a05...357d │ │ -file_size : 270104 │ │ +checksum : 9a4e7d50 │ │ +signature : 3e54...0913 │ │ +file_size : 270100 │ │ header_size : 112 │ │ link_size : 0 │ │ link_off : 0 (0x000000) │ │ string_ids_size : 2977 │ │ string_ids_off : 112 (0x000070) │ │ type_ids_size : 436 │ │ type_ids_off : 12020 (0x002ef4) │ │ @@ -15,15 +15,15 @@ │ │ proto_ids_off : 13764 (0x0035c4) │ │ field_ids_size : 948 │ │ field_ids_off : 21120 (0x005280) │ │ method_ids_size : 2017 │ │ method_ids_off : 28704 (0x007020) │ │ class_defs_size : 150 │ │ class_defs_off : 44840 (0x00af28) │ │ -data_size : 220464 │ │ +data_size : 220460 │ │ data_off : 49640 (0x00c1e8) │ │ │ │ Class #0 header: │ │ class_idx : 118 │ │ access_flags : 4096 (0x1000) │ │ superclass_idx : 288 │ │ source_file_idx : 219 │ │ @@ -8774,15 +8774,15 @@ │ │ name : 'run' │ │ type : '()V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 12 │ │ ins : 1 │ │ outs : 6 │ │ - insns size : 371 16-bit code units │ │ + insns size : 370 16-bit code units │ │ 0159e0: |[0159e0] dnsfilter.android.AppSelectorView$AsyncLoader.run:()V │ │ 0159f0: 1a00 5000 |0000: const-string v0, "," // string@0050 │ │ 0159f4: 1d0b |0002: monitor-enter v11 │ │ 0159f6: 7100 2b02 0000 |0003: invoke-static {}, Ldnsfilter/android/AppSelectorView;.access$100:()I // method@022b │ │ 0159fc: 0a01 |0006: move-result v1 │ │ 0159fe: 3901 1b00 |0007: if-nez v1, 0022 // +001b │ │ 015a02: 54b1 9700 |0009: iget-object v1, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ @@ -8906,17 +8906,17 @@ │ │ 015bf8: 0c02 |0104: move-result-object v2 │ │ 015bfa: 1f02 a101 |0105: check-cast v2, [Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // type@01a1 │ │ 015bfe: 7120 3702 2000 |0107: invoke-static {v0, v2}, Ldnsfilter/android/AppSelectorView;.access$802:(Ldnsfilter/android/AppSelectorView;[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // method@0237 │ │ 015c04: 54b0 9700 |010a: iget-object v0, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ 015c08: 7110 3602 0000 |010c: invoke-static {v0}, Ldnsfilter/android/AppSelectorView;.access$800:(Ldnsfilter/android/AppSelectorView;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // method@0236 │ │ 015c0e: 0c00 |010f: move-result-object v0 │ │ 015c10: 2100 |0110: array-length v0, v0 │ │ -015c12: 3504 4000 |0111: if-ge v4, v0, 0151 // +0040 │ │ +015c12: 3504 3f00 |0111: if-ge v4, v0, 0150 // +003f │ │ 015c16: 55b0 9600 |0113: iget-boolean v0, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.abort:Z // field@0096 │ │ -015c1a: 3900 3c00 |0115: if-nez v0, 0151 // +003c │ │ +015c1a: 3900 3b00 |0115: if-nez v0, 0150 // +003b │ │ 015c1e: 54b0 9700 |0117: iget-object v0, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ 015c22: 7110 3602 0000 |0119: invoke-static {v0}, Ldnsfilter/android/AppSelectorView;.access$800:(Ldnsfilter/android/AppSelectorView;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // method@0236 │ │ 015c28: 0c00 |011c: move-result-object v0 │ │ 015c2a: 4600 0004 |011d: aget-object v0, v0, v4 │ │ 015c2e: 7110 2002 0000 |011f: invoke-static {v0}, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.access$900:(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)Landroid/content/pm/ApplicationInfo; // method@0220 │ │ 015c34: 0c00 |0122: move-result-object v0 │ │ 015c36: 54b2 9700 |0123: iget-object v2, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ @@ -8927,54 +8927,54 @@ │ │ 015c4a: 54b2 9700 |012d: iget-object v2, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ 015c4e: 7100 2b02 0000 |012f: invoke-static {}, Ldnsfilter/android/AppSelectorView;.access$100:()I // method@022b │ │ 015c54: 0a03 |0132: move-result v3 │ │ 015c56: 7130 2c02 0203 |0133: invoke-static {v2, v0, v3}, Ldnsfilter/android/AppSelectorView;.access$1000:(Ldnsfilter/android/AppSelectorView;Landroid/graphics/drawable/Drawable;I)Landroid/graphics/drawable/Drawable; // method@022c │ │ 015c5c: 0c08 |0136: move-result-object v8 │ │ 015c5e: 54b0 9700 |0137: iget-object v0, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ 015c62: 2202 9700 |0139: new-instance v2, Ldnsfilter/android/AppSelectorView$UIUpdate; // type@0097 │ │ -015c66: 54b6 9700 |013b: iget-object v6, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ -015c6a: 7110 3602 0600 |013d: invoke-static {v6}, Ldnsfilter/android/AppSelectorView;.access$800:(Ldnsfilter/android/AppSelectorView;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // method@0236 │ │ -015c70: 0c03 |0140: move-result-object v3 │ │ -015c72: 4603 0304 |0141: aget-object v3, v3, v4 │ │ -015c76: 5437 9900 |0143: iget-object v7, v3, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ -015c7a: 120a |0145: const/4 v10, #int 0 // #0 │ │ -015c7c: 0725 |0146: move-object v5, v2 │ │ -015c7e: 07b9 |0147: move-object v9, v11 │ │ -015c80: 7606 2402 0500 |0148: invoke-direct/range {v5, v6, v7, v8, v9, v10}, Ldnsfilter/android/AppSelectorView$UIUpdate;.:(Ldnsfilter/android/AppSelectorView;Landroid/widget/CheckBox;Landroid/graphics/drawable/Drawable;Ldnsfilter/android/AppSelectorView$AsyncLoader;Ldnsfilter/android/AppSelectorView$1;)V // method@0224 │ │ -015c86: 6e20 3f02 2000 |014b: invoke-virtual {v0, v2}, Ldnsfilter/android/AppSelectorView;.post:(Ljava/lang/Runnable;)Z // method@023f │ │ -015c8c: d804 0401 |014e: add-int/lit8 v4, v4, #int 1 // #01 │ │ -015c90: 28ba |0150: goto 010a // -0046 │ │ -015c92: 54b0 9700 |0151: iget-object v0, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ -015c96: 55b2 9600 |0153: iget-boolean v2, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.abort:Z // field@0096 │ │ -015c9a: df02 0201 |0155: xor-int/lit8 v2, v2, #int 1 // #01 │ │ -015c9e: 7120 2e02 2000 |0157: invoke-static {v0, v2}, Ldnsfilter/android/AppSelectorView;.access$1202:(Ldnsfilter/android/AppSelectorView;Z)Z // method@022e │ │ -015ca4: 54b0 9700 |015a: iget-object v0, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ -015ca8: 7120 3002 1000 |015c: invoke-static {v0, v1}, Ldnsfilter/android/AppSelectorView;.access$1302:(Ldnsfilter/android/AppSelectorView;Ldnsfilter/android/AppSelectorView$AsyncLoader;)Ldnsfilter/android/AppSelectorView$AsyncLoader; // method@0230 │ │ -015cae: 6e10 5305 0b00 |015f: invoke-virtual {v11}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ -015cb4: 1e0b |0162: monitor-exit v11 │ │ -015cb6: 0e00 |0163: return-void │ │ -015cb8: 0d00 |0164: move-exception v0 │ │ -015cba: 54b2 9700 |0165: iget-object v2, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ -015cbe: 7120 3002 1200 |0167: invoke-static {v2, v1}, Ldnsfilter/android/AppSelectorView;.access$1302:(Ldnsfilter/android/AppSelectorView;Ldnsfilter/android/AppSelectorView$AsyncLoader;)Ldnsfilter/android/AppSelectorView$AsyncLoader; // method@0230 │ │ -015cc4: 6e10 5305 0b00 |016a: invoke-virtual {v11}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ -015cca: 2700 |016d: throw v0 │ │ -015ccc: 0d00 |016e: move-exception v0 │ │ -015cce: 1e0b |016f: monitor-exit v11 │ │ -015cd0: 2802 |0170: goto 0172 // +0002 │ │ -015cd2: 2700 |0171: throw v0 │ │ -015cd4: 28ff |0172: goto 0171 // -0001 │ │ +015c66: 7110 3602 0000 |013b: invoke-static {v0}, Ldnsfilter/android/AppSelectorView;.access$800:(Ldnsfilter/android/AppSelectorView;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // method@0236 │ │ +015c6c: 0c03 |013e: move-result-object v3 │ │ +015c6e: 4603 0304 |013f: aget-object v3, v3, v4 │ │ +015c72: 5437 9900 |0141: iget-object v7, v3, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ +015c76: 120a |0143: const/4 v10, #int 0 // #0 │ │ +015c78: 0725 |0144: move-object v5, v2 │ │ +015c7a: 0706 |0145: move-object v6, v0 │ │ +015c7c: 07b9 |0146: move-object v9, v11 │ │ +015c7e: 7606 2402 0500 |0147: invoke-direct/range {v5, v6, v7, v8, v9, v10}, Ldnsfilter/android/AppSelectorView$UIUpdate;.:(Ldnsfilter/android/AppSelectorView;Landroid/widget/CheckBox;Landroid/graphics/drawable/Drawable;Ldnsfilter/android/AppSelectorView$AsyncLoader;Ldnsfilter/android/AppSelectorView$1;)V // method@0224 │ │ +015c84: 6e20 3f02 2000 |014a: invoke-virtual {v0, v2}, Ldnsfilter/android/AppSelectorView;.post:(Ljava/lang/Runnable;)Z // method@023f │ │ +015c8a: d804 0401 |014d: add-int/lit8 v4, v4, #int 1 // #01 │ │ +015c8e: 28bb |014f: goto 010a // -0045 │ │ +015c90: 54b0 9700 |0150: iget-object v0, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ +015c94: 55b2 9600 |0152: iget-boolean v2, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.abort:Z // field@0096 │ │ +015c98: df02 0201 |0154: xor-int/lit8 v2, v2, #int 1 // #01 │ │ +015c9c: 7120 2e02 2000 |0156: invoke-static {v0, v2}, Ldnsfilter/android/AppSelectorView;.access$1202:(Ldnsfilter/android/AppSelectorView;Z)Z // method@022e │ │ +015ca2: 54b0 9700 |0159: iget-object v0, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ +015ca6: 7120 3002 1000 |015b: invoke-static {v0, v1}, Ldnsfilter/android/AppSelectorView;.access$1302:(Ldnsfilter/android/AppSelectorView;Ldnsfilter/android/AppSelectorView$AsyncLoader;)Ldnsfilter/android/AppSelectorView$AsyncLoader; // method@0230 │ │ +015cac: 6e10 5305 0b00 |015e: invoke-virtual {v11}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ +015cb2: 1e0b |0161: monitor-exit v11 │ │ +015cb4: 0e00 |0162: return-void │ │ +015cb6: 0d00 |0163: move-exception v0 │ │ +015cb8: 54b2 9700 |0164: iget-object v2, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ +015cbc: 7120 3002 1200 |0166: invoke-static {v2, v1}, Ldnsfilter/android/AppSelectorView;.access$1302:(Ldnsfilter/android/AppSelectorView;Ldnsfilter/android/AppSelectorView$AsyncLoader;)Ldnsfilter/android/AppSelectorView$AsyncLoader; // method@0230 │ │ +015cc2: 6e10 5305 0b00 |0169: invoke-virtual {v11}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ +015cc8: 2700 |016c: throw v0 │ │ +015cca: 0d00 |016d: move-exception v0 │ │ +015ccc: 1e0b |016e: monitor-exit v11 │ │ +015cce: 2802 |016f: goto 0171 // +0002 │ │ +015cd0: 2700 |0170: throw v0 │ │ +015cd2: 28ff |0171: goto 0170 // -0001 │ │ catches : 4 │ │ 0x0003 - 0x0024 │ │ - -> 0x016e │ │ - 0x0029 - 0x015a │ │ - -> 0x0164 │ │ - 0x015a - 0x0162 │ │ - -> 0x016e │ │ - 0x0165 - 0x016e │ │ - -> 0x016e │ │ + -> 0x016d │ │ + 0x0029 - 0x0159 │ │ + -> 0x0163 │ │ + 0x0159 - 0x0161 │ │ + -> 0x016d │ │ + 0x0164 - 0x016d │ │ + -> 0x016d │ │ positions : │ │ 0x0003 line=112 │ │ 0x0009 line=113 │ │ 0x0015 line=114 │ │ 0x0022 line=117 │ │ 0x0026 line=118 │ │ 0x0029 line=122 │ │ @@ -8991,23 +8991,23 @@ │ │ 0x00e4 line=142 │ │ 0x00f3 line=146 │ │ 0x00fd line=155 │ │ 0x010a line=157 │ │ 0x0117 line=158 │ │ 0x012d line=159 │ │ 0x0137 line=160 │ │ - 0x0151 line=162 │ │ - 0x015a line=165 │ │ - 0x015f line=166 │ │ - 0x0162 line=168 │ │ - 0x0165 line=165 │ │ - 0x016a line=166 │ │ - 0x016d line=167 │ │ + 0x0150 line=162 │ │ + 0x0159 line=165 │ │ + 0x015e line=166 │ │ + 0x0161 line=168 │ │ + 0x0164 line=165 │ │ + 0x0169 line=166 │ │ + 0x016c line=167 │ │ locals : │ │ - 0x0000 - 0x0173 reg=11 this Ldnsfilter/android/AppSelectorView$AsyncLoader; │ │ + 0x0000 - 0x0172 reg=11 this Ldnsfilter/android/AppSelectorView$AsyncLoader; │ │ │ │ source_file_idx : 198 (AppSelectorView.java) │ │ │ │ Class #24 header: │ │ class_idx : 150 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 288 │ │ @@ -9053,29 +9053,29 @@ │ │ type : '(Ldnsfilter/android/AppSelectorView;Landroid/content/pm/ApplicationInfo;Landroid/widget/CheckBox;)V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 1 │ │ insns size : 27 16-bit code units │ │ -015d6c: |[015d6c] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.:(Ldnsfilter/android/AppSelectorView;Landroid/content/pm/ApplicationInfo;Landroid/widget/CheckBox;)V │ │ -015d7c: 5b01 9a00 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.this$0:Ldnsfilter/android/AppSelectorView; // field@009a │ │ -015d80: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -015d86: 1201 |0005: const/4 v1, #int 0 // #0 │ │ -015d88: 5b01 9800 |0006: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.appName:Ljava/lang/String; // field@0098 │ │ -015d8c: 5b01 9b00 |0008: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.wrapped:Landroid/content/pm/ApplicationInfo; // field@009b │ │ -015d90: 5b01 9900 |000a: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ -015d94: 6e10 b600 0300 |000c: invoke-virtual {v3}, Landroid/widget/CheckBox;.getText:()Ljava/lang/CharSequence; // method@00b6 │ │ -015d9a: 0c01 |000f: move-result-object v1 │ │ -015d9c: 7210 2c05 0100 |0010: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ -015da2: 0c01 |0013: move-result-object v1 │ │ -015da4: 5b01 9800 |0014: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.appName:Ljava/lang/String; // field@0098 │ │ -015da8: 5b02 9b00 |0016: iput-object v2, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.wrapped:Landroid/content/pm/ApplicationInfo; // field@009b │ │ -015dac: 5b03 9900 |0018: iput-object v3, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ -015db0: 0e00 |001a: return-void │ │ +015d68: |[015d68] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.:(Ldnsfilter/android/AppSelectorView;Landroid/content/pm/ApplicationInfo;Landroid/widget/CheckBox;)V │ │ +015d78: 5b01 9a00 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.this$0:Ldnsfilter/android/AppSelectorView; // field@009a │ │ +015d7c: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +015d82: 1201 |0005: const/4 v1, #int 0 // #0 │ │ +015d84: 5b01 9800 |0006: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.appName:Ljava/lang/String; // field@0098 │ │ +015d88: 5b01 9b00 |0008: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.wrapped:Landroid/content/pm/ApplicationInfo; // field@009b │ │ +015d8c: 5b01 9900 |000a: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ +015d90: 6e10 b600 0300 |000c: invoke-virtual {v3}, Landroid/widget/CheckBox;.getText:()Ljava/lang/CharSequence; // method@00b6 │ │ +015d96: 0c01 |000f: move-result-object v1 │ │ +015d98: 7210 2c05 0100 |0010: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ +015d9e: 0c01 |0013: move-result-object v1 │ │ +015da0: 5b01 9800 |0014: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.appName:Ljava/lang/String; // field@0098 │ │ +015da4: 5b02 9b00 |0016: iput-object v2, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.wrapped:Landroid/content/pm/ApplicationInfo; // field@009b │ │ +015da8: 5b03 9900 |0018: iput-object v3, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ +015dac: 0e00 |001a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=72 │ │ 0x0006 line=68 │ │ 0x0008 line=69 │ │ 0x000a line=70 │ │ 0x000c line=73 │ │ @@ -9092,17 +9092,17 @@ │ │ type : '(Ldnsfilter/android/AppSelectorView;Landroid/content/pm/ApplicationInfo;Landroid/widget/CheckBox;Ldnsfilter/android/AppSelectorView$1;)V' │ │ access : 0x11000 (SYNTHETIC CONSTRUCTOR) │ │ code - │ │ registers : 5 │ │ ins : 5 │ │ outs : 4 │ │ insns size : 4 16-bit code units │ │ -015db4: |[015db4] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.:(Ldnsfilter/android/AppSelectorView;Landroid/content/pm/ApplicationInfo;Landroid/widget/CheckBox;Ldnsfilter/android/AppSelectorView$1;)V │ │ -015dc4: 7040 1e02 1032 |0000: invoke-direct {v0, v1, v2, v3}, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.:(Ldnsfilter/android/AppSelectorView;Landroid/content/pm/ApplicationInfo;Landroid/widget/CheckBox;)V // method@021e │ │ -015dca: 0e00 |0003: return-void │ │ +015db0: |[015db0] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.:(Ldnsfilter/android/AppSelectorView;Landroid/content/pm/ApplicationInfo;Landroid/widget/CheckBox;Ldnsfilter/android/AppSelectorView$1;)V │ │ +015dc0: 7040 1e02 1032 |0000: invoke-direct {v0, v1, v2, v3}, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.:(Ldnsfilter/android/AppSelectorView;Landroid/content/pm/ApplicationInfo;Landroid/widget/CheckBox;)V // method@021e │ │ +015dc6: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=66 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; │ │ 0x0000 - 0x0004 reg=1 (null) Ldnsfilter/android/AppSelectorView; │ │ 0x0000 - 0x0004 reg=2 (null) Landroid/content/pm/ApplicationInfo; │ │ @@ -9114,17 +9114,17 @@ │ │ type : '(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)Landroid/content/pm/ApplicationInfo;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -015d00: |[015d00] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.access$900:(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)Landroid/content/pm/ApplicationInfo; │ │ -015d10: 5400 9b00 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.wrapped:Landroid/content/pm/ApplicationInfo; // field@009b │ │ -015d14: 1100 |0002: return-object v0 │ │ +015cfc: |[015cfc] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.access$900:(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)Landroid/content/pm/ApplicationInfo; │ │ +015d0c: 5400 9b00 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.wrapped:Landroid/content/pm/ApplicationInfo; // field@009b │ │ +015d10: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=66 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; │ │ │ │ Virtual methods - │ │ @@ -9133,24 +9133,24 @@ │ │ type : '(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 17 16-bit code units │ │ -015d18: |[015d18] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.compareTo:(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)I │ │ -015d28: 5410 9800 |0000: iget-object v0, v1, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.appName:Ljava/lang/String; // field@0098 │ │ -015d2c: 6e10 7a05 0000 |0002: invoke-virtual {v0}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ -015d32: 0c00 |0005: move-result-object v0 │ │ -015d34: 5422 9800 |0006: iget-object v2, v2, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.appName:Ljava/lang/String; // field@0098 │ │ -015d38: 6e10 7a05 0200 |0008: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ -015d3e: 0c02 |000b: move-result-object v2 │ │ -015d40: 6e20 6405 2000 |000c: invoke-virtual {v0, v2}, Ljava/lang/String;.compareTo:(Ljava/lang/String;)I // method@0564 │ │ -015d46: 0a02 |000f: move-result v2 │ │ -015d48: 0f02 |0010: return v2 │ │ +015d14: |[015d14] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.compareTo:(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)I │ │ +015d24: 5410 9800 |0000: iget-object v0, v1, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.appName:Ljava/lang/String; // field@0098 │ │ +015d28: 6e10 7a05 0000 |0002: invoke-virtual {v0}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ +015d2e: 0c00 |0005: move-result-object v0 │ │ +015d30: 5422 9800 |0006: iget-object v2, v2, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.appName:Ljava/lang/String; // field@0098 │ │ +015d34: 6e10 7a05 0200 |0008: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ +015d3a: 0c02 |000b: move-result-object v2 │ │ +015d3c: 6e20 6405 2000 |000c: invoke-virtual {v0, v2}, Ljava/lang/String;.compareTo:(Ljava/lang/String;)I // method@0564 │ │ +015d42: 0a02 |000f: move-result v2 │ │ +015d44: 0f02 |0010: return v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=80 │ │ locals : │ │ 0x0000 - 0x0011 reg=1 this Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; │ │ 0x0000 - 0x0011 reg=2 (null) Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; │ │ │ │ @@ -9159,19 +9159,19 @@ │ │ type : '(Ljava/lang/Object;)I' │ │ access : 0x1041 (PUBLIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 7 16-bit code units │ │ -015d4c: |[015d4c] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.compareTo:(Ljava/lang/Object;)I │ │ -015d5c: 1f01 9600 |0000: check-cast v1, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // type@0096 │ │ -015d60: 6e20 2102 1000 |0002: invoke-virtual {v0, v1}, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.compareTo:(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)I // method@0221 │ │ -015d66: 0a01 |0005: move-result v1 │ │ -015d68: 0f01 |0006: return v1 │ │ +015d48: |[015d48] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.compareTo:(Ljava/lang/Object;)I │ │ +015d58: 1f01 9600 |0000: check-cast v1, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // type@0096 │ │ +015d5c: 6e20 2102 1000 |0002: invoke-virtual {v0, v1}, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.compareTo:(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)I // method@0221 │ │ +015d62: 0a01 |0005: move-result v1 │ │ +015d64: 0f01 |0006: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=66 │ │ locals : │ │ 0x0000 - 0x0007 reg=0 this Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; │ │ 0x0000 - 0x0007 reg=1 (null) Ljava/lang/Object; │ │ │ │ @@ -9222,21 +9222,21 @@ │ │ type : '(Ldnsfilter/android/AppSelectorView;Landroid/widget/CheckBox;Landroid/graphics/drawable/Drawable;Ldnsfilter/android/AppSelectorView$AsyncLoader;)V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 5 │ │ ins : 5 │ │ outs : 1 │ │ insns size : 12 16-bit code units │ │ -015dcc: |[015dcc] dnsfilter.android.AppSelectorView$UIUpdate.:(Ldnsfilter/android/AppSelectorView;Landroid/widget/CheckBox;Landroid/graphics/drawable/Drawable;Ldnsfilter/android/AppSelectorView$AsyncLoader;)V │ │ -015ddc: 5b01 9e00 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$UIUpdate;.this$0:Ldnsfilter/android/AppSelectorView; // field@009e │ │ -015de0: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -015de6: 5b02 9c00 |0005: iput-object v2, v0, Ldnsfilter/android/AppSelectorView$UIUpdate;.checkBox:Landroid/widget/CheckBox; // field@009c │ │ -015dea: 5b03 9d00 |0007: iput-object v3, v0, Ldnsfilter/android/AppSelectorView$UIUpdate;.icon:Landroid/graphics/drawable/Drawable; // field@009d │ │ -015dee: 5b04 9f00 |0009: iput-object v4, v0, Ldnsfilter/android/AppSelectorView$UIUpdate;.update:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@009f │ │ -015df2: 0e00 |000b: return-void │ │ +015dc8: |[015dc8] dnsfilter.android.AppSelectorView$UIUpdate.:(Ldnsfilter/android/AppSelectorView;Landroid/widget/CheckBox;Landroid/graphics/drawable/Drawable;Ldnsfilter/android/AppSelectorView$AsyncLoader;)V │ │ +015dd8: 5b01 9e00 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$UIUpdate;.this$0:Ldnsfilter/android/AppSelectorView; // field@009e │ │ +015ddc: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +015de2: 5b02 9c00 |0005: iput-object v2, v0, Ldnsfilter/android/AppSelectorView$UIUpdate;.checkBox:Landroid/widget/CheckBox; // field@009c │ │ +015de6: 5b03 9d00 |0007: iput-object v3, v0, Ldnsfilter/android/AppSelectorView$UIUpdate;.icon:Landroid/graphics/drawable/Drawable; // field@009d │ │ +015dea: 5b04 9f00 |0009: iput-object v4, v0, Ldnsfilter/android/AppSelectorView$UIUpdate;.update:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@009f │ │ +015dee: 0e00 |000b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=90 │ │ 0x0005 line=91 │ │ 0x0007 line=92 │ │ 0x0009 line=93 │ │ locals : │ │ @@ -9251,17 +9251,17 @@ │ │ type : '(Ldnsfilter/android/AppSelectorView;Landroid/widget/CheckBox;Landroid/graphics/drawable/Drawable;Ldnsfilter/android/AppSelectorView$AsyncLoader;Ldnsfilter/android/AppSelectorView$1;)V' │ │ access : 0x11000 (SYNTHETIC CONSTRUCTOR) │ │ code - │ │ registers : 6 │ │ ins : 6 │ │ outs : 5 │ │ insns size : 4 16-bit code units │ │ -015df4: |[015df4] dnsfilter.android.AppSelectorView$UIUpdate.:(Ldnsfilter/android/AppSelectorView;Landroid/widget/CheckBox;Landroid/graphics/drawable/Drawable;Ldnsfilter/android/AppSelectorView$AsyncLoader;Ldnsfilter/android/AppSelectorView$1;)V │ │ -015e04: 7054 2302 1032 |0000: invoke-direct {v0, v1, v2, v3, v4}, Ldnsfilter/android/AppSelectorView$UIUpdate;.:(Ldnsfilter/android/AppSelectorView;Landroid/widget/CheckBox;Landroid/graphics/drawable/Drawable;Ldnsfilter/android/AppSelectorView$AsyncLoader;)V // method@0223 │ │ -015e0a: 0e00 |0003: return-void │ │ +015df0: |[015df0] dnsfilter.android.AppSelectorView$UIUpdate.:(Ldnsfilter/android/AppSelectorView;Landroid/widget/CheckBox;Landroid/graphics/drawable/Drawable;Ldnsfilter/android/AppSelectorView$AsyncLoader;Ldnsfilter/android/AppSelectorView$1;)V │ │ +015e00: 7054 2302 1032 |0000: invoke-direct {v0, v1, v2, v3, v4}, Ldnsfilter/android/AppSelectorView$UIUpdate;.:(Ldnsfilter/android/AppSelectorView;Landroid/widget/CheckBox;Landroid/graphics/drawable/Drawable;Ldnsfilter/android/AppSelectorView$AsyncLoader;)V // method@0223 │ │ +015e06: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=84 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/AppSelectorView$UIUpdate; │ │ 0x0000 - 0x0004 reg=1 (null) Ldnsfilter/android/AppSelectorView; │ │ 0x0000 - 0x0004 reg=2 (null) Landroid/widget/CheckBox; │ │ @@ -9275,28 +9275,28 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 25 16-bit code units │ │ -015e0c: |[015e0c] dnsfilter.android.AppSelectorView$UIUpdate.run:()V │ │ -015e1c: 5430 9f00 |0000: iget-object v0, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.update:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@009f │ │ -015e20: 7110 1c02 0000 |0002: invoke-static {v0}, Ldnsfilter/android/AppSelectorView$AsyncLoader;.access$000:(Ldnsfilter/android/AppSelectorView$AsyncLoader;)Z // method@021c │ │ -015e26: 0a00 |0005: move-result v0 │ │ -015e28: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ -015e2c: 0e00 |0008: return-void │ │ -015e2e: 5430 9c00 |0009: iget-object v0, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.checkBox:Landroid/widget/CheckBox; // field@009c │ │ -015e32: 5431 9d00 |000b: iget-object v1, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.icon:Landroid/graphics/drawable/Drawable; // field@009d │ │ -015e36: 1202 |000d: const/4 v2, #int 0 // #0 │ │ -015e38: 6e52 b900 2012 |000e: invoke-virtual {v0, v2, v2, v1, v2}, Landroid/widget/CheckBox;.setCompoundDrawablesWithIntrinsicBounds:(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V // method@00b9 │ │ -015e3e: 5430 9e00 |0011: iget-object v0, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.this$0:Ldnsfilter/android/AppSelectorView; // field@009e │ │ -015e42: 5431 9c00 |0013: iget-object v1, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.checkBox:Landroid/widget/CheckBox; // field@009c │ │ -015e46: 6e20 3802 1000 |0015: invoke-virtual {v0, v1}, Ldnsfilter/android/AppSelectorView;.addView:(Landroid/view/View;)V // method@0238 │ │ -015e4c: 0e00 |0018: return-void │ │ +015e08: |[015e08] dnsfilter.android.AppSelectorView$UIUpdate.run:()V │ │ +015e18: 5430 9f00 |0000: iget-object v0, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.update:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@009f │ │ +015e1c: 7110 1c02 0000 |0002: invoke-static {v0}, Ldnsfilter/android/AppSelectorView$AsyncLoader;.access$000:(Ldnsfilter/android/AppSelectorView$AsyncLoader;)Z // method@021c │ │ +015e22: 0a00 |0005: move-result v0 │ │ +015e24: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ +015e28: 0e00 |0008: return-void │ │ +015e2a: 5430 9c00 |0009: iget-object v0, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.checkBox:Landroid/widget/CheckBox; // field@009c │ │ +015e2e: 5431 9d00 |000b: iget-object v1, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.icon:Landroid/graphics/drawable/Drawable; // field@009d │ │ +015e32: 1202 |000d: const/4 v2, #int 0 // #0 │ │ +015e34: 6e52 b900 2012 |000e: invoke-virtual {v0, v2, v2, v1, v2}, Landroid/widget/CheckBox;.setCompoundDrawablesWithIntrinsicBounds:(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V // method@00b9 │ │ +015e3a: 5430 9e00 |0011: iget-object v0, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.this$0:Ldnsfilter/android/AppSelectorView; // field@009e │ │ +015e3e: 5431 9c00 |0013: iget-object v1, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.checkBox:Landroid/widget/CheckBox; // field@009c │ │ +015e42: 6e20 3802 1000 |0015: invoke-virtual {v0, v1}, Ldnsfilter/android/AppSelectorView;.addView:(Landroid/view/View;)V // method@0238 │ │ +015e48: 0e00 |0018: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=98 │ │ 0x0009 line=100 │ │ 0x0011 line=101 │ │ locals : │ │ 0x0000 - 0x0019 reg=3 this Ldnsfilter/android/AppSelectorView$UIUpdate; │ │ @@ -9368,44 +9368,44 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 0 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -01605c: |[01605c] dnsfilter.android.AppSelectorView.:()V │ │ -01606c: 0e00 |0000: return-void │ │ +016058: |[016058] dnsfilter.android.AppSelectorView.:()V │ │ +016068: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #1 : (in Ldnsfilter/android/AppSelectorView;) │ │ name : '' │ │ type : '(Landroid/content/Context;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 26 16-bit code units │ │ -016070: |[016070] dnsfilter.android.AppSelectorView.:(Landroid/content/Context;)V │ │ -016080: 7020 d900 1000 |0000: invoke-direct {v0, v1}, Landroid/widget/LinearLayout;.:(Landroid/content/Context;)V // method@00d9 │ │ -016086: 6e10 3a02 0000 |0003: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@023a │ │ -01608c: 0c01 |0006: move-result-object v1 │ │ -01608e: 6e10 3600 0100 |0007: invoke-virtual {v1}, Landroid/content/Context;.getPackageManager:()Landroid/content/pm/PackageManager; // method@0036 │ │ -016094: 0c01 |000a: move-result-object v1 │ │ -016096: 5b01 a400 |000b: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ -01609a: 1201 |000d: const/4 v1, #int 0 // #0 │ │ -01609c: 5c01 a300 |000e: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -0160a0: 1a01 0000 |0010: const-string v1, "" // string@0000 │ │ -0160a4: 5b01 a700 |0012: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ -0160a8: 1201 |0014: const/4 v1, #int 0 // #0 │ │ -0160aa: 5b01 a500 |0015: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -0160ae: 5b01 a800 |0017: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -0160b2: 0e00 |0019: return-void │ │ +01606c: |[01606c] dnsfilter.android.AppSelectorView.:(Landroid/content/Context;)V │ │ +01607c: 7020 d900 1000 |0000: invoke-direct {v0, v1}, Landroid/widget/LinearLayout;.:(Landroid/content/Context;)V // method@00d9 │ │ +016082: 6e10 3a02 0000 |0003: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@023a │ │ +016088: 0c01 |0006: move-result-object v1 │ │ +01608a: 6e10 3600 0100 |0007: invoke-virtual {v1}, Landroid/content/Context;.getPackageManager:()Landroid/content/pm/PackageManager; // method@0036 │ │ +016090: 0c01 |000a: move-result-object v1 │ │ +016092: 5b01 a400 |000b: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ +016096: 1201 |000d: const/4 v1, #int 0 // #0 │ │ +016098: 5c01 a300 |000e: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +01609c: 1a01 0000 |0010: const-string v1, "" // string@0000 │ │ +0160a0: 5b01 a700 |0012: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ +0160a4: 1201 |0014: const/4 v1, #int 0 // #0 │ │ +0160a6: 5b01 a500 |0015: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +0160aa: 5b01 a800 |0017: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +0160ae: 0e00 |0019: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=185 │ │ 0x0003 line=27 │ │ 0x000e line=28 │ │ 0x0010 line=29 │ │ 0x0015 line=32 │ │ @@ -9419,29 +9419,29 @@ │ │ type : '(Landroid/content/Context;Landroid/util/AttributeSet;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 26 16-bit code units │ │ -0160b4: |[0160b4] dnsfilter.android.AppSelectorView.:(Landroid/content/Context;Landroid/util/AttributeSet;)V │ │ -0160c4: 7030 da00 1002 |0000: invoke-direct {v0, v1, v2}, Landroid/widget/LinearLayout;.:(Landroid/content/Context;Landroid/util/AttributeSet;)V // method@00da │ │ -0160ca: 6e10 3a02 0000 |0003: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@023a │ │ -0160d0: 0c01 |0006: move-result-object v1 │ │ -0160d2: 6e10 3600 0100 |0007: invoke-virtual {v1}, Landroid/content/Context;.getPackageManager:()Landroid/content/pm/PackageManager; // method@0036 │ │ -0160d8: 0c01 |000a: move-result-object v1 │ │ -0160da: 5b01 a400 |000b: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ -0160de: 1201 |000d: const/4 v1, #int 0 // #0 │ │ -0160e0: 5c01 a300 |000e: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -0160e4: 1a01 0000 |0010: const-string v1, "" // string@0000 │ │ -0160e8: 5b01 a700 |0012: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ -0160ec: 1201 |0014: const/4 v1, #int 0 // #0 │ │ -0160ee: 5b01 a500 |0015: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -0160f2: 5b01 a800 |0017: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -0160f6: 0e00 |0019: return-void │ │ +0160b0: |[0160b0] dnsfilter.android.AppSelectorView.:(Landroid/content/Context;Landroid/util/AttributeSet;)V │ │ +0160c0: 7030 da00 1002 |0000: invoke-direct {v0, v1, v2}, Landroid/widget/LinearLayout;.:(Landroid/content/Context;Landroid/util/AttributeSet;)V // method@00da │ │ +0160c6: 6e10 3a02 0000 |0003: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@023a │ │ +0160cc: 0c01 |0006: move-result-object v1 │ │ +0160ce: 6e10 3600 0100 |0007: invoke-virtual {v1}, Landroid/content/Context;.getPackageManager:()Landroid/content/pm/PackageManager; // method@0036 │ │ +0160d4: 0c01 |000a: move-result-object v1 │ │ +0160d6: 5b01 a400 |000b: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ +0160da: 1201 |000d: const/4 v1, #int 0 // #0 │ │ +0160dc: 5c01 a300 |000e: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +0160e0: 1a01 0000 |0010: const-string v1, "" // string@0000 │ │ +0160e4: 5b01 a700 |0012: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ +0160e8: 1201 |0014: const/4 v1, #int 0 // #0 │ │ +0160ea: 5b01 a500 |0015: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +0160ee: 5b01 a800 |0017: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +0160f2: 0e00 |0019: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=189 │ │ 0x0003 line=27 │ │ 0x000e line=28 │ │ 0x0010 line=29 │ │ 0x0015 line=32 │ │ @@ -9456,29 +9456,29 @@ │ │ type : '(Landroid/content/Context;Landroid/util/AttributeSet;I)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 26 16-bit code units │ │ -0160f8: |[0160f8] dnsfilter.android.AppSelectorView.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V │ │ -016108: 7040 db00 1032 |0000: invoke-direct {v0, v1, v2, v3}, Landroid/widget/LinearLayout;.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V // method@00db │ │ -01610e: 6e10 3a02 0000 |0003: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@023a │ │ -016114: 0c01 |0006: move-result-object v1 │ │ -016116: 6e10 3600 0100 |0007: invoke-virtual {v1}, Landroid/content/Context;.getPackageManager:()Landroid/content/pm/PackageManager; // method@0036 │ │ -01611c: 0c01 |000a: move-result-object v1 │ │ -01611e: 5b01 a400 |000b: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ -016122: 1201 |000d: const/4 v1, #int 0 // #0 │ │ -016124: 5c01 a300 |000e: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -016128: 1a01 0000 |0010: const-string v1, "" // string@0000 │ │ -01612c: 5b01 a700 |0012: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ -016130: 1201 |0014: const/4 v1, #int 0 // #0 │ │ -016132: 5b01 a500 |0015: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -016136: 5b01 a800 |0017: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -01613a: 0e00 |0019: return-void │ │ +0160f4: |[0160f4] dnsfilter.android.AppSelectorView.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V │ │ +016104: 7040 db00 1032 |0000: invoke-direct {v0, v1, v2, v3}, Landroid/widget/LinearLayout;.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V // method@00db │ │ +01610a: 6e10 3a02 0000 |0003: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@023a │ │ +016110: 0c01 |0006: move-result-object v1 │ │ +016112: 6e10 3600 0100 |0007: invoke-virtual {v1}, Landroid/content/Context;.getPackageManager:()Landroid/content/pm/PackageManager; // method@0036 │ │ +016118: 0c01 |000a: move-result-object v1 │ │ +01611a: 5b01 a400 |000b: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ +01611e: 1201 |000d: const/4 v1, #int 0 // #0 │ │ +016120: 5c01 a300 |000e: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +016124: 1a01 0000 |0010: const-string v1, "" // string@0000 │ │ +016128: 5b01 a700 |0012: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ +01612c: 1201 |0014: const/4 v1, #int 0 // #0 │ │ +01612e: 5b01 a500 |0015: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +016132: 5b01 a800 |0017: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +016136: 0e00 |0019: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=193 │ │ 0x0003 line=27 │ │ 0x000e line=28 │ │ 0x0010 line=29 │ │ 0x0015 line=32 │ │ @@ -9494,29 +9494,29 @@ │ │ type : '(Landroid/content/Context;Landroid/util/AttributeSet;II)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 5 │ │ ins : 5 │ │ outs : 4 │ │ insns size : 26 16-bit code units │ │ -01613c: |[01613c] dnsfilter.android.AppSelectorView.:(Landroid/content/Context;Landroid/util/AttributeSet;II)V │ │ -01614c: 7040 db00 1032 |0000: invoke-direct {v0, v1, v2, v3}, Landroid/widget/LinearLayout;.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V // method@00db │ │ -016152: 6e10 3a02 0000 |0003: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@023a │ │ -016158: 0c01 |0006: move-result-object v1 │ │ -01615a: 6e10 3600 0100 |0007: invoke-virtual {v1}, Landroid/content/Context;.getPackageManager:()Landroid/content/pm/PackageManager; // method@0036 │ │ -016160: 0c01 |000a: move-result-object v1 │ │ -016162: 5b01 a400 |000b: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ -016166: 1201 |000d: const/4 v1, #int 0 // #0 │ │ -016168: 5c01 a300 |000e: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -01616c: 1a01 0000 |0010: const-string v1, "" // string@0000 │ │ -016170: 5b01 a700 |0012: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ -016174: 1201 |0014: const/4 v1, #int 0 // #0 │ │ -016176: 5b01 a500 |0015: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -01617a: 5b01 a800 |0017: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -01617e: 0e00 |0019: return-void │ │ +016138: |[016138] dnsfilter.android.AppSelectorView.:(Landroid/content/Context;Landroid/util/AttributeSet;II)V │ │ +016148: 7040 db00 1032 |0000: invoke-direct {v0, v1, v2, v3}, Landroid/widget/LinearLayout;.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V // method@00db │ │ +01614e: 6e10 3a02 0000 |0003: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@023a │ │ +016154: 0c01 |0006: move-result-object v1 │ │ +016156: 6e10 3600 0100 |0007: invoke-virtual {v1}, Landroid/content/Context;.getPackageManager:()Landroid/content/pm/PackageManager; // method@0036 │ │ +01615c: 0c01 |000a: move-result-object v1 │ │ +01615e: 5b01 a400 |000b: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ +016162: 1201 |000d: const/4 v1, #int 0 // #0 │ │ +016164: 5c01 a300 |000e: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +016168: 1a01 0000 |0010: const-string v1, "" // string@0000 │ │ +01616c: 5b01 a700 |0012: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ +016170: 1201 |0014: const/4 v1, #int 0 // #0 │ │ +016172: 5b01 a500 |0015: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +016176: 5b01 a800 |0017: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +01617a: 0e00 |0019: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=197 │ │ 0x0003 line=27 │ │ 0x000e line=28 │ │ 0x0010 line=29 │ │ 0x0015 line=32 │ │ @@ -9533,35 +9533,35 @@ │ │ type : '()I' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -015f84: |[015f84] dnsfilter.android.AppSelectorView.access$100:()I │ │ -015f94: 6000 a200 |0000: sget v0, Ldnsfilter/android/AppSelectorView;.iconSizePx:I // field@00a2 │ │ -015f98: 0f00 |0002: return v0 │ │ +015f80: |[015f80] dnsfilter.android.AppSelectorView.access$100:()I │ │ +015f90: 6000 a200 |0000: sget v0, Ldnsfilter/android/AppSelectorView;.iconSizePx:I // field@00a2 │ │ +015f94: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=25 │ │ locals : │ │ │ │ #6 : (in Ldnsfilter/android/AppSelectorView;) │ │ name : 'access$1000' │ │ type : '(Ldnsfilter/android/AppSelectorView;Landroid/graphics/drawable/Drawable;I)Landroid/graphics/drawable/Drawable;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 5 16-bit code units │ │ -015e68: |[015e68] dnsfilter.android.AppSelectorView.access$1000:(Ldnsfilter/android/AppSelectorView;Landroid/graphics/drawable/Drawable;I)Landroid/graphics/drawable/Drawable; │ │ -015e78: 7030 4202 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/android/AppSelectorView;.resizeDrawable:(Landroid/graphics/drawable/Drawable;I)Landroid/graphics/drawable/Drawable; // method@0242 │ │ -015e7e: 0c00 |0003: move-result-object v0 │ │ -015e80: 1100 |0004: return-object v0 │ │ +015e64: |[015e64] dnsfilter.android.AppSelectorView.access$1000:(Ldnsfilter/android/AppSelectorView;Landroid/graphics/drawable/Drawable;I)Landroid/graphics/drawable/Drawable; │ │ +015e74: 7030 4202 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/android/AppSelectorView;.resizeDrawable:(Landroid/graphics/drawable/Drawable;I)Landroid/graphics/drawable/Drawable; // method@0242 │ │ +015e7a: 0c00 |0003: move-result-object v0 │ │ +015e7c: 1100 |0004: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=25 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 (null) Ldnsfilter/android/AppSelectorView; │ │ 0x0000 - 0x0005 reg=1 (null) Landroid/graphics/drawable/Drawable; │ │ 0x0000 - 0x0005 reg=2 (null) I │ │ @@ -9571,17 +9571,17 @@ │ │ type : '(I)I' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -015f9c: |[015f9c] dnsfilter.android.AppSelectorView.access$102:(I)I │ │ -015fac: 6700 a200 |0000: sput v0, Ldnsfilter/android/AppSelectorView;.iconSizePx:I // field@00a2 │ │ -015fb0: 0f00 |0002: return v0 │ │ +015f98: |[015f98] dnsfilter.android.AppSelectorView.access$102:(I)I │ │ +015fa8: 6700 a200 |0000: sput v0, Ldnsfilter/android/AppSelectorView;.iconSizePx:I // field@00a2 │ │ +015fac: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=25 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) I │ │ │ │ #8 : (in Ldnsfilter/android/AppSelectorView;) │ │ @@ -9589,17 +9589,17 @@ │ │ type : '(Ldnsfilter/android/AppSelectorView;Z)Z' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -015ef4: |[015ef4] dnsfilter.android.AppSelectorView.access$1202:(Ldnsfilter/android/AppSelectorView;Z)Z │ │ -015f04: 5c01 a300 |0000: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -015f08: 0f01 |0002: return v1 │ │ +015ef0: |[015ef0] dnsfilter.android.AppSelectorView.access$1202:(Ldnsfilter/android/AppSelectorView;Z)Z │ │ +015f00: 5c01 a300 |0000: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +015f04: 0f01 |0002: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=25 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/AppSelectorView; │ │ 0x0000 - 0x0003 reg=1 (null) Z │ │ │ │ @@ -9608,17 +9608,17 @@ │ │ type : '(Ldnsfilter/android/AppSelectorView;)Ldnsfilter/android/AppSelectorView$AsyncLoader;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -015f0c: |[015f0c] dnsfilter.android.AppSelectorView.access$1300:(Ldnsfilter/android/AppSelectorView;)Ldnsfilter/android/AppSelectorView$AsyncLoader; │ │ -015f1c: 5400 a500 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -015f20: 1100 |0002: return-object v0 │ │ +015f08: |[015f08] dnsfilter.android.AppSelectorView.access$1300:(Ldnsfilter/android/AppSelectorView;)Ldnsfilter/android/AppSelectorView$AsyncLoader; │ │ +015f18: 5400 a500 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +015f1c: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=25 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/AppSelectorView; │ │ │ │ #10 : (in Ldnsfilter/android/AppSelectorView;) │ │ @@ -9626,17 +9626,17 @@ │ │ type : '(Ldnsfilter/android/AppSelectorView;Ldnsfilter/android/AppSelectorView$AsyncLoader;)Ldnsfilter/android/AppSelectorView$AsyncLoader;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -015f24: |[015f24] dnsfilter.android.AppSelectorView.access$1302:(Ldnsfilter/android/AppSelectorView;Ldnsfilter/android/AppSelectorView$AsyncLoader;)Ldnsfilter/android/AppSelectorView$AsyncLoader; │ │ -015f34: 5b01 a500 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -015f38: 1101 |0002: return-object v1 │ │ +015f20: |[015f20] dnsfilter.android.AppSelectorView.access$1302:(Ldnsfilter/android/AppSelectorView;Ldnsfilter/android/AppSelectorView$AsyncLoader;)Ldnsfilter/android/AppSelectorView$AsyncLoader; │ │ +015f30: 5b01 a500 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +015f34: 1101 |0002: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=25 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/AppSelectorView; │ │ 0x0000 - 0x0003 reg=1 (null) Ldnsfilter/android/AppSelectorView$AsyncLoader; │ │ │ │ @@ -9645,34 +9645,34 @@ │ │ type : '()F' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -015f6c: |[015f6c] dnsfilter.android.AppSelectorView.access$200:()F │ │ -015f7c: 6000 a100 |0000: sget v0, Ldnsfilter/android/AppSelectorView;.iconSizeDP:F // field@00a1 │ │ -015f80: 0f00 |0002: return v0 │ │ +015f68: |[015f68] dnsfilter.android.AppSelectorView.access$200:()F │ │ +015f78: 6000 a100 |0000: sget v0, Ldnsfilter/android/AppSelectorView;.iconSizeDP:F // field@00a1 │ │ +015f7c: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=25 │ │ locals : │ │ │ │ #12 : (in Ldnsfilter/android/AppSelectorView;) │ │ name : 'access$300' │ │ type : '(Ldnsfilter/android/AppSelectorView;)Ljava/lang/String;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -015fb4: |[015fb4] dnsfilter.android.AppSelectorView.access$300:(Ldnsfilter/android/AppSelectorView;)Ljava/lang/String; │ │ -015fc4: 5400 a700 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ -015fc8: 1100 |0002: return-object v0 │ │ +015fb0: |[015fb0] dnsfilter.android.AppSelectorView.access$300:(Ldnsfilter/android/AppSelectorView;)Ljava/lang/String; │ │ +015fc0: 5400 a700 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ +015fc4: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=25 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/AppSelectorView; │ │ │ │ #13 : (in Ldnsfilter/android/AppSelectorView;) │ │ @@ -9680,17 +9680,17 @@ │ │ type : '(Ldnsfilter/android/AppSelectorView;)Landroid/content/pm/PackageManager;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -015e50: |[015e50] dnsfilter.android.AppSelectorView.access$400:(Ldnsfilter/android/AppSelectorView;)Landroid/content/pm/PackageManager; │ │ -015e60: 5400 a400 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ -015e64: 1100 |0002: return-object v0 │ │ +015e4c: |[015e4c] dnsfilter.android.AppSelectorView.access$400:(Ldnsfilter/android/AppSelectorView;)Landroid/content/pm/PackageManager; │ │ +015e5c: 5400 a400 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ +015e60: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=25 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/AppSelectorView; │ │ │ │ #14 : (in Ldnsfilter/android/AppSelectorView;) │ │ @@ -9698,17 +9698,17 @@ │ │ type : '(Ldnsfilter/android/AppSelectorView;)Landroid/view/View;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -015ec4: |[015ec4] dnsfilter.android.AppSelectorView.access$600:(Ldnsfilter/android/AppSelectorView;)Landroid/view/View; │ │ -015ed4: 5400 a600 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.searchView:Landroid/view/View; // field@00a6 │ │ -015ed8: 1100 |0002: return-object v0 │ │ +015ec0: |[015ec0] dnsfilter.android.AppSelectorView.access$600:(Ldnsfilter/android/AppSelectorView;)Landroid/view/View; │ │ +015ed0: 5400 a600 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.searchView:Landroid/view/View; // field@00a6 │ │ +015ed4: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=25 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/AppSelectorView; │ │ │ │ #15 : (in Ldnsfilter/android/AppSelectorView;) │ │ @@ -9716,17 +9716,17 @@ │ │ type : '(Ldnsfilter/android/AppSelectorView;)Landroid/view/View;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -015edc: |[015edc] dnsfilter.android.AppSelectorView.access$700:(Ldnsfilter/android/AppSelectorView;)Landroid/view/View; │ │ -015eec: 5400 a000 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.emptyResult:Landroid/view/View; // field@00a0 │ │ -015ef0: 1100 |0002: return-object v0 │ │ +015ed8: |[015ed8] dnsfilter.android.AppSelectorView.access$700:(Ldnsfilter/android/AppSelectorView;)Landroid/view/View; │ │ +015ee8: 5400 a000 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.emptyResult:Landroid/view/View; // field@00a0 │ │ +015eec: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=25 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/AppSelectorView; │ │ │ │ #16 : (in Ldnsfilter/android/AppSelectorView;) │ │ @@ -9734,17 +9734,17 @@ │ │ type : '(Ldnsfilter/android/AppSelectorView;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -015f3c: |[015f3c] dnsfilter.android.AppSelectorView.access$800:(Ldnsfilter/android/AppSelectorView;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; │ │ -015f4c: 5400 a800 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -015f50: 1100 |0002: return-object v0 │ │ +015f38: |[015f38] dnsfilter.android.AppSelectorView.access$800:(Ldnsfilter/android/AppSelectorView;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; │ │ +015f48: 5400 a800 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +015f4c: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=25 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/AppSelectorView; │ │ │ │ #17 : (in Ldnsfilter/android/AppSelectorView;) │ │ @@ -9752,17 +9752,17 @@ │ │ type : '(Ldnsfilter/android/AppSelectorView;[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -015f54: |[015f54] dnsfilter.android.AppSelectorView.access$802:(Ldnsfilter/android/AppSelectorView;[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; │ │ -015f64: 5b01 a800 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -015f68: 1101 |0002: return-object v1 │ │ +015f50: |[015f50] dnsfilter.android.AppSelectorView.access$802:(Ldnsfilter/android/AppSelectorView;[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; │ │ +015f60: 5b01 a800 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +015f64: 1101 |0002: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=25 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/AppSelectorView; │ │ 0x0000 - 0x0003 reg=1 (null) [Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; │ │ │ │ @@ -9771,26 +9771,26 @@ │ │ type : '(Landroid/graphics/drawable/Drawable;I)Landroid/graphics/drawable/Drawable;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 3 │ │ outs : 5 │ │ insns size : 24 16-bit code units │ │ -015e84: |[015e84] dnsfilter.android.AppSelectorView.resizeDrawable:(Landroid/graphics/drawable/Drawable;I)Landroid/graphics/drawable/Drawable; │ │ -015e94: 6200 0100 |0000: sget-object v0, Landroid/graphics/Bitmap$Config;.ARGB_8888:Landroid/graphics/Bitmap$Config; // field@0001 │ │ -015e98: 7130 5200 5500 |0002: invoke-static {v5, v5, v0}, Landroid/graphics/Bitmap;.createBitmap:(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap; // method@0052 │ │ -015e9e: 0c00 |0005: move-result-object v0 │ │ -015ea0: 2201 2200 |0006: new-instance v1, Landroid/graphics/Canvas; // type@0022 │ │ -015ea4: 7020 5300 0100 |0008: invoke-direct {v1, v0}, Landroid/graphics/Canvas;.:(Landroid/graphics/Bitmap;)V // method@0053 │ │ -015eaa: 1202 |000b: const/4 v2, #int 0 // #0 │ │ -015eac: 6e55 5800 2452 |000c: invoke-virtual {v4, v2, v2, v5, v5}, Landroid/graphics/drawable/Drawable;.setBounds:(IIII)V // method@0058 │ │ -015eb2: 6e20 5700 1400 |000f: invoke-virtual {v4, v1}, Landroid/graphics/drawable/Drawable;.draw:(Landroid/graphics/Canvas;)V // method@0057 │ │ -015eb8: 2204 2400 |0012: new-instance v4, Landroid/graphics/drawable/BitmapDrawable; // type@0024 │ │ -015ebc: 7020 5500 0400 |0014: invoke-direct {v4, v0}, Landroid/graphics/drawable/BitmapDrawable;.:(Landroid/graphics/Bitmap;)V // method@0055 │ │ -015ec2: 1104 |0017: return-object v4 │ │ +015e80: |[015e80] dnsfilter.android.AppSelectorView.resizeDrawable:(Landroid/graphics/drawable/Drawable;I)Landroid/graphics/drawable/Drawable; │ │ +015e90: 6200 0100 |0000: sget-object v0, Landroid/graphics/Bitmap$Config;.ARGB_8888:Landroid/graphics/Bitmap$Config; // field@0001 │ │ +015e94: 7130 5200 5500 |0002: invoke-static {v5, v5, v0}, Landroid/graphics/Bitmap;.createBitmap:(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap; // method@0052 │ │ +015e9a: 0c00 |0005: move-result-object v0 │ │ +015e9c: 2201 2200 |0006: new-instance v1, Landroid/graphics/Canvas; // type@0022 │ │ +015ea0: 7020 5300 0100 |0008: invoke-direct {v1, v0}, Landroid/graphics/Canvas;.:(Landroid/graphics/Bitmap;)V // method@0053 │ │ +015ea6: 1202 |000b: const/4 v2, #int 0 // #0 │ │ +015ea8: 6e55 5800 2452 |000c: invoke-virtual {v4, v2, v2, v5, v5}, Landroid/graphics/drawable/Drawable;.setBounds:(IIII)V // method@0058 │ │ +015eae: 6e20 5700 1400 |000f: invoke-virtual {v4, v1}, Landroid/graphics/drawable/Drawable;.draw:(Landroid/graphics/Canvas;)V // method@0057 │ │ +015eb4: 2204 2400 |0012: new-instance v4, Landroid/graphics/drawable/BitmapDrawable; // type@0024 │ │ +015eb8: 7020 5500 0400 |0014: invoke-direct {v4, v0}, Landroid/graphics/drawable/BitmapDrawable;.:(Landroid/graphics/Bitmap;)V // method@0055 │ │ +015ebe: 1104 |0017: return-object v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=215 │ │ 0x0006 line=216 │ │ 0x000c line=217 │ │ 0x000f line=218 │ │ 0x0012 line=219 │ │ @@ -9805,32 +9805,32 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 34 16-bit code units │ │ -016180: |[016180] dnsfilter.android.AppSelectorView.clear:()V │ │ -016190: 5430 a500 |0000: iget-object v0, v3, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -016194: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -016196: 1202 |0003: const/4 v2, #int 0 // #0 │ │ -016198: 3800 0900 |0004: if-eqz v0, 000d // +0009 │ │ -01619c: 6e10 1b02 0000 |0006: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView$AsyncLoader;.abort:()V // method@021b │ │ -0161a2: 5c31 a300 |0009: iput-boolean v1, v3, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -0161a6: 5b32 a800 |000b: iput-object v2, v3, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -0161aa: 6e10 3c02 0300 |000d: invoke-virtual {v3}, Ldnsfilter/android/AppSelectorView;.getSelectedAppPackages:()Ljava/lang/String; // method@023c │ │ -0161b0: 0c00 |0010: move-result-object v0 │ │ -0161b2: 5b30 a700 |0011: iput-object v0, v3, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ -0161b6: 5b32 a800 |0013: iput-object v2, v3, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -0161ba: 5430 a600 |0015: iget-object v0, v3, Ldnsfilter/android/AppSelectorView;.searchView:Landroid/view/View; // field@00a6 │ │ -0161be: 3800 0500 |0017: if-eqz v0, 001c // +0005 │ │ -0161c2: 6e20 9d00 2000 |0019: invoke-virtual {v0, v2}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@009d │ │ -0161c8: 6e10 4002 0300 |001c: invoke-virtual {v3}, Ldnsfilter/android/AppSelectorView;.removeAllViews:()V // method@0240 │ │ -0161ce: 5c31 a300 |001f: iput-boolean v1, v3, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -0161d2: 0e00 |0021: return-void │ │ +01617c: |[01617c] dnsfilter.android.AppSelectorView.clear:()V │ │ +01618c: 5430 a500 |0000: iget-object v0, v3, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +016190: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +016192: 1202 |0003: const/4 v2, #int 0 // #0 │ │ +016194: 3800 0900 |0004: if-eqz v0, 000d // +0009 │ │ +016198: 6e10 1b02 0000 |0006: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView$AsyncLoader;.abort:()V // method@021b │ │ +01619e: 5c31 a300 |0009: iput-boolean v1, v3, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +0161a2: 5b32 a800 |000b: iput-object v2, v3, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +0161a6: 6e10 3c02 0300 |000d: invoke-virtual {v3}, Ldnsfilter/android/AppSelectorView;.getSelectedAppPackages:()Ljava/lang/String; // method@023c │ │ +0161ac: 0c00 |0010: move-result-object v0 │ │ +0161ae: 5b30 a700 |0011: iput-object v0, v3, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ +0161b2: 5b32 a800 |0013: iput-object v2, v3, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +0161b6: 5430 a600 |0015: iget-object v0, v3, Ldnsfilter/android/AppSelectorView;.searchView:Landroid/view/View; // field@00a6 │ │ +0161ba: 3800 0500 |0017: if-eqz v0, 001c // +0005 │ │ +0161be: 6e20 9d00 2000 |0019: invoke-virtual {v0, v2}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@009d │ │ +0161c4: 6e10 4002 0300 |001c: invoke-virtual {v3}, Ldnsfilter/android/AppSelectorView;.removeAllViews:()V // method@0240 │ │ +0161ca: 5c31 a300 |001f: iput-boolean v1, v3, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +0161ce: 0e00 |0021: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=225 │ │ 0x0006 line=227 │ │ 0x0009 line=228 │ │ 0x000b line=229 │ │ 0x000d line=232 │ │ @@ -9847,49 +9847,49 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 64 16-bit code units │ │ -015fcc: |[015fcc] dnsfilter.android.AppSelectorView.getSelectedAppPackages:()Ljava/lang/String; │ │ -015fdc: 5550 a300 |0000: iget-boolean v0, v5, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -015fe0: 3800 3b00 |0002: if-eqz v0, 003d // +003b │ │ -015fe4: 5450 a500 |0004: iget-object v0, v5, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -015fe8: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ -015fec: 2835 |0008: goto 003d // +0035 │ │ -015fee: 5450 a800 |0009: iget-object v0, v5, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -015ff2: 1a01 0000 |000b: const-string v1, "" // string@0000 │ │ -015ff6: 1202 |000d: const/4 v2, #int 0 // #0 │ │ -015ff8: 0712 |000e: move-object v2, v1 │ │ -015ffa: 1203 |000f: const/4 v3, #int 0 // #0 │ │ -015ffc: 2104 |0010: array-length v4, v0 │ │ -015ffe: 3543 2b00 |0011: if-ge v3, v4, 003c // +002b │ │ -016002: 4604 0003 |0013: aget-object v4, v0, v3 │ │ -016006: 5444 9900 |0015: iget-object v4, v4, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ -01600a: 6e10 b700 0400 |0017: invoke-virtual {v4}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -016010: 0a04 |001a: move-result v4 │ │ -016012: 3804 1e00 |001b: if-eqz v4, 0039 // +001e │ │ -016016: 2204 2801 |001d: new-instance v4, Ljava/lang/StringBuilder; // type@0128 │ │ -01601a: 7010 8305 0400 |001f: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -016020: 6e20 8905 1400 |0022: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -016026: 6e20 8905 2400 |0025: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01602c: 4601 0003 |0028: aget-object v1, v0, v3 │ │ -016030: 7110 2002 0100 |002a: invoke-static {v1}, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.access$900:(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)Landroid/content/pm/ApplicationInfo; // method@0220 │ │ -016036: 0c01 |002d: move-result-object v1 │ │ -016038: 5411 0000 |002e: iget-object v1, v1, Landroid/content/pm/ApplicationInfo;.packageName:Ljava/lang/String; // field@0000 │ │ -01603c: 6e20 8905 1400 |0030: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -016042: 6e10 8b05 0400 |0033: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -016048: 0c01 |0036: move-result-object v1 │ │ -01604a: 1a02 5100 |0037: const-string v2, ", " // string@0051 │ │ -01604e: d803 0301 |0039: add-int/lit8 v3, v3, #int 1 // #01 │ │ -016052: 28d5 |003b: goto 0010 // -002b │ │ -016054: 1101 |003c: return-object v1 │ │ -016056: 5450 a700 |003d: iget-object v0, v5, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ -01605a: 1100 |003f: return-object v0 │ │ +015fc8: |[015fc8] dnsfilter.android.AppSelectorView.getSelectedAppPackages:()Ljava/lang/String; │ │ +015fd8: 5550 a300 |0000: iget-boolean v0, v5, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +015fdc: 3800 3b00 |0002: if-eqz v0, 003d // +003b │ │ +015fe0: 5450 a500 |0004: iget-object v0, v5, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +015fe4: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ +015fe8: 2835 |0008: goto 003d // +0035 │ │ +015fea: 5450 a800 |0009: iget-object v0, v5, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +015fee: 1a01 0000 |000b: const-string v1, "" // string@0000 │ │ +015ff2: 1202 |000d: const/4 v2, #int 0 // #0 │ │ +015ff4: 0712 |000e: move-object v2, v1 │ │ +015ff6: 1203 |000f: const/4 v3, #int 0 // #0 │ │ +015ff8: 2104 |0010: array-length v4, v0 │ │ +015ffa: 3543 2b00 |0011: if-ge v3, v4, 003c // +002b │ │ +015ffe: 4604 0003 |0013: aget-object v4, v0, v3 │ │ +016002: 5444 9900 |0015: iget-object v4, v4, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ +016006: 6e10 b700 0400 |0017: invoke-virtual {v4}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01600c: 0a04 |001a: move-result v4 │ │ +01600e: 3804 1e00 |001b: if-eqz v4, 0039 // +001e │ │ +016012: 2204 2801 |001d: new-instance v4, Ljava/lang/StringBuilder; // type@0128 │ │ +016016: 7010 8305 0400 |001f: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +01601c: 6e20 8905 1400 |0022: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +016022: 6e20 8905 2400 |0025: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +016028: 4601 0003 |0028: aget-object v1, v0, v3 │ │ +01602c: 7110 2002 0100 |002a: invoke-static {v1}, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.access$900:(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)Landroid/content/pm/ApplicationInfo; // method@0220 │ │ +016032: 0c01 |002d: move-result-object v1 │ │ +016034: 5411 0000 |002e: iget-object v1, v1, Landroid/content/pm/ApplicationInfo;.packageName:Ljava/lang/String; // field@0000 │ │ +016038: 6e20 8905 1400 |0030: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01603e: 6e10 8b05 0400 |0033: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +016044: 0c01 |0036: move-result-object v1 │ │ +016046: 1a02 5100 |0037: const-string v2, ", " // string@0051 │ │ +01604a: d803 0301 |0039: add-int/lit8 v3, v3, #int 1 // #01 │ │ +01604e: 28d5 |003b: goto 0010 // -002b │ │ +016050: 1101 |003c: return-object v1 │ │ +016052: 5450 a700 |003d: iget-object v0, v5, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ +016056: 1100 |003f: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=249 │ │ 0x0009 line=252 │ │ 0x000b line=256 │ │ 0x0013 line=257 │ │ 0x001d line=258 │ │ @@ -9903,51 +9903,51 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 77 16-bit code units │ │ -0161d4: |[0161d4] dnsfilter.android.AppSelectorView.loadAppList:()V │ │ -0161e4: 6e10 3a02 0300 |0000: invoke-virtual {v3}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@023a │ │ -0161ea: 0c00 |0003: move-result-object v0 │ │ -0161ec: 7110 9000 0000 |0004: invoke-static {v0}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@0090 │ │ -0161f2: 0c00 |0007: move-result-object v0 │ │ -0161f4: 1401 0200 067f |0008: const v1, #float 1.78117e+38 // #7f060002 │ │ -0161fa: 1202 |000b: const/4 v2, #int 0 // #0 │ │ -0161fc: 6e30 9100 1002 |000c: invoke-virtual {v0, v1, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@0091 │ │ -016202: 0c00 |000f: move-result-object v0 │ │ -016204: 5b30 a600 |0010: iput-object v0, v3, Ldnsfilter/android/AppSelectorView;.searchView:Landroid/view/View; // field@00a6 │ │ -016208: 1401 5c00 057f |0012: const v1, #float 1.76789e+38 // #7f05005c │ │ -01620e: 6e20 9700 1000 |0015: invoke-virtual {v0, v1}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ -016214: 0c00 |0018: move-result-object v0 │ │ -016216: 6e20 9d00 3000 |0019: invoke-virtual {v0, v3}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@009d │ │ -01621c: 6e10 3a02 0300 |001c: invoke-virtual {v3}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@023a │ │ -016222: 0c00 |001f: move-result-object v0 │ │ -016224: 7110 9000 0000 |0020: invoke-static {v0}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@0090 │ │ -01622a: 0c00 |0023: move-result-object v0 │ │ -01622c: 1401 0800 067f |0024: const v1, #float 1.78117e+38 // #7f060008 │ │ -016232: 6e30 9100 1002 |0027: invoke-virtual {v0, v1, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@0091 │ │ -016238: 0c00 |002a: move-result-object v0 │ │ -01623a: 5b30 a000 |002b: iput-object v0, v3, Ldnsfilter/android/AppSelectorView;.emptyResult:Landroid/view/View; // field@00a0 │ │ -01623e: 1301 0800 |002d: const/16 v1, #int 8 // #8 │ │ -016242: 6e20 9f00 1000 |002f: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -016248: 5530 a300 |0032: iget-boolean v0, v3, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -01624c: 3900 1800 |0034: if-nez v0, 004c // +0018 │ │ -016250: 5430 a500 |0036: iget-object v0, v3, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -016254: 3800 0300 |0038: if-eqz v0, 003b // +0003 │ │ -016258: 2812 |003a: goto 004c // +0012 │ │ -01625a: 2200 9500 |003b: new-instance v0, Ldnsfilter/android/AppSelectorView$AsyncLoader; // type@0095 │ │ -01625e: 7030 1a02 3002 |003d: invoke-direct {v0, v3, v2}, Ldnsfilter/android/AppSelectorView$AsyncLoader;.:(Ldnsfilter/android/AppSelectorView;Ldnsfilter/android/AppSelectorView$1;)V // method@021a │ │ -016264: 5b30 a500 |0040: iput-object v0, v3, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -016268: 2200 2a01 |0042: new-instance v0, Ljava/lang/Thread; // type@012a │ │ -01626c: 5431 a500 |0044: iget-object v1, v3, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -016270: 7020 9005 1000 |0046: invoke-direct {v0, v1}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ -016276: 6e10 9605 0000 |0049: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@0596 │ │ -01627c: 0e00 |004c: return-void │ │ +0161d0: |[0161d0] dnsfilter.android.AppSelectorView.loadAppList:()V │ │ +0161e0: 6e10 3a02 0300 |0000: invoke-virtual {v3}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@023a │ │ +0161e6: 0c00 |0003: move-result-object v0 │ │ +0161e8: 7110 9000 0000 |0004: invoke-static {v0}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@0090 │ │ +0161ee: 0c00 |0007: move-result-object v0 │ │ +0161f0: 1401 0200 067f |0008: const v1, #float 1.78117e+38 // #7f060002 │ │ +0161f6: 1202 |000b: const/4 v2, #int 0 // #0 │ │ +0161f8: 6e30 9100 1002 |000c: invoke-virtual {v0, v1, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@0091 │ │ +0161fe: 0c00 |000f: move-result-object v0 │ │ +016200: 5b30 a600 |0010: iput-object v0, v3, Ldnsfilter/android/AppSelectorView;.searchView:Landroid/view/View; // field@00a6 │ │ +016204: 1401 5c00 057f |0012: const v1, #float 1.76789e+38 // #7f05005c │ │ +01620a: 6e20 9700 1000 |0015: invoke-virtual {v0, v1}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ +016210: 0c00 |0018: move-result-object v0 │ │ +016212: 6e20 9d00 3000 |0019: invoke-virtual {v0, v3}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@009d │ │ +016218: 6e10 3a02 0300 |001c: invoke-virtual {v3}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@023a │ │ +01621e: 0c00 |001f: move-result-object v0 │ │ +016220: 7110 9000 0000 |0020: invoke-static {v0}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@0090 │ │ +016226: 0c00 |0023: move-result-object v0 │ │ +016228: 1401 0800 067f |0024: const v1, #float 1.78117e+38 // #7f060008 │ │ +01622e: 6e30 9100 1002 |0027: invoke-virtual {v0, v1, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@0091 │ │ +016234: 0c00 |002a: move-result-object v0 │ │ +016236: 5b30 a000 |002b: iput-object v0, v3, Ldnsfilter/android/AppSelectorView;.emptyResult:Landroid/view/View; // field@00a0 │ │ +01623a: 1301 0800 |002d: const/16 v1, #int 8 // #8 │ │ +01623e: 6e20 9f00 1000 |002f: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +016244: 5530 a300 |0032: iget-boolean v0, v3, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +016248: 3900 1800 |0034: if-nez v0, 004c // +0018 │ │ +01624c: 5430 a500 |0036: iget-object v0, v3, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +016250: 3800 0300 |0038: if-eqz v0, 003b // +0003 │ │ +016254: 2812 |003a: goto 004c // +0012 │ │ +016256: 2200 9500 |003b: new-instance v0, Ldnsfilter/android/AppSelectorView$AsyncLoader; // type@0095 │ │ +01625a: 7030 1a02 3002 |003d: invoke-direct {v0, v3, v2}, Ldnsfilter/android/AppSelectorView$AsyncLoader;.:(Ldnsfilter/android/AppSelectorView;Ldnsfilter/android/AppSelectorView$1;)V // method@021a │ │ +016260: 5b30 a500 |0040: iput-object v0, v3, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +016264: 2200 2a01 |0042: new-instance v0, Ljava/lang/Thread; // type@012a │ │ +016268: 5431 a500 |0044: iget-object v1, v3, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +01626c: 7020 9005 1000 |0046: invoke-direct {v0, v1}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ +016272: 6e10 9605 0000 |0049: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@0596 │ │ +016278: 0e00 |004c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=202 │ │ 0x0015 line=203 │ │ 0x001c line=204 │ │ 0x002f line=205 │ │ 0x0032 line=207 │ │ @@ -9961,82 +9961,82 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 9 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 132 16-bit code units │ │ -016280: |[016280] dnsfilter.android.AppSelectorView.onClick:(Landroid/view/View;)V │ │ -016290: 5578 a300 |0000: iget-boolean v8, v7, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -016294: 3808 8100 |0002: if-eqz v8, 0083 // +0081 │ │ -016298: 5478 a500 |0004: iget-object v8, v7, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -01629c: 3808 0400 |0006: if-eqz v8, 000a // +0004 │ │ -0162a0: 2900 7b00 |0008: goto/16 0083 // +007b │ │ -0162a4: 5478 a600 |000a: iget-object v8, v7, Ldnsfilter/android/AppSelectorView;.searchView:Landroid/view/View; // field@00a6 │ │ -0162a8: 1400 5d00 057f |000c: const v0, #float 1.76789e+38 // #7f05005d │ │ -0162ae: 6e20 9700 0800 |000f: invoke-virtual {v8, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ -0162b4: 0c08 |0012: move-result-object v8 │ │ -0162b6: 1f08 6200 |0013: check-cast v8, Landroid/widget/EditText; // type@0062 │ │ -0162ba: 6e10 c500 0800 |0015: invoke-virtual {v8}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ -0162c0: 0c08 |0018: move-result-object v8 │ │ -0162c2: 6e10 5405 0800 |0019: invoke-virtual {v8}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ -0162c8: 0c08 |001c: move-result-object v8 │ │ -0162ca: 6e10 7805 0800 |001d: invoke-virtual {v8}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@0578 │ │ -0162d0: 0c08 |0020: move-result-object v8 │ │ -0162d2: 5470 a800 |0021: iget-object v0, v7, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -0162d6: 5471 a000 |0023: iget-object v1, v7, Ldnsfilter/android/AppSelectorView;.emptyResult:Landroid/view/View; // field@00a0 │ │ -0162da: 1302 0800 |0025: const/16 v2, #int 8 // #8 │ │ -0162de: 6e20 9f00 2100 |0027: invoke-virtual {v1, v2}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -0162e4: 1201 |002a: const/4 v1, #int 0 // #0 │ │ -0162e6: 1203 |002b: const/4 v3, #int 0 // #0 │ │ -0162e8: 1204 |002c: const/4 v4, #int 0 // #0 │ │ -0162ea: 2105 |002d: array-length v5, v0 │ │ -0162ec: 3553 3400 |002e: if-ge v3, v5, 0062 // +0034 │ │ -0162f0: 4605 0003 |0030: aget-object v5, v0, v3 │ │ -0162f4: 5455 9900 |0032: iget-object v5, v5, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ -0162f8: 6e10 b600 0500 |0034: invoke-virtual {v5}, Landroid/widget/CheckBox;.getText:()Ljava/lang/CharSequence; // method@00b6 │ │ -0162fe: 0c05 |0037: move-result-object v5 │ │ -016300: 7210 2c05 0500 |0038: invoke-interface {v5}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ -016306: 0c05 |003b: move-result-object v5 │ │ -016308: 6e10 7805 0500 |003c: invoke-virtual {v5}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@0578 │ │ -01630e: 0c05 |003f: move-result-object v5 │ │ -016310: 6e20 6c05 8500 |0040: invoke-virtual {v5, v8}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@056c │ │ -016316: 0a05 |0043: move-result v5 │ │ -016318: 12f6 |0044: const/4 v6, #int -1 // #ff │ │ -01631a: 3265 0400 |0045: if-eq v5, v6, 0049 // +0004 │ │ -01631e: 1215 |0047: const/4 v5, #int 1 // #1 │ │ -016320: 2802 |0048: goto 004a // +0002 │ │ -016322: 1205 |0049: const/4 v5, #int 0 // #0 │ │ -016324: 3805 0a00 |004a: if-eqz v5, 0054 // +000a │ │ -016328: 4606 0003 |004c: aget-object v6, v0, v3 │ │ -01632c: 5466 9900 |004e: iget-object v6, v6, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ -016330: 6e20 bd00 1600 |0050: invoke-virtual {v6, v1}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -016336: 2808 |0053: goto 005b // +0008 │ │ -016338: 4606 0003 |0054: aget-object v6, v0, v3 │ │ -01633c: 5466 9900 |0056: iget-object v6, v6, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ -016340: 6e20 bd00 2600 |0058: invoke-virtual {v6, v2}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -016346: 3805 0400 |005b: if-eqz v5, 005f // +0004 │ │ -01634a: d804 0401 |005d: add-int/lit8 v4, v4, #int 1 // #01 │ │ -01634e: d803 0301 |005f: add-int/lit8 v3, v3, #int 1 // #01 │ │ -016352: 28cc |0061: goto 002d // -0034 │ │ -016354: 3904 0700 |0062: if-nez v4, 0069 // +0007 │ │ -016358: 5478 a000 |0064: iget-object v8, v7, Ldnsfilter/android/AppSelectorView;.emptyResult:Landroid/view/View; // field@00a0 │ │ -01635c: 6e20 9f00 1800 |0066: invoke-virtual {v8, v1}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -016362: 7100 0107 0000 |0069: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -016368: 0c08 |006c: move-result-object v8 │ │ -01636a: 2200 2801 |006d: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ -01636e: 1a01 ae01 |006f: const-string v1, "Found: " // string@01ae │ │ -016372: 7020 8405 1000 |0071: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -016378: 6e20 8605 4000 |0074: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -01637e: 1a01 1600 |0077: const-string v1, " apps!" // string@0016 │ │ -016382: 6e20 8905 1000 |0079: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -016388: 6e10 8b05 0000 |007c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01638e: 0c00 |007f: move-result-object v0 │ │ -016390: 7220 0d07 0800 |0080: invoke-interface {v8, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -016396: 0e00 |0083: return-void │ │ +01627c: |[01627c] dnsfilter.android.AppSelectorView.onClick:(Landroid/view/View;)V │ │ +01628c: 5578 a300 |0000: iget-boolean v8, v7, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +016290: 3808 8100 |0002: if-eqz v8, 0083 // +0081 │ │ +016294: 5478 a500 |0004: iget-object v8, v7, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +016298: 3808 0400 |0006: if-eqz v8, 000a // +0004 │ │ +01629c: 2900 7b00 |0008: goto/16 0083 // +007b │ │ +0162a0: 5478 a600 |000a: iget-object v8, v7, Ldnsfilter/android/AppSelectorView;.searchView:Landroid/view/View; // field@00a6 │ │ +0162a4: 1400 5d00 057f |000c: const v0, #float 1.76789e+38 // #7f05005d │ │ +0162aa: 6e20 9700 0800 |000f: invoke-virtual {v8, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ +0162b0: 0c08 |0012: move-result-object v8 │ │ +0162b2: 1f08 6200 |0013: check-cast v8, Landroid/widget/EditText; // type@0062 │ │ +0162b6: 6e10 c500 0800 |0015: invoke-virtual {v8}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ +0162bc: 0c08 |0018: move-result-object v8 │ │ +0162be: 6e10 5405 0800 |0019: invoke-virtual {v8}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ +0162c4: 0c08 |001c: move-result-object v8 │ │ +0162c6: 6e10 7805 0800 |001d: invoke-virtual {v8}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@0578 │ │ +0162cc: 0c08 |0020: move-result-object v8 │ │ +0162ce: 5470 a800 |0021: iget-object v0, v7, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +0162d2: 5471 a000 |0023: iget-object v1, v7, Ldnsfilter/android/AppSelectorView;.emptyResult:Landroid/view/View; // field@00a0 │ │ +0162d6: 1302 0800 |0025: const/16 v2, #int 8 // #8 │ │ +0162da: 6e20 9f00 2100 |0027: invoke-virtual {v1, v2}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +0162e0: 1201 |002a: const/4 v1, #int 0 // #0 │ │ +0162e2: 1203 |002b: const/4 v3, #int 0 // #0 │ │ +0162e4: 1204 |002c: const/4 v4, #int 0 // #0 │ │ +0162e6: 2105 |002d: array-length v5, v0 │ │ +0162e8: 3553 3400 |002e: if-ge v3, v5, 0062 // +0034 │ │ +0162ec: 4605 0003 |0030: aget-object v5, v0, v3 │ │ +0162f0: 5455 9900 |0032: iget-object v5, v5, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ +0162f4: 6e10 b600 0500 |0034: invoke-virtual {v5}, Landroid/widget/CheckBox;.getText:()Ljava/lang/CharSequence; // method@00b6 │ │ +0162fa: 0c05 |0037: move-result-object v5 │ │ +0162fc: 7210 2c05 0500 |0038: invoke-interface {v5}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ +016302: 0c05 |003b: move-result-object v5 │ │ +016304: 6e10 7805 0500 |003c: invoke-virtual {v5}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@0578 │ │ +01630a: 0c05 |003f: move-result-object v5 │ │ +01630c: 6e20 6c05 8500 |0040: invoke-virtual {v5, v8}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@056c │ │ +016312: 0a05 |0043: move-result v5 │ │ +016314: 12f6 |0044: const/4 v6, #int -1 // #ff │ │ +016316: 3265 0400 |0045: if-eq v5, v6, 0049 // +0004 │ │ +01631a: 1215 |0047: const/4 v5, #int 1 // #1 │ │ +01631c: 2802 |0048: goto 004a // +0002 │ │ +01631e: 1205 |0049: const/4 v5, #int 0 // #0 │ │ +016320: 3805 0a00 |004a: if-eqz v5, 0054 // +000a │ │ +016324: 4606 0003 |004c: aget-object v6, v0, v3 │ │ +016328: 5466 9900 |004e: iget-object v6, v6, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ +01632c: 6e20 bd00 1600 |0050: invoke-virtual {v6, v1}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +016332: 2808 |0053: goto 005b // +0008 │ │ +016334: 4606 0003 |0054: aget-object v6, v0, v3 │ │ +016338: 5466 9900 |0056: iget-object v6, v6, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ +01633c: 6e20 bd00 2600 |0058: invoke-virtual {v6, v2}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +016342: 3805 0400 |005b: if-eqz v5, 005f // +0004 │ │ +016346: d804 0401 |005d: add-int/lit8 v4, v4, #int 1 // #01 │ │ +01634a: d803 0301 |005f: add-int/lit8 v3, v3, #int 1 // #01 │ │ +01634e: 28cc |0061: goto 002d // -0034 │ │ +016350: 3904 0700 |0062: if-nez v4, 0069 // +0007 │ │ +016354: 5478 a000 |0064: iget-object v8, v7, Ldnsfilter/android/AppSelectorView;.emptyResult:Landroid/view/View; // field@00a0 │ │ +016358: 6e20 9f00 1800 |0066: invoke-virtual {v8, v1}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +01635e: 7100 0107 0000 |0069: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +016364: 0c08 |006c: move-result-object v8 │ │ +016366: 2200 2801 |006d: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ +01636a: 1a01 ae01 |006f: const-string v1, "Found: " // string@01ae │ │ +01636e: 7020 8405 1000 |0071: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +016374: 6e20 8605 4000 |0074: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +01637a: 1a01 1600 |0077: const-string v1, " apps!" // string@0016 │ │ +01637e: 6e20 8905 1000 |0079: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +016384: 6e10 8b05 0000 |007c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01638a: 0c00 |007f: move-result-object v0 │ │ +01638c: 7220 0d07 0800 |0080: invoke-interface {v8, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +016392: 0e00 |0083: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=41 │ │ 0x000a line=44 │ │ 0x0021 line=46 │ │ 0x0023 line=48 │ │ 0x002d line=50 │ │ @@ -10054,17 +10054,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -016398: |[016398] dnsfilter.android.AppSelectorView.setSelectedApps:(Ljava/lang/String;)V │ │ -0163a8: 5b01 a700 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ -0163ac: 0e00 |0002: return-void │ │ +016394: |[016394] dnsfilter.android.AppSelectorView.setSelectedApps:(Ljava/lang/String;)V │ │ +0163a4: 5b01 a700 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ +0163a8: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=244 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Ldnsfilter/android/AppSelectorView; │ │ 0x0000 - 0x0003 reg=1 (null) Ljava/lang/String; │ │ │ │ @@ -10093,18 +10093,18 @@ │ │ type : '(Landroid/content/Context;Ljava/lang/String;)I' │ │ access : 0x1049 (PUBLIC STATIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 5 16-bit code units │ │ -0164ac: |[0164ac] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/content/Context;Ljava/lang/String;)I │ │ -0164bc: 6e20 3100 1000 |0000: invoke-virtual {v0, v1}, Landroid/content/Context;.checkSelfPermission:(Ljava/lang/String;)I // method@0031 │ │ -0164c2: 0a00 |0003: move-result v0 │ │ -0164c4: 0f00 |0004: return v0 │ │ +0164a8: |[0164a8] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/content/Context;Ljava/lang/String;)I │ │ +0164b8: 6e20 3100 1000 |0000: invoke-virtual {v0, v1}, Landroid/content/Context;.checkSelfPermission:(Ljava/lang/String;)I // method@0031 │ │ +0164be: 0a00 |0003: move-result v0 │ │ +0164c0: 0f00 |0004: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 (null) Landroid/content/Context; │ │ 0x0000 - 0x0005 reg=1 (null) Ljava/lang/String; │ │ │ │ @@ -10113,18 +10113,18 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)I' │ │ access : 0x1049 (PUBLIC STATIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 5 16-bit code units │ │ -0164c8: |[0164c8] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)I │ │ -0164d8: 6e20 c102 1000 |0000: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.checkSelfPermission:(Ljava/lang/String;)I // method@02c1 │ │ -0164de: 0a00 |0003: move-result v0 │ │ -0164e0: 0f00 |0004: return v0 │ │ +0164c4: |[0164c4] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)I │ │ +0164d4: 6e20 c102 1000 |0000: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.checkSelfPermission:(Ljava/lang/String;)I // method@02c1 │ │ +0164da: 0a00 |0003: move-result v0 │ │ +0164dc: 0f00 |0004: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 (null) Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x0005 reg=1 (null) Ljava/lang/String; │ │ │ │ @@ -10133,18 +10133,18 @@ │ │ type : '(Landroid/content/Context;Landroid/content/Intent;)Landroid/content/ComponentName;' │ │ access : 0x1049 (PUBLIC STATIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 5 16-bit code units │ │ -0163b0: |[0163b0] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/content/Context;Landroid/content/Intent;)Landroid/content/ComponentName; │ │ -0163c0: 6e20 3c00 1000 |0000: invoke-virtual {v0, v1}, Landroid/content/Context;.startForegroundService:(Landroid/content/Intent;)Landroid/content/ComponentName; // method@003c │ │ -0163c6: 0c00 |0003: move-result-object v0 │ │ -0163c8: 1100 |0004: return-object v0 │ │ +0163ac: |[0163ac] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/content/Context;Landroid/content/Intent;)Landroid/content/ComponentName; │ │ +0163bc: 6e20 3c00 1000 |0000: invoke-virtual {v0, v1}, Landroid/content/Context;.startForegroundService:(Landroid/content/Intent;)Landroid/content/ComponentName; // method@003c │ │ +0163c2: 0c00 |0003: move-result-object v0 │ │ +0163c4: 1100 |0004: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 (null) Landroid/content/Context; │ │ 0x0000 - 0x0005 reg=1 (null) Landroid/content/Intent; │ │ │ │ @@ -10153,18 +10153,18 @@ │ │ type : '(Ldnsfilter/android/DNSFilterService;Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;I)Landroid/content/Intent;' │ │ access : 0x1049 (PUBLIC STATIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 5 16-bit code units │ │ -0163cc: |[0163cc] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ldnsfilter/android/DNSFilterService;Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;I)Landroid/content/Intent; │ │ -0163dc: 6e40 8a02 1032 |0000: invoke-virtual {v0, v1, v2, v3}, Ldnsfilter/android/DNSFilterService;.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;I)Landroid/content/Intent; // method@028a │ │ -0163e2: 0c00 |0003: move-result-object v0 │ │ -0163e4: 1100 |0004: return-object v0 │ │ +0163c8: |[0163c8] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ldnsfilter/android/DNSFilterService;Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;I)Landroid/content/Intent; │ │ +0163d8: 6e40 8a02 1032 |0000: invoke-virtual {v0, v1, v2, v3}, Ldnsfilter/android/DNSFilterService;.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;I)Landroid/content/Intent; // method@028a │ │ +0163de: 0c00 |0003: move-result-object v0 │ │ +0163e0: 1100 |0004: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 (null) Ldnsfilter/android/DNSFilterService; │ │ 0x0000 - 0x0005 reg=1 (null) Landroid/content/BroadcastReceiver; │ │ 0x0000 - 0x0005 reg=2 (null) Landroid/content/IntentFilter; │ │ @@ -10175,18 +10175,18 @@ │ │ type : '(Landroid/net/ConnectivityManager;Landroid/net/Network;)Landroid/net/LinkProperties;' │ │ access : 0x1049 (PUBLIC STATIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 5 16-bit code units │ │ -0163e8: |[0163e8] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/ConnectivityManager;Landroid/net/Network;)Landroid/net/LinkProperties; │ │ -0163f8: 6e20 5b00 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/ConnectivityManager;.getLinkProperties:(Landroid/net/Network;)Landroid/net/LinkProperties; // method@005b │ │ -0163fe: 0c00 |0003: move-result-object v0 │ │ -016400: 1100 |0004: return-object v0 │ │ +0163e4: |[0163e4] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/ConnectivityManager;Landroid/net/Network;)Landroid/net/LinkProperties; │ │ +0163f4: 6e20 5b00 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/ConnectivityManager;.getLinkProperties:(Landroid/net/Network;)Landroid/net/LinkProperties; // method@005b │ │ +0163fa: 0c00 |0003: move-result-object v0 │ │ +0163fc: 1100 |0004: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 (null) Landroid/net/ConnectivityManager; │ │ 0x0000 - 0x0005 reg=1 (null) Landroid/net/Network; │ │ │ │ @@ -10195,18 +10195,18 @@ │ │ type : '(Landroid/net/ConnectivityManager;Landroid/net/Network;)Landroid/net/NetworkInfo;' │ │ access : 0x1049 (PUBLIC STATIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 5 16-bit code units │ │ -016404: |[016404] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/ConnectivityManager;Landroid/net/Network;)Landroid/net/NetworkInfo; │ │ -016414: 6e20 5c00 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/ConnectivityManager;.getNetworkInfo:(Landroid/net/Network;)Landroid/net/NetworkInfo; // method@005c │ │ -01641a: 0c00 |0003: move-result-object v0 │ │ -01641c: 1100 |0004: return-object v0 │ │ +016400: |[016400] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/ConnectivityManager;Landroid/net/Network;)Landroid/net/NetworkInfo; │ │ +016410: 6e20 5c00 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/ConnectivityManager;.getNetworkInfo:(Landroid/net/Network;)Landroid/net/NetworkInfo; // method@005c │ │ +016416: 0c00 |0003: move-result-object v0 │ │ +016418: 1100 |0004: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 (null) Landroid/net/ConnectivityManager; │ │ 0x0000 - 0x0005 reg=1 (null) Landroid/net/Network; │ │ │ │ @@ -10215,18 +10215,18 @@ │ │ type : '(Landroid/net/VpnService$Builder;Ljava/lang/String;)Landroid/net/VpnService$Builder;' │ │ access : 0x1049 (PUBLIC STATIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 5 16-bit code units │ │ -016474: |[016474] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/VpnService$Builder;Ljava/lang/String;)Landroid/net/VpnService$Builder; │ │ -016484: 6e20 6400 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/VpnService$Builder;.addDisallowedApplication:(Ljava/lang/String;)Landroid/net/VpnService$Builder; // method@0064 │ │ -01648a: 0c00 |0003: move-result-object v0 │ │ -01648c: 1100 |0004: return-object v0 │ │ +016470: |[016470] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/VpnService$Builder;Ljava/lang/String;)Landroid/net/VpnService$Builder; │ │ +016480: 6e20 6400 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/VpnService$Builder;.addDisallowedApplication:(Ljava/lang/String;)Landroid/net/VpnService$Builder; // method@0064 │ │ +016486: 0c00 |0003: move-result-object v0 │ │ +016488: 1100 |0004: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 (null) Landroid/net/VpnService$Builder; │ │ 0x0000 - 0x0005 reg=1 (null) Ljava/lang/String; │ │ │ │ @@ -10235,18 +10235,18 @@ │ │ type : '(Landroid/net/VpnService$Builder;Z)Landroid/net/VpnService$Builder;' │ │ access : 0x1049 (PUBLIC STATIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 5 16-bit code units │ │ -016458: |[016458] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/VpnService$Builder;Z)Landroid/net/VpnService$Builder; │ │ -016468: 6e20 6900 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/VpnService$Builder;.setBlocking:(Z)Landroid/net/VpnService$Builder; // method@0069 │ │ -01646e: 0c00 |0003: move-result-object v0 │ │ -016470: 1100 |0004: return-object v0 │ │ +016454: |[016454] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/VpnService$Builder;Z)Landroid/net/VpnService$Builder; │ │ +016464: 6e20 6900 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/VpnService$Builder;.setBlocking:(Z)Landroid/net/VpnService$Builder; // method@0069 │ │ +01646a: 0c00 |0003: move-result-object v0 │ │ +01646c: 1100 |0004: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 (null) Landroid/net/VpnService$Builder; │ │ 0x0000 - 0x0005 reg=1 (null) Z │ │ │ │ @@ -10255,18 +10255,18 @@ │ │ type : '(Ljava/lang/String;I)Landroid/text/Spanned;' │ │ access : 0x1049 (PUBLIC STATIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 5 16-bit code units │ │ -016490: |[016490] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ljava/lang/String;I)Landroid/text/Spanned; │ │ -0164a0: 7120 8800 1000 |0000: invoke-static {v0, v1}, Landroid/text/Html;.fromHtml:(Ljava/lang/String;I)Landroid/text/Spanned; // method@0088 │ │ -0164a6: 0c00 |0003: move-result-object v0 │ │ -0164a8: 1100 |0004: return-object v0 │ │ +01648c: |[01648c] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ljava/lang/String;I)Landroid/text/Spanned; │ │ +01649c: 7120 8800 1000 |0000: invoke-static {v0, v1}, Landroid/text/Html;.fromHtml:(Ljava/lang/String;I)Landroid/text/Spanned; // method@0088 │ │ +0164a2: 0c00 |0003: move-result-object v0 │ │ +0164a4: 1100 |0004: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 (null) Ljava/lang/String; │ │ 0x0000 - 0x0005 reg=1 (null) I │ │ │ │ @@ -10275,18 +10275,18 @@ │ │ type : '(Landroid/net/Network;)Ljava/lang/String;' │ │ access : 0x1049 (PUBLIC STATIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 5 16-bit code units │ │ -016500: |[016500] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/Network;)Ljava/lang/String; │ │ -016510: 6e10 5e00 0000 |0000: invoke-virtual {v0}, Landroid/net/Network;.toString:()Ljava/lang/String; // method@005e │ │ -016516: 0c00 |0003: move-result-object v0 │ │ -016518: 1100 |0004: return-object v0 │ │ +0164fc: |[0164fc] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/Network;)Ljava/lang/String; │ │ +01650c: 6e10 5e00 0000 |0000: invoke-virtual {v0}, Landroid/net/Network;.toString:()Ljava/lang/String; // method@005e │ │ +016512: 0c00 |0003: move-result-object v0 │ │ +016514: 1100 |0004: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 (null) Landroid/net/Network; │ │ │ │ #10 : (in Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;) │ │ @@ -10294,18 +10294,18 @@ │ │ type : '(Landroid/net/LinkProperties;)Ljava/util/List;' │ │ access : 0x1049 (PUBLIC STATIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 5 16-bit code units │ │ -01651c: |[01651c] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/LinkProperties;)Ljava/util/List; │ │ -01652c: 6e10 5d00 0000 |0000: invoke-virtual {v0}, Landroid/net/LinkProperties;.getDnsServers:()Ljava/util/List; // method@005d │ │ -016532: 0c00 |0003: move-result-object v0 │ │ -016534: 1100 |0004: return-object v0 │ │ +016518: |[016518] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/LinkProperties;)Ljava/util/List; │ │ +016528: 6e10 5d00 0000 |0000: invoke-virtual {v0}, Landroid/net/LinkProperties;.getDnsServers:()Ljava/util/List; // method@005d │ │ +01652e: 0c00 |0003: move-result-object v0 │ │ +016530: 1100 |0004: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 (null) Landroid/net/LinkProperties; │ │ │ │ #11 : (in Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;) │ │ @@ -10313,17 +10313,17 @@ │ │ type : '(Landroid/app/NotificationManager;Landroid/app/NotificationChannel;)V' │ │ access : 0x1049 (PUBLIC STATIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -016550: |[016550] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/app/NotificationManager;Landroid/app/NotificationChannel;)V │ │ -016560: 6e20 2c00 1000 |0000: invoke-virtual {v0, v1}, Landroid/app/NotificationManager;.createNotificationChannel:(Landroid/app/NotificationChannel;)V // method@002c │ │ -016566: 0e00 |0003: return-void │ │ +01654c: |[01654c] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/app/NotificationManager;Landroid/app/NotificationChannel;)V │ │ +01655c: 6e20 2c00 1000 |0000: invoke-virtual {v0, v1}, Landroid/app/NotificationManager;.createNotificationChannel:(Landroid/app/NotificationChannel;)V // method@002c │ │ +016562: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Landroid/app/NotificationManager; │ │ 0x0000 - 0x0004 reg=1 (null) Landroid/app/NotificationChannel; │ │ │ │ @@ -10332,17 +10332,17 @@ │ │ type : '(Landroid/view/ViewGroup;)V' │ │ access : 0x1049 (PUBLIC STATIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -016568: |[016568] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/view/ViewGroup;)V │ │ -016578: 7110 8d00 0000 |0000: invoke-static {v0}, Landroid/transition/TransitionManager;.beginDelayedTransition:(Landroid/view/ViewGroup;)V // method@008d │ │ -01657e: 0e00 |0003: return-void │ │ +016564: |[016564] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/view/ViewGroup;)V │ │ +016574: 7110 8d00 0000 |0000: invoke-static {v0}, Landroid/transition/TransitionManager;.beginDelayedTransition:(Landroid/view/ViewGroup;)V // method@008d │ │ +01657a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Landroid/view/ViewGroup; │ │ │ │ #13 : (in Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;) │ │ @@ -10350,17 +10350,17 @@ │ │ type : '(Landroid/view/Window;I)V' │ │ access : 0x1049 (PUBLIC STATIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -016580: |[016580] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/view/Window;I)V │ │ -016590: 6e20 a700 1000 |0000: invoke-virtual {v0, v1}, Landroid/view/Window;.setStatusBarColor:(I)V // method@00a7 │ │ -016596: 0e00 |0003: return-void │ │ +01657c: |[01657c] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/view/Window;I)V │ │ +01658c: 6e20 a700 1000 |0000: invoke-virtual {v0, v1}, Landroid/view/Window;.setStatusBarColor:(I)V // method@00a7 │ │ +016592: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Landroid/view/Window; │ │ 0x0000 - 0x0004 reg=1 (null) I │ │ │ │ @@ -10369,17 +10369,17 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity;[Ljava/lang/String;I)V' │ │ access : 0x1049 (PUBLIC STATIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 4 16-bit code units │ │ -016598: |[016598] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ldnsfilter/android/DNSProxyActivity;[Ljava/lang/String;I)V │ │ -0165a8: 6e30 0303 1002 |0000: invoke-virtual {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.requestPermissions:([Ljava/lang/String;I)V // method@0303 │ │ -0165ae: 0e00 |0003: return-void │ │ +016594: |[016594] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ldnsfilter/android/DNSProxyActivity;[Ljava/lang/String;I)V │ │ +0165a4: 6e30 0303 1002 |0000: invoke-virtual {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.requestPermissions:([Ljava/lang/String;I)V // method@0303 │ │ +0165aa: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x0004 reg=1 (null) [Ljava/lang/String; │ │ 0x0000 - 0x0004 reg=2 (null) I │ │ @@ -10389,18 +10389,18 @@ │ │ type : '(Landroid/net/ConnectivityManager;)[Landroid/net/Network;' │ │ access : 0x1049 (PUBLIC STATIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 5 16-bit code units │ │ -016420: |[016420] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/ConnectivityManager;)[Landroid/net/Network; │ │ -016430: 6e10 5a00 0000 |0000: invoke-virtual {v0}, Landroid/net/ConnectivityManager;.getAllNetworks:()[Landroid/net/Network; // method@005a │ │ -016436: 0c00 |0003: move-result-object v0 │ │ -016438: 1100 |0004: return-object v0 │ │ +01641c: |[01641c] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/ConnectivityManager;)[Landroid/net/Network; │ │ +01642c: 6e10 5a00 0000 |0000: invoke-virtual {v0}, Landroid/net/ConnectivityManager;.getAllNetworks:()[Landroid/net/Network; // method@005a │ │ +016432: 0c00 |0003: move-result-object v0 │ │ +016434: 1100 |0004: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 (null) Landroid/net/ConnectivityManager; │ │ │ │ #16 : (in Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;) │ │ @@ -10408,18 +10408,18 @@ │ │ type : '(Landroid/content/Context;Ljava/lang/String;)[Ljava/io/File;' │ │ access : 0x1049 (PUBLIC STATIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 5 16-bit code units │ │ -0164e4: |[0164e4] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/content/Context;Ljava/lang/String;)[Ljava/io/File; │ │ -0164f4: 6e20 3500 1000 |0000: invoke-virtual {v0, v1}, Landroid/content/Context;.getExternalFilesDirs:(Ljava/lang/String;)[Ljava/io/File; // method@0035 │ │ -0164fa: 0c00 |0003: move-result-object v0 │ │ -0164fc: 1100 |0004: return-object v0 │ │ +0164e0: |[0164e0] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/content/Context;Ljava/lang/String;)[Ljava/io/File; │ │ +0164f0: 6e20 3500 1000 |0000: invoke-virtual {v0, v1}, Landroid/content/Context;.getExternalFilesDirs:(Ljava/lang/String;)[Ljava/io/File; // method@0035 │ │ +0164f6: 0c00 |0003: move-result-object v0 │ │ +0164f8: 1100 |0004: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 (null) Landroid/content/Context; │ │ 0x0000 - 0x0005 reg=1 (null) Ljava/lang/String; │ │ │ │ @@ -10428,18 +10428,18 @@ │ │ type : '(Landroid/net/VpnService$Builder;Z)Landroid/net/VpnService$Builder;' │ │ access : 0x1049 (PUBLIC STATIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 5 16-bit code units │ │ -01643c: |[01643c] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m$1:(Landroid/net/VpnService$Builder;Z)Landroid/net/VpnService$Builder; │ │ -01644c: 6e20 6b00 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/VpnService$Builder;.setMetered:(Z)Landroid/net/VpnService$Builder; // method@006b │ │ -016452: 0c00 |0003: move-result-object v0 │ │ -016454: 1100 |0004: return-object v0 │ │ +016438: |[016438] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m$1:(Landroid/net/VpnService$Builder;Z)Landroid/net/VpnService$Builder; │ │ +016448: 6e20 6b00 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/VpnService$Builder;.setMetered:(Z)Landroid/net/VpnService$Builder; // method@006b │ │ +01644e: 0c00 |0003: move-result-object v0 │ │ +016450: 1100 |0004: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 (null) Landroid/net/VpnService$Builder; │ │ 0x0000 - 0x0005 reg=1 (null) Z │ │ │ │ @@ -10448,17 +10448,17 @@ │ │ type : '(Landroid/view/Window;I)V' │ │ access : 0x1049 (PUBLIC STATIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -016538: |[016538] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m$1:(Landroid/view/Window;I)V │ │ -016548: 6e20 a600 1000 |0000: invoke-virtual {v0, v1}, Landroid/view/Window;.setNavigationBarColor:(I)V // method@00a6 │ │ -01654e: 0e00 |0003: return-void │ │ +016534: |[016534] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m$1:(Landroid/view/Window;I)V │ │ +016544: 6e20 a600 1000 |0000: invoke-virtual {v0, v1}, Landroid/view/Window;.setNavigationBarColor:(I)V // method@00a6 │ │ +01654a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Landroid/view/Window; │ │ 0x0000 - 0x0004 reg=1 (null) I │ │ │ │ @@ -10488,17 +10488,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -016634: |[016634] dnsfilter.android.BootUpReceiver.:()V │ │ -016644: 7010 3000 0000 |0000: invoke-direct {v0}, Landroid/content/BroadcastReceiver;.:()V // method@0030 │ │ -01664a: 0e00 |0003: return-void │ │ +016630: |[016630] dnsfilter.android.BootUpReceiver.:()V │ │ +016640: 7010 3000 0000 |0000: invoke-direct {v0}, Landroid/content/BroadcastReceiver;.:()V // method@0030 │ │ +016646: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=38 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/BootUpReceiver; │ │ │ │ Virtual methods - │ │ @@ -10507,37 +10507,37 @@ │ │ type : '()Ljava/util/Properties;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 49 16-bit code units │ │ -0165b0: |[0165b0] dnsfilter.android.BootUpReceiver.getConfig:()Ljava/util/Properties; │ │ -0165c0: 2200 f600 |0000: new-instance v0, Ljava/io/File; // type@00f6 │ │ -0165c4: 2201 2801 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -0165c8: 7010 8305 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -0165ce: 7100 ae06 0000 |0007: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ -0165d4: 0c02 |000a: move-result-object v2 │ │ -0165d6: 7210 be06 0200 |000b: invoke-interface {v2}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06be │ │ -0165dc: 0c02 |000e: move-result-object v2 │ │ -0165de: 6e20 8905 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0165e4: 1a02 6800 |0012: const-string v2, "/dnsfilter.conf" // string@0068 │ │ -0165e8: 6e20 8905 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0165ee: 6e10 8b05 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0165f4: 0c01 |001a: move-result-object v1 │ │ -0165f6: 7020 da04 1000 |001b: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ -0165fc: 2201 f800 |001e: new-instance v1, Ljava/io/FileInputStream; // type@00f8 │ │ -016600: 7020 ed04 0100 |0020: invoke-direct {v1, v0}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@04ed │ │ -016606: 2200 5e01 |0023: new-instance v0, Ljava/util/Properties; // type@015e │ │ -01660a: 7010 3206 0000 |0025: invoke-direct {v0}, Ljava/util/Properties;.:()V // method@0632 │ │ -016610: 6e20 3806 1000 |0028: invoke-virtual {v0, v1}, Ljava/util/Properties;.load:(Ljava/io/InputStream;)V // method@0638 │ │ -016616: 6e10 0305 0100 |002b: invoke-virtual {v1}, Ljava/io/InputStream;.close:()V // method@0503 │ │ -01661c: 1100 |002e: return-object v0 │ │ -01661e: 1200 |002f: const/4 v0, #int 0 // #0 │ │ -016620: 1100 |0030: return-object v0 │ │ +0165ac: |[0165ac] dnsfilter.android.BootUpReceiver.getConfig:()Ljava/util/Properties; │ │ +0165bc: 2200 f600 |0000: new-instance v0, Ljava/io/File; // type@00f6 │ │ +0165c0: 2201 2801 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +0165c4: 7010 8305 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +0165ca: 7100 ae06 0000 |0007: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ +0165d0: 0c02 |000a: move-result-object v2 │ │ +0165d2: 7210 be06 0200 |000b: invoke-interface {v2}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06be │ │ +0165d8: 0c02 |000e: move-result-object v2 │ │ +0165da: 6e20 8905 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0165e0: 1a02 6800 |0012: const-string v2, "/dnsfilter.conf" // string@0068 │ │ +0165e4: 6e20 8905 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0165ea: 6e10 8b05 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0165f0: 0c01 |001a: move-result-object v1 │ │ +0165f2: 7020 da04 1000 |001b: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ +0165f8: 2201 f800 |001e: new-instance v1, Ljava/io/FileInputStream; // type@00f8 │ │ +0165fc: 7020 ed04 0100 |0020: invoke-direct {v1, v0}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@04ed │ │ +016602: 2200 5e01 |0023: new-instance v0, Ljava/util/Properties; // type@015e │ │ +016606: 7010 3206 0000 |0025: invoke-direct {v0}, Ljava/util/Properties;.:()V // method@0632 │ │ +01660c: 6e20 3806 1000 |0028: invoke-virtual {v0, v1}, Ljava/util/Properties;.load:(Ljava/io/InputStream;)V // method@0638 │ │ +016612: 6e10 0305 0100 |002b: invoke-virtual {v1}, Ljava/io/InputStream;.close:()V // method@0503 │ │ +016618: 1100 |002e: return-object v0 │ │ +01661a: 1200 |002f: const/4 v0, #int 0 // #0 │ │ +01661c: 1100 |0030: return-object v0 │ │ catches : 1 │ │ 0x001e - 0x002e │ │ Ljava/lang/Exception; -> 0x002f │ │ positions : │ │ 0x0000 line=64 │ │ 0x001e line=67 │ │ 0x0023 line=68 │ │ @@ -10551,56 +10551,56 @@ │ │ type : '(Landroid/content/Context;Landroid/content/Intent;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 86 16-bit code units │ │ -01664c: |[01664c] dnsfilter.android.BootUpReceiver.onReceive:(Landroid/content/Context;Landroid/content/Intent;)V │ │ -01665c: 7110 0d02 0500 |0000: invoke-static {v5}, Ldnsfilter/android/AndroidEnvironment;.initEnvironment:(Landroid/content/Context;)V // method@020d │ │ -016662: 6e10 5802 0400 |0003: invoke-virtual {v4}, Ldnsfilter/android/BootUpReceiver;.getConfig:()Ljava/util/Properties; // method@0258 │ │ -016668: 0c06 |0006: move-result-object v6 │ │ -01666a: 3806 4e00 |0007: if-eqz v6, 0055 // +004e │ │ -01666e: 1a00 b800 |0009: const-string v0, "AUTOSTART" // string@00b8 │ │ -016672: 1a01 d506 |000b: const-string v1, "false" // string@06d5 │ │ -016676: 6e30 3606 0601 |000d: invoke-virtual {v6, v0, v1}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -01667c: 0c00 |0010: move-result-object v0 │ │ -01667e: 7110 2705 0000 |0011: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -016684: 0a00 |0014: move-result v0 │ │ -016686: 3800 4000 |0015: if-eqz v0, 0055 // +0040 │ │ -01668a: 6000 0200 |0017: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01668e: 1302 1c00 |0019: const/16 v2, #int 28 // #1c │ │ -016692: 3420 2800 |001b: if-lt v0, v2, 0043 // +0028 │ │ -016696: 2200 1900 |001d: new-instance v0, Landroid/content/Intent; // type@0019 │ │ -01669a: 1c02 a000 |001f: const-class v2, Ldnsfilter/android/DNSFilterService; // type@00a0 │ │ -01669e: 7030 3f00 5002 |0021: invoke-direct {v0, v5, v2}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@003f │ │ -0166a4: 1a02 6306 |0024: const-string v2, "dnsProxyOnAndroid" // string@0663 │ │ -0166a8: 6e30 3606 2601 |0026: invoke-virtual {v6, v2, v1}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -0166ae: 0c02 |0029: move-result-object v2 │ │ -0166b0: 7110 2705 0200 |002a: invoke-static {v2}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -0166b6: 0a02 |002d: move-result v2 │ │ -0166b8: 1a03 7c0b |002e: const-string v3, "vpnInAdditionToProxyMode" // string@0b7c │ │ -0166bc: 6e30 3606 3601 |0030: invoke-virtual {v6, v3, v1}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -0166c2: 0c06 |0033: move-result-object v6 │ │ -0166c4: 7110 2705 0600 |0034: invoke-static {v6}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -0166ca: 0a06 |0037: move-result v6 │ │ -0166cc: 3802 0400 |0038: if-eqz v2, 003c // +0004 │ │ -0166d0: 3806 0500 |003a: if-eqz v6, 003f // +0005 │ │ -0166d4: 7110 7000 0500 |003c: invoke-static {v5}, Landroid/net/VpnService;.prepare:(Landroid/content/Context;)Landroid/content/Intent; // method@0070 │ │ -0166da: 7120 4602 0500 |003f: invoke-static {v5, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/content/Context;Landroid/content/Intent;)Landroid/content/ComponentName; // method@0246 │ │ -0166e0: 2813 |0042: goto 0055 // +0013 │ │ -0166e2: 1216 |0043: const/4 v6, #int 1 // #1 │ │ -0166e4: 6a06 ef00 |0044: sput-boolean v6, Ldnsfilter/android/DNSProxyActivity;.BOOT_START:Z // field@00ef │ │ -0166e8: 2206 1900 |0046: new-instance v6, Landroid/content/Intent; // type@0019 │ │ -0166ec: 1c00 ab00 |0048: const-class v0, Ldnsfilter/android/DNSProxyActivity; // type@00ab │ │ -0166f0: 7030 3f00 5600 |004a: invoke-direct {v6, v5, v0}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@003f │ │ -0166f6: 1500 0010 |004d: const/high16 v0, #int 268435456 // #1000 │ │ -0166fa: 6e20 4100 0600 |004f: invoke-virtual {v6, v0}, Landroid/content/Intent;.addFlags:(I)Landroid/content/Intent; // method@0041 │ │ -016700: 6e20 3b00 6500 |0052: invoke-virtual {v5, v6}, Landroid/content/Context;.startActivity:(Landroid/content/Intent;)V // method@003b │ │ -016706: 0e00 |0055: return-void │ │ +016648: |[016648] dnsfilter.android.BootUpReceiver.onReceive:(Landroid/content/Context;Landroid/content/Intent;)V │ │ +016658: 7110 0d02 0500 |0000: invoke-static {v5}, Ldnsfilter/android/AndroidEnvironment;.initEnvironment:(Landroid/content/Context;)V // method@020d │ │ +01665e: 6e10 5802 0400 |0003: invoke-virtual {v4}, Ldnsfilter/android/BootUpReceiver;.getConfig:()Ljava/util/Properties; // method@0258 │ │ +016664: 0c06 |0006: move-result-object v6 │ │ +016666: 3806 4e00 |0007: if-eqz v6, 0055 // +004e │ │ +01666a: 1a00 b800 |0009: const-string v0, "AUTOSTART" // string@00b8 │ │ +01666e: 1a01 d506 |000b: const-string v1, "false" // string@06d5 │ │ +016672: 6e30 3606 0601 |000d: invoke-virtual {v6, v0, v1}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +016678: 0c00 |0010: move-result-object v0 │ │ +01667a: 7110 2705 0000 |0011: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +016680: 0a00 |0014: move-result v0 │ │ +016682: 3800 4000 |0015: if-eqz v0, 0055 // +0040 │ │ +016686: 6000 0200 |0017: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01668a: 1302 1c00 |0019: const/16 v2, #int 28 // #1c │ │ +01668e: 3420 2800 |001b: if-lt v0, v2, 0043 // +0028 │ │ +016692: 2200 1900 |001d: new-instance v0, Landroid/content/Intent; // type@0019 │ │ +016696: 1c02 a000 |001f: const-class v2, Ldnsfilter/android/DNSFilterService; // type@00a0 │ │ +01669a: 7030 3f00 5002 |0021: invoke-direct {v0, v5, v2}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@003f │ │ +0166a0: 1a02 6306 |0024: const-string v2, "dnsProxyOnAndroid" // string@0663 │ │ +0166a4: 6e30 3606 2601 |0026: invoke-virtual {v6, v2, v1}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +0166aa: 0c02 |0029: move-result-object v2 │ │ +0166ac: 7110 2705 0200 |002a: invoke-static {v2}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +0166b2: 0a02 |002d: move-result v2 │ │ +0166b4: 1a03 7c0b |002e: const-string v3, "vpnInAdditionToProxyMode" // string@0b7c │ │ +0166b8: 6e30 3606 3601 |0030: invoke-virtual {v6, v3, v1}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +0166be: 0c06 |0033: move-result-object v6 │ │ +0166c0: 7110 2705 0600 |0034: invoke-static {v6}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +0166c6: 0a06 |0037: move-result v6 │ │ +0166c8: 3802 0400 |0038: if-eqz v2, 003c // +0004 │ │ +0166cc: 3806 0500 |003a: if-eqz v6, 003f // +0005 │ │ +0166d0: 7110 7000 0500 |003c: invoke-static {v5}, Landroid/net/VpnService;.prepare:(Landroid/content/Context;)Landroid/content/Intent; // method@0070 │ │ +0166d6: 7120 4602 0500 |003f: invoke-static {v5, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/content/Context;Landroid/content/Intent;)Landroid/content/ComponentName; // method@0246 │ │ +0166dc: 2813 |0042: goto 0055 // +0013 │ │ +0166de: 1216 |0043: const/4 v6, #int 1 // #1 │ │ +0166e0: 6a06 ef00 |0044: sput-boolean v6, Ldnsfilter/android/DNSProxyActivity;.BOOT_START:Z // field@00ef │ │ +0166e4: 2206 1900 |0046: new-instance v6, Landroid/content/Intent; // type@0019 │ │ +0166e8: 1c00 ab00 |0048: const-class v0, Ldnsfilter/android/DNSProxyActivity; // type@00ab │ │ +0166ec: 7030 3f00 5600 |004a: invoke-direct {v6, v5, v0}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@003f │ │ +0166f2: 1500 0010 |004d: const/high16 v0, #int 268435456 // #1000 │ │ +0166f6: 6e20 4100 0600 |004f: invoke-virtual {v6, v0}, Landroid/content/Intent;.addFlags:(I)Landroid/content/Intent; // method@0041 │ │ +0166fc: 6e20 3b00 6500 |0052: invoke-virtual {v5, v6}, Landroid/content/Context;.startActivity:(Landroid/content/Intent;)V // method@003b │ │ +016702: 0e00 |0055: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=42 │ │ 0x0003 line=43 │ │ 0x0009 line=44 │ │ 0x0017 line=46 │ │ 0x001d line=47 │ │ @@ -10667,17 +10667,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -016708: |[016708] dnsfilter.android.BuildConfig.:()V │ │ -016718: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01671e: 0e00 |0003: return-void │ │ +016704: |[016704] dnsfilter.android.BuildConfig.:()V │ │ +016714: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01671a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=6 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/BuildConfig; │ │ │ │ Virtual methods - │ │ @@ -10711,36 +10711,36 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -016738: |[016738] dnsfilter.android.ConnectionChangeReceiver.:()V │ │ -016748: 2200 9c00 |0000: new-instance v0, Ldnsfilter/android/ConnectionChangeReceiver; // type@009c │ │ -01674c: 7010 5c02 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/ConnectionChangeReceiver;.:()V // method@025c │ │ -016752: 6900 ae00 |0005: sput-object v0, Ldnsfilter/android/ConnectionChangeReceiver;.instance:Ldnsfilter/android/ConnectionChangeReceiver; // field@00ae │ │ -016756: 0e00 |0007: return-void │ │ +016734: |[016734] dnsfilter.android.ConnectionChangeReceiver.:()V │ │ +016744: 2200 9c00 |0000: new-instance v0, Ldnsfilter/android/ConnectionChangeReceiver; // type@009c │ │ +016748: 7010 5c02 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/ConnectionChangeReceiver;.:()V // method@025c │ │ +01674e: 6900 ae00 |0005: sput-object v0, Ldnsfilter/android/ConnectionChangeReceiver;.instance:Ldnsfilter/android/ConnectionChangeReceiver; // field@00ae │ │ +016752: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=36 │ │ locals : │ │ │ │ #1 : (in Ldnsfilter/android/ConnectionChangeReceiver;) │ │ name : '' │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -016758: |[016758] dnsfilter.android.ConnectionChangeReceiver.:()V │ │ -016768: 7010 3000 0000 |0000: invoke-direct {v0}, Landroid/content/BroadcastReceiver;.:()V // method@0030 │ │ -01676e: 0e00 |0003: return-void │ │ +016754: |[016754] dnsfilter.android.ConnectionChangeReceiver.:()V │ │ +016764: 7010 3000 0000 |0000: invoke-direct {v0}, Landroid/content/BroadcastReceiver;.:()V // method@0030 │ │ +01676a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=34 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/ConnectionChangeReceiver; │ │ │ │ #2 : (in Ldnsfilter/android/ConnectionChangeReceiver;) │ │ @@ -10748,17 +10748,17 @@ │ │ type : '()Ldnsfilter/android/ConnectionChangeReceiver;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -016720: |[016720] dnsfilter.android.ConnectionChangeReceiver.getInstance:()Ldnsfilter/android/ConnectionChangeReceiver; │ │ -016730: 6200 ae00 |0000: sget-object v0, Ldnsfilter/android/ConnectionChangeReceiver;.instance:Ldnsfilter/android/ConnectionChangeReceiver; // field@00ae │ │ -016734: 1100 |0002: return-object v0 │ │ +01671c: |[01671c] dnsfilter.android.ConnectionChangeReceiver.getInstance:()Ldnsfilter/android/ConnectionChangeReceiver; │ │ +01672c: 6200 ae00 |0000: sget-object v0, Ldnsfilter/android/ConnectionChangeReceiver;.instance:Ldnsfilter/android/ConnectionChangeReceiver; // field@00ae │ │ +016730: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=39 │ │ locals : │ │ │ │ Virtual methods - │ │ #0 : (in Ldnsfilter/android/ConnectionChangeReceiver;) │ │ @@ -10766,67 +10766,67 @@ │ │ type : '(Landroid/content/Context;Landroid/content/Intent;)V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 103 16-bit code units │ │ -016770: |[016770] dnsfilter.android.ConnectionChangeReceiver.onReceive:(Landroid/content/Context;Landroid/content/Intent;)V │ │ -016780: 1a03 2404 |0000: const-string v3, "Received network connection event: " // string@0424 │ │ -016784: 1d02 |0002: monitor-enter v2 │ │ -016786: 7100 ae06 0000 |0003: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ -01678c: 0c00 |0006: move-result-object v0 │ │ -01678e: 7210 ba06 0000 |0007: invoke-interface {v0}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06ba │ │ -016794: 0a00 |000a: move-result v0 │ │ -016796: 3800 1900 |000b: if-eqz v0, 0024 // +0019 │ │ -01679a: 7100 0107 0000 |000d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -0167a0: 0c00 |0010: move-result-object v0 │ │ -0167a2: 2201 2801 |0011: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -0167a6: 7020 8405 3100 |0013: invoke-direct {v1, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -0167ac: 6e10 4200 0400 |0016: invoke-virtual {v4}, Landroid/content/Intent;.getAction:()Ljava/lang/String; // method@0042 │ │ -0167b2: 0c03 |0019: move-result-object v3 │ │ -0167b4: 6e20 8905 3100 |001a: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0167ba: 6e10 8b05 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0167c0: 0c03 |0020: move-result-object v3 │ │ -0167c2: 7220 0d07 3000 |0021: invoke-interface {v0, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -0167c8: 6e10 4400 0400 |0024: invoke-virtual {v4}, Landroid/content/Intent;.getExtras:()Landroid/os/Bundle; // method@0044 │ │ -0167ce: 0c03 |0027: move-result-object v3 │ │ -0167d0: 1a04 fb08 |0028: const-string v4, "noConnectivity" // string@08fb │ │ -0167d4: 6200 1a03 |002a: sget-object v0, Ljava/lang/Boolean;.FALSE:Ljava/lang/Boolean; // field@031a │ │ -0167d8: 6e10 2505 0000 |002c: invoke-virtual {v0}, Ljava/lang/Boolean;.booleanValue:()Z // method@0525 │ │ -0167de: 0a00 |002f: move-result v0 │ │ -0167e0: 6e30 7500 4300 |0030: invoke-virtual {v3, v4, v0}, Landroid/os/Bundle;.getBoolean:(Ljava/lang/String;Z)Z // method@0075 │ │ -0167e6: 0a03 |0033: move-result v3 │ │ -0167e8: 3803 1800 |0034: if-eqz v3, 004c // +0018 │ │ -0167ec: 7100 ae06 0000 |0036: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ -0167f2: 0c03 |0039: move-result-object v3 │ │ -0167f4: 7210 ba06 0300 |003a: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06ba │ │ -0167fa: 0a03 |003d: move-result v3 │ │ -0167fc: 3803 0b00 |003e: if-eqz v3, 0049 // +000b │ │ -016800: 7100 0107 0000 |0040: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -016806: 0c03 |0043: move-result-object v3 │ │ -016808: 1a04 ec03 |0044: const-string v4, "Network got disconnected!" // string@03ec │ │ -01680c: 7220 0d07 4300 |0046: invoke-interface {v3, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -016812: 7100 e701 0000 |0049: invoke-static {}, Ldnsfilter/DNSServer;.invalidateOpenConnections:()V // method@01e7 │ │ -016818: 1203 |004c: const/4 v3, #int 0 // #0 │ │ -01681a: 7110 8502 0300 |004d: invoke-static {v3}, Ldnsfilter/android/DNSFilterService;.possibleNetworkChange:(Z)V // method@0285 │ │ -016820: 2203 2a01 |0050: new-instance v3, Ljava/lang/Thread; // type@012a │ │ -016824: 7020 9005 2300 |0052: invoke-direct {v3, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ -01682a: 6e10 9605 0300 |0055: invoke-virtual {v3}, Ljava/lang/Thread;.start:()V // method@0596 │ │ -016830: 280b |0058: goto 0063 // +000b │ │ -016832: 0d03 |0059: move-exception v3 │ │ -016834: 280b |005a: goto 0065 // +000b │ │ -016836: 0d03 |005b: move-exception v3 │ │ -016838: 7100 0107 0000 |005c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01683e: 0c04 |005f: move-result-object v4 │ │ -016840: 7220 0c07 3400 |0060: invoke-interface {v4, v3}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -016846: 1e02 |0063: monitor-exit v2 │ │ -016848: 0e00 |0064: return-void │ │ -01684a: 1e02 |0065: monitor-exit v2 │ │ -01684c: 2703 |0066: throw v3 │ │ +01676c: |[01676c] dnsfilter.android.ConnectionChangeReceiver.onReceive:(Landroid/content/Context;Landroid/content/Intent;)V │ │ +01677c: 1a03 2404 |0000: const-string v3, "Received network connection event: " // string@0424 │ │ +016780: 1d02 |0002: monitor-enter v2 │ │ +016782: 7100 ae06 0000 |0003: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ +016788: 0c00 |0006: move-result-object v0 │ │ +01678a: 7210 ba06 0000 |0007: invoke-interface {v0}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06ba │ │ +016790: 0a00 |000a: move-result v0 │ │ +016792: 3800 1900 |000b: if-eqz v0, 0024 // +0019 │ │ +016796: 7100 0107 0000 |000d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01679c: 0c00 |0010: move-result-object v0 │ │ +01679e: 2201 2801 |0011: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +0167a2: 7020 8405 3100 |0013: invoke-direct {v1, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +0167a8: 6e10 4200 0400 |0016: invoke-virtual {v4}, Landroid/content/Intent;.getAction:()Ljava/lang/String; // method@0042 │ │ +0167ae: 0c03 |0019: move-result-object v3 │ │ +0167b0: 6e20 8905 3100 |001a: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0167b6: 6e10 8b05 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0167bc: 0c03 |0020: move-result-object v3 │ │ +0167be: 7220 0d07 3000 |0021: invoke-interface {v0, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +0167c4: 6e10 4400 0400 |0024: invoke-virtual {v4}, Landroid/content/Intent;.getExtras:()Landroid/os/Bundle; // method@0044 │ │ +0167ca: 0c03 |0027: move-result-object v3 │ │ +0167cc: 1a04 fb08 |0028: const-string v4, "noConnectivity" // string@08fb │ │ +0167d0: 6200 1a03 |002a: sget-object v0, Ljava/lang/Boolean;.FALSE:Ljava/lang/Boolean; // field@031a │ │ +0167d4: 6e10 2505 0000 |002c: invoke-virtual {v0}, Ljava/lang/Boolean;.booleanValue:()Z // method@0525 │ │ +0167da: 0a00 |002f: move-result v0 │ │ +0167dc: 6e30 7500 4300 |0030: invoke-virtual {v3, v4, v0}, Landroid/os/Bundle;.getBoolean:(Ljava/lang/String;Z)Z // method@0075 │ │ +0167e2: 0a03 |0033: move-result v3 │ │ +0167e4: 3803 1800 |0034: if-eqz v3, 004c // +0018 │ │ +0167e8: 7100 ae06 0000 |0036: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ +0167ee: 0c03 |0039: move-result-object v3 │ │ +0167f0: 7210 ba06 0300 |003a: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06ba │ │ +0167f6: 0a03 |003d: move-result v3 │ │ +0167f8: 3803 0b00 |003e: if-eqz v3, 0049 // +000b │ │ +0167fc: 7100 0107 0000 |0040: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +016802: 0c03 |0043: move-result-object v3 │ │ +016804: 1a04 ec03 |0044: const-string v4, "Network got disconnected!" // string@03ec │ │ +016808: 7220 0d07 4300 |0046: invoke-interface {v3, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +01680e: 7100 e701 0000 |0049: invoke-static {}, Ldnsfilter/DNSServer;.invalidateOpenConnections:()V // method@01e7 │ │ +016814: 1203 |004c: const/4 v3, #int 0 // #0 │ │ +016816: 7110 8502 0300 |004d: invoke-static {v3}, Ldnsfilter/android/DNSFilterService;.possibleNetworkChange:(Z)V // method@0285 │ │ +01681c: 2203 2a01 |0050: new-instance v3, Ljava/lang/Thread; // type@012a │ │ +016820: 7020 9005 2300 |0052: invoke-direct {v3, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ +016826: 6e10 9605 0300 |0055: invoke-virtual {v3}, Ljava/lang/Thread;.start:()V // method@0596 │ │ +01682c: 280b |0058: goto 0063 // +000b │ │ +01682e: 0d03 |0059: move-exception v3 │ │ +016830: 280b |005a: goto 0065 // +000b │ │ +016832: 0d03 |005b: move-exception v3 │ │ +016834: 7100 0107 0000 |005c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01683a: 0c04 |005f: move-result-object v4 │ │ +01683c: 7220 0c07 3400 |0060: invoke-interface {v4, v3}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +016842: 1e02 |0063: monitor-exit v2 │ │ +016844: 0e00 |0064: return-void │ │ +016846: 1e02 |0065: monitor-exit v2 │ │ +016848: 2703 |0066: throw v3 │ │ catches : 2 │ │ 0x0003 - 0x0058 │ │ Ljava/lang/Exception; -> 0x005b │ │ -> 0x0059 │ │ 0x005c - 0x0063 │ │ -> 0x0059 │ │ positions : │ │ @@ -10850,25 +10850,25 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 19 16-bit code units │ │ -016868: |[016868] dnsfilter.android.ConnectionChangeReceiver.run:()V │ │ -016878: 1600 1027 |0000: const-wide/16 v0, #int 10000 // #2710 │ │ -01687c: 7120 9505 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Thread;.sleep:(J)V // method@0595 │ │ -016882: 1200 |0005: const/4 v0, #int 0 // #0 │ │ -016884: 7110 8502 0000 |0006: invoke-static {v0}, Ldnsfilter/android/DNSFilterService;.possibleNetworkChange:(Z)V // method@0285 │ │ -01688a: 2809 |0009: goto 0012 // +0009 │ │ -01688c: 0d00 |000a: move-exception v0 │ │ -01688e: 7100 0107 0000 |000b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -016894: 0c01 |000e: move-result-object v1 │ │ -016896: 7220 0c07 0100 |000f: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -01689c: 0e00 |0012: return-void │ │ +016864: |[016864] dnsfilter.android.ConnectionChangeReceiver.run:()V │ │ +016874: 1600 1027 |0000: const-wide/16 v0, #int 10000 // #2710 │ │ +016878: 7120 9505 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Thread;.sleep:(J)V // method@0595 │ │ +01687e: 1200 |0005: const/4 v0, #int 0 // #0 │ │ +016880: 7110 8502 0000 |0006: invoke-static {v0}, Ldnsfilter/android/DNSFilterService;.possibleNetworkChange:(Z)V // method@0285 │ │ +016886: 2809 |0009: goto 0012 // +0009 │ │ +016888: 0d00 |000a: move-exception v0 │ │ +01688a: 7100 0107 0000 |000b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +016890: 0c01 |000e: move-result-object v1 │ │ +016892: 7220 0c07 0100 |000f: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +016898: 0e00 |0012: return-void │ │ catches : 1 │ │ 0x0002 - 0x0009 │ │ Ljava/lang/Exception; -> 0x000a │ │ positions : │ │ 0x0002 line=68 │ │ 0x0006 line=69 │ │ 0x000b line=72 │ │ @@ -10916,19 +10916,19 @@ │ │ type : '(ZLjava/lang/String;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -0168b0: |[0168b0] dnsfilter.android.DNSFilterService$1.:(ZLjava/lang/String;)V │ │ -0168c0: 5c01 b000 |0000: iput-boolean v1, v0, Ldnsfilter/android/DNSFilterService$1;.val$ignoreError:Z // field@00b0 │ │ -0168c4: 5b02 af00 |0002: iput-object v2, v0, Ldnsfilter/android/DNSFilterService$1;.val$command:Ljava/lang/String; // field@00af │ │ -0168c8: 7010 4f05 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -0168ce: 0e00 |0007: return-void │ │ +0168ac: |[0168ac] dnsfilter.android.DNSFilterService$1.:(ZLjava/lang/String;)V │ │ +0168bc: 5c01 b000 |0000: iput-boolean v1, v0, Ldnsfilter/android/DNSFilterService$1;.val$ignoreError:Z // field@00b0 │ │ +0168c0: 5b02 af00 |0002: iput-object v2, v0, Ldnsfilter/android/DNSFilterService$1;.val$command:Ljava/lang/String; // field@00af │ │ +0168c4: 7010 4f05 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +0168ca: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=900 │ │ locals : │ │ 0x0000 - 0x0008 reg=0 this Ldnsfilter/android/DNSFilterService$1; │ │ 0x0000 - 0x0008 reg=1 (null) Z │ │ 0x0000 - 0x0008 reg=2 (null) Ljava/lang/String; │ │ @@ -10939,25 +10939,25 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 20 16-bit code units │ │ -0168d0: |[0168d0] dnsfilter.android.DNSFilterService$1.run:()V │ │ -0168e0: 5520 b000 |0000: iget-boolean v0, v2, Ldnsfilter/android/DNSFilterService$1;.val$ignoreError:Z // field@00b0 │ │ -0168e4: 5421 af00 |0002: iget-object v1, v2, Ldnsfilter/android/DNSFilterService$1;.val$command:Ljava/lang/String; // field@00af │ │ -0168e8: 7120 7402 1000 |0004: invoke-static {v0, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0274 │ │ -0168ee: 280c |0007: goto 0013 // +000c │ │ -0168f0: 0d00 |0008: move-exception v0 │ │ -0168f2: 6e10 3805 0000 |0009: invoke-virtual {v0}, Ljava/lang/Exception;.printStackTrace:()V // method@0538 │ │ -0168f8: 7100 0107 0000 |000c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -0168fe: 0c01 |000f: move-result-object v1 │ │ -016900: 7220 0c07 0100 |0010: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -016906: 0e00 |0013: return-void │ │ +0168cc: |[0168cc] dnsfilter.android.DNSFilterService$1.run:()V │ │ +0168dc: 5520 b000 |0000: iget-boolean v0, v2, Ldnsfilter/android/DNSFilterService$1;.val$ignoreError:Z // field@00b0 │ │ +0168e0: 5421 af00 |0002: iget-object v1, v2, Ldnsfilter/android/DNSFilterService$1;.val$command:Ljava/lang/String; // field@00af │ │ +0168e4: 7120 7402 1000 |0004: invoke-static {v0, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0274 │ │ +0168ea: 280c |0007: goto 0013 // +000c │ │ +0168ec: 0d00 |0008: move-exception v0 │ │ +0168ee: 6e10 3805 0000 |0009: invoke-virtual {v0}, Ljava/lang/Exception;.printStackTrace:()V // method@0538 │ │ +0168f4: 7100 0107 0000 |000c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +0168fa: 0c01 |000f: move-result-object v1 │ │ +0168fc: 7220 0c07 0100 |0010: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +016902: 0e00 |0013: return-void │ │ catches : 1 │ │ 0x0000 - 0x0007 │ │ Ljava/lang/Exception; -> 0x0008 │ │ positions : │ │ 0x0000 line=905 │ │ 0x0009 line=907 │ │ 0x000c line=908 │ │ @@ -11004,21 +11004,21 @@ │ │ type : '()V' │ │ access : 0x10004 (PROTECTED CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 11 16-bit code units │ │ -0169d4: |[0169d4] dnsfilter.android.DNSFilterService$DNSReqForwarder.:()V │ │ -0169e4: 7010 4f05 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@054f │ │ -0169ea: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -0169ec: 5b10 b100 |0004: iput-object v0, v1, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00b1 │ │ -0169f0: 1a00 0d07 |0006: const-string v0, "forward_ip" // string@070d │ │ -0169f4: 5b10 b200 |0008: iput-object v0, v1, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.ipFileName:Ljava/lang/String; // field@00b2 │ │ -0169f8: 0e00 |000a: return-void │ │ +0169d0: |[0169d0] dnsfilter.android.DNSFilterService$DNSReqForwarder.:()V │ │ +0169e0: 7010 4f05 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@054f │ │ +0169e6: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +0169e8: 5b10 b100 |0004: iput-object v0, v1, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00b1 │ │ +0169ec: 1a00 0d07 |0006: const-string v0, "forward_ip" // string@070d │ │ +0169f0: 5b10 b200 |0008: iput-object v0, v1, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.ipFileName:Ljava/lang/String; // field@00b2 │ │ +0169f4: 0e00 |000a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=114 │ │ 0x0004 line=117 │ │ 0x0006 line=118 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Ldnsfilter/android/DNSFilterService$DNSReqForwarder; │ │ @@ -11028,17 +11028,17 @@ │ │ type : '(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -0169fc: |[0169fc] dnsfilter.android.DNSFilterService$DNSReqForwarder.access$500:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V │ │ -016a0c: 7010 6902 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.updateForward:()V // method@0269 │ │ -016a12: 0e00 |0003: return-void │ │ +0169f8: |[0169f8] dnsfilter.android.DNSFilterService$DNSReqForwarder.access$500:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V │ │ +016a08: 7010 6902 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.updateForward:()V // method@0269 │ │ +016a0e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=114 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/android/DNSFilterService$DNSReqForwarder; │ │ │ │ #2 : (in Ldnsfilter/android/DNSFilterService$DNSReqForwarder;) │ │ @@ -11046,17 +11046,17 @@ │ │ type : '(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -016a14: |[016a14] dnsfilter.android.DNSFilterService$DNSReqForwarder.access$600:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V │ │ -016a24: 7010 6602 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.clean:()V // method@0266 │ │ -016a2a: 0e00 |0003: return-void │ │ +016a10: |[016a10] dnsfilter.android.DNSFilterService$DNSReqForwarder.access$600:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V │ │ +016a20: 7010 6602 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.clean:()V // method@0266 │ │ +016a26: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=114 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/android/DNSFilterService$DNSReqForwarder; │ │ │ │ #3 : (in Ldnsfilter/android/DNSFilterService$DNSReqForwarder;) │ │ @@ -11064,17 +11064,17 @@ │ │ type : '(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -016a2c: |[016a2c] dnsfilter.android.DNSFilterService$DNSReqForwarder.access$800:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V │ │ -016a3c: 7010 6702 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.clearForward:()V // method@0267 │ │ -016a42: 0e00 |0003: return-void │ │ +016a28: |[016a28] dnsfilter.android.DNSFilterService$DNSReqForwarder.access$800:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V │ │ +016a38: 7010 6702 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.clearForward:()V // method@0267 │ │ +016a3e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=114 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/android/DNSFilterService$DNSReqForwarder; │ │ │ │ #4 : (in Ldnsfilter/android/DNSFilterService$DNSReqForwarder;) │ │ @@ -11082,84 +11082,84 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 8 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 154 16-bit code units │ │ -016a44: |[016a44] dnsfilter.android.DNSFilterService$DNSReqForwarder.clean:()V │ │ -016a54: 1a00 5b08 |0000: const-string v0, "iptables -t nat -D OUTPUT -p udp --dport 53 -j DNAT --to-destination " // string@085b │ │ -016a58: 1a01 fc00 |0002: const-string v1, "Cannot delete " // string@00fc │ │ -016a5c: 2202 2801 |0004: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -016a60: 7010 8305 0200 |0006: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -016a66: 7100 ae06 0000 |0009: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ -016a6c: 0c03 |000c: move-result-object v3 │ │ -016a6e: 7210 be06 0300 |000d: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06be │ │ -016a74: 0c03 |0010: move-result-object v3 │ │ -016a76: 6e20 8905 3200 |0011: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -016a7c: 1a03 6000 |0014: const-string v3, "/" // string@0060 │ │ -016a80: 6e20 8905 3200 |0016: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -016a86: 5473 b200 |0019: iget-object v3, v7, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.ipFileName:Ljava/lang/String; // field@00b2 │ │ -016a8a: 6e20 8905 3200 |001b: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -016a90: 6e10 8b05 0200 |001e: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -016a96: 0c02 |0021: move-result-object v2 │ │ -016a98: 2203 f600 |0022: new-instance v3, Ljava/io/File; // type@00f6 │ │ -016a9c: 7020 da04 2300 |0024: invoke-direct {v3, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ -016aa2: 6e10 e004 0300 |0027: invoke-virtual {v3}, Ljava/io/File;.exists:()Z // method@04e0 │ │ -016aa8: 0a04 |002a: move-result v4 │ │ -016aaa: 3804 6e00 |002b: if-eqz v4, 0099 // +006e │ │ -016aae: 2204 f800 |002d: new-instance v4, Ljava/io/FileInputStream; // type@00f8 │ │ -016ab2: 7020 ed04 3400 |002f: invoke-direct {v4, v3}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@04ed │ │ -016ab8: 2205 2601 |0032: new-instance v5, Ljava/lang/String; // type@0126 │ │ -016abc: 1306 6400 |0034: const/16 v6, #int 100 // #64 │ │ -016ac0: 7120 7707 6400 |0036: invoke-static {v4, v6}, Lutil/Utils;.readFully:(Ljava/io/InputStream;I)[B // method@0777 │ │ -016ac6: 0c06 |0039: move-result-object v6 │ │ -016ac8: 7020 6105 6500 |003a: invoke-direct {v5, v6}, Ljava/lang/String;.:([B)V // method@0561 │ │ -016ace: 6e10 0305 0400 |003d: invoke-virtual {v4}, Ljava/io/InputStream;.close:()V // method@0503 │ │ -016ad4: 6e10 de04 0300 |0040: invoke-virtual {v3}, Ljava/io/File;.delete:()Z // method@04de │ │ -016ada: 0a03 |0043: move-result v3 │ │ -016adc: 3803 3700 |0044: if-eqz v3, 007b // +0037 │ │ -016ae0: 7100 0107 0000 |0046: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -016ae6: 0c01 |0049: move-result-object v1 │ │ -016ae8: 1a02 1101 |004a: const-string v2, "Cleaning up a previous redirect from previous not correctly terminated execution!" // string@0111 │ │ -016aec: 7220 0d07 2100 |004c: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -016af2: 2201 2801 |004f: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -016af6: 7020 8405 0100 |0051: invoke-direct {v1, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -016afc: 6e20 8905 5100 |0054: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -016b02: 1a00 8500 |0057: const-string v0, ":" // string@0085 │ │ -016b06: 6e20 8905 0100 |0059: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -016b0c: 7100 7302 0000 |005c: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$200:()I // method@0273 │ │ -016b12: 0a00 |005f: move-result v0 │ │ -016b14: 6e20 8605 0100 |0060: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -016b1a: 6e10 8b05 0100 |0063: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -016b20: 0c00 |0066: move-result-object v0 │ │ -016b22: 1211 |0067: const/4 v1, #int 1 // #1 │ │ -016b24: 7120 7402 0100 |0068: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0274 │ │ -016b2a: 1a00 4c08 |006b: const-string v0, "ip6tables -D OUTPUT -p tcp --destination-port 53 -j DROP" // string@084c │ │ -016b2e: 7120 7402 0100 |006d: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0274 │ │ -016b34: 1a00 4d08 |0070: const-string v0, "ip6tables -D OUTPUT -p udp --destination-port 53 -j DROP" // string@084d │ │ -016b38: 7120 7402 0100 |0072: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0274 │ │ -016b3e: 1a00 5908 |0075: const-string v0, "iptables -D OUTPUT -p tcp --destination-port 53 -j DROP" // string@0859 │ │ -016b42: 7120 7402 0100 |0077: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0274 │ │ -016b48: 281f |007a: goto 0099 // +001f │ │ -016b4a: 2200 fb00 |007b: new-instance v0, Ljava/io/IOException; // type@00fb │ │ -016b4e: 2203 2801 |007d: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -016b52: 7020 8405 1300 |007f: invoke-direct {v3, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -016b58: 6e20 8905 2300 |0082: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -016b5e: 6e10 8b05 0300 |0085: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -016b64: 0c01 |0088: move-result-object v1 │ │ -016b66: 7020 fb04 1000 |0089: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -016b6c: 2700 |008c: throw v0 │ │ -016b6e: 0d00 |008d: move-exception v0 │ │ -016b70: 7100 0107 0000 |008e: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -016b76: 0c01 |0091: move-result-object v1 │ │ -016b78: 6e10 3b05 0000 |0092: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@053b │ │ -016b7e: 0c00 |0095: move-result-object v0 │ │ -016b80: 7220 0d07 0100 |0096: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -016b86: 0e00 |0099: return-void │ │ +016a40: |[016a40] dnsfilter.android.DNSFilterService$DNSReqForwarder.clean:()V │ │ +016a50: 1a00 5b08 |0000: const-string v0, "iptables -t nat -D OUTPUT -p udp --dport 53 -j DNAT --to-destination " // string@085b │ │ +016a54: 1a01 fc00 |0002: const-string v1, "Cannot delete " // string@00fc │ │ +016a58: 2202 2801 |0004: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +016a5c: 7010 8305 0200 |0006: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +016a62: 7100 ae06 0000 |0009: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ +016a68: 0c03 |000c: move-result-object v3 │ │ +016a6a: 7210 be06 0300 |000d: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06be │ │ +016a70: 0c03 |0010: move-result-object v3 │ │ +016a72: 6e20 8905 3200 |0011: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +016a78: 1a03 6000 |0014: const-string v3, "/" // string@0060 │ │ +016a7c: 6e20 8905 3200 |0016: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +016a82: 5473 b200 |0019: iget-object v3, v7, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.ipFileName:Ljava/lang/String; // field@00b2 │ │ +016a86: 6e20 8905 3200 |001b: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +016a8c: 6e10 8b05 0200 |001e: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +016a92: 0c02 |0021: move-result-object v2 │ │ +016a94: 2203 f600 |0022: new-instance v3, Ljava/io/File; // type@00f6 │ │ +016a98: 7020 da04 2300 |0024: invoke-direct {v3, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ +016a9e: 6e10 e004 0300 |0027: invoke-virtual {v3}, Ljava/io/File;.exists:()Z // method@04e0 │ │ +016aa4: 0a04 |002a: move-result v4 │ │ +016aa6: 3804 6e00 |002b: if-eqz v4, 0099 // +006e │ │ +016aaa: 2204 f800 |002d: new-instance v4, Ljava/io/FileInputStream; // type@00f8 │ │ +016aae: 7020 ed04 3400 |002f: invoke-direct {v4, v3}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@04ed │ │ +016ab4: 2205 2601 |0032: new-instance v5, Ljava/lang/String; // type@0126 │ │ +016ab8: 1306 6400 |0034: const/16 v6, #int 100 // #64 │ │ +016abc: 7120 7707 6400 |0036: invoke-static {v4, v6}, Lutil/Utils;.readFully:(Ljava/io/InputStream;I)[B // method@0777 │ │ +016ac2: 0c06 |0039: move-result-object v6 │ │ +016ac4: 7020 6105 6500 |003a: invoke-direct {v5, v6}, Ljava/lang/String;.:([B)V // method@0561 │ │ +016aca: 6e10 0305 0400 |003d: invoke-virtual {v4}, Ljava/io/InputStream;.close:()V // method@0503 │ │ +016ad0: 6e10 de04 0300 |0040: invoke-virtual {v3}, Ljava/io/File;.delete:()Z // method@04de │ │ +016ad6: 0a03 |0043: move-result v3 │ │ +016ad8: 3803 3700 |0044: if-eqz v3, 007b // +0037 │ │ +016adc: 7100 0107 0000 |0046: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +016ae2: 0c01 |0049: move-result-object v1 │ │ +016ae4: 1a02 1101 |004a: const-string v2, "Cleaning up a previous redirect from previous not correctly terminated execution!" // string@0111 │ │ +016ae8: 7220 0d07 2100 |004c: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +016aee: 2201 2801 |004f: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +016af2: 7020 8405 0100 |0051: invoke-direct {v1, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +016af8: 6e20 8905 5100 |0054: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +016afe: 1a00 8500 |0057: const-string v0, ":" // string@0085 │ │ +016b02: 6e20 8905 0100 |0059: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +016b08: 7100 7302 0000 |005c: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$200:()I // method@0273 │ │ +016b0e: 0a00 |005f: move-result v0 │ │ +016b10: 6e20 8605 0100 |0060: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +016b16: 6e10 8b05 0100 |0063: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +016b1c: 0c00 |0066: move-result-object v0 │ │ +016b1e: 1211 |0067: const/4 v1, #int 1 // #1 │ │ +016b20: 7120 7402 0100 |0068: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0274 │ │ +016b26: 1a00 4c08 |006b: const-string v0, "ip6tables -D OUTPUT -p tcp --destination-port 53 -j DROP" // string@084c │ │ +016b2a: 7120 7402 0100 |006d: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0274 │ │ +016b30: 1a00 4d08 |0070: const-string v0, "ip6tables -D OUTPUT -p udp --destination-port 53 -j DROP" // string@084d │ │ +016b34: 7120 7402 0100 |0072: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0274 │ │ +016b3a: 1a00 5908 |0075: const-string v0, "iptables -D OUTPUT -p tcp --destination-port 53 -j DROP" // string@0859 │ │ +016b3e: 7120 7402 0100 |0077: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0274 │ │ +016b44: 281f |007a: goto 0099 // +001f │ │ +016b46: 2200 fb00 |007b: new-instance v0, Ljava/io/IOException; // type@00fb │ │ +016b4a: 2203 2801 |007d: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +016b4e: 7020 8405 1300 |007f: invoke-direct {v3, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +016b54: 6e20 8905 2300 |0082: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +016b5a: 6e10 8b05 0300 |0085: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +016b60: 0c01 |0088: move-result-object v1 │ │ +016b62: 7020 fb04 1000 |0089: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +016b68: 2700 |008c: throw v0 │ │ +016b6a: 0d00 |008d: move-exception v0 │ │ +016b6c: 7100 0107 0000 |008e: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +016b72: 0c01 |0091: move-result-object v1 │ │ +016b74: 6e10 3b05 0000 |0092: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@053b │ │ +016b7a: 0c00 |0095: move-result-object v0 │ │ +016b7c: 7220 0d07 0100 |0096: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +016b82: 0e00 |0099: return-void │ │ catches : 1 │ │ 0x0027 - 0x008d │ │ Ljava/lang/Exception; -> 0x008d │ │ positions : │ │ 0x0004 line=153 │ │ 0x0022 line=154 │ │ 0x0027 line=156 │ │ @@ -11182,82 +11182,82 @@ │ │ type : '()V' │ │ access : 0x20002 (PRIVATE DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 137 16-bit code units │ │ -016b98: |[016b98] dnsfilter.android.DNSFilterService$DNSReqForwarder.clearForward:()V │ │ -016ba8: 1a00 fc00 |0000: const-string v0, "Cannot delete " // string@00fc │ │ -016bac: 1a01 5b08 |0002: const-string v1, "iptables -t nat -D OUTPUT -p udp --dport 53 -j DNAT --to-destination " // string@085b │ │ -016bb0: 1d04 |0004: monitor-enter v4 │ │ -016bb2: 2202 2801 |0005: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -016bb6: 7010 8305 0200 |0007: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -016bbc: 7100 ae06 0000 |000a: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ -016bc2: 0c03 |000d: move-result-object v3 │ │ -016bc4: 7210 be06 0300 |000e: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06be │ │ -016bca: 0c03 |0011: move-result-object v3 │ │ -016bcc: 6e20 8905 3200 |0012: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -016bd2: 1a03 6000 |0015: const-string v3, "/" // string@0060 │ │ -016bd6: 6e20 8905 3200 |0017: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -016bdc: 5443 b200 |001a: iget-object v3, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.ipFileName:Ljava/lang/String; // field@00b2 │ │ -016be0: 6e20 8905 3200 |001c: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -016be6: 6e10 8b05 0200 |001f: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -016bec: 0c02 |0022: move-result-object v2 │ │ -016bee: 5443 b100 |0023: iget-object v3, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00b1 │ │ -016bf2: 3903 0400 |0025: if-nez v3, 0029 // +0004 │ │ -016bf6: 1e04 |0027: monitor-exit v4 │ │ -016bf8: 0e00 |0028: return-void │ │ -016bfa: 2203 2801 |0029: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -016bfe: 7020 8405 1300 |002b: invoke-direct {v3, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -016c04: 5441 b100 |002e: iget-object v1, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00b1 │ │ -016c08: 6e20 8905 1300 |0030: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -016c0e: 1a01 8500 |0033: const-string v1, ":" // string@0085 │ │ -016c12: 6e20 8905 1300 |0035: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -016c18: 7100 7302 0000 |0038: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$200:()I // method@0273 │ │ -016c1e: 0a01 |003b: move-result v1 │ │ -016c20: 6e20 8605 1300 |003c: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -016c26: 6e10 8b05 0300 |003f: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -016c2c: 0c01 |0042: move-result-object v1 │ │ -016c2e: 1203 |0043: const/4 v3, #int 0 // #0 │ │ -016c30: 7120 7402 1300 |0044: invoke-static {v3, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0274 │ │ -016c36: 1a01 4c08 |0047: const-string v1, "ip6tables -D OUTPUT -p tcp --destination-port 53 -j DROP" // string@084c │ │ -016c3a: 1213 |0049: const/4 v3, #int 1 // #1 │ │ -016c3c: 7120 7402 1300 |004a: invoke-static {v3, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0274 │ │ -016c42: 1a01 4d08 |004d: const-string v1, "ip6tables -D OUTPUT -p udp --destination-port 53 -j DROP" // string@084d │ │ -016c46: 7120 7402 1300 |004f: invoke-static {v3, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0274 │ │ -016c4c: 1a01 5908 |0052: const-string v1, "iptables -D OUTPUT -p tcp --destination-port 53 -j DROP" // string@0859 │ │ -016c50: 7120 7402 1300 |0054: invoke-static {v3, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0274 │ │ -016c56: 1201 |0057: const/4 v1, #int 0 // #0 │ │ -016c58: 5b41 b100 |0058: iput-object v1, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00b1 │ │ -016c5c: 2201 f600 |005a: new-instance v1, Ljava/io/File; // type@00f6 │ │ -016c60: 7020 da04 2100 |005c: invoke-direct {v1, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ -016c66: 6e10 de04 0100 |005f: invoke-virtual {v1}, Ljava/io/File;.delete:()Z // method@04de │ │ -016c6c: 0a01 |0062: move-result v1 │ │ -016c6e: 3801 0300 |0063: if-eqz v1, 0066 // +0003 │ │ -016c72: 281f |0065: goto 0084 // +001f │ │ -016c74: 2201 fb00 |0066: new-instance v1, Ljava/io/IOException; // type@00fb │ │ -016c78: 2203 2801 |0068: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -016c7c: 7020 8405 0300 |006a: invoke-direct {v3, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -016c82: 6e20 8905 2300 |006d: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -016c88: 6e10 8b05 0300 |0070: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -016c8e: 0c00 |0073: move-result-object v0 │ │ -016c90: 7020 fb04 0100 |0074: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -016c96: 2701 |0077: throw v1 │ │ -016c98: 0d00 |0078: move-exception v0 │ │ -016c9a: 7100 0107 0000 |0079: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -016ca0: 0c01 |007c: move-result-object v1 │ │ -016ca2: 6e10 3705 0000 |007d: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@0537 │ │ -016ca8: 0c00 |0080: move-result-object v0 │ │ -016caa: 7220 0d07 0100 |0081: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -016cb0: 1e04 |0084: monitor-exit v4 │ │ -016cb2: 0e00 |0085: return-void │ │ -016cb4: 0d00 |0086: move-exception v0 │ │ -016cb6: 1e04 |0087: monitor-exit v4 │ │ -016cb8: 2700 |0088: throw v0 │ │ +016b94: |[016b94] dnsfilter.android.DNSFilterService$DNSReqForwarder.clearForward:()V │ │ +016ba4: 1a00 fc00 |0000: const-string v0, "Cannot delete " // string@00fc │ │ +016ba8: 1a01 5b08 |0002: const-string v1, "iptables -t nat -D OUTPUT -p udp --dport 53 -j DNAT --to-destination " // string@085b │ │ +016bac: 1d04 |0004: monitor-enter v4 │ │ +016bae: 2202 2801 |0005: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +016bb2: 7010 8305 0200 |0007: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +016bb8: 7100 ae06 0000 |000a: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ +016bbe: 0c03 |000d: move-result-object v3 │ │ +016bc0: 7210 be06 0300 |000e: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06be │ │ +016bc6: 0c03 |0011: move-result-object v3 │ │ +016bc8: 6e20 8905 3200 |0012: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +016bce: 1a03 6000 |0015: const-string v3, "/" // string@0060 │ │ +016bd2: 6e20 8905 3200 |0017: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +016bd8: 5443 b200 |001a: iget-object v3, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.ipFileName:Ljava/lang/String; // field@00b2 │ │ +016bdc: 6e20 8905 3200 |001c: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +016be2: 6e10 8b05 0200 |001f: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +016be8: 0c02 |0022: move-result-object v2 │ │ +016bea: 5443 b100 |0023: iget-object v3, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00b1 │ │ +016bee: 3903 0400 |0025: if-nez v3, 0029 // +0004 │ │ +016bf2: 1e04 |0027: monitor-exit v4 │ │ +016bf4: 0e00 |0028: return-void │ │ +016bf6: 2203 2801 |0029: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +016bfa: 7020 8405 1300 |002b: invoke-direct {v3, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +016c00: 5441 b100 |002e: iget-object v1, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00b1 │ │ +016c04: 6e20 8905 1300 |0030: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +016c0a: 1a01 8500 |0033: const-string v1, ":" // string@0085 │ │ +016c0e: 6e20 8905 1300 |0035: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +016c14: 7100 7302 0000 |0038: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$200:()I // method@0273 │ │ +016c1a: 0a01 |003b: move-result v1 │ │ +016c1c: 6e20 8605 1300 |003c: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +016c22: 6e10 8b05 0300 |003f: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +016c28: 0c01 |0042: move-result-object v1 │ │ +016c2a: 1203 |0043: const/4 v3, #int 0 // #0 │ │ +016c2c: 7120 7402 1300 |0044: invoke-static {v3, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0274 │ │ +016c32: 1a01 4c08 |0047: const-string v1, "ip6tables -D OUTPUT -p tcp --destination-port 53 -j DROP" // string@084c │ │ +016c36: 1213 |0049: const/4 v3, #int 1 // #1 │ │ +016c38: 7120 7402 1300 |004a: invoke-static {v3, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0274 │ │ +016c3e: 1a01 4d08 |004d: const-string v1, "ip6tables -D OUTPUT -p udp --destination-port 53 -j DROP" // string@084d │ │ +016c42: 7120 7402 1300 |004f: invoke-static {v3, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0274 │ │ +016c48: 1a01 5908 |0052: const-string v1, "iptables -D OUTPUT -p tcp --destination-port 53 -j DROP" // string@0859 │ │ +016c4c: 7120 7402 1300 |0054: invoke-static {v3, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0274 │ │ +016c52: 1201 |0057: const/4 v1, #int 0 // #0 │ │ +016c54: 5b41 b100 |0058: iput-object v1, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00b1 │ │ +016c58: 2201 f600 |005a: new-instance v1, Ljava/io/File; // type@00f6 │ │ +016c5c: 7020 da04 2100 |005c: invoke-direct {v1, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ +016c62: 6e10 de04 0100 |005f: invoke-virtual {v1}, Ljava/io/File;.delete:()Z // method@04de │ │ +016c68: 0a01 |0062: move-result v1 │ │ +016c6a: 3801 0300 |0063: if-eqz v1, 0066 // +0003 │ │ +016c6e: 281f |0065: goto 0084 // +001f │ │ +016c70: 2201 fb00 |0066: new-instance v1, Ljava/io/IOException; // type@00fb │ │ +016c74: 2203 2801 |0068: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +016c78: 7020 8405 0300 |006a: invoke-direct {v3, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +016c7e: 6e20 8905 2300 |006d: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +016c84: 6e10 8b05 0300 |0070: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +016c8a: 0c00 |0073: move-result-object v0 │ │ +016c8c: 7020 fb04 0100 |0074: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +016c92: 2701 |0077: throw v1 │ │ +016c94: 0d00 |0078: move-exception v0 │ │ +016c96: 7100 0107 0000 |0079: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +016c9c: 0c01 |007c: move-result-object v1 │ │ +016c9e: 6e10 3705 0000 |007d: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@0537 │ │ +016ca4: 0c00 |0080: move-result-object v0 │ │ +016ca6: 7220 0d07 0100 |0081: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +016cac: 1e04 |0084: monitor-exit v4 │ │ +016cae: 0e00 |0085: return-void │ │ +016cb0: 0d00 |0086: move-exception v0 │ │ +016cb2: 1e04 |0087: monitor-exit v4 │ │ +016cb4: 2700 |0088: throw v0 │ │ catches : 3 │ │ 0x0005 - 0x0025 │ │ -> 0x0086 │ │ 0x0029 - 0x0078 │ │ Ljava/lang/Exception; -> 0x0078 │ │ -> 0x0086 │ │ 0x0079 - 0x0084 │ │ @@ -11283,77 +11283,77 @@ │ │ type : '()V' │ │ access : 0x20002 (PRIVATE DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 132 16-bit code units │ │ -016ce0: |[016ce0] dnsfilter.android.DNSFilterService$DNSReqForwarder.updateForward:()V │ │ -016cf0: 1a00 5d08 |0000: const-string v0, "iptables -t nat -I OUTPUT -p udp --dport 53 -j DNAT --to-destination " // string@085d │ │ -016cf4: 1d04 |0002: monitor-enter v4 │ │ -016cf6: 2201 2801 |0003: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -016cfa: 7010 8305 0100 |0005: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -016d00: 7100 ae06 0000 |0008: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ -016d06: 0c02 |000b: move-result-object v2 │ │ -016d08: 7210 be06 0200 |000c: invoke-interface {v2}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06be │ │ -016d0e: 0c02 |000f: move-result-object v2 │ │ -016d10: 6e20 8905 2100 |0010: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -016d16: 1a02 6000 |0013: const-string v2, "/" // string@0060 │ │ -016d1a: 6e20 8905 2100 |0015: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -016d20: 5442 b200 |0018: iget-object v2, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.ipFileName:Ljava/lang/String; // field@00b2 │ │ -016d24: 6e20 8905 2100 |001a: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -016d2a: 6e10 8b05 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -016d30: 0c01 |0020: move-result-object v1 │ │ -016d32: 6e10 6802 0400 |0021: invoke-virtual {v4}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.getALocalIpAddress:()Ljava/lang/String; // method@0268 │ │ -016d38: 0c02 |0024: move-result-object v2 │ │ -016d3a: 3802 5a00 |0025: if-eqz v2, 007f // +005a │ │ -016d3e: 5443 b100 |0027: iget-object v3, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00b1 │ │ -016d42: 6e20 6705 3200 |0029: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -016d48: 0a03 |002c: move-result v3 │ │ -016d4a: 3903 5200 |002d: if-nez v3, 007f // +0052 │ │ -016d4e: 7010 6702 0400 |002f: invoke-direct {v4}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.clearForward:()V // method@0267 │ │ -016d54: 2203 2801 |0032: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -016d58: 7020 8405 0300 |0034: invoke-direct {v3, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -016d5e: 6e20 8905 2300 |0037: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -016d64: 1a00 8500 |003a: const-string v0, ":" // string@0085 │ │ -016d68: 6e20 8905 0300 |003c: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -016d6e: 7100 7302 0000 |003f: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$200:()I // method@0273 │ │ -016d74: 0a00 |0042: move-result v0 │ │ -016d76: 6e20 8605 0300 |0043: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -016d7c: 6e10 8b05 0300 |0046: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -016d82: 0c00 |0049: move-result-object v0 │ │ -016d84: 1203 |004a: const/4 v3, #int 0 // #0 │ │ -016d86: 7120 7402 0300 |004b: invoke-static {v3, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0274 │ │ -016d8c: 1a00 4b08 |004e: const-string v0, "ip6tables -A OUTPUT -p udp --destination-port 53 -j DROP" // string@084b │ │ -016d90: 1213 |0050: const/4 v3, #int 1 // #1 │ │ -016d92: 7120 7402 0300 |0051: invoke-static {v3, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0274 │ │ -016d98: 1a00 4a08 |0054: const-string v0, "ip6tables -A OUTPUT -p tcp --destination-port 53 -j DROP" // string@084a │ │ -016d9c: 7120 7402 0300 |0056: invoke-static {v3, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0274 │ │ -016da2: 1a00 5808 |0059: const-string v0, "iptables -A OUTPUT -p tcp --destination-port 53 -j DROP" // string@0858 │ │ -016da6: 7120 7402 0300 |005b: invoke-static {v3, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0274 │ │ -016dac: 5b42 b100 |005e: iput-object v2, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00b1 │ │ -016db0: 2200 fa00 |0060: new-instance v0, Ljava/io/FileOutputStream; // type@00fa │ │ -016db4: 7020 f604 1000 |0062: invoke-direct {v0, v1}, Ljava/io/FileOutputStream;.:(Ljava/lang/String;)V // method@04f6 │ │ -016dba: 6e10 6905 0200 |0065: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -016dc0: 0c01 |0068: move-result-object v1 │ │ -016dc2: 6e20 f904 1000 |0069: invoke-virtual {v0, v1}, Ljava/io/FileOutputStream;.write:([B)V // method@04f9 │ │ -016dc8: 6e10 f804 0000 |006c: invoke-virtual {v0}, Ljava/io/FileOutputStream;.flush:()V // method@04f8 │ │ -016dce: 6e10 f704 0000 |006f: invoke-virtual {v0}, Ljava/io/FileOutputStream;.close:()V // method@04f7 │ │ -016dd4: 280d |0072: goto 007f // +000d │ │ -016dd6: 0d00 |0073: move-exception v0 │ │ -016dd8: 7100 0107 0000 |0074: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -016dde: 0c01 |0077: move-result-object v1 │ │ -016de0: 6e10 3705 0000 |0078: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@0537 │ │ -016de6: 0c00 |007b: move-result-object v0 │ │ -016de8: 7220 0d07 0100 |007c: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -016dee: 1e04 |007f: monitor-exit v4 │ │ -016df0: 0e00 |0080: return-void │ │ -016df2: 0d00 |0081: move-exception v0 │ │ -016df4: 1e04 |0082: monitor-exit v4 │ │ -016df6: 2700 |0083: throw v0 │ │ +016cdc: |[016cdc] dnsfilter.android.DNSFilterService$DNSReqForwarder.updateForward:()V │ │ +016cec: 1a00 5d08 |0000: const-string v0, "iptables -t nat -I OUTPUT -p udp --dport 53 -j DNAT --to-destination " // string@085d │ │ +016cf0: 1d04 |0002: monitor-enter v4 │ │ +016cf2: 2201 2801 |0003: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +016cf6: 7010 8305 0100 |0005: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +016cfc: 7100 ae06 0000 |0008: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ +016d02: 0c02 |000b: move-result-object v2 │ │ +016d04: 7210 be06 0200 |000c: invoke-interface {v2}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06be │ │ +016d0a: 0c02 |000f: move-result-object v2 │ │ +016d0c: 6e20 8905 2100 |0010: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +016d12: 1a02 6000 |0013: const-string v2, "/" // string@0060 │ │ +016d16: 6e20 8905 2100 |0015: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +016d1c: 5442 b200 |0018: iget-object v2, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.ipFileName:Ljava/lang/String; // field@00b2 │ │ +016d20: 6e20 8905 2100 |001a: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +016d26: 6e10 8b05 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +016d2c: 0c01 |0020: move-result-object v1 │ │ +016d2e: 6e10 6802 0400 |0021: invoke-virtual {v4}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.getALocalIpAddress:()Ljava/lang/String; // method@0268 │ │ +016d34: 0c02 |0024: move-result-object v2 │ │ +016d36: 3802 5a00 |0025: if-eqz v2, 007f // +005a │ │ +016d3a: 5443 b100 |0027: iget-object v3, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00b1 │ │ +016d3e: 6e20 6705 3200 |0029: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +016d44: 0a03 |002c: move-result v3 │ │ +016d46: 3903 5200 |002d: if-nez v3, 007f // +0052 │ │ +016d4a: 7010 6702 0400 |002f: invoke-direct {v4}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.clearForward:()V // method@0267 │ │ +016d50: 2203 2801 |0032: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +016d54: 7020 8405 0300 |0034: invoke-direct {v3, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +016d5a: 6e20 8905 2300 |0037: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +016d60: 1a00 8500 |003a: const-string v0, ":" // string@0085 │ │ +016d64: 6e20 8905 0300 |003c: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +016d6a: 7100 7302 0000 |003f: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$200:()I // method@0273 │ │ +016d70: 0a00 |0042: move-result v0 │ │ +016d72: 6e20 8605 0300 |0043: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +016d78: 6e10 8b05 0300 |0046: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +016d7e: 0c00 |0049: move-result-object v0 │ │ +016d80: 1203 |004a: const/4 v3, #int 0 // #0 │ │ +016d82: 7120 7402 0300 |004b: invoke-static {v3, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0274 │ │ +016d88: 1a00 4b08 |004e: const-string v0, "ip6tables -A OUTPUT -p udp --destination-port 53 -j DROP" // string@084b │ │ +016d8c: 1213 |0050: const/4 v3, #int 1 // #1 │ │ +016d8e: 7120 7402 0300 |0051: invoke-static {v3, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0274 │ │ +016d94: 1a00 4a08 |0054: const-string v0, "ip6tables -A OUTPUT -p tcp --destination-port 53 -j DROP" // string@084a │ │ +016d98: 7120 7402 0300 |0056: invoke-static {v3, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0274 │ │ +016d9e: 1a00 5808 |0059: const-string v0, "iptables -A OUTPUT -p tcp --destination-port 53 -j DROP" // string@0858 │ │ +016da2: 7120 7402 0300 |005b: invoke-static {v3, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0274 │ │ +016da8: 5b42 b100 |005e: iput-object v2, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00b1 │ │ +016dac: 2200 fa00 |0060: new-instance v0, Ljava/io/FileOutputStream; // type@00fa │ │ +016db0: 7020 f604 1000 |0062: invoke-direct {v0, v1}, Ljava/io/FileOutputStream;.:(Ljava/lang/String;)V // method@04f6 │ │ +016db6: 6e10 6905 0200 |0065: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +016dbc: 0c01 |0068: move-result-object v1 │ │ +016dbe: 6e20 f904 1000 |0069: invoke-virtual {v0, v1}, Ljava/io/FileOutputStream;.write:([B)V // method@04f9 │ │ +016dc4: 6e10 f804 0000 |006c: invoke-virtual {v0}, Ljava/io/FileOutputStream;.flush:()V // method@04f8 │ │ +016dca: 6e10 f704 0000 |006f: invoke-virtual {v0}, Ljava/io/FileOutputStream;.close:()V // method@04f7 │ │ +016dd0: 280d |0072: goto 007f // +000d │ │ +016dd2: 0d00 |0073: move-exception v0 │ │ +016dd4: 7100 0107 0000 |0074: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +016dda: 0c01 |0077: move-result-object v1 │ │ +016ddc: 6e10 3705 0000 |0078: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@0537 │ │ +016de2: 0c00 |007b: move-result-object v0 │ │ +016de4: 7220 0d07 0100 |007c: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +016dea: 1e04 |007f: monitor-exit v4 │ │ +016dec: 0e00 |0080: return-void │ │ +016dee: 0d00 |0081: move-exception v0 │ │ +016df0: 1e04 |0082: monitor-exit v4 │ │ +016df2: 2700 |0083: throw v0 │ │ catches : 3 │ │ 0x0003 - 0x0021 │ │ -> 0x0081 │ │ 0x0021 - 0x0072 │ │ Ljava/lang/Exception; -> 0x0073 │ │ -> 0x0081 │ │ 0x0074 - 0x007f │ │ @@ -11383,61 +11383,61 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 8 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 86 16-bit code units │ │ -016918: |[016918] dnsfilter.android.DNSFilterService$DNSReqForwarder.getALocalIpAddress:()Ljava/lang/String; │ │ -016928: 7100 7102 0000 |0000: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$000:()Z // method@0271 │ │ -01692e: 0a00 |0003: move-result v0 │ │ -016930: 3800 0b00 |0004: if-eqz v0, 000f // +000b │ │ -016934: 7100 7202 0000 |0006: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$100:()Z // method@0272 │ │ -01693a: 0a00 |0009: move-result v0 │ │ -01693c: 3800 0500 |000a: if-eqz v0, 000f // +0005 │ │ -016940: 1a00 7600 |000c: const-string v0, "127.0.0.1" // string@0076 │ │ -016944: 1100 |000e: return-object v0 │ │ -016946: 7100 bc05 0000 |000f: invoke-static {}, Ljava/net/NetworkInterface;.getNetworkInterfaces:()Ljava/util/Enumeration; // method@05bc │ │ -01694c: 0c00 |0012: move-result-object v0 │ │ -01694e: 1201 |0013: const/4 v1, #int 0 // #0 │ │ -016950: 7210 0306 0000 |0014: invoke-interface {v0}, Ljava/util/Enumeration;.hasMoreElements:()Z // method@0603 │ │ -016956: 0a02 |0017: move-result v2 │ │ -016958: 3802 3d00 |0018: if-eqz v2, 0055 // +003d │ │ -01695c: 7210 0406 0000 |001a: invoke-interface {v0}, Ljava/util/Enumeration;.nextElement:()Ljava/lang/Object; // method@0604 │ │ -016962: 0c02 |001d: move-result-object v2 │ │ -016964: 1f02 3501 |001e: check-cast v2, Ljava/net/NetworkInterface; // type@0135 │ │ -016968: 6e10 ba05 0200 |0020: invoke-virtual {v2}, Ljava/net/NetworkInterface;.getInetAddresses:()Ljava/util/Enumeration; // method@05ba │ │ -01696e: 0c03 |0023: move-result-object v3 │ │ -016970: 7210 0306 0300 |0024: invoke-interface {v3}, Ljava/util/Enumeration;.hasMoreElements:()Z // method@0603 │ │ -016976: 0a04 |0027: move-result v4 │ │ -016978: 3804 ecff |0028: if-eqz v4, 0014 // -0014 │ │ -01697c: 7210 0406 0300 |002a: invoke-interface {v3}, Ljava/util/Enumeration;.nextElement:()Ljava/lang/Object; // method@0604 │ │ -016982: 0c04 |002d: move-result-object v4 │ │ -016984: 1f04 3201 |002e: check-cast v4, Ljava/net/InetAddress; // type@0132 │ │ -016988: 6e10 b305 0400 |0030: invoke-virtual {v4}, Ljava/net/InetAddress;.isLoopbackAddress:()Z // method@05b3 │ │ -01698e: 0a05 |0033: move-result v5 │ │ -016990: 3905 f0ff |0034: if-nez v5, 0024 // -0010 │ │ -016994: 2045 3001 |0036: instance-of v5, v4, Ljava/net/Inet4Address; // type@0130 │ │ -016998: 3805 ecff |0038: if-eqz v5, 0024 // -0014 │ │ -01699c: 6e10 b005 0400 |003a: invoke-virtual {v4}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05b0 │ │ -0169a2: 0c04 |003d: move-result-object v4 │ │ -0169a4: 6e10 bb05 0200 |003e: invoke-virtual {v2}, Ljava/net/NetworkInterface;.getName:()Ljava/lang/String; // method@05bb │ │ -0169aa: 0c05 |0041: move-result-object v5 │ │ -0169ac: 1a06 300b |0042: const-string v6, "tun" // string@0b30 │ │ -0169b0: 6e20 7505 6500 |0044: invoke-virtual {v5, v6}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ -0169b6: 0a05 |0047: move-result v5 │ │ -0169b8: 3805 0900 |0048: if-eqz v5, 0051 // +0009 │ │ -0169bc: 6e10 bd05 0200 |004a: invoke-virtual {v2}, Ljava/net/NetworkInterface;.isUp:()Z // method@05bd │ │ -0169c2: 0a05 |004d: move-result v5 │ │ -0169c4: 3805 0300 |004e: if-eqz v5, 0051 // +0003 │ │ -0169c8: 1104 |0050: return-object v4 │ │ -0169ca: 3901 d3ff |0051: if-nez v1, 0024 // -002d │ │ -0169ce: 0741 |0053: move-object v1, v4 │ │ -0169d0: 28d0 |0054: goto 0024 // -0030 │ │ -0169d2: 1101 |0055: return-object v1 │ │ +016914: |[016914] dnsfilter.android.DNSFilterService$DNSReqForwarder.getALocalIpAddress:()Ljava/lang/String; │ │ +016924: 7100 7102 0000 |0000: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$000:()Z // method@0271 │ │ +01692a: 0a00 |0003: move-result v0 │ │ +01692c: 3800 0b00 |0004: if-eqz v0, 000f // +000b │ │ +016930: 7100 7202 0000 |0006: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$100:()Z // method@0272 │ │ +016936: 0a00 |0009: move-result v0 │ │ +016938: 3800 0500 |000a: if-eqz v0, 000f // +0005 │ │ +01693c: 1a00 7600 |000c: const-string v0, "127.0.0.1" // string@0076 │ │ +016940: 1100 |000e: return-object v0 │ │ +016942: 7100 bc05 0000 |000f: invoke-static {}, Ljava/net/NetworkInterface;.getNetworkInterfaces:()Ljava/util/Enumeration; // method@05bc │ │ +016948: 0c00 |0012: move-result-object v0 │ │ +01694a: 1201 |0013: const/4 v1, #int 0 // #0 │ │ +01694c: 7210 0306 0000 |0014: invoke-interface {v0}, Ljava/util/Enumeration;.hasMoreElements:()Z // method@0603 │ │ +016952: 0a02 |0017: move-result v2 │ │ +016954: 3802 3d00 |0018: if-eqz v2, 0055 // +003d │ │ +016958: 7210 0406 0000 |001a: invoke-interface {v0}, Ljava/util/Enumeration;.nextElement:()Ljava/lang/Object; // method@0604 │ │ +01695e: 0c02 |001d: move-result-object v2 │ │ +016960: 1f02 3501 |001e: check-cast v2, Ljava/net/NetworkInterface; // type@0135 │ │ +016964: 6e10 ba05 0200 |0020: invoke-virtual {v2}, Ljava/net/NetworkInterface;.getInetAddresses:()Ljava/util/Enumeration; // method@05ba │ │ +01696a: 0c03 |0023: move-result-object v3 │ │ +01696c: 7210 0306 0300 |0024: invoke-interface {v3}, Ljava/util/Enumeration;.hasMoreElements:()Z // method@0603 │ │ +016972: 0a04 |0027: move-result v4 │ │ +016974: 3804 ecff |0028: if-eqz v4, 0014 // -0014 │ │ +016978: 7210 0406 0300 |002a: invoke-interface {v3}, Ljava/util/Enumeration;.nextElement:()Ljava/lang/Object; // method@0604 │ │ +01697e: 0c04 |002d: move-result-object v4 │ │ +016980: 1f04 3201 |002e: check-cast v4, Ljava/net/InetAddress; // type@0132 │ │ +016984: 6e10 b305 0400 |0030: invoke-virtual {v4}, Ljava/net/InetAddress;.isLoopbackAddress:()Z // method@05b3 │ │ +01698a: 0a05 |0033: move-result v5 │ │ +01698c: 3905 f0ff |0034: if-nez v5, 0024 // -0010 │ │ +016990: 2045 3001 |0036: instance-of v5, v4, Ljava/net/Inet4Address; // type@0130 │ │ +016994: 3805 ecff |0038: if-eqz v5, 0024 // -0014 │ │ +016998: 6e10 b005 0400 |003a: invoke-virtual {v4}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05b0 │ │ +01699e: 0c04 |003d: move-result-object v4 │ │ +0169a0: 6e10 bb05 0200 |003e: invoke-virtual {v2}, Ljava/net/NetworkInterface;.getName:()Ljava/lang/String; // method@05bb │ │ +0169a6: 0c05 |0041: move-result-object v5 │ │ +0169a8: 1a06 300b |0042: const-string v6, "tun" // string@0b30 │ │ +0169ac: 6e20 7505 6500 |0044: invoke-virtual {v5, v6}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ +0169b2: 0a05 |0047: move-result v5 │ │ +0169b4: 3805 0900 |0048: if-eqz v5, 0051 // +0009 │ │ +0169b8: 6e10 bd05 0200 |004a: invoke-virtual {v2}, Ljava/net/NetworkInterface;.isUp:()Z // method@05bd │ │ +0169be: 0a05 |004d: move-result v5 │ │ +0169c0: 3805 0300 |004e: if-eqz v5, 0051 // +0003 │ │ +0169c4: 1104 |0050: return-object v4 │ │ +0169c6: 3901 d3ff |0051: if-nez v1, 0024 // -002d │ │ +0169ca: 0741 |0053: move-object v1, v4 │ │ +0169cc: 28d0 |0054: goto 0024 // -0030 │ │ +0169ce: 1101 |0055: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=126 │ │ 0x000c line=127 │ │ 0x000f line=131 │ │ 0x0014 line=132 │ │ 0x001a line=133 │ │ @@ -11513,42 +11513,42 @@ │ │ type : '(Ldnsfilter/android/DNSFilterService;ILandroid/os/ParcelFileDescriptor;Z)V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 5 │ │ ins : 5 │ │ outs : 2 │ │ insns size : 55 16-bit code units │ │ -016e1c: |[016e1c] dnsfilter.android.DNSFilterService$VPNRunner.:(Ldnsfilter/android/DNSFilterService;ILandroid/os/ParcelFileDescriptor;Z)V │ │ -016e2c: 5b01 b800 |0000: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.this$0:Ldnsfilter/android/DNSFilterService; // field@00b8 │ │ -016e30: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -016e36: 1201 |0005: const/4 v1, #int 0 // #0 │ │ -016e38: 5b01 b500 |0006: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.in:Ljava/io/FileInputStream; // field@00b5 │ │ -016e3c: 5b01 b600 |0008: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.out:Ljava/io/FileOutputStream; // field@00b6 │ │ -016e40: 5b01 b900 |000a: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.thread:Ljava/lang/Thread; // field@00b9 │ │ -016e44: 1201 |000c: const/4 v1, #int 0 // #0 │ │ -016e46: 5c01 b700 |000d: iput-boolean v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b7 │ │ -016e4a: 5c04 b300 |000f: iput-boolean v4, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.explicitOperation:Z // field@00b3 │ │ -016e4e: 5902 b400 |0011: iput v2, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.id:I // field@00b4 │ │ -016e52: 5b03 ba00 |0013: iput-object v3, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.vpnInterface:Landroid/os/ParcelFileDescriptor; // field@00ba │ │ -016e56: 2201 f800 |0015: new-instance v1, Ljava/io/FileInputStream; // type@00f8 │ │ -016e5a: 6e10 7f00 0300 |0017: invoke-virtual {v3}, Landroid/os/ParcelFileDescriptor;.getFileDescriptor:()Ljava/io/FileDescriptor; // method@007f │ │ -016e60: 0c02 |001a: move-result-object v2 │ │ -016e62: 7020 ee04 2100 |001b: invoke-direct {v1, v2}, Ljava/io/FileInputStream;.:(Ljava/io/FileDescriptor;)V // method@04ee │ │ -016e68: 5b01 b500 |001e: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.in:Ljava/io/FileInputStream; // field@00b5 │ │ -016e6c: 2201 fa00 |0020: new-instance v1, Ljava/io/FileOutputStream; // type@00fa │ │ -016e70: 6e10 7f00 0300 |0022: invoke-virtual {v3}, Landroid/os/ParcelFileDescriptor;.getFileDescriptor:()Ljava/io/FileDescriptor; // method@007f │ │ -016e76: 0c02 |0025: move-result-object v2 │ │ -016e78: 7020 f504 2100 |0026: invoke-direct {v1, v2}, Ljava/io/FileOutputStream;.:(Ljava/io/FileDescriptor;)V // method@04f5 │ │ -016e7e: 5b01 b600 |0029: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.out:Ljava/io/FileOutputStream; // field@00b6 │ │ -016e82: 3804 0b00 |002b: if-eqz v4, 0036 // +000b │ │ -016e86: 7100 0107 0000 |002d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -016e8c: 0c01 |0030: move-result-object v1 │ │ -016e8e: 1a02 c904 |0031: const-string v2, "VPN connected!" // string@04c9 │ │ -016e92: 7220 0d07 2100 |0033: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -016e98: 0e00 |0036: return-void │ │ +016e18: |[016e18] dnsfilter.android.DNSFilterService$VPNRunner.:(Ldnsfilter/android/DNSFilterService;ILandroid/os/ParcelFileDescriptor;Z)V │ │ +016e28: 5b01 b800 |0000: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.this$0:Ldnsfilter/android/DNSFilterService; // field@00b8 │ │ +016e2c: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +016e32: 1201 |0005: const/4 v1, #int 0 // #0 │ │ +016e34: 5b01 b500 |0006: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.in:Ljava/io/FileInputStream; // field@00b5 │ │ +016e38: 5b01 b600 |0008: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.out:Ljava/io/FileOutputStream; // field@00b6 │ │ +016e3c: 5b01 b900 |000a: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.thread:Ljava/lang/Thread; // field@00b9 │ │ +016e40: 1201 |000c: const/4 v1, #int 0 // #0 │ │ +016e42: 5c01 b700 |000d: iput-boolean v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b7 │ │ +016e46: 5c04 b300 |000f: iput-boolean v4, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.explicitOperation:Z // field@00b3 │ │ +016e4a: 5902 b400 |0011: iput v2, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.id:I // field@00b4 │ │ +016e4e: 5b03 ba00 |0013: iput-object v3, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.vpnInterface:Landroid/os/ParcelFileDescriptor; // field@00ba │ │ +016e52: 2201 f800 |0015: new-instance v1, Ljava/io/FileInputStream; // type@00f8 │ │ +016e56: 6e10 7f00 0300 |0017: invoke-virtual {v3}, Landroid/os/ParcelFileDescriptor;.getFileDescriptor:()Ljava/io/FileDescriptor; // method@007f │ │ +016e5c: 0c02 |001a: move-result-object v2 │ │ +016e5e: 7020 ee04 2100 |001b: invoke-direct {v1, v2}, Ljava/io/FileInputStream;.:(Ljava/io/FileDescriptor;)V // method@04ee │ │ +016e64: 5b01 b500 |001e: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.in:Ljava/io/FileInputStream; // field@00b5 │ │ +016e68: 2201 fa00 |0020: new-instance v1, Ljava/io/FileOutputStream; // type@00fa │ │ +016e6c: 6e10 7f00 0300 |0022: invoke-virtual {v3}, Landroid/os/ParcelFileDescriptor;.getFileDescriptor:()Ljava/io/FileDescriptor; // method@007f │ │ +016e72: 0c02 |0025: move-result-object v2 │ │ +016e74: 7020 f504 2100 |0026: invoke-direct {v1, v2}, Ljava/io/FileOutputStream;.:(Ljava/io/FileDescriptor;)V // method@04f5 │ │ +016e7a: 5b01 b600 |0029: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.out:Ljava/io/FileOutputStream; // field@00b6 │ │ +016e7e: 3804 0b00 |002b: if-eqz v4, 0036 // +000b │ │ +016e82: 7100 0107 0000 |002d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +016e88: 0c01 |0030: move-result-object v1 │ │ +016e8a: 1a02 c904 |0031: const-string v2, "VPN connected!" // string@04c9 │ │ +016e8e: 7220 0d07 2100 |0033: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +016e94: 0e00 |0036: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=270 │ │ 0x0006 line=262 │ │ 0x0008 line=263 │ │ 0x000a line=264 │ │ 0x000d line=265 │ │ @@ -11570,17 +11570,17 @@ │ │ type : '(Ldnsfilter/android/DNSFilterService;ILandroid/os/ParcelFileDescriptor;ZLdnsfilter/android/DNSFilterService$1;)V' │ │ access : 0x11000 (SYNTHETIC CONSTRUCTOR) │ │ code - │ │ registers : 6 │ │ ins : 6 │ │ outs : 5 │ │ insns size : 4 16-bit code units │ │ -016e9c: |[016e9c] dnsfilter.android.DNSFilterService$VPNRunner.:(Ldnsfilter/android/DNSFilterService;ILandroid/os/ParcelFileDescriptor;ZLdnsfilter/android/DNSFilterService$1;)V │ │ -016eac: 7054 6a02 1032 |0000: invoke-direct {v0, v1, v2, v3, v4}, Ldnsfilter/android/DNSFilterService$VPNRunner;.:(Ldnsfilter/android/DNSFilterService;ILandroid/os/ParcelFileDescriptor;Z)V // method@026a │ │ -016eb2: 0e00 |0003: return-void │ │ +016e98: |[016e98] dnsfilter.android.DNSFilterService$VPNRunner.:(Ldnsfilter/android/DNSFilterService;ILandroid/os/ParcelFileDescriptor;ZLdnsfilter/android/DNSFilterService$1;)V │ │ +016ea8: 7054 6a02 1032 |0000: invoke-direct {v0, v1, v2, v3, v4}, Ldnsfilter/android/DNSFilterService$VPNRunner;.:(Ldnsfilter/android/DNSFilterService;ILandroid/os/ParcelFileDescriptor;Z)V // method@026a │ │ +016eae: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=259 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/DNSFilterService$VPNRunner; │ │ 0x0000 - 0x0004 reg=1 (null) Ldnsfilter/android/DNSFilterService; │ │ 0x0000 - 0x0004 reg=2 (null) I │ │ @@ -11593,17 +11593,17 @@ │ │ type : '(Ldnsfilter/android/DNSFilterService$VPNRunner;Z)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -016eb4: |[016eb4] dnsfilter.android.DNSFilterService$VPNRunner.access$900:(Ldnsfilter/android/DNSFilterService$VPNRunner;Z)V │ │ -016ec4: 7020 6e02 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSFilterService$VPNRunner;.stop:(Z)V // method@026e │ │ -016eca: 0e00 |0003: return-void │ │ +016eb0: |[016eb0] dnsfilter.android.DNSFilterService$VPNRunner.access$900:(Ldnsfilter/android/DNSFilterService$VPNRunner;Z)V │ │ +016ec0: 7020 6e02 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSFilterService$VPNRunner;.stop:(Z)V // method@026e │ │ +016ec6: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=259 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/android/DNSFilterService$VPNRunner; │ │ 0x0000 - 0x0004 reg=1 (null) Z │ │ │ │ @@ -11612,33 +11612,33 @@ │ │ type : '(Z)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 37 16-bit code units │ │ -0173c8: |[0173c8] dnsfilter.android.DNSFilterService$VPNRunner.stop:(Z)V │ │ -0173d8: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -0173da: 5c10 b700 |0001: iput-boolean v0, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b7 │ │ -0173de: 5c12 b300 |0003: iput-boolean v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.explicitOperation:Z // field@00b3 │ │ -0173e2: 5412 b500 |0005: iget-object v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.in:Ljava/io/FileInputStream; // field@00b5 │ │ -0173e6: 6e10 f004 0200 |0007: invoke-virtual {v2}, Ljava/io/FileInputStream;.close:()V // method@04f0 │ │ -0173ec: 5412 b600 |000a: iget-object v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.out:Ljava/io/FileOutputStream; // field@00b6 │ │ -0173f0: 6e10 f704 0200 |000c: invoke-virtual {v2}, Ljava/io/FileOutputStream;.close:()V // method@04f7 │ │ -0173f6: 5412 ba00 |000f: iget-object v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.vpnInterface:Landroid/os/ParcelFileDescriptor; // field@00ba │ │ -0173fa: 6e10 7e00 0200 |0011: invoke-virtual {v2}, Landroid/os/ParcelFileDescriptor;.close:()V // method@007e │ │ -017400: 5412 b900 |0014: iget-object v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.thread:Ljava/lang/Thread; // field@00b9 │ │ -017404: 3802 0e00 |0016: if-eqz v2, 0024 // +000e │ │ -017408: 6e10 9305 0200 |0018: invoke-virtual {v2}, Ljava/lang/Thread;.interrupt:()V // method@0593 │ │ -01740e: 2809 |001b: goto 0024 // +0009 │ │ -017410: 0d02 |001c: move-exception v2 │ │ -017412: 7100 0107 0000 |001d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -017418: 0c00 |0020: move-result-object v0 │ │ -01741a: 7220 0c07 2000 |0021: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -017420: 0e00 |0024: return-void │ │ +0173c4: |[0173c4] dnsfilter.android.DNSFilterService$VPNRunner.stop:(Z)V │ │ +0173d4: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +0173d6: 5c10 b700 |0001: iput-boolean v0, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b7 │ │ +0173da: 5c12 b300 |0003: iput-boolean v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.explicitOperation:Z // field@00b3 │ │ +0173de: 5412 b500 |0005: iget-object v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.in:Ljava/io/FileInputStream; // field@00b5 │ │ +0173e2: 6e10 f004 0200 |0007: invoke-virtual {v2}, Ljava/io/FileInputStream;.close:()V // method@04f0 │ │ +0173e8: 5412 b600 |000a: iget-object v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.out:Ljava/io/FileOutputStream; // field@00b6 │ │ +0173ec: 6e10 f704 0200 |000c: invoke-virtual {v2}, Ljava/io/FileOutputStream;.close:()V // method@04f7 │ │ +0173f2: 5412 ba00 |000f: iget-object v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.vpnInterface:Landroid/os/ParcelFileDescriptor; // field@00ba │ │ +0173f6: 6e10 7e00 0200 |0011: invoke-virtual {v2}, Landroid/os/ParcelFileDescriptor;.close:()V // method@007e │ │ +0173fc: 5412 b900 |0014: iget-object v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.thread:Ljava/lang/Thread; // field@00b9 │ │ +017400: 3802 0e00 |0016: if-eqz v2, 0024 // +000e │ │ +017404: 6e10 9305 0200 |0018: invoke-virtual {v2}, Ljava/lang/Thread;.interrupt:()V // method@0593 │ │ +01740a: 2809 |001b: goto 0024 // +0009 │ │ +01740c: 0d02 |001c: move-exception v2 │ │ +01740e: 7100 0107 0000 |001d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +017414: 0c00 |0020: move-result-object v0 │ │ +017416: 7220 0c07 2000 |0021: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +01741c: 0e00 |0024: return-void │ │ catches : 1 │ │ 0x0005 - 0x001b │ │ Ljava/lang/Exception; -> 0x001c │ │ positions : │ │ 0x0001 line=281 │ │ 0x0003 line=282 │ │ 0x0005 line=284 │ │ @@ -11657,294 +11657,294 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 13 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 610 16-bit code units │ │ -016ecc: |[016ecc] dnsfilter.android.DNSFilterService$VPNRunner.run:()V │ │ -016edc: 55c0 b300 |0000: iget-boolean v0, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.explicitOperation:Z // field@00b3 │ │ -016ee0: 1a01 ca04 |0002: const-string v1, "VPN runner thread " // string@04ca │ │ -016ee4: 3900 0600 |0004: if-nez v0, 000a // +0006 │ │ -016ee8: 6300 0f01 |0006: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ -016eec: 3800 1c00 |0008: if-eqz v0, 0024 // +001c │ │ -016ef0: 7100 0107 0000 |000a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -016ef6: 0c00 |000d: move-result-object v0 │ │ -016ef8: 2202 2801 |000e: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -016efc: 7020 8405 1200 |0010: invoke-direct {v2, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -016f02: 52c3 b400 |0013: iget v3, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.id:I // field@00b4 │ │ -016f06: 6e20 8605 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -016f0c: 1a03 2500 |0018: const-string v3, " started!" // string@0025 │ │ -016f10: 6e20 8905 3200 |001a: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -016f16: 6e10 8b05 0200 |001d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -016f1c: 0c02 |0020: move-result-object v2 │ │ -016f1e: 7220 0d07 2000 |0021: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -016f24: 7100 9105 0000 |0024: invoke-static {}, Ljava/lang/Thread;.currentThread:()Ljava/lang/Thread; // method@0591 │ │ -016f2a: 0c00 |0027: move-result-object v0 │ │ -016f2c: 5bc0 b900 |0028: iput-object v0, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.thread:Ljava/lang/Thread; // field@00b9 │ │ -016f30: 7100 8601 0000 |002a: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0186 │ │ -016f36: 0c00 |002d: move-result-object v0 │ │ -016f38: 6e10 8101 0000 |002e: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ -016f3e: 0c00 |0031: move-result-object v0 │ │ -016f40: 1a02 d708 |0032: const-string v2, "maxResolverCount" // string@08d7 │ │ -016f44: 1a03 7300 |0034: const-string v3, "100" // string@0073 │ │ -016f48: 6e30 3606 2003 |0036: invoke-virtual {v0, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -016f4e: 0c00 |0039: move-result-object v0 │ │ -016f50: 7110 4105 0000 |003a: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ -016f56: 0a00 |003d: move-result v0 │ │ -016f58: 55c2 b700 |003e: iget-boolean v2, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b7 │ │ -016f5c: 3902 ff01 |0040: if-nez v2, 023f // +01ff │ │ -016f60: 7100 dd01 0000 |0042: invoke-static {}, Ldnsfilter/DNSServer;.getBufSize:()I // method@01dd │ │ -016f66: 0a02 |0045: move-result v2 │ │ -016f68: 2322 9901 |0046: new-array v2, v2, [B // type@0199 │ │ -016f6c: 54c3 b500 |0048: iget-object v3, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.in:Ljava/io/FileInputStream; // field@00b5 │ │ -016f70: 6e20 f104 2300 |004a: invoke-virtual {v3, v2}, Ljava/io/FileInputStream;.read:([B)I // method@04f1 │ │ -016f76: 0a03 |004d: move-result v3 │ │ -016f78: 55c4 b700 |004e: iget-boolean v4, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b7 │ │ -016f7c: 3804 0400 |0050: if-eqz v4, 0054 // +0004 │ │ -016f80: 2900 ed01 |0052: goto/16 023f // +01ed │ │ -016f84: 7100 bd01 0000 |0054: invoke-static {}, Ldnsfilter/DNSResolver;.getResolverCount:()I // method@01bd │ │ -016f8a: 0a04 |0057: move-result v4 │ │ -016f8c: 1215 |0058: const/4 v5, #int 1 // #1 │ │ -016f8e: 1206 |0059: const/4 v6, #int 0 // #0 │ │ -016f90: 3704 1c00 |005a: if-le v4, v0, 0076 // +001c │ │ -016f94: 7100 0107 0000 |005c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -016f9a: 0c04 |005f: move-result-object v4 │ │ -016f9c: 2207 2801 |0060: new-instance v7, Ljava/lang/StringBuilder; // type@0128 │ │ -016fa0: 7010 8305 0700 |0062: invoke-direct {v7}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -016fa6: 1a08 d703 |0065: const-string v8, "Max resolver count reached: " // string@03d7 │ │ -016faa: 6e20 8905 8700 |0067: invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -016fb0: 6e20 8605 0700 |006a: invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -016fb6: 6e10 8b05 0700 |006d: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -016fbc: 0c07 |0070: move-result-object v7 │ │ -016fbe: 7220 0e07 7400 |0071: invoke-interface {v4, v7}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ -016fc4: 1214 |0074: const/4 v4, #int 1 // #1 │ │ -016fc6: 2802 |0075: goto 0077 // +0002 │ │ -016fc8: 1204 |0076: const/4 v4, #int 0 // #0 │ │ -016fca: 3d03 a401 |0077: if-lez v3, 021b // +01a4 │ │ -016fce: 2207 eb00 |0079: new-instance v7, Lip/IPPacket; // type@00eb │ │ -016fd2: 7040 8504 2736 |007b: invoke-direct {v7, v2, v6, v3}, Lip/IPPacket;.:([BII)V // method@0485 │ │ -016fd8: 6e10 9404 0700 |007e: invoke-virtual {v7}, Lip/IPPacket;.getVersion:()I // method@0494 │ │ -016fde: 0a08 |0081: move-result v8 │ │ -016fe0: 1269 |0082: const/4 v9, #int 6 // #6 │ │ -016fe2: 3398 0b01 |0083: if-ne v8, v9, 018e // +010b │ │ -016fe6: 6308 0f01 |0085: sget-boolean v8, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ -016fea: 3808 0701 |0087: if-eqz v8, 018e // +0107 │ │ -016fee: 7100 0107 0000 |0089: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -016ff4: 0c08 |008c: move-result-object v8 │ │ -016ff6: 2209 2801 |008d: new-instance v9, Ljava/lang/StringBuilder; // type@0128 │ │ -016ffa: 7010 8305 0900 |008f: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -017000: 1a0a 2f00 |0092: const-string v10, "!!!IPV6 packet!!! Protocol:" // string@002f │ │ -017004: 6e20 8905 a900 |0094: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01700a: 6e10 9104 0700 |0097: invoke-virtual {v7}, Lip/IPPacket;.getProt:()I // method@0491 │ │ -017010: 0a0a |009a: move-result v10 │ │ -017012: 6e20 8605 a900 |009b: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -017018: 6e10 8b05 0900 |009e: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01701e: 0c09 |00a1: move-result-object v9 │ │ -017020: 7220 0d07 9800 |00a2: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -017026: 7100 0107 0000 |00a5: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01702c: 0c08 |00a8: move-result-object v8 │ │ -01702e: 2209 2801 |00a9: new-instance v9, Ljava/lang/StringBuilder; // type@0128 │ │ -017032: 7010 8305 0900 |00ab: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -017038: 1a0a 5d04 |00ae: const-string v10, "SourceAddress:" // string@045d │ │ -01703c: 6e20 8905 a900 |00b0: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -017042: 6e10 9204 0700 |00b3: invoke-virtual {v7}, Lip/IPPacket;.getSourceIP:()[I // method@0492 │ │ -017048: 0c0a |00b6: move-result-object v10 │ │ -01704a: 7110 9704 0a00 |00b7: invoke-static {v10}, Lip/IPPacket;.int2ip:([I)Ljava/net/InetAddress; // method@0497 │ │ -017050: 0c0a |00ba: move-result-object v10 │ │ -017052: 6e20 8805 a900 |00bb: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ -017058: 6e10 8b05 0900 |00be: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01705e: 0c09 |00c1: move-result-object v9 │ │ -017060: 7220 0d07 9800 |00c2: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -017066: 7100 0107 0000 |00c5: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01706c: 0c08 |00c8: move-result-object v8 │ │ -01706e: 2209 2801 |00c9: new-instance v9, Ljava/lang/StringBuilder; // type@0128 │ │ -017072: 7010 8305 0900 |00cb: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -017078: 1a0a 6e01 |00ce: const-string v10, "DestAddress:" // string@016e │ │ -01707c: 6e20 8905 a900 |00d0: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -017082: 6e10 8d04 0700 |00d3: invoke-virtual {v7}, Lip/IPPacket;.getDestIP:()[I // method@048d │ │ -017088: 0c0a |00d6: move-result-object v10 │ │ -01708a: 7110 9704 0a00 |00d7: invoke-static {v10}, Lip/IPPacket;.int2ip:([I)Ljava/net/InetAddress; // method@0497 │ │ -017090: 0c0a |00da: move-result-object v10 │ │ -017092: 6e20 8805 a900 |00db: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ -017098: 6e10 8b05 0900 |00de: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01709e: 0c09 |00e1: move-result-object v9 │ │ -0170a0: 7220 0d07 9800 |00e2: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -0170a6: 7100 0107 0000 |00e5: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -0170ac: 0c08 |00e8: move-result-object v8 │ │ -0170ae: 2209 2801 |00e9: new-instance v9, Ljava/lang/StringBuilder; // type@0128 │ │ -0170b2: 7010 8305 0900 |00eb: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -0170b8: 1a0a 6f04 |00ee: const-string v10, "TTL:" // string@046f │ │ -0170bc: 6e20 8905 a900 |00f0: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0170c2: 6e10 9304 0700 |00f3: invoke-virtual {v7}, Lip/IPPacket;.getTTL:()I // method@0493 │ │ -0170c8: 0a0a |00f6: move-result v10 │ │ -0170ca: 6e20 8605 a900 |00f7: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -0170d0: 6e10 8b05 0900 |00fa: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0170d6: 0c09 |00fd: move-result-object v9 │ │ -0170d8: 7220 0d07 9800 |00fe: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -0170de: 7100 0107 0000 |0101: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -0170e4: 0c08 |0104: move-result-object v8 │ │ -0170e6: 2209 2801 |0105: new-instance v9, Ljava/lang/StringBuilder; // type@0128 │ │ -0170ea: 7010 8305 0900 |0107: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -0170f0: 1a0a 1603 |010a: const-string v10, "Length:" // string@0316 │ │ -0170f4: 6e20 8905 a900 |010c: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0170fa: 6e10 8f04 0700 |010f: invoke-virtual {v7}, Lip/IPPacket;.getLength:()I // method@048f │ │ -017100: 0a0a |0112: move-result v10 │ │ -017102: 6e20 8605 a900 |0113: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -017108: 6e10 8b05 0900 |0116: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01710e: 0c09 |0119: move-result-object v9 │ │ -017110: 7220 0d07 9800 |011a: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -017116: 6e10 9104 0700 |011d: invoke-virtual {v7}, Lip/IPPacket;.getProt:()I // method@0491 │ │ -01711c: 0a08 |0120: move-result v8 │ │ -01711e: 3908 6d00 |0121: if-nez v8, 018e // +006d │ │ -017122: 7100 0107 0000 |0123: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -017128: 0c08 |0126: move-result-object v8 │ │ -01712a: 1a09 bc01 |0127: const-string v9, "Hopp by hopp header" // string@01bc │ │ -01712e: 7220 0d07 9800 |0129: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -017134: 7100 0107 0000 |012c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01713a: 0c08 |012f: move-result-object v8 │ │ -01713c: 2209 2801 |0130: new-instance v9, Ljava/lang/StringBuilder; // type@0128 │ │ -017140: 7010 8305 0900 |0132: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -017146: 1a0a ee03 |0135: const-string v10, "NextHeader:" // string@03ee │ │ -01714a: 6e20 8905 a900 |0137: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -017150: 130a 2800 |013a: const/16 v10, #int 40 // #28 │ │ -017154: 480b 020a |013c: aget-byte v11, v2, v10 │ │ -017158: d5bb ff00 |013e: and-int/lit16 v11, v11, #int 255 // #00ff │ │ -01715c: 6e20 8605 b900 |0140: invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -017162: 6e10 8b05 0900 |0143: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -017168: 0c09 |0146: move-result-object v9 │ │ -01716a: 7220 0d07 9800 |0147: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -017170: 7100 0107 0000 |014a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -017176: 0c08 |014d: move-result-object v8 │ │ -017178: 2209 2801 |014e: new-instance v9, Ljava/lang/StringBuilder; // type@0128 │ │ -01717c: 7010 8305 0900 |0150: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -017182: 1a0b b801 |0153: const-string v11, "Hdr Ext Len:" // string@01b8 │ │ -017186: 6e20 8905 b900 |0155: invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01718c: 130b 2900 |0158: const/16 v11, #int 41 // #29 │ │ -017190: 480b 020b |015a: aget-byte v11, v2, v11 │ │ -017194: d5bb ff00 |015c: and-int/lit16 v11, v11, #int 255 // #00ff │ │ -017198: 6e20 8605 b900 |015e: invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -01719e: 6e10 8b05 0900 |0161: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0171a4: 0c09 |0164: move-result-object v9 │ │ -0171a6: 7220 0d07 9800 |0165: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -0171ac: 4808 020a |0168: aget-byte v8, v2, v10 │ │ -0171b0: d588 ff00 |016a: and-int/lit16 v8, v8, #int 255 // #00ff │ │ -0171b4: 1309 3a00 |016c: const/16 v9, #int 58 // #3a │ │ -0171b8: 3398 2000 |016e: if-ne v8, v9, 018e // +0020 │ │ -0171bc: 7100 0107 0000 |0170: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -0171c2: 0c08 |0173: move-result-object v8 │ │ -0171c4: 2209 2801 |0174: new-instance v9, Ljava/lang/StringBuilder; // type@0128 │ │ -0171c8: 7010 8305 0900 |0176: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -0171ce: 1a0a 2204 |0179: const-string v10, "Received ICMP IPV6 packet type:" // string@0422 │ │ -0171d2: 6e20 8905 a900 |017b: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0171d8: 130a 3000 |017e: const/16 v10, #int 48 // #30 │ │ -0171dc: 480a 020a |0180: aget-byte v10, v2, v10 │ │ -0171e0: d5aa ff00 |0182: and-int/lit16 v10, v10, #int 255 // #00ff │ │ -0171e4: 6e20 8605 a900 |0184: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -0171ea: 6e10 8b05 0900 |0187: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0171f0: 0c09 |018a: move-result-object v9 │ │ -0171f2: 7220 0d07 9800 |018b: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -0171f8: 6e10 8704 0700 |018e: invoke-virtual {v7}, Lip/IPPacket;.checkCheckSum:()I // method@0487 │ │ -0171fe: 0a08 |0191: move-result v8 │ │ -017200: 3908 5800 |0192: if-nez v8, 01ea // +0058 │ │ -017204: 6e10 9104 0700 |0194: invoke-virtual {v7}, Lip/IPPacket;.getProt:()I // method@0491 │ │ -01720a: 0a08 |0197: move-result v8 │ │ -01720c: 3358 2400 |0198: if-ne v8, v5, 01bc // +0024 │ │ -017210: 6305 0f01 |019a: sget-boolean v5, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ -017214: 3805 2000 |019c: if-eqz v5, 01bc // +0020 │ │ -017218: 7100 0107 0000 |019e: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01721e: 0c05 |01a1: move-result-object v5 │ │ -017220: 2208 2801 |01a2: new-instance v8, Ljava/lang/StringBuilder; // type@0128 │ │ -017224: 7010 8305 0800 |01a4: invoke-direct {v8}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -01722a: 1a09 2304 |01a7: const-string v9, "Received ICMP packet type:" // string@0423 │ │ -01722e: 6e20 8905 9800 |01a9: invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -017234: 1309 1400 |01ac: const/16 v9, #int 20 // #14 │ │ -017238: 4809 0209 |01ae: aget-byte v9, v2, v9 │ │ -01723c: d599 ff00 |01b0: and-int/lit16 v9, v9, #int 255 // #00ff │ │ -017240: 6e20 8605 9800 |01b2: invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -017246: 6e10 8b05 0800 |01b5: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01724c: 0c08 |01b8: move-result-object v8 │ │ -01724e: 7220 0d07 8500 |01b9: invoke-interface {v5, v8}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -017254: 6e10 9104 0700 |01bc: invoke-virtual {v7}, Lip/IPPacket;.getProt:()I // method@0491 │ │ -01725a: 0a05 |01bf: move-result v5 │ │ -01725c: 1307 1100 |01c0: const/16 v7, #int 17 // #11 │ │ -017260: 3375 7cfe |01c2: if-ne v5, v7, 003e // -0184 │ │ -017264: 2205 ec00 |01c4: new-instance v5, Lip/UDPPacket; // type@00ec │ │ -017268: 7040 9a04 2536 |01c6: invoke-direct {v5, v2, v6, v3}, Lip/UDPPacket;.:([BII)V // method@049a │ │ -01726e: 6e10 9c04 0500 |01c9: invoke-virtual {v5}, Lip/UDPPacket;.checkCheckSum:()I // method@049c │ │ -017274: 0a02 |01cc: move-result v2 │ │ -017276: 3902 1500 |01cd: if-nez v2, 01e2 // +0015 │ │ -01727a: 3904 6ffe |01cf: if-nez v4, 003e // -0191 │ │ -01727e: 2202 2a01 |01d1: new-instance v2, Ljava/lang/Thread; // type@012a │ │ -017282: 2203 8900 |01d3: new-instance v3, Ldnsfilter/DNSResolver; // type@0089 │ │ -017286: 54c4 b600 |01d5: iget-object v4, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.out:Ljava/io/FileOutputStream; // field@00b6 │ │ -01728a: 7030 bb01 5304 |01d7: invoke-direct {v3, v5, v4}, Ldnsfilter/DNSResolver;.:(Lip/UDPPacket;Ljava/io/OutputStream;)V // method@01bb │ │ -017290: 7020 9005 3200 |01da: invoke-direct {v2, v3}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ -017296: 6e10 9605 0200 |01dd: invoke-virtual {v2}, Ljava/lang/Thread;.start:()V // method@0596 │ │ -01729c: 2900 5efe |01e0: goto/16 003e // -01a2 │ │ -0172a0: 2202 fb00 |01e2: new-instance v2, Ljava/io/IOException; // type@00fb │ │ -0172a4: 1a03 7d04 |01e4: const-string v3, "UDP packet checksum error!" // string@047d │ │ -0172a8: 7020 fb04 3200 |01e6: invoke-direct {v2, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -0172ae: 2702 |01e9: throw v2 │ │ -0172b0: 2202 fb00 |01ea: new-instance v2, Ljava/io/IOException; // type@00fb │ │ -0172b4: 1a03 dc01 |01ec: const-string v3, "IP header checksum error!" // string@01dc │ │ -0172b8: 7020 fb04 3200 |01ee: invoke-direct {v2, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -0172be: 2702 |01f1: throw v2 │ │ -0172c0: 0d02 |01f2: move-exception v2 │ │ -0172c2: 7100 0107 0000 |01f3: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -0172c8: 0c03 |01f6: move-result-object v3 │ │ -0172ca: 7220 0c07 2300 |01f7: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -0172d0: 2900 44fe |01fa: goto/16 003e // -01bc │ │ -0172d4: 0d02 |01fc: move-exception v2 │ │ -0172d6: 7100 0107 0000 |01fd: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -0172dc: 0c03 |0200: move-result-object v3 │ │ -0172de: 2204 2801 |0201: new-instance v4, Ljava/lang/StringBuilder; // type@0128 │ │ -0172e2: 7010 8305 0400 |0203: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -0172e8: 1a05 d901 |0206: const-string v5, "IOEXCEPTION: " // string@01d9 │ │ -0172ec: 6e20 8905 5400 |0208: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0172f2: 6e10 0005 0200 |020b: invoke-virtual {v2}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ -0172f8: 0c02 |020e: move-result-object v2 │ │ -0172fa: 6e20 8905 2400 |020f: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -017300: 6e10 8b05 0400 |0212: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -017306: 0c02 |0215: move-result-object v2 │ │ -017308: 7220 0d07 2300 |0216: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -01730e: 2900 25fe |0219: goto/16 003e // -01db │ │ -017312: 54c2 b800 |021b: iget-object v2, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.this$0:Ldnsfilter/android/DNSFilterService; // field@00b8 │ │ -017316: 7110 7502 0200 |021d: invoke-static {v2}, Ldnsfilter/android/DNSFilterService;.access$400:(Ldnsfilter/android/DNSFilterService;)Z // method@0275 │ │ -01731c: 0a02 |0220: move-result v2 │ │ -01731e: 3902 1dfe |0221: if-nez v2, 003e // -01e3 │ │ -017322: 1602 e803 |0223: const-wide/16 v2, #int 1000 // #3e8 │ │ -017326: 7120 9505 3200 |0225: invoke-static {v2, v3}, Ljava/lang/Thread;.sleep:(J)V // method@0595 │ │ -01732c: 2900 16fe |0228: goto/16 003e // -01ea │ │ -017330: 0d00 |022a: move-exception v0 │ │ -017332: 55c2 b700 |022b: iget-boolean v2, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b7 │ │ -017336: 3902 1200 |022d: if-nez v2, 023f // +0012 │ │ -01733a: 7100 0107 0000 |022f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -017340: 0c02 |0232: move-result-object v2 │ │ -017342: 1a03 cb04 |0233: const-string v3, "VPN);Runner died!" // string@04cb │ │ -017346: 7220 0d07 3200 |0235: invoke-interface {v2, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -01734c: 7100 0107 0000 |0238: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -017352: 0c02 |023b: move-result-object v2 │ │ -017354: 7220 0c07 0200 |023c: invoke-interface {v2, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -01735a: 55c0 b300 |023f: iget-boolean v0, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.explicitOperation:Z // field@00b3 │ │ -01735e: 3900 0600 |0241: if-nez v0, 0247 // +0006 │ │ -017362: 6300 0f01 |0243: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ -017366: 3800 1c00 |0245: if-eqz v0, 0261 // +001c │ │ -01736a: 7100 0107 0000 |0247: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -017370: 0c00 |024a: move-result-object v0 │ │ -017372: 2202 2801 |024b: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -017376: 7020 8405 1200 |024d: invoke-direct {v2, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -01737c: 52c1 b400 |0250: iget v1, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.id:I // field@00b4 │ │ -017380: 6e20 8605 1200 |0252: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -017386: 1a01 2700 |0255: const-string v1, " terminated!" // string@0027 │ │ -01738a: 6e20 8905 1200 |0257: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -017390: 6e10 8b05 0200 |025a: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -017396: 0c01 |025d: move-result-object v1 │ │ -017398: 7220 0d07 1000 |025e: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -01739e: 0e00 |0261: return-void │ │ +016ec8: |[016ec8] dnsfilter.android.DNSFilterService$VPNRunner.run:()V │ │ +016ed8: 55c0 b300 |0000: iget-boolean v0, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.explicitOperation:Z // field@00b3 │ │ +016edc: 1a01 ca04 |0002: const-string v1, "VPN runner thread " // string@04ca │ │ +016ee0: 3900 0600 |0004: if-nez v0, 000a // +0006 │ │ +016ee4: 6300 0f01 |0006: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ +016ee8: 3800 1c00 |0008: if-eqz v0, 0024 // +001c │ │ +016eec: 7100 0107 0000 |000a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +016ef2: 0c00 |000d: move-result-object v0 │ │ +016ef4: 2202 2801 |000e: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +016ef8: 7020 8405 1200 |0010: invoke-direct {v2, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +016efe: 52c3 b400 |0013: iget v3, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.id:I // field@00b4 │ │ +016f02: 6e20 8605 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +016f08: 1a03 2500 |0018: const-string v3, " started!" // string@0025 │ │ +016f0c: 6e20 8905 3200 |001a: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +016f12: 6e10 8b05 0200 |001d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +016f18: 0c02 |0020: move-result-object v2 │ │ +016f1a: 7220 0d07 2000 |0021: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +016f20: 7100 9105 0000 |0024: invoke-static {}, Ljava/lang/Thread;.currentThread:()Ljava/lang/Thread; // method@0591 │ │ +016f26: 0c00 |0027: move-result-object v0 │ │ +016f28: 5bc0 b900 |0028: iput-object v0, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.thread:Ljava/lang/Thread; // field@00b9 │ │ +016f2c: 7100 8601 0000 |002a: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0186 │ │ +016f32: 0c00 |002d: move-result-object v0 │ │ +016f34: 6e10 8101 0000 |002e: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ +016f3a: 0c00 |0031: move-result-object v0 │ │ +016f3c: 1a02 d708 |0032: const-string v2, "maxResolverCount" // string@08d7 │ │ +016f40: 1a03 7300 |0034: const-string v3, "100" // string@0073 │ │ +016f44: 6e30 3606 2003 |0036: invoke-virtual {v0, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +016f4a: 0c00 |0039: move-result-object v0 │ │ +016f4c: 7110 4105 0000 |003a: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ +016f52: 0a00 |003d: move-result v0 │ │ +016f54: 55c2 b700 |003e: iget-boolean v2, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b7 │ │ +016f58: 3902 ff01 |0040: if-nez v2, 023f // +01ff │ │ +016f5c: 7100 dd01 0000 |0042: invoke-static {}, Ldnsfilter/DNSServer;.getBufSize:()I // method@01dd │ │ +016f62: 0a02 |0045: move-result v2 │ │ +016f64: 2322 9901 |0046: new-array v2, v2, [B // type@0199 │ │ +016f68: 54c3 b500 |0048: iget-object v3, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.in:Ljava/io/FileInputStream; // field@00b5 │ │ +016f6c: 6e20 f104 2300 |004a: invoke-virtual {v3, v2}, Ljava/io/FileInputStream;.read:([B)I // method@04f1 │ │ +016f72: 0a03 |004d: move-result v3 │ │ +016f74: 55c4 b700 |004e: iget-boolean v4, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b7 │ │ +016f78: 3804 0400 |0050: if-eqz v4, 0054 // +0004 │ │ +016f7c: 2900 ed01 |0052: goto/16 023f // +01ed │ │ +016f80: 7100 bd01 0000 |0054: invoke-static {}, Ldnsfilter/DNSResolver;.getResolverCount:()I // method@01bd │ │ +016f86: 0a04 |0057: move-result v4 │ │ +016f88: 1215 |0058: const/4 v5, #int 1 // #1 │ │ +016f8a: 1206 |0059: const/4 v6, #int 0 // #0 │ │ +016f8c: 3704 1c00 |005a: if-le v4, v0, 0076 // +001c │ │ +016f90: 7100 0107 0000 |005c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +016f96: 0c04 |005f: move-result-object v4 │ │ +016f98: 2207 2801 |0060: new-instance v7, Ljava/lang/StringBuilder; // type@0128 │ │ +016f9c: 7010 8305 0700 |0062: invoke-direct {v7}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +016fa2: 1a08 d703 |0065: const-string v8, "Max resolver count reached: " // string@03d7 │ │ +016fa6: 6e20 8905 8700 |0067: invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +016fac: 6e20 8605 0700 |006a: invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +016fb2: 6e10 8b05 0700 |006d: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +016fb8: 0c07 |0070: move-result-object v7 │ │ +016fba: 7220 0e07 7400 |0071: invoke-interface {v4, v7}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ +016fc0: 1214 |0074: const/4 v4, #int 1 // #1 │ │ +016fc2: 2802 |0075: goto 0077 // +0002 │ │ +016fc4: 1204 |0076: const/4 v4, #int 0 // #0 │ │ +016fc6: 3d03 a401 |0077: if-lez v3, 021b // +01a4 │ │ +016fca: 2207 eb00 |0079: new-instance v7, Lip/IPPacket; // type@00eb │ │ +016fce: 7040 8504 2736 |007b: invoke-direct {v7, v2, v6, v3}, Lip/IPPacket;.:([BII)V // method@0485 │ │ +016fd4: 6e10 9404 0700 |007e: invoke-virtual {v7}, Lip/IPPacket;.getVersion:()I // method@0494 │ │ +016fda: 0a08 |0081: move-result v8 │ │ +016fdc: 1269 |0082: const/4 v9, #int 6 // #6 │ │ +016fde: 3398 0b01 |0083: if-ne v8, v9, 018e // +010b │ │ +016fe2: 6308 0f01 |0085: sget-boolean v8, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ +016fe6: 3808 0701 |0087: if-eqz v8, 018e // +0107 │ │ +016fea: 7100 0107 0000 |0089: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +016ff0: 0c08 |008c: move-result-object v8 │ │ +016ff2: 2209 2801 |008d: new-instance v9, Ljava/lang/StringBuilder; // type@0128 │ │ +016ff6: 7010 8305 0900 |008f: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +016ffc: 1a0a 2f00 |0092: const-string v10, "!!!IPV6 packet!!! Protocol:" // string@002f │ │ +017000: 6e20 8905 a900 |0094: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +017006: 6e10 9104 0700 |0097: invoke-virtual {v7}, Lip/IPPacket;.getProt:()I // method@0491 │ │ +01700c: 0a0a |009a: move-result v10 │ │ +01700e: 6e20 8605 a900 |009b: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +017014: 6e10 8b05 0900 |009e: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01701a: 0c09 |00a1: move-result-object v9 │ │ +01701c: 7220 0d07 9800 |00a2: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +017022: 7100 0107 0000 |00a5: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +017028: 0c08 |00a8: move-result-object v8 │ │ +01702a: 2209 2801 |00a9: new-instance v9, Ljava/lang/StringBuilder; // type@0128 │ │ +01702e: 7010 8305 0900 |00ab: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +017034: 1a0a 5d04 |00ae: const-string v10, "SourceAddress:" // string@045d │ │ +017038: 6e20 8905 a900 |00b0: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01703e: 6e10 9204 0700 |00b3: invoke-virtual {v7}, Lip/IPPacket;.getSourceIP:()[I // method@0492 │ │ +017044: 0c0a |00b6: move-result-object v10 │ │ +017046: 7110 9704 0a00 |00b7: invoke-static {v10}, Lip/IPPacket;.int2ip:([I)Ljava/net/InetAddress; // method@0497 │ │ +01704c: 0c0a |00ba: move-result-object v10 │ │ +01704e: 6e20 8805 a900 |00bb: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ +017054: 6e10 8b05 0900 |00be: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01705a: 0c09 |00c1: move-result-object v9 │ │ +01705c: 7220 0d07 9800 |00c2: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +017062: 7100 0107 0000 |00c5: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +017068: 0c08 |00c8: move-result-object v8 │ │ +01706a: 2209 2801 |00c9: new-instance v9, Ljava/lang/StringBuilder; // type@0128 │ │ +01706e: 7010 8305 0900 |00cb: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +017074: 1a0a 6e01 |00ce: const-string v10, "DestAddress:" // string@016e │ │ +017078: 6e20 8905 a900 |00d0: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01707e: 6e10 8d04 0700 |00d3: invoke-virtual {v7}, Lip/IPPacket;.getDestIP:()[I // method@048d │ │ +017084: 0c0a |00d6: move-result-object v10 │ │ +017086: 7110 9704 0a00 |00d7: invoke-static {v10}, Lip/IPPacket;.int2ip:([I)Ljava/net/InetAddress; // method@0497 │ │ +01708c: 0c0a |00da: move-result-object v10 │ │ +01708e: 6e20 8805 a900 |00db: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ +017094: 6e10 8b05 0900 |00de: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01709a: 0c09 |00e1: move-result-object v9 │ │ +01709c: 7220 0d07 9800 |00e2: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +0170a2: 7100 0107 0000 |00e5: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +0170a8: 0c08 |00e8: move-result-object v8 │ │ +0170aa: 2209 2801 |00e9: new-instance v9, Ljava/lang/StringBuilder; // type@0128 │ │ +0170ae: 7010 8305 0900 |00eb: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +0170b4: 1a0a 6f04 |00ee: const-string v10, "TTL:" // string@046f │ │ +0170b8: 6e20 8905 a900 |00f0: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0170be: 6e10 9304 0700 |00f3: invoke-virtual {v7}, Lip/IPPacket;.getTTL:()I // method@0493 │ │ +0170c4: 0a0a |00f6: move-result v10 │ │ +0170c6: 6e20 8605 a900 |00f7: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +0170cc: 6e10 8b05 0900 |00fa: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0170d2: 0c09 |00fd: move-result-object v9 │ │ +0170d4: 7220 0d07 9800 |00fe: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +0170da: 7100 0107 0000 |0101: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +0170e0: 0c08 |0104: move-result-object v8 │ │ +0170e2: 2209 2801 |0105: new-instance v9, Ljava/lang/StringBuilder; // type@0128 │ │ +0170e6: 7010 8305 0900 |0107: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +0170ec: 1a0a 1603 |010a: const-string v10, "Length:" // string@0316 │ │ +0170f0: 6e20 8905 a900 |010c: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0170f6: 6e10 8f04 0700 |010f: invoke-virtual {v7}, Lip/IPPacket;.getLength:()I // method@048f │ │ +0170fc: 0a0a |0112: move-result v10 │ │ +0170fe: 6e20 8605 a900 |0113: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +017104: 6e10 8b05 0900 |0116: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01710a: 0c09 |0119: move-result-object v9 │ │ +01710c: 7220 0d07 9800 |011a: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +017112: 6e10 9104 0700 |011d: invoke-virtual {v7}, Lip/IPPacket;.getProt:()I // method@0491 │ │ +017118: 0a08 |0120: move-result v8 │ │ +01711a: 3908 6d00 |0121: if-nez v8, 018e // +006d │ │ +01711e: 7100 0107 0000 |0123: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +017124: 0c08 |0126: move-result-object v8 │ │ +017126: 1a09 bc01 |0127: const-string v9, "Hopp by hopp header" // string@01bc │ │ +01712a: 7220 0d07 9800 |0129: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +017130: 7100 0107 0000 |012c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +017136: 0c08 |012f: move-result-object v8 │ │ +017138: 2209 2801 |0130: new-instance v9, Ljava/lang/StringBuilder; // type@0128 │ │ +01713c: 7010 8305 0900 |0132: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +017142: 1a0a ee03 |0135: const-string v10, "NextHeader:" // string@03ee │ │ +017146: 6e20 8905 a900 |0137: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01714c: 130a 2800 |013a: const/16 v10, #int 40 // #28 │ │ +017150: 480b 020a |013c: aget-byte v11, v2, v10 │ │ +017154: d5bb ff00 |013e: and-int/lit16 v11, v11, #int 255 // #00ff │ │ +017158: 6e20 8605 b900 |0140: invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +01715e: 6e10 8b05 0900 |0143: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +017164: 0c09 |0146: move-result-object v9 │ │ +017166: 7220 0d07 9800 |0147: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +01716c: 7100 0107 0000 |014a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +017172: 0c08 |014d: move-result-object v8 │ │ +017174: 2209 2801 |014e: new-instance v9, Ljava/lang/StringBuilder; // type@0128 │ │ +017178: 7010 8305 0900 |0150: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +01717e: 1a0b b801 |0153: const-string v11, "Hdr Ext Len:" // string@01b8 │ │ +017182: 6e20 8905 b900 |0155: invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +017188: 130b 2900 |0158: const/16 v11, #int 41 // #29 │ │ +01718c: 480b 020b |015a: aget-byte v11, v2, v11 │ │ +017190: d5bb ff00 |015c: and-int/lit16 v11, v11, #int 255 // #00ff │ │ +017194: 6e20 8605 b900 |015e: invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +01719a: 6e10 8b05 0900 |0161: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0171a0: 0c09 |0164: move-result-object v9 │ │ +0171a2: 7220 0d07 9800 |0165: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +0171a8: 4808 020a |0168: aget-byte v8, v2, v10 │ │ +0171ac: d588 ff00 |016a: and-int/lit16 v8, v8, #int 255 // #00ff │ │ +0171b0: 1309 3a00 |016c: const/16 v9, #int 58 // #3a │ │ +0171b4: 3398 2000 |016e: if-ne v8, v9, 018e // +0020 │ │ +0171b8: 7100 0107 0000 |0170: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +0171be: 0c08 |0173: move-result-object v8 │ │ +0171c0: 2209 2801 |0174: new-instance v9, Ljava/lang/StringBuilder; // type@0128 │ │ +0171c4: 7010 8305 0900 |0176: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +0171ca: 1a0a 2204 |0179: const-string v10, "Received ICMP IPV6 packet type:" // string@0422 │ │ +0171ce: 6e20 8905 a900 |017b: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0171d4: 130a 3000 |017e: const/16 v10, #int 48 // #30 │ │ +0171d8: 480a 020a |0180: aget-byte v10, v2, v10 │ │ +0171dc: d5aa ff00 |0182: and-int/lit16 v10, v10, #int 255 // #00ff │ │ +0171e0: 6e20 8605 a900 |0184: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +0171e6: 6e10 8b05 0900 |0187: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0171ec: 0c09 |018a: move-result-object v9 │ │ +0171ee: 7220 0d07 9800 |018b: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +0171f4: 6e10 8704 0700 |018e: invoke-virtual {v7}, Lip/IPPacket;.checkCheckSum:()I // method@0487 │ │ +0171fa: 0a08 |0191: move-result v8 │ │ +0171fc: 3908 5800 |0192: if-nez v8, 01ea // +0058 │ │ +017200: 6e10 9104 0700 |0194: invoke-virtual {v7}, Lip/IPPacket;.getProt:()I // method@0491 │ │ +017206: 0a08 |0197: move-result v8 │ │ +017208: 3358 2400 |0198: if-ne v8, v5, 01bc // +0024 │ │ +01720c: 6305 0f01 |019a: sget-boolean v5, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ +017210: 3805 2000 |019c: if-eqz v5, 01bc // +0020 │ │ +017214: 7100 0107 0000 |019e: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01721a: 0c05 |01a1: move-result-object v5 │ │ +01721c: 2208 2801 |01a2: new-instance v8, Ljava/lang/StringBuilder; // type@0128 │ │ +017220: 7010 8305 0800 |01a4: invoke-direct {v8}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +017226: 1a09 2304 |01a7: const-string v9, "Received ICMP packet type:" // string@0423 │ │ +01722a: 6e20 8905 9800 |01a9: invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +017230: 1309 1400 |01ac: const/16 v9, #int 20 // #14 │ │ +017234: 4809 0209 |01ae: aget-byte v9, v2, v9 │ │ +017238: d599 ff00 |01b0: and-int/lit16 v9, v9, #int 255 // #00ff │ │ +01723c: 6e20 8605 9800 |01b2: invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +017242: 6e10 8b05 0800 |01b5: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +017248: 0c08 |01b8: move-result-object v8 │ │ +01724a: 7220 0d07 8500 |01b9: invoke-interface {v5, v8}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +017250: 6e10 9104 0700 |01bc: invoke-virtual {v7}, Lip/IPPacket;.getProt:()I // method@0491 │ │ +017256: 0a05 |01bf: move-result v5 │ │ +017258: 1307 1100 |01c0: const/16 v7, #int 17 // #11 │ │ +01725c: 3375 7cfe |01c2: if-ne v5, v7, 003e // -0184 │ │ +017260: 2205 ec00 |01c4: new-instance v5, Lip/UDPPacket; // type@00ec │ │ +017264: 7040 9a04 2536 |01c6: invoke-direct {v5, v2, v6, v3}, Lip/UDPPacket;.:([BII)V // method@049a │ │ +01726a: 6e10 9c04 0500 |01c9: invoke-virtual {v5}, Lip/UDPPacket;.checkCheckSum:()I // method@049c │ │ +017270: 0a02 |01cc: move-result v2 │ │ +017272: 3902 1500 |01cd: if-nez v2, 01e2 // +0015 │ │ +017276: 3904 6ffe |01cf: if-nez v4, 003e // -0191 │ │ +01727a: 2202 2a01 |01d1: new-instance v2, Ljava/lang/Thread; // type@012a │ │ +01727e: 2203 8900 |01d3: new-instance v3, Ldnsfilter/DNSResolver; // type@0089 │ │ +017282: 54c4 b600 |01d5: iget-object v4, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.out:Ljava/io/FileOutputStream; // field@00b6 │ │ +017286: 7030 bb01 5304 |01d7: invoke-direct {v3, v5, v4}, Ldnsfilter/DNSResolver;.:(Lip/UDPPacket;Ljava/io/OutputStream;)V // method@01bb │ │ +01728c: 7020 9005 3200 |01da: invoke-direct {v2, v3}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ +017292: 6e10 9605 0200 |01dd: invoke-virtual {v2}, Ljava/lang/Thread;.start:()V // method@0596 │ │ +017298: 2900 5efe |01e0: goto/16 003e // -01a2 │ │ +01729c: 2202 fb00 |01e2: new-instance v2, Ljava/io/IOException; // type@00fb │ │ +0172a0: 1a03 7d04 |01e4: const-string v3, "UDP packet checksum error!" // string@047d │ │ +0172a4: 7020 fb04 3200 |01e6: invoke-direct {v2, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +0172aa: 2702 |01e9: throw v2 │ │ +0172ac: 2202 fb00 |01ea: new-instance v2, Ljava/io/IOException; // type@00fb │ │ +0172b0: 1a03 dc01 |01ec: const-string v3, "IP header checksum error!" // string@01dc │ │ +0172b4: 7020 fb04 3200 |01ee: invoke-direct {v2, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +0172ba: 2702 |01f1: throw v2 │ │ +0172bc: 0d02 |01f2: move-exception v2 │ │ +0172be: 7100 0107 0000 |01f3: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +0172c4: 0c03 |01f6: move-result-object v3 │ │ +0172c6: 7220 0c07 2300 |01f7: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +0172cc: 2900 44fe |01fa: goto/16 003e // -01bc │ │ +0172d0: 0d02 |01fc: move-exception v2 │ │ +0172d2: 7100 0107 0000 |01fd: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +0172d8: 0c03 |0200: move-result-object v3 │ │ +0172da: 2204 2801 |0201: new-instance v4, Ljava/lang/StringBuilder; // type@0128 │ │ +0172de: 7010 8305 0400 |0203: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +0172e4: 1a05 d901 |0206: const-string v5, "IOEXCEPTION: " // string@01d9 │ │ +0172e8: 6e20 8905 5400 |0208: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0172ee: 6e10 0005 0200 |020b: invoke-virtual {v2}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ +0172f4: 0c02 |020e: move-result-object v2 │ │ +0172f6: 6e20 8905 2400 |020f: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0172fc: 6e10 8b05 0400 |0212: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +017302: 0c02 |0215: move-result-object v2 │ │ +017304: 7220 0d07 2300 |0216: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +01730a: 2900 25fe |0219: goto/16 003e // -01db │ │ +01730e: 54c2 b800 |021b: iget-object v2, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.this$0:Ldnsfilter/android/DNSFilterService; // field@00b8 │ │ +017312: 7110 7502 0200 |021d: invoke-static {v2}, Ldnsfilter/android/DNSFilterService;.access$400:(Ldnsfilter/android/DNSFilterService;)Z // method@0275 │ │ +017318: 0a02 |0220: move-result v2 │ │ +01731a: 3902 1dfe |0221: if-nez v2, 003e // -01e3 │ │ +01731e: 1602 e803 |0223: const-wide/16 v2, #int 1000 // #3e8 │ │ +017322: 7120 9505 3200 |0225: invoke-static {v2, v3}, Ljava/lang/Thread;.sleep:(J)V // method@0595 │ │ +017328: 2900 16fe |0228: goto/16 003e // -01ea │ │ +01732c: 0d00 |022a: move-exception v0 │ │ +01732e: 55c2 b700 |022b: iget-boolean v2, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b7 │ │ +017332: 3902 1200 |022d: if-nez v2, 023f // +0012 │ │ +017336: 7100 0107 0000 |022f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01733c: 0c02 |0232: move-result-object v2 │ │ +01733e: 1a03 cb04 |0233: const-string v3, "VPN);Runner died!" // string@04cb │ │ +017342: 7220 0d07 3200 |0235: invoke-interface {v2, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +017348: 7100 0107 0000 |0238: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01734e: 0c02 |023b: move-result-object v2 │ │ +017350: 7220 0c07 0200 |023c: invoke-interface {v2, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +017356: 55c0 b300 |023f: iget-boolean v0, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.explicitOperation:Z // field@00b3 │ │ +01735a: 3900 0600 |0241: if-nez v0, 0247 // +0006 │ │ +01735e: 6300 0f01 |0243: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ +017362: 3800 1c00 |0245: if-eqz v0, 0261 // +001c │ │ +017366: 7100 0107 0000 |0247: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01736c: 0c00 |024a: move-result-object v0 │ │ +01736e: 2202 2801 |024b: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +017372: 7020 8405 1200 |024d: invoke-direct {v2, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +017378: 52c1 b400 |0250: iget v1, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.id:I // field@00b4 │ │ +01737c: 6e20 8605 1200 |0252: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +017382: 1a01 2700 |0255: const-string v1, " terminated!" // string@0027 │ │ +017386: 6e20 8905 1200 |0257: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01738c: 6e10 8b05 0200 |025a: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +017392: 0c01 |025d: move-result-object v1 │ │ +017394: 7220 0d07 1000 |025e: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +01739a: 0e00 |0261: return-void │ │ catches : 3 │ │ 0x002a - 0x0074 │ │ Ljava/lang/Exception; -> 0x022a │ │ 0x0079 - 0x01f2 │ │ Ljava/io/IOException; -> 0x01fc │ │ Ljava/lang/Exception; -> 0x01f2 │ │ 0x01f3 - 0x0228 │ │ @@ -12179,23 +12179,23 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 15 16-bit code units │ │ -018334: |[018334] dnsfilter.android.DNSFilterService.:()V │ │ -018344: 2200 9e00 |0000: new-instance v0, Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // type@009e │ │ -018348: 7010 6202 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.:()V // method@0262 │ │ -01834e: 6900 cb00 |0005: sput-object v0, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00cb │ │ -018352: 1200 |0007: const/4 v0, #int 0 // #0 │ │ -018354: 6700 d400 |0008: sput v0, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00d4 │ │ -018358: 2300 a901 |000a: new-array v0, v0, [Ljava/lang/String; // type@01a9 │ │ -01835c: 6900 cd00 |000c: sput-object v0, Ldnsfilter/android/DNSFilterService;.lastDNSServers:[Ljava/lang/String; // field@00cd │ │ -018360: 0e00 |000e: return-void │ │ +018330: |[018330] dnsfilter.android.DNSFilterService.:()V │ │ +018340: 2200 9e00 |0000: new-instance v0, Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // type@009e │ │ +018344: 7010 6202 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.:()V // method@0262 │ │ +01834a: 6900 cb00 |0005: sput-object v0, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00cb │ │ +01834e: 1200 |0007: const/4 v0, #int 0 // #0 │ │ +018350: 6700 d400 |0008: sput v0, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00d4 │ │ +018354: 2300 a901 |000a: new-array v0, v0, [Ljava/lang/String; // type@01a9 │ │ +018358: 6900 cd00 |000c: sput-object v0, Ldnsfilter/android/DNSFilterService;.lastDNSServers:[Ljava/lang/String; // field@00cd │ │ +01835c: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=102 │ │ 0x0008 line=104 │ │ 0x000a line=482 │ │ locals : │ │ │ │ @@ -12204,23 +12204,23 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 14 16-bit code units │ │ -018364: |[018364] dnsfilter.android.DNSFilterService.:()V │ │ -018374: 7010 6e00 0200 |0000: invoke-direct {v2}, Landroid/net/VpnService;.:()V // method@006e │ │ -01837a: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -01837c: 5c20 c600 |0004: iput-boolean v0, v2, Ldnsfilter/android/DNSFilterService;.blocking:Z // field@00c6 │ │ -018380: 1201 |0006: const/4 v1, #int 0 // #0 │ │ -018382: 5b21 d600 |0007: iput-object v1, v2, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d6 │ │ -018386: 5c20 ce00 |0009: iput-boolean v0, v2, Ldnsfilter/android/DNSFilterService;.manageDNSCryptProxy:Z // field@00ce │ │ -01838a: 5c20 c700 |000b: iput-boolean v0, v2, Ldnsfilter/android/DNSFilterService;.dnsCryptProxyStartTriggered:Z // field@00c7 │ │ -01838e: 0e00 |000d: return-void │ │ +018360: |[018360] dnsfilter.android.DNSFilterService.:()V │ │ +018370: 7010 6e00 0200 |0000: invoke-direct {v2}, Landroid/net/VpnService;.:()V // method@006e │ │ +018376: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +018378: 5c20 c600 |0004: iput-boolean v0, v2, Ldnsfilter/android/DNSFilterService;.blocking:Z // field@00c6 │ │ +01837c: 1201 |0006: const/4 v1, #int 0 // #0 │ │ +01837e: 5b21 d600 |0007: iput-object v1, v2, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d6 │ │ +018382: 5c20 ce00 |0009: iput-boolean v0, v2, Ldnsfilter/android/DNSFilterService;.manageDNSCryptProxy:Z // field@00ce │ │ +018386: 5c20 c700 |000b: iput-boolean v0, v2, Ldnsfilter/android/DNSFilterService;.dnsCryptProxyStartTriggered:Z // field@00c7 │ │ +01838a: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=77 │ │ 0x0004 line=106 │ │ 0x0007 line=107 │ │ 0x0009 line=108 │ │ 0x000b line=109 │ │ @@ -12232,68 +12232,68 @@ │ │ type : '()Z' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0178d8: |[0178d8] dnsfilter.android.DNSFilterService.access$000:()Z │ │ -0178e8: 6300 d200 |0000: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00d2 │ │ -0178ec: 0f00 |0002: return v0 │ │ +0178d4: |[0178d4] dnsfilter.android.DNSFilterService.access$000:()Z │ │ +0178e4: 6300 d200 |0000: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00d2 │ │ +0178e8: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=77 │ │ locals : │ │ │ │ #3 : (in Ldnsfilter/android/DNSFilterService;) │ │ name : 'access$100' │ │ type : '()Z' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0178f0: |[0178f0] dnsfilter.android.DNSFilterService.access$100:()Z │ │ -017900: 6300 c900 |0000: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.dnsProxyOnlyLocal:Z // field@00c9 │ │ -017904: 0f00 |0002: return v0 │ │ +0178ec: |[0178ec] dnsfilter.android.DNSFilterService.access$100:()Z │ │ +0178fc: 6300 c900 |0000: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.dnsProxyOnlyLocal:Z // field@00c9 │ │ +017900: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=77 │ │ locals : │ │ │ │ #4 : (in Ldnsfilter/android/DNSFilterService;) │ │ name : 'access$200' │ │ type : '()I' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -017b7c: |[017b7c] dnsfilter.android.DNSFilterService.access$200:()I │ │ -017b8c: 6000 ca00 |0000: sget v0, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00ca │ │ -017b90: 0f00 |0002: return v0 │ │ +017b78: |[017b78] dnsfilter.android.DNSFilterService.access$200:()I │ │ +017b88: 6000 ca00 |0000: sget v0, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00ca │ │ +017b8c: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=77 │ │ locals : │ │ │ │ #5 : (in Ldnsfilter/android/DNSFilterService;) │ │ name : 'access$300' │ │ type : '(ZLjava/lang/String;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -018390: |[018390] dnsfilter.android.DNSFilterService.access$300:(ZLjava/lang/String;)V │ │ -0183a0: 7120 8d02 1000 |0000: invoke-static {v0, v1}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@028d │ │ -0183a6: 0e00 |0003: return-void │ │ +01838c: |[01838c] dnsfilter.android.DNSFilterService.access$300:(ZLjava/lang/String;)V │ │ +01839c: 7120 8d02 1000 |0000: invoke-static {v0, v1}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@028d │ │ +0183a2: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=77 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Z │ │ 0x0000 - 0x0004 reg=1 (null) Ljava/lang/String; │ │ │ │ @@ -12302,17 +12302,17 @@ │ │ type : '(Ldnsfilter/android/DNSFilterService;)Z' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -017908: |[017908] dnsfilter.android.DNSFilterService.access$400:(Ldnsfilter/android/DNSFilterService;)Z │ │ -017918: 5500 c600 |0000: iget-boolean v0, v0, Ldnsfilter/android/DNSFilterService;.blocking:Z // field@00c6 │ │ -01791c: 0f00 |0002: return v0 │ │ +017904: |[017904] dnsfilter.android.DNSFilterService.access$400:(Ldnsfilter/android/DNSFilterService;)Z │ │ +017914: 5500 c600 |0000: iget-boolean v0, v0, Ldnsfilter/android/DNSFilterService;.blocking:Z // field@00c6 │ │ +017918: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=77 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/DNSFilterService; │ │ │ │ #7 : (in Ldnsfilter/android/DNSFilterService;) │ │ @@ -12320,42 +12320,42 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 55 16-bit code units │ │ -0183a8: |[0183a8] dnsfilter.android.DNSFilterService.clearPortRedir:()V │ │ -0183b8: 1a00 5c08 |0000: const-string v0, "iptables -t nat -D PREROUTING -p udp --dport 53 -j REDIRECT --to-port" // string@085c │ │ -0183bc: 6301 bf00 |0002: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.DNS_PROXY_PORT_IS_REDIRECTED:Z // field@00bf │ │ -0183c0: 3901 0300 |0004: if-nez v1, 0007 // +0003 │ │ -0183c4: 0e00 |0006: return-void │ │ -0183c6: 2201 2801 |0007: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -0183ca: 7020 8405 0100 |0009: invoke-direct {v1, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -0183d0: 6000 ca00 |000c: sget v0, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00ca │ │ -0183d4: 6e20 8605 0100 |000e: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -0183da: 6e10 8b05 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0183e0: 0c00 |0014: move-result-object v0 │ │ -0183e2: 1201 |0015: const/4 v1, #int 0 // #0 │ │ -0183e4: 7120 8d02 0100 |0016: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@028d │ │ -0183ea: 6a01 bf00 |0019: sput-boolean v1, Ldnsfilter/android/DNSFilterService;.DNS_PROXY_PORT_IS_REDIRECTED:Z // field@00bf │ │ -0183ee: 281b |001b: goto 0036 // +001b │ │ -0183f0: 0d00 |001c: move-exception v0 │ │ -0183f2: 7100 0107 0000 |001d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -0183f8: 0c01 |0020: move-result-object v1 │ │ -0183fa: 2202 2801 |0021: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -0183fe: 1a03 9501 |0023: const-string v3, "Exception when clearing port redirection:" // string@0195 │ │ -018402: 7020 8405 3200 |0025: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -018408: 6e10 3b05 0000 |0028: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@053b │ │ -01840e: 0c00 |002b: move-result-object v0 │ │ -018410: 6e20 8905 0200 |002c: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -018416: 6e10 8b05 0200 |002f: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01841c: 0c00 |0032: move-result-object v0 │ │ -01841e: 7220 0d07 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -018424: 0e00 |0036: return-void │ │ +0183a4: |[0183a4] dnsfilter.android.DNSFilterService.clearPortRedir:()V │ │ +0183b4: 1a00 5c08 |0000: const-string v0, "iptables -t nat -D PREROUTING -p udp --dport 53 -j REDIRECT --to-port" // string@085c │ │ +0183b8: 6301 bf00 |0002: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.DNS_PROXY_PORT_IS_REDIRECTED:Z // field@00bf │ │ +0183bc: 3901 0300 |0004: if-nez v1, 0007 // +0003 │ │ +0183c0: 0e00 |0006: return-void │ │ +0183c2: 2201 2801 |0007: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +0183c6: 7020 8405 0100 |0009: invoke-direct {v1, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +0183cc: 6000 ca00 |000c: sget v0, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00ca │ │ +0183d0: 6e20 8605 0100 |000e: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +0183d6: 6e10 8b05 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0183dc: 0c00 |0014: move-result-object v0 │ │ +0183de: 1201 |0015: const/4 v1, #int 0 // #0 │ │ +0183e0: 7120 8d02 0100 |0016: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@028d │ │ +0183e6: 6a01 bf00 |0019: sput-boolean v1, Ldnsfilter/android/DNSFilterService;.DNS_PROXY_PORT_IS_REDIRECTED:Z // field@00bf │ │ +0183ea: 281b |001b: goto 0036 // +001b │ │ +0183ec: 0d00 |001c: move-exception v0 │ │ +0183ee: 7100 0107 0000 |001d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +0183f4: 0c01 |0020: move-result-object v1 │ │ +0183f6: 2202 2801 |0021: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +0183fa: 1a03 9501 |0023: const-string v3, "Exception when clearing port redirection:" // string@0195 │ │ +0183fe: 7020 8405 3200 |0025: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +018404: 6e10 3b05 0000 |0028: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@053b │ │ +01840a: 0c00 |002b: move-result-object v0 │ │ +01840c: 6e20 8905 0200 |002c: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +018412: 6e10 8b05 0200 |002f: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +018418: 0c00 |0032: move-result-object v0 │ │ +01841a: 7220 0d07 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +018420: 0e00 |0036: return-void │ │ catches : 1 │ │ 0x0007 - 0x001b │ │ Ljava/lang/Exception; -> 0x001c │ │ positions : │ │ 0x0002 line=850 │ │ 0x0007 line=853 │ │ 0x0019 line=854 │ │ @@ -12368,30 +12368,30 @@ │ │ type : '(Ljava/lang/String;Landroid/net/VpnService$Builder;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 2 │ │ insns size : 31 16-bit code units │ │ -018438: |[018438] dnsfilter.android.DNSFilterService.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V │ │ -018448: 7120 4a02 3400 |0000: invoke-static {v4, v3}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/VpnService$Builder;Ljava/lang/String;)Landroid/net/VpnService$Builder; // method@024a │ │ -01844e: 281b |0003: goto 001e // +001b │ │ -018450: 0d03 |0004: move-exception v3 │ │ -018452: 7100 0107 0000 |0005: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -018458: 0c04 |0008: move-result-object v4 │ │ -01845a: 2200 2801 |0009: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ -01845e: 1a01 8401 |000b: const-string v1, "Error during app whitelisting:" // string@0184 │ │ -018462: 7020 8405 1000 |000d: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -018468: 6e10 4a00 0300 |0010: invoke-virtual {v3}, Landroid/content/pm/PackageManager$NameNotFoundException;.getMessage:()Ljava/lang/String; // method@004a │ │ -01846e: 0c03 |0013: move-result-object v3 │ │ -018470: 6e20 8905 3000 |0014: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -018476: 6e10 8b05 0000 |0017: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01847c: 0c03 |001a: move-result-object v3 │ │ -01847e: 7220 0d07 3400 |001b: invoke-interface {v4, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -018484: 0e00 |001e: return-void │ │ +018434: |[018434] dnsfilter.android.DNSFilterService.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V │ │ +018444: 7120 4a02 3400 |0000: invoke-static {v4, v3}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/VpnService$Builder;Ljava/lang/String;)Landroid/net/VpnService$Builder; // method@024a │ │ +01844a: 281b |0003: goto 001e // +001b │ │ +01844c: 0d03 |0004: move-exception v3 │ │ +01844e: 7100 0107 0000 |0005: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +018454: 0c04 |0008: move-result-object v4 │ │ +018456: 2200 2801 |0009: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ +01845a: 1a01 8401 |000b: const-string v1, "Error during app whitelisting:" // string@0184 │ │ +01845e: 7020 8405 1000 |000d: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +018464: 6e10 4a00 0300 |0010: invoke-virtual {v3}, Landroid/content/pm/PackageManager$NameNotFoundException;.getMessage:()Ljava/lang/String; // method@004a │ │ +01846a: 0c03 |0013: move-result-object v3 │ │ +01846c: 6e20 8905 3000 |0014: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +018472: 6e10 8b05 0000 |0017: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +018478: 0c03 |001a: move-result-object v3 │ │ +01847a: 7220 0d07 3400 |001b: invoke-interface {v4, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +018480: 0e00 |001e: return-void │ │ catches : 1 │ │ 0x0000 - 0x0003 │ │ Landroid/content/pm/PackageManager$NameNotFoundException; -> 0x0004 │ │ positions : │ │ 0x0000 line=919 │ │ 0x0005 line=921 │ │ locals : │ │ @@ -12404,65 +12404,65 @@ │ │ type : '(Landroid/net/ConnectivityManager;)Landroid/net/Network;' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 8 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 98 16-bit code units │ │ -017434: |[017434] dnsfilter.android.DNSFilterService.getActiveNetwork:(Landroid/net/ConnectivityManager;)Landroid/net/Network; │ │ -017444: 6e10 5900 0700 |0000: invoke-virtual {v7}, Landroid/net/ConnectivityManager;.getActiveNetworkInfo:()Landroid/net/NetworkInfo; // method@0059 │ │ -01744a: 0c00 |0003: move-result-object v0 │ │ -01744c: 3800 4900 |0004: if-eqz v0, 004d // +0049 │ │ -017450: 7110 5302 0700 |0006: invoke-static {v7}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/ConnectivityManager;)[Landroid/net/Network; // method@0253 │ │ -017456: 0c01 |0009: move-result-object v1 │ │ -017458: 2112 |000a: array-length v2, v1 │ │ -01745a: 1203 |000b: const/4 v3, #int 0 // #0 │ │ -01745c: 3523 4100 |000c: if-ge v3, v2, 004d // +0041 │ │ -017460: 4604 0103 |000e: aget-object v4, v1, v3 │ │ -017464: 7120 4902 4700 |0010: invoke-static {v7, v4}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/ConnectivityManager;Landroid/net/Network;)Landroid/net/NetworkInfo; // method@0249 │ │ -01746a: 0c05 |0013: move-result-object v5 │ │ -01746c: 3805 3600 |0014: if-eqz v5, 004a // +0036 │ │ -017470: 6e10 6000 0500 |0016: invoke-virtual {v5}, Landroid/net/NetworkInfo;.toString:()Ljava/lang/String; // method@0060 │ │ -017476: 0c06 |0019: move-result-object v6 │ │ -017478: 3806 3000 |001a: if-eqz v6, 004a // +0030 │ │ -01747c: 6e10 6000 0500 |001c: invoke-virtual {v5}, Landroid/net/NetworkInfo;.toString:()Ljava/lang/String; // method@0060 │ │ -017482: 0c05 |001f: move-result-object v5 │ │ -017484: 6e10 6000 0000 |0020: invoke-virtual {v0}, Landroid/net/NetworkInfo;.toString:()Ljava/lang/String; // method@0060 │ │ -01748a: 0c06 |0023: move-result-object v6 │ │ -01748c: 6e20 6705 6500 |0024: invoke-virtual {v5, v6}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -017492: 0a05 |0027: move-result v5 │ │ -017494: 3805 2200 |0028: if-eqz v5, 004a // +0022 │ │ -017498: 7100 ae06 0000 |002a: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ -01749e: 0c07 |002d: move-result-object v7 │ │ -0174a0: 7210 ba06 0700 |002e: invoke-interface {v7}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06ba │ │ -0174a6: 0a07 |0031: move-result v7 │ │ -0174a8: 3807 1700 |0032: if-eqz v7, 0049 // +0017 │ │ -0174ac: 7100 0107 0000 |0034: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -0174b2: 0c07 |0037: move-result-object v7 │ │ -0174b4: 2200 2801 |0038: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ -0174b8: 1a01 aa00 |003a: const-string v1, "ACTIVE NETWORK:" // string@00aa │ │ -0174bc: 7020 8405 1000 |003c: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -0174c2: 6e20 8805 4000 |003f: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ -0174c8: 6e10 8b05 0000 |0042: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0174ce: 0c00 |0045: move-result-object v0 │ │ -0174d0: 7220 0d07 0700 |0046: invoke-interface {v7, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -0174d6: 1104 |0049: return-object v4 │ │ -0174d8: d803 0301 |004a: add-int/lit8 v3, v3, #int 1 // #01 │ │ -0174dc: 28c0 |004c: goto 000c // -0040 │ │ -0174de: 7100 ae06 0000 |004d: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ -0174e4: 0c07 |0050: move-result-object v7 │ │ -0174e6: 7210 ba06 0700 |0051: invoke-interface {v7}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06ba │ │ -0174ec: 0a07 |0054: move-result v7 │ │ -0174ee: 3807 0b00 |0055: if-eqz v7, 0060 // +000b │ │ -0174f2: 7100 0107 0000 |0057: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -0174f8: 0c07 |005a: move-result-object v7 │ │ -0174fa: 1a00 ab00 |005b: const-string v0, "ACTIVE NETWORK: NULL" // string@00ab │ │ -0174fe: 7220 0d07 0700 |005d: invoke-interface {v7, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -017504: 1207 |0060: const/4 v7, #int 0 // #0 │ │ -017506: 1107 |0061: return-object v7 │ │ +017430: |[017430] dnsfilter.android.DNSFilterService.getActiveNetwork:(Landroid/net/ConnectivityManager;)Landroid/net/Network; │ │ +017440: 6e10 5900 0700 |0000: invoke-virtual {v7}, Landroid/net/ConnectivityManager;.getActiveNetworkInfo:()Landroid/net/NetworkInfo; // method@0059 │ │ +017446: 0c00 |0003: move-result-object v0 │ │ +017448: 3800 4900 |0004: if-eqz v0, 004d // +0049 │ │ +01744c: 7110 5302 0700 |0006: invoke-static {v7}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/ConnectivityManager;)[Landroid/net/Network; // method@0253 │ │ +017452: 0c01 |0009: move-result-object v1 │ │ +017454: 2112 |000a: array-length v2, v1 │ │ +017456: 1203 |000b: const/4 v3, #int 0 // #0 │ │ +017458: 3523 4100 |000c: if-ge v3, v2, 004d // +0041 │ │ +01745c: 4604 0103 |000e: aget-object v4, v1, v3 │ │ +017460: 7120 4902 4700 |0010: invoke-static {v7, v4}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/ConnectivityManager;Landroid/net/Network;)Landroid/net/NetworkInfo; // method@0249 │ │ +017466: 0c05 |0013: move-result-object v5 │ │ +017468: 3805 3600 |0014: if-eqz v5, 004a // +0036 │ │ +01746c: 6e10 6000 0500 |0016: invoke-virtual {v5}, Landroid/net/NetworkInfo;.toString:()Ljava/lang/String; // method@0060 │ │ +017472: 0c06 |0019: move-result-object v6 │ │ +017474: 3806 3000 |001a: if-eqz v6, 004a // +0030 │ │ +017478: 6e10 6000 0500 |001c: invoke-virtual {v5}, Landroid/net/NetworkInfo;.toString:()Ljava/lang/String; // method@0060 │ │ +01747e: 0c05 |001f: move-result-object v5 │ │ +017480: 6e10 6000 0000 |0020: invoke-virtual {v0}, Landroid/net/NetworkInfo;.toString:()Ljava/lang/String; // method@0060 │ │ +017486: 0c06 |0023: move-result-object v6 │ │ +017488: 6e20 6705 6500 |0024: invoke-virtual {v5, v6}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +01748e: 0a05 |0027: move-result v5 │ │ +017490: 3805 2200 |0028: if-eqz v5, 004a // +0022 │ │ +017494: 7100 ae06 0000 |002a: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ +01749a: 0c07 |002d: move-result-object v7 │ │ +01749c: 7210 ba06 0700 |002e: invoke-interface {v7}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06ba │ │ +0174a2: 0a07 |0031: move-result v7 │ │ +0174a4: 3807 1700 |0032: if-eqz v7, 0049 // +0017 │ │ +0174a8: 7100 0107 0000 |0034: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +0174ae: 0c07 |0037: move-result-object v7 │ │ +0174b0: 2200 2801 |0038: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ +0174b4: 1a01 aa00 |003a: const-string v1, "ACTIVE NETWORK:" // string@00aa │ │ +0174b8: 7020 8405 1000 |003c: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +0174be: 6e20 8805 4000 |003f: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ +0174c4: 6e10 8b05 0000 |0042: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0174ca: 0c00 |0045: move-result-object v0 │ │ +0174cc: 7220 0d07 0700 |0046: invoke-interface {v7, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +0174d2: 1104 |0049: return-object v4 │ │ +0174d4: d803 0301 |004a: add-int/lit8 v3, v3, #int 1 // #01 │ │ +0174d8: 28c0 |004c: goto 000c // -0040 │ │ +0174da: 7100 ae06 0000 |004d: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ +0174e0: 0c07 |0050: move-result-object v7 │ │ +0174e2: 7210 ba06 0700 |0051: invoke-interface {v7}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06ba │ │ +0174e8: 0a07 |0054: move-result v7 │ │ +0174ea: 3807 0b00 |0055: if-eqz v7, 0060 // +000b │ │ +0174ee: 7100 0107 0000 |0057: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +0174f4: 0c07 |005a: move-result-object v7 │ │ +0174f6: 1a00 ab00 |005b: const-string v0, "ACTIVE NETWORK: NULL" // string@00ab │ │ +0174fa: 7220 0d07 0700 |005d: invoke-interface {v7, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +017500: 1207 |0060: const/4 v7, #int 0 // #0 │ │ +017502: 1107 |0061: return-object v7 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=382 │ │ 0x0006 line=384 │ │ 0x000a line=385 │ │ 0x0010 line=386 │ │ 0x0016 line=387 │ │ @@ -12479,28 +12479,28 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 26 16-bit code units │ │ -017fd8: |[017fd8] dnsfilter.android.DNSFilterService.getChannel:()Ljava/lang/String; │ │ -017fe8: 1a00 0009 |0000: const-string v0, "notification" // string@0900 │ │ -017fec: 6e20 7e02 0400 |0002: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSFilterService;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@027e │ │ -017ff2: 0c00 |0005: move-result-object v0 │ │ -017ff4: 1f00 0f00 |0006: check-cast v0, Landroid/app/NotificationManager; // type@000f │ │ -017ff8: 6001 0200 |0008: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -017ffc: 1302 1a00 |000a: const/16 v2, #int 26 // #1a │ │ -018000: 1a03 3701 |000c: const-string v3, "DNS Filter" // string@0137 │ │ -018004: 3421 0b00 |000e: if-lt v1, v2, 0019 // +000b │ │ -018008: 2201 0e00 |0010: new-instance v1, Landroid/app/NotificationChannel; // type@000e │ │ -01800c: 1232 |0012: const/4 v2, #int 3 // #3 │ │ -01800e: 7040 2a00 3123 |0013: invoke-direct {v1, v3, v3, v2}, Landroid/app/NotificationChannel;.:(Ljava/lang/String;Ljava/lang/CharSequence;I)V // method@002a │ │ -018014: 7120 4f02 1000 |0016: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/app/NotificationManager;Landroid/app/NotificationChannel;)V // method@024f │ │ -01801a: 1103 |0019: return-object v3 │ │ +017fd4: |[017fd4] dnsfilter.android.DNSFilterService.getChannel:()Ljava/lang/String; │ │ +017fe4: 1a00 0009 |0000: const-string v0, "notification" // string@0900 │ │ +017fe8: 6e20 7e02 0400 |0002: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSFilterService;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@027e │ │ +017fee: 0c00 |0005: move-result-object v0 │ │ +017ff0: 1f00 0f00 |0006: check-cast v0, Landroid/app/NotificationManager; // type@000f │ │ +017ff4: 6001 0200 |0008: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +017ff8: 1302 1a00 |000a: const/16 v2, #int 26 // #1a │ │ +017ffc: 1a03 3701 |000c: const-string v3, "DNS Filter" // string@0137 │ │ +018000: 3421 0b00 |000e: if-lt v1, v2, 0019 // +000b │ │ +018004: 2201 0e00 |0010: new-instance v1, Landroid/app/NotificationChannel; // type@000e │ │ +018008: 1232 |0012: const/4 v2, #int 3 // #3 │ │ +01800a: 7040 2a00 3123 |0013: invoke-direct {v1, v3, v3, v2}, Landroid/app/NotificationChannel;.:(Ljava/lang/String;Ljava/lang/CharSequence;I)V // method@002a │ │ +018010: 7120 4f02 1000 |0016: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/app/NotificationManager;Landroid/app/NotificationChannel;)V // method@024f │ │ +018016: 1103 |0019: return-object v3 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=825 │ │ 0x0008 line=826 │ │ 0x0010 line=827 │ │ locals : │ │ 0x0000 - 0x001a reg=4 this Ldnsfilter/android/DNSFilterService; │ │ @@ -12510,41 +12510,41 @@ │ │ type : '()[Ljava/lang/String;' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 3 │ │ ins : 0 │ │ outs : 2 │ │ insns size : 52 16-bit code units │ │ -01801c: |[01801c] dnsfilter.android.DNSFilterService.getDNSServers:()[Ljava/lang/String; │ │ -01802c: 6300 0f01 |0000: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ -018030: 3800 0b00 |0002: if-eqz v0, 000d // +000b │ │ -018034: 7100 0107 0000 |0004: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01803a: 0c00 |0007: move-result-object v0 │ │ -01803c: 1a01 7101 |0008: const-string v1, "Detecting DNS servers..." // string@0171 │ │ -018040: 7220 0d07 1000 |000a: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -018046: 7100 7b02 0000 |000d: invoke-static {}, Ldnsfilter/android/DNSFilterService;.getDNSviaConnectivityManager:()[Ljava/lang/String; // method@027b │ │ -01804c: 0c00 |0010: move-result-object v0 │ │ -01804e: 2101 |0011: array-length v1, v0 │ │ -018050: 3901 1400 |0012: if-nez v1, 0026 // +0014 │ │ -018054: 6300 0f01 |0014: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ -018058: 3800 0b00 |0016: if-eqz v0, 0021 // +000b │ │ -01805c: 7100 0107 0000 |0018: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -018062: 0c00 |001b: move-result-object v0 │ │ -018064: 1a01 a801 |001c: const-string v1, "Fallback DNS detection via SystemProperties" // string@01a8 │ │ -018068: 7220 0d07 1000 |001e: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -01806e: 7100 7c02 0000 |0021: invoke-static {}, Ldnsfilter/android/DNSFilterService;.getDNSviaSysProps:()[Ljava/lang/String; // method@027c │ │ -018074: 0c00 |0024: move-result-object v0 │ │ -018076: 280e |0025: goto 0033 // +000e │ │ -018078: 6301 0f01 |0026: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ -01807c: 3801 0b00 |0028: if-eqz v1, 0033 // +000b │ │ -018080: 7100 0107 0000 |002a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -018086: 0c01 |002d: move-result-object v1 │ │ -018088: 1a02 3c01 |002e: const-string v2, "DNS detection via ConnectivityManager" // string@013c │ │ -01808c: 7220 0d07 2100 |0030: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -018092: 1100 |0033: return-object v0 │ │ +018018: |[018018] dnsfilter.android.DNSFilterService.getDNSServers:()[Ljava/lang/String; │ │ +018028: 6300 0f01 |0000: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ +01802c: 3800 0b00 |0002: if-eqz v0, 000d // +000b │ │ +018030: 7100 0107 0000 |0004: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +018036: 0c00 |0007: move-result-object v0 │ │ +018038: 1a01 7101 |0008: const-string v1, "Detecting DNS servers..." // string@0171 │ │ +01803c: 7220 0d07 1000 |000a: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +018042: 7100 7b02 0000 |000d: invoke-static {}, Ldnsfilter/android/DNSFilterService;.getDNSviaConnectivityManager:()[Ljava/lang/String; // method@027b │ │ +018048: 0c00 |0010: move-result-object v0 │ │ +01804a: 2101 |0011: array-length v1, v0 │ │ +01804c: 3901 1400 |0012: if-nez v1, 0026 // +0014 │ │ +018050: 6300 0f01 |0014: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ +018054: 3800 0b00 |0016: if-eqz v0, 0021 // +000b │ │ +018058: 7100 0107 0000 |0018: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01805e: 0c00 |001b: move-result-object v0 │ │ +018060: 1a01 a801 |001c: const-string v1, "Fallback DNS detection via SystemProperties" // string@01a8 │ │ +018064: 7220 0d07 1000 |001e: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +01806a: 7100 7c02 0000 |0021: invoke-static {}, Ldnsfilter/android/DNSFilterService;.getDNSviaSysProps:()[Ljava/lang/String; // method@027c │ │ +018070: 0c00 |0024: move-result-object v0 │ │ +018072: 280e |0025: goto 0033 // +000e │ │ +018074: 6301 0f01 |0026: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ +018078: 3801 0b00 |0028: if-eqz v1, 0033 // +000b │ │ +01807c: 7100 0107 0000 |002a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +018082: 0c01 |002d: move-result-object v1 │ │ +018084: 1a02 3c01 |002e: const-string v2, "DNS detection via ConnectivityManager" // string@013c │ │ +018088: 7220 0d07 2100 |0030: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +01808e: 1100 |0033: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=465 │ │ 0x0004 line=466 │ │ 0x000d line=468 │ │ 0x0011 line=470 │ │ 0x0014 line=471 │ │ @@ -12559,108 +12559,108 @@ │ │ type : '()[Ljava/lang/String;' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 7 │ │ ins : 0 │ │ outs : 2 │ │ insns size : 193 16-bit code units │ │ -018094: |[018094] dnsfilter.android.DNSFilterService.getDNSviaConnectivityManager:()[Ljava/lang/String; │ │ -0180a4: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -0180a8: 1301 1500 |0002: const/16 v1, #int 21 // #15 │ │ -0180ac: 1202 |0004: const/4 v2, #int 0 // #0 │ │ -0180ae: 3510 0500 |0005: if-ge v0, v1, 000a // +0005 │ │ -0180b2: 2320 a901 |0007: new-array v0, v2, [Ljava/lang/String; // type@01a9 │ │ -0180b6: 1100 |0009: return-object v0 │ │ -0180b8: 6200 c000 |000a: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00c0 │ │ -0180bc: 3900 0500 |000c: if-nez v0, 0011 // +0005 │ │ -0180c0: 2320 a901 |000e: new-array v0, v2, [Ljava/lang/String; // type@01a9 │ │ -0180c4: 1100 |0010: return-object v0 │ │ -0180c6: 2201 5501 |0011: new-instance v1, Ljava/util/HashSet; // type@0155 │ │ -0180ca: 7010 0e06 0100 |0013: invoke-direct {v1}, Ljava/util/HashSet;.:()V // method@060e │ │ -0180d0: 1a03 0f06 |0016: const-string v3, "connectivity" // string@060f │ │ -0180d4: 6e20 7e02 3000 |0018: invoke-virtual {v0, v3}, Ldnsfilter/android/DNSFilterService;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@027e │ │ -0180da: 0c00 |001b: move-result-object v0 │ │ -0180dc: 1f00 2700 |001c: check-cast v0, Landroid/net/ConnectivityManager; // type@0027 │ │ -0180e0: 7110 7802 0000 |001e: invoke-static {v0}, Ldnsfilter/android/DNSFilterService;.getActiveNetwork:(Landroid/net/ConnectivityManager;)Landroid/net/Network; // method@0278 │ │ -0180e6: 0c03 |0021: move-result-object v3 │ │ -0180e8: 3803 9200 |0022: if-eqz v3, 00b4 // +0092 │ │ -0180ec: 7120 4802 3000 |0024: invoke-static {v0, v3}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/ConnectivityManager;Landroid/net/Network;)Landroid/net/LinkProperties; // method@0248 │ │ -0180f2: 0c00 |0027: move-result-object v0 │ │ -0180f4: 3800 7300 |0028: if-eqz v0, 009b // +0073 │ │ -0180f8: 7110 4e02 0000 |002a: invoke-static {v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/LinkProperties;)Ljava/util/List; // method@024e │ │ -0180fe: 0c00 |002d: move-result-object v0 │ │ -018100: 7100 ae06 0000 |002e: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ -018106: 0c03 |0031: move-result-object v3 │ │ -018108: 7210 ba06 0300 |0032: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06ba │ │ -01810e: 0a03 |0035: move-result v3 │ │ -018110: 3803 2000 |0036: if-eqz v3, 0056 // +0020 │ │ -018114: 7100 0107 0000 |0038: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01811a: 0c03 |003b: move-result-object v3 │ │ -01811c: 2204 2801 |003c: new-instance v4, Ljava/lang/StringBuilder; // type@0128 │ │ -018120: 1a05 a401 |003e: const-string v5, "FOUND " // string@01a4 │ │ -018124: 7020 8405 5400 |0040: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -01812a: 7210 2e06 0000 |0043: invoke-interface {v0}, Ljava/util/List;.size:()I // method@062e │ │ -018130: 0a05 |0046: move-result v5 │ │ -018132: 6e20 8605 5400 |0047: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -018138: 1a05 1300 |004a: const-string v5, " DNS servers!" // string@0013 │ │ -01813c: 6e20 8905 5400 |004c: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -018142: 6e10 8b05 0400 |004f: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -018148: 0c04 |0052: move-result-object v4 │ │ -01814a: 7220 0d07 4300 |0053: invoke-interface {v3, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -018150: 7210 2e06 0000 |0056: invoke-interface {v0}, Ljava/util/List;.size:()I // method@062e │ │ -018156: 0a03 |0059: move-result v3 │ │ -018158: 3532 5a00 |005a: if-ge v2, v3, 00b4 // +005a │ │ -01815c: 7220 2d06 2000 |005c: invoke-interface {v0, v2}, Ljava/util/List;.get:(I)Ljava/lang/Object; // method@062d │ │ -018162: 0c03 |005f: move-result-object v3 │ │ -018164: 1f03 3201 |0060: check-cast v3, Ljava/net/InetAddress; // type@0132 │ │ -018168: 6e10 b005 0300 |0062: invoke-virtual {v3}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05b0 │ │ -01816e: 0c03 |0065: move-result-object v3 │ │ -018170: 7100 ae06 0000 |0066: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ -018176: 0c04 |0069: move-result-object v4 │ │ -018178: 7210 ba06 0400 |006a: invoke-interface {v4}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06ba │ │ -01817e: 0a04 |006d: move-result v4 │ │ -018180: 3804 1700 |006e: if-eqz v4, 0085 // +0017 │ │ -018184: 7100 0107 0000 |0070: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01818a: 0c04 |0073: move-result-object v4 │ │ -01818c: 2205 2801 |0074: new-instance v5, Ljava/lang/StringBuilder; // type@0128 │ │ -018190: 1a06 a501 |0076: const-string v6, "FOUND DNS " // string@01a5 │ │ -018194: 7020 8405 6500 |0078: invoke-direct {v5, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -01819a: 6e20 8905 3500 |007b: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0181a0: 6e10 8b05 0500 |007e: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0181a6: 0c05 |0081: move-result-object v5 │ │ -0181a8: 7220 0d07 5400 |0082: invoke-interface {v4, v5}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -0181ae: 6204 c400 |0085: sget-object v4, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00c4 │ │ -0181b2: 6e20 6705 4300 |0087: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -0181b8: 0a04 |008a: move-result v4 │ │ -0181ba: 3904 0d00 |008b: if-nez v4, 0098 // +000d │ │ -0181be: 6204 c500 |008d: sget-object v4, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c5 │ │ -0181c2: 6e20 6705 4300 |008f: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -0181c8: 0a04 |0092: move-result v4 │ │ -0181ca: 3904 0500 |0093: if-nez v4, 0098 // +0005 │ │ -0181ce: 6e20 0f06 3100 |0095: invoke-virtual {v1, v3}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@060f │ │ -0181d4: d802 0201 |0098: add-int/lit8 v2, v2, #int 1 // #01 │ │ -0181d8: 28bc |009a: goto 0056 // -0044 │ │ -0181da: 7100 0107 0000 |009b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -0181e0: 0c00 |009e: move-result-object v0 │ │ -0181e2: 2202 2801 |009f: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -0181e6: 1a04 d904 |00a1: const-string v4, "WARNING: Cannot get link properties for " // string@04d9 │ │ -0181ea: 7020 8405 4200 |00a3: invoke-direct {v2, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -0181f0: 7110 4d02 0300 |00a6: invoke-static {v3}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/Network;)Ljava/lang/String; // method@024d │ │ -0181f6: 0c03 |00a9: move-result-object v3 │ │ -0181f8: 6e20 8905 3200 |00aa: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0181fe: 6e10 8b05 0200 |00ad: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -018204: 0c02 |00b0: move-result-object v2 │ │ -018206: 7220 0d07 2000 |00b1: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -01820c: 6e10 1506 0100 |00b4: invoke-virtual {v1}, Ljava/util/HashSet;.size:()I // method@0615 │ │ -018212: 0a00 |00b7: move-result v0 │ │ -018214: 2300 a901 |00b8: new-array v0, v0, [Ljava/lang/String; // type@01a9 │ │ -018218: 6e20 1606 0100 |00ba: invoke-virtual {v1, v0}, Ljava/util/HashSet;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0616 │ │ -01821e: 0c00 |00bd: move-result-object v0 │ │ -018220: 1f00 a901 |00be: check-cast v0, [Ljava/lang/String; // type@01a9 │ │ -018224: 1100 |00c0: return-object v0 │ │ +018090: |[018090] dnsfilter.android.DNSFilterService.getDNSviaConnectivityManager:()[Ljava/lang/String; │ │ +0180a0: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +0180a4: 1301 1500 |0002: const/16 v1, #int 21 // #15 │ │ +0180a8: 1202 |0004: const/4 v2, #int 0 // #0 │ │ +0180aa: 3510 0500 |0005: if-ge v0, v1, 000a // +0005 │ │ +0180ae: 2320 a901 |0007: new-array v0, v2, [Ljava/lang/String; // type@01a9 │ │ +0180b2: 1100 |0009: return-object v0 │ │ +0180b4: 6200 c000 |000a: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00c0 │ │ +0180b8: 3900 0500 |000c: if-nez v0, 0011 // +0005 │ │ +0180bc: 2320 a901 |000e: new-array v0, v2, [Ljava/lang/String; // type@01a9 │ │ +0180c0: 1100 |0010: return-object v0 │ │ +0180c2: 2201 5501 |0011: new-instance v1, Ljava/util/HashSet; // type@0155 │ │ +0180c6: 7010 0e06 0100 |0013: invoke-direct {v1}, Ljava/util/HashSet;.:()V // method@060e │ │ +0180cc: 1a03 0f06 |0016: const-string v3, "connectivity" // string@060f │ │ +0180d0: 6e20 7e02 3000 |0018: invoke-virtual {v0, v3}, Ldnsfilter/android/DNSFilterService;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@027e │ │ +0180d6: 0c00 |001b: move-result-object v0 │ │ +0180d8: 1f00 2700 |001c: check-cast v0, Landroid/net/ConnectivityManager; // type@0027 │ │ +0180dc: 7110 7802 0000 |001e: invoke-static {v0}, Ldnsfilter/android/DNSFilterService;.getActiveNetwork:(Landroid/net/ConnectivityManager;)Landroid/net/Network; // method@0278 │ │ +0180e2: 0c03 |0021: move-result-object v3 │ │ +0180e4: 3803 9200 |0022: if-eqz v3, 00b4 // +0092 │ │ +0180e8: 7120 4802 3000 |0024: invoke-static {v0, v3}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/ConnectivityManager;Landroid/net/Network;)Landroid/net/LinkProperties; // method@0248 │ │ +0180ee: 0c00 |0027: move-result-object v0 │ │ +0180f0: 3800 7300 |0028: if-eqz v0, 009b // +0073 │ │ +0180f4: 7110 4e02 0000 |002a: invoke-static {v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/LinkProperties;)Ljava/util/List; // method@024e │ │ +0180fa: 0c00 |002d: move-result-object v0 │ │ +0180fc: 7100 ae06 0000 |002e: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ +018102: 0c03 |0031: move-result-object v3 │ │ +018104: 7210 ba06 0300 |0032: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06ba │ │ +01810a: 0a03 |0035: move-result v3 │ │ +01810c: 3803 2000 |0036: if-eqz v3, 0056 // +0020 │ │ +018110: 7100 0107 0000 |0038: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +018116: 0c03 |003b: move-result-object v3 │ │ +018118: 2204 2801 |003c: new-instance v4, Ljava/lang/StringBuilder; // type@0128 │ │ +01811c: 1a05 a401 |003e: const-string v5, "FOUND " // string@01a4 │ │ +018120: 7020 8405 5400 |0040: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +018126: 7210 2e06 0000 |0043: invoke-interface {v0}, Ljava/util/List;.size:()I // method@062e │ │ +01812c: 0a05 |0046: move-result v5 │ │ +01812e: 6e20 8605 5400 |0047: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +018134: 1a05 1300 |004a: const-string v5, " DNS servers!" // string@0013 │ │ +018138: 6e20 8905 5400 |004c: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01813e: 6e10 8b05 0400 |004f: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +018144: 0c04 |0052: move-result-object v4 │ │ +018146: 7220 0d07 4300 |0053: invoke-interface {v3, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +01814c: 7210 2e06 0000 |0056: invoke-interface {v0}, Ljava/util/List;.size:()I // method@062e │ │ +018152: 0a03 |0059: move-result v3 │ │ +018154: 3532 5a00 |005a: if-ge v2, v3, 00b4 // +005a │ │ +018158: 7220 2d06 2000 |005c: invoke-interface {v0, v2}, Ljava/util/List;.get:(I)Ljava/lang/Object; // method@062d │ │ +01815e: 0c03 |005f: move-result-object v3 │ │ +018160: 1f03 3201 |0060: check-cast v3, Ljava/net/InetAddress; // type@0132 │ │ +018164: 6e10 b005 0300 |0062: invoke-virtual {v3}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05b0 │ │ +01816a: 0c03 |0065: move-result-object v3 │ │ +01816c: 7100 ae06 0000 |0066: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ +018172: 0c04 |0069: move-result-object v4 │ │ +018174: 7210 ba06 0400 |006a: invoke-interface {v4}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06ba │ │ +01817a: 0a04 |006d: move-result v4 │ │ +01817c: 3804 1700 |006e: if-eqz v4, 0085 // +0017 │ │ +018180: 7100 0107 0000 |0070: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +018186: 0c04 |0073: move-result-object v4 │ │ +018188: 2205 2801 |0074: new-instance v5, Ljava/lang/StringBuilder; // type@0128 │ │ +01818c: 1a06 a501 |0076: const-string v6, "FOUND DNS " // string@01a5 │ │ +018190: 7020 8405 6500 |0078: invoke-direct {v5, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +018196: 6e20 8905 3500 |007b: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01819c: 6e10 8b05 0500 |007e: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0181a2: 0c05 |0081: move-result-object v5 │ │ +0181a4: 7220 0d07 5400 |0082: invoke-interface {v4, v5}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +0181aa: 6204 c400 |0085: sget-object v4, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00c4 │ │ +0181ae: 6e20 6705 4300 |0087: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +0181b4: 0a04 |008a: move-result v4 │ │ +0181b6: 3904 0d00 |008b: if-nez v4, 0098 // +000d │ │ +0181ba: 6204 c500 |008d: sget-object v4, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c5 │ │ +0181be: 6e20 6705 4300 |008f: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +0181c4: 0a04 |0092: move-result v4 │ │ +0181c6: 3904 0500 |0093: if-nez v4, 0098 // +0005 │ │ +0181ca: 6e20 0f06 3100 |0095: invoke-virtual {v1, v3}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@060f │ │ +0181d0: d802 0201 |0098: add-int/lit8 v2, v2, #int 1 // #01 │ │ +0181d4: 28bc |009a: goto 0056 // -0044 │ │ +0181d6: 7100 0107 0000 |009b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +0181dc: 0c00 |009e: move-result-object v0 │ │ +0181de: 2202 2801 |009f: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +0181e2: 1a04 d904 |00a1: const-string v4, "WARNING: Cannot get link properties for " // string@04d9 │ │ +0181e6: 7020 8405 4200 |00a3: invoke-direct {v2, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +0181ec: 7110 4d02 0300 |00a6: invoke-static {v3}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/Network;)Ljava/lang/String; // method@024d │ │ +0181f2: 0c03 |00a9: move-result-object v3 │ │ +0181f4: 6e20 8905 3200 |00aa: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0181fa: 6e10 8b05 0200 |00ad: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +018200: 0c02 |00b0: move-result-object v2 │ │ +018202: 7220 0d07 2000 |00b1: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +018208: 6e10 1506 0100 |00b4: invoke-virtual {v1}, Ljava/util/HashSet;.size:()I // method@0615 │ │ +01820e: 0a00 |00b7: move-result v0 │ │ +018210: 2300 a901 |00b8: new-array v0, v0, [Ljava/lang/String; // type@01a9 │ │ +018214: 6e20 1606 0100 |00ba: invoke-virtual {v1, v0}, Ljava/util/HashSet;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0616 │ │ +01821a: 0c00 |00bd: move-result-object v0 │ │ +01821c: 1f00 a901 |00be: check-cast v0, [Ljava/lang/String; // type@01a9 │ │ +018220: 1100 |00c0: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=406 │ │ 0x0007 line=407 │ │ 0x000a line=409 │ │ 0x000e line=411 │ │ 0x0011 line=413 │ │ @@ -12685,78 +12685,78 @@ │ │ type : '()[Ljava/lang/String;' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 9 │ │ ins : 0 │ │ outs : 3 │ │ insns size : 118 16-bit code units │ │ -018228: |[018228] dnsfilter.android.DNSFilterService.getDNSviaSysProps:()[Ljava/lang/String; │ │ -018238: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -01823a: 2201 5501 |0001: new-instance v1, Ljava/util/HashSet; // type@0155 │ │ -01823e: 7010 0e06 0100 |0003: invoke-direct {v1}, Ljava/util/HashSet;.:()V // method@060e │ │ -018244: 1a02 5d05 |0006: const-string v2, "android.os.SystemProperties" // string@055d │ │ -018248: 7110 2e05 0200 |0008: invoke-static {v2}, Ljava/lang/Class;.forName:(Ljava/lang/String;)Ljava/lang/Class; // method@052e │ │ -01824e: 0c02 |000b: move-result-object v2 │ │ -018250: 1a03 1607 |000c: const-string v3, "get" // string@0716 │ │ -018254: 1214 |000e: const/4 v4, #int 1 // #1 │ │ -018256: 2345 a701 |000f: new-array v5, v4, [Ljava/lang/Class; // type@01a7 │ │ -01825a: 1c06 2601 |0011: const-class v6, Ljava/lang/String; // type@0126 │ │ -01825e: 4d06 0500 |0013: aput-object v6, v5, v0 │ │ -018262: 6e30 2f05 3205 |0015: invoke-virtual {v2, v3, v5}, Ljava/lang/Class;.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; // method@052f │ │ -018268: 0c02 |0018: move-result-object v2 │ │ -01826a: 1243 |0019: const/4 v3, #int 4 // #4 │ │ -01826c: 2335 a901 |001a: new-array v5, v3, [Ljava/lang/String; // type@01a9 │ │ -018270: 1a06 ef08 |001c: const-string v6, "net.dns1" // string@08ef │ │ -018274: 4d06 0500 |001e: aput-object v6, v5, v0 │ │ -018278: 1a06 f008 |0020: const-string v6, "net.dns2" // string@08f0 │ │ -01827c: 4d06 0504 |0022: aput-object v6, v5, v4 │ │ -018280: 1a06 f108 |0024: const-string v6, "net.dns3" // string@08f1 │ │ -018284: 1227 |0026: const/4 v7, #int 2 // #2 │ │ -018286: 4d06 0507 |0027: aput-object v6, v5, v7 │ │ -01828a: 1a06 f208 |0029: const-string v6, "net.dns4" // string@08f2 │ │ -01828e: 1237 |002b: const/4 v7, #int 3 // #3 │ │ -018290: 4d06 0507 |002c: aput-object v6, v5, v7 │ │ -018294: 1206 |002e: const/4 v6, #int 0 // #0 │ │ -018296: 3536 2f00 |002f: if-ge v6, v3, 005e // +002f │ │ -01829a: 4607 0506 |0031: aget-object v7, v5, v6 │ │ -01829e: 2348 a801 |0033: new-array v8, v4, [Ljava/lang/Object; // type@01a8 │ │ -0182a2: 4d07 0800 |0035: aput-object v7, v8, v0 │ │ -0182a6: 1207 |0037: const/4 v7, #int 0 // #0 │ │ -0182a8: 6e30 9905 7208 |0038: invoke-virtual {v2, v7, v8}, Ljava/lang/reflect/Method;.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; // method@0599 │ │ -0182ae: 0c07 |003b: move-result-object v7 │ │ -0182b0: 1f07 2601 |003c: check-cast v7, Ljava/lang/String; // type@0126 │ │ -0182b4: 3807 1d00 |003e: if-eqz v7, 005b // +001d │ │ -0182b8: 1a08 0000 |0040: const-string v8, "" // string@0000 │ │ -0182bc: 6e20 6705 8700 |0042: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -0182c2: 0a08 |0045: move-result v8 │ │ -0182c4: 3908 1500 |0046: if-nez v8, 005b // +0015 │ │ -0182c8: 6208 c400 |0048: sget-object v8, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00c4 │ │ -0182cc: 6e20 6705 8700 |004a: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -0182d2: 0a08 |004d: move-result v8 │ │ -0182d4: 3908 0d00 |004e: if-nez v8, 005b // +000d │ │ -0182d8: 6208 c500 |0050: sget-object v8, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c5 │ │ -0182dc: 6e20 6705 8700 |0052: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -0182e2: 0a08 |0055: move-result v8 │ │ -0182e4: 3908 0500 |0056: if-nez v8, 005b // +0005 │ │ -0182e8: 6e20 0f06 7100 |0058: invoke-virtual {v1, v7}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@060f │ │ -0182ee: d806 0601 |005b: add-int/lit8 v6, v6, #int 1 // #01 │ │ -0182f2: 28d2 |005d: goto 002f // -002e │ │ -0182f4: 6e10 1506 0100 |005e: invoke-virtual {v1}, Ljava/util/HashSet;.size:()I // method@0615 │ │ -0182fa: 0a02 |0061: move-result v2 │ │ -0182fc: 2322 a901 |0062: new-array v2, v2, [Ljava/lang/String; // type@01a9 │ │ -018300: 6e20 1606 2100 |0064: invoke-virtual {v1, v2}, Ljava/util/HashSet;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0616 │ │ -018306: 0c01 |0067: move-result-object v1 │ │ -018308: 1f01 a901 |0068: check-cast v1, [Ljava/lang/String; // type@01a9 │ │ -01830c: 1101 |006a: return-object v1 │ │ -01830e: 0d01 |006b: move-exception v1 │ │ -018310: 7100 0107 0000 |006c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -018316: 0c02 |006f: move-result-object v2 │ │ -018318: 7220 0c07 1200 |0070: invoke-interface {v2, v1}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -01831e: 2300 a901 |0073: new-array v0, v0, [Ljava/lang/String; // type@01a9 │ │ -018322: 1100 |0075: return-object v0 │ │ +018224: |[018224] dnsfilter.android.DNSFilterService.getDNSviaSysProps:()[Ljava/lang/String; │ │ +018234: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +018236: 2201 5501 |0001: new-instance v1, Ljava/util/HashSet; // type@0155 │ │ +01823a: 7010 0e06 0100 |0003: invoke-direct {v1}, Ljava/util/HashSet;.:()V // method@060e │ │ +018240: 1a02 5d05 |0006: const-string v2, "android.os.SystemProperties" // string@055d │ │ +018244: 7110 2e05 0200 |0008: invoke-static {v2}, Ljava/lang/Class;.forName:(Ljava/lang/String;)Ljava/lang/Class; // method@052e │ │ +01824a: 0c02 |000b: move-result-object v2 │ │ +01824c: 1a03 1607 |000c: const-string v3, "get" // string@0716 │ │ +018250: 1214 |000e: const/4 v4, #int 1 // #1 │ │ +018252: 2345 a701 |000f: new-array v5, v4, [Ljava/lang/Class; // type@01a7 │ │ +018256: 1c06 2601 |0011: const-class v6, Ljava/lang/String; // type@0126 │ │ +01825a: 4d06 0500 |0013: aput-object v6, v5, v0 │ │ +01825e: 6e30 2f05 3205 |0015: invoke-virtual {v2, v3, v5}, Ljava/lang/Class;.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; // method@052f │ │ +018264: 0c02 |0018: move-result-object v2 │ │ +018266: 1243 |0019: const/4 v3, #int 4 // #4 │ │ +018268: 2335 a901 |001a: new-array v5, v3, [Ljava/lang/String; // type@01a9 │ │ +01826c: 1a06 ef08 |001c: const-string v6, "net.dns1" // string@08ef │ │ +018270: 4d06 0500 |001e: aput-object v6, v5, v0 │ │ +018274: 1a06 f008 |0020: const-string v6, "net.dns2" // string@08f0 │ │ +018278: 4d06 0504 |0022: aput-object v6, v5, v4 │ │ +01827c: 1a06 f108 |0024: const-string v6, "net.dns3" // string@08f1 │ │ +018280: 1227 |0026: const/4 v7, #int 2 // #2 │ │ +018282: 4d06 0507 |0027: aput-object v6, v5, v7 │ │ +018286: 1a06 f208 |0029: const-string v6, "net.dns4" // string@08f2 │ │ +01828a: 1237 |002b: const/4 v7, #int 3 // #3 │ │ +01828c: 4d06 0507 |002c: aput-object v6, v5, v7 │ │ +018290: 1206 |002e: const/4 v6, #int 0 // #0 │ │ +018292: 3536 2f00 |002f: if-ge v6, v3, 005e // +002f │ │ +018296: 4607 0506 |0031: aget-object v7, v5, v6 │ │ +01829a: 2348 a801 |0033: new-array v8, v4, [Ljava/lang/Object; // type@01a8 │ │ +01829e: 4d07 0800 |0035: aput-object v7, v8, v0 │ │ +0182a2: 1207 |0037: const/4 v7, #int 0 // #0 │ │ +0182a4: 6e30 9905 7208 |0038: invoke-virtual {v2, v7, v8}, Ljava/lang/reflect/Method;.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; // method@0599 │ │ +0182aa: 0c07 |003b: move-result-object v7 │ │ +0182ac: 1f07 2601 |003c: check-cast v7, Ljava/lang/String; // type@0126 │ │ +0182b0: 3807 1d00 |003e: if-eqz v7, 005b // +001d │ │ +0182b4: 1a08 0000 |0040: const-string v8, "" // string@0000 │ │ +0182b8: 6e20 6705 8700 |0042: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +0182be: 0a08 |0045: move-result v8 │ │ +0182c0: 3908 1500 |0046: if-nez v8, 005b // +0015 │ │ +0182c4: 6208 c400 |0048: sget-object v8, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00c4 │ │ +0182c8: 6e20 6705 8700 |004a: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +0182ce: 0a08 |004d: move-result v8 │ │ +0182d0: 3908 0d00 |004e: if-nez v8, 005b // +000d │ │ +0182d4: 6208 c500 |0050: sget-object v8, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c5 │ │ +0182d8: 6e20 6705 8700 |0052: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +0182de: 0a08 |0055: move-result v8 │ │ +0182e0: 3908 0500 |0056: if-nez v8, 005b // +0005 │ │ +0182e4: 6e20 0f06 7100 |0058: invoke-virtual {v1, v7}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@060f │ │ +0182ea: d806 0601 |005b: add-int/lit8 v6, v6, #int 1 // #01 │ │ +0182ee: 28d2 |005d: goto 002f // -002e │ │ +0182f0: 6e10 1506 0100 |005e: invoke-virtual {v1}, Ljava/util/HashSet;.size:()I // method@0615 │ │ +0182f6: 0a02 |0061: move-result v2 │ │ +0182f8: 2322 a901 |0062: new-array v2, v2, [Ljava/lang/String; // type@01a9 │ │ +0182fc: 6e20 1606 2100 |0064: invoke-virtual {v1, v2}, Ljava/util/HashSet;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0616 │ │ +018302: 0c01 |0067: move-result-object v1 │ │ +018304: 1f01 a901 |0068: check-cast v1, [Ljava/lang/String; // type@01a9 │ │ +018308: 1101 |006a: return-object v1 │ │ +01830a: 0d01 |006b: move-exception v1 │ │ +01830c: 7100 0107 0000 |006c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +018312: 0c02 |006f: move-result-object v2 │ │ +018314: 7220 0c07 1200 |0070: invoke-interface {v2, v1}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +01831a: 2300 a901 |0073: new-array v0, v0, [Ljava/lang/String; // type@01a9 │ │ +01831e: 1100 |0075: return-object v0 │ │ catches : 1 │ │ 0x0001 - 0x006a │ │ Ljava/lang/Exception; -> 0x006b │ │ positions : │ │ 0x0001 line=443 │ │ 0x0006 line=444 │ │ 0x000c line=445 │ │ @@ -12774,149 +12774,149 @@ │ │ type : '([Ljava/lang/String;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 13 │ │ ins : 1 │ │ outs : 6 │ │ insns size : 264 16-bit code units │ │ -018494: |[018494] dnsfilter.android.DNSFilterService.handleDNSServerChange:([Ljava/lang/String;)V │ │ -0184a4: 6200 bd00 |0000: sget-object v0, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ -0184a8: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ -0184ac: 0e00 |0004: return-void │ │ -0184ae: 6e10 8101 0000 |0005: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ -0184b4: 0c01 |0008: move-result-object v1 │ │ -0184b6: 1a02 5606 |0009: const-string v2, "detectDNS" // string@0656 │ │ -0184ba: 1a03 2f0b |000b: const-string v3, "true" // string@0b2f │ │ -0184be: 6e30 3606 2103 |000d: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -0184c4: 0c01 |0010: move-result-object v1 │ │ -0184c6: 7110 2705 0100 |0011: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -0184cc: 0a01 |0014: move-result v1 │ │ -0184ce: 6e10 8101 0000 |0015: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ -0184d4: 0c02 |0018: move-result-object v2 │ │ -0184d6: 1a03 6a06 |0019: const-string v3, "dnsRequestTimeout" // string@066a │ │ -0184da: 1a04 7800 |001b: const-string v4, "15000" // string@0078 │ │ -0184de: 6e30 3606 3204 |001d: invoke-virtual {v2, v3, v4}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -0184e4: 0c02 |0020: move-result-object v2 │ │ -0184e6: 7110 4105 0200 |0021: invoke-static {v2}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ -0184ec: 0a02 |0024: move-result v2 │ │ -0184ee: 280b |0025: goto 0030 // +000b │ │ -0184f0: 0d02 |0026: move-exception v2 │ │ -0184f2: 7100 0107 0000 |0027: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -0184f8: 0c03 |002a: move-result-object v3 │ │ -0184fa: 7220 0c07 2300 |002b: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -018500: 1302 983a |002e: const/16 v2, #int 15000 // #3a98 │ │ -018504: 2209 6601 |0030: new-instance v9, Ljava/util/Vector; // type@0166 │ │ -018508: 7010 5606 0900 |0032: invoke-direct {v9}, Ljava/util/Vector;.:()V // method@0656 │ │ -01850e: 1a0a 0000 |0035: const-string v10, "" // string@0000 │ │ -018512: 3801 6200 |0037: if-eqz v1, 0099 // +0062 │ │ -018516: 6303 d200 |0039: sget-boolean v3, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00d2 │ │ -01851a: 3903 5e00 |003b: if-nez v3, 0099 // +005e │ │ -01851e: 1203 |003d: const/4 v3, #int 0 // #0 │ │ -018520: 120b |003e: const/4 v11, #int 0 // #0 │ │ -018522: 21c3 |003f: array-length v3, v12 │ │ -018524: 353b 5900 |0040: if-ge v11, v3, 0099 // +0059 │ │ -018528: 4603 0c0b |0042: aget-object v3, v12, v11 │ │ -01852c: 3803 4a00 |0044: if-eqz v3, 008e // +004a │ │ -018530: 6e20 6705 a300 |0046: invoke-virtual {v3, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -018536: 0a04 |0049: move-result v4 │ │ -018538: 3904 4400 |004a: if-nez v4, 008e // +0044 │ │ -01853c: 6304 0f01 |004c: sget-boolean v4, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ -018540: 3804 1a00 |004e: if-eqz v4, 0068 // +001a │ │ -018544: 7100 0107 0000 |0050: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01854a: 0c04 |0053: move-result-object v4 │ │ -01854c: 2205 2801 |0054: new-instance v5, Ljava/lang/StringBuilder; // type@0128 │ │ -018550: 7010 8305 0500 |0056: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -018556: 1a06 4601 |0059: const-string v6, "DNS:" // string@0146 │ │ -01855a: 6e20 8905 6500 |005b: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -018560: 6e20 8905 3500 |005e: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -018566: 6e10 8b05 0500 |0061: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01856c: 0c05 |0064: move-result-object v5 │ │ -01856e: 7220 0d07 5400 |0065: invoke-interface {v4, v5}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -018574: 6204 c400 |0068: sget-object v4, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00c4 │ │ -018578: 6e20 6705 4300 |006a: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -01857e: 0a04 |006d: move-result v4 │ │ -018580: 3904 2000 |006e: if-nez v4, 008e // +0020 │ │ -018584: 6204 c500 |0070: sget-object v4, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c5 │ │ -018588: 6e20 6705 4300 |0072: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -01858e: 0a04 |0075: move-result v4 │ │ -018590: 3904 1800 |0076: if-nez v4, 008e // +0018 │ │ -018594: 7100 df01 0000 |0078: invoke-static {}, Ldnsfilter/DNSServer;.getInstance:()Ldnsfilter/DNSServer; // method@01df │ │ -01859a: 0c04 |007b: move-result-object v4 │ │ -01859c: 7110 af05 0300 |007c: invoke-static {v3}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05af │ │ -0185a2: 0c05 |007f: move-result-object v5 │ │ -0185a4: 1306 3500 |0080: const/16 v6, #int 53 // #35 │ │ -0185a8: 1208 |0082: const/4 v8, #int 0 // #0 │ │ -0185aa: 1207 |0083: const/4 v7, #int 0 // #0 │ │ -0185ac: 0743 |0084: move-object v3, v4 │ │ -0185ae: 0174 |0085: move v4, v7 │ │ -0185b0: 0127 |0086: move v7, v2 │ │ -0185b2: 7406 d701 0300 |0087: invoke-virtual/range {v3, v4, v5, v6, v7, v8}, Ldnsfilter/DNSServer;.createDNSServer:(ILjava/net/InetAddress;IILjava/lang/String;)Ldnsfilter/DNSServer; // method@01d7 │ │ -0185b8: 0c03 |008a: move-result-object v3 │ │ -0185ba: 6e20 5806 3900 |008b: invoke-virtual {v9, v3}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0658 │ │ -0185c0: d80b 0b01 |008e: add-int/lit8 v11, v11, #int 1 // #01 │ │ -0185c4: 28af |0090: goto 003f // -0051 │ │ -0185c6: 0d0c |0091: move-exception v12 │ │ -0185c8: 7100 0107 0000 |0092: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -0185ce: 0c03 |0095: move-result-object v3 │ │ -0185d0: 7220 0c07 c300 |0096: invoke-interface {v3, v12}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -0185d6: 6e10 5e06 0900 |0099: invoke-virtual {v9}, Ljava/util/Vector;.isEmpty:()Z // method@065e │ │ -0185dc: 0a0c |009c: move-result v12 │ │ -0185de: 380c 2d00 |009d: if-eqz v12, 00ca // +002d │ │ -0185e2: 3801 0f00 |009f: if-eqz v1, 00ae // +000f │ │ -0185e6: 630c d200 |00a1: sget-boolean v12, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00d2 │ │ -0185ea: 380c 0b00 |00a3: if-eqz v12, 00ae // +000b │ │ -0185ee: 7100 0107 0000 |00a5: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -0185f4: 0c0c |00a8: move-result-object v12 │ │ -0185f6: 1a01 3901 |00a9: const-string v1, "DNS detection not possible in root mode!" // string@0139 │ │ -0185fa: 7220 0e07 1c00 |00ab: invoke-interface {v12, v1}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ -018600: 6e10 8101 0000 |00ae: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ -018606: 0c0c |00b1: move-result-object v12 │ │ -018608: 1a00 d406 |00b2: const-string v0, "fallbackDNS" // string@06d4 │ │ -01860c: 6e30 3606 0c0a |00b4: invoke-virtual {v12, v0, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -018612: 0c0c |00b7: move-result-object v12 │ │ -018614: 7100 df01 0000 |00b8: invoke-static {}, Ldnsfilter/DNSServer;.getInstance:()Ldnsfilter/DNSServer; // method@01df │ │ -01861a: 0c00 |00bb: move-result-object v0 │ │ -01861c: 6301 d200 |00bc: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00d2 │ │ -018620: 6e40 d901 c012 |00be: invoke-virtual {v0, v12, v2, v1}, Ldnsfilter/DNSServer;.createDNSServers:(Ljava/lang/String;IZ)[Ldnsfilter/DNSServer; // method@01d9 │ │ -018626: 0c0c |00c1: move-result-object v12 │ │ -018628: 7100 5b01 0000 |00c2: invoke-static {}, Ldnsfilter/DNSCommunicator;.getInstance:()Ldnsfilter/DNSCommunicator; // method@015b │ │ -01862e: 0c00 |00c5: move-result-object v0 │ │ -018630: 6e20 5e01 c000 |00c6: invoke-virtual {v0, v12}, Ldnsfilter/DNSCommunicator;.setDNSServers:([Ldnsfilter/DNSServer;)V // method@015e │ │ -018636: 283e |00c9: goto 0107 // +003e │ │ -018638: 7100 5b01 0000 |00ca: invoke-static {}, Ldnsfilter/DNSCommunicator;.getInstance:()Ldnsfilter/DNSCommunicator; // method@015b │ │ -01863e: 0c0c |00cd: move-result-object v12 │ │ -018640: 6e10 6306 0900 |00ce: invoke-virtual {v9}, Ljava/util/Vector;.size:()I // method@0663 │ │ -018646: 0a00 |00d1: move-result v0 │ │ -018648: 2300 a001 |00d2: new-array v0, v0, [Ldnsfilter/DNSServer; // type@01a0 │ │ -01864c: 6e20 6406 0900 |00d4: invoke-virtual {v9, v0}, Ljava/util/Vector;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0664 │ │ -018652: 0c00 |00d7: move-result-object v0 │ │ -018654: 1f00 a001 |00d8: check-cast v0, [Ldnsfilter/DNSServer; // type@01a0 │ │ -018658: 6e20 5e01 0c00 |00da: invoke-virtual {v12, v0}, Ldnsfilter/DNSCommunicator;.setDNSServers:([Ldnsfilter/DNSServer;)V // method@015e │ │ -01865e: 282a |00dd: goto 0107 // +002a │ │ -018660: 0d0c |00de: move-exception v12 │ │ -018662: 7100 0107 0000 |00df: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -018668: 0c00 |00e2: move-result-object v0 │ │ -01866a: 7220 0c07 c000 |00e3: invoke-interface {v0, v12}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -018670: 2821 |00e6: goto 0107 // +0021 │ │ -018672: 0d0c |00e7: move-exception v12 │ │ -018674: 7100 0107 0000 |00e8: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01867a: 0c00 |00eb: move-result-object v0 │ │ -01867c: 1a01 2e00 |00ec: const-string v1, "!!!DNS server initialization failed!!!" // string@002e │ │ -018680: 7220 0d07 1000 |00ee: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -018686: 7100 0107 0000 |00f1: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01868c: 0c00 |00f4: move-result-object v0 │ │ -01868e: 6e10 0005 0c00 |00f5: invoke-virtual {v12}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ -018694: 0c01 |00f8: move-result-object v1 │ │ -018696: 7220 0d07 1000 |00f9: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -01869c: 7100 0107 0000 |00fc: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -0186a2: 0c00 |00ff: move-result-object v0 │ │ -0186a4: 6e10 fe04 0c00 |0100: invoke-virtual {v12}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ -0186aa: 0c0c |0103: move-result-object v12 │ │ -0186ac: 7220 0e07 c000 |0104: invoke-interface {v0, v12}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ -0186b2: 0e00 |0107: return-void │ │ +018490: |[018490] dnsfilter.android.DNSFilterService.handleDNSServerChange:([Ljava/lang/String;)V │ │ +0184a0: 6200 bd00 |0000: sget-object v0, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ +0184a4: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ +0184a8: 0e00 |0004: return-void │ │ +0184aa: 6e10 8101 0000 |0005: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ +0184b0: 0c01 |0008: move-result-object v1 │ │ +0184b2: 1a02 5606 |0009: const-string v2, "detectDNS" // string@0656 │ │ +0184b6: 1a03 2f0b |000b: const-string v3, "true" // string@0b2f │ │ +0184ba: 6e30 3606 2103 |000d: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +0184c0: 0c01 |0010: move-result-object v1 │ │ +0184c2: 7110 2705 0100 |0011: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +0184c8: 0a01 |0014: move-result v1 │ │ +0184ca: 6e10 8101 0000 |0015: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ +0184d0: 0c02 |0018: move-result-object v2 │ │ +0184d2: 1a03 6a06 |0019: const-string v3, "dnsRequestTimeout" // string@066a │ │ +0184d6: 1a04 7800 |001b: const-string v4, "15000" // string@0078 │ │ +0184da: 6e30 3606 3204 |001d: invoke-virtual {v2, v3, v4}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +0184e0: 0c02 |0020: move-result-object v2 │ │ +0184e2: 7110 4105 0200 |0021: invoke-static {v2}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ +0184e8: 0a02 |0024: move-result v2 │ │ +0184ea: 280b |0025: goto 0030 // +000b │ │ +0184ec: 0d02 |0026: move-exception v2 │ │ +0184ee: 7100 0107 0000 |0027: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +0184f4: 0c03 |002a: move-result-object v3 │ │ +0184f6: 7220 0c07 2300 |002b: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +0184fc: 1302 983a |002e: const/16 v2, #int 15000 // #3a98 │ │ +018500: 2209 6601 |0030: new-instance v9, Ljava/util/Vector; // type@0166 │ │ +018504: 7010 5606 0900 |0032: invoke-direct {v9}, Ljava/util/Vector;.:()V // method@0656 │ │ +01850a: 1a0a 0000 |0035: const-string v10, "" // string@0000 │ │ +01850e: 3801 6200 |0037: if-eqz v1, 0099 // +0062 │ │ +018512: 6303 d200 |0039: sget-boolean v3, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00d2 │ │ +018516: 3903 5e00 |003b: if-nez v3, 0099 // +005e │ │ +01851a: 1203 |003d: const/4 v3, #int 0 // #0 │ │ +01851c: 120b |003e: const/4 v11, #int 0 // #0 │ │ +01851e: 21c3 |003f: array-length v3, v12 │ │ +018520: 353b 5900 |0040: if-ge v11, v3, 0099 // +0059 │ │ +018524: 4603 0c0b |0042: aget-object v3, v12, v11 │ │ +018528: 3803 4a00 |0044: if-eqz v3, 008e // +004a │ │ +01852c: 6e20 6705 a300 |0046: invoke-virtual {v3, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +018532: 0a04 |0049: move-result v4 │ │ +018534: 3904 4400 |004a: if-nez v4, 008e // +0044 │ │ +018538: 6304 0f01 |004c: sget-boolean v4, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ +01853c: 3804 1a00 |004e: if-eqz v4, 0068 // +001a │ │ +018540: 7100 0107 0000 |0050: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +018546: 0c04 |0053: move-result-object v4 │ │ +018548: 2205 2801 |0054: new-instance v5, Ljava/lang/StringBuilder; // type@0128 │ │ +01854c: 7010 8305 0500 |0056: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +018552: 1a06 4601 |0059: const-string v6, "DNS:" // string@0146 │ │ +018556: 6e20 8905 6500 |005b: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01855c: 6e20 8905 3500 |005e: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +018562: 6e10 8b05 0500 |0061: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +018568: 0c05 |0064: move-result-object v5 │ │ +01856a: 7220 0d07 5400 |0065: invoke-interface {v4, v5}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +018570: 6204 c400 |0068: sget-object v4, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00c4 │ │ +018574: 6e20 6705 4300 |006a: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +01857a: 0a04 |006d: move-result v4 │ │ +01857c: 3904 2000 |006e: if-nez v4, 008e // +0020 │ │ +018580: 6204 c500 |0070: sget-object v4, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c5 │ │ +018584: 6e20 6705 4300 |0072: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +01858a: 0a04 |0075: move-result v4 │ │ +01858c: 3904 1800 |0076: if-nez v4, 008e // +0018 │ │ +018590: 7100 df01 0000 |0078: invoke-static {}, Ldnsfilter/DNSServer;.getInstance:()Ldnsfilter/DNSServer; // method@01df │ │ +018596: 0c04 |007b: move-result-object v4 │ │ +018598: 7110 af05 0300 |007c: invoke-static {v3}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05af │ │ +01859e: 0c05 |007f: move-result-object v5 │ │ +0185a0: 1306 3500 |0080: const/16 v6, #int 53 // #35 │ │ +0185a4: 1208 |0082: const/4 v8, #int 0 // #0 │ │ +0185a6: 1207 |0083: const/4 v7, #int 0 // #0 │ │ +0185a8: 0743 |0084: move-object v3, v4 │ │ +0185aa: 0174 |0085: move v4, v7 │ │ +0185ac: 0127 |0086: move v7, v2 │ │ +0185ae: 7406 d701 0300 |0087: invoke-virtual/range {v3, v4, v5, v6, v7, v8}, Ldnsfilter/DNSServer;.createDNSServer:(ILjava/net/InetAddress;IILjava/lang/String;)Ldnsfilter/DNSServer; // method@01d7 │ │ +0185b4: 0c03 |008a: move-result-object v3 │ │ +0185b6: 6e20 5806 3900 |008b: invoke-virtual {v9, v3}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0658 │ │ +0185bc: d80b 0b01 |008e: add-int/lit8 v11, v11, #int 1 // #01 │ │ +0185c0: 28af |0090: goto 003f // -0051 │ │ +0185c2: 0d0c |0091: move-exception v12 │ │ +0185c4: 7100 0107 0000 |0092: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +0185ca: 0c03 |0095: move-result-object v3 │ │ +0185cc: 7220 0c07 c300 |0096: invoke-interface {v3, v12}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +0185d2: 6e10 5e06 0900 |0099: invoke-virtual {v9}, Ljava/util/Vector;.isEmpty:()Z // method@065e │ │ +0185d8: 0a0c |009c: move-result v12 │ │ +0185da: 380c 2d00 |009d: if-eqz v12, 00ca // +002d │ │ +0185de: 3801 0f00 |009f: if-eqz v1, 00ae // +000f │ │ +0185e2: 630c d200 |00a1: sget-boolean v12, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00d2 │ │ +0185e6: 380c 0b00 |00a3: if-eqz v12, 00ae // +000b │ │ +0185ea: 7100 0107 0000 |00a5: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +0185f0: 0c0c |00a8: move-result-object v12 │ │ +0185f2: 1a01 3901 |00a9: const-string v1, "DNS detection not possible in root mode!" // string@0139 │ │ +0185f6: 7220 0e07 1c00 |00ab: invoke-interface {v12, v1}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ +0185fc: 6e10 8101 0000 |00ae: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ +018602: 0c0c |00b1: move-result-object v12 │ │ +018604: 1a00 d406 |00b2: const-string v0, "fallbackDNS" // string@06d4 │ │ +018608: 6e30 3606 0c0a |00b4: invoke-virtual {v12, v0, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +01860e: 0c0c |00b7: move-result-object v12 │ │ +018610: 7100 df01 0000 |00b8: invoke-static {}, Ldnsfilter/DNSServer;.getInstance:()Ldnsfilter/DNSServer; // method@01df │ │ +018616: 0c00 |00bb: move-result-object v0 │ │ +018618: 6301 d200 |00bc: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00d2 │ │ +01861c: 6e40 d901 c012 |00be: invoke-virtual {v0, v12, v2, v1}, Ldnsfilter/DNSServer;.createDNSServers:(Ljava/lang/String;IZ)[Ldnsfilter/DNSServer; // method@01d9 │ │ +018622: 0c0c |00c1: move-result-object v12 │ │ +018624: 7100 5b01 0000 |00c2: invoke-static {}, Ldnsfilter/DNSCommunicator;.getInstance:()Ldnsfilter/DNSCommunicator; // method@015b │ │ +01862a: 0c00 |00c5: move-result-object v0 │ │ +01862c: 6e20 5e01 c000 |00c6: invoke-virtual {v0, v12}, Ldnsfilter/DNSCommunicator;.setDNSServers:([Ldnsfilter/DNSServer;)V // method@015e │ │ +018632: 283e |00c9: goto 0107 // +003e │ │ +018634: 7100 5b01 0000 |00ca: invoke-static {}, Ldnsfilter/DNSCommunicator;.getInstance:()Ldnsfilter/DNSCommunicator; // method@015b │ │ +01863a: 0c0c |00cd: move-result-object v12 │ │ +01863c: 6e10 6306 0900 |00ce: invoke-virtual {v9}, Ljava/util/Vector;.size:()I // method@0663 │ │ +018642: 0a00 |00d1: move-result v0 │ │ +018644: 2300 a001 |00d2: new-array v0, v0, [Ldnsfilter/DNSServer; // type@01a0 │ │ +018648: 6e20 6406 0900 |00d4: invoke-virtual {v9, v0}, Ljava/util/Vector;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0664 │ │ +01864e: 0c00 |00d7: move-result-object v0 │ │ +018650: 1f00 a001 |00d8: check-cast v0, [Ldnsfilter/DNSServer; // type@01a0 │ │ +018654: 6e20 5e01 0c00 |00da: invoke-virtual {v12, v0}, Ldnsfilter/DNSCommunicator;.setDNSServers:([Ldnsfilter/DNSServer;)V // method@015e │ │ +01865a: 282a |00dd: goto 0107 // +002a │ │ +01865c: 0d0c |00de: move-exception v12 │ │ +01865e: 7100 0107 0000 |00df: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +018664: 0c00 |00e2: move-result-object v0 │ │ +018666: 7220 0c07 c000 |00e3: invoke-interface {v0, v12}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +01866c: 2821 |00e6: goto 0107 // +0021 │ │ +01866e: 0d0c |00e7: move-exception v12 │ │ +018670: 7100 0107 0000 |00e8: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +018676: 0c00 |00eb: move-result-object v0 │ │ +018678: 1a01 2e00 |00ec: const-string v1, "!!!DNS server initialization failed!!!" // string@002e │ │ +01867c: 7220 0d07 1000 |00ee: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +018682: 7100 0107 0000 |00f1: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +018688: 0c00 |00f4: move-result-object v0 │ │ +01868a: 6e10 0005 0c00 |00f5: invoke-virtual {v12}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ +018690: 0c01 |00f8: move-result-object v1 │ │ +018692: 7220 0d07 1000 |00f9: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +018698: 7100 0107 0000 |00fc: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01869e: 0c00 |00ff: move-result-object v0 │ │ +0186a0: 6e10 fe04 0c00 |0100: invoke-virtual {v12}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ +0186a6: 0c0c |0103: move-result-object v12 │ │ +0186a8: 7220 0e07 c000 |0104: invoke-interface {v0, v12}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ +0186ae: 0e00 |0107: return-void │ │ catches : 6 │ │ 0x0000 - 0x0015 │ │ Ljava/io/IOException; -> 0x00e7 │ │ Ljava/lang/Exception; -> 0x00de │ │ 0x0015 - 0x0025 │ │ Ljava/lang/Exception; -> 0x0026 │ │ Ljava/io/IOException; -> 0x00e7 │ │ @@ -12966,243 +12966,243 @@ │ │ type : '(Z)Landroid/os/ParcelFileDescriptor;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 16 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 471 16-bit code units │ │ -017508: |[017508] dnsfilter.android.DNSFilterService.initVPN:(Z)Landroid/os/ParcelFileDescriptor; │ │ -017518: 7100 3f01 0000 |0000: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -01751e: 0c00 |0003: move-result-object v0 │ │ -017520: 6e10 3901 0000 |0004: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@0139 │ │ -017526: 0c00 |0007: move-result-object v0 │ │ -017528: 1a01 d603 |0008: const-string v1, "MTU" // string@03d6 │ │ -01752c: 1a02 7c00 |000a: const-string v2, "3000" // string@007c │ │ -017530: 6e30 3606 1002 |000c: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -017536: 0c00 |000f: move-result-object v0 │ │ -017538: 7110 4105 0000 |0010: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ -01753e: 0a00 |0013: move-result v0 │ │ -017540: 59e0 cf00 |0014: iput v0, v14, Ldnsfilter/android/DNSFilterService;.mtu:I // field@00cf │ │ -017544: 6200 bd00 |0016: sget-object v0, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ -017548: 6e10 8101 0000 |0018: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ -01754e: 0c00 |001b: move-result-object v0 │ │ -017550: 1a01 230a |001c: const-string v1, "routeUnderlyingDNS" // string@0a23 │ │ -017554: 1a02 d506 |001e: const-string v2, "false" // string@06d5 │ │ -017558: 6e30 3606 1002 |0020: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -01755e: 0c00 |0023: move-result-object v0 │ │ -017560: 7110 2705 0000 |0024: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -017566: 0a00 |0027: move-result v0 │ │ -017568: 6a00 d300 |0028: sput-boolean v0, Ldnsfilter/android/DNSFilterService;.routeDNS:Z // field@00d3 │ │ -01756c: 2200 2c00 |002a: new-instance v0, Landroid/net/VpnService$Builder; // type@002c │ │ -017570: 7020 6200 e000 |002c: invoke-direct {v0, v14}, Landroid/net/VpnService$Builder;.:(Landroid/net/VpnService;)V // method@0062 │ │ -017576: 1a01 5d09 |002f: const-string v1, "personalDNSFilter" // string@095d │ │ -01757a: 6e20 6d00 1000 |0031: invoke-virtual {v0, v1}, Landroid/net/VpnService$Builder;.setSession:(Ljava/lang/String;)Landroid/net/VpnService$Builder; // method@006d │ │ -017580: 1241 |0034: const/4 v1, #int 4 // #4 │ │ -017582: 7110 9402 0100 |0035: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.supportsIPVersion:(I)Z // method@0294 │ │ -017588: 0a02 |0038: move-result v2 │ │ -01758a: 1303 2000 |0039: const/16 v3, #int 32 // #20 │ │ -01758e: 1304 1800 |003b: const/16 v4, #int 24 // #18 │ │ -017592: 3802 1300 |003d: if-eqz v2, 0050 // +0013 │ │ -017596: 6202 bb00 |003f: sget-object v2, Ldnsfilter/android/DNSFilterService;.ADDRESS_IPV4:Ljava/lang/String; // field@00bb │ │ -01759a: 6e30 6300 2004 |0041: invoke-virtual {v0, v2, v4}, Landroid/net/VpnService$Builder;.addAddress:(Ljava/lang/String;I)Landroid/net/VpnService$Builder; // method@0063 │ │ -0175a0: 0c02 |0044: move-result-object v2 │ │ -0175a2: 6205 c400 |0045: sget-object v5, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00c4 │ │ -0175a6: 6e20 6500 5200 |0047: invoke-virtual {v2, v5}, Landroid/net/VpnService$Builder;.addDnsServer:(Ljava/lang/String;)Landroid/net/VpnService$Builder; // method@0065 │ │ -0175ac: 0c02 |004a: move-result-object v2 │ │ -0175ae: 6205 c400 |004b: sget-object v5, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00c4 │ │ -0175b2: 6e30 6600 5203 |004d: invoke-virtual {v2, v5, v3}, Landroid/net/VpnService$Builder;.addRoute:(Ljava/lang/String;I)Landroid/net/VpnService$Builder; // method@0066 │ │ -0175b8: 1262 |0050: const/4 v2, #int 6 // #6 │ │ -0175ba: 7110 9402 0200 |0051: invoke-static {v2}, Ldnsfilter/android/DNSFilterService;.supportsIPVersion:(I)Z // method@0294 │ │ -0175c0: 0a05 |0054: move-result v5 │ │ -0175c2: 1306 8000 |0055: const/16 v6, #int 128 // #80 │ │ -0175c6: 3805 1500 |0057: if-eqz v5, 006c // +0015 │ │ -0175ca: 6205 bc00 |0059: sget-object v5, Ldnsfilter/android/DNSFilterService;.ADDRESS_IPV6:Ljava/lang/String; // field@00bc │ │ -0175ce: 1307 3000 |005b: const/16 v7, #int 48 // #30 │ │ -0175d2: 6e30 6300 5007 |005d: invoke-virtual {v0, v5, v7}, Landroid/net/VpnService$Builder;.addAddress:(Ljava/lang/String;I)Landroid/net/VpnService$Builder; // method@0063 │ │ -0175d8: 0c05 |0060: move-result-object v5 │ │ -0175da: 6207 c500 |0061: sget-object v7, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c5 │ │ -0175de: 6e20 6500 7500 |0063: invoke-virtual {v5, v7}, Landroid/net/VpnService$Builder;.addDnsServer:(Ljava/lang/String;)Landroid/net/VpnService$Builder; // method@0065 │ │ -0175e4: 0c05 |0066: move-result-object v5 │ │ -0175e6: 6207 c500 |0067: sget-object v7, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c5 │ │ -0175ea: 6e30 6600 7506 |0069: invoke-virtual {v5, v7, v6}, Landroid/net/VpnService$Builder;.addRoute:(Ljava/lang/String;I)Landroid/net/VpnService$Builder; // method@0066 │ │ -0175f0: 6205 bd00 |006c: sget-object v5, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ -0175f4: 6e10 8101 0500 |006e: invoke-virtual {v5}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ -0175fa: 0c05 |0071: move-result-object v5 │ │ -0175fc: 1a07 220a |0072: const-string v7, "routeIPs" // string@0a22 │ │ -017600: 1a08 0000 |0074: const-string v8, "" // string@0000 │ │ -017604: 6e30 3606 7508 |0076: invoke-virtual {v5, v7, v8}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -01760a: 0c05 |0079: move-result-object v5 │ │ -01760c: 6e10 7c05 0500 |007a: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -017612: 0c07 |007d: move-result-object v7 │ │ -017614: 6e20 6705 8700 |007e: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -01761a: 0a07 |0081: move-result v7 │ │ -01761c: 1a09 9100 |0082: const-string v9, "; " // string@0091 │ │ -017620: 3907 1100 |0084: if-nez v7, 0095 // +0011 │ │ -017624: 2207 2801 |0086: new-instance v7, Ljava/lang/StringBuilder; // type@0128 │ │ -017628: 7010 8305 0700 |0088: invoke-direct {v7}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -01762e: 6e20 8905 5700 |008b: invoke-virtual {v7, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -017634: 6e20 8905 9700 |008e: invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01763a: 6e10 8b05 0700 |0091: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -017640: 0c05 |0094: move-result-object v5 │ │ -017642: 6307 d300 |0095: sget-boolean v7, Ldnsfilter/android/DNSFilterService;.routeDNS:Z // field@00d3 │ │ -017646: 120a |0097: const/4 v10, #int 0 // #0 │ │ -017648: 3807 2100 |0098: if-eqz v7, 00b9 // +0021 │ │ -01764c: 7100 7a02 0000 |009a: invoke-static {}, Ldnsfilter/android/DNSFilterService;.getDNSServers:()[Ljava/lang/String; // method@027a │ │ -017652: 0c07 |009d: move-result-object v7 │ │ -017654: 120b |009e: const/4 v11, #int 0 // #0 │ │ -017656: 217c |009f: array-length v12, v7 │ │ -017658: 35cb 1900 |00a0: if-ge v11, v12, 00b9 // +0019 │ │ -01765c: 220c 2801 |00a2: new-instance v12, Ljava/lang/StringBuilder; // type@0128 │ │ -017660: 7010 8305 0c00 |00a4: invoke-direct {v12}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -017666: 6e20 8905 5c00 |00a7: invoke-virtual {v12, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01766c: 4605 070b |00aa: aget-object v5, v7, v11 │ │ -017670: 6e20 8905 5c00 |00ac: invoke-virtual {v12, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -017676: 6e20 8905 9c00 |00af: invoke-virtual {v12, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01767c: 6e10 8b05 0c00 |00b2: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -017682: 0c05 |00b5: move-result-object v5 │ │ -017684: d80b 0b01 |00b6: add-int/lit8 v11, v11, #int 1 // #01 │ │ -017688: 28e7 |00b8: goto 009f // -0019 │ │ -01768a: 6e10 7c05 0500 |00b9: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -017690: 0c07 |00bc: move-result-object v7 │ │ -017692: 6e20 6705 8700 |00bd: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -017698: 0a07 |00c0: move-result v7 │ │ -01769a: 1a09 9000 |00c1: const-string v9, ";" // string@0090 │ │ -01769e: 3907 2100 |00c3: if-nez v7, 00e4 // +0021 │ │ -0176a2: 6e10 7c05 0500 |00c5: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -0176a8: 0c07 |00c8: move-result-object v7 │ │ -0176aa: 6e20 6705 9700 |00c9: invoke-virtual {v7, v9}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -0176b0: 0a07 |00cc: move-result v7 │ │ -0176b2: 3907 1700 |00cd: if-nez v7, 00e4 // +0017 │ │ -0176b6: 7100 0107 0000 |00cf: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -0176bc: 0c07 |00d2: move-result-object v7 │ │ -0176be: 220b 2801 |00d3: new-instance v11, Ljava/lang/StringBuilder; // type@0128 │ │ -0176c2: 1a0c c100 |00d5: const-string v12, "Adding routes:" // string@00c1 │ │ -0176c6: 7020 8405 cb00 |00d7: invoke-direct {v11, v12}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -0176cc: 6e20 8905 5b00 |00da: invoke-virtual {v11, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0176d2: 6e10 8b05 0b00 |00dd: invoke-virtual {v11}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0176d8: 0c0b |00e0: move-result-object v11 │ │ -0176da: 7220 0d07 b700 |00e1: invoke-interface {v7, v11}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -0176e0: 2207 6201 |00e4: new-instance v7, Ljava/util/StringTokenizer; // type@0162 │ │ -0176e4: 7030 4306 5709 |00e6: invoke-direct {v7, v5, v9}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0643 │ │ -0176ea: 6e10 4406 0700 |00e9: invoke-virtual {v7}, Ljava/util/StringTokenizer;.countTokens:()I // method@0644 │ │ -0176f0: 0a05 |00ec: move-result v5 │ │ -0176f2: 1209 |00ed: const/4 v9, #int 0 // #0 │ │ -0176f4: 3559 4300 |00ee: if-ge v9, v5, 0131 // +0043 │ │ -0176f8: 6e10 4706 0700 |00f0: invoke-virtual {v7}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0647 │ │ -0176fe: 0c0b |00f3: move-result-object v11 │ │ -017700: 6e10 7c05 0b00 |00f4: invoke-virtual {v11}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -017706: 0c0b |00f7: move-result-object v11 │ │ -017708: 6e20 6705 8b00 |00f8: invoke-virtual {v11, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -01770e: 0a0c |00fb: move-result v12 │ │ -017710: 390c 3200 |00fc: if-nez v12, 012e // +0032 │ │ -017714: 7110 af05 0b00 |00fe: invoke-static {v11}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05af │ │ -01771a: 0c0c |0101: move-result-object v12 │ │ -01771c: 20cd 3001 |0102: instance-of v13, v12, Ljava/net/Inet4Address; // type@0130 │ │ -017720: 380d 1000 |0104: if-eqz v13, 0114 // +0010 │ │ -017724: 7110 9402 0100 |0106: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.supportsIPVersion:(I)Z // method@0294 │ │ -01772a: 0a0d |0109: move-result v13 │ │ -01772c: 380d 0a00 |010a: if-eqz v13, 0114 // +000a │ │ -017730: 7110 af05 0b00 |010c: invoke-static {v11}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05af │ │ -017736: 0c0b |010f: move-result-object v11 │ │ -017738: 6e30 6700 b003 |0110: invoke-virtual {v0, v11, v3}, Landroid/net/VpnService$Builder;.addRoute:(Ljava/net/InetAddress;I)Landroid/net/VpnService$Builder; // method@0067 │ │ -01773e: 281b |0113: goto 012e // +001b │ │ -017740: 20cc 3101 |0114: instance-of v12, v12, Ljava/net/Inet6Address; // type@0131 │ │ -017744: 380c 1800 |0116: if-eqz v12, 012e // +0018 │ │ -017748: 7110 9402 0200 |0118: invoke-static {v2}, Ldnsfilter/android/DNSFilterService;.supportsIPVersion:(I)Z // method@0294 │ │ -01774e: 0a0c |011b: move-result v12 │ │ -017750: 380c 1200 |011c: if-eqz v12, 012e // +0012 │ │ -017754: 7110 af05 0b00 |011e: invoke-static {v11}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05af │ │ -01775a: 0c0b |0121: move-result-object v11 │ │ -01775c: 6e30 6700 b006 |0122: invoke-virtual {v0, v11, v6}, Landroid/net/VpnService$Builder;.addRoute:(Ljava/net/InetAddress;I)Landroid/net/VpnService$Builder; // method@0067 │ │ -017762: 2809 |0125: goto 012e // +0009 │ │ -017764: 0d0b |0126: move-exception v11 │ │ -017766: 7100 0107 0000 |0127: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01776c: 0c0c |012a: move-result-object v12 │ │ -01776e: 7220 0c07 bc00 |012b: invoke-interface {v12, v11}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -017774: d809 0901 |012e: add-int/lit8 v9, v9, #int 1 // #01 │ │ -017778: 28be |0130: goto 00ee // -0042 │ │ -01777a: 2201 6201 |0131: new-instance v1, Ljava/util/StringTokenizer; // type@0162 │ │ -01777e: 6202 bd00 |0133: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ -017782: 6e10 8101 0200 |0135: invoke-virtual {v2}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ -017788: 0c02 |0138: move-result-object v2 │ │ -01778a: 1a03 6005 |0139: const-string v3, "androidAppWhiteList" // string@0560 │ │ -01778e: 6e30 3606 3208 |013b: invoke-virtual {v2, v3, v8}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -017794: 0c02 |013e: move-result-object v2 │ │ -017796: 1a03 5000 |013f: const-string v3, "," // string@0050 │ │ -01779a: 7030 4306 2103 |0141: invoke-direct {v1, v2, v3}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0643 │ │ -0177a0: 6e10 4406 0100 |0144: invoke-virtual {v1}, Ljava/util/StringTokenizer;.countTokens:()I // method@0644 │ │ -0177a6: 0a02 |0147: move-result v2 │ │ -0177a8: 1303 1500 |0148: const/16 v3, #int 21 // #15 │ │ -0177ac: 3802 1200 |014a: if-eqz v2, 015c // +0012 │ │ -0177b0: 6005 0200 |014c: sget v5, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -0177b4: 3535 0e00 |014e: if-ge v5, v3, 015c // +000e │ │ -0177b8: 380f 0b00 |0150: if-eqz v15, 015b // +000b │ │ -0177bc: 7100 0107 0000 |0152: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -0177c2: 0c02 |0155: move-result-object v2 │ │ -0177c4: 1a05 d804 |0156: const-string v5, "WARNING!: Application whitelisting not supported for Android version below 5.01! │ │ +017504: |[017504] dnsfilter.android.DNSFilterService.initVPN:(Z)Landroid/os/ParcelFileDescriptor; │ │ +017514: 7100 3f01 0000 |0000: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +01751a: 0c00 |0003: move-result-object v0 │ │ +01751c: 6e10 3901 0000 |0004: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@0139 │ │ +017522: 0c00 |0007: move-result-object v0 │ │ +017524: 1a01 d603 |0008: const-string v1, "MTU" // string@03d6 │ │ +017528: 1a02 7c00 |000a: const-string v2, "3000" // string@007c │ │ +01752c: 6e30 3606 1002 |000c: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +017532: 0c00 |000f: move-result-object v0 │ │ +017534: 7110 4105 0000 |0010: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ +01753a: 0a00 |0013: move-result v0 │ │ +01753c: 59e0 cf00 |0014: iput v0, v14, Ldnsfilter/android/DNSFilterService;.mtu:I // field@00cf │ │ +017540: 6200 bd00 |0016: sget-object v0, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ +017544: 6e10 8101 0000 |0018: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ +01754a: 0c00 |001b: move-result-object v0 │ │ +01754c: 1a01 230a |001c: const-string v1, "routeUnderlyingDNS" // string@0a23 │ │ +017550: 1a02 d506 |001e: const-string v2, "false" // string@06d5 │ │ +017554: 6e30 3606 1002 |0020: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +01755a: 0c00 |0023: move-result-object v0 │ │ +01755c: 7110 2705 0000 |0024: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +017562: 0a00 |0027: move-result v0 │ │ +017564: 6a00 d300 |0028: sput-boolean v0, Ldnsfilter/android/DNSFilterService;.routeDNS:Z // field@00d3 │ │ +017568: 2200 2c00 |002a: new-instance v0, Landroid/net/VpnService$Builder; // type@002c │ │ +01756c: 7020 6200 e000 |002c: invoke-direct {v0, v14}, Landroid/net/VpnService$Builder;.:(Landroid/net/VpnService;)V // method@0062 │ │ +017572: 1a01 5d09 |002f: const-string v1, "personalDNSFilter" // string@095d │ │ +017576: 6e20 6d00 1000 |0031: invoke-virtual {v0, v1}, Landroid/net/VpnService$Builder;.setSession:(Ljava/lang/String;)Landroid/net/VpnService$Builder; // method@006d │ │ +01757c: 1241 |0034: const/4 v1, #int 4 // #4 │ │ +01757e: 7110 9402 0100 |0035: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.supportsIPVersion:(I)Z // method@0294 │ │ +017584: 0a02 |0038: move-result v2 │ │ +017586: 1303 2000 |0039: const/16 v3, #int 32 // #20 │ │ +01758a: 1304 1800 |003b: const/16 v4, #int 24 // #18 │ │ +01758e: 3802 1300 |003d: if-eqz v2, 0050 // +0013 │ │ +017592: 6202 bb00 |003f: sget-object v2, Ldnsfilter/android/DNSFilterService;.ADDRESS_IPV4:Ljava/lang/String; // field@00bb │ │ +017596: 6e30 6300 2004 |0041: invoke-virtual {v0, v2, v4}, Landroid/net/VpnService$Builder;.addAddress:(Ljava/lang/String;I)Landroid/net/VpnService$Builder; // method@0063 │ │ +01759c: 0c02 |0044: move-result-object v2 │ │ +01759e: 6205 c400 |0045: sget-object v5, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00c4 │ │ +0175a2: 6e20 6500 5200 |0047: invoke-virtual {v2, v5}, Landroid/net/VpnService$Builder;.addDnsServer:(Ljava/lang/String;)Landroid/net/VpnService$Builder; // method@0065 │ │ +0175a8: 0c02 |004a: move-result-object v2 │ │ +0175aa: 6205 c400 |004b: sget-object v5, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00c4 │ │ +0175ae: 6e30 6600 5203 |004d: invoke-virtual {v2, v5, v3}, Landroid/net/VpnService$Builder;.addRoute:(Ljava/lang/String;I)Landroid/net/VpnService$Builder; // method@0066 │ │ +0175b4: 1262 |0050: const/4 v2, #int 6 // #6 │ │ +0175b6: 7110 9402 0200 |0051: invoke-static {v2}, Ldnsfilter/android/DNSFilterService;.supportsIPVersion:(I)Z // method@0294 │ │ +0175bc: 0a05 |0054: move-result v5 │ │ +0175be: 1306 8000 |0055: const/16 v6, #int 128 // #80 │ │ +0175c2: 3805 1500 |0057: if-eqz v5, 006c // +0015 │ │ +0175c6: 6205 bc00 |0059: sget-object v5, Ldnsfilter/android/DNSFilterService;.ADDRESS_IPV6:Ljava/lang/String; // field@00bc │ │ +0175ca: 1307 3000 |005b: const/16 v7, #int 48 // #30 │ │ +0175ce: 6e30 6300 5007 |005d: invoke-virtual {v0, v5, v7}, Landroid/net/VpnService$Builder;.addAddress:(Ljava/lang/String;I)Landroid/net/VpnService$Builder; // method@0063 │ │ +0175d4: 0c05 |0060: move-result-object v5 │ │ +0175d6: 6207 c500 |0061: sget-object v7, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c5 │ │ +0175da: 6e20 6500 7500 |0063: invoke-virtual {v5, v7}, Landroid/net/VpnService$Builder;.addDnsServer:(Ljava/lang/String;)Landroid/net/VpnService$Builder; // method@0065 │ │ +0175e0: 0c05 |0066: move-result-object v5 │ │ +0175e2: 6207 c500 |0067: sget-object v7, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c5 │ │ +0175e6: 6e30 6600 7506 |0069: invoke-virtual {v5, v7, v6}, Landroid/net/VpnService$Builder;.addRoute:(Ljava/lang/String;I)Landroid/net/VpnService$Builder; // method@0066 │ │ +0175ec: 6205 bd00 |006c: sget-object v5, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ +0175f0: 6e10 8101 0500 |006e: invoke-virtual {v5}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ +0175f6: 0c05 |0071: move-result-object v5 │ │ +0175f8: 1a07 220a |0072: const-string v7, "routeIPs" // string@0a22 │ │ +0175fc: 1a08 0000 |0074: const-string v8, "" // string@0000 │ │ +017600: 6e30 3606 7508 |0076: invoke-virtual {v5, v7, v8}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +017606: 0c05 |0079: move-result-object v5 │ │ +017608: 6e10 7c05 0500 |007a: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01760e: 0c07 |007d: move-result-object v7 │ │ +017610: 6e20 6705 8700 |007e: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +017616: 0a07 |0081: move-result v7 │ │ +017618: 1a09 9100 |0082: const-string v9, "; " // string@0091 │ │ +01761c: 3907 1100 |0084: if-nez v7, 0095 // +0011 │ │ +017620: 2207 2801 |0086: new-instance v7, Ljava/lang/StringBuilder; // type@0128 │ │ +017624: 7010 8305 0700 |0088: invoke-direct {v7}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +01762a: 6e20 8905 5700 |008b: invoke-virtual {v7, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +017630: 6e20 8905 9700 |008e: invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +017636: 6e10 8b05 0700 |0091: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01763c: 0c05 |0094: move-result-object v5 │ │ +01763e: 6307 d300 |0095: sget-boolean v7, Ldnsfilter/android/DNSFilterService;.routeDNS:Z // field@00d3 │ │ +017642: 120a |0097: const/4 v10, #int 0 // #0 │ │ +017644: 3807 2100 |0098: if-eqz v7, 00b9 // +0021 │ │ +017648: 7100 7a02 0000 |009a: invoke-static {}, Ldnsfilter/android/DNSFilterService;.getDNSServers:()[Ljava/lang/String; // method@027a │ │ +01764e: 0c07 |009d: move-result-object v7 │ │ +017650: 120b |009e: const/4 v11, #int 0 // #0 │ │ +017652: 217c |009f: array-length v12, v7 │ │ +017654: 35cb 1900 |00a0: if-ge v11, v12, 00b9 // +0019 │ │ +017658: 220c 2801 |00a2: new-instance v12, Ljava/lang/StringBuilder; // type@0128 │ │ +01765c: 7010 8305 0c00 |00a4: invoke-direct {v12}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +017662: 6e20 8905 5c00 |00a7: invoke-virtual {v12, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +017668: 4605 070b |00aa: aget-object v5, v7, v11 │ │ +01766c: 6e20 8905 5c00 |00ac: invoke-virtual {v12, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +017672: 6e20 8905 9c00 |00af: invoke-virtual {v12, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +017678: 6e10 8b05 0c00 |00b2: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01767e: 0c05 |00b5: move-result-object v5 │ │ +017680: d80b 0b01 |00b6: add-int/lit8 v11, v11, #int 1 // #01 │ │ +017684: 28e7 |00b8: goto 009f // -0019 │ │ +017686: 6e10 7c05 0500 |00b9: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01768c: 0c07 |00bc: move-result-object v7 │ │ +01768e: 6e20 6705 8700 |00bd: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +017694: 0a07 |00c0: move-result v7 │ │ +017696: 1a09 9000 |00c1: const-string v9, ";" // string@0090 │ │ +01769a: 3907 2100 |00c3: if-nez v7, 00e4 // +0021 │ │ +01769e: 6e10 7c05 0500 |00c5: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +0176a4: 0c07 |00c8: move-result-object v7 │ │ +0176a6: 6e20 6705 9700 |00c9: invoke-virtual {v7, v9}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +0176ac: 0a07 |00cc: move-result v7 │ │ +0176ae: 3907 1700 |00cd: if-nez v7, 00e4 // +0017 │ │ +0176b2: 7100 0107 0000 |00cf: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +0176b8: 0c07 |00d2: move-result-object v7 │ │ +0176ba: 220b 2801 |00d3: new-instance v11, Ljava/lang/StringBuilder; // type@0128 │ │ +0176be: 1a0c c100 |00d5: const-string v12, "Adding routes:" // string@00c1 │ │ +0176c2: 7020 8405 cb00 |00d7: invoke-direct {v11, v12}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +0176c8: 6e20 8905 5b00 |00da: invoke-virtual {v11, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0176ce: 6e10 8b05 0b00 |00dd: invoke-virtual {v11}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0176d4: 0c0b |00e0: move-result-object v11 │ │ +0176d6: 7220 0d07 b700 |00e1: invoke-interface {v7, v11}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +0176dc: 2207 6201 |00e4: new-instance v7, Ljava/util/StringTokenizer; // type@0162 │ │ +0176e0: 7030 4306 5709 |00e6: invoke-direct {v7, v5, v9}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0643 │ │ +0176e6: 6e10 4406 0700 |00e9: invoke-virtual {v7}, Ljava/util/StringTokenizer;.countTokens:()I // method@0644 │ │ +0176ec: 0a05 |00ec: move-result v5 │ │ +0176ee: 1209 |00ed: const/4 v9, #int 0 // #0 │ │ +0176f0: 3559 4300 |00ee: if-ge v9, v5, 0131 // +0043 │ │ +0176f4: 6e10 4706 0700 |00f0: invoke-virtual {v7}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0647 │ │ +0176fa: 0c0b |00f3: move-result-object v11 │ │ +0176fc: 6e10 7c05 0b00 |00f4: invoke-virtual {v11}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +017702: 0c0b |00f7: move-result-object v11 │ │ +017704: 6e20 6705 8b00 |00f8: invoke-virtual {v11, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +01770a: 0a0c |00fb: move-result v12 │ │ +01770c: 390c 3200 |00fc: if-nez v12, 012e // +0032 │ │ +017710: 7110 af05 0b00 |00fe: invoke-static {v11}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05af │ │ +017716: 0c0c |0101: move-result-object v12 │ │ +017718: 20cd 3001 |0102: instance-of v13, v12, Ljava/net/Inet4Address; // type@0130 │ │ +01771c: 380d 1000 |0104: if-eqz v13, 0114 // +0010 │ │ +017720: 7110 9402 0100 |0106: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.supportsIPVersion:(I)Z // method@0294 │ │ +017726: 0a0d |0109: move-result v13 │ │ +017728: 380d 0a00 |010a: if-eqz v13, 0114 // +000a │ │ +01772c: 7110 af05 0b00 |010c: invoke-static {v11}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05af │ │ +017732: 0c0b |010f: move-result-object v11 │ │ +017734: 6e30 6700 b003 |0110: invoke-virtual {v0, v11, v3}, Landroid/net/VpnService$Builder;.addRoute:(Ljava/net/InetAddress;I)Landroid/net/VpnService$Builder; // method@0067 │ │ +01773a: 281b |0113: goto 012e // +001b │ │ +01773c: 20cc 3101 |0114: instance-of v12, v12, Ljava/net/Inet6Address; // type@0131 │ │ +017740: 380c 1800 |0116: if-eqz v12, 012e // +0018 │ │ +017744: 7110 9402 0200 |0118: invoke-static {v2}, Ldnsfilter/android/DNSFilterService;.supportsIPVersion:(I)Z // method@0294 │ │ +01774a: 0a0c |011b: move-result v12 │ │ +01774c: 380c 1200 |011c: if-eqz v12, 012e // +0012 │ │ +017750: 7110 af05 0b00 |011e: invoke-static {v11}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05af │ │ +017756: 0c0b |0121: move-result-object v11 │ │ +017758: 6e30 6700 b006 |0122: invoke-virtual {v0, v11, v6}, Landroid/net/VpnService$Builder;.addRoute:(Ljava/net/InetAddress;I)Landroid/net/VpnService$Builder; // method@0067 │ │ +01775e: 2809 |0125: goto 012e // +0009 │ │ +017760: 0d0b |0126: move-exception v11 │ │ +017762: 7100 0107 0000 |0127: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +017768: 0c0c |012a: move-result-object v12 │ │ +01776a: 7220 0c07 bc00 |012b: invoke-interface {v12, v11}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +017770: d809 0901 |012e: add-int/lit8 v9, v9, #int 1 // #01 │ │ +017774: 28be |0130: goto 00ee // -0042 │ │ +017776: 2201 6201 |0131: new-instance v1, Ljava/util/StringTokenizer; // type@0162 │ │ +01777a: 6202 bd00 |0133: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ +01777e: 6e10 8101 0200 |0135: invoke-virtual {v2}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ +017784: 0c02 |0138: move-result-object v2 │ │ +017786: 1a03 6005 |0139: const-string v3, "androidAppWhiteList" // string@0560 │ │ +01778a: 6e30 3606 3208 |013b: invoke-virtual {v2, v3, v8}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +017790: 0c02 |013e: move-result-object v2 │ │ +017792: 1a03 5000 |013f: const-string v3, "," // string@0050 │ │ +017796: 7030 4306 2103 |0141: invoke-direct {v1, v2, v3}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0643 │ │ +01779c: 6e10 4406 0100 |0144: invoke-virtual {v1}, Ljava/util/StringTokenizer;.countTokens:()I // method@0644 │ │ +0177a2: 0a02 |0147: move-result v2 │ │ +0177a4: 1303 1500 |0148: const/16 v3, #int 21 // #15 │ │ +0177a8: 3802 1200 |014a: if-eqz v2, 015c // +0012 │ │ +0177ac: 6005 0200 |014c: sget v5, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +0177b0: 3535 0e00 |014e: if-ge v5, v3, 015c // +000e │ │ +0177b4: 380f 0b00 |0150: if-eqz v15, 015b // +000b │ │ +0177b8: 7100 0107 0000 |0152: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +0177be: 0c02 |0155: move-result-object v2 │ │ +0177c0: 1a05 d804 |0156: const-string v5, "WARNING!: Application whitelisting not supported for Android version below 5.01! │ │ Setting ignored!" // string@04d8 │ │ -0177c8: 7220 0d07 5200 |0158: invoke-interface {v2, v5}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -0177ce: 1202 |015b: const/4 v2, #int 0 // #0 │ │ -0177d0: 1205 |015c: const/4 v5, #int 0 // #0 │ │ -0177d2: 3525 1000 |015d: if-ge v5, v2, 016d // +0010 │ │ -0177d6: 6e10 4706 0100 |015f: invoke-virtual {v1}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0647 │ │ -0177dc: 0c06 |0162: move-result-object v6 │ │ -0177de: 6e10 7c05 0600 |0163: invoke-virtual {v6}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -0177e4: 0c06 |0166: move-result-object v6 │ │ -0177e6: 7030 7702 6e00 |0167: invoke-direct {v14, v6, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0277 │ │ -0177ec: d805 0501 |016a: add-int/lit8 v5, v5, #int 1 // #01 │ │ -0177f0: 28f1 |016c: goto 015d // -000f │ │ -0177f2: 6001 0200 |016d: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -0177f6: 3441 3a00 |016f: if-lt v1, v4, 01a9 // +003a │ │ -0177fa: 6001 0200 |0171: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -0177fe: 1302 1b00 |0173: const/16 v2, #int 27 // #1b │ │ -017802: 3621 3400 |0175: if-gt v1, v2, 01a9 // +0034 │ │ -017806: 380f 1900 |0177: if-eqz v15, 0190 // +0019 │ │ -01780a: 7100 0107 0000 |0179: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -017810: 0c01 |017c: move-result-object v1 │ │ -017812: 2202 2801 |017d: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -017816: 1a04 4704 |017f: const-string v4, "Running on SDK" // string@0447 │ │ -01781a: 7020 8405 4200 |0181: invoke-direct {v2, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -017820: 6004 0200 |0184: sget v4, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -017824: 6e20 8605 4200 |0186: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -01782a: 6e10 8b05 0200 |0189: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -017830: 0c02 |018c: move-result-object v2 │ │ -017832: 7220 0d07 2100 |018d: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -017838: 1a01 f205 |0190: const-string v1, "com.android.vending" // string@05f2 │ │ -01783c: 7030 7702 1e00 |0192: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0277 │ │ -017842: 1a01 f305 |0195: const-string v1, "com.google.android.apps.docs" // string@05f3 │ │ -017846: 7030 7702 1e00 |0197: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0277 │ │ -01784c: 1a01 f405 |019a: const-string v1, "com.google.android.apps.photos" // string@05f4 │ │ -017850: 7030 7702 1e00 |019c: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0277 │ │ -017856: 1a01 f605 |019f: const-string v1, "com.google.android.gm" // string@05f6 │ │ -01785a: 7030 7702 1e00 |01a1: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0277 │ │ -017860: 1a01 f505 |01a4: const-string v1, "com.google.android.apps.translate" // string@05f5 │ │ -017864: 7030 7702 1e00 |01a6: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0277 │ │ -01786a: 6001 0200 |01a9: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01786e: 3431 1300 |01ab: if-lt v1, v3, 01be // +0013 │ │ -017872: 1211 |01ad: const/4 v1, #int 1 // #1 │ │ -017874: 7120 4b02 1000 |01ae: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/VpnService$Builder;Z)Landroid/net/VpnService$Builder; // method@024b │ │ -01787a: 380f 0b00 |01b1: if-eqz v15, 01bc // +000b │ │ -01787e: 7100 0107 0000 |01b3: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -017884: 0c0f |01b6: move-result-object v15 │ │ -017886: 1a02 9004 |01b7: const-string v2, "Using blocking mode!" // string@0490 │ │ -01788a: 7220 0d07 2f00 |01b9: invoke-interface {v15, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -017890: 5ce1 c600 |01bc: iput-boolean v1, v14, Ldnsfilter/android/DNSFilterService;.blocking:Z // field@00c6 │ │ -017894: 52ef cf00 |01be: iget v15, v14, Ldnsfilter/android/DNSFilterService;.mtu:I // field@00cf │ │ -017898: 6e20 6c00 f000 |01c0: invoke-virtual {v0, v15}, Landroid/net/VpnService$Builder;.setMtu:(I)Landroid/net/VpnService$Builder; // method@006c │ │ -01789e: 600f 0200 |01c3: sget v15, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -0178a2: 1301 1d00 |01c5: const/16 v1, #int 29 // #1d │ │ -0178a6: 341f 0500 |01c7: if-lt v15, v1, 01cc // +0005 │ │ -0178aa: 7120 5502 a000 |01c9: invoke-static {v0, v10}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m$1:(Landroid/net/VpnService$Builder;Z)Landroid/net/VpnService$Builder; // method@0255 │ │ -0178b0: 54ef d100 |01cc: iget-object v15, v14, Ldnsfilter/android/DNSFilterService;.pendingIntent:Landroid/app/PendingIntent; // field@00d1 │ │ -0178b4: 6e20 6a00 f000 |01ce: invoke-virtual {v0, v15}, Landroid/net/VpnService$Builder;.setConfigureIntent:(Landroid/app/PendingIntent;)Landroid/net/VpnService$Builder; // method@006a │ │ -0178ba: 0c0f |01d1: move-result-object v15 │ │ -0178bc: 6e10 6800 0f00 |01d2: invoke-virtual {v15}, Landroid/net/VpnService$Builder;.establish:()Landroid/os/ParcelFileDescriptor; // method@0068 │ │ -0178c2: 0c0f |01d5: move-result-object v15 │ │ -0178c4: 110f |01d6: return-object v15 │ │ +0177c4: 7220 0d07 5200 |0158: invoke-interface {v2, v5}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +0177ca: 1202 |015b: const/4 v2, #int 0 // #0 │ │ +0177cc: 1205 |015c: const/4 v5, #int 0 // #0 │ │ +0177ce: 3525 1000 |015d: if-ge v5, v2, 016d // +0010 │ │ +0177d2: 6e10 4706 0100 |015f: invoke-virtual {v1}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0647 │ │ +0177d8: 0c06 |0162: move-result-object v6 │ │ +0177da: 6e10 7c05 0600 |0163: invoke-virtual {v6}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +0177e0: 0c06 |0166: move-result-object v6 │ │ +0177e2: 7030 7702 6e00 |0167: invoke-direct {v14, v6, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0277 │ │ +0177e8: d805 0501 |016a: add-int/lit8 v5, v5, #int 1 // #01 │ │ +0177ec: 28f1 |016c: goto 015d // -000f │ │ +0177ee: 6001 0200 |016d: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +0177f2: 3441 3a00 |016f: if-lt v1, v4, 01a9 // +003a │ │ +0177f6: 6001 0200 |0171: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +0177fa: 1302 1b00 |0173: const/16 v2, #int 27 // #1b │ │ +0177fe: 3621 3400 |0175: if-gt v1, v2, 01a9 // +0034 │ │ +017802: 380f 1900 |0177: if-eqz v15, 0190 // +0019 │ │ +017806: 7100 0107 0000 |0179: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01780c: 0c01 |017c: move-result-object v1 │ │ +01780e: 2202 2801 |017d: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +017812: 1a04 4704 |017f: const-string v4, "Running on SDK" // string@0447 │ │ +017816: 7020 8405 4200 |0181: invoke-direct {v2, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +01781c: 6004 0200 |0184: sget v4, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +017820: 6e20 8605 4200 |0186: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +017826: 6e10 8b05 0200 |0189: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01782c: 0c02 |018c: move-result-object v2 │ │ +01782e: 7220 0d07 2100 |018d: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +017834: 1a01 f205 |0190: const-string v1, "com.android.vending" // string@05f2 │ │ +017838: 7030 7702 1e00 |0192: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0277 │ │ +01783e: 1a01 f305 |0195: const-string v1, "com.google.android.apps.docs" // string@05f3 │ │ +017842: 7030 7702 1e00 |0197: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0277 │ │ +017848: 1a01 f405 |019a: const-string v1, "com.google.android.apps.photos" // string@05f4 │ │ +01784c: 7030 7702 1e00 |019c: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0277 │ │ +017852: 1a01 f605 |019f: const-string v1, "com.google.android.gm" // string@05f6 │ │ +017856: 7030 7702 1e00 |01a1: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0277 │ │ +01785c: 1a01 f505 |01a4: const-string v1, "com.google.android.apps.translate" // string@05f5 │ │ +017860: 7030 7702 1e00 |01a6: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0277 │ │ +017866: 6001 0200 |01a9: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01786a: 3431 1300 |01ab: if-lt v1, v3, 01be // +0013 │ │ +01786e: 1211 |01ad: const/4 v1, #int 1 // #1 │ │ +017870: 7120 4b02 1000 |01ae: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/VpnService$Builder;Z)Landroid/net/VpnService$Builder; // method@024b │ │ +017876: 380f 0b00 |01b1: if-eqz v15, 01bc // +000b │ │ +01787a: 7100 0107 0000 |01b3: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +017880: 0c0f |01b6: move-result-object v15 │ │ +017882: 1a02 9004 |01b7: const-string v2, "Using blocking mode!" // string@0490 │ │ +017886: 7220 0d07 2f00 |01b9: invoke-interface {v15, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +01788c: 5ce1 c600 |01bc: iput-boolean v1, v14, Ldnsfilter/android/DNSFilterService;.blocking:Z // field@00c6 │ │ +017890: 52ef cf00 |01be: iget v15, v14, Ldnsfilter/android/DNSFilterService;.mtu:I // field@00cf │ │ +017894: 6e20 6c00 f000 |01c0: invoke-virtual {v0, v15}, Landroid/net/VpnService$Builder;.setMtu:(I)Landroid/net/VpnService$Builder; // method@006c │ │ +01789a: 600f 0200 |01c3: sget v15, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01789e: 1301 1d00 |01c5: const/16 v1, #int 29 // #1d │ │ +0178a2: 341f 0500 |01c7: if-lt v15, v1, 01cc // +0005 │ │ +0178a6: 7120 5502 a000 |01c9: invoke-static {v0, v10}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m$1:(Landroid/net/VpnService$Builder;Z)Landroid/net/VpnService$Builder; // method@0255 │ │ +0178ac: 54ef d100 |01cc: iget-object v15, v14, Ldnsfilter/android/DNSFilterService;.pendingIntent:Landroid/app/PendingIntent; // field@00d1 │ │ +0178b0: 6e20 6a00 f000 |01ce: invoke-virtual {v0, v15}, Landroid/net/VpnService$Builder;.setConfigureIntent:(Landroid/app/PendingIntent;)Landroid/net/VpnService$Builder; // method@006a │ │ +0178b6: 0c0f |01d1: move-result-object v15 │ │ +0178b8: 6e10 6800 0f00 |01d2: invoke-virtual {v15}, Landroid/net/VpnService$Builder;.establish:()Landroid/os/ParcelFileDescriptor; // method@0068 │ │ +0178be: 0c0f |01d5: move-result-object v15 │ │ +0178c0: 110f |01d6: return-object v15 │ │ catches : 1 │ │ 0x00fe - 0x0125 │ │ Ljava/net/UnknownHostException; -> 0x0126 │ │ positions : │ │ 0x0000 line=572 │ │ 0x0016 line=573 │ │ 0x002a line=575 │ │ @@ -13259,23 +13259,23 @@ │ │ type : '()V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 2 │ │ ins : 0 │ │ outs : 2 │ │ insns size : 16 16-bit code units │ │ -018730: |[018730] dnsfilter.android.DNSFilterService.onReload:()V │ │ -018740: 6200 c000 |0000: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00c0 │ │ -018744: 3800 0600 |0002: if-eqz v0, 0008 // +0006 │ │ -018748: 6e10 8b02 0000 |0004: invoke-virtual {v0}, Ldnsfilter/android/DNSFilterService;.reload:()V // method@028b │ │ -01874e: 0e00 |0007: return-void │ │ -018750: 2200 fb00 |0008: new-instance v0, Ljava/io/IOException; // type@00fb │ │ -018754: 1a01 5804 |000a: const-string v1, "Service instance is null!" // string@0458 │ │ -018758: 7020 fb04 1000 |000c: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -01875e: 2700 |000f: throw v0 │ │ +01872c: |[01872c] dnsfilter.android.DNSFilterService.onReload:()V │ │ +01873c: 6200 c000 |0000: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00c0 │ │ +018740: 3800 0600 |0002: if-eqz v0, 0008 // +0006 │ │ +018744: 6e10 8b02 0000 |0004: invoke-virtual {v0}, Ldnsfilter/android/DNSFilterService;.reload:()V // method@028b │ │ +01874a: 0e00 |0007: return-void │ │ +01874c: 2200 fb00 |0008: new-instance v0, Ljava/io/IOException; // type@00fb │ │ +018750: 1a01 5804 |000a: const-string v1, "Service instance is null!" // string@0458 │ │ +018754: 7020 fb04 1000 |000c: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +01875a: 2700 |000f: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1044 │ │ 0x0004 line=1046 │ │ 0x0008 line=1048 │ │ locals : │ │ │ │ @@ -13284,67 +13284,67 @@ │ │ type : '(Z)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 100 16-bit code units │ │ -01878c: |[01878c] dnsfilter.android.DNSFilterService.possibleNetworkChange:(Z)V │ │ -01879c: 7100 ae06 0000 |0000: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ -0187a2: 0c00 |0003: move-result-object v0 │ │ -0187a4: 7210 bf06 0000 |0004: invoke-interface {v0}, Lutil/ExecutionEnvironmentInterface;.hasNetwork:()Z // method@06bf │ │ -0187aa: 0a00 |0007: move-result v0 │ │ -0187ac: 3800 5b00 |0008: if-eqz v0, 0063 // +005b │ │ -0187b0: 6300 d200 |000a: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00d2 │ │ -0187b4: 3800 0700 |000c: if-eqz v0, 0013 // +0007 │ │ -0187b8: 6200 cb00 |000e: sget-object v0, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00cb │ │ -0187bc: 7110 6302 0000 |0010: invoke-static {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.access$500:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V // method@0263 │ │ -0187c2: 7100 7a02 0000 |0013: invoke-static {}, Ldnsfilter/android/DNSFilterService;.getDNSServers:()[Ljava/lang/String; // method@027a │ │ -0187c8: 0c00 |0016: move-result-object v0 │ │ -0187ca: 7100 ae06 0000 |0017: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ -0187d0: 0c01 |001a: move-result-object v1 │ │ -0187d2: 7210 ba06 0100 |001b: invoke-interface {v1}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06ba │ │ -0187d8: 0a01 |001e: move-result v1 │ │ -0187da: 1202 |001f: const/4 v2, #int 0 // #0 │ │ -0187dc: 3801 1b00 |0020: if-eqz v1, 003b // +001b │ │ -0187e0: 7100 0107 0000 |0022: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -0187e6: 0c01 |0025: move-result-object v1 │ │ -0187e8: 1a03 7001 |0026: const-string v3, "Detected DNS Servers:*******************" // string@0170 │ │ -0187ec: 7220 0d07 3100 |0028: invoke-interface {v1, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -0187f2: 1201 |002b: const/4 v1, #int 0 // #0 │ │ -0187f4: 2103 |002c: array-length v3, v0 │ │ -0187f6: 3531 0e00 |002d: if-ge v1, v3, 003b // +000e │ │ -0187fa: 7100 0107 0000 |002f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -018800: 0c03 |0032: move-result-object v3 │ │ -018802: 4604 0001 |0033: aget-object v4, v0, v1 │ │ -018806: 7220 0d07 4300 |0035: invoke-interface {v3, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -01880c: d801 0101 |0038: add-int/lit8 v1, v1, #int 1 // #01 │ │ -018810: 28f2 |003a: goto 002c // -000e │ │ -018812: 2101 |003b: array-length v1, v0 │ │ -018814: 3801 0c00 |003c: if-eqz v1, 0048 // +000c │ │ -018818: 6201 cd00 |003e: sget-object v1, Ldnsfilter/android/DNSFilterService;.lastDNSServers:[Ljava/lang/String; // field@00cd │ │ -01881c: 7120 6907 0100 |0040: invoke-static {v1, v0}, Lutil/Utils;.arrayEqual:([Ljava/lang/Object;[Ljava/lang/Object;)Z // method@0769 │ │ -018822: 0a01 |0043: move-result v1 │ │ -018824: 3901 0400 |0044: if-nez v1, 0048 // +0004 │ │ -018828: 1211 |0046: const/4 v1, #int 1 // #1 │ │ -01882a: 2802 |0047: goto 0049 // +0002 │ │ -01882c: 1201 |0048: const/4 v1, #int 0 // #0 │ │ -01882e: 3905 0400 |0049: if-nez v5, 004d // +0004 │ │ -018832: 3801 0700 |004b: if-eqz v1, 0052 // +0007 │ │ -018836: 6900 cd00 |004d: sput-object v0, Ldnsfilter/android/DNSFilterService;.lastDNSServers:[Ljava/lang/String; // field@00cd │ │ -01883a: 7110 7f02 0000 |004f: invoke-static {v0}, Ldnsfilter/android/DNSFilterService;.handleDNSServerChange:([Ljava/lang/String;)V // method@027f │ │ -018840: 6305 d300 |0052: sget-boolean v5, Ldnsfilter/android/DNSFilterService;.routeDNS:Z // field@00d3 │ │ -018844: 3805 0f00 |0054: if-eqz v5, 0063 // +000f │ │ -018848: 3801 0d00 |0056: if-eqz v1, 0063 // +000d │ │ -01884c: 6205 c000 |0058: sget-object v5, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00c0 │ │ -018850: 3805 0900 |005a: if-eqz v5, 0063 // +0009 │ │ -018854: 5450 d600 |005c: iget-object v0, v5, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d6 │ │ -018858: 3800 0500 |005e: if-eqz v0, 0063 // +0005 │ │ -01885c: 7020 8c02 2500 |0060: invoke-direct {v5, v2}, Ldnsfilter/android/DNSFilterService;.restartVPN:(Z)V // method@028c │ │ -018862: 0e00 |0063: return-void │ │ +018788: |[018788] dnsfilter.android.DNSFilterService.possibleNetworkChange:(Z)V │ │ +018798: 7100 ae06 0000 |0000: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ +01879e: 0c00 |0003: move-result-object v0 │ │ +0187a0: 7210 bf06 0000 |0004: invoke-interface {v0}, Lutil/ExecutionEnvironmentInterface;.hasNetwork:()Z // method@06bf │ │ +0187a6: 0a00 |0007: move-result v0 │ │ +0187a8: 3800 5b00 |0008: if-eqz v0, 0063 // +005b │ │ +0187ac: 6300 d200 |000a: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00d2 │ │ +0187b0: 3800 0700 |000c: if-eqz v0, 0013 // +0007 │ │ +0187b4: 6200 cb00 |000e: sget-object v0, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00cb │ │ +0187b8: 7110 6302 0000 |0010: invoke-static {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.access$500:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V // method@0263 │ │ +0187be: 7100 7a02 0000 |0013: invoke-static {}, Ldnsfilter/android/DNSFilterService;.getDNSServers:()[Ljava/lang/String; // method@027a │ │ +0187c4: 0c00 |0016: move-result-object v0 │ │ +0187c6: 7100 ae06 0000 |0017: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ +0187cc: 0c01 |001a: move-result-object v1 │ │ +0187ce: 7210 ba06 0100 |001b: invoke-interface {v1}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06ba │ │ +0187d4: 0a01 |001e: move-result v1 │ │ +0187d6: 1202 |001f: const/4 v2, #int 0 // #0 │ │ +0187d8: 3801 1b00 |0020: if-eqz v1, 003b // +001b │ │ +0187dc: 7100 0107 0000 |0022: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +0187e2: 0c01 |0025: move-result-object v1 │ │ +0187e4: 1a03 7001 |0026: const-string v3, "Detected DNS Servers:*******************" // string@0170 │ │ +0187e8: 7220 0d07 3100 |0028: invoke-interface {v1, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +0187ee: 1201 |002b: const/4 v1, #int 0 // #0 │ │ +0187f0: 2103 |002c: array-length v3, v0 │ │ +0187f2: 3531 0e00 |002d: if-ge v1, v3, 003b // +000e │ │ +0187f6: 7100 0107 0000 |002f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +0187fc: 0c03 |0032: move-result-object v3 │ │ +0187fe: 4604 0001 |0033: aget-object v4, v0, v1 │ │ +018802: 7220 0d07 4300 |0035: invoke-interface {v3, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +018808: d801 0101 |0038: add-int/lit8 v1, v1, #int 1 // #01 │ │ +01880c: 28f2 |003a: goto 002c // -000e │ │ +01880e: 2101 |003b: array-length v1, v0 │ │ +018810: 3801 0c00 |003c: if-eqz v1, 0048 // +000c │ │ +018814: 6201 cd00 |003e: sget-object v1, Ldnsfilter/android/DNSFilterService;.lastDNSServers:[Ljava/lang/String; // field@00cd │ │ +018818: 7120 6907 0100 |0040: invoke-static {v1, v0}, Lutil/Utils;.arrayEqual:([Ljava/lang/Object;[Ljava/lang/Object;)Z // method@0769 │ │ +01881e: 0a01 |0043: move-result v1 │ │ +018820: 3901 0400 |0044: if-nez v1, 0048 // +0004 │ │ +018824: 1211 |0046: const/4 v1, #int 1 // #1 │ │ +018826: 2802 |0047: goto 0049 // +0002 │ │ +018828: 1201 |0048: const/4 v1, #int 0 // #0 │ │ +01882a: 3905 0400 |0049: if-nez v5, 004d // +0004 │ │ +01882e: 3801 0700 |004b: if-eqz v1, 0052 // +0007 │ │ +018832: 6900 cd00 |004d: sput-object v0, Ldnsfilter/android/DNSFilterService;.lastDNSServers:[Ljava/lang/String; // field@00cd │ │ +018836: 7110 7f02 0000 |004f: invoke-static {v0}, Ldnsfilter/android/DNSFilterService;.handleDNSServerChange:([Ljava/lang/String;)V // method@027f │ │ +01883c: 6305 d300 |0052: sget-boolean v5, Ldnsfilter/android/DNSFilterService;.routeDNS:Z // field@00d3 │ │ +018840: 3805 0f00 |0054: if-eqz v5, 0063 // +000f │ │ +018844: 3801 0d00 |0056: if-eqz v1, 0063 // +000d │ │ +018848: 6205 c000 |0058: sget-object v5, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00c0 │ │ +01884c: 3805 0900 |005a: if-eqz v5, 0063 // +0009 │ │ +018850: 5450 d600 |005c: iget-object v0, v5, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d6 │ │ +018854: 3800 0500 |005e: if-eqz v0, 0063 // +0005 │ │ +018858: 7020 8c02 2500 |0060: invoke-direct {v5, v2}, Ldnsfilter/android/DNSFilterService;.restartVPN:(Z)V // method@028c │ │ +01885e: 0e00 |0063: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=485 │ │ 0x000a line=487 │ │ 0x000e line=488 │ │ 0x0013 line=490 │ │ 0x0017 line=492 │ │ @@ -13364,35 +13364,35 @@ │ │ type : '(Ljava/lang/Object;I)Z' │ │ access : 0x000c (PROTECTED STATIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 33 16-bit code units │ │ -017920: |[017920] dnsfilter.android.DNSFilterService.protectSocket:(Ljava/lang/Object;I)Z │ │ -017930: 6200 c000 |0000: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00c0 │ │ -017934: 6301 cc00 |0002: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.is_running:Z // field@00cc │ │ -017938: 1212 |0004: const/4 v2, #int 1 // #1 │ │ -01793a: 3801 1b00 |0005: if-eqz v1, 0020 // +001b │ │ -01793e: 5401 d600 |0007: iget-object v1, v0, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d6 │ │ -017942: 3901 0300 |0009: if-nez v1, 000c // +0003 │ │ -017946: 2815 |000b: goto 0020 // +0015 │ │ -017948: 3904 0900 |000c: if-nez v4, 0015 // +0009 │ │ -01794c: 1f03 3901 |000e: check-cast v3, Ljava/net/Socket; // type@0139 │ │ -017950: 6e20 8702 3000 |0010: invoke-virtual {v0, v3}, Ldnsfilter/android/DNSFilterService;.protect:(Ljava/net/Socket;)Z // method@0287 │ │ -017956: 0a03 |0013: move-result v3 │ │ -017958: 0f03 |0014: return v3 │ │ -01795a: 3324 0900 |0015: if-ne v4, v2, 001e // +0009 │ │ -01795e: 1f03 2f01 |0017: check-cast v3, Ljava/net/DatagramSocket; // type@012f │ │ -017962: 6e20 8602 3000 |0019: invoke-virtual {v0, v3}, Ldnsfilter/android/DNSFilterService;.protect:(Ljava/net/DatagramSocket;)Z // method@0286 │ │ -017968: 0a03 |001c: move-result v3 │ │ -01796a: 0f03 |001d: return v3 │ │ -01796c: 1203 |001e: const/4 v3, #int 0 // #0 │ │ -01796e: 0f03 |001f: return v3 │ │ -017970: 0f02 |0020: return v2 │ │ +01791c: |[01791c] dnsfilter.android.DNSFilterService.protectSocket:(Ljava/lang/Object;I)Z │ │ +01792c: 6200 c000 |0000: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00c0 │ │ +017930: 6301 cc00 |0002: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.is_running:Z // field@00cc │ │ +017934: 1212 |0004: const/4 v2, #int 1 // #1 │ │ +017936: 3801 1b00 |0005: if-eqz v1, 0020 // +001b │ │ +01793a: 5401 d600 |0007: iget-object v1, v0, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d6 │ │ +01793e: 3901 0300 |0009: if-nez v1, 000c // +0003 │ │ +017942: 2815 |000b: goto 0020 // +0015 │ │ +017944: 3904 0900 |000c: if-nez v4, 0015 // +0009 │ │ +017948: 1f03 3901 |000e: check-cast v3, Ljava/net/Socket; // type@0139 │ │ +01794c: 6e20 8702 3000 |0010: invoke-virtual {v0, v3}, Ldnsfilter/android/DNSFilterService;.protect:(Ljava/net/Socket;)Z // method@0287 │ │ +017952: 0a03 |0013: move-result v3 │ │ +017954: 0f03 |0014: return v3 │ │ +017956: 3324 0900 |0015: if-ne v4, v2, 001e // +0009 │ │ +01795a: 1f03 2f01 |0017: check-cast v3, Ljava/net/DatagramSocket; // type@012f │ │ +01795e: 6e20 8602 3000 |0019: invoke-virtual {v0, v3}, Ldnsfilter/android/DNSFilterService;.protect:(Ljava/net/DatagramSocket;)Z // method@0286 │ │ +017964: 0a03 |001c: move-result v3 │ │ +017966: 0f03 |001d: return v3 │ │ +017968: 1203 |001e: const/4 v3, #int 0 // #0 │ │ +01796a: 0f03 |001f: return v3 │ │ +01796c: 0f02 |0020: return v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=228 │ │ 0x0002 line=230 │ │ 0x000e line=235 │ │ 0x0017 line=237 │ │ locals : │ │ @@ -13404,52 +13404,52 @@ │ │ type : '(Z)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 9 │ │ ins : 2 │ │ outs : 6 │ │ insns size : 72 16-bit code units │ │ -01889c: |[01889c] dnsfilter.android.DNSFilterService.restartVPN:(Z)V │ │ -0188ac: 5470 d600 |0000: iget-object v0, v7, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d6 │ │ -0188b0: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -0188b2: 5b71 d600 |0003: iput-object v1, v7, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d6 │ │ -0188b6: 3800 0a00 |0005: if-eqz v0, 000f // +000a │ │ -0188ba: 7120 6c02 8000 |0007: invoke-static {v0, v8}, Ldnsfilter/android/DNSFilterService$VPNRunner;.access$900:(Ldnsfilter/android/DNSFilterService$VPNRunner;Z)V // method@026c │ │ -0188c0: 1600 6400 |000a: const-wide/16 v0, #int 100 // #64 │ │ -0188c4: 7120 7f07 1000 |000c: invoke-static {v0, v1}, Lutil/Utils;.sleep:(J)V // method@077f │ │ -0188ca: 7100 8601 0000 |000f: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0186 │ │ -0188d0: 0c00 |0012: move-result-object v0 │ │ -0188d2: 6900 bd00 |0013: sput-object v0, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ -0188d6: 7020 8002 8700 |0015: invoke-direct {v7, v8}, Ldnsfilter/android/DNSFilterService;.initVPN:(Z)Landroid/os/ParcelFileDescriptor; // method@0280 │ │ -0188dc: 0c04 |0018: move-result-object v4 │ │ -0188de: 3804 1e00 |0019: if-eqz v4, 0037 // +001e │ │ -0188e2: 2200 9f00 |001b: new-instance v0, Ldnsfilter/android/DNSFilterService$VPNRunner; // type@009f │ │ -0188e6: 6001 d400 |001d: sget v1, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00d4 │ │ -0188ea: d803 0101 |001f: add-int/lit8 v3, v1, #int 1 // #01 │ │ -0188ee: 6703 d400 |0021: sput v3, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00d4 │ │ -0188f2: 1206 |0023: const/4 v6, #int 0 // #0 │ │ -0188f4: 0701 |0024: move-object v1, v0 │ │ -0188f6: 0772 |0025: move-object v2, v7 │ │ -0188f8: 0185 |0026: move v5, v8 │ │ -0188fa: 7606 6b02 0100 |0027: invoke-direct/range {v1, v2, v3, v4, v5, v6}, Ldnsfilter/android/DNSFilterService$VPNRunner;.:(Ldnsfilter/android/DNSFilterService;ILandroid/os/ParcelFileDescriptor;ZLdnsfilter/android/DNSFilterService$1;)V // method@026b │ │ -018900: 5b70 d600 |002a: iput-object v0, v7, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d6 │ │ -018904: 2208 2a01 |002c: new-instance v8, Ljava/lang/Thread; // type@012a │ │ -018908: 5470 d600 |002e: iget-object v0, v7, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d6 │ │ -01890c: 7020 9005 0800 |0030: invoke-direct {v8, v0}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ -018912: 6e10 9605 0800 |0033: invoke-virtual {v8}, Ljava/lang/Thread;.start:()V // method@0596 │ │ -018918: 0e00 |0036: return-void │ │ -01891a: 2208 fb00 |0037: new-instance v8, Ljava/io/IOException; // type@00fb │ │ -01891e: 1a00 8a01 |0039: const-string v0, "Error! Cannot get VPN interface! Try restart!" // string@018a │ │ -018922: 7020 fb04 0800 |003b: invoke-direct {v8, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -018928: 2708 |003e: throw v8 │ │ -01892a: 0d08 |003f: move-exception v8 │ │ -01892c: 2200 fb00 |0040: new-instance v0, Ljava/io/IOException; // type@00fb │ │ -018930: 1a01 0101 |0042: const-string v1, "Cannot initialize VPN!" // string@0101 │ │ -018934: 7030 fc04 1008 |0044: invoke-direct {v0, v1, v8}, Ljava/io/IOException;.:(Ljava/lang/String;Ljava/lang/Throwable;)V // method@04fc │ │ -01893a: 2700 |0047: throw v0 │ │ +018898: |[018898] dnsfilter.android.DNSFilterService.restartVPN:(Z)V │ │ +0188a8: 5470 d600 |0000: iget-object v0, v7, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d6 │ │ +0188ac: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +0188ae: 5b71 d600 |0003: iput-object v1, v7, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d6 │ │ +0188b2: 3800 0a00 |0005: if-eqz v0, 000f // +000a │ │ +0188b6: 7120 6c02 8000 |0007: invoke-static {v0, v8}, Ldnsfilter/android/DNSFilterService$VPNRunner;.access$900:(Ldnsfilter/android/DNSFilterService$VPNRunner;Z)V // method@026c │ │ +0188bc: 1600 6400 |000a: const-wide/16 v0, #int 100 // #64 │ │ +0188c0: 7120 7f07 1000 |000c: invoke-static {v0, v1}, Lutil/Utils;.sleep:(J)V // method@077f │ │ +0188c6: 7100 8601 0000 |000f: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0186 │ │ +0188cc: 0c00 |0012: move-result-object v0 │ │ +0188ce: 6900 bd00 |0013: sput-object v0, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ +0188d2: 7020 8002 8700 |0015: invoke-direct {v7, v8}, Ldnsfilter/android/DNSFilterService;.initVPN:(Z)Landroid/os/ParcelFileDescriptor; // method@0280 │ │ +0188d8: 0c04 |0018: move-result-object v4 │ │ +0188da: 3804 1e00 |0019: if-eqz v4, 0037 // +001e │ │ +0188de: 2200 9f00 |001b: new-instance v0, Ldnsfilter/android/DNSFilterService$VPNRunner; // type@009f │ │ +0188e2: 6001 d400 |001d: sget v1, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00d4 │ │ +0188e6: d803 0101 |001f: add-int/lit8 v3, v1, #int 1 // #01 │ │ +0188ea: 6703 d400 |0021: sput v3, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00d4 │ │ +0188ee: 1206 |0023: const/4 v6, #int 0 // #0 │ │ +0188f0: 0701 |0024: move-object v1, v0 │ │ +0188f2: 0772 |0025: move-object v2, v7 │ │ +0188f4: 0185 |0026: move v5, v8 │ │ +0188f6: 7606 6b02 0100 |0027: invoke-direct/range {v1, v2, v3, v4, v5, v6}, Ldnsfilter/android/DNSFilterService$VPNRunner;.:(Ldnsfilter/android/DNSFilterService;ILandroid/os/ParcelFileDescriptor;ZLdnsfilter/android/DNSFilterService$1;)V // method@026b │ │ +0188fc: 5b70 d600 |002a: iput-object v0, v7, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d6 │ │ +018900: 2208 2a01 |002c: new-instance v8, Ljava/lang/Thread; // type@012a │ │ +018904: 5470 d600 |002e: iget-object v0, v7, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d6 │ │ +018908: 7020 9005 0800 |0030: invoke-direct {v8, v0}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ +01890e: 6e10 9605 0800 |0033: invoke-virtual {v8}, Ljava/lang/Thread;.start:()V // method@0596 │ │ +018914: 0e00 |0036: return-void │ │ +018916: 2208 fb00 |0037: new-instance v8, Ljava/io/IOException; // type@00fb │ │ +01891a: 1a00 8a01 |0039: const-string v0, "Error! Cannot get VPN interface! Try restart!" // string@018a │ │ +01891e: 7020 fb04 0800 |003b: invoke-direct {v8, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +018924: 2708 |003e: throw v8 │ │ +018926: 0d08 |003f: move-exception v8 │ │ +018928: 2200 fb00 |0040: new-instance v0, Ljava/io/IOException; // type@00fb │ │ +01892c: 1a01 0101 |0042: const-string v1, "Cannot initialize VPN!" // string@0101 │ │ +018930: 7030 fc04 1008 |0044: invoke-direct {v0, v1, v8}, Ljava/io/IOException;.:(Ljava/lang/String;Ljava/lang/Throwable;)V // method@04fc │ │ +018936: 2700 |0047: throw v0 │ │ catches : 1 │ │ 0x0015 - 0x0019 │ │ Ljava/lang/Exception; -> 0x003f │ │ positions : │ │ 0x0000 line=1007 │ │ 0x0003 line=1009 │ │ 0x0007 line=1012 │ │ @@ -13469,91 +13469,91 @@ │ │ type : '(ZLjava/lang/String;)V' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 9 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 161 16-bit code units │ │ -018984: |[018984] dnsfilter.android.DNSFilterService.runOSCommand:(ZLjava/lang/String;)V │ │ -018994: 7100 0107 0000 |0000: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01899a: 0c00 |0003: move-result-object v0 │ │ -01899c: 2201 2801 |0004: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -0189a0: 1a02 9901 |0006: const-string v2, "Exec '" // string@0199 │ │ -0189a4: 7020 8405 2100 |0008: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -0189aa: 6e20 8905 8100 |000b: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0189b0: 1a02 4000 |000e: const-string v2, "' !" // string@0040 │ │ -0189b4: 6e20 8905 2100 |0010: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0189ba: 6e10 8b05 0100 |0013: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0189c0: 0c01 |0016: move-result-object v1 │ │ -0189c2: 7220 0d07 1000 |0017: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -0189c8: 7100 5d05 0000 |001a: invoke-static {}, Ljava/lang/Runtime;.getRuntime:()Ljava/lang/Runtime; // method@055d │ │ -0189ce: 0c00 |001d: move-result-object v0 │ │ -0189d0: 1a01 ec0a |001e: const-string v1, "su" // string@0aec │ │ -0189d4: 6e20 5c05 1000 |0020: invoke-virtual {v0, v1}, Ljava/lang/Runtime;.exec:(Ljava/lang/String;)Ljava/lang/Process; // method@055c │ │ -0189da: 0c00 |0023: move-result-object v0 │ │ -0189dc: 2201 f400 |0024: new-instance v1, Ljava/io/DataOutputStream; // type@00f4 │ │ -0189e0: 6e10 5a05 0000 |0026: invoke-virtual {v0}, Ljava/lang/Process;.getOutputStream:()Ljava/io/OutputStream; // method@055a │ │ -0189e6: 0c02 |0029: move-result-object v2 │ │ -0189e8: 7020 d004 2100 |002a: invoke-direct {v1, v2}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04d0 │ │ -0189ee: 2202 2801 |002d: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -0189f2: 7010 8305 0200 |002f: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -0189f8: 6e20 8905 8200 |0032: invoke-virtual {v2, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0189fe: 1a08 0200 |0035: const-string v8, " │ │ +018980: |[018980] dnsfilter.android.DNSFilterService.runOSCommand:(ZLjava/lang/String;)V │ │ +018990: 7100 0107 0000 |0000: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +018996: 0c00 |0003: move-result-object v0 │ │ +018998: 2201 2801 |0004: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +01899c: 1a02 9901 |0006: const-string v2, "Exec '" // string@0199 │ │ +0189a0: 7020 8405 2100 |0008: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +0189a6: 6e20 8905 8100 |000b: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0189ac: 1a02 4000 |000e: const-string v2, "' !" // string@0040 │ │ +0189b0: 6e20 8905 2100 |0010: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0189b6: 6e10 8b05 0100 |0013: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0189bc: 0c01 |0016: move-result-object v1 │ │ +0189be: 7220 0d07 1000 |0017: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +0189c4: 7100 5d05 0000 |001a: invoke-static {}, Ljava/lang/Runtime;.getRuntime:()Ljava/lang/Runtime; // method@055d │ │ +0189ca: 0c00 |001d: move-result-object v0 │ │ +0189cc: 1a01 ec0a |001e: const-string v1, "su" // string@0aec │ │ +0189d0: 6e20 5c05 1000 |0020: invoke-virtual {v0, v1}, Ljava/lang/Runtime;.exec:(Ljava/lang/String;)Ljava/lang/Process; // method@055c │ │ +0189d6: 0c00 |0023: move-result-object v0 │ │ +0189d8: 2201 f400 |0024: new-instance v1, Ljava/io/DataOutputStream; // type@00f4 │ │ +0189dc: 6e10 5a05 0000 |0026: invoke-virtual {v0}, Ljava/lang/Process;.getOutputStream:()Ljava/io/OutputStream; // method@055a │ │ +0189e2: 0c02 |0029: move-result-object v2 │ │ +0189e4: 7020 d004 2100 |002a: invoke-direct {v1, v2}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04d0 │ │ +0189ea: 2202 2801 |002d: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +0189ee: 7010 8305 0200 |002f: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +0189f4: 6e20 8905 8200 |0032: invoke-virtual {v2, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0189fa: 1a08 0200 |0035: const-string v8, " │ │ " // string@0002 │ │ -018a02: 6e20 8905 8200 |0037: invoke-virtual {v2, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -018a08: 6e10 8b05 0200 |003a: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -018a0e: 0c08 |003d: move-result-object v8 │ │ -018a10: 6e20 d504 8100 |003e: invoke-virtual {v1, v8}, Ljava/io/DataOutputStream;.writeBytes:(Ljava/lang/String;)V // method@04d5 │ │ -018a16: 6e10 d204 0100 |0041: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -018a1c: 1a08 ce06 |0044: const-string v8, "exit │ │ +0189fe: 6e20 8905 8200 |0037: invoke-virtual {v2, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +018a04: 6e10 8b05 0200 |003a: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +018a0a: 0c08 |003d: move-result-object v8 │ │ +018a0c: 6e20 d504 8100 |003e: invoke-virtual {v1, v8}, Ljava/io/DataOutputStream;.writeBytes:(Ljava/lang/String;)V // method@04d5 │ │ +018a12: 6e10 d204 0100 |0041: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +018a18: 1a08 ce06 |0044: const-string v8, "exit │ │ " // string@06ce │ │ -018a20: 6e20 d504 8100 |0046: invoke-virtual {v1, v8}, Ljava/io/DataOutputStream;.writeBytes:(Ljava/lang/String;)V // method@04d5 │ │ -018a26: 6e10 d204 0100 |0049: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -018a2c: 6e10 5905 0000 |004c: invoke-virtual {v0}, Ljava/lang/Process;.getInputStream:()Ljava/io/InputStream; // method@0559 │ │ -018a32: 0c08 |004f: move-result-object v8 │ │ -018a34: 1301 0004 |0050: const/16 v1, #int 1024 // #400 │ │ -018a38: 2311 9901 |0052: new-array v1, v1, [B // type@0199 │ │ -018a3c: 6e20 0505 1800 |0054: invoke-virtual {v8, v1}, Ljava/io/InputStream;.read:([B)I // method@0505 │ │ -018a42: 0a02 |0057: move-result v2 │ │ -018a44: 1203 |0058: const/4 v3, #int 0 // #0 │ │ -018a46: 12f4 |0059: const/4 v4, #int -1 // #ff │ │ -018a48: 3242 0f00 |005a: if-eq v2, v4, 0069 // +000f │ │ -018a4c: 7100 0107 0000 |005c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -018a52: 0c04 |005f: move-result-object v4 │ │ -018a54: 2205 2601 |0060: new-instance v5, Ljava/lang/String; // type@0126 │ │ -018a58: 7040 6205 1523 |0062: invoke-direct {v5, v1, v3, v2}, Ljava/lang/String;.:([BII)V // method@0562 │ │ -018a5e: 7220 0b07 5400 |0065: invoke-interface {v4, v5}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@070b │ │ -018a64: 28ec |0068: goto 0054 // -0014 │ │ -018a66: 6e10 5805 0000 |0069: invoke-virtual {v0}, Ljava/lang/Process;.getErrorStream:()Ljava/io/InputStream; // method@0558 │ │ -018a6c: 0c08 |006c: move-result-object v8 │ │ -018a6e: 6e20 0505 1800 |006d: invoke-virtual {v8, v1}, Ljava/io/InputStream;.read:([B)I // method@0505 │ │ -018a74: 0a02 |0070: move-result v2 │ │ -018a76: 3242 0f00 |0071: if-eq v2, v4, 0080 // +000f │ │ -018a7a: 7100 0107 0000 |0073: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -018a80: 0c05 |0076: move-result-object v5 │ │ -018a82: 2206 2601 |0077: new-instance v6, Ljava/lang/String; // type@0126 │ │ -018a86: 7040 6205 1623 |0079: invoke-direct {v6, v1, v3, v2}, Ljava/lang/String;.:([BII)V // method@0562 │ │ -018a8c: 7220 0b07 6500 |007c: invoke-interface {v5, v6}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@070b │ │ -018a92: 28ee |007f: goto 006d // -0012 │ │ -018a94: 6e10 5b05 0000 |0080: invoke-virtual {v0}, Ljava/lang/Process;.waitFor:()I // method@055b │ │ -018a9a: 6e10 5705 0000 |0083: invoke-virtual {v0}, Ljava/lang/Process;.exitValue:()I // method@0557 │ │ -018aa0: 0a08 |0086: move-result v8 │ │ -018aa2: 3808 1900 |0087: if-eqz v8, 00a0 // +0019 │ │ -018aa6: 3807 0300 |0089: if-eqz v7, 008c // +0003 │ │ -018aaa: 2815 |008b: goto 00a0 // +0015 │ │ -018aac: 2207 1601 |008c: new-instance v7, Ljava/lang/Exception; // type@0116 │ │ -018ab0: 2200 2801 |008e: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ -018ab4: 1a01 8601 |0090: const-string v1, "Error in process execution: " // string@0186 │ │ -018ab8: 7020 8405 1000 |0092: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -018abe: 6e20 8605 8000 |0095: invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -018ac4: 6e10 8b05 0000 |0098: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -018aca: 0c08 |009b: move-result-object v8 │ │ -018acc: 7020 3605 8700 |009c: invoke-direct {v7, v8}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@0536 │ │ -018ad2: 2707 |009f: throw v7 │ │ -018ad4: 0e00 |00a0: return-void │ │ +018a1c: 6e20 d504 8100 |0046: invoke-virtual {v1, v8}, Ljava/io/DataOutputStream;.writeBytes:(Ljava/lang/String;)V // method@04d5 │ │ +018a22: 6e10 d204 0100 |0049: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +018a28: 6e10 5905 0000 |004c: invoke-virtual {v0}, Ljava/lang/Process;.getInputStream:()Ljava/io/InputStream; // method@0559 │ │ +018a2e: 0c08 |004f: move-result-object v8 │ │ +018a30: 1301 0004 |0050: const/16 v1, #int 1024 // #400 │ │ +018a34: 2311 9901 |0052: new-array v1, v1, [B // type@0199 │ │ +018a38: 6e20 0505 1800 |0054: invoke-virtual {v8, v1}, Ljava/io/InputStream;.read:([B)I // method@0505 │ │ +018a3e: 0a02 |0057: move-result v2 │ │ +018a40: 1203 |0058: const/4 v3, #int 0 // #0 │ │ +018a42: 12f4 |0059: const/4 v4, #int -1 // #ff │ │ +018a44: 3242 0f00 |005a: if-eq v2, v4, 0069 // +000f │ │ +018a48: 7100 0107 0000 |005c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +018a4e: 0c04 |005f: move-result-object v4 │ │ +018a50: 2205 2601 |0060: new-instance v5, Ljava/lang/String; // type@0126 │ │ +018a54: 7040 6205 1523 |0062: invoke-direct {v5, v1, v3, v2}, Ljava/lang/String;.:([BII)V // method@0562 │ │ +018a5a: 7220 0b07 5400 |0065: invoke-interface {v4, v5}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@070b │ │ +018a60: 28ec |0068: goto 0054 // -0014 │ │ +018a62: 6e10 5805 0000 |0069: invoke-virtual {v0}, Ljava/lang/Process;.getErrorStream:()Ljava/io/InputStream; // method@0558 │ │ +018a68: 0c08 |006c: move-result-object v8 │ │ +018a6a: 6e20 0505 1800 |006d: invoke-virtual {v8, v1}, Ljava/io/InputStream;.read:([B)I // method@0505 │ │ +018a70: 0a02 |0070: move-result v2 │ │ +018a72: 3242 0f00 |0071: if-eq v2, v4, 0080 // +000f │ │ +018a76: 7100 0107 0000 |0073: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +018a7c: 0c05 |0076: move-result-object v5 │ │ +018a7e: 2206 2601 |0077: new-instance v6, Ljava/lang/String; // type@0126 │ │ +018a82: 7040 6205 1623 |0079: invoke-direct {v6, v1, v3, v2}, Ljava/lang/String;.:([BII)V // method@0562 │ │ +018a88: 7220 0b07 6500 |007c: invoke-interface {v5, v6}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@070b │ │ +018a8e: 28ee |007f: goto 006d // -0012 │ │ +018a90: 6e10 5b05 0000 |0080: invoke-virtual {v0}, Ljava/lang/Process;.waitFor:()I // method@055b │ │ +018a96: 6e10 5705 0000 |0083: invoke-virtual {v0}, Ljava/lang/Process;.exitValue:()I // method@0557 │ │ +018a9c: 0a08 |0086: move-result v8 │ │ +018a9e: 3808 1900 |0087: if-eqz v8, 00a0 // +0019 │ │ +018aa2: 3807 0300 |0089: if-eqz v7, 008c // +0003 │ │ +018aa6: 2815 |008b: goto 00a0 // +0015 │ │ +018aa8: 2207 1601 |008c: new-instance v7, Ljava/lang/Exception; // type@0116 │ │ +018aac: 2200 2801 |008e: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ +018ab0: 1a01 8601 |0090: const-string v1, "Error in process execution: " // string@0186 │ │ +018ab4: 7020 8405 1000 |0092: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +018aba: 6e20 8605 8000 |0095: invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +018ac0: 6e10 8b05 0000 |0098: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +018ac6: 0c08 |009b: move-result-object v8 │ │ +018ac8: 7020 3605 8700 |009c: invoke-direct {v7, v8}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@0536 │ │ +018ace: 2707 |009f: throw v7 │ │ +018ad0: 0e00 |00a0: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=864 │ │ 0x001a line=866 │ │ 0x0024 line=867 │ │ 0x002d line=868 │ │ 0x0041 line=869 │ │ @@ -13578,24 +13578,24 @@ │ │ type : '(ZZLjava/lang/String;)V' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 20 16-bit code units │ │ -01894c: |[01894c] dnsfilter.android.DNSFilterService.runOSCommand:(ZZLjava/lang/String;)V │ │ -01895c: 3902 0600 |0000: if-nez v2, 0006 // +0006 │ │ -018960: 7120 8d02 3100 |0002: invoke-static {v1, v3}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@028d │ │ -018966: 280e |0005: goto 0013 // +000e │ │ -018968: 2202 2a01 |0006: new-instance v2, Ljava/lang/Thread; // type@012a │ │ -01896c: 2200 9d00 |0008: new-instance v0, Ldnsfilter/android/DNSFilterService$1; // type@009d │ │ -018970: 7030 6002 1003 |000a: invoke-direct {v0, v1, v3}, Ldnsfilter/android/DNSFilterService$1;.:(ZLjava/lang/String;)V // method@0260 │ │ -018976: 7020 9005 0200 |000d: invoke-direct {v2, v0}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ -01897c: 6e10 9605 0200 |0010: invoke-virtual {v2}, Ljava/lang/Thread;.start:()V // method@0596 │ │ -018982: 0e00 |0013: return-void │ │ +018948: |[018948] dnsfilter.android.DNSFilterService.runOSCommand:(ZZLjava/lang/String;)V │ │ +018958: 3902 0600 |0000: if-nez v2, 0006 // +0006 │ │ +01895c: 7120 8d02 3100 |0002: invoke-static {v1, v3}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@028d │ │ +018962: 280e |0005: goto 0013 // +000e │ │ +018964: 2202 2a01 |0006: new-instance v2, Ljava/lang/Thread; // type@012a │ │ +018968: 2200 9d00 |0008: new-instance v0, Ldnsfilter/android/DNSFilterService$1; // type@009d │ │ +01896c: 7030 6002 1003 |000a: invoke-direct {v0, v1, v3}, Ldnsfilter/android/DNSFilterService$1;.:(ZLjava/lang/String;)V // method@0260 │ │ +018972: 7020 9005 0200 |000d: invoke-direct {v2, v0}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ +018978: 6e10 9605 0200 |0010: invoke-virtual {v2}, Ljava/lang/Thread;.start:()V // method@0596 │ │ +01897e: 0e00 |0013: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=898 │ │ 0x0006 line=900 │ │ 0x0010 line=911 │ │ locals : │ │ 0x0000 - 0x0014 reg=1 (null) Z │ │ @@ -13607,46 +13607,46 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 61 16-bit code units │ │ -018ad8: |[018ad8] dnsfilter.android.DNSFilterService.setUpPortRedir:()V │ │ -018ae8: 1a00 5a08 |0000: const-string v0, "iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-port " // string@085a │ │ -018aec: 6301 c900 |0002: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.dnsProxyOnlyLocal:Z // field@00c9 │ │ -018af0: 3801 0300 |0004: if-eqz v1, 0007 // +0003 │ │ -018af4: 0e00 |0006: return-void │ │ -018af6: 6301 bf00 |0007: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.DNS_PROXY_PORT_IS_REDIRECTED:Z // field@00bf │ │ -018afa: 3801 0300 |0009: if-eqz v1, 000c // +0003 │ │ -018afe: 0e00 |000b: return-void │ │ -018b00: 2201 2801 |000c: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -018b04: 7020 8405 0100 |000e: invoke-direct {v1, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -018b0a: 6000 ca00 |0011: sget v0, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00ca │ │ -018b0e: 6e20 8605 0100 |0013: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -018b14: 6e10 8b05 0100 |0016: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -018b1a: 0c00 |0019: move-result-object v0 │ │ -018b1c: 1201 |001a: const/4 v1, #int 0 // #0 │ │ -018b1e: 7120 8d02 0100 |001b: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@028d │ │ -018b24: 1210 |001e: const/4 v0, #int 1 // #1 │ │ -018b26: 6a00 bf00 |001f: sput-boolean v0, Ldnsfilter/android/DNSFilterService;.DNS_PROXY_PORT_IS_REDIRECTED:Z // field@00bf │ │ -018b2a: 281b |0021: goto 003c // +001b │ │ -018b2c: 0d00 |0022: move-exception v0 │ │ -018b2e: 7100 0107 0000 |0023: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -018b34: 0c01 |0026: move-result-object v1 │ │ -018b36: 2202 2801 |0027: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -018b3a: 1a03 9401 |0029: const-string v3, "Exception during setting port redirection:" // string@0194 │ │ -018b3e: 7020 8405 3200 |002b: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -018b44: 6e10 3b05 0000 |002e: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@053b │ │ -018b4a: 0c00 |0031: move-result-object v0 │ │ -018b4c: 6e20 8905 0200 |0032: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -018b52: 6e10 8b05 0200 |0035: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -018b58: 0c00 |0038: move-result-object v0 │ │ -018b5a: 7220 0d07 0100 |0039: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -018b60: 0e00 |003c: return-void │ │ +018ad4: |[018ad4] dnsfilter.android.DNSFilterService.setUpPortRedir:()V │ │ +018ae4: 1a00 5a08 |0000: const-string v0, "iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-port " // string@085a │ │ +018ae8: 6301 c900 |0002: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.dnsProxyOnlyLocal:Z // field@00c9 │ │ +018aec: 3801 0300 |0004: if-eqz v1, 0007 // +0003 │ │ +018af0: 0e00 |0006: return-void │ │ +018af2: 6301 bf00 |0007: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.DNS_PROXY_PORT_IS_REDIRECTED:Z // field@00bf │ │ +018af6: 3801 0300 |0009: if-eqz v1, 000c // +0003 │ │ +018afa: 0e00 |000b: return-void │ │ +018afc: 2201 2801 |000c: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +018b00: 7020 8405 0100 |000e: invoke-direct {v1, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +018b06: 6000 ca00 |0011: sget v0, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00ca │ │ +018b0a: 6e20 8605 0100 |0013: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +018b10: 6e10 8b05 0100 |0016: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +018b16: 0c00 |0019: move-result-object v0 │ │ +018b18: 1201 |001a: const/4 v1, #int 0 // #0 │ │ +018b1a: 7120 8d02 0100 |001b: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@028d │ │ +018b20: 1210 |001e: const/4 v0, #int 1 // #1 │ │ +018b22: 6a00 bf00 |001f: sput-boolean v0, Ldnsfilter/android/DNSFilterService;.DNS_PROXY_PORT_IS_REDIRECTED:Z // field@00bf │ │ +018b26: 281b |0021: goto 003c // +001b │ │ +018b28: 0d00 |0022: move-exception v0 │ │ +018b2a: 7100 0107 0000 |0023: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +018b30: 0c01 |0026: move-result-object v1 │ │ +018b32: 2202 2801 |0027: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +018b36: 1a03 9401 |0029: const-string v3, "Exception during setting port redirection:" // string@0194 │ │ +018b3a: 7020 8405 3200 |002b: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +018b40: 6e10 3b05 0000 |002e: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@053b │ │ +018b46: 0c00 |0031: move-result-object v0 │ │ +018b48: 6e20 8905 0200 |0032: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +018b4e: 6e10 8b05 0200 |0035: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +018b54: 0c00 |0038: move-result-object v0 │ │ +018b56: 7220 0d07 0100 |0039: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +018b5c: 0e00 |003c: return-void │ │ catches : 1 │ │ 0x000c - 0x0021 │ │ Ljava/lang/Exception; -> 0x0022 │ │ positions : │ │ 0x0002 line=835 │ │ 0x0007 line=838 │ │ 0x000c line=841 │ │ @@ -13660,77 +13660,77 @@ │ │ type : '()Z' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 128 16-bit code units │ │ -017974: |[017974] dnsfilter.android.DNSFilterService.shutdown:()Z │ │ -017984: 6300 cc00 |0000: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.is_running:Z // field@00cc │ │ -017988: 1211 |0002: const/4 v1, #int 1 // #1 │ │ -01798a: 3900 0300 |0003: if-nez v0, 0006 // +0003 │ │ -01798e: 0f01 |0005: return v1 │ │ -017990: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -017992: 6202 bd00 |0007: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ -017996: 3802 1200 |0009: if-eqz v2, 001b // +0012 │ │ -01799a: 6e10 7601 0200 |000b: invoke-virtual {v2}, Ldnsfilter/DNSFilterManager;.canStop:()Z // method@0176 │ │ -0179a0: 0a02 |000e: move-result v2 │ │ -0179a2: 3902 0c00 |000f: if-nez v2, 001b // +000c │ │ -0179a6: 7100 0107 0000 |0011: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -0179ac: 0c01 |0014: move-result-object v1 │ │ -0179ae: 1a02 0a01 |0015: const-string v2, "Cannot stop - pending operation!" // string@010a │ │ -0179b2: 7220 0d07 2100 |0017: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -0179b8: 0f00 |001a: return v0 │ │ -0179ba: 7100 5d02 0000 |001b: invoke-static {}, Ldnsfilter/android/ConnectionChangeReceiver;.getInstance:()Ldnsfilter/android/ConnectionChangeReceiver; // method@025d │ │ -0179c0: 0c02 |001e: move-result-object v2 │ │ -0179c2: 6e20 9502 2500 |001f: invoke-virtual {v5, v2}, Ldnsfilter/android/DNSFilterService;.unregisterReceiver:(Landroid/content/BroadcastReceiver;)V // method@0295 │ │ -0179c8: 7100 2703 0000 |0022: invoke-static {}, Ldnsfilter/android/NotificationReceiver;.getInstance:()Ldnsfilter/android/NotificationReceiver; // method@0327 │ │ -0179ce: 0c02 |0025: move-result-object v2 │ │ -0179d0: 6e20 9502 2500 |0026: invoke-virtual {v5, v2}, Ldnsfilter/android/DNSFilterService;.unregisterReceiver:(Landroid/content/BroadcastReceiver;)V // method@0295 │ │ -0179d6: 2805 |0029: goto 002e // +0005 │ │ -0179d8: 0d02 |002a: move-exception v2 │ │ -0179da: 6e10 3805 0200 |002b: invoke-virtual {v2}, Ljava/lang/Exception;.printStackTrace:()V // method@0538 │ │ -0179e0: 6302 d200 |002e: sget-boolean v2, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00d2 │ │ -0179e4: 3802 0a00 |0030: if-eqz v2, 003a // +000a │ │ -0179e8: 6202 cb00 |0032: sget-object v2, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00cb │ │ -0179ec: 7110 6502 0200 |0034: invoke-static {v2}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.access$800:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V // method@0265 │ │ -0179f2: 7010 7602 0500 |0037: invoke-direct {v5}, Ldnsfilter/android/DNSFilterService;.clearPortRedir:()V // method@0276 │ │ -0179f8: 5452 d600 |003a: iget-object v2, v5, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d6 │ │ -0179fc: 1203 |003c: const/4 v3, #int 0 // #0 │ │ -0179fe: 5b53 d600 |003d: iput-object v3, v5, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d6 │ │ -017a02: 3802 0500 |003f: if-eqz v2, 0044 // +0005 │ │ -017a06: 7120 6c02 1200 |0041: invoke-static {v2, v1}, Ldnsfilter/android/DNSFilterService$VPNRunner;.access$900:(Ldnsfilter/android/DNSFilterService$VPNRunner;Z)V // method@026c │ │ -017a0c: 6202 be00 |0044: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTERPROXY:Ldnsfilter/DNSFilterProxy; // field@00be │ │ -017a10: 3802 1000 |0046: if-eqz v2, 0056 // +0010 │ │ -017a14: 6e10 b901 0200 |0048: invoke-virtual {v2}, Ldnsfilter/DNSFilterProxy;.stop:()V // method@01b9 │ │ -017a1a: 6903 be00 |004b: sput-object v3, Ldnsfilter/android/DNSFilterService;.DNSFILTERPROXY:Ldnsfilter/DNSFilterProxy; // field@00be │ │ -017a1e: 7100 0107 0000 |004d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -017a24: 0c02 |0050: move-result-object v2 │ │ -017a26: 1a04 3e01 |0051: const-string v4, "DNS filter proxy Mode stopped!" // string@013e │ │ -017a2a: 7220 0d07 4200 |0053: invoke-interface {v2, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -017a30: 6202 bd00 |0056: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ -017a34: 3802 1000 |0058: if-eqz v2, 0068 // +0010 │ │ -017a38: 6e10 9a01 0200 |005a: invoke-virtual {v2}, Ldnsfilter/DNSFilterManager;.stop:()V // method@019a │ │ -017a3e: 6903 bd00 |005d: sput-object v3, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ -017a42: 7100 0107 0000 |005f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -017a48: 0c02 |0062: move-result-object v2 │ │ -017a4a: 1a04 4001 |0063: const-string v4, "DNS filter stopped!" // string@0140 │ │ -017a4e: 7220 0d07 4200 |0065: invoke-interface {v2, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -017a54: 6202 c200 |0068: sget-object v2, Ldnsfilter/android/DNSFilterService;.SERVICE:Landroid/content/Intent; // field@00c2 │ │ -017a58: 6e20 9302 2500 |006a: invoke-virtual {v5, v2}, Ldnsfilter/android/DNSFilterService;.stopService:(Landroid/content/Intent;)Z // method@0293 │ │ -017a5e: 6903 c200 |006d: sput-object v3, Ldnsfilter/android/DNSFilterService;.SERVICE:Landroid/content/Intent; // field@00c2 │ │ -017a62: 6a00 cc00 |006f: sput-boolean v0, Ldnsfilter/android/DNSFilterService;.is_running:Z // field@00cc │ │ -017a66: 1602 c800 |0071: const-wide/16 v2, #int 200 // #c8 │ │ -017a6a: 7120 9505 3200 |0073: invoke-static {v2, v3}, Ljava/lang/Thread;.sleep:(J)V // method@0595 │ │ -017a70: 0f01 |0076: return v1 │ │ -017a72: 0d01 |0077: move-exception v1 │ │ -017a74: 7100 0107 0000 |0078: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -017a7a: 0c02 |007b: move-result-object v2 │ │ -017a7c: 7220 0c07 1200 |007c: invoke-interface {v2, v1}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -017a82: 0f00 |007f: return v0 │ │ +017970: |[017970] dnsfilter.android.DNSFilterService.shutdown:()Z │ │ +017980: 6300 cc00 |0000: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.is_running:Z // field@00cc │ │ +017984: 1211 |0002: const/4 v1, #int 1 // #1 │ │ +017986: 3900 0300 |0003: if-nez v0, 0006 // +0003 │ │ +01798a: 0f01 |0005: return v1 │ │ +01798c: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +01798e: 6202 bd00 |0007: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ +017992: 3802 1200 |0009: if-eqz v2, 001b // +0012 │ │ +017996: 6e10 7601 0200 |000b: invoke-virtual {v2}, Ldnsfilter/DNSFilterManager;.canStop:()Z // method@0176 │ │ +01799c: 0a02 |000e: move-result v2 │ │ +01799e: 3902 0c00 |000f: if-nez v2, 001b // +000c │ │ +0179a2: 7100 0107 0000 |0011: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +0179a8: 0c01 |0014: move-result-object v1 │ │ +0179aa: 1a02 0a01 |0015: const-string v2, "Cannot stop - pending operation!" // string@010a │ │ +0179ae: 7220 0d07 2100 |0017: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +0179b4: 0f00 |001a: return v0 │ │ +0179b6: 7100 5d02 0000 |001b: invoke-static {}, Ldnsfilter/android/ConnectionChangeReceiver;.getInstance:()Ldnsfilter/android/ConnectionChangeReceiver; // method@025d │ │ +0179bc: 0c02 |001e: move-result-object v2 │ │ +0179be: 6e20 9502 2500 |001f: invoke-virtual {v5, v2}, Ldnsfilter/android/DNSFilterService;.unregisterReceiver:(Landroid/content/BroadcastReceiver;)V // method@0295 │ │ +0179c4: 7100 2703 0000 |0022: invoke-static {}, Ldnsfilter/android/NotificationReceiver;.getInstance:()Ldnsfilter/android/NotificationReceiver; // method@0327 │ │ +0179ca: 0c02 |0025: move-result-object v2 │ │ +0179cc: 6e20 9502 2500 |0026: invoke-virtual {v5, v2}, Ldnsfilter/android/DNSFilterService;.unregisterReceiver:(Landroid/content/BroadcastReceiver;)V // method@0295 │ │ +0179d2: 2805 |0029: goto 002e // +0005 │ │ +0179d4: 0d02 |002a: move-exception v2 │ │ +0179d6: 6e10 3805 0200 |002b: invoke-virtual {v2}, Ljava/lang/Exception;.printStackTrace:()V // method@0538 │ │ +0179dc: 6302 d200 |002e: sget-boolean v2, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00d2 │ │ +0179e0: 3802 0a00 |0030: if-eqz v2, 003a // +000a │ │ +0179e4: 6202 cb00 |0032: sget-object v2, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00cb │ │ +0179e8: 7110 6502 0200 |0034: invoke-static {v2}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.access$800:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V // method@0265 │ │ +0179ee: 7010 7602 0500 |0037: invoke-direct {v5}, Ldnsfilter/android/DNSFilterService;.clearPortRedir:()V // method@0276 │ │ +0179f4: 5452 d600 |003a: iget-object v2, v5, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d6 │ │ +0179f8: 1203 |003c: const/4 v3, #int 0 // #0 │ │ +0179fa: 5b53 d600 |003d: iput-object v3, v5, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d6 │ │ +0179fe: 3802 0500 |003f: if-eqz v2, 0044 // +0005 │ │ +017a02: 7120 6c02 1200 |0041: invoke-static {v2, v1}, Ldnsfilter/android/DNSFilterService$VPNRunner;.access$900:(Ldnsfilter/android/DNSFilterService$VPNRunner;Z)V // method@026c │ │ +017a08: 6202 be00 |0044: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTERPROXY:Ldnsfilter/DNSFilterProxy; // field@00be │ │ +017a0c: 3802 1000 |0046: if-eqz v2, 0056 // +0010 │ │ +017a10: 6e10 b901 0200 |0048: invoke-virtual {v2}, Ldnsfilter/DNSFilterProxy;.stop:()V // method@01b9 │ │ +017a16: 6903 be00 |004b: sput-object v3, Ldnsfilter/android/DNSFilterService;.DNSFILTERPROXY:Ldnsfilter/DNSFilterProxy; // field@00be │ │ +017a1a: 7100 0107 0000 |004d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +017a20: 0c02 |0050: move-result-object v2 │ │ +017a22: 1a04 3e01 |0051: const-string v4, "DNS filter proxy Mode stopped!" // string@013e │ │ +017a26: 7220 0d07 4200 |0053: invoke-interface {v2, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +017a2c: 6202 bd00 |0056: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ +017a30: 3802 1000 |0058: if-eqz v2, 0068 // +0010 │ │ +017a34: 6e10 9a01 0200 |005a: invoke-virtual {v2}, Ldnsfilter/DNSFilterManager;.stop:()V // method@019a │ │ +017a3a: 6903 bd00 |005d: sput-object v3, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ +017a3e: 7100 0107 0000 |005f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +017a44: 0c02 |0062: move-result-object v2 │ │ +017a46: 1a04 4001 |0063: const-string v4, "DNS filter stopped!" // string@0140 │ │ +017a4a: 7220 0d07 4200 |0065: invoke-interface {v2, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +017a50: 6202 c200 |0068: sget-object v2, Ldnsfilter/android/DNSFilterService;.SERVICE:Landroid/content/Intent; // field@00c2 │ │ +017a54: 6e20 9302 2500 |006a: invoke-virtual {v5, v2}, Ldnsfilter/android/DNSFilterService;.stopService:(Landroid/content/Intent;)Z // method@0293 │ │ +017a5a: 6903 c200 |006d: sput-object v3, Ldnsfilter/android/DNSFilterService;.SERVICE:Landroid/content/Intent; // field@00c2 │ │ +017a5e: 6a00 cc00 |006f: sput-boolean v0, Ldnsfilter/android/DNSFilterService;.is_running:Z // field@00cc │ │ +017a62: 1602 c800 |0071: const-wide/16 v2, #int 200 // #c8 │ │ +017a66: 7120 9505 3200 |0073: invoke-static {v2, v3}, Ljava/lang/Thread;.sleep:(J)V // method@0595 │ │ +017a6c: 0f01 |0076: return v1 │ │ +017a6e: 0d01 |0077: move-exception v1 │ │ +017a70: 7100 0107 0000 |0078: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +017a76: 0c02 |007b: move-result-object v2 │ │ +017a78: 7220 0c07 1200 |007c: invoke-interface {v2, v1}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +017a7e: 0f00 |007f: return v0 │ │ catches : 3 │ │ 0x0007 - 0x001a │ │ Ljava/lang/Exception; -> 0x0077 │ │ 0x001b - 0x0029 │ │ Ljava/lang/Exception; -> 0x002a │ │ 0x002b - 0x0076 │ │ Ljava/lang/Exception; -> 0x0077 │ │ @@ -13768,38 +13768,38 @@ │ │ type : '(Z)Z' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 40 16-bit code units │ │ -017aa8: |[017aa8] dnsfilter.android.DNSFilterService.stop:(Z)Z │ │ -017ab8: 6200 c000 |0000: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00c0 │ │ -017abc: 1211 |0002: const/4 v1, #int 1 // #1 │ │ -017abe: 3900 0300 |0003: if-nez v0, 0006 // +0003 │ │ -017ac2: 0f01 |0005: return v1 │ │ -017ac4: 5502 ce00 |0006: iget-boolean v2, v0, Ldnsfilter/android/DNSFilterService;.manageDNSCryptProxy:Z // field@00ce │ │ -017ac8: 1203 |0008: const/4 v3, #int 0 // #0 │ │ -017aca: 3802 1400 |0009: if-eqz v2, 001d // +0014 │ │ -017ace: 3804 1200 |000b: if-eqz v4, 001d // +0012 │ │ -017ad2: 6204 c100 |000d: sget-object v4, Ldnsfilter/android/DNSFilterService;.KILL_DNSCRYPTPROXY:Ljava/lang/String; // field@00c1 │ │ -017ad6: 7120 8d02 4300 |000f: invoke-static {v3, v4}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@028d │ │ -017adc: 5c03 c700 |0012: iput-boolean v3, v0, Ldnsfilter/android/DNSFilterService;.dnsCryptProxyStartTriggered:Z // field@00c7 │ │ -017ae0: 2809 |0014: goto 001d // +0009 │ │ -017ae2: 0d04 |0015: move-exception v4 │ │ -017ae4: 7100 0107 0000 |0016: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -017aea: 0c02 |0019: move-result-object v2 │ │ -017aec: 7220 0c07 4200 |001a: invoke-interface {v2, v4}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -017af2: 7010 9002 0000 |001d: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService;.shutdown:()Z // method@0290 │ │ -017af8: 0a04 |0020: move-result v4 │ │ -017afa: 3804 0600 |0021: if-eqz v4, 0027 // +0006 │ │ -017afe: 1204 |0023: const/4 v4, #int 0 // #0 │ │ -017b00: 6904 c000 |0024: sput-object v4, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00c0 │ │ -017b04: 0f01 |0026: return v1 │ │ -017b06: 0f03 |0027: return v3 │ │ +017aa4: |[017aa4] dnsfilter.android.DNSFilterService.stop:(Z)Z │ │ +017ab4: 6200 c000 |0000: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00c0 │ │ +017ab8: 1211 |0002: const/4 v1, #int 1 // #1 │ │ +017aba: 3900 0300 |0003: if-nez v0, 0006 // +0003 │ │ +017abe: 0f01 |0005: return v1 │ │ +017ac0: 5502 ce00 |0006: iget-boolean v2, v0, Ldnsfilter/android/DNSFilterService;.manageDNSCryptProxy:Z // field@00ce │ │ +017ac4: 1203 |0008: const/4 v3, #int 0 // #0 │ │ +017ac6: 3802 1400 |0009: if-eqz v2, 001d // +0014 │ │ +017aca: 3804 1200 |000b: if-eqz v4, 001d // +0012 │ │ +017ace: 6204 c100 |000d: sget-object v4, Ldnsfilter/android/DNSFilterService;.KILL_DNSCRYPTPROXY:Ljava/lang/String; // field@00c1 │ │ +017ad2: 7120 8d02 4300 |000f: invoke-static {v3, v4}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@028d │ │ +017ad8: 5c03 c700 |0012: iput-boolean v3, v0, Ldnsfilter/android/DNSFilterService;.dnsCryptProxyStartTriggered:Z // field@00c7 │ │ +017adc: 2809 |0014: goto 001d // +0009 │ │ +017ade: 0d04 |0015: move-exception v4 │ │ +017ae0: 7100 0107 0000 |0016: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +017ae6: 0c02 |0019: move-result-object v2 │ │ +017ae8: 7220 0c07 4200 |001a: invoke-interface {v2, v4}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +017aee: 7010 9002 0000 |001d: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService;.shutdown:()Z // method@0290 │ │ +017af4: 0a04 |0020: move-result v4 │ │ +017af6: 3804 0600 |0021: if-eqz v4, 0027 // +0006 │ │ +017afa: 1204 |0023: const/4 v4, #int 0 // #0 │ │ +017afc: 6904 c000 |0024: sput-object v4, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00c0 │ │ +017b00: 0f01 |0026: return v1 │ │ +017b02: 0f03 |0027: return v3 │ │ catches : 1 │ │ 0x000d - 0x0014 │ │ Ljava/lang/Exception; -> 0x0015 │ │ positions : │ │ 0x0000 line=983 │ │ 0x0006 line=988 │ │ 0x000d line=990 │ │ @@ -13815,37 +13815,37 @@ │ │ type : '(I)Z' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 41 16-bit code units │ │ -017b18: |[017b18] dnsfilter.android.DNSFilterService.supportsIPVersion:(I)Z │ │ -017b28: 7100 8601 0000 |0000: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0186 │ │ -017b2e: 0c00 |0003: move-result-object v0 │ │ -017b30: 6e10 8101 0000 |0004: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ -017b36: 0c00 |0007: move-result-object v0 │ │ -017b38: 1a01 5608 |0008: const-string v1, "ipVersionSupport" // string@0856 │ │ -017b3c: 1a02 7f00 |000a: const-string v2, "4, 6" // string@007f │ │ -017b40: 6e30 3606 1002 |000c: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -017b46: 0c00 |000f: move-result-object v0 │ │ -017b48: 2201 2801 |0010: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -017b4c: 1a02 0000 |0012: const-string v2, "" // string@0000 │ │ -017b50: 7020 8405 2100 |0014: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -017b56: 6e20 8605 3100 |0017: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -017b5c: 6e10 8b05 0100 |001a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -017b62: 0c03 |001d: move-result-object v3 │ │ -017b64: 6e20 6c05 3000 |001e: invoke-virtual {v0, v3}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@056c │ │ -017b6a: 0a03 |0021: move-result v3 │ │ -017b6c: 12f0 |0022: const/4 v0, #int -1 // #ff │ │ -017b6e: 3203 0400 |0023: if-eq v3, v0, 0027 // +0004 │ │ -017b72: 1213 |0025: const/4 v3, #int 1 // #1 │ │ -017b74: 2802 |0026: goto 0028 // +0002 │ │ -017b76: 1203 |0027: const/4 v3, #int 0 // #0 │ │ -017b78: 0f03 |0028: return v3 │ │ +017b14: |[017b14] dnsfilter.android.DNSFilterService.supportsIPVersion:(I)Z │ │ +017b24: 7100 8601 0000 |0000: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0186 │ │ +017b2a: 0c00 |0003: move-result-object v0 │ │ +017b2c: 6e10 8101 0000 |0004: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ +017b32: 0c00 |0007: move-result-object v0 │ │ +017b34: 1a01 5608 |0008: const-string v1, "ipVersionSupport" // string@0856 │ │ +017b38: 1a02 7f00 |000a: const-string v2, "4, 6" // string@007f │ │ +017b3c: 6e30 3606 1002 |000c: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +017b42: 0c00 |000f: move-result-object v0 │ │ +017b44: 2201 2801 |0010: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +017b48: 1a02 0000 |0012: const-string v2, "" // string@0000 │ │ +017b4c: 7020 8405 2100 |0014: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +017b52: 6e20 8605 3100 |0017: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +017b58: 6e10 8b05 0100 |001a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +017b5e: 0c03 |001d: move-result-object v3 │ │ +017b60: 6e20 6c05 3000 |001e: invoke-virtual {v0, v3}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@056c │ │ +017b66: 0a03 |0021: move-result v3 │ │ +017b68: 12f0 |0022: const/4 v0, #int -1 // #ff │ │ +017b6a: 3203 0400 |0023: if-eq v3, v0, 0027 // +0004 │ │ +017b6e: 1213 |0025: const/4 v3, #int 1 // #1 │ │ +017b70: 2802 |0026: goto 0028 // +0002 │ │ +017b72: 1203 |0027: const/4 v3, #int 0 // #0 │ │ +017b74: 0f03 |0028: return v3 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=256 │ │ locals : │ │ 0x0000 - 0x0029 reg=3 (null) I │ │ │ │ #26 : (in Ldnsfilter/android/DNSFilterService;) │ │ @@ -13853,64 +13853,64 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 103 16-bit code units │ │ -018b74: |[018b74] dnsfilter.android.DNSFilterService.updateNotification:()V │ │ -018b84: 1a00 0009 |0000: const-string v0, "notification" // string@0900 │ │ -018b88: 6201 bd00 |0002: sget-object v1, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ -018b8c: 6e10 8101 0100 |0004: invoke-virtual {v1}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ -018b92: 0c01 |0007: move-result-object v1 │ │ -018b94: 1a02 dc06 |0008: const-string v2, "filterActive" // string@06dc │ │ -018b98: 1a03 2f0b |000a: const-string v3, "true" // string@0b2f │ │ -018b9c: 6e30 3606 2103 |000c: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -018ba2: 0c01 |000f: move-result-object v1 │ │ -018ba4: 7110 2705 0100 |0010: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -018baa: 0a01 |0013: move-result v1 │ │ -018bac: 6e10 7d02 0400 |0014: invoke-virtual {v4}, Ldnsfilter/android/DNSFilterService;.getResources:()Landroid/content/res/Resources; // method@027d │ │ -018bb2: 0c02 |0017: move-result-object v2 │ │ -018bb4: 1403 1d00 087f |0018: const v3, #float 1.80776e+38 // #7f08001d │ │ -018bba: 6e20 5100 3200 |001b: invoke-virtual {v2, v3}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0051 │ │ -018bc0: 0c02 |001e: move-result-object v2 │ │ -018bc2: 3901 0d00 |001f: if-nez v1, 002c // +000d │ │ -018bc6: 6e10 7d02 0400 |0021: invoke-virtual {v4}, Ldnsfilter/android/DNSFilterService;.getResources:()Landroid/content/res/Resources; // method@027d │ │ -018bcc: 0c02 |0024: move-result-object v2 │ │ -018bce: 1403 1e00 087f |0025: const v3, #float 1.80776e+38 // #7f08001e │ │ -018bd4: 6e20 5100 3200 |0028: invoke-virtual {v2, v3}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0051 │ │ -018bda: 0c02 |002b: move-result-object v2 │ │ -018bdc: 5443 d000 |002c: iget-object v3, v4, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00d0 │ │ -018be0: 6e20 2800 2300 |002e: invoke-virtual {v3, v2}, Landroid/app/Notification$Builder;.setContentTitle:(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder; // method@0028 │ │ -018be6: 3801 0b00 |0031: if-eqz v1, 003c // +000b │ │ -018bea: 5441 d000 |0033: iget-object v1, v4, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00d0 │ │ -018bee: 1402 2300 047f |0035: const v2, #float 1.75459e+38 // #7f040023 │ │ -018bf4: 6e20 2900 2100 |0038: invoke-virtual {v1, v2}, Landroid/app/Notification$Builder;.setSmallIcon:(I)Landroid/app/Notification$Builder; // method@0029 │ │ -018bfa: 2809 |003b: goto 0044 // +0009 │ │ -018bfc: 5441 d000 |003c: iget-object v1, v4, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00d0 │ │ -018c00: 1402 2400 047f |003e: const v2, #float 1.75459e+38 // #7f040024 │ │ -018c06: 6e20 2900 2100 |0041: invoke-virtual {v1, v2}, Landroid/app/Notification$Builder;.setSmallIcon:(I)Landroid/app/Notification$Builder; // method@0029 │ │ -018c0c: 6e20 7e02 0400 |0044: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSFilterService;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@027e │ │ -018c12: 0c01 |0047: move-result-object v1 │ │ -018c14: 1f01 0f00 |0048: check-cast v1, Landroid/app/NotificationManager; // type@000f │ │ -018c18: 1212 |004a: const/4 v2, #int 1 // #1 │ │ -018c1a: 6e20 2b00 2100 |004b: invoke-virtual {v1, v2}, Landroid/app/NotificationManager;.cancel:(I)V // method@002b │ │ -018c20: 6e20 7e02 0400 |004e: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSFilterService;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@027e │ │ -018c26: 0c00 |0051: move-result-object v0 │ │ -018c28: 1f00 0f00 |0052: check-cast v0, Landroid/app/NotificationManager; // type@000f │ │ -018c2c: 5441 d000 |0054: iget-object v1, v4, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00d0 │ │ -018c30: 6e10 2600 0100 |0056: invoke-virtual {v1}, Landroid/app/Notification$Builder;.build:()Landroid/app/Notification; // method@0026 │ │ -018c36: 0c01 |0059: move-result-object v1 │ │ -018c38: 6e30 2d00 2001 |005a: invoke-virtual {v0, v2, v1}, Landroid/app/NotificationManager;.notify:(ILandroid/app/Notification;)V // method@002d │ │ -018c3e: 2809 |005d: goto 0066 // +0009 │ │ -018c40: 0d00 |005e: move-exception v0 │ │ -018c42: 7100 0107 0000 |005f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -018c48: 0c01 |0062: move-result-object v1 │ │ -018c4a: 7220 0c07 0100 |0063: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -018c50: 0e00 |0066: return-void │ │ +018b70: |[018b70] dnsfilter.android.DNSFilterService.updateNotification:()V │ │ +018b80: 1a00 0009 |0000: const-string v0, "notification" // string@0900 │ │ +018b84: 6201 bd00 |0002: sget-object v1, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ +018b88: 6e10 8101 0100 |0004: invoke-virtual {v1}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ +018b8e: 0c01 |0007: move-result-object v1 │ │ +018b90: 1a02 dc06 |0008: const-string v2, "filterActive" // string@06dc │ │ +018b94: 1a03 2f0b |000a: const-string v3, "true" // string@0b2f │ │ +018b98: 6e30 3606 2103 |000c: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +018b9e: 0c01 |000f: move-result-object v1 │ │ +018ba0: 7110 2705 0100 |0010: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +018ba6: 0a01 |0013: move-result v1 │ │ +018ba8: 6e10 7d02 0400 |0014: invoke-virtual {v4}, Ldnsfilter/android/DNSFilterService;.getResources:()Landroid/content/res/Resources; // method@027d │ │ +018bae: 0c02 |0017: move-result-object v2 │ │ +018bb0: 1403 1d00 087f |0018: const v3, #float 1.80776e+38 // #7f08001d │ │ +018bb6: 6e20 5100 3200 |001b: invoke-virtual {v2, v3}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0051 │ │ +018bbc: 0c02 |001e: move-result-object v2 │ │ +018bbe: 3901 0d00 |001f: if-nez v1, 002c // +000d │ │ +018bc2: 6e10 7d02 0400 |0021: invoke-virtual {v4}, Ldnsfilter/android/DNSFilterService;.getResources:()Landroid/content/res/Resources; // method@027d │ │ +018bc8: 0c02 |0024: move-result-object v2 │ │ +018bca: 1403 1e00 087f |0025: const v3, #float 1.80776e+38 // #7f08001e │ │ +018bd0: 6e20 5100 3200 |0028: invoke-virtual {v2, v3}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0051 │ │ +018bd6: 0c02 |002b: move-result-object v2 │ │ +018bd8: 5443 d000 |002c: iget-object v3, v4, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00d0 │ │ +018bdc: 6e20 2800 2300 |002e: invoke-virtual {v3, v2}, Landroid/app/Notification$Builder;.setContentTitle:(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder; // method@0028 │ │ +018be2: 3801 0b00 |0031: if-eqz v1, 003c // +000b │ │ +018be6: 5441 d000 |0033: iget-object v1, v4, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00d0 │ │ +018bea: 1402 2300 047f |0035: const v2, #float 1.75459e+38 // #7f040023 │ │ +018bf0: 6e20 2900 2100 |0038: invoke-virtual {v1, v2}, Landroid/app/Notification$Builder;.setSmallIcon:(I)Landroid/app/Notification$Builder; // method@0029 │ │ +018bf6: 2809 |003b: goto 0044 // +0009 │ │ +018bf8: 5441 d000 |003c: iget-object v1, v4, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00d0 │ │ +018bfc: 1402 2400 047f |003e: const v2, #float 1.75459e+38 // #7f040024 │ │ +018c02: 6e20 2900 2100 |0041: invoke-virtual {v1, v2}, Landroid/app/Notification$Builder;.setSmallIcon:(I)Landroid/app/Notification$Builder; // method@0029 │ │ +018c08: 6e20 7e02 0400 |0044: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSFilterService;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@027e │ │ +018c0e: 0c01 |0047: move-result-object v1 │ │ +018c10: 1f01 0f00 |0048: check-cast v1, Landroid/app/NotificationManager; // type@000f │ │ +018c14: 1212 |004a: const/4 v2, #int 1 // #1 │ │ +018c16: 6e20 2b00 2100 |004b: invoke-virtual {v1, v2}, Landroid/app/NotificationManager;.cancel:(I)V // method@002b │ │ +018c1c: 6e20 7e02 0400 |004e: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSFilterService;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@027e │ │ +018c22: 0c00 |0051: move-result-object v0 │ │ +018c24: 1f00 0f00 |0052: check-cast v0, Landroid/app/NotificationManager; // type@000f │ │ +018c28: 5441 d000 |0054: iget-object v1, v4, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00d0 │ │ +018c2c: 6e10 2600 0100 |0056: invoke-virtual {v1}, Landroid/app/Notification$Builder;.build:()Landroid/app/Notification; // method@0026 │ │ +018c32: 0c01 |0059: move-result-object v1 │ │ +018c34: 6e30 2d00 2001 |005a: invoke-virtual {v0, v2, v1}, Landroid/app/NotificationManager;.notify:(ILandroid/app/Notification;)V // method@002d │ │ +018c3a: 2809 |005d: goto 0066 // +0009 │ │ +018c3c: 0d00 |005e: move-exception v0 │ │ +018c3e: 7100 0107 0000 |005f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +018c44: 0c01 |0062: move-result-object v1 │ │ +018c46: 7220 0c07 0100 |0063: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +018c4c: 0e00 |0066: return-void │ │ catches : 1 │ │ 0x0002 - 0x005d │ │ Ljava/lang/Exception; -> 0x005e │ │ positions : │ │ 0x0000 line=799 │ │ 0x0002 line=802 │ │ 0x0014 line=803 │ │ @@ -13930,22 +13930,22 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 16 16-bit code units │ │ -018700: |[018700] dnsfilter.android.DNSFilterService.onDestroy:()V │ │ -018710: 7100 0107 0000 |0000: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -018716: 0c00 |0003: move-result-object v0 │ │ -018718: 1a01 5406 |0004: const-string v1, "destroyed" // string@0654 │ │ -01871c: 7220 0d07 1000 |0006: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -018722: 7010 9002 0200 |0009: invoke-direct {v2}, Ldnsfilter/android/DNSFilterService;.shutdown:()Z // method@0290 │ │ -018728: 6f10 6f00 0200 |000c: invoke-super {v2}, Landroid/net/VpnService;.onDestroy:()V // method@006f │ │ -01872e: 0e00 |000f: return-void │ │ +0186fc: |[0186fc] dnsfilter.android.DNSFilterService.onDestroy:()V │ │ +01870c: 7100 0107 0000 |0000: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +018712: 0c00 |0003: move-result-object v0 │ │ +018714: 1a01 5406 |0004: const-string v1, "destroyed" // string@0654 │ │ +018718: 7220 0d07 1000 |0006: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +01871e: 7010 9002 0200 |0009: invoke-direct {v2}, Ldnsfilter/android/DNSFilterService;.shutdown:()Z // method@0290 │ │ +018724: 6f10 6f00 0200 |000c: invoke-super {v2}, Landroid/net/VpnService;.onDestroy:()V // method@006f │ │ +01872a: 0e00 |000f: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=928 │ │ 0x0009 line=929 │ │ 0x000c line=930 │ │ locals : │ │ 0x0000 - 0x0010 reg=2 this Ldnsfilter/android/DNSFilterService; │ │ @@ -13955,260 +13955,260 @@ │ │ type : '(Landroid/content/Intent;II)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 12 │ │ ins : 4 │ │ outs : 6 │ │ insns size : 513 16-bit code units │ │ -017b94: |[017b94] dnsfilter.android.DNSFilterService.onStartCommand:(Landroid/content/Intent;II)I │ │ -017ba4: 1a0a d506 |0000: const-string v10, "false" // string@06d5 │ │ -017ba8: 7110 0d02 0800 |0002: invoke-static {v8}, Ldnsfilter/android/AndroidEnvironment;.initEnvironment:(Landroid/content/Context;)V // method@020d │ │ -017bae: 6908 c000 |0005: sput-object v8, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00c0 │ │ -017bb2: 6909 c200 |0007: sput-object v9, Ldnsfilter/android/DNSFilterService;.SERVICE:Landroid/content/Intent; // field@00c2 │ │ -017bb6: 6209 bd00 |0009: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ -017bba: 1a0b 5009 |000b: const-string v11, "pause_resume" // string@0950 │ │ -017bbe: 1200 |000d: const/4 v0, #int 0 // #0 │ │ -017bc0: 1211 |000e: const/4 v1, #int 1 // #1 │ │ -017bc2: 3809 0d00 |000f: if-eqz v9, 001c // +000d │ │ -017bc6: 7100 0107 0000 |0011: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -017bcc: 0c09 |0014: move-result-object v9 │ │ -017bce: 1a0a 3d01 |0015: const-string v10, "DNS filter already running!" // string@013d │ │ -017bd2: 7220 0d07 a900 |0017: invoke-interface {v9, v10}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -017bd8: 2900 2a01 |001a: goto/16 0144 // +012a │ │ -017bdc: 7100 8601 0000 |001c: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0186 │ │ -017be2: 0c09 |001f: move-result-object v9 │ │ -017be4: 6909 bd00 |0020: sput-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ -017be8: 6e10 8b01 0900 |0022: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.init:()V // method@018b │ │ -017bee: 6209 bd00 |0025: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ -017bf2: 6e10 8101 0900 |0027: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ -017bf8: 0c09 |002a: move-result-object v9 │ │ -017bfa: 1a02 6306 |002b: const-string v2, "dnsProxyOnAndroid" // string@0663 │ │ -017bfe: 6e30 3606 290a |002d: invoke-virtual {v9, v2, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -017c04: 0c09 |0030: move-result-object v9 │ │ -017c06: 7110 2705 0900 |0031: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -017c0c: 0a09 |0034: move-result v9 │ │ -017c0e: 6a09 c800 |0035: sput-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c8 │ │ -017c12: 6209 bd00 |0037: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ -017c16: 6e10 8101 0900 |0039: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ -017c1c: 0c09 |003c: move-result-object v9 │ │ -017c1e: 1a02 6706 |003d: const-string v2, "dnsProxyPortAndroid" // string@0667 │ │ -017c22: 1a03 8100 |003f: const-string v3, "5300" // string@0081 │ │ -017c26: 6e30 3606 2903 |0041: invoke-virtual {v9, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -017c2c: 0c09 |0044: move-result-object v9 │ │ -017c2e: 7110 4105 0900 |0045: invoke-static {v9}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ -017c34: 0a09 |0048: move-result v9 │ │ -017c36: 6709 ca00 |0049: sput v9, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00ca │ │ -017c3a: 6209 bd00 |004b: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ -017c3e: 6e10 8101 0900 |004d: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ -017c44: 0c09 |0050: move-result-object v9 │ │ -017c46: 1a02 6506 |0051: const-string v2, "dnsProxyOnlyLocalRequests" // string@0665 │ │ -017c4a: 1a03 2f0b |0053: const-string v3, "true" // string@0b2f │ │ -017c4e: 6e30 3606 2903 |0055: invoke-virtual {v9, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -017c54: 0c09 |0058: move-result-object v9 │ │ -017c56: 7110 2705 0900 |0059: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -017c5c: 0a09 |005c: move-result v9 │ │ -017c5e: 6a09 c900 |005d: sput-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyOnlyLocal:Z // field@00c9 │ │ -017c62: 6209 bd00 |005f: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ -017c66: 6e10 8101 0900 |0061: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ -017c6c: 0c09 |0064: move-result-object v9 │ │ -017c6e: 1a02 1a0a |0065: const-string v2, "rootModeOnAndroid" // string@0a1a │ │ -017c72: 6e30 3606 290a |0067: invoke-virtual {v9, v2, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -017c78: 0c09 |006a: move-result-object v9 │ │ -017c7a: 7110 2705 0900 |006b: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -017c80: 0a09 |006e: move-result v9 │ │ -017c82: 6a09 d200 |006f: sput-boolean v9, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00d2 │ │ -017c86: 6209 bd00 |0071: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ -017c8a: 6e10 8101 0900 |0073: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ -017c90: 0c09 |0076: move-result-object v9 │ │ -017c92: 1a02 7c0b |0077: const-string v2, "vpnInAdditionToProxyMode" // string@0b7c │ │ -017c96: 6e30 3606 290a |0079: invoke-virtual {v9, v2, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -017c9c: 0c09 |007c: move-result-object v9 │ │ -017c9e: 7110 2705 0900 |007d: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -017ca4: 0a09 |0080: move-result v9 │ │ -017ca6: 6a09 d500 |0081: sput-boolean v9, Ldnsfilter/android/DNSFilterService;.vpnInAdditionToProxyMode:Z // field@00d5 │ │ -017caa: 6309 d200 |0083: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00d2 │ │ -017cae: 3809 1100 |0085: if-eqz v9, 0096 // +0011 │ │ -017cb2: 6309 c800 |0087: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c8 │ │ -017cb6: 3909 0d00 |0089: if-nez v9, 0096 // +000d │ │ -017cba: 6a00 d200 |008b: sput-boolean v0, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00d2 │ │ -017cbe: 7100 0107 0000 |008d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -017cc4: 0c09 |0090: move-result-object v9 │ │ -017cc6: 1a02 d704 |0091: const-string v2, "WARNING! Root mode only possible in combination with DNS proxy mode!" // string@04d7 │ │ -017cca: 7220 0d07 2900 |0093: invoke-interface {v9, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -017cd0: 6309 d200 |0096: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00d2 │ │ -017cd4: 3809 0c00 |0098: if-eqz v9, 00a4 // +000c │ │ -017cd8: 6209 cb00 |009a: sget-object v9, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00cb │ │ -017cdc: 7110 6402 0900 |009c: invoke-static {v9}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.access$600:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V // method@0264 │ │ -017ce2: 6209 cb00 |009f: sget-object v9, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00cb │ │ -017ce6: 7110 6302 0900 |00a1: invoke-static {v9}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.access$500:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V // method@0263 │ │ -017cec: 7100 5d02 0000 |00a4: invoke-static {}, Ldnsfilter/android/ConnectionChangeReceiver;.getInstance:()Ldnsfilter/android/ConnectionChangeReceiver; // method@025d │ │ -017cf2: 0c09 |00a7: move-result-object v9 │ │ -017cf4: 2202 1a00 |00a8: new-instance v2, Landroid/content/IntentFilter; // type@001a │ │ -017cf8: 1a03 5c05 |00aa: const-string v3, "android.net.conn.CONNECTIVITY_CHANGE" // string@055c │ │ -017cfc: 7020 4700 3200 |00ac: invoke-direct {v2, v3}, Landroid/content/IntentFilter;.:(Ljava/lang/String;)V // method@0047 │ │ -017d02: 6e30 8902 9802 |00af: invoke-virtual {v8, v9, v2}, Ldnsfilter/android/DNSFilterService;.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent; // method@0289 │ │ -017d08: 6009 0200 |00b2: sget v9, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -017d0c: 1302 2200 |00b4: const/16 v2, #int 34 // #22 │ │ -017d10: 3529 0f00 |00b6: if-ge v9, v2, 00c5 // +000f │ │ -017d14: 7100 2703 0000 |00b8: invoke-static {}, Ldnsfilter/android/NotificationReceiver;.getInstance:()Ldnsfilter/android/NotificationReceiver; // method@0327 │ │ -017d1a: 0c09 |00bb: move-result-object v9 │ │ -017d1c: 2202 1a00 |00bc: new-instance v2, Landroid/content/IntentFilter; // type@001a │ │ -017d20: 7020 4700 b200 |00be: invoke-direct {v2, v11}, Landroid/content/IntentFilter;.:(Ljava/lang/String;)V // method@0047 │ │ -017d26: 6e30 8902 9802 |00c1: invoke-virtual {v8, v9, v2}, Ldnsfilter/android/DNSFilterService;.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent; // method@0289 │ │ -017d2c: 280e |00c4: goto 00d2 // +000e │ │ -017d2e: 7100 2703 0000 |00c5: invoke-static {}, Ldnsfilter/android/NotificationReceiver;.getInstance:()Ldnsfilter/android/NotificationReceiver; // method@0327 │ │ -017d34: 0c09 |00c8: move-result-object v9 │ │ -017d36: 2202 1a00 |00c9: new-instance v2, Landroid/content/IntentFilter; // type@001a │ │ -017d3a: 7020 4700 b200 |00cb: invoke-direct {v2, v11}, Landroid/content/IntentFilter;.:(Ljava/lang/String;)V // method@0047 │ │ -017d40: 1223 |00ce: const/4 v3, #int 2 // #2 │ │ -017d42: 7140 4702 9832 |00cf: invoke-static {v8, v9, v2, v3}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSFilterService;Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;I)Landroid/content/Intent; // method@0247 │ │ -017d48: 7110 8502 0100 |00d2: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.possibleNetworkChange:(Z)V // method@0285 │ │ -017d4e: 6309 c800 |00d5: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c8 │ │ -017d52: 3809 1c00 |00d7: if-eqz v9, 00f3 // +001c │ │ -017d56: 6309 d200 |00d9: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00d2 │ │ -017d5a: 3809 0500 |00db: if-eqz v9, 00e0 // +0005 │ │ -017d5e: 7010 8f02 0800 |00dd: invoke-direct {v8}, Ldnsfilter/android/DNSFilterService;.setUpPortRedir:()V // method@028f │ │ -017d64: 2209 8800 |00e0: new-instance v9, Ldnsfilter/DNSFilterProxy; // type@0088 │ │ -017d68: 6002 ca00 |00e2: sget v2, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00ca │ │ -017d6c: 7020 b301 2900 |00e4: invoke-direct {v9, v2}, Ldnsfilter/DNSFilterProxy;.:(I)V // method@01b3 │ │ -017d72: 6909 be00 |00e7: sput-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTERPROXY:Ldnsfilter/DNSFilterProxy; // field@00be │ │ -017d76: 2209 2a01 |00e9: new-instance v9, Ljava/lang/Thread; // type@012a │ │ -017d7a: 6202 be00 |00eb: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTERPROXY:Ldnsfilter/DNSFilterProxy; // field@00be │ │ -017d7e: 7020 9005 2900 |00ed: invoke-direct {v9, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ -017d84: 6e10 9605 0900 |00f0: invoke-virtual {v9}, Ljava/lang/Thread;.start:()V // method@0596 │ │ -017d8a: 6209 bd00 |00f3: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ -017d8e: 6e10 8101 0900 |00f5: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ -017d94: 0c09 |00f8: move-result-object v9 │ │ -017d96: 1a02 ca08 |00f9: const-string v2, "manageDNSCryptProxy" // string@08ca │ │ -017d9a: 6e30 3606 290a |00fb: invoke-virtual {v9, v2, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -017da0: 0c09 |00fe: move-result-object v9 │ │ -017da2: 7110 2705 0900 |00ff: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -017da8: 0a09 |0102: move-result v9 │ │ -017daa: 5c89 ce00 |0103: iput-boolean v9, v8, Ldnsfilter/android/DNSFilterService;.manageDNSCryptProxy:Z // field@00ce │ │ -017dae: 3809 3d00 |0105: if-eqz v9, 0142 // +003d │ │ -017db2: 5589 c700 |0107: iget-boolean v9, v8, Ldnsfilter/android/DNSFilterService;.dnsCryptProxyStartTriggered:Z // field@00c7 │ │ -017db6: 3909 3900 |0109: if-nez v9, 0142 // +0039 │ │ -017dba: 6209 c100 |010b: sget-object v9, Ldnsfilter/android/DNSFilterService;.KILL_DNSCRYPTPROXY:Ljava/lang/String; // field@00c1 │ │ -017dbe: 7130 8e02 0109 |010d: invoke-static {v1, v0, v9}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZZLjava/lang/String;)V // method@028e │ │ -017dc4: 2209 2801 |0110: new-instance v9, Ljava/lang/StringBuilder; // type@0128 │ │ -017dc8: 7010 8305 0900 |0112: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -017dce: 620a c300 |0115: sget-object v10, Ldnsfilter/android/DNSFilterService;.START_DNSCRYPTPROXY:Ljava/lang/String; // field@00c3 │ │ -017dd2: 6e20 8905 a900 |0117: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -017dd8: 1a0a 0d00 |011a: const-string v10, " " // string@000d │ │ -017ddc: 6e20 8905 a900 |011c: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -017de2: 620a bd00 |011f: sget-object v10, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ -017de6: 6e10 8101 0a00 |0121: invoke-virtual {v10}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ -017dec: 0c0a |0124: move-result-object v10 │ │ -017dee: 1a02 5c06 |0125: const-string v2, "dnsCryptProxyStartOptions" // string@065c │ │ -017df2: 1a03 0000 |0127: const-string v3, "" // string@0000 │ │ -017df6: 6e30 3606 2a03 |0129: invoke-virtual {v10, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -017dfc: 0c0a |012c: move-result-object v10 │ │ -017dfe: 6e20 8905 a900 |012d: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -017e04: 6e10 8b05 0900 |0130: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -017e0a: 0c09 |0133: move-result-object v9 │ │ -017e0c: 7130 8e02 1009 |0134: invoke-static {v0, v1, v9}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZZLjava/lang/String;)V // method@028e │ │ -017e12: 5c81 c700 |0137: iput-boolean v1, v8, Ldnsfilter/android/DNSFilterService;.dnsCryptProxyStartTriggered:Z // field@00c7 │ │ -017e16: 2809 |0139: goto 0142 // +0009 │ │ -017e18: 0d09 |013a: move-exception v9 │ │ -017e1a: 7100 0107 0000 |013b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -017e20: 0c0a |013e: move-result-object v10 │ │ -017e22: 7220 0c07 9a00 |013f: invoke-interface {v10, v9}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -017e28: 6a01 cc00 |0142: sput-boolean v1, Ldnsfilter/android/DNSFilterService;.is_running:Z // field@00cc │ │ -017e2c: 2209 1900 |0144: new-instance v9, Landroid/content/Intent; // type@0019 │ │ -017e30: 1c0a ab00 |0146: const-class v10, Ldnsfilter/android/DNSProxyActivity; // type@00ab │ │ -017e34: 7030 3f00 890a |0148: invoke-direct {v9, v8, v10}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@003f │ │ -017e3a: 150a 0004 |014b: const/high16 v10, #int 67108864 // #400 │ │ -017e3e: 7140 2e00 08a9 |014d: invoke-static {v8, v0, v9, v10}, Landroid/app/PendingIntent;.getActivity:(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent; // method@002e │ │ -017e44: 0c09 |0150: move-result-object v9 │ │ -017e46: 5b89 d100 |0151: iput-object v9, v8, Ldnsfilter/android/DNSFilterService;.pendingIntent:Landroid/app/PendingIntent; // field@00d1 │ │ -017e4a: 6309 c800 |0153: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c8 │ │ -017e4e: 3809 0600 |0155: if-eqz v9, 015b // +0006 │ │ -017e52: 6309 d500 |0157: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.vpnInAdditionToProxyMode:Z // field@00d5 │ │ -017e56: 3809 2d00 |0159: if-eqz v9, 0186 // +002d │ │ -017e5a: 7020 8002 1800 |015b: invoke-direct {v8, v1}, Ldnsfilter/android/DNSFilterService;.initVPN:(Z)Landroid/os/ParcelFileDescriptor; // method@0280 │ │ -017e60: 0c05 |015e: move-result-object v5 │ │ -017e62: 3805 1e00 |015f: if-eqz v5, 017d // +001e │ │ -017e66: 2209 9f00 |0161: new-instance v9, Ldnsfilter/android/DNSFilterService$VPNRunner; // type@009f │ │ -017e6a: 600a d400 |0163: sget v10, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00d4 │ │ -017e6e: d804 0a01 |0165: add-int/lit8 v4, v10, #int 1 // #01 │ │ -017e72: 6704 d400 |0167: sput v4, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00d4 │ │ -017e76: 1216 |0169: const/4 v6, #int 1 // #1 │ │ -017e78: 1207 |016a: const/4 v7, #int 0 // #0 │ │ -017e7a: 0792 |016b: move-object v2, v9 │ │ -017e7c: 0783 |016c: move-object v3, v8 │ │ -017e7e: 7606 6b02 0200 |016d: invoke-direct/range {v2, v3, v4, v5, v6, v7}, Ldnsfilter/android/DNSFilterService$VPNRunner;.:(Ldnsfilter/android/DNSFilterService;ILandroid/os/ParcelFileDescriptor;ZLdnsfilter/android/DNSFilterService$1;)V // method@026b │ │ -017e84: 5b89 d600 |0170: iput-object v9, v8, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d6 │ │ -017e88: 2209 2a01 |0172: new-instance v9, Ljava/lang/Thread; // type@012a │ │ -017e8c: 548a d600 |0174: iget-object v10, v8, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d6 │ │ -017e90: 7020 9005 a900 |0176: invoke-direct {v9, v10}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ -017e96: 6e10 9605 0900 |0179: invoke-virtual {v9}, Ljava/lang/Thread;.start:()V // method@0596 │ │ -017e9c: 280a |017c: goto 0186 // +000a │ │ -017e9e: 7100 0107 0000 |017d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -017ea4: 0c09 |0180: move-result-object v9 │ │ -017ea6: 1a0a 8a01 |0181: const-string v10, "Error! Cannot get VPN interface! Try restart!" // string@018a │ │ -017eaa: 7220 0d07 a900 |0183: invoke-interface {v9, v10}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -017eb0: 6009 0200 |0186: sget v9, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -017eb4: 130a 1a00 |0188: const/16 v10, #int 26 // #1a │ │ -017eb8: 34a9 0e00 |018a: if-lt v9, v10, 0198 // +000e │ │ -017ebc: 2209 0c00 |018c: new-instance v9, Landroid/app/Notification$Builder; // type@000c │ │ -017ec0: 7010 7902 0800 |018e: invoke-direct {v8}, Ldnsfilter/android/DNSFilterService;.getChannel:()Ljava/lang/String; // method@0279 │ │ -017ec6: 0c0a |0191: move-result-object v10 │ │ -017ec8: 7030 2400 890a |0192: invoke-direct {v9, v8, v10}, Landroid/app/Notification$Builder;.:(Landroid/content/Context;Ljava/lang/String;)V // method@0024 │ │ -017ece: 5b89 d000 |0195: iput-object v9, v8, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00d0 │ │ -017ed2: 2808 |0197: goto 019f // +0008 │ │ -017ed4: 2209 0c00 |0198: new-instance v9, Landroid/app/Notification$Builder; // type@000c │ │ -017ed8: 7020 2300 8900 |019a: invoke-direct {v9, v8}, Landroid/app/Notification$Builder;.:(Landroid/content/Context;)V // method@0023 │ │ -017ede: 5b89 d000 |019d: iput-object v9, v8, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00d0 │ │ -017ee2: 2209 1900 |019f: new-instance v9, Landroid/content/Intent; // type@0019 │ │ -017ee6: 7010 3e00 0900 |01a1: invoke-direct {v9}, Landroid/content/Intent;.:()V // method@003e │ │ -017eec: 6e20 4600 b900 |01a4: invoke-virtual {v9, v11}, Landroid/content/Intent;.setAction:(Ljava/lang/String;)Landroid/content/Intent; // method@0046 │ │ -017ef2: 130a 3930 |01a7: const/16 v10, #int 12345 // #3039 │ │ -017ef6: 150b 000c |01a9: const/high16 v11, #int 201326592 // #c00 │ │ -017efa: 7140 2f00 a8b9 |01ab: invoke-static {v8, v10, v9, v11}, Landroid/app/PendingIntent;.getBroadcast:(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent; // method@002f │ │ -017f00: 0c09 |01ae: move-result-object v9 │ │ -017f02: 548a d000 |01af: iget-object v10, v8, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00d0 │ │ -017f06: 6e10 7d02 0800 |01b1: invoke-virtual {v8}, Ldnsfilter/android/DNSFilterService;.getResources:()Landroid/content/res/Resources; // method@027d │ │ -017f0c: 0c0b |01b4: move-result-object v11 │ │ -017f0e: 1402 1d00 087f |01b5: const v2, #float 1.80776e+38 // #7f08001d │ │ -017f14: 6e20 5100 2b00 |01b8: invoke-virtual {v11, v2}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0051 │ │ -017f1a: 0c0b |01bb: move-result-object v11 │ │ -017f1c: 6e20 2800 ba00 |01bc: invoke-virtual {v10, v11}, Landroid/app/Notification$Builder;.setContentTitle:(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder; // method@0028 │ │ -017f22: 0c0a |01bf: move-result-object v10 │ │ -017f24: 140b 2300 047f |01c0: const v11, #float 1.75459e+38 // #7f040023 │ │ -017f2a: 6e20 2900 ba00 |01c3: invoke-virtual {v10, v11}, Landroid/app/Notification$Builder;.setSmallIcon:(I)Landroid/app/Notification$Builder; // method@0029 │ │ -017f30: 0c0a |01c6: move-result-object v10 │ │ -017f32: 548b d100 |01c7: iget-object v11, v8, Ldnsfilter/android/DNSFilterService;.pendingIntent:Landroid/app/PendingIntent; // field@00d1 │ │ -017f36: 6e20 2700 ba00 |01c9: invoke-virtual {v10, v11}, Landroid/app/Notification$Builder;.setContentIntent:(Landroid/app/PendingIntent;)Landroid/app/Notification$Builder; // method@0027 │ │ -017f3c: 0c0a |01cc: move-result-object v10 │ │ -017f3e: 6e10 7d02 0800 |01cd: invoke-virtual {v8}, Ldnsfilter/android/DNSFilterService;.getResources:()Landroid/content/res/Resources; // method@027d │ │ -017f44: 0c0b |01d0: move-result-object v11 │ │ -017f46: 1402 3000 087f |01d1: const v2, #float 1.80776e+38 // #7f080030 │ │ -017f4c: 6e20 5100 2b00 |01d4: invoke-virtual {v11, v2}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0051 │ │ -017f52: 0c0b |01d7: move-result-object v11 │ │ -017f54: 6e40 2500 0a9b |01d8: invoke-virtual {v10, v0, v11, v9}, Landroid/app/Notification$Builder;.addAction:(ILjava/lang/CharSequence;Landroid/app/PendingIntent;)Landroid/app/Notification$Builder; // method@0025 │ │ -017f5a: 0c09 |01db: move-result-object v9 │ │ -017f5c: 6e10 2600 0900 |01dc: invoke-virtual {v9}, Landroid/app/Notification$Builder;.build:()Landroid/app/Notification; // method@0026 │ │ -017f62: 7010 9602 0800 |01df: invoke-direct {v8}, Ldnsfilter/android/DNSFilterService;.updateNotification:()V // method@0296 │ │ -017f68: 5489 d000 |01e2: iget-object v9, v8, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00d0 │ │ -017f6c: 6e10 2600 0900 |01e4: invoke-virtual {v9}, Landroid/app/Notification$Builder;.build:()Landroid/app/Notification; // method@0026 │ │ -017f72: 0c09 |01e7: move-result-object v9 │ │ -017f74: 6e30 9102 1809 |01e8: invoke-virtual {v8, v1, v9}, Ldnsfilter/android/DNSFilterService;.startForeground:(ILandroid/app/Notification;)V // method@0291 │ │ -017f7a: 2809 |01eb: goto 01f4 // +0009 │ │ -017f7c: 0d09 |01ec: move-exception v9 │ │ -017f7e: 7100 0107 0000 |01ed: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -017f84: 0c0a |01f0: move-result-object v10 │ │ -017f86: 7220 0c07 9a00 |01f1: invoke-interface {v10, v9}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -017f8c: 0f01 |01f4: return v1 │ │ -017f8e: 0d09 |01f5: move-exception v9 │ │ -017f90: 120a |01f6: const/4 v10, #int 0 // #0 │ │ -017f92: 690a bd00 |01f7: sput-object v10, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ -017f96: 7100 0107 0000 |01f9: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -017f9c: 0c0a |01fc: move-result-object v10 │ │ -017f9e: 7220 0c07 9a00 |01fd: invoke-interface {v10, v9}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -017fa4: 0f01 |0200: return v1 │ │ +017b90: |[017b90] dnsfilter.android.DNSFilterService.onStartCommand:(Landroid/content/Intent;II)I │ │ +017ba0: 1a0a d506 |0000: const-string v10, "false" // string@06d5 │ │ +017ba4: 7110 0d02 0800 |0002: invoke-static {v8}, Ldnsfilter/android/AndroidEnvironment;.initEnvironment:(Landroid/content/Context;)V // method@020d │ │ +017baa: 6908 c000 |0005: sput-object v8, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00c0 │ │ +017bae: 6909 c200 |0007: sput-object v9, Ldnsfilter/android/DNSFilterService;.SERVICE:Landroid/content/Intent; // field@00c2 │ │ +017bb2: 6209 bd00 |0009: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ +017bb6: 1a0b 5009 |000b: const-string v11, "pause_resume" // string@0950 │ │ +017bba: 1200 |000d: const/4 v0, #int 0 // #0 │ │ +017bbc: 1211 |000e: const/4 v1, #int 1 // #1 │ │ +017bbe: 3809 0d00 |000f: if-eqz v9, 001c // +000d │ │ +017bc2: 7100 0107 0000 |0011: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +017bc8: 0c09 |0014: move-result-object v9 │ │ +017bca: 1a0a 3d01 |0015: const-string v10, "DNS filter already running!" // string@013d │ │ +017bce: 7220 0d07 a900 |0017: invoke-interface {v9, v10}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +017bd4: 2900 2a01 |001a: goto/16 0144 // +012a │ │ +017bd8: 7100 8601 0000 |001c: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0186 │ │ +017bde: 0c09 |001f: move-result-object v9 │ │ +017be0: 6909 bd00 |0020: sput-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ +017be4: 6e10 8b01 0900 |0022: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.init:()V // method@018b │ │ +017bea: 6209 bd00 |0025: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ +017bee: 6e10 8101 0900 |0027: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ +017bf4: 0c09 |002a: move-result-object v9 │ │ +017bf6: 1a02 6306 |002b: const-string v2, "dnsProxyOnAndroid" // string@0663 │ │ +017bfa: 6e30 3606 290a |002d: invoke-virtual {v9, v2, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +017c00: 0c09 |0030: move-result-object v9 │ │ +017c02: 7110 2705 0900 |0031: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +017c08: 0a09 |0034: move-result v9 │ │ +017c0a: 6a09 c800 |0035: sput-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c8 │ │ +017c0e: 6209 bd00 |0037: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ +017c12: 6e10 8101 0900 |0039: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ +017c18: 0c09 |003c: move-result-object v9 │ │ +017c1a: 1a02 6706 |003d: const-string v2, "dnsProxyPortAndroid" // string@0667 │ │ +017c1e: 1a03 8100 |003f: const-string v3, "5300" // string@0081 │ │ +017c22: 6e30 3606 2903 |0041: invoke-virtual {v9, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +017c28: 0c09 |0044: move-result-object v9 │ │ +017c2a: 7110 4105 0900 |0045: invoke-static {v9}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ +017c30: 0a09 |0048: move-result v9 │ │ +017c32: 6709 ca00 |0049: sput v9, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00ca │ │ +017c36: 6209 bd00 |004b: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ +017c3a: 6e10 8101 0900 |004d: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ +017c40: 0c09 |0050: move-result-object v9 │ │ +017c42: 1a02 6506 |0051: const-string v2, "dnsProxyOnlyLocalRequests" // string@0665 │ │ +017c46: 1a03 2f0b |0053: const-string v3, "true" // string@0b2f │ │ +017c4a: 6e30 3606 2903 |0055: invoke-virtual {v9, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +017c50: 0c09 |0058: move-result-object v9 │ │ +017c52: 7110 2705 0900 |0059: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +017c58: 0a09 |005c: move-result v9 │ │ +017c5a: 6a09 c900 |005d: sput-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyOnlyLocal:Z // field@00c9 │ │ +017c5e: 6209 bd00 |005f: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ +017c62: 6e10 8101 0900 |0061: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ +017c68: 0c09 |0064: move-result-object v9 │ │ +017c6a: 1a02 1a0a |0065: const-string v2, "rootModeOnAndroid" // string@0a1a │ │ +017c6e: 6e30 3606 290a |0067: invoke-virtual {v9, v2, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +017c74: 0c09 |006a: move-result-object v9 │ │ +017c76: 7110 2705 0900 |006b: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +017c7c: 0a09 |006e: move-result v9 │ │ +017c7e: 6a09 d200 |006f: sput-boolean v9, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00d2 │ │ +017c82: 6209 bd00 |0071: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ +017c86: 6e10 8101 0900 |0073: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ +017c8c: 0c09 |0076: move-result-object v9 │ │ +017c8e: 1a02 7c0b |0077: const-string v2, "vpnInAdditionToProxyMode" // string@0b7c │ │ +017c92: 6e30 3606 290a |0079: invoke-virtual {v9, v2, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +017c98: 0c09 |007c: move-result-object v9 │ │ +017c9a: 7110 2705 0900 |007d: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +017ca0: 0a09 |0080: move-result v9 │ │ +017ca2: 6a09 d500 |0081: sput-boolean v9, Ldnsfilter/android/DNSFilterService;.vpnInAdditionToProxyMode:Z // field@00d5 │ │ +017ca6: 6309 d200 |0083: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00d2 │ │ +017caa: 3809 1100 |0085: if-eqz v9, 0096 // +0011 │ │ +017cae: 6309 c800 |0087: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c8 │ │ +017cb2: 3909 0d00 |0089: if-nez v9, 0096 // +000d │ │ +017cb6: 6a00 d200 |008b: sput-boolean v0, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00d2 │ │ +017cba: 7100 0107 0000 |008d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +017cc0: 0c09 |0090: move-result-object v9 │ │ +017cc2: 1a02 d704 |0091: const-string v2, "WARNING! Root mode only possible in combination with DNS proxy mode!" // string@04d7 │ │ +017cc6: 7220 0d07 2900 |0093: invoke-interface {v9, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +017ccc: 6309 d200 |0096: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00d2 │ │ +017cd0: 3809 0c00 |0098: if-eqz v9, 00a4 // +000c │ │ +017cd4: 6209 cb00 |009a: sget-object v9, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00cb │ │ +017cd8: 7110 6402 0900 |009c: invoke-static {v9}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.access$600:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V // method@0264 │ │ +017cde: 6209 cb00 |009f: sget-object v9, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00cb │ │ +017ce2: 7110 6302 0900 |00a1: invoke-static {v9}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.access$500:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V // method@0263 │ │ +017ce8: 7100 5d02 0000 |00a4: invoke-static {}, Ldnsfilter/android/ConnectionChangeReceiver;.getInstance:()Ldnsfilter/android/ConnectionChangeReceiver; // method@025d │ │ +017cee: 0c09 |00a7: move-result-object v9 │ │ +017cf0: 2202 1a00 |00a8: new-instance v2, Landroid/content/IntentFilter; // type@001a │ │ +017cf4: 1a03 5c05 |00aa: const-string v3, "android.net.conn.CONNECTIVITY_CHANGE" // string@055c │ │ +017cf8: 7020 4700 3200 |00ac: invoke-direct {v2, v3}, Landroid/content/IntentFilter;.:(Ljava/lang/String;)V // method@0047 │ │ +017cfe: 6e30 8902 9802 |00af: invoke-virtual {v8, v9, v2}, Ldnsfilter/android/DNSFilterService;.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent; // method@0289 │ │ +017d04: 6009 0200 |00b2: sget v9, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +017d08: 1302 2200 |00b4: const/16 v2, #int 34 // #22 │ │ +017d0c: 3529 0f00 |00b6: if-ge v9, v2, 00c5 // +000f │ │ +017d10: 7100 2703 0000 |00b8: invoke-static {}, Ldnsfilter/android/NotificationReceiver;.getInstance:()Ldnsfilter/android/NotificationReceiver; // method@0327 │ │ +017d16: 0c09 |00bb: move-result-object v9 │ │ +017d18: 2202 1a00 |00bc: new-instance v2, Landroid/content/IntentFilter; // type@001a │ │ +017d1c: 7020 4700 b200 |00be: invoke-direct {v2, v11}, Landroid/content/IntentFilter;.:(Ljava/lang/String;)V // method@0047 │ │ +017d22: 6e30 8902 9802 |00c1: invoke-virtual {v8, v9, v2}, Ldnsfilter/android/DNSFilterService;.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent; // method@0289 │ │ +017d28: 280e |00c4: goto 00d2 // +000e │ │ +017d2a: 7100 2703 0000 |00c5: invoke-static {}, Ldnsfilter/android/NotificationReceiver;.getInstance:()Ldnsfilter/android/NotificationReceiver; // method@0327 │ │ +017d30: 0c09 |00c8: move-result-object v9 │ │ +017d32: 2202 1a00 |00c9: new-instance v2, Landroid/content/IntentFilter; // type@001a │ │ +017d36: 7020 4700 b200 |00cb: invoke-direct {v2, v11}, Landroid/content/IntentFilter;.:(Ljava/lang/String;)V // method@0047 │ │ +017d3c: 1223 |00ce: const/4 v3, #int 2 // #2 │ │ +017d3e: 7140 4702 9832 |00cf: invoke-static {v8, v9, v2, v3}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSFilterService;Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;I)Landroid/content/Intent; // method@0247 │ │ +017d44: 7110 8502 0100 |00d2: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.possibleNetworkChange:(Z)V // method@0285 │ │ +017d4a: 6309 c800 |00d5: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c8 │ │ +017d4e: 3809 1c00 |00d7: if-eqz v9, 00f3 // +001c │ │ +017d52: 6309 d200 |00d9: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00d2 │ │ +017d56: 3809 0500 |00db: if-eqz v9, 00e0 // +0005 │ │ +017d5a: 7010 8f02 0800 |00dd: invoke-direct {v8}, Ldnsfilter/android/DNSFilterService;.setUpPortRedir:()V // method@028f │ │ +017d60: 2209 8800 |00e0: new-instance v9, Ldnsfilter/DNSFilterProxy; // type@0088 │ │ +017d64: 6002 ca00 |00e2: sget v2, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00ca │ │ +017d68: 7020 b301 2900 |00e4: invoke-direct {v9, v2}, Ldnsfilter/DNSFilterProxy;.:(I)V // method@01b3 │ │ +017d6e: 6909 be00 |00e7: sput-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTERPROXY:Ldnsfilter/DNSFilterProxy; // field@00be │ │ +017d72: 2209 2a01 |00e9: new-instance v9, Ljava/lang/Thread; // type@012a │ │ +017d76: 6202 be00 |00eb: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTERPROXY:Ldnsfilter/DNSFilterProxy; // field@00be │ │ +017d7a: 7020 9005 2900 |00ed: invoke-direct {v9, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ +017d80: 6e10 9605 0900 |00f0: invoke-virtual {v9}, Ljava/lang/Thread;.start:()V // method@0596 │ │ +017d86: 6209 bd00 |00f3: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ +017d8a: 6e10 8101 0900 |00f5: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ +017d90: 0c09 |00f8: move-result-object v9 │ │ +017d92: 1a02 ca08 |00f9: const-string v2, "manageDNSCryptProxy" // string@08ca │ │ +017d96: 6e30 3606 290a |00fb: invoke-virtual {v9, v2, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +017d9c: 0c09 |00fe: move-result-object v9 │ │ +017d9e: 7110 2705 0900 |00ff: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +017da4: 0a09 |0102: move-result v9 │ │ +017da6: 5c89 ce00 |0103: iput-boolean v9, v8, Ldnsfilter/android/DNSFilterService;.manageDNSCryptProxy:Z // field@00ce │ │ +017daa: 3809 3d00 |0105: if-eqz v9, 0142 // +003d │ │ +017dae: 5589 c700 |0107: iget-boolean v9, v8, Ldnsfilter/android/DNSFilterService;.dnsCryptProxyStartTriggered:Z // field@00c7 │ │ +017db2: 3909 3900 |0109: if-nez v9, 0142 // +0039 │ │ +017db6: 6209 c100 |010b: sget-object v9, Ldnsfilter/android/DNSFilterService;.KILL_DNSCRYPTPROXY:Ljava/lang/String; // field@00c1 │ │ +017dba: 7130 8e02 0109 |010d: invoke-static {v1, v0, v9}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZZLjava/lang/String;)V // method@028e │ │ +017dc0: 2209 2801 |0110: new-instance v9, Ljava/lang/StringBuilder; // type@0128 │ │ +017dc4: 7010 8305 0900 |0112: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +017dca: 620a c300 |0115: sget-object v10, Ldnsfilter/android/DNSFilterService;.START_DNSCRYPTPROXY:Ljava/lang/String; // field@00c3 │ │ +017dce: 6e20 8905 a900 |0117: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +017dd4: 1a0a 0d00 |011a: const-string v10, " " // string@000d │ │ +017dd8: 6e20 8905 a900 |011c: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +017dde: 620a bd00 |011f: sget-object v10, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ +017de2: 6e10 8101 0a00 |0121: invoke-virtual {v10}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ +017de8: 0c0a |0124: move-result-object v10 │ │ +017dea: 1a02 5c06 |0125: const-string v2, "dnsCryptProxyStartOptions" // string@065c │ │ +017dee: 1a03 0000 |0127: const-string v3, "" // string@0000 │ │ +017df2: 6e30 3606 2a03 |0129: invoke-virtual {v10, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +017df8: 0c0a |012c: move-result-object v10 │ │ +017dfa: 6e20 8905 a900 |012d: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +017e00: 6e10 8b05 0900 |0130: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +017e06: 0c09 |0133: move-result-object v9 │ │ +017e08: 7130 8e02 1009 |0134: invoke-static {v0, v1, v9}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZZLjava/lang/String;)V // method@028e │ │ +017e0e: 5c81 c700 |0137: iput-boolean v1, v8, Ldnsfilter/android/DNSFilterService;.dnsCryptProxyStartTriggered:Z // field@00c7 │ │ +017e12: 2809 |0139: goto 0142 // +0009 │ │ +017e14: 0d09 |013a: move-exception v9 │ │ +017e16: 7100 0107 0000 |013b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +017e1c: 0c0a |013e: move-result-object v10 │ │ +017e1e: 7220 0c07 9a00 |013f: invoke-interface {v10, v9}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +017e24: 6a01 cc00 |0142: sput-boolean v1, Ldnsfilter/android/DNSFilterService;.is_running:Z // field@00cc │ │ +017e28: 2209 1900 |0144: new-instance v9, Landroid/content/Intent; // type@0019 │ │ +017e2c: 1c0a ab00 |0146: const-class v10, Ldnsfilter/android/DNSProxyActivity; // type@00ab │ │ +017e30: 7030 3f00 890a |0148: invoke-direct {v9, v8, v10}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@003f │ │ +017e36: 150a 0004 |014b: const/high16 v10, #int 67108864 // #400 │ │ +017e3a: 7140 2e00 08a9 |014d: invoke-static {v8, v0, v9, v10}, Landroid/app/PendingIntent;.getActivity:(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent; // method@002e │ │ +017e40: 0c09 |0150: move-result-object v9 │ │ +017e42: 5b89 d100 |0151: iput-object v9, v8, Ldnsfilter/android/DNSFilterService;.pendingIntent:Landroid/app/PendingIntent; // field@00d1 │ │ +017e46: 6309 c800 |0153: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c8 │ │ +017e4a: 3809 0600 |0155: if-eqz v9, 015b // +0006 │ │ +017e4e: 6309 d500 |0157: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.vpnInAdditionToProxyMode:Z // field@00d5 │ │ +017e52: 3809 2d00 |0159: if-eqz v9, 0186 // +002d │ │ +017e56: 7020 8002 1800 |015b: invoke-direct {v8, v1}, Ldnsfilter/android/DNSFilterService;.initVPN:(Z)Landroid/os/ParcelFileDescriptor; // method@0280 │ │ +017e5c: 0c05 |015e: move-result-object v5 │ │ +017e5e: 3805 1e00 |015f: if-eqz v5, 017d // +001e │ │ +017e62: 2209 9f00 |0161: new-instance v9, Ldnsfilter/android/DNSFilterService$VPNRunner; // type@009f │ │ +017e66: 600a d400 |0163: sget v10, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00d4 │ │ +017e6a: d804 0a01 |0165: add-int/lit8 v4, v10, #int 1 // #01 │ │ +017e6e: 6704 d400 |0167: sput v4, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00d4 │ │ +017e72: 1216 |0169: const/4 v6, #int 1 // #1 │ │ +017e74: 1207 |016a: const/4 v7, #int 0 // #0 │ │ +017e76: 0792 |016b: move-object v2, v9 │ │ +017e78: 0783 |016c: move-object v3, v8 │ │ +017e7a: 7606 6b02 0200 |016d: invoke-direct/range {v2, v3, v4, v5, v6, v7}, Ldnsfilter/android/DNSFilterService$VPNRunner;.:(Ldnsfilter/android/DNSFilterService;ILandroid/os/ParcelFileDescriptor;ZLdnsfilter/android/DNSFilterService$1;)V // method@026b │ │ +017e80: 5b89 d600 |0170: iput-object v9, v8, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d6 │ │ +017e84: 2209 2a01 |0172: new-instance v9, Ljava/lang/Thread; // type@012a │ │ +017e88: 548a d600 |0174: iget-object v10, v8, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d6 │ │ +017e8c: 7020 9005 a900 |0176: invoke-direct {v9, v10}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ +017e92: 6e10 9605 0900 |0179: invoke-virtual {v9}, Ljava/lang/Thread;.start:()V // method@0596 │ │ +017e98: 280a |017c: goto 0186 // +000a │ │ +017e9a: 7100 0107 0000 |017d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +017ea0: 0c09 |0180: move-result-object v9 │ │ +017ea2: 1a0a 8a01 |0181: const-string v10, "Error! Cannot get VPN interface! Try restart!" // string@018a │ │ +017ea6: 7220 0d07 a900 |0183: invoke-interface {v9, v10}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +017eac: 6009 0200 |0186: sget v9, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +017eb0: 130a 1a00 |0188: const/16 v10, #int 26 // #1a │ │ +017eb4: 34a9 0e00 |018a: if-lt v9, v10, 0198 // +000e │ │ +017eb8: 2209 0c00 |018c: new-instance v9, Landroid/app/Notification$Builder; // type@000c │ │ +017ebc: 7010 7902 0800 |018e: invoke-direct {v8}, Ldnsfilter/android/DNSFilterService;.getChannel:()Ljava/lang/String; // method@0279 │ │ +017ec2: 0c0a |0191: move-result-object v10 │ │ +017ec4: 7030 2400 890a |0192: invoke-direct {v9, v8, v10}, Landroid/app/Notification$Builder;.:(Landroid/content/Context;Ljava/lang/String;)V // method@0024 │ │ +017eca: 5b89 d000 |0195: iput-object v9, v8, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00d0 │ │ +017ece: 2808 |0197: goto 019f // +0008 │ │ +017ed0: 2209 0c00 |0198: new-instance v9, Landroid/app/Notification$Builder; // type@000c │ │ +017ed4: 7020 2300 8900 |019a: invoke-direct {v9, v8}, Landroid/app/Notification$Builder;.:(Landroid/content/Context;)V // method@0023 │ │ +017eda: 5b89 d000 |019d: iput-object v9, v8, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00d0 │ │ +017ede: 2209 1900 |019f: new-instance v9, Landroid/content/Intent; // type@0019 │ │ +017ee2: 7010 3e00 0900 |01a1: invoke-direct {v9}, Landroid/content/Intent;.:()V // method@003e │ │ +017ee8: 6e20 4600 b900 |01a4: invoke-virtual {v9, v11}, Landroid/content/Intent;.setAction:(Ljava/lang/String;)Landroid/content/Intent; // method@0046 │ │ +017eee: 130a 3930 |01a7: const/16 v10, #int 12345 // #3039 │ │ +017ef2: 150b 000c |01a9: const/high16 v11, #int 201326592 // #c00 │ │ +017ef6: 7140 2f00 a8b9 |01ab: invoke-static {v8, v10, v9, v11}, Landroid/app/PendingIntent;.getBroadcast:(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent; // method@002f │ │ +017efc: 0c09 |01ae: move-result-object v9 │ │ +017efe: 548a d000 |01af: iget-object v10, v8, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00d0 │ │ +017f02: 6e10 7d02 0800 |01b1: invoke-virtual {v8}, Ldnsfilter/android/DNSFilterService;.getResources:()Landroid/content/res/Resources; // method@027d │ │ +017f08: 0c0b |01b4: move-result-object v11 │ │ +017f0a: 1402 1d00 087f |01b5: const v2, #float 1.80776e+38 // #7f08001d │ │ +017f10: 6e20 5100 2b00 |01b8: invoke-virtual {v11, v2}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0051 │ │ +017f16: 0c0b |01bb: move-result-object v11 │ │ +017f18: 6e20 2800 ba00 |01bc: invoke-virtual {v10, v11}, Landroid/app/Notification$Builder;.setContentTitle:(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder; // method@0028 │ │ +017f1e: 0c0a |01bf: move-result-object v10 │ │ +017f20: 140b 2300 047f |01c0: const v11, #float 1.75459e+38 // #7f040023 │ │ +017f26: 6e20 2900 ba00 |01c3: invoke-virtual {v10, v11}, Landroid/app/Notification$Builder;.setSmallIcon:(I)Landroid/app/Notification$Builder; // method@0029 │ │ +017f2c: 0c0a |01c6: move-result-object v10 │ │ +017f2e: 548b d100 |01c7: iget-object v11, v8, Ldnsfilter/android/DNSFilterService;.pendingIntent:Landroid/app/PendingIntent; // field@00d1 │ │ +017f32: 6e20 2700 ba00 |01c9: invoke-virtual {v10, v11}, Landroid/app/Notification$Builder;.setContentIntent:(Landroid/app/PendingIntent;)Landroid/app/Notification$Builder; // method@0027 │ │ +017f38: 0c0a |01cc: move-result-object v10 │ │ +017f3a: 6e10 7d02 0800 |01cd: invoke-virtual {v8}, Ldnsfilter/android/DNSFilterService;.getResources:()Landroid/content/res/Resources; // method@027d │ │ +017f40: 0c0b |01d0: move-result-object v11 │ │ +017f42: 1402 3000 087f |01d1: const v2, #float 1.80776e+38 // #7f080030 │ │ +017f48: 6e20 5100 2b00 |01d4: invoke-virtual {v11, v2}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0051 │ │ +017f4e: 0c0b |01d7: move-result-object v11 │ │ +017f50: 6e40 2500 0a9b |01d8: invoke-virtual {v10, v0, v11, v9}, Landroid/app/Notification$Builder;.addAction:(ILjava/lang/CharSequence;Landroid/app/PendingIntent;)Landroid/app/Notification$Builder; // method@0025 │ │ +017f56: 0c09 |01db: move-result-object v9 │ │ +017f58: 6e10 2600 0900 |01dc: invoke-virtual {v9}, Landroid/app/Notification$Builder;.build:()Landroid/app/Notification; // method@0026 │ │ +017f5e: 7010 9602 0800 |01df: invoke-direct {v8}, Ldnsfilter/android/DNSFilterService;.updateNotification:()V // method@0296 │ │ +017f64: 5489 d000 |01e2: iget-object v9, v8, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00d0 │ │ +017f68: 6e10 2600 0900 |01e4: invoke-virtual {v9}, Landroid/app/Notification$Builder;.build:()Landroid/app/Notification; // method@0026 │ │ +017f6e: 0c09 |01e7: move-result-object v9 │ │ +017f70: 6e30 9102 1809 |01e8: invoke-virtual {v8, v1, v9}, Ldnsfilter/android/DNSFilterService;.startForeground:(ILandroid/app/Notification;)V // method@0291 │ │ +017f76: 2809 |01eb: goto 01f4 // +0009 │ │ +017f78: 0d09 |01ec: move-exception v9 │ │ +017f7a: 7100 0107 0000 |01ed: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +017f80: 0c0a |01f0: move-result-object v10 │ │ +017f82: 7220 0c07 9a00 |01f1: invoke-interface {v10, v9}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +017f88: 0f01 |01f4: return v1 │ │ +017f8a: 0d09 |01f5: move-exception v9 │ │ +017f8c: 120a |01f6: const/4 v10, #int 0 // #0 │ │ +017f8e: 690a bd00 |01f7: sput-object v10, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00bd │ │ +017f92: 7100 0107 0000 |01f9: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +017f98: 0c0a |01fc: move-result-object v10 │ │ +017f9a: 7220 0c07 9a00 |01fd: invoke-interface {v10, v9}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +017fa0: 0f01 |0200: return v1 │ │ catches : 4 │ │ 0x001c - 0x0109 │ │ Ljava/lang/Exception; -> 0x01f5 │ │ 0x010b - 0x0139 │ │ Ljava/lang/Exception; -> 0x013a │ │ 0x013b - 0x0144 │ │ Ljava/lang/Exception; -> 0x01f5 │ │ @@ -14286,21 +14286,21 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 14 16-bit code units │ │ -018760: |[018760] dnsfilter.android.DNSFilterService.pause_resume:()V │ │ -018770: 7100 8601 0000 |0000: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0186 │ │ -018776: 0c00 |0003: move-result-object v0 │ │ -018778: 6e10 9b01 0000 |0004: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.switchBlockingActive:()V // method@019b │ │ -01877e: 7100 0003 0000 |0007: invoke-static {}, Ldnsfilter/android/DNSProxyActivity;.reloadLocalConfig:()V // method@0300 │ │ -018784: 7010 9602 0100 |000a: invoke-direct {v1}, Ldnsfilter/android/DNSFilterService;.updateNotification:()V // method@0296 │ │ -01878a: 0e00 |000d: return-void │ │ +01875c: |[01875c] dnsfilter.android.DNSFilterService.pause_resume:()V │ │ +01876c: 7100 8601 0000 |0000: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0186 │ │ +018772: 0c00 |0003: move-result-object v0 │ │ +018774: 6e10 9b01 0000 |0004: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.switchBlockingActive:()V // method@019b │ │ +01877a: 7100 0003 0000 |0007: invoke-static {}, Ldnsfilter/android/DNSProxyActivity;.reloadLocalConfig:()V // method@0300 │ │ +018780: 7010 9602 0100 |000a: invoke-direct {v1}, Ldnsfilter/android/DNSFilterService;.updateNotification:()V // method@0296 │ │ +018786: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=793 │ │ 0x0007 line=794 │ │ 0x000a line=795 │ │ locals : │ │ 0x0000 - 0x000e reg=1 this Ldnsfilter/android/DNSFilterService; │ │ @@ -14310,24 +14310,24 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 19 16-bit code units │ │ -018864: |[018864] dnsfilter.android.DNSFilterService.reload:()V │ │ -018874: 6300 c800 |0000: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c8 │ │ -018878: 1211 |0002: const/4 v1, #int 1 // #1 │ │ -01887a: 3800 0600 |0003: if-eqz v0, 0009 // +0006 │ │ -01887e: 6300 d500 |0005: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.vpnInAdditionToProxyMode:Z // field@00d5 │ │ -018882: 3800 0500 |0007: if-eqz v0, 000c // +0005 │ │ -018886: 7020 8c02 1200 |0009: invoke-direct {v2, v1}, Ldnsfilter/android/DNSFilterService;.restartVPN:(Z)V // method@028c │ │ -01888c: 7010 9602 0200 |000c: invoke-direct {v2}, Ldnsfilter/android/DNSFilterService;.updateNotification:()V // method@0296 │ │ -018892: 7110 8502 0100 |000f: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.possibleNetworkChange:(Z)V // method@0285 │ │ -018898: 0e00 |0012: return-void │ │ +018860: |[018860] dnsfilter.android.DNSFilterService.reload:()V │ │ +018870: 6300 c800 |0000: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c8 │ │ +018874: 1211 |0002: const/4 v1, #int 1 // #1 │ │ +018876: 3800 0600 |0003: if-eqz v0, 0009 // +0006 │ │ +01887a: 6300 d500 |0005: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.vpnInAdditionToProxyMode:Z // field@00d5 │ │ +01887e: 3800 0500 |0007: if-eqz v0, 000c // +0005 │ │ +018882: 7020 8c02 1200 |0009: invoke-direct {v2, v1}, Ldnsfilter/android/DNSFilterService;.restartVPN:(Z)V // method@028c │ │ +018888: 7010 9602 0200 |000c: invoke-direct {v2}, Ldnsfilter/android/DNSFilterService;.updateNotification:()V // method@0296 │ │ +01888e: 7110 8502 0100 |000f: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.possibleNetworkChange:(Z)V // method@0285 │ │ +018894: 0e00 |0012: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1036 │ │ 0x0009 line=1037 │ │ 0x000c line=1039 │ │ 0x000f line=1040 │ │ locals : │ │ @@ -14378,20 +14378,20 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity;Landroid/widget/EditText;Ljava/lang/String;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -018c64: |[018c64] dnsfilter.android.DNSProxyActivity$1.:(Ldnsfilter/android/DNSProxyActivity;Landroid/widget/EditText;Ljava/lang/String;)V │ │ -018c74: 5b01 d700 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d7 │ │ -018c78: 5b02 d900 |0002: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$1;.val$input:Landroid/widget/EditText; // field@00d9 │ │ -018c7c: 5b03 d800 |0004: iput-object v3, v0, Ldnsfilter/android/DNSProxyActivity$1;.val$code:Ljava/lang/String; // field@00d8 │ │ -018c80: 7010 4f05 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -018c86: 0e00 |0009: return-void │ │ +018c60: |[018c60] dnsfilter.android.DNSProxyActivity$1.:(Ldnsfilter/android/DNSProxyActivity;Landroid/widget/EditText;Ljava/lang/String;)V │ │ +018c70: 5b01 d700 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d7 │ │ +018c74: 5b02 d900 |0002: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$1;.val$input:Landroid/widget/EditText; // field@00d9 │ │ +018c78: 5b03 d800 |0004: iput-object v3, v0, Ldnsfilter/android/DNSProxyActivity$1;.val$code:Ljava/lang/String; // field@00d8 │ │ +018c7c: 7010 4f05 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +018c82: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=662 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Ldnsfilter/android/DNSProxyActivity$1; │ │ 0x0000 - 0x000a reg=1 (null) Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x000a reg=2 (null) Landroid/widget/EditText; │ │ @@ -14403,39 +14403,39 @@ │ │ type : '(Landroid/content/DialogInterface;I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 2 │ │ insns size : 48 16-bit code units │ │ -018c88: |[018c88] dnsfilter.android.DNSProxyActivity$1.onClick:(Landroid/content/DialogInterface;I)V │ │ -018c98: 1201 |0000: const/4 v1, #int 0 // #0 │ │ -018c9a: 6901 fb00 |0001: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fb │ │ -018c9e: 5401 d900 |0003: iget-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.val$input:Landroid/widget/EditText; // field@00d9 │ │ -018ca2: 6e10 c500 0100 |0005: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ -018ca8: 0c01 |0008: move-result-object v1 │ │ -018caa: 6e10 5405 0100 |0009: invoke-virtual {v1}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ -018cb0: 0c01 |000c: move-result-object v1 │ │ -018cb2: 5402 d800 |000d: iget-object v2, v0, Ldnsfilter/android/DNSProxyActivity$1;.val$code:Ljava/lang/String; // field@00d8 │ │ -018cb6: 6e20 6705 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -018cbc: 0a01 |0012: move-result v1 │ │ -018cbe: 3901 0f00 |0013: if-nez v1, 0022 // +000f │ │ -018cc2: 5401 d700 |0015: iget-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d7 │ │ -018cc6: 1a02 df04 |0017: const-string v2, "Wrong passcode!" // string@04df │ │ -018cca: 6e20 e402 2100 |0019: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@02e4 │ │ -018cd0: 5401 d700 |001c: iget-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d7 │ │ -018cd4: 7110 b602 0100 |001e: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.access$400:(Ldnsfilter/android/DNSProxyActivity;)V // method@02b6 │ │ -018cda: 280e |0021: goto 002f // +000e │ │ -018cdc: 5401 d700 |0022: iget-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d7 │ │ -018ce0: 1402 4100 057f |0024: const v2, #float 1.76789e+38 // #7f050041 │ │ -018ce6: 6e20 c902 2100 |0027: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -018cec: 0c01 |002a: move-result-object v1 │ │ -018cee: 1202 |002b: const/4 v2, #int 0 // #0 │ │ -018cf0: 6e20 9f00 2100 |002c: invoke-virtual {v1, v2}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -018cf6: 0e00 |002f: return-void │ │ +018c84: |[018c84] dnsfilter.android.DNSProxyActivity$1.onClick:(Landroid/content/DialogInterface;I)V │ │ +018c94: 1201 |0000: const/4 v1, #int 0 // #0 │ │ +018c96: 6901 fb00 |0001: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fb │ │ +018c9a: 5401 d900 |0003: iget-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.val$input:Landroid/widget/EditText; // field@00d9 │ │ +018c9e: 6e10 c500 0100 |0005: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ +018ca4: 0c01 |0008: move-result-object v1 │ │ +018ca6: 6e10 5405 0100 |0009: invoke-virtual {v1}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ +018cac: 0c01 |000c: move-result-object v1 │ │ +018cae: 5402 d800 |000d: iget-object v2, v0, Ldnsfilter/android/DNSProxyActivity$1;.val$code:Ljava/lang/String; // field@00d8 │ │ +018cb2: 6e20 6705 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +018cb8: 0a01 |0012: move-result v1 │ │ +018cba: 3901 0f00 |0013: if-nez v1, 0022 // +000f │ │ +018cbe: 5401 d700 |0015: iget-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d7 │ │ +018cc2: 1a02 df04 |0017: const-string v2, "Wrong passcode!" // string@04df │ │ +018cc6: 6e20 e402 2100 |0019: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@02e4 │ │ +018ccc: 5401 d700 |001c: iget-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d7 │ │ +018cd0: 7110 b602 0100 |001e: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.access$400:(Ldnsfilter/android/DNSProxyActivity;)V // method@02b6 │ │ +018cd6: 280e |0021: goto 002f // +000e │ │ +018cd8: 5401 d700 |0022: iget-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d7 │ │ +018cdc: 1402 4100 057f |0024: const v2, #float 1.76789e+38 // #7f050041 │ │ +018ce2: 6e20 c902 2100 |0027: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +018ce8: 0c01 |002a: move-result-object v1 │ │ +018cea: 1202 |002b: const/4 v2, #int 0 // #0 │ │ +018cec: 6e20 9f00 2100 |002c: invoke-virtual {v1, v2}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +018cf2: 0e00 |002f: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=665 │ │ 0x0003 line=666 │ │ 0x000d line=667 │ │ 0x0015 line=668 │ │ 0x001c line=669 │ │ @@ -14486,19 +14486,19 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity;Landroid/app/AlertDialog$Builder;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -018cf8: |[018cf8] dnsfilter.android.DNSProxyActivity$2.:(Ldnsfilter/android/DNSProxyActivity;Landroid/app/AlertDialog$Builder;)V │ │ -018d08: 5b01 da00 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$2;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00da │ │ -018d0c: 5b02 db00 |0002: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$2;.val$builder:Landroid/app/AlertDialog$Builder; // field@00db │ │ -018d10: 7010 4f05 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -018d16: 0e00 |0007: return-void │ │ +018cf4: |[018cf4] dnsfilter.android.DNSProxyActivity$2.:(Ldnsfilter/android/DNSProxyActivity;Landroid/app/AlertDialog$Builder;)V │ │ +018d04: 5b01 da00 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$2;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00da │ │ +018d08: 5b02 db00 |0002: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$2;.val$builder:Landroid/app/AlertDialog$Builder; // field@00db │ │ +018d0c: 7010 4f05 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +018d12: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=674 │ │ locals : │ │ 0x0000 - 0x0008 reg=0 this Ldnsfilter/android/DNSProxyActivity$2; │ │ 0x0000 - 0x0008 reg=1 (null) Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x0008 reg=2 (null) Landroid/app/AlertDialog$Builder; │ │ @@ -14509,26 +14509,26 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 23 16-bit code units │ │ -018d18: |[018d18] dnsfilter.android.DNSProxyActivity$2.run:()V │ │ -018d28: 5420 da00 |0000: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity$2;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00da │ │ -018d2c: 1401 4100 057f |0002: const v1, #float 1.76789e+38 // #7f050041 │ │ -018d32: 6e20 c902 1000 |0005: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -018d38: 0c00 |0008: move-result-object v0 │ │ -018d3a: 1301 0800 |0009: const/16 v1, #int 8 // #8 │ │ -018d3e: 6e20 9f00 1000 |000b: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -018d44: 5420 db00 |000e: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity$2;.val$builder:Landroid/app/AlertDialog$Builder; // field@00db │ │ -018d48: 6e10 0e00 0000 |0010: invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;.show:()Landroid/app/AlertDialog; // method@000e │ │ -018d4e: 0c00 |0013: move-result-object v0 │ │ -018d50: 6900 fb00 |0014: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fb │ │ -018d54: 0e00 |0016: return-void │ │ +018d14: |[018d14] dnsfilter.android.DNSProxyActivity$2.run:()V │ │ +018d24: 5420 da00 |0000: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity$2;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00da │ │ +018d28: 1401 4100 057f |0002: const v1, #float 1.76789e+38 // #7f050041 │ │ +018d2e: 6e20 c902 1000 |0005: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +018d34: 0c00 |0008: move-result-object v0 │ │ +018d36: 1301 0800 |0009: const/16 v1, #int 8 // #8 │ │ +018d3a: 6e20 9f00 1000 |000b: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +018d40: 5420 db00 |000e: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity$2;.val$builder:Landroid/app/AlertDialog$Builder; // field@00db │ │ +018d44: 6e10 0e00 0000 |0010: invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;.show:()Landroid/app/AlertDialog; // method@000e │ │ +018d4a: 0c00 |0013: move-result-object v0 │ │ +018d4c: 6900 fb00 |0014: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fb │ │ +018d50: 0e00 |0016: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=677 │ │ 0x000e line=678 │ │ locals : │ │ 0x0000 - 0x0017 reg=2 this Ldnsfilter/android/DNSProxyActivity$2; │ │ │ │ @@ -14567,18 +14567,18 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -018d58: |[018d58] dnsfilter.android.DNSProxyActivity$3.:(Ldnsfilter/android/DNSProxyActivity;)V │ │ -018d68: 5b01 dc00 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dc │ │ -018d6c: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -018d72: 0e00 |0005: return-void │ │ +018d54: |[018d54] dnsfilter.android.DNSProxyActivity$3.:(Ldnsfilter/android/DNSProxyActivity;)V │ │ +018d64: 5b01 dc00 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dc │ │ +018d68: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +018d6e: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=981 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Ldnsfilter/android/DNSProxyActivity$3; │ │ 0x0000 - 0x0006 reg=1 (null) Ldnsfilter/android/DNSProxyActivity; │ │ │ │ @@ -14588,183 +14588,183 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 348 16-bit code units │ │ -018d74: |[018d74] dnsfilter.android.DNSProxyActivity$3.run:()V │ │ -018d84: 6200 0e01 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -018d88: 1a01 0807 |0002: const-string v1, "footerLink" // string@0708 │ │ -018d8c: 1a02 0000 |0004: const-string v2, "" // string@0000 │ │ -018d90: 6e30 2501 1002 |0006: invoke-virtual {v0, v1, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ -018d96: 0c00 |0009: move-result-object v0 │ │ -018d98: 6900 1f01 |000a: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field_txt:Ljava/lang/String; // field@011f │ │ -018d9c: 6300 f600 |000c: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.MSG_ACTIVE:Z // field@00f6 │ │ -018da0: 3900 1600 |000e: if-nez v0, 0024 // +0016 │ │ -018da4: 6200 1d01 |0010: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ -018da8: 6201 1f01 |0012: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.link_field_txt:Ljava/lang/String; // field@011f │ │ -018dac: 7110 b202 0100 |0014: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.access$000:(Ljava/lang/String;)Landroid/text/Spanned; // method@02b2 │ │ -018db2: 0c01 |0017: move-result-object v1 │ │ -018db4: 6e20 f400 1000 |0018: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -018dba: 6200 1d01 |001b: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ -018dbe: 7100 8c00 0000 |001d: invoke-static {}, Landroid/text/method/LinkMovementMethod;.getInstance:()Landroid/text/method/MovementMethod; // method@008c │ │ -018dc4: 0c01 |0020: move-result-object v1 │ │ -018dc6: 6e20 f200 1000 |0021: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setMovementMethod:(Landroid/text/method/MovementMethod;)V // method@00f2 │ │ -018dcc: 6200 0e01 |0024: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -018dd0: 1a01 f106 |0026: const-string v1, "filterLogFormat" // string@06f1 │ │ -018dd4: 1a03 9a00 |0028: const-string v3, "($CONTENT)" // string@009a │ │ -018dd8: 6e30 2501 1003 |002a: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ -018dde: 0c00 |002d: move-result-object v0 │ │ -018de0: 6900 1701 |002e: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.filterLogFormat:Ljava/lang/String; // field@0117 │ │ -018de4: 6200 0e01 |0030: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -018de8: 1a01 1a05 |0032: const-string v1, "acceptLogFormat" // string@051a │ │ -018dec: 1a03 9900 |0034: const-string v3, "($CONTENT)" // string@0099 │ │ -018df0: 6e30 2501 1003 |0036: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ -018df6: 0c00 |0039: move-result-object v0 │ │ -018df8: 6900 fe00 |003a: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.acceptLogFormat:Ljava/lang/String; // field@00fe │ │ -018dfc: 6200 0e01 |003c: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -018e00: 1a01 1407 |003e: const-string v1, "fwdLogFormat" // string@0714 │ │ -018e04: 1a03 9c00 |0040: const-string v3, "($CONTENT)" // string@009c │ │ -018e08: 6e30 2501 1003 |0042: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ -018e0e: 0c00 |0045: move-result-object v0 │ │ -018e10: 6900 1901 |0046: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.fwdLogFormat:Ljava/lang/String; // field@0119 │ │ -018e14: 6200 0e01 |0048: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -018e18: 1a01 fe08 |004a: const-string v1, "normalLogFormat" // string@08fe │ │ -018e1c: 1a03 4400 |004c: const-string v3, "($CONTENT)" // string@0044 │ │ -018e20: 6e30 2501 1003 |004e: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ -018e26: 0c00 |0051: move-result-object v0 │ │ -018e28: 6900 2501 |0052: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.normalLogFormat:Ljava/lang/String; // field@0125 │ │ -018e2c: 6200 0e01 |0054: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -018e30: 1a01 bb08 |0056: const-string v1, "logTextSize" // string@08bb │ │ -018e34: 1a03 7700 |0058: const-string v3, "14" // string@0077 │ │ -018e38: 6e30 2501 1003 |005a: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ -018e3e: 0c00 |005d: move-result-object v0 │ │ -018e40: 7110 4105 0000 |005e: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ -018e46: 0a00 |0061: move-result v0 │ │ -018e48: 6201 2001 |0062: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -018e4c: 1223 |0064: const/4 v3, #int 2 // #2 │ │ -018e4e: 8200 |0065: int-to-float v0, v0 │ │ -018e50: 6e30 d200 3100 |0066: invoke-virtual {v1, v3, v0}, Landroid/widget/EditText;.setTextSize:(IF)V // method@00d2 │ │ -018e56: 281b |0069: goto 0084 // +001b │ │ -018e58: 0d00 |006a: move-exception v0 │ │ -018e5a: 7100 0107 0000 |006b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -018e60: 0c01 |006e: move-result-object v1 │ │ -018e62: 2203 2801 |006f: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -018e66: 1a04 8501 |0071: const-string v4, "Error in log text size setting! " // string@0185 │ │ -018e6a: 7020 8405 4300 |0073: invoke-direct {v3, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -018e70: 6e10 3b05 0000 |0076: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@053b │ │ -018e76: 0c00 |0079: move-result-object v0 │ │ -018e78: 6e20 8905 0300 |007a: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -018e7e: 6e10 8b05 0300 |007d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -018e84: 0c00 |0080: move-result-object v0 │ │ -018e86: 7220 0d07 0100 |0081: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -018e8c: 6200 0e01 |0084: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -018e90: 6e10 2601 0000 |0086: invoke-virtual {v0}, Ldnsfilter/ConfigUtil;.getConfiguredFilterLists:()[Ldnsfilter/ConfigUtil$HostFilterList; // method@0126 │ │ -018e96: 0c00 |0089: move-result-object v0 │ │ -018e98: 6201 1601 |008a: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -018e9c: 6e20 2003 0100 |008c: invoke-virtual {v1, v0}, Ldnsfilter/android/FilterConfig;.setEntries:([Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0320 │ │ -018ea2: 6200 1801 |008f: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ -018ea6: 6201 0e01 |0091: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -018eaa: 1a03 ce09 |0093: const-string v3, "reloadIntervalDays" // string@09ce │ │ -018eae: 1a04 8300 |0095: const-string v4, "7" // string@0083 │ │ -018eb2: 6e30 2501 3104 |0097: invoke-virtual {v1, v3, v4}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ -018eb8: 0c01 |009a: move-result-object v1 │ │ -018eba: 6e20 d100 1000 |009b: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ -018ec0: 6200 1301 |009e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ -018ec4: 6201 0e01 |00a0: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -018ec8: 1a03 dc06 |00a2: const-string v3, "filterActive" // string@06dc │ │ -018ecc: 1a04 2f0b |00a4: const-string v4, "true" // string@0b2f │ │ -018ed0: 6e30 2501 3104 |00a6: invoke-virtual {v1, v3, v4}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ -018ed6: 0c01 |00a9: move-result-object v1 │ │ -018ed8: 7110 2705 0100 |00aa: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -018ede: 0a01 |00ad: move-result v1 │ │ -018ee0: 6e20 b800 1000 |00ae: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -018ee6: 6200 1401 |00b1: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ -018eea: 6201 0e01 |00b3: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -018eee: 1a03 b800 |00b5: const-string v3, "AUTOSTART" // string@00b8 │ │ -018ef2: 1a05 d506 |00b7: const-string v5, "false" // string@06d5 │ │ -018ef6: 6e30 2501 3105 |00b9: invoke-virtual {v1, v3, v5}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ -018efc: 0c01 |00bc: move-result-object v1 │ │ -018efe: 7110 2705 0100 |00bd: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -018f04: 0a01 |00c0: move-result v1 │ │ -018f06: 6e20 b800 1000 |00c1: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -018f0c: 6200 1501 |00c4: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ -018f10: 6201 0e01 |00c6: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -018f14: 1a03 bb05 |00c8: const-string v3, "checkCNAME" // string@05bb │ │ -018f18: 6e30 2501 3104 |00ca: invoke-virtual {v1, v3, v4}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ -018f1e: 0c01 |00cd: move-result-object v1 │ │ -018f20: 7110 2705 0100 |00ce: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -018f26: 0a01 |00d1: move-result v1 │ │ -018f28: 6e20 b800 1000 |00d2: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -018f2e: 6200 1c01 |00d5: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ -018f32: 6201 0e01 |00d7: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -018f36: 1a03 6105 |00d9: const-string v3, "androidKeepAwake" // string@0561 │ │ -018f3a: 6e30 2501 3105 |00db: invoke-virtual {v1, v3, v5}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ -018f40: 0c01 |00de: move-result-object v1 │ │ -018f42: 7110 2705 0100 |00df: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -018f48: 0a01 |00e2: move-result v1 │ │ -018f4a: 6e20 b800 1000 |00e3: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -018f50: 6200 2901 |00e6: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -018f54: 6201 0e01 |00e8: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -018f58: 1a03 6306 |00ea: const-string v3, "dnsProxyOnAndroid" // string@0663 │ │ -018f5c: 6e30 2501 3105 |00ec: invoke-virtual {v1, v3, v5}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ -018f62: 0c01 |00ef: move-result-object v1 │ │ -018f64: 7110 2705 0100 |00f0: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -018f6a: 0a01 |00f3: move-result v1 │ │ -018f6c: 6e20 b800 1000 |00f4: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -018f72: 6200 2801 |00f7: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ -018f76: 6201 0e01 |00f9: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -018f7a: 1a03 6506 |00fb: const-string v3, "dnsProxyOnlyLocalRequests" // string@0665 │ │ -018f7e: 6e30 2501 3104 |00fd: invoke-virtual {v1, v3, v4}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ -018f84: 0c01 |0100: move-result-object v1 │ │ -018f86: 7110 2705 0100 |0101: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -018f8c: 0a01 |0104: move-result v1 │ │ -018f8e: 6e20 b800 1000 |0105: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -018f94: 6200 3001 |0108: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -018f98: 6201 0e01 |010a: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -018f9c: 1a03 1a0a |010c: const-string v3, "rootModeOnAndroid" // string@0a1a │ │ -018fa0: 6e30 2501 3105 |010e: invoke-virtual {v1, v3, v5}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ -018fa6: 0c01 |0111: move-result-object v1 │ │ -018fa8: 7110 2705 0100 |0112: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -018fae: 0a01 |0115: move-result v1 │ │ -018fb0: 6e20 b800 1000 |0116: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -018fb6: 6200 0401 |0119: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ -018fba: 6201 0e01 |011b: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -018fbe: 1a03 6005 |011d: const-string v3, "androidAppWhiteList" // string@0560 │ │ -018fc2: 6e30 2501 3102 |011f: invoke-virtual {v1, v3, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ -018fc8: 0c01 |0122: move-result-object v1 │ │ -018fca: 6e20 4302 1000 |0123: invoke-virtual {v0, v1}, Ldnsfilter/android/AppSelectorView;.setSelectedApps:(Ljava/lang/String;)V // method@0243 │ │ -018fd0: 6200 f000 |0126: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -018fd4: 6e10 4301 0000 |0128: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0143 │ │ -018fda: 0a00 |012b: move-result v0 │ │ -018fdc: 1201 |012c: const/4 v1, #int 0 // #0 │ │ -018fde: 3900 1700 |012d: if-nez v0, 0144 // +0017 │ │ -018fe2: 5460 dc00 |012f: iget-object v0, v6, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dc │ │ -018fe6: 5400 2b01 |0131: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ -018fea: 5462 dc00 |0133: iget-object v2, v6, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dc │ │ -018fee: 6e10 d002 0200 |0135: invoke-virtual {v2}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02d0 │ │ -018ff4: 0c02 |0138: move-result-object v2 │ │ -018ff6: 1403 2b00 047f |0139: const v3, #float 1.75459e+38 // #7f04002b │ │ -018ffc: 6e20 5000 3200 |013c: invoke-virtual {v2, v3}, Landroid/content/res/Resources;.getDrawable:(I)Landroid/graphics/drawable/Drawable; // method@0050 │ │ -019002: 0c02 |013f: move-result-object v2 │ │ -019004: 6e51 af00 1021 |0140: invoke-virtual {v0, v1, v1, v2, v1}, Landroid/widget/Button;.setCompoundDrawablesWithIntrinsicBounds:(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V // method@00af │ │ -01900a: 2815 |0143: goto 0158 // +0015 │ │ -01900c: 5460 dc00 |0144: iget-object v0, v6, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dc │ │ -019010: 5400 2b01 |0146: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ -019014: 5462 dc00 |0148: iget-object v2, v6, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dc │ │ -019018: 6e10 d002 0200 |014a: invoke-virtual {v2}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02d0 │ │ -01901e: 0c02 |014d: move-result-object v2 │ │ -019020: 1403 2c00 047f |014e: const v3, #float 1.75459e+38 // #7f04002c │ │ -019026: 6e20 5000 3200 |0151: invoke-virtual {v2, v3}, Landroid/content/res/Resources;.getDrawable:(I)Landroid/graphics/drawable/Drawable; // method@0050 │ │ -01902c: 0c02 |0154: move-result-object v2 │ │ -01902e: 6e51 af00 1021 |0155: invoke-virtual {v0, v1, v1, v2, v1}, Landroid/widget/Button;.setCompoundDrawablesWithIntrinsicBounds:(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V // method@00af │ │ -019034: 1200 |0158: const/4 v0, #int 0 // #0 │ │ -019036: 6a00 3801 |0159: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ -01903a: 0e00 |015b: return-void │ │ +018d70: |[018d70] dnsfilter.android.DNSProxyActivity$3.run:()V │ │ +018d80: 6200 0e01 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +018d84: 1a01 0807 |0002: const-string v1, "footerLink" // string@0708 │ │ +018d88: 1a02 0000 |0004: const-string v2, "" // string@0000 │ │ +018d8c: 6e30 2501 1002 |0006: invoke-virtual {v0, v1, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ +018d92: 0c00 |0009: move-result-object v0 │ │ +018d94: 6900 1f01 |000a: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field_txt:Ljava/lang/String; // field@011f │ │ +018d98: 6300 f600 |000c: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.MSG_ACTIVE:Z // field@00f6 │ │ +018d9c: 3900 1600 |000e: if-nez v0, 0024 // +0016 │ │ +018da0: 6200 1d01 |0010: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ +018da4: 6201 1f01 |0012: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.link_field_txt:Ljava/lang/String; // field@011f │ │ +018da8: 7110 b202 0100 |0014: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.access$000:(Ljava/lang/String;)Landroid/text/Spanned; // method@02b2 │ │ +018dae: 0c01 |0017: move-result-object v1 │ │ +018db0: 6e20 f400 1000 |0018: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +018db6: 6200 1d01 |001b: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ +018dba: 7100 8c00 0000 |001d: invoke-static {}, Landroid/text/method/LinkMovementMethod;.getInstance:()Landroid/text/method/MovementMethod; // method@008c │ │ +018dc0: 0c01 |0020: move-result-object v1 │ │ +018dc2: 6e20 f200 1000 |0021: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setMovementMethod:(Landroid/text/method/MovementMethod;)V // method@00f2 │ │ +018dc8: 6200 0e01 |0024: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +018dcc: 1a01 f106 |0026: const-string v1, "filterLogFormat" // string@06f1 │ │ +018dd0: 1a03 9a00 |0028: const-string v3, "($CONTENT)" // string@009a │ │ +018dd4: 6e30 2501 1003 |002a: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ +018dda: 0c00 |002d: move-result-object v0 │ │ +018ddc: 6900 1701 |002e: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.filterLogFormat:Ljava/lang/String; // field@0117 │ │ +018de0: 6200 0e01 |0030: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +018de4: 1a01 1a05 |0032: const-string v1, "acceptLogFormat" // string@051a │ │ +018de8: 1a03 9900 |0034: const-string v3, "($CONTENT)" // string@0099 │ │ +018dec: 6e30 2501 1003 |0036: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ +018df2: 0c00 |0039: move-result-object v0 │ │ +018df4: 6900 fe00 |003a: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.acceptLogFormat:Ljava/lang/String; // field@00fe │ │ +018df8: 6200 0e01 |003c: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +018dfc: 1a01 1407 |003e: const-string v1, "fwdLogFormat" // string@0714 │ │ +018e00: 1a03 9c00 |0040: const-string v3, "($CONTENT)" // string@009c │ │ +018e04: 6e30 2501 1003 |0042: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ +018e0a: 0c00 |0045: move-result-object v0 │ │ +018e0c: 6900 1901 |0046: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.fwdLogFormat:Ljava/lang/String; // field@0119 │ │ +018e10: 6200 0e01 |0048: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +018e14: 1a01 fe08 |004a: const-string v1, "normalLogFormat" // string@08fe │ │ +018e18: 1a03 4400 |004c: const-string v3, "($CONTENT)" // string@0044 │ │ +018e1c: 6e30 2501 1003 |004e: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ +018e22: 0c00 |0051: move-result-object v0 │ │ +018e24: 6900 2501 |0052: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.normalLogFormat:Ljava/lang/String; // field@0125 │ │ +018e28: 6200 0e01 |0054: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +018e2c: 1a01 bb08 |0056: const-string v1, "logTextSize" // string@08bb │ │ +018e30: 1a03 7700 |0058: const-string v3, "14" // string@0077 │ │ +018e34: 6e30 2501 1003 |005a: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ +018e3a: 0c00 |005d: move-result-object v0 │ │ +018e3c: 7110 4105 0000 |005e: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ +018e42: 0a00 |0061: move-result v0 │ │ +018e44: 6201 2001 |0062: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +018e48: 1223 |0064: const/4 v3, #int 2 // #2 │ │ +018e4a: 8200 |0065: int-to-float v0, v0 │ │ +018e4c: 6e30 d200 3100 |0066: invoke-virtual {v1, v3, v0}, Landroid/widget/EditText;.setTextSize:(IF)V // method@00d2 │ │ +018e52: 281b |0069: goto 0084 // +001b │ │ +018e54: 0d00 |006a: move-exception v0 │ │ +018e56: 7100 0107 0000 |006b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +018e5c: 0c01 |006e: move-result-object v1 │ │ +018e5e: 2203 2801 |006f: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +018e62: 1a04 8501 |0071: const-string v4, "Error in log text size setting! " // string@0185 │ │ +018e66: 7020 8405 4300 |0073: invoke-direct {v3, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +018e6c: 6e10 3b05 0000 |0076: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@053b │ │ +018e72: 0c00 |0079: move-result-object v0 │ │ +018e74: 6e20 8905 0300 |007a: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +018e7a: 6e10 8b05 0300 |007d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +018e80: 0c00 |0080: move-result-object v0 │ │ +018e82: 7220 0d07 0100 |0081: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +018e88: 6200 0e01 |0084: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +018e8c: 6e10 2601 0000 |0086: invoke-virtual {v0}, Ldnsfilter/ConfigUtil;.getConfiguredFilterLists:()[Ldnsfilter/ConfigUtil$HostFilterList; // method@0126 │ │ +018e92: 0c00 |0089: move-result-object v0 │ │ +018e94: 6201 1601 |008a: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +018e98: 6e20 2003 0100 |008c: invoke-virtual {v1, v0}, Ldnsfilter/android/FilterConfig;.setEntries:([Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0320 │ │ +018e9e: 6200 1801 |008f: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ +018ea2: 6201 0e01 |0091: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +018ea6: 1a03 ce09 |0093: const-string v3, "reloadIntervalDays" // string@09ce │ │ +018eaa: 1a04 8300 |0095: const-string v4, "7" // string@0083 │ │ +018eae: 6e30 2501 3104 |0097: invoke-virtual {v1, v3, v4}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ +018eb4: 0c01 |009a: move-result-object v1 │ │ +018eb6: 6e20 d100 1000 |009b: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ +018ebc: 6200 1301 |009e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ +018ec0: 6201 0e01 |00a0: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +018ec4: 1a03 dc06 |00a2: const-string v3, "filterActive" // string@06dc │ │ +018ec8: 1a04 2f0b |00a4: const-string v4, "true" // string@0b2f │ │ +018ecc: 6e30 2501 3104 |00a6: invoke-virtual {v1, v3, v4}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ +018ed2: 0c01 |00a9: move-result-object v1 │ │ +018ed4: 7110 2705 0100 |00aa: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +018eda: 0a01 |00ad: move-result v1 │ │ +018edc: 6e20 b800 1000 |00ae: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +018ee2: 6200 1401 |00b1: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ +018ee6: 6201 0e01 |00b3: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +018eea: 1a03 b800 |00b5: const-string v3, "AUTOSTART" // string@00b8 │ │ +018eee: 1a05 d506 |00b7: const-string v5, "false" // string@06d5 │ │ +018ef2: 6e30 2501 3105 |00b9: invoke-virtual {v1, v3, v5}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ +018ef8: 0c01 |00bc: move-result-object v1 │ │ +018efa: 7110 2705 0100 |00bd: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +018f00: 0a01 |00c0: move-result v1 │ │ +018f02: 6e20 b800 1000 |00c1: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +018f08: 6200 1501 |00c4: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ +018f0c: 6201 0e01 |00c6: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +018f10: 1a03 bb05 |00c8: const-string v3, "checkCNAME" // string@05bb │ │ +018f14: 6e30 2501 3104 |00ca: invoke-virtual {v1, v3, v4}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ +018f1a: 0c01 |00cd: move-result-object v1 │ │ +018f1c: 7110 2705 0100 |00ce: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +018f22: 0a01 |00d1: move-result v1 │ │ +018f24: 6e20 b800 1000 |00d2: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +018f2a: 6200 1c01 |00d5: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ +018f2e: 6201 0e01 |00d7: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +018f32: 1a03 6105 |00d9: const-string v3, "androidKeepAwake" // string@0561 │ │ +018f36: 6e30 2501 3105 |00db: invoke-virtual {v1, v3, v5}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ +018f3c: 0c01 |00de: move-result-object v1 │ │ +018f3e: 7110 2705 0100 |00df: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +018f44: 0a01 |00e2: move-result v1 │ │ +018f46: 6e20 b800 1000 |00e3: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +018f4c: 6200 2901 |00e6: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +018f50: 6201 0e01 |00e8: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +018f54: 1a03 6306 |00ea: const-string v3, "dnsProxyOnAndroid" // string@0663 │ │ +018f58: 6e30 2501 3105 |00ec: invoke-virtual {v1, v3, v5}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ +018f5e: 0c01 |00ef: move-result-object v1 │ │ +018f60: 7110 2705 0100 |00f0: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +018f66: 0a01 |00f3: move-result v1 │ │ +018f68: 6e20 b800 1000 |00f4: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +018f6e: 6200 2801 |00f7: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ +018f72: 6201 0e01 |00f9: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +018f76: 1a03 6506 |00fb: const-string v3, "dnsProxyOnlyLocalRequests" // string@0665 │ │ +018f7a: 6e30 2501 3104 |00fd: invoke-virtual {v1, v3, v4}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ +018f80: 0c01 |0100: move-result-object v1 │ │ +018f82: 7110 2705 0100 |0101: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +018f88: 0a01 |0104: move-result v1 │ │ +018f8a: 6e20 b800 1000 |0105: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +018f90: 6200 3001 |0108: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +018f94: 6201 0e01 |010a: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +018f98: 1a03 1a0a |010c: const-string v3, "rootModeOnAndroid" // string@0a1a │ │ +018f9c: 6e30 2501 3105 |010e: invoke-virtual {v1, v3, v5}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ +018fa2: 0c01 |0111: move-result-object v1 │ │ +018fa4: 7110 2705 0100 |0112: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +018faa: 0a01 |0115: move-result v1 │ │ +018fac: 6e20 b800 1000 |0116: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +018fb2: 6200 0401 |0119: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ +018fb6: 6201 0e01 |011b: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +018fba: 1a03 6005 |011d: const-string v3, "androidAppWhiteList" // string@0560 │ │ +018fbe: 6e30 2501 3102 |011f: invoke-virtual {v1, v3, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ +018fc4: 0c01 |0122: move-result-object v1 │ │ +018fc6: 6e20 4302 1000 |0123: invoke-virtual {v0, v1}, Ldnsfilter/android/AppSelectorView;.setSelectedApps:(Ljava/lang/String;)V // method@0243 │ │ +018fcc: 6200 f000 |0126: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +018fd0: 6e10 4301 0000 |0128: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0143 │ │ +018fd6: 0a00 |012b: move-result v0 │ │ +018fd8: 1201 |012c: const/4 v1, #int 0 // #0 │ │ +018fda: 3900 1700 |012d: if-nez v0, 0144 // +0017 │ │ +018fde: 5460 dc00 |012f: iget-object v0, v6, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dc │ │ +018fe2: 5400 2b01 |0131: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ +018fe6: 5462 dc00 |0133: iget-object v2, v6, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dc │ │ +018fea: 6e10 d002 0200 |0135: invoke-virtual {v2}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02d0 │ │ +018ff0: 0c02 |0138: move-result-object v2 │ │ +018ff2: 1403 2b00 047f |0139: const v3, #float 1.75459e+38 // #7f04002b │ │ +018ff8: 6e20 5000 3200 |013c: invoke-virtual {v2, v3}, Landroid/content/res/Resources;.getDrawable:(I)Landroid/graphics/drawable/Drawable; // method@0050 │ │ +018ffe: 0c02 |013f: move-result-object v2 │ │ +019000: 6e51 af00 1021 |0140: invoke-virtual {v0, v1, v1, v2, v1}, Landroid/widget/Button;.setCompoundDrawablesWithIntrinsicBounds:(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V // method@00af │ │ +019006: 2815 |0143: goto 0158 // +0015 │ │ +019008: 5460 dc00 |0144: iget-object v0, v6, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dc │ │ +01900c: 5400 2b01 |0146: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ +019010: 5462 dc00 |0148: iget-object v2, v6, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dc │ │ +019014: 6e10 d002 0200 |014a: invoke-virtual {v2}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02d0 │ │ +01901a: 0c02 |014d: move-result-object v2 │ │ +01901c: 1403 2c00 047f |014e: const v3, #float 1.75459e+38 // #7f04002c │ │ +019022: 6e20 5000 3200 |0151: invoke-virtual {v2, v3}, Landroid/content/res/Resources;.getDrawable:(I)Landroid/graphics/drawable/Drawable; // method@0050 │ │ +019028: 0c02 |0154: move-result-object v2 │ │ +01902a: 6e51 af00 1021 |0155: invoke-virtual {v0, v1, v1, v2, v1}, Landroid/widget/Button;.setCompoundDrawablesWithIntrinsicBounds:(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V // method@00af │ │ +019030: 1200 |0158: const/4 v0, #int 0 // #0 │ │ +019032: 6a00 3801 |0159: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ +019036: 0e00 |015b: return-void │ │ catches : 1 │ │ 0x0054 - 0x0069 │ │ Ljava/lang/Exception; -> 0x006a │ │ positions : │ │ 0x0000 line=986 │ │ 0x000c line=987 │ │ 0x0010 line=988 │ │ @@ -14839,20 +14839,20 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity;Landroid/app/Dialog;Landroid/widget/Button;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -01904c: |[01904c] dnsfilter.android.DNSProxyActivity$4.:(Ldnsfilter/android/DNSProxyActivity;Landroid/app/Dialog;Landroid/widget/Button;)V │ │ -01905c: 5b01 dd00 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$4;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dd │ │ -019060: 5b02 df00 |0002: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$4;.val$remoteConnectDialog:Landroid/app/Dialog; // field@00df │ │ -019064: 5b03 de00 |0004: iput-object v3, v0, Ldnsfilter/android/DNSProxyActivity$4;.val$okBtn:Landroid/widget/Button; // field@00de │ │ -019068: 7010 4f05 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01906e: 0e00 |0009: return-void │ │ +019048: |[019048] dnsfilter.android.DNSProxyActivity$4.:(Ldnsfilter/android/DNSProxyActivity;Landroid/app/Dialog;Landroid/widget/Button;)V │ │ +019058: 5b01 dd00 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$4;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dd │ │ +01905c: 5b02 df00 |0002: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$4;.val$remoteConnectDialog:Landroid/app/Dialog; // field@00df │ │ +019060: 5b03 de00 |0004: iput-object v3, v0, Ldnsfilter/android/DNSProxyActivity$4;.val$okBtn:Landroid/widget/Button; // field@00de │ │ +019064: 7010 4f05 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01906a: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1284 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Ldnsfilter/android/DNSProxyActivity$4; │ │ 0x0000 - 0x000a reg=1 (null) Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x000a reg=2 (null) Landroid/app/Dialog; │ │ @@ -14864,60 +14864,60 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 96 16-bit code units │ │ -019070: |[019070] dnsfilter.android.DNSProxyActivity$4.onClick:(Landroid/view/View;)V │ │ -019080: 5430 df00 |0000: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$4;.val$remoteConnectDialog:Landroid/app/Dialog; // field@00df │ │ -019084: 6e10 1600 0000 |0002: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ -01908a: 5430 de00 |0005: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$4;.val$okBtn:Landroid/widget/Button; // field@00de │ │ -01908e: 3304 5800 |0007: if-ne v4, v0, 005f // +0058 │ │ -019092: 5434 df00 |0009: iget-object v4, v3, Ldnsfilter/android/DNSProxyActivity$4;.val$remoteConnectDialog:Landroid/app/Dialog; // field@00df │ │ -019096: 1400 5400 057f |000b: const v0, #float 1.76789e+38 // #7f050054 │ │ -01909c: 6e20 1700 0400 |000e: invoke-virtual {v4, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -0190a2: 0c04 |0011: move-result-object v4 │ │ -0190a4: 1f04 6200 |0012: check-cast v4, Landroid/widget/EditText; // type@0062 │ │ -0190a8: 6e10 c500 0400 |0014: invoke-virtual {v4}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ -0190ae: 0c04 |0017: move-result-object v4 │ │ -0190b0: 6e10 5405 0400 |0018: invoke-virtual {v4}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ -0190b6: 0c04 |001b: move-result-object v4 │ │ -0190b8: 5430 df00 |001c: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$4;.val$remoteConnectDialog:Landroid/app/Dialog; // field@00df │ │ -0190bc: 1401 4a00 057f |001e: const v1, #float 1.76789e+38 // #7f05004a │ │ -0190c2: 6e20 1700 1000 |0021: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -0190c8: 0c00 |0024: move-result-object v0 │ │ -0190ca: 1f00 6200 |0025: check-cast v0, Landroid/widget/EditText; // type@0062 │ │ -0190ce: 6e10 c500 0000 |0027: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ -0190d4: 0c00 |002a: move-result-object v0 │ │ -0190d6: 6e10 5405 0000 |002b: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ -0190dc: 0c00 |002e: move-result-object v0 │ │ -0190de: 5431 dd00 |002f: iget-object v1, v3, Ldnsfilter/android/DNSProxyActivity$4;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dd │ │ -0190e2: 7130 b702 4100 |0031: invoke-static {v1, v4, v0}, Ldnsfilter/android/DNSProxyActivity;.access$500:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;Ljava/lang/String;)V // method@02b7 │ │ -0190e8: 5434 dd00 |0034: iget-object v4, v3, Ldnsfilter/android/DNSProxyActivity$4;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dd │ │ -0190ec: 7110 b802 0400 |0036: invoke-static {v4}, Ldnsfilter/android/DNSProxyActivity;.access$600:(Ldnsfilter/android/DNSProxyActivity;)V // method@02b8 │ │ -0190f2: 2826 |0039: goto 005f // +0026 │ │ -0190f4: 0d04 |003a: move-exception v4 │ │ -0190f6: 7100 0107 0000 |003b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -0190fc: 0c00 |003e: move-result-object v0 │ │ -0190fe: 2201 2801 |003f: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -019102: 1a02 0c01 |0041: const-string v2, "Cannot store remote connect configuration! " // string@010c │ │ -019106: 7020 8405 2100 |0043: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -01910c: 6e10 3b05 0400 |0046: invoke-virtual {v4}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@053b │ │ -019112: 0c02 |0049: move-result-object v2 │ │ -019114: 6e20 8905 2100 |004a: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01911a: 6e10 8b05 0100 |004d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -019120: 0c01 |0050: move-result-object v1 │ │ -019122: 7220 0d07 1000 |0051: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -019128: 7100 0107 0000 |0054: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01912e: 0c00 |0057: move-result-object v0 │ │ -019130: 6e10 3705 0400 |0058: invoke-virtual {v4}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@0537 │ │ -019136: 0c04 |005b: move-result-object v4 │ │ -019138: 7220 0e07 4000 |005c: invoke-interface {v0, v4}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ -01913e: 0e00 |005f: return-void │ │ +01906c: |[01906c] dnsfilter.android.DNSProxyActivity$4.onClick:(Landroid/view/View;)V │ │ +01907c: 5430 df00 |0000: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$4;.val$remoteConnectDialog:Landroid/app/Dialog; // field@00df │ │ +019080: 6e10 1600 0000 |0002: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ +019086: 5430 de00 |0005: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$4;.val$okBtn:Landroid/widget/Button; // field@00de │ │ +01908a: 3304 5800 |0007: if-ne v4, v0, 005f // +0058 │ │ +01908e: 5434 df00 |0009: iget-object v4, v3, Ldnsfilter/android/DNSProxyActivity$4;.val$remoteConnectDialog:Landroid/app/Dialog; // field@00df │ │ +019092: 1400 5400 057f |000b: const v0, #float 1.76789e+38 // #7f050054 │ │ +019098: 6e20 1700 0400 |000e: invoke-virtual {v4, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01909e: 0c04 |0011: move-result-object v4 │ │ +0190a0: 1f04 6200 |0012: check-cast v4, Landroid/widget/EditText; // type@0062 │ │ +0190a4: 6e10 c500 0400 |0014: invoke-virtual {v4}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ +0190aa: 0c04 |0017: move-result-object v4 │ │ +0190ac: 6e10 5405 0400 |0018: invoke-virtual {v4}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ +0190b2: 0c04 |001b: move-result-object v4 │ │ +0190b4: 5430 df00 |001c: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$4;.val$remoteConnectDialog:Landroid/app/Dialog; // field@00df │ │ +0190b8: 1401 4a00 057f |001e: const v1, #float 1.76789e+38 // #7f05004a │ │ +0190be: 6e20 1700 1000 |0021: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +0190c4: 0c00 |0024: move-result-object v0 │ │ +0190c6: 1f00 6200 |0025: check-cast v0, Landroid/widget/EditText; // type@0062 │ │ +0190ca: 6e10 c500 0000 |0027: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ +0190d0: 0c00 |002a: move-result-object v0 │ │ +0190d2: 6e10 5405 0000 |002b: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ +0190d8: 0c00 |002e: move-result-object v0 │ │ +0190da: 5431 dd00 |002f: iget-object v1, v3, Ldnsfilter/android/DNSProxyActivity$4;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dd │ │ +0190de: 7130 b702 4100 |0031: invoke-static {v1, v4, v0}, Ldnsfilter/android/DNSProxyActivity;.access$500:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;Ljava/lang/String;)V // method@02b7 │ │ +0190e4: 5434 dd00 |0034: iget-object v4, v3, Ldnsfilter/android/DNSProxyActivity$4;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dd │ │ +0190e8: 7110 b802 0400 |0036: invoke-static {v4}, Ldnsfilter/android/DNSProxyActivity;.access$600:(Ldnsfilter/android/DNSProxyActivity;)V // method@02b8 │ │ +0190ee: 2826 |0039: goto 005f // +0026 │ │ +0190f0: 0d04 |003a: move-exception v4 │ │ +0190f2: 7100 0107 0000 |003b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +0190f8: 0c00 |003e: move-result-object v0 │ │ +0190fa: 2201 2801 |003f: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +0190fe: 1a02 0c01 |0041: const-string v2, "Cannot store remote connect configuration! " // string@010c │ │ +019102: 7020 8405 2100 |0043: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +019108: 6e10 3b05 0400 |0046: invoke-virtual {v4}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@053b │ │ +01910e: 0c02 |0049: move-result-object v2 │ │ +019110: 6e20 8905 2100 |004a: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +019116: 6e10 8b05 0100 |004d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01911c: 0c01 |0050: move-result-object v1 │ │ +01911e: 7220 0d07 1000 |0051: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +019124: 7100 0107 0000 |0054: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01912a: 0c00 |0057: move-result-object v0 │ │ +01912c: 6e10 3705 0400 |0058: invoke-virtual {v4}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@0537 │ │ +019132: 0c04 |005b: move-result-object v4 │ │ +019134: 7220 0e07 4000 |005c: invoke-interface {v0, v4}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ +01913a: 0e00 |005f: return-void │ │ catches : 1 │ │ 0x0009 - 0x0034 │ │ Ljava/lang/Exception; -> 0x003a │ │ positions : │ │ 0x0000 line=1288 │ │ 0x0005 line=1289 │ │ 0x0009 line=1291 │ │ @@ -14979,21 +14979,21 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;ILjava/lang/String;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 5 │ │ ins : 5 │ │ outs : 1 │ │ insns size : 12 16-bit code units │ │ -019150: |[019150] dnsfilter.android.DNSProxyActivity$5.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;ILjava/lang/String;)V │ │ -019160: 5b01 e000 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e0 │ │ -019164: 5b02 e100 |0002: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$5;.val$host:Ljava/lang/String; // field@00e1 │ │ -019168: 5903 e300 |0004: iput v3, v0, Ldnsfilter/android/DNSProxyActivity$5;.val$port:I // field@00e3 │ │ -01916c: 5b04 e200 |0006: iput-object v4, v0, Ldnsfilter/android/DNSProxyActivity$5;.val$keyphrase:Ljava/lang/String; // field@00e2 │ │ -019170: 7010 4f05 0000 |0008: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -019176: 0e00 |000b: return-void │ │ +01914c: |[01914c] dnsfilter.android.DNSProxyActivity$5.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;ILjava/lang/String;)V │ │ +01915c: 5b01 e000 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e0 │ │ +019160: 5b02 e100 |0002: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$5;.val$host:Ljava/lang/String; // field@00e1 │ │ +019164: 5903 e300 |0004: iput v3, v0, Ldnsfilter/android/DNSProxyActivity$5;.val$port:I // field@00e3 │ │ +019168: 5b04 e200 |0006: iput-object v4, v0, Ldnsfilter/android/DNSProxyActivity$5;.val$keyphrase:Ljava/lang/String; // field@00e2 │ │ +01916c: 7010 4f05 0000 |0008: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +019172: 0e00 |000b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1359 │ │ locals : │ │ 0x0000 - 0x000c reg=0 this Ldnsfilter/android/DNSProxyActivity$5; │ │ 0x0000 - 0x000c reg=1 (null) Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x000c reg=2 (null) Ljava/lang/String; │ │ @@ -15006,63 +15006,63 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 105 16-bit code units │ │ -019178: |[019178] dnsfilter.android.DNSProxyActivity$5.run:()V │ │ -019188: 5450 e000 |0000: iget-object v0, v5, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e0 │ │ -01918c: 2201 2801 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -019190: 1a02 1801 |0004: const-string v2, "Connecting: " // string@0118 │ │ -019194: 7020 8405 2100 |0006: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -01919a: 5452 e100 |0009: iget-object v2, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$host:Ljava/lang/String; // field@00e1 │ │ -01919e: 6e20 8905 2100 |000b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0191a4: 1a02 8500 |000e: const-string v2, ":" // string@0085 │ │ -0191a8: 6e20 8905 2100 |0010: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0191ae: 5252 e300 |0013: iget v2, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$port:I // field@00e3 │ │ -0191b2: 6e20 8605 2100 |0015: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -0191b8: 6e10 8b05 0100 |0018: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0191be: 0c01 |001b: move-result-object v1 │ │ -0191c0: 6e20 e402 1000 |001c: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@02e4 │ │ -0191c6: 7100 b902 0000 |001f: invoke-static {}, Ldnsfilter/android/DNSProxyActivity;.access$700:()Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // method@02b9 │ │ -0191cc: 0c00 |0022: move-result-object v0 │ │ -0191ce: 1401 f049 0200 |0023: const v1, #float 2.10195e-40 // #000249f0 │ │ -0191d4: 7120 a902 1000 |0026: invoke-static {v0, v1}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.access$800:(Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;I)V // method@02a9 │ │ -0191da: 5450 e000 |0029: iget-object v0, v5, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e0 │ │ -0191de: 6201 2401 |002b: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -0191e2: 6e10 5107 0100 |002d: invoke-virtual {v1}, Lutil/SuppressRepeatingsLogger;.getNestedLogger:()Lutil/LoggerInterface; // method@0751 │ │ -0191e8: 0c01 |0030: move-result-object v1 │ │ -0191ea: 5452 e100 |0031: iget-object v2, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$host:Ljava/lang/String; // field@00e1 │ │ -0191ee: 5253 e300 |0033: iget v3, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$port:I // field@00e3 │ │ -0191f2: 5454 e200 |0035: iget-object v4, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$keyphrase:Ljava/lang/String; // field@00e2 │ │ -0191f6: 7140 4001 2143 |0037: invoke-static {v1, v2, v3, v4}, Ldnsfilter/ConfigurationAccess;.getRemote:(Lutil/LoggerInterface;Ljava/lang/String;ILjava/lang/String;)Ldnsfilter/ConfigurationAccess; // method@0140 │ │ -0191fc: 0c01 |003a: move-result-object v1 │ │ -0191fe: 7120 ba02 1000 |003b: invoke-static {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.access$900:(Ldnsfilter/android/DNSProxyActivity;Ldnsfilter/ConfigurationAccess;)V // method@02ba │ │ -019204: 5450 e000 |003e: iget-object v0, v5, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e0 │ │ -019208: 7110 b602 0000 |0040: invoke-static {v0}, Ldnsfilter/android/DNSProxyActivity;.access$400:(Ldnsfilter/android/DNSProxyActivity;)V // method@02b6 │ │ -01920e: 2825 |0043: goto 0068 // +0025 │ │ -019210: 0d00 |0044: move-exception v0 │ │ -019212: 7100 0107 0000 |0045: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -019218: 0c01 |0048: move-result-object v1 │ │ -01921a: 2202 2801 |0049: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -01921e: 1a03 3904 |004b: const-string v3, "Remote connect failed!" // string@0439 │ │ -019222: 7020 8405 3200 |004d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -019228: 6e10 0005 0000 |0050: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ -01922e: 0c00 |0053: move-result-object v0 │ │ -019230: 6e20 8905 0200 |0054: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -019236: 6e10 8b05 0200 |0057: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01923c: 0c00 |005a: move-result-object v0 │ │ -01923e: 7220 0d07 0100 |005b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -019244: 5450 e000 |005e: iget-object v0, v5, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e0 │ │ -019248: 1a01 2b04 |0060: const-string v1, "Remote Connect Failed!" // string@042b │ │ -01924c: 6e20 e402 1000 |0062: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@02e4 │ │ -019252: 1200 |0065: const/4 v0, #int 0 // #0 │ │ -019254: 6a00 3801 |0066: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ -019258: 0e00 |0068: return-void │ │ +019174: |[019174] dnsfilter.android.DNSProxyActivity$5.run:()V │ │ +019184: 5450 e000 |0000: iget-object v0, v5, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e0 │ │ +019188: 2201 2801 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +01918c: 1a02 1801 |0004: const-string v2, "Connecting: " // string@0118 │ │ +019190: 7020 8405 2100 |0006: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +019196: 5452 e100 |0009: iget-object v2, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$host:Ljava/lang/String; // field@00e1 │ │ +01919a: 6e20 8905 2100 |000b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0191a0: 1a02 8500 |000e: const-string v2, ":" // string@0085 │ │ +0191a4: 6e20 8905 2100 |0010: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0191aa: 5252 e300 |0013: iget v2, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$port:I // field@00e3 │ │ +0191ae: 6e20 8605 2100 |0015: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +0191b4: 6e10 8b05 0100 |0018: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0191ba: 0c01 |001b: move-result-object v1 │ │ +0191bc: 6e20 e402 1000 |001c: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@02e4 │ │ +0191c2: 7100 b902 0000 |001f: invoke-static {}, Ldnsfilter/android/DNSProxyActivity;.access$700:()Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // method@02b9 │ │ +0191c8: 0c00 |0022: move-result-object v0 │ │ +0191ca: 1401 f049 0200 |0023: const v1, #float 2.10195e-40 // #000249f0 │ │ +0191d0: 7120 a902 1000 |0026: invoke-static {v0, v1}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.access$800:(Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;I)V // method@02a9 │ │ +0191d6: 5450 e000 |0029: iget-object v0, v5, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e0 │ │ +0191da: 6201 2401 |002b: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +0191de: 6e10 5107 0100 |002d: invoke-virtual {v1}, Lutil/SuppressRepeatingsLogger;.getNestedLogger:()Lutil/LoggerInterface; // method@0751 │ │ +0191e4: 0c01 |0030: move-result-object v1 │ │ +0191e6: 5452 e100 |0031: iget-object v2, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$host:Ljava/lang/String; // field@00e1 │ │ +0191ea: 5253 e300 |0033: iget v3, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$port:I // field@00e3 │ │ +0191ee: 5454 e200 |0035: iget-object v4, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$keyphrase:Ljava/lang/String; // field@00e2 │ │ +0191f2: 7140 4001 2143 |0037: invoke-static {v1, v2, v3, v4}, Ldnsfilter/ConfigurationAccess;.getRemote:(Lutil/LoggerInterface;Ljava/lang/String;ILjava/lang/String;)Ldnsfilter/ConfigurationAccess; // method@0140 │ │ +0191f8: 0c01 |003a: move-result-object v1 │ │ +0191fa: 7120 ba02 1000 |003b: invoke-static {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.access$900:(Ldnsfilter/android/DNSProxyActivity;Ldnsfilter/ConfigurationAccess;)V // method@02ba │ │ +019200: 5450 e000 |003e: iget-object v0, v5, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e0 │ │ +019204: 7110 b602 0000 |0040: invoke-static {v0}, Ldnsfilter/android/DNSProxyActivity;.access$400:(Ldnsfilter/android/DNSProxyActivity;)V // method@02b6 │ │ +01920a: 2825 |0043: goto 0068 // +0025 │ │ +01920c: 0d00 |0044: move-exception v0 │ │ +01920e: 7100 0107 0000 |0045: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +019214: 0c01 |0048: move-result-object v1 │ │ +019216: 2202 2801 |0049: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +01921a: 1a03 3904 |004b: const-string v3, "Remote connect failed!" // string@0439 │ │ +01921e: 7020 8405 3200 |004d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +019224: 6e10 0005 0000 |0050: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ +01922a: 0c00 |0053: move-result-object v0 │ │ +01922c: 6e20 8905 0200 |0054: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +019232: 6e10 8b05 0200 |0057: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +019238: 0c00 |005a: move-result-object v0 │ │ +01923a: 7220 0d07 0100 |005b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +019240: 5450 e000 |005e: iget-object v0, v5, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e0 │ │ +019244: 1a01 2b04 |0060: const-string v1, "Remote Connect Failed!" // string@042b │ │ +019248: 6e20 e402 1000 |0062: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@02e4 │ │ +01924e: 1200 |0065: const/4 v0, #int 0 // #0 │ │ +019250: 6a00 3801 |0066: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ +019254: 0e00 |0068: return-void │ │ catches : 1 │ │ 0x0029 - 0x0043 │ │ Ljava/io/IOException; -> 0x0044 │ │ positions : │ │ 0x0000 line=1363 │ │ 0x001f line=1364 │ │ 0x0029 line=1367 │ │ @@ -15118,20 +15118,20 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity;ILandroid/text/Spanned;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -01926c: |[01926c] dnsfilter.android.DNSProxyActivity$6.:(Ldnsfilter/android/DNSProxyActivity;ILandroid/text/Spanned;)V │ │ -01927c: 5b01 e400 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$6;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e4 │ │ -019280: 5902 e500 |0002: iput v2, v0, Ldnsfilter/android/DNSProxyActivity$6;.val$backgroundColor:I // field@00e5 │ │ -019284: 5b03 e600 |0004: iput-object v3, v0, Ldnsfilter/android/DNSProxyActivity$6;.val$msg:Landroid/text/Spanned; // field@00e6 │ │ -019288: 7010 4f05 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01928e: 0e00 |0009: return-void │ │ +019268: |[019268] dnsfilter.android.DNSProxyActivity$6.:(Ldnsfilter/android/DNSProxyActivity;ILandroid/text/Spanned;)V │ │ +019278: 5b01 e400 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$6;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e4 │ │ +01927c: 5902 e500 |0002: iput v2, v0, Ldnsfilter/android/DNSProxyActivity$6;.val$backgroundColor:I // field@00e5 │ │ +019280: 5b03 e600 |0004: iput-object v3, v0, Ldnsfilter/android/DNSProxyActivity$6;.val$msg:Landroid/text/Spanned; // field@00e6 │ │ +019284: 7010 4f05 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01928a: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1687 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Ldnsfilter/android/DNSProxyActivity$6; │ │ 0x0000 - 0x000a reg=1 (null) Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x000a reg=2 (null) I │ │ @@ -15143,24 +15143,24 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 18 16-bit code units │ │ -019290: |[019290] dnsfilter.android.DNSProxyActivity$6.run:()V │ │ -0192a0: 6200 1d01 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ -0192a4: 5221 e500 |0002: iget v1, v2, Ldnsfilter/android/DNSProxyActivity$6;.val$backgroundColor:I // field@00e5 │ │ -0192a8: 6e20 f000 1000 |0004: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setBackgroundColor:(I)V // method@00f0 │ │ -0192ae: 6200 1d01 |0007: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ -0192b2: 5421 e600 |0009: iget-object v1, v2, Ldnsfilter/android/DNSProxyActivity$6;.val$msg:Landroid/text/Spanned; // field@00e6 │ │ -0192b6: 6e20 f400 1000 |000b: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -0192bc: 1210 |000e: const/4 v0, #int 1 // #1 │ │ -0192be: 6a00 f600 |000f: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.MSG_ACTIVE:Z // field@00f6 │ │ -0192c2: 0e00 |0011: return-void │ │ +01928c: |[01928c] dnsfilter.android.DNSProxyActivity$6.run:()V │ │ +01929c: 6200 1d01 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ +0192a0: 5221 e500 |0002: iget v1, v2, Ldnsfilter/android/DNSProxyActivity$6;.val$backgroundColor:I // field@00e5 │ │ +0192a4: 6e20 f000 1000 |0004: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setBackgroundColor:(I)V // method@00f0 │ │ +0192aa: 6200 1d01 |0007: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ +0192ae: 5421 e600 |0009: iget-object v1, v2, Ldnsfilter/android/DNSProxyActivity$6;.val$msg:Landroid/text/Spanned; // field@00e6 │ │ +0192b2: 6e20 f400 1000 |000b: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +0192b8: 1210 |000e: const/4 v0, #int 1 // #1 │ │ +0192ba: 6a00 f600 |000f: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.MSG_ACTIVE:Z // field@00f6 │ │ +0192be: 0e00 |0011: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1691 │ │ 0x0007 line=1692 │ │ 0x000f line=1693 │ │ locals : │ │ 0x0000 - 0x0012 reg=2 this Ldnsfilter/android/DNSProxyActivity$6; │ │ @@ -15200,18 +15200,18 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity$7;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -0192c4: |[0192c4] dnsfilter.android.DNSProxyActivity$7$1.:(Ldnsfilter/android/DNSProxyActivity$7;)V │ │ -0192d4: 5b01 e700 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$7$1;.this$1:Ldnsfilter/android/DNSProxyActivity$7; // field@00e7 │ │ -0192d8: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -0192de: 0e00 |0005: return-void │ │ +0192c0: |[0192c0] dnsfilter.android.DNSProxyActivity$7$1.:(Ldnsfilter/android/DNSProxyActivity$7;)V │ │ +0192d0: 5b01 e700 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$7$1;.this$1:Ldnsfilter/android/DNSProxyActivity$7; // field@00e7 │ │ +0192d4: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +0192da: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1852 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Ldnsfilter/android/DNSProxyActivity$7$1; │ │ 0x0000 - 0x0006 reg=1 (null) Ldnsfilter/android/DNSProxyActivity$7; │ │ │ │ @@ -15221,34 +15221,34 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 37 16-bit code units │ │ -0192e0: |[0192e0] dnsfilter.android.DNSProxyActivity$7$1.run:()V │ │ -0192f0: 5420 e700 |0000: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity$7$1;.this$1:Ldnsfilter/android/DNSProxyActivity$7; // field@00e7 │ │ -0192f4: 5400 e800 |0002: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity$7;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e8 │ │ -0192f8: 1211 |0004: const/4 v1, #int 1 // #1 │ │ -0192fa: 7120 b402 1000 |0005: invoke-static {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.access$1000:(Ldnsfilter/android/DNSProxyActivity;Z)Ljava/lang/String; // method@02b4 │ │ -019300: 0c00 |0008: move-result-object v0 │ │ -019302: 6001 f800 |0009: sget v1, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f8 │ │ -019306: 3a01 1900 |000b: if-ltz v1, 0024 // +0019 │ │ -01930a: 1a01 0000 |000d: const-string v1, "" // string@0000 │ │ -01930e: 6e20 6705 1000 |000f: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -019314: 0a00 |0012: move-result v0 │ │ -019316: 3900 1100 |0013: if-nez v0, 0024 // +0011 │ │ -01931a: 5420 e700 |0015: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity$7$1;.this$1:Ldnsfilter/android/DNSProxyActivity$7; // field@00e7 │ │ -01931e: 5400 e800 |0017: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity$7;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e8 │ │ -019322: 1401 1c00 057f |0019: const v1, #float 1.76788e+38 // #7f05001c │ │ -019328: 6e20 c902 1000 |001c: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01932e: 0c00 |001f: move-result-object v0 │ │ -019330: 1201 |0020: const/4 v1, #int 0 // #0 │ │ -019332: 6e20 9f00 1000 |0021: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -019338: 0e00 |0024: return-void │ │ +0192dc: |[0192dc] dnsfilter.android.DNSProxyActivity$7$1.run:()V │ │ +0192ec: 5420 e700 |0000: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity$7$1;.this$1:Ldnsfilter/android/DNSProxyActivity$7; // field@00e7 │ │ +0192f0: 5400 e800 |0002: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity$7;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e8 │ │ +0192f4: 1211 |0004: const/4 v1, #int 1 // #1 │ │ +0192f6: 7120 b402 1000 |0005: invoke-static {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.access$1000:(Ldnsfilter/android/DNSProxyActivity;Z)Ljava/lang/String; // method@02b4 │ │ +0192fc: 0c00 |0008: move-result-object v0 │ │ +0192fe: 6001 f800 |0009: sget v1, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f8 │ │ +019302: 3a01 1900 |000b: if-ltz v1, 0024 // +0019 │ │ +019306: 1a01 0000 |000d: const-string v1, "" // string@0000 │ │ +01930a: 6e20 6705 1000 |000f: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +019310: 0a00 |0012: move-result v0 │ │ +019312: 3900 1100 |0013: if-nez v0, 0024 // +0011 │ │ +019316: 5420 e700 |0015: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity$7$1;.this$1:Ldnsfilter/android/DNSProxyActivity$7; // field@00e7 │ │ +01931a: 5400 e800 |0017: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity$7;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e8 │ │ +01931e: 1401 1c00 057f |0019: const v1, #float 1.76788e+38 // #7f05001c │ │ +019324: 6e20 c902 1000 |001c: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01932a: 0c00 |001f: move-result-object v0 │ │ +01932c: 1201 |0020: const/4 v1, #int 0 // #0 │ │ +01932e: 6e20 9f00 1000 |0021: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +019334: 0e00 |0024: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1854 │ │ 0x0009 line=1855 │ │ 0x0015 line=1856 │ │ locals : │ │ 0x0000 - 0x0025 reg=2 this Ldnsfilter/android/DNSProxyActivity$7$1; │ │ @@ -15288,18 +15288,18 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -01933c: |[01933c] dnsfilter.android.DNSProxyActivity$7.:(Ldnsfilter/android/DNSProxyActivity;)V │ │ -01934c: 5b01 e800 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$7;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e8 │ │ -019350: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -019356: 0e00 |0005: return-void │ │ +019338: |[019338] dnsfilter.android.DNSProxyActivity$7.:(Ldnsfilter/android/DNSProxyActivity;)V │ │ +019348: 5b01 e800 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$7;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e8 │ │ +01934c: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +019352: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1844 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Ldnsfilter/android/DNSProxyActivity$7; │ │ 0x0000 - 0x0006 reg=1 (null) Ldnsfilter/android/DNSProxyActivity; │ │ │ │ @@ -15309,31 +15309,31 @@ │ │ type : '()V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 27 16-bit code units │ │ -019358: |[019358] dnsfilter.android.DNSProxyActivity$7.run:()V │ │ -019368: 1d02 |0000: monitor-enter v2 │ │ -01936a: 1600 e803 |0001: const-wide/16 v0, #int 1000 // #3e8 │ │ -01936e: 6e30 5605 0201 |0003: invoke-virtual {v2, v0, v1}, Ljava/lang/Object;.wait:(J)V // method@0556 │ │ -019374: 2807 |0006: goto 000d // +0007 │ │ -019376: 0d00 |0007: move-exception v0 │ │ -019378: 2811 |0008: goto 0019 // +0011 │ │ -01937a: 0d00 |0009: move-exception v0 │ │ -01937c: 6e10 4505 0000 |000a: invoke-virtual {v0}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@0545 │ │ -019382: 2200 a700 |000d: new-instance v0, Ldnsfilter/android/DNSProxyActivity$7$1; // type@00a7 │ │ -019386: 7020 a302 2000 |000f: invoke-direct {v0, v2}, Ldnsfilter/android/DNSProxyActivity$7$1;.:(Ldnsfilter/android/DNSProxyActivity$7;)V // method@02a3 │ │ -01938c: 5421 e800 |0012: iget-object v1, v2, Ldnsfilter/android/DNSProxyActivity$7;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e8 │ │ -019390: 6e20 0403 0100 |0014: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@0304 │ │ -019396: 1e02 |0017: monitor-exit v2 │ │ -019398: 0e00 |0018: return-void │ │ -01939a: 1e02 |0019: monitor-exit v2 │ │ -01939c: 2700 |001a: throw v0 │ │ +019354: |[019354] dnsfilter.android.DNSProxyActivity$7.run:()V │ │ +019364: 1d02 |0000: monitor-enter v2 │ │ +019366: 1600 e803 |0001: const-wide/16 v0, #int 1000 // #3e8 │ │ +01936a: 6e30 5605 0201 |0003: invoke-virtual {v2, v0, v1}, Ljava/lang/Object;.wait:(J)V // method@0556 │ │ +019370: 2807 |0006: goto 000d // +0007 │ │ +019372: 0d00 |0007: move-exception v0 │ │ +019374: 2811 |0008: goto 0019 // +0011 │ │ +019376: 0d00 |0009: move-exception v0 │ │ +019378: 6e10 4505 0000 |000a: invoke-virtual {v0}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@0545 │ │ +01937e: 2200 a700 |000d: new-instance v0, Ldnsfilter/android/DNSProxyActivity$7$1; // type@00a7 │ │ +019382: 7020 a302 2000 |000f: invoke-direct {v0, v2}, Ldnsfilter/android/DNSProxyActivity$7$1;.:(Ldnsfilter/android/DNSProxyActivity$7;)V // method@02a3 │ │ +019388: 5421 e800 |0012: iget-object v1, v2, Ldnsfilter/android/DNSProxyActivity$7;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e8 │ │ +01938c: 6e20 0403 0100 |0014: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@0304 │ │ +019392: 1e02 |0017: monitor-exit v2 │ │ +019394: 0e00 |0018: return-void │ │ +019396: 1e02 |0019: monitor-exit v2 │ │ +019398: 2700 |001a: throw v0 │ │ catches : 2 │ │ 0x0003 - 0x0006 │ │ Ljava/lang/InterruptedException; -> 0x0009 │ │ -> 0x0007 │ │ 0x000a - 0x0017 │ │ -> 0x0007 │ │ positions : │ │ @@ -15384,19 +15384,19 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -019508: |[019508] dnsfilter.android.DNSProxyActivity$MyUIThreadLogger.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V │ │ -019518: 5b01 ec00 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00ec │ │ -01951c: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -019522: 5b02 eb00 |0005: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00eb │ │ -019526: 0e00 |0007: return-void │ │ +019504: |[019504] dnsfilter.android.DNSProxyActivity$MyUIThreadLogger.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V │ │ +019514: 5b01 ec00 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00ec │ │ +019518: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01951e: 5b02 eb00 |0005: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00eb │ │ +019522: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=280 │ │ 0x0005 line=281 │ │ locals : │ │ 0x0000 - 0x0008 reg=0 this Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger; │ │ 0x0000 - 0x0008 reg=1 (null) Ldnsfilter/android/DNSProxyActivity; │ │ @@ -15408,134 +15408,134 @@ │ │ type : '()V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 244 16-bit code units │ │ -019528: |[019528] dnsfilter.android.DNSProxyActivity$MyUIThreadLogger.run:()V │ │ -019538: 1d06 |0000: monitor-enter v6 │ │ -01953a: 6300 3301 |0001: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ -01953e: 3900 7d00 |0003: if-nez v0, 0080 // +007d │ │ -019542: 5460 eb00 |0005: iget-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00eb │ │ -019546: 1a01 a301 |0007: const-string v1, "FILTERED:" // string@01a3 │ │ -01954a: 6202 f400 |0009: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f4 │ │ -01954e: 6e30 7105 1002 |000b: invoke-virtual {v0, v1, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0571 │ │ -019554: 0c00 |000e: move-result-object v0 │ │ -019556: 5b60 eb00 |000f: iput-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00eb │ │ -01955a: 1a01 b200 |0011: const-string v1, "ALLOWED:" // string@00b2 │ │ -01955e: 6202 f900 |0013: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f9 │ │ -019562: 6e30 7105 1002 |0015: invoke-virtual {v0, v1, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0571 │ │ -019568: 0c00 |0018: move-result-object v0 │ │ -01956a: 5b60 eb00 |0019: iput-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00eb │ │ -01956e: 1a01 d003 |001b: const-string v1, "MAPPED_CUSTOM_IP:" // string@03d0 │ │ -019572: 6202 f500 |001d: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.IP_FORWARD_PREF:Ljava/lang/String; // field@00f5 │ │ -019576: 6e30 7105 1002 |001f: invoke-virtual {v0, v1, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0571 │ │ -01957c: 0c00 |0022: move-result-object v0 │ │ -01957e: 5b60 eb00 |0023: iput-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00eb │ │ -019582: 5461 ec00 |0025: iget-object v1, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00ec │ │ -019586: 7120 b502 0100 |0027: invoke-static {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.access$300:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02b5 │ │ -01958c: 6200 2001 |002a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019590: 6e10 c500 0000 |002c: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ -019596: 0c00 |002f: move-result-object v0 │ │ -019598: 7210 8600 0000 |0030: invoke-interface {v0}, Landroid/text/Editable;.length:()I // method@0086 │ │ -01959e: 0a00 |0033: move-result v0 │ │ -0195a0: 1301 1027 |0034: const/16 v1, #int 10000 // #2710 │ │ -0195a4: 3410 2a00 |0036: if-lt v0, v1, 0060 // +002a │ │ -0195a8: 6201 2001 |0038: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -0195ac: 6e10 c500 0100 |003a: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ -0195b2: 0c01 |003d: move-result-object v1 │ │ -0195b4: db00 0002 |003e: div-int/lit8 v0, v0, #int 2 // #02 │ │ -0195b8: 7220 8900 0100 |0040: invoke-interface {v1, v0}, Landroid/text/Spannable;.charAt:(I)C // method@0089 │ │ -0195be: 0a02 |0043: move-result v2 │ │ -0195c0: 1303 0a00 |0044: const/16 v3, #int 10 // #a │ │ -0195c4: 3232 0d00 |0046: if-eq v2, v3, 0053 // +000d │ │ -0195c8: 7210 8a00 0100 |0048: invoke-interface {v1}, Landroid/text/Spannable;.length:()I // method@008a │ │ -0195ce: 0a02 |004b: move-result v2 │ │ -0195d0: d802 02ff |004c: add-int/lit8 v2, v2, #int -1 // #ff │ │ -0195d4: 3520 0500 |004e: if-ge v0, v2, 0053 // +0005 │ │ -0195d8: d800 0001 |0050: add-int/lit8 v0, v0, #int 1 // #01 │ │ -0195dc: 28ee |0052: goto 0040 // -0012 │ │ -0195de: 6202 2001 |0053: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -0195e2: 7210 8a00 0100 |0055: invoke-interface {v1}, Landroid/text/Spannable;.length:()I // method@008a │ │ -0195e8: 0a03 |0058: move-result v3 │ │ -0195ea: 7230 8b00 0103 |0059: invoke-interface {v1, v0, v3}, Landroid/text/Spannable;.subSequence:(II)Ljava/lang/CharSequence; // method@008b │ │ -0195f0: 0c00 |005c: move-result-object v0 │ │ -0195f2: 6e20 d100 0200 |005d: invoke-virtual {v2, v0}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ -0195f8: 6200 0301 |0060: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ -0195fc: 6e10 b700 0000 |0062: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -019602: 0a00 |0065: move-result v0 │ │ -019604: 3900 1a00 |0066: if-nez v0, 0080 // +001a │ │ -019608: 6200 2001 |0068: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01960c: 6201 2001 |006a: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019610: 6e10 c500 0100 |006c: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ -019616: 0c01 |006f: move-result-object v1 │ │ -019618: 7210 8600 0100 |0070: invoke-interface {v1}, Landroid/text/Editable;.length:()I // method@0086 │ │ -01961e: 0a01 |0073: move-result v1 │ │ -019620: 6e20 cf00 1000 |0074: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setSelection:(I)V // method@00cf │ │ -019626: 5460 ec00 |0077: iget-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00ec │ │ -01962a: 5400 3201 |0079: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ -01962e: 1301 8200 |007b: const/16 v1, #int 130 // #82 │ │ -019632: 6e20 df00 1000 |007d: invoke-virtual {v0, v1}, Landroid/widget/ScrollView;.fullScroll:(I)Z // method@00df │ │ -019638: 1a00 a200 |0080: const-string v0, "" // string@00a2 │ │ -01963c: 1a01 5800 |0082: const-string v1, "-1" // string@0058 │ │ -019640: 1a02 a200 |0084: const-string v2, "" // string@00a2 │ │ -019644: 6203 f000 |0086: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -019648: 6e10 4101 0300 |0088: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getVersion:()Ljava/lang/String; // method@0141 │ │ -01964e: 0c00 |008b: move-result-object v0 │ │ -019650: 2203 2801 |008c: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -019654: 7010 8305 0300 |008e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -01965a: 6204 f000 |0091: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01965e: 6e10 4401 0400 |0093: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess;.openConnectionsCount:()I // method@0144 │ │ -019664: 0a04 |0096: move-result v4 │ │ -019666: 6e20 8605 4300 |0097: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -01966c: 1a04 0000 |009a: const-string v4, "" // string@0000 │ │ -019670: 6e20 8905 4300 |009c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -019676: 6e10 8b05 0300 |009f: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01967c: 0c01 |00a2: move-result-object v1 │ │ -01967e: 6203 f000 |00a3: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -019682: 6e10 3e01 0300 |00a5: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getLastDNSAddress:()Ljava/lang/String; // method@013e │ │ -019688: 0c02 |00a8: move-result-object v2 │ │ -01968a: 281c |00a9: goto 00c5 // +001c │ │ -01968c: 0d03 |00aa: move-exception v3 │ │ -01968e: 5464 ec00 |00ab: iget-object v4, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00ec │ │ -019692: 2205 2801 |00ad: new-instance v5, Ljava/lang/StringBuilder; // type@0128 │ │ -019696: 7010 8305 0500 |00af: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -01969c: 6e10 0005 0300 |00b2: invoke-virtual {v3}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ -0196a2: 0c03 |00b5: move-result-object v3 │ │ -0196a4: 6e20 8905 3500 |00b6: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0196aa: 1a03 0200 |00b9: const-string v3, " │ │ +019524: |[019524] dnsfilter.android.DNSProxyActivity$MyUIThreadLogger.run:()V │ │ +019534: 1d06 |0000: monitor-enter v6 │ │ +019536: 6300 3301 |0001: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ +01953a: 3900 7d00 |0003: if-nez v0, 0080 // +007d │ │ +01953e: 5460 eb00 |0005: iget-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00eb │ │ +019542: 1a01 a301 |0007: const-string v1, "FILTERED:" // string@01a3 │ │ +019546: 6202 f400 |0009: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f4 │ │ +01954a: 6e30 7105 1002 |000b: invoke-virtual {v0, v1, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0571 │ │ +019550: 0c00 |000e: move-result-object v0 │ │ +019552: 5b60 eb00 |000f: iput-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00eb │ │ +019556: 1a01 b200 |0011: const-string v1, "ALLOWED:" // string@00b2 │ │ +01955a: 6202 f900 |0013: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f9 │ │ +01955e: 6e30 7105 1002 |0015: invoke-virtual {v0, v1, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0571 │ │ +019564: 0c00 |0018: move-result-object v0 │ │ +019566: 5b60 eb00 |0019: iput-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00eb │ │ +01956a: 1a01 d003 |001b: const-string v1, "MAPPED_CUSTOM_IP:" // string@03d0 │ │ +01956e: 6202 f500 |001d: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.IP_FORWARD_PREF:Ljava/lang/String; // field@00f5 │ │ +019572: 6e30 7105 1002 |001f: invoke-virtual {v0, v1, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0571 │ │ +019578: 0c00 |0022: move-result-object v0 │ │ +01957a: 5b60 eb00 |0023: iput-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00eb │ │ +01957e: 5461 ec00 |0025: iget-object v1, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00ec │ │ +019582: 7120 b502 0100 |0027: invoke-static {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.access$300:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02b5 │ │ +019588: 6200 2001 |002a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01958c: 6e10 c500 0000 |002c: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ +019592: 0c00 |002f: move-result-object v0 │ │ +019594: 7210 8600 0000 |0030: invoke-interface {v0}, Landroid/text/Editable;.length:()I // method@0086 │ │ +01959a: 0a00 |0033: move-result v0 │ │ +01959c: 1301 1027 |0034: const/16 v1, #int 10000 // #2710 │ │ +0195a0: 3410 2a00 |0036: if-lt v0, v1, 0060 // +002a │ │ +0195a4: 6201 2001 |0038: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +0195a8: 6e10 c500 0100 |003a: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ +0195ae: 0c01 |003d: move-result-object v1 │ │ +0195b0: db00 0002 |003e: div-int/lit8 v0, v0, #int 2 // #02 │ │ +0195b4: 7220 8900 0100 |0040: invoke-interface {v1, v0}, Landroid/text/Spannable;.charAt:(I)C // method@0089 │ │ +0195ba: 0a02 |0043: move-result v2 │ │ +0195bc: 1303 0a00 |0044: const/16 v3, #int 10 // #a │ │ +0195c0: 3232 0d00 |0046: if-eq v2, v3, 0053 // +000d │ │ +0195c4: 7210 8a00 0100 |0048: invoke-interface {v1}, Landroid/text/Spannable;.length:()I // method@008a │ │ +0195ca: 0a02 |004b: move-result v2 │ │ +0195cc: d802 02ff |004c: add-int/lit8 v2, v2, #int -1 // #ff │ │ +0195d0: 3520 0500 |004e: if-ge v0, v2, 0053 // +0005 │ │ +0195d4: d800 0001 |0050: add-int/lit8 v0, v0, #int 1 // #01 │ │ +0195d8: 28ee |0052: goto 0040 // -0012 │ │ +0195da: 6202 2001 |0053: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +0195de: 7210 8a00 0100 |0055: invoke-interface {v1}, Landroid/text/Spannable;.length:()I // method@008a │ │ +0195e4: 0a03 |0058: move-result v3 │ │ +0195e6: 7230 8b00 0103 |0059: invoke-interface {v1, v0, v3}, Landroid/text/Spannable;.subSequence:(II)Ljava/lang/CharSequence; // method@008b │ │ +0195ec: 0c00 |005c: move-result-object v0 │ │ +0195ee: 6e20 d100 0200 |005d: invoke-virtual {v2, v0}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ +0195f4: 6200 0301 |0060: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ +0195f8: 6e10 b700 0000 |0062: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +0195fe: 0a00 |0065: move-result v0 │ │ +019600: 3900 1a00 |0066: if-nez v0, 0080 // +001a │ │ +019604: 6200 2001 |0068: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +019608: 6201 2001 |006a: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01960c: 6e10 c500 0100 |006c: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ +019612: 0c01 |006f: move-result-object v1 │ │ +019614: 7210 8600 0100 |0070: invoke-interface {v1}, Landroid/text/Editable;.length:()I // method@0086 │ │ +01961a: 0a01 |0073: move-result v1 │ │ +01961c: 6e20 cf00 1000 |0074: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setSelection:(I)V // method@00cf │ │ +019622: 5460 ec00 |0077: iget-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00ec │ │ +019626: 5400 3201 |0079: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ +01962a: 1301 8200 |007b: const/16 v1, #int 130 // #82 │ │ +01962e: 6e20 df00 1000 |007d: invoke-virtual {v0, v1}, Landroid/widget/ScrollView;.fullScroll:(I)Z // method@00df │ │ +019634: 1a00 a200 |0080: const-string v0, "" // string@00a2 │ │ +019638: 1a01 5800 |0082: const-string v1, "-1" // string@0058 │ │ +01963c: 1a02 a200 |0084: const-string v2, "" // string@00a2 │ │ +019640: 6203 f000 |0086: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +019644: 6e10 4101 0300 |0088: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getVersion:()Ljava/lang/String; // method@0141 │ │ +01964a: 0c00 |008b: move-result-object v0 │ │ +01964c: 2203 2801 |008c: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +019650: 7010 8305 0300 |008e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +019656: 6204 f000 |0091: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01965a: 6e10 4401 0400 |0093: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess;.openConnectionsCount:()I // method@0144 │ │ +019660: 0a04 |0096: move-result v4 │ │ +019662: 6e20 8605 4300 |0097: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +019668: 1a04 0000 |009a: const-string v4, "" // string@0000 │ │ +01966c: 6e20 8905 4300 |009c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +019672: 6e10 8b05 0300 |009f: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +019678: 0c01 |00a2: move-result-object v1 │ │ +01967a: 6203 f000 |00a3: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01967e: 6e10 3e01 0300 |00a5: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getLastDNSAddress:()Ljava/lang/String; // method@013e │ │ +019684: 0c02 |00a8: move-result-object v2 │ │ +019686: 281c |00a9: goto 00c5 // +001c │ │ +019688: 0d03 |00aa: move-exception v3 │ │ +01968a: 5464 ec00 |00ab: iget-object v4, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00ec │ │ +01968e: 2205 2801 |00ad: new-instance v5, Ljava/lang/StringBuilder; // type@0128 │ │ +019692: 7010 8305 0500 |00af: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +019698: 6e10 0005 0300 |00b2: invoke-virtual {v3}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ +01969e: 0c03 |00b5: move-result-object v3 │ │ +0196a0: 6e20 8905 3500 |00b6: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0196a6: 1a03 0200 |00b9: const-string v3, " │ │ " // string@0002 │ │ -0196ae: 6e20 8905 3500 |00bb: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0196b4: 6e10 8b05 0500 |00be: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0196ba: 0c03 |00c1: move-result-object v3 │ │ -0196bc: 7120 b502 3400 |00c2: invoke-static {v4, v3}, Ldnsfilter/android/DNSProxyActivity;.access$300:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02b5 │ │ -0196c2: 5463 ec00 |00c5: iget-object v3, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00ec │ │ -0196c6: 2204 2801 |00c7: new-instance v4, Ljava/lang/StringBuilder; // type@0128 │ │ -0196ca: 7010 8305 0400 |00c9: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -0196d0: 1a05 5e09 |00cc: const-string v5, "personalDNSfilter V" // string@095e │ │ -0196d4: 6e20 8905 5400 |00ce: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0196da: 6e20 8905 0400 |00d1: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0196e0: 1a00 0f00 |00d4: const-string v0, " (Connections:" // string@000f │ │ -0196e4: 6e20 8905 0400 |00d6: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0196ea: 6e20 8905 1400 |00d9: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0196f0: 1a00 4800 |00dc: const-string v0, ")" // string@0048 │ │ -0196f4: 6e20 8905 0400 |00de: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0196fa: 6e10 8b05 0400 |00e1: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -019700: 0c00 |00e4: move-result-object v0 │ │ -019702: 6e20 0803 0300 |00e5: invoke-virtual {v3, v0}, Ldnsfilter/android/DNSProxyActivity;.setTitle:(Ljava/lang/CharSequence;)V // method@0308 │ │ -019708: 6200 1001 |00e8: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ -01970c: 6e20 f400 2000 |00ea: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -019712: 1e06 |00ed: monitor-exit v6 │ │ -019714: 0e00 |00ee: return-void │ │ -019716: 0d00 |00ef: move-exception v0 │ │ -019718: 1e06 |00f0: monitor-exit v6 │ │ -01971a: 2802 |00f1: goto 00f3 // +0002 │ │ -01971c: 2700 |00f2: throw v0 │ │ -01971e: 28ff |00f3: goto 00f2 // -0001 │ │ +0196aa: 6e20 8905 3500 |00bb: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0196b0: 6e10 8b05 0500 |00be: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0196b6: 0c03 |00c1: move-result-object v3 │ │ +0196b8: 7120 b502 3400 |00c2: invoke-static {v4, v3}, Ldnsfilter/android/DNSProxyActivity;.access$300:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02b5 │ │ +0196be: 5463 ec00 |00c5: iget-object v3, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00ec │ │ +0196c2: 2204 2801 |00c7: new-instance v4, Ljava/lang/StringBuilder; // type@0128 │ │ +0196c6: 7010 8305 0400 |00c9: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +0196cc: 1a05 5e09 |00cc: const-string v5, "personalDNSfilter V" // string@095e │ │ +0196d0: 6e20 8905 5400 |00ce: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0196d6: 6e20 8905 0400 |00d1: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0196dc: 1a00 0f00 |00d4: const-string v0, " (Connections:" // string@000f │ │ +0196e0: 6e20 8905 0400 |00d6: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0196e6: 6e20 8905 1400 |00d9: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0196ec: 1a00 4800 |00dc: const-string v0, ")" // string@0048 │ │ +0196f0: 6e20 8905 0400 |00de: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0196f6: 6e10 8b05 0400 |00e1: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0196fc: 0c00 |00e4: move-result-object v0 │ │ +0196fe: 6e20 0803 0300 |00e5: invoke-virtual {v3, v0}, Ldnsfilter/android/DNSProxyActivity;.setTitle:(Ljava/lang/CharSequence;)V // method@0308 │ │ +019704: 6200 1001 |00e8: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ +019708: 6e20 f400 2000 |00ea: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01970e: 1e06 |00ed: monitor-exit v6 │ │ +019710: 0e00 |00ee: return-void │ │ +019712: 0d00 |00ef: move-exception v0 │ │ +019714: 1e06 |00f0: monitor-exit v6 │ │ +019716: 2802 |00f1: goto 00f3 // +0002 │ │ +019718: 2700 |00f2: throw v0 │ │ +01971a: 28ff |00f3: goto 00f2 // -0001 │ │ catches : 3 │ │ 0x0001 - 0x0086 │ │ -> 0x00ef │ │ 0x0086 - 0x00a9 │ │ Ljava/io/IOException; -> 0x00aa │ │ -> 0x00ef │ │ 0x00ab - 0x00ed │ │ @@ -15672,88 +15672,88 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 0 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -01d31c: |[01d31c] dnsfilter.android.FilterConfig.:()V │ │ -01d32c: 0e00 |0000: return-void │ │ +01d318: |[01d318] dnsfilter.android.FilterConfig.:()V │ │ +01d328: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #1 : (in Ldnsfilter/android/FilterConfig;) │ │ name : '' │ │ type : '(Landroid/widget/TableLayout;Landroid/widget/Button;Landroid/widget/Button;Landroid/widget/TextView;Landroid/widget/Button;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 9 │ │ ins : 6 │ │ outs : 3 │ │ insns size : 129 16-bit code units │ │ -01d330: |[01d330] dnsfilter.android.FilterConfig.:(Landroid/widget/TableLayout;Landroid/widget/Button;Landroid/widget/Button;Landroid/widget/TextView;Landroid/widget/Button;)V │ │ -01d340: 7010 4f05 0300 |0000: invoke-direct {v3}, Ljava/lang/Object;.:()V // method@054f │ │ -01d346: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -01d348: 5c30 4801 |0004: iput-boolean v0, v3, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ -01d34c: 5b34 4101 |0006: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01d350: 2200 0b00 |0008: new-instance v0, Landroid/app/Dialog; // type@000b │ │ -01d354: 6e10 e800 0400 |000a: invoke-virtual {v4}, Landroid/widget/TableLayout;.getContext:()Landroid/content/Context; // method@00e8 │ │ -01d35a: 0c01 |000d: move-result-object v1 │ │ -01d35c: 1502 097f |000e: const/high16 v2, #int 2131296256 // #7f09 │ │ -01d360: 7030 1400 1002 |0010: invoke-direct {v0, v1, v2}, Landroid/app/Dialog;.:(Landroid/content/Context;I)V // method@0014 │ │ -01d366: 5b30 4401 |0013: iput-object v0, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d36a: 6e20 1f00 3000 |0015: invoke-virtual {v0, v3}, Landroid/app/Dialog;.setOnKeyListener:(Landroid/content/DialogInterface$OnKeyListener;)V // method@001f │ │ -01d370: 5430 4401 |0018: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d374: 1401 0a00 067f |001a: const v1, #float 1.78117e+38 // #7f06000a │ │ -01d37a: 6e20 1b00 1000 |001d: invoke-virtual {v0, v1}, Landroid/app/Dialog;.setContentView:(I)V // method@001b │ │ -01d380: 5430 4401 |0020: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d384: 6e10 e800 0400 |0022: invoke-virtual {v4}, Landroid/widget/TableLayout;.getContext:()Landroid/content/Context; // method@00e8 │ │ -01d38a: 0c04 |0025: move-result-object v4 │ │ -01d38c: 6e10 3700 0400 |0026: invoke-virtual {v4}, Landroid/content/Context;.getResources:()Landroid/content/res/Resources; // method@0037 │ │ -01d392: 0c04 |0029: move-result-object v4 │ │ -01d394: 1401 1100 087f |002a: const v1, #float 1.80775e+38 // #7f080011 │ │ -01d39a: 6e20 5100 1400 |002d: invoke-virtual {v4, v1}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0051 │ │ -01d3a0: 0c04 |0030: move-result-object v4 │ │ -01d3a2: 6e20 2100 4000 |0031: invoke-virtual {v0, v4}, Landroid/app/Dialog;.setTitle:(Ljava/lang/CharSequence;)V // method@0021 │ │ -01d3a8: 5434 4401 |0034: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d3ac: 1400 2f00 057f |0036: const v0, #float 1.76788e+38 // #7f05002f │ │ -01d3b2: 6e20 1700 0400 |0039: invoke-virtual {v4, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01d3b8: 0c04 |003c: move-result-object v4 │ │ -01d3ba: 1f04 5e00 |003d: check-cast v4, Landroid/widget/Button; // type@005e │ │ -01d3be: 5b34 4501 |003f: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.editOk:Landroid/widget/Button; // field@0145 │ │ -01d3c2: 5434 4401 |0041: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d3c6: 1400 2e00 057f |0043: const v0, #float 1.76788e+38 // #7f05002e │ │ -01d3cc: 6e20 1700 0400 |0046: invoke-virtual {v4, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01d3d2: 0c04 |0049: move-result-object v4 │ │ -01d3d4: 1f04 5e00 |004a: check-cast v4, Landroid/widget/Button; // type@005e │ │ -01d3d8: 5b34 4301 |004c: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.editDelete:Landroid/widget/Button; // field@0143 │ │ -01d3dc: 5434 4401 |004e: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d3e0: 1400 2d00 057f |0050: const v0, #float 1.76788e+38 // #7f05002d │ │ -01d3e6: 6e20 1700 0400 |0053: invoke-virtual {v4, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01d3ec: 0c04 |0056: move-result-object v4 │ │ -01d3ee: 1f04 5e00 |0057: check-cast v4, Landroid/widget/Button; // type@005e │ │ -01d3f2: 5b34 4201 |0059: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.editCancel:Landroid/widget/Button; // field@0142 │ │ -01d3f6: 5434 4501 |005b: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editOk:Landroid/widget/Button; // field@0145 │ │ -01d3fa: 6e20 b000 3400 |005d: invoke-virtual {v4, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ -01d400: 5434 4301 |0060: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editDelete:Landroid/widget/Button; // field@0143 │ │ -01d404: 6e20 b000 3400 |0062: invoke-virtual {v4, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ -01d40a: 5434 4201 |0065: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editCancel:Landroid/widget/Button; // field@0142 │ │ -01d40e: 6e20 b000 3400 |0067: invoke-virtual {v4, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ -01d414: 5b35 4001 |006a: iput-object v5, v3, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ -01d418: 5b36 3d01 |006c: iput-object v6, v3, Ldnsfilter/android/FilterConfig;.categoryDown:Landroid/widget/Button; // field@013d │ │ -01d41c: 5b37 3e01 |006e: iput-object v7, v3, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ -01d420: 5b38 4901 |0070: iput-object v8, v3, Ldnsfilter/android/FilterConfig;.restoreDefault:Landroid/widget/Button; // field@0149 │ │ -01d424: 6204 3901 |0072: sget-object v4, Ldnsfilter/android/FilterConfig;.ALL_ACTIVE:Ljava/lang/String; // field@0139 │ │ -01d428: 6e20 f400 4700 |0074: invoke-virtual {v7, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01d42e: 2204 6401 |0077: new-instance v4, Ljava/util/TreeMap; // type@0164 │ │ -01d432: 6205 1b03 |0079: sget-object v5, Ljava/lang/String;.CASE_INSENSITIVE_ORDER:Ljava/util/Comparator; // field@031b │ │ -01d436: 7020 4a06 5400 |007b: invoke-direct {v4, v5}, Ljava/util/TreeMap;.:(Ljava/util/Comparator;)V // method@064a │ │ -01d43c: 5b34 3f01 |007e: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01d440: 0e00 |0080: return-void │ │ +01d32c: |[01d32c] dnsfilter.android.FilterConfig.:(Landroid/widget/TableLayout;Landroid/widget/Button;Landroid/widget/Button;Landroid/widget/TextView;Landroid/widget/Button;)V │ │ +01d33c: 7010 4f05 0300 |0000: invoke-direct {v3}, Ljava/lang/Object;.:()V // method@054f │ │ +01d342: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +01d344: 5c30 4801 |0004: iput-boolean v0, v3, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ +01d348: 5b34 4101 |0006: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01d34c: 2200 0b00 |0008: new-instance v0, Landroid/app/Dialog; // type@000b │ │ +01d350: 6e10 e800 0400 |000a: invoke-virtual {v4}, Landroid/widget/TableLayout;.getContext:()Landroid/content/Context; // method@00e8 │ │ +01d356: 0c01 |000d: move-result-object v1 │ │ +01d358: 1502 097f |000e: const/high16 v2, #int 2131296256 // #7f09 │ │ +01d35c: 7030 1400 1002 |0010: invoke-direct {v0, v1, v2}, Landroid/app/Dialog;.:(Landroid/content/Context;I)V // method@0014 │ │ +01d362: 5b30 4401 |0013: iput-object v0, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d366: 6e20 1f00 3000 |0015: invoke-virtual {v0, v3}, Landroid/app/Dialog;.setOnKeyListener:(Landroid/content/DialogInterface$OnKeyListener;)V // method@001f │ │ +01d36c: 5430 4401 |0018: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d370: 1401 0a00 067f |001a: const v1, #float 1.78117e+38 // #7f06000a │ │ +01d376: 6e20 1b00 1000 |001d: invoke-virtual {v0, v1}, Landroid/app/Dialog;.setContentView:(I)V // method@001b │ │ +01d37c: 5430 4401 |0020: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d380: 6e10 e800 0400 |0022: invoke-virtual {v4}, Landroid/widget/TableLayout;.getContext:()Landroid/content/Context; // method@00e8 │ │ +01d386: 0c04 |0025: move-result-object v4 │ │ +01d388: 6e10 3700 0400 |0026: invoke-virtual {v4}, Landroid/content/Context;.getResources:()Landroid/content/res/Resources; // method@0037 │ │ +01d38e: 0c04 |0029: move-result-object v4 │ │ +01d390: 1401 1100 087f |002a: const v1, #float 1.80775e+38 // #7f080011 │ │ +01d396: 6e20 5100 1400 |002d: invoke-virtual {v4, v1}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0051 │ │ +01d39c: 0c04 |0030: move-result-object v4 │ │ +01d39e: 6e20 2100 4000 |0031: invoke-virtual {v0, v4}, Landroid/app/Dialog;.setTitle:(Ljava/lang/CharSequence;)V // method@0021 │ │ +01d3a4: 5434 4401 |0034: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d3a8: 1400 2f00 057f |0036: const v0, #float 1.76788e+38 // #7f05002f │ │ +01d3ae: 6e20 1700 0400 |0039: invoke-virtual {v4, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01d3b4: 0c04 |003c: move-result-object v4 │ │ +01d3b6: 1f04 5e00 |003d: check-cast v4, Landroid/widget/Button; // type@005e │ │ +01d3ba: 5b34 4501 |003f: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.editOk:Landroid/widget/Button; // field@0145 │ │ +01d3be: 5434 4401 |0041: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d3c2: 1400 2e00 057f |0043: const v0, #float 1.76788e+38 // #7f05002e │ │ +01d3c8: 6e20 1700 0400 |0046: invoke-virtual {v4, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01d3ce: 0c04 |0049: move-result-object v4 │ │ +01d3d0: 1f04 5e00 |004a: check-cast v4, Landroid/widget/Button; // type@005e │ │ +01d3d4: 5b34 4301 |004c: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.editDelete:Landroid/widget/Button; // field@0143 │ │ +01d3d8: 5434 4401 |004e: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d3dc: 1400 2d00 057f |0050: const v0, #float 1.76788e+38 // #7f05002d │ │ +01d3e2: 6e20 1700 0400 |0053: invoke-virtual {v4, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01d3e8: 0c04 |0056: move-result-object v4 │ │ +01d3ea: 1f04 5e00 |0057: check-cast v4, Landroid/widget/Button; // type@005e │ │ +01d3ee: 5b34 4201 |0059: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.editCancel:Landroid/widget/Button; // field@0142 │ │ +01d3f2: 5434 4501 |005b: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editOk:Landroid/widget/Button; // field@0145 │ │ +01d3f6: 6e20 b000 3400 |005d: invoke-virtual {v4, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ +01d3fc: 5434 4301 |0060: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editDelete:Landroid/widget/Button; // field@0143 │ │ +01d400: 6e20 b000 3400 |0062: invoke-virtual {v4, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ +01d406: 5434 4201 |0065: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editCancel:Landroid/widget/Button; // field@0142 │ │ +01d40a: 6e20 b000 3400 |0067: invoke-virtual {v4, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ +01d410: 5b35 4001 |006a: iput-object v5, v3, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ +01d414: 5b36 3d01 |006c: iput-object v6, v3, Ldnsfilter/android/FilterConfig;.categoryDown:Landroid/widget/Button; // field@013d │ │ +01d418: 5b37 3e01 |006e: iput-object v7, v3, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ +01d41c: 5b38 4901 |0070: iput-object v8, v3, Ldnsfilter/android/FilterConfig;.restoreDefault:Landroid/widget/Button; // field@0149 │ │ +01d420: 6204 3901 |0072: sget-object v4, Ldnsfilter/android/FilterConfig;.ALL_ACTIVE:Ljava/lang/String; // field@0139 │ │ +01d424: 6e20 f400 4700 |0074: invoke-virtual {v7, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01d42a: 2204 6401 |0077: new-instance v4, Ljava/util/TreeMap; // type@0164 │ │ +01d42e: 6205 1b03 |0079: sget-object v5, Ljava/lang/String;.CASE_INSENSITIVE_ORDER:Ljava/util/Comparator; // field@031b │ │ +01d432: 7020 4a06 5400 |007b: invoke-direct {v4, v5}, Ljava/util/TreeMap;.:(Ljava/util/Comparator;)V // method@064a │ │ +01d438: 5b34 3f01 |007e: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01d43c: 0e00 |0080: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=64 │ │ 0x0004 line=41 │ │ 0x0006 line=66 │ │ 0x0008 line=67 │ │ 0x0015 line=68 │ │ @@ -15784,21 +15784,21 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 12 16-bit code units │ │ -01d444: |[01d444] dnsfilter.android.FilterConfig.addEmptyEndItem:()V │ │ -01d454: 2200 7a00 |0000: new-instance v0, Ldnsfilter/ConfigUtil$HostFilterList; // type@007a │ │ -01d458: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -01d45a: 6202 3c01 |0003: sget-object v2, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ -01d45e: 7052 1e01 1022 |0005: invoke-direct {v0, v1, v2, v2, v2}, Ldnsfilter/ConfigUtil$HostFilterList;.:(ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V // method@011e │ │ -01d464: 7020 1303 0300 |0008: invoke-direct {v3, v0}, Ldnsfilter/android/FilterConfig;.addItem:(Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0313 │ │ -01d46a: 0e00 |000b: return-void │ │ +01d440: |[01d440] dnsfilter.android.FilterConfig.addEmptyEndItem:()V │ │ +01d450: 2200 7a00 |0000: new-instance v0, Ldnsfilter/ConfigUtil$HostFilterList; // type@007a │ │ +01d454: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +01d456: 6202 3c01 |0003: sget-object v2, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ +01d45a: 7052 1e01 1022 |0005: invoke-direct {v0, v1, v2, v2, v2}, Ldnsfilter/ConfigUtil$HostFilterList;.:(ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V // method@011e │ │ +01d460: 7020 1303 0300 |0008: invoke-direct {v3, v0}, Ldnsfilter/android/FilterConfig;.addItem:(Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0313 │ │ +01d466: 0e00 |000b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=158 │ │ locals : │ │ 0x0000 - 0x000c reg=3 this Ldnsfilter/android/FilterConfig; │ │ │ │ #3 : (in Ldnsfilter/android/FilterConfig;) │ │ @@ -15806,54 +15806,54 @@ │ │ type : '(Ldnsfilter/ConfigUtil$HostFilterList;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 79 16-bit code units │ │ -01d46c: |[01d46c] dnsfilter.android.FilterConfig.addItem:(Ldnsfilter/ConfigUtil$HostFilterList;)V │ │ -01d47c: 5440 4101 |0000: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01d480: 6e10 e800 0000 |0002: invoke-virtual {v0}, Landroid/widget/TableLayout;.getContext:()Landroid/content/Context; // method@00e8 │ │ -01d486: 0c00 |0005: move-result-object v0 │ │ -01d488: 7110 9000 0000 |0006: invoke-static {v0}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@0090 │ │ -01d48e: 0c00 |0009: move-result-object v0 │ │ -01d490: 1401 0900 067f |000a: const v1, #float 1.78117e+38 // #7f060009 │ │ -01d496: 1202 |000d: const/4 v2, #int 0 // #0 │ │ -01d498: 6e30 9100 1002 |000e: invoke-virtual {v0, v1, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@0091 │ │ -01d49e: 0c00 |0011: move-result-object v0 │ │ -01d4a0: 1f00 6d00 |0012: check-cast v0, Landroid/widget/TableRow; // type@006d │ │ -01d4a4: 5441 4101 |0014: iget-object v1, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01d4a8: 6e20 e500 0100 |0016: invoke-virtual {v1, v0}, Landroid/widget/TableLayout;.addView:(Landroid/view/View;)V // method@00e5 │ │ -01d4ae: 7020 1503 0400 |0019: invoke-direct {v4, v0}, Ldnsfilter/android/FilterConfig;.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; // method@0315 │ │ -01d4b4: 0c01 |001c: move-result-object v1 │ │ -01d4b6: 1202 |001d: const/4 v2, #int 0 // #0 │ │ -01d4b8: 4602 0102 |001e: aget-object v2, v1, v2 │ │ -01d4bc: 1f02 5f00 |0020: check-cast v2, Landroid/widget/CheckBox; // type@005f │ │ -01d4c0: 5553 0d00 |0022: iget-boolean v3, v5, Ldnsfilter/ConfigUtil$HostFilterList;.active:Z // field@000d │ │ -01d4c4: 6e20 b800 3200 |0024: invoke-virtual {v2, v3}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01d4ca: 1212 |0027: const/4 v2, #int 1 // #1 │ │ -01d4cc: 4602 0102 |0028: aget-object v2, v1, v2 │ │ -01d4d0: 1f02 6e00 |002a: check-cast v2, Landroid/widget/TextView; // type@006e │ │ -01d4d4: 5453 0e00 |002c: iget-object v3, v5, Ldnsfilter/ConfigUtil$HostFilterList;.category:Ljava/lang/String; // field@000e │ │ -01d4d8: 6e20 f400 3200 |002e: invoke-virtual {v2, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01d4de: 1222 |0031: const/4 v2, #int 2 // #2 │ │ -01d4e0: 4602 0102 |0032: aget-object v2, v1, v2 │ │ -01d4e4: 1f02 6e00 |0034: check-cast v2, Landroid/widget/TextView; // type@006e │ │ -01d4e8: 5453 0f00 |0036: iget-object v3, v5, Ldnsfilter/ConfigUtil$HostFilterList;.id:Ljava/lang/String; // field@000f │ │ -01d4ec: 6e20 f400 3200 |0038: invoke-virtual {v2, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01d4f2: 1232 |003b: const/4 v2, #int 3 // #3 │ │ -01d4f4: 4602 0102 |003c: aget-object v2, v1, v2 │ │ -01d4f8: 1f02 6e00 |003e: check-cast v2, Landroid/widget/TextView; // type@006e │ │ -01d4fc: 5455 1000 |0040: iget-object v5, v5, Ldnsfilter/ConfigUtil$HostFilterList;.url:Ljava/lang/String; // field@0010 │ │ -01d500: 6e20 f400 5200 |0042: invoke-virtual {v2, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01d506: 1245 |0045: const/4 v5, #int 4 // #4 │ │ -01d508: 4605 0105 |0046: aget-object v5, v1, v5 │ │ -01d50c: 6e20 9d00 4500 |0048: invoke-virtual {v5, v4}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@009d │ │ -01d512: 7020 2103 0400 |004b: invoke-direct {v4, v0}, Ldnsfilter/android/FilterConfig;.setVisibility:(Landroid/widget/TableRow;)V // method@0321 │ │ -01d518: 0e00 |004e: return-void │ │ +01d468: |[01d468] dnsfilter.android.FilterConfig.addItem:(Ldnsfilter/ConfigUtil$HostFilterList;)V │ │ +01d478: 5440 4101 |0000: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01d47c: 6e10 e800 0000 |0002: invoke-virtual {v0}, Landroid/widget/TableLayout;.getContext:()Landroid/content/Context; // method@00e8 │ │ +01d482: 0c00 |0005: move-result-object v0 │ │ +01d484: 7110 9000 0000 |0006: invoke-static {v0}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@0090 │ │ +01d48a: 0c00 |0009: move-result-object v0 │ │ +01d48c: 1401 0900 067f |000a: const v1, #float 1.78117e+38 // #7f060009 │ │ +01d492: 1202 |000d: const/4 v2, #int 0 // #0 │ │ +01d494: 6e30 9100 1002 |000e: invoke-virtual {v0, v1, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@0091 │ │ +01d49a: 0c00 |0011: move-result-object v0 │ │ +01d49c: 1f00 6d00 |0012: check-cast v0, Landroid/widget/TableRow; // type@006d │ │ +01d4a0: 5441 4101 |0014: iget-object v1, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01d4a4: 6e20 e500 0100 |0016: invoke-virtual {v1, v0}, Landroid/widget/TableLayout;.addView:(Landroid/view/View;)V // method@00e5 │ │ +01d4aa: 7020 1503 0400 |0019: invoke-direct {v4, v0}, Ldnsfilter/android/FilterConfig;.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; // method@0315 │ │ +01d4b0: 0c01 |001c: move-result-object v1 │ │ +01d4b2: 1202 |001d: const/4 v2, #int 0 // #0 │ │ +01d4b4: 4602 0102 |001e: aget-object v2, v1, v2 │ │ +01d4b8: 1f02 5f00 |0020: check-cast v2, Landroid/widget/CheckBox; // type@005f │ │ +01d4bc: 5553 0d00 |0022: iget-boolean v3, v5, Ldnsfilter/ConfigUtil$HostFilterList;.active:Z // field@000d │ │ +01d4c0: 6e20 b800 3200 |0024: invoke-virtual {v2, v3}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01d4c6: 1212 |0027: const/4 v2, #int 1 // #1 │ │ +01d4c8: 4602 0102 |0028: aget-object v2, v1, v2 │ │ +01d4cc: 1f02 6e00 |002a: check-cast v2, Landroid/widget/TextView; // type@006e │ │ +01d4d0: 5453 0e00 |002c: iget-object v3, v5, Ldnsfilter/ConfigUtil$HostFilterList;.category:Ljava/lang/String; // field@000e │ │ +01d4d4: 6e20 f400 3200 |002e: invoke-virtual {v2, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01d4da: 1222 |0031: const/4 v2, #int 2 // #2 │ │ +01d4dc: 4602 0102 |0032: aget-object v2, v1, v2 │ │ +01d4e0: 1f02 6e00 |0034: check-cast v2, Landroid/widget/TextView; // type@006e │ │ +01d4e4: 5453 0f00 |0036: iget-object v3, v5, Ldnsfilter/ConfigUtil$HostFilterList;.id:Ljava/lang/String; // field@000f │ │ +01d4e8: 6e20 f400 3200 |0038: invoke-virtual {v2, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01d4ee: 1232 |003b: const/4 v2, #int 3 // #3 │ │ +01d4f0: 4602 0102 |003c: aget-object v2, v1, v2 │ │ +01d4f4: 1f02 6e00 |003e: check-cast v2, Landroid/widget/TextView; // type@006e │ │ +01d4f8: 5455 1000 |0040: iget-object v5, v5, Ldnsfilter/ConfigUtil$HostFilterList;.url:Ljava/lang/String; // field@0010 │ │ +01d4fc: 6e20 f400 5200 |0042: invoke-virtual {v2, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01d502: 1245 |0045: const/4 v5, #int 4 // #4 │ │ +01d504: 4605 0105 |0046: aget-object v5, v1, v5 │ │ +01d508: 6e20 9d00 4500 |0048: invoke-virtual {v5, v4}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@009d │ │ +01d50e: 7020 2103 0400 |004b: invoke-direct {v4, v0}, Ldnsfilter/android/FilterConfig;.setVisibility:(Landroid/widget/TableRow;)V // method@0321 │ │ +01d514: 0e00 |004e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=100 │ │ 0x0014 line=101 │ │ 0x0019 line=102 │ │ 0x001e line=103 │ │ 0x0028 line=104 │ │ @@ -15870,38 +15870,38 @@ │ │ type : '(Landroid/widget/TableRow;)[Landroid/view/View;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 39 16-bit code units │ │ -01d18c: |[01d18c] dnsfilter.android.FilterConfig.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; │ │ -01d19c: 1250 |0000: const/4 v0, #int 5 // #5 │ │ -01d19e: 2301 9e01 |0001: new-array v1, v0, [Landroid/view/View; // type@019e │ │ -01d1a2: 1202 |0003: const/4 v2, #int 0 // #0 │ │ -01d1a4: 1203 |0004: const/4 v3, #int 0 // #0 │ │ -01d1a6: 3503 0b00 |0005: if-ge v3, v0, 0010 // +000b │ │ -01d1aa: 6e20 ea00 3600 |0007: invoke-virtual {v6, v3}, Landroid/widget/TableRow;.getChildAt:(I)Landroid/view/View; // method@00ea │ │ -01d1b0: 0c04 |000a: move-result-object v4 │ │ -01d1b2: 4d04 0103 |000b: aput-object v4, v1, v3 │ │ -01d1b6: d803 0301 |000d: add-int/lit8 v3, v3, #int 1 // #01 │ │ -01d1ba: 28f6 |000f: goto 0005 // -000a │ │ -01d1bc: 1226 |0010: const/4 v6, #int 2 // #2 │ │ -01d1be: 4600 0106 |0011: aget-object v0, v1, v6 │ │ -01d1c2: 1f00 5400 |0013: check-cast v0, Landroid/view/ViewGroup; // type@0054 │ │ -01d1c6: 6e20 a000 2000 |0015: invoke-virtual {v0, v2}, Landroid/view/ViewGroup;.getChildAt:(I)Landroid/view/View; // method@00a0 │ │ -01d1cc: 0c00 |0018: move-result-object v0 │ │ -01d1ce: 4d00 0106 |0019: aput-object v0, v1, v6 │ │ -01d1d2: 1236 |001b: const/4 v6, #int 3 // #3 │ │ -01d1d4: 4600 0106 |001c: aget-object v0, v1, v6 │ │ -01d1d8: 1f00 5400 |001e: check-cast v0, Landroid/view/ViewGroup; // type@0054 │ │ -01d1dc: 6e20 a000 2000 |0020: invoke-virtual {v0, v2}, Landroid/view/ViewGroup;.getChildAt:(I)Landroid/view/View; // method@00a0 │ │ -01d1e2: 0c00 |0023: move-result-object v0 │ │ -01d1e4: 4d00 0106 |0024: aput-object v0, v1, v6 │ │ -01d1e8: 1101 |0026: return-object v1 │ │ +01d188: |[01d188] dnsfilter.android.FilterConfig.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; │ │ +01d198: 1250 |0000: const/4 v0, #int 5 // #5 │ │ +01d19a: 2301 9e01 |0001: new-array v1, v0, [Landroid/view/View; // type@019e │ │ +01d19e: 1202 |0003: const/4 v2, #int 0 // #0 │ │ +01d1a0: 1203 |0004: const/4 v3, #int 0 // #0 │ │ +01d1a2: 3503 0b00 |0005: if-ge v3, v0, 0010 // +000b │ │ +01d1a6: 6e20 ea00 3600 |0007: invoke-virtual {v6, v3}, Landroid/widget/TableRow;.getChildAt:(I)Landroid/view/View; // method@00ea │ │ +01d1ac: 0c04 |000a: move-result-object v4 │ │ +01d1ae: 4d04 0103 |000b: aput-object v4, v1, v3 │ │ +01d1b2: d803 0301 |000d: add-int/lit8 v3, v3, #int 1 // #01 │ │ +01d1b6: 28f6 |000f: goto 0005 // -000a │ │ +01d1b8: 1226 |0010: const/4 v6, #int 2 // #2 │ │ +01d1ba: 4600 0106 |0011: aget-object v0, v1, v6 │ │ +01d1be: 1f00 5400 |0013: check-cast v0, Landroid/view/ViewGroup; // type@0054 │ │ +01d1c2: 6e20 a000 2000 |0015: invoke-virtual {v0, v2}, Landroid/view/ViewGroup;.getChildAt:(I)Landroid/view/View; // method@00a0 │ │ +01d1c8: 0c00 |0018: move-result-object v0 │ │ +01d1ca: 4d00 0106 |0019: aput-object v0, v1, v6 │ │ +01d1ce: 1236 |001b: const/4 v6, #int 3 // #3 │ │ +01d1d0: 4600 0106 |001c: aget-object v0, v1, v6 │ │ +01d1d4: 1f00 5400 |001e: check-cast v0, Landroid/view/ViewGroup; // type@0054 │ │ +01d1d8: 6e20 a000 2000 |0020: invoke-virtual {v0, v2}, Landroid/view/ViewGroup;.getChildAt:(I)Landroid/view/View; // method@00a0 │ │ +01d1de: 0c00 |0023: move-result-object v0 │ │ +01d1e0: 4d00 0106 |0024: aput-object v0, v1, v6 │ │ +01d1e4: 1101 |0026: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=89 │ │ 0x0007 line=91 │ │ 0x0011 line=93 │ │ 0x001c line=94 │ │ locals : │ │ @@ -15913,51 +15913,51 @@ │ │ type : '(Landroid/widget/Button;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 71 16-bit code units │ │ -01d5a4: |[01d5a4] dnsfilter.android.FilterConfig.handleCategoryChange:(Landroid/widget/Button;)V │ │ -01d5b4: 5420 3e01 |0000: iget-object v0, v2, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ -01d5b8: 6e10 ef00 0000 |0002: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ -01d5be: 0c00 |0005: move-result-object v0 │ │ -01d5c0: 7210 2c05 0000 |0006: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ -01d5c6: 0c00 |0009: move-result-object v0 │ │ -01d5c8: 5421 3f01 |000a: iget-object v1, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01d5cc: 6e20 4c06 0100 |000c: invoke-virtual {v1, v0}, Ljava/util/TreeMap;.containsKey:(Ljava/lang/Object;)Z // method@064c │ │ -01d5d2: 0a01 |000f: move-result v1 │ │ -01d5d4: 3901 0500 |0010: if-nez v1, 0015 // +0005 │ │ -01d5d8: 6203 3901 |0012: sget-object v3, Ldnsfilter/android/FilterConfig;.ALL_ACTIVE:Ljava/lang/String; // field@0139 │ │ -01d5dc: 282a |0014: goto 003e // +002a │ │ -01d5de: 5421 4001 |0015: iget-object v1, v2, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ -01d5e2: 3313 1500 |0017: if-ne v3, v1, 002c // +0015 │ │ -01d5e6: 5423 3f01 |0019: iget-object v3, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01d5ea: 6e20 4f06 0300 |001b: invoke-virtual {v3, v0}, Ljava/util/TreeMap;.higherKey:(Ljava/lang/Object;)Ljava/lang/Object; // method@064f │ │ -01d5f0: 0c03 |001e: move-result-object v3 │ │ -01d5f2: 1f03 2601 |001f: check-cast v3, Ljava/lang/String; // type@0126 │ │ -01d5f6: 3903 1d00 |0021: if-nez v3, 003e // +001d │ │ -01d5fa: 5423 3f01 |0023: iget-object v3, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01d5fe: 6e10 4d06 0300 |0025: invoke-virtual {v3}, Ljava/util/TreeMap;.firstKey:()Ljava/lang/Object; // method@064d │ │ -01d604: 0c03 |0028: move-result-object v3 │ │ -01d606: 1f03 2601 |0029: check-cast v3, Ljava/lang/String; // type@0126 │ │ -01d60a: 2813 |002b: goto 003e // +0013 │ │ -01d60c: 5423 3f01 |002c: iget-object v3, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01d610: 6e20 5106 0300 |002e: invoke-virtual {v3, v0}, Ljava/util/TreeMap;.lowerKey:(Ljava/lang/Object;)Ljava/lang/Object; // method@0651 │ │ -01d616: 0c03 |0031: move-result-object v3 │ │ -01d618: 1f03 2601 |0032: check-cast v3, Ljava/lang/String; // type@0126 │ │ -01d61c: 3903 0a00 |0034: if-nez v3, 003e // +000a │ │ -01d620: 5423 3f01 |0036: iget-object v3, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01d624: 6e10 5006 0300 |0038: invoke-virtual {v3}, Ljava/util/TreeMap;.lastKey:()Ljava/lang/Object; // method@0650 │ │ -01d62a: 0c03 |003b: move-result-object v3 │ │ -01d62c: 1f03 2601 |003c: check-cast v3, Ljava/lang/String; // type@0126 │ │ -01d630: 5420 3e01 |003e: iget-object v0, v2, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ -01d634: 6e20 f400 3000 |0040: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01d63a: 7010 2303 0200 |0043: invoke-direct {v2}, Ldnsfilter/android/FilterConfig;.updateView:()V // method@0323 │ │ -01d640: 0e00 |0046: return-void │ │ +01d5a0: |[01d5a0] dnsfilter.android.FilterConfig.handleCategoryChange:(Landroid/widget/Button;)V │ │ +01d5b0: 5420 3e01 |0000: iget-object v0, v2, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ +01d5b4: 6e10 ef00 0000 |0002: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ +01d5ba: 0c00 |0005: move-result-object v0 │ │ +01d5bc: 7210 2c05 0000 |0006: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ +01d5c2: 0c00 |0009: move-result-object v0 │ │ +01d5c4: 5421 3f01 |000a: iget-object v1, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01d5c8: 6e20 4c06 0100 |000c: invoke-virtual {v1, v0}, Ljava/util/TreeMap;.containsKey:(Ljava/lang/Object;)Z // method@064c │ │ +01d5ce: 0a01 |000f: move-result v1 │ │ +01d5d0: 3901 0500 |0010: if-nez v1, 0015 // +0005 │ │ +01d5d4: 6203 3901 |0012: sget-object v3, Ldnsfilter/android/FilterConfig;.ALL_ACTIVE:Ljava/lang/String; // field@0139 │ │ +01d5d8: 282a |0014: goto 003e // +002a │ │ +01d5da: 5421 4001 |0015: iget-object v1, v2, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ +01d5de: 3313 1500 |0017: if-ne v3, v1, 002c // +0015 │ │ +01d5e2: 5423 3f01 |0019: iget-object v3, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01d5e6: 6e20 4f06 0300 |001b: invoke-virtual {v3, v0}, Ljava/util/TreeMap;.higherKey:(Ljava/lang/Object;)Ljava/lang/Object; // method@064f │ │ +01d5ec: 0c03 |001e: move-result-object v3 │ │ +01d5ee: 1f03 2601 |001f: check-cast v3, Ljava/lang/String; // type@0126 │ │ +01d5f2: 3903 1d00 |0021: if-nez v3, 003e // +001d │ │ +01d5f6: 5423 3f01 |0023: iget-object v3, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01d5fa: 6e10 4d06 0300 |0025: invoke-virtual {v3}, Ljava/util/TreeMap;.firstKey:()Ljava/lang/Object; // method@064d │ │ +01d600: 0c03 |0028: move-result-object v3 │ │ +01d602: 1f03 2601 |0029: check-cast v3, Ljava/lang/String; // type@0126 │ │ +01d606: 2813 |002b: goto 003e // +0013 │ │ +01d608: 5423 3f01 |002c: iget-object v3, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01d60c: 6e20 5106 0300 |002e: invoke-virtual {v3, v0}, Ljava/util/TreeMap;.lowerKey:(Ljava/lang/Object;)Ljava/lang/Object; // method@0651 │ │ +01d612: 0c03 |0031: move-result-object v3 │ │ +01d614: 1f03 2601 |0032: check-cast v3, Ljava/lang/String; // type@0126 │ │ +01d618: 3903 0a00 |0034: if-nez v3, 003e // +000a │ │ +01d61c: 5423 3f01 |0036: iget-object v3, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01d620: 6e10 5006 0300 |0038: invoke-virtual {v3}, Ljava/util/TreeMap;.lastKey:()Ljava/lang/Object; // method@0650 │ │ +01d626: 0c03 |003b: move-result-object v3 │ │ +01d628: 1f03 2601 |003c: check-cast v3, Ljava/lang/String; // type@0126 │ │ +01d62c: 5420 3e01 |003e: iget-object v0, v2, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ +01d630: 6e20 f400 3000 |0040: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01d636: 7010 2303 0200 |0043: invoke-direct {v2}, Ldnsfilter/android/FilterConfig;.updateView:()V // method@0323 │ │ +01d63c: 0e00 |0046: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=222 │ │ 0x000a line=224 │ │ 0x0012 line=225 │ │ 0x0015 line=227 │ │ 0x0019 line=228 │ │ @@ -15975,210 +15975,210 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 18 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 404 16-bit code units │ │ -01d644: |[01d644] dnsfilter.android.FilterConfig.handleEditDialogEvent:(Landroid/view/View;)V │ │ -01d654: 0801 1000 |0000: move-object/from16 v1, v16 │ │ -01d658: 0800 1100 |0002: move-object/from16 v0, v17 │ │ -01d65c: 5412 4201 |0004: iget-object v2, v1, Ldnsfilter/android/FilterConfig;.editCancel:Landroid/widget/Button; // field@0142 │ │ -01d660: 1303 0800 |0006: const/16 v3, #int 8 // #8 │ │ -01d664: 1404 2b00 057f |0008: const v4, #float 1.76788e+38 // #7f05002b │ │ -01d66a: 3320 1100 |000b: if-ne v0, v2, 001c // +0011 │ │ -01d66e: 5410 4401 |000d: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d672: 6e10 1600 0000 |000f: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ -01d678: 5410 4401 |0012: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d67c: 6e20 1700 4000 |0014: invoke-virtual {v0, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01d682: 0c00 |0017: move-result-object v0 │ │ -01d684: 6e20 9f00 3000 |0018: invoke-virtual {v0, v3}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -01d68a: 0e00 |001b: return-void │ │ -01d68c: 5412 4601 |001c: iget-object v2, v1, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ -01d690: 7020 1503 2100 |001e: invoke-direct {v1, v2}, Ldnsfilter/android/FilterConfig;.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; // method@0315 │ │ -01d696: 0c02 |0021: move-result-object v2 │ │ -01d698: 1225 |0022: const/4 v5, #int 2 // #2 │ │ -01d69a: 4606 0205 |0023: aget-object v6, v2, v5 │ │ -01d69e: 1f06 6e00 |0025: check-cast v6, Landroid/widget/TextView; // type@006e │ │ -01d6a2: 6e10 ef00 0600 |0027: invoke-virtual {v6}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ -01d6a8: 0c06 |002a: move-result-object v6 │ │ -01d6aa: 7210 2c05 0600 |002b: invoke-interface {v6}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ -01d6b0: 0c06 |002e: move-result-object v6 │ │ -01d6b2: 6207 3c01 |002f: sget-object v7, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ -01d6b6: 6e20 6705 7600 |0031: invoke-virtual {v6, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -01d6bc: 0a06 |0034: move-result v6 │ │ -01d6be: 5417 4301 |0035: iget-object v7, v1, Ldnsfilter/android/FilterConfig;.editDelete:Landroid/widget/Button; // field@0143 │ │ -01d6c2: 1238 |0037: const/4 v8, #int 3 // #3 │ │ -01d6c4: 1219 |0038: const/4 v9, #int 1 // #1 │ │ -01d6c6: 3370 5400 |0039: if-ne v0, v7, 008d // +0054 │ │ -01d6ca: 3906 4200 |003b: if-nez v6, 007d // +0042 │ │ -01d6ce: 5410 4601 |003d: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ -01d6d2: 6e20 ea00 8000 |003f: invoke-virtual {v0, v8}, Landroid/widget/TableRow;.getChildAt:(I)Landroid/view/View; // method@00ea │ │ -01d6d8: 0c00 |0042: move-result-object v0 │ │ -01d6da: 1205 |0043: const/4 v5, #int 0 // #0 │ │ -01d6dc: 6e20 9d00 5000 |0044: invoke-virtual {v0, v5}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@009d │ │ -01d6e2: 5410 4101 |0047: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01d6e6: 5415 4601 |0049: iget-object v5, v1, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ -01d6ea: 6e20 e900 5000 |004b: invoke-virtual {v0, v5}, Landroid/widget/TableLayout;.removeView:(Landroid/view/View;)V // method@00e9 │ │ -01d6f0: 4600 0209 |004e: aget-object v0, v2, v9 │ │ -01d6f4: 1f00 6e00 |0050: check-cast v0, Landroid/widget/TextView; // type@006e │ │ -01d6f8: 6e10 ef00 0000 |0052: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ -01d6fe: 0c00 |0055: move-result-object v0 │ │ -01d700: 7210 2c05 0000 |0056: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ -01d706: 0c00 |0059: move-result-object v0 │ │ -01d708: 5412 3f01 |005a: iget-object v2, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01d70c: 6e20 4e06 0200 |005c: invoke-virtual {v2, v0}, Ljava/util/TreeMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@064e │ │ -01d712: 0c02 |005f: move-result-object v2 │ │ -01d714: 1f02 1901 |0060: check-cast v2, Ljava/lang/Integer; // type@0119 │ │ -01d718: 6e10 4005 0200 |0062: invoke-virtual {v2}, Ljava/lang/Integer;.intValue:()I // method@0540 │ │ -01d71e: 0a05 |0065: move-result v5 │ │ -01d720: 3395 0800 |0066: if-ne v5, v9, 006e // +0008 │ │ -01d724: 5412 3f01 |0068: iget-object v2, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01d728: 6e20 5306 0200 |006a: invoke-virtual {v2, v0}, Ljava/util/TreeMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@0653 │ │ -01d72e: 2810 |006d: goto 007d // +0010 │ │ -01d730: 5415 3f01 |006e: iget-object v5, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01d734: 2206 1901 |0070: new-instance v6, Ljava/lang/Integer; // type@0119 │ │ -01d738: 6e10 4005 0200 |0072: invoke-virtual {v2}, Ljava/lang/Integer;.intValue:()I // method@0540 │ │ -01d73e: 0a02 |0075: move-result v2 │ │ -01d740: b192 |0076: sub-int/2addr v2, v9 │ │ -01d742: 7020 3f05 2600 |0077: invoke-direct {v6, v2}, Ljava/lang/Integer;.:(I)V // method@053f │ │ -01d748: 6e30 5206 0506 |007a: invoke-virtual {v5, v0, v6}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0652 │ │ -01d74e: 5410 4401 |007d: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d752: 6e10 1600 0000 |007f: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ -01d758: 5410 4401 |0082: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d75c: 6e20 1700 4000 |0084: invoke-virtual {v0, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01d762: 0c00 |0087: move-result-object v0 │ │ -01d764: 6e20 9f00 3000 |0088: invoke-virtual {v0, v3}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -01d76a: 2900 0801 |008b: goto/16 0193 // +0108 │ │ -01d76e: 5417 4501 |008d: iget-object v7, v1, Ldnsfilter/android/FilterConfig;.editOk:Landroid/widget/Button; // field@0145 │ │ -01d772: 3370 0401 |008f: if-ne v0, v7, 0193 // +0104 │ │ -01d776: 5410 4401 |0091: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d77a: 1407 0700 057f |0093: const v7, #float 1.76787e+38 // #7f050007 │ │ -01d780: 6e20 1700 7000 |0096: invoke-virtual {v0, v7}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01d786: 0c00 |0099: move-result-object v0 │ │ -01d788: 5417 4401 |009a: iget-object v7, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d78c: 140a 2c00 057f |009c: const v10, #float 1.76788e+38 // #7f05002c │ │ -01d792: 6e20 1700 a700 |009f: invoke-virtual {v7, v10}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01d798: 0c07 |00a2: move-result-object v7 │ │ -01d79a: 541a 4401 |00a3: iget-object v10, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d79e: 140b 3000 057f |00a5: const v11, #float 1.76788e+38 // #7f050030 │ │ -01d7a4: 6e20 1700 ba00 |00a8: invoke-virtual {v10, v11}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01d7aa: 0c0a |00ab: move-result-object v10 │ │ -01d7ac: 541b 4401 |00ac: iget-object v11, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d7b0: 140c 3200 057f |00ae: const v12, #float 1.76788e+38 // #7f050032 │ │ -01d7b6: 6e20 1700 cb00 |00b1: invoke-virtual {v11, v12}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01d7bc: 0c0b |00b4: move-result-object v11 │ │ -01d7be: 124c |00b5: const/4 v12, #int 4 // #4 │ │ -01d7c0: 23cc 9e01 |00b6: new-array v12, v12, [Landroid/view/View; // type@019e │ │ -01d7c4: 120d |00b8: const/4 v13, #int 0 // #0 │ │ -01d7c6: 4d00 0c0d |00b9: aput-object v0, v12, v13 │ │ -01d7ca: 4d07 0c09 |00bb: aput-object v7, v12, v9 │ │ -01d7ce: 4d0a 0c05 |00bd: aput-object v10, v12, v5 │ │ -01d7d2: 4d0b 0c08 |00bf: aput-object v11, v12, v8 │ │ -01d7d6: 7020 2403 c100 |00c1: invoke-direct {v1, v12}, Ldnsfilter/android/FilterConfig;.validateContent:([Landroid/view/View;)V // method@0324 │ │ -01d7dc: 4600 0c0d |00c4: aget-object v0, v12, v13 │ │ -01d7e0: 1f00 5f00 |00c6: check-cast v0, Landroid/widget/CheckBox; // type@005f │ │ -01d7e4: 6e10 b700 0000 |00c8: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01d7ea: 0a00 |00cb: move-result v0 │ │ -01d7ec: 4607 0c09 |00cc: aget-object v7, v12, v9 │ │ -01d7f0: 1f07 6e00 |00ce: check-cast v7, Landroid/widget/TextView; // type@006e │ │ -01d7f4: 6e10 ef00 0700 |00d0: invoke-virtual {v7}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ -01d7fa: 0c07 |00d3: move-result-object v7 │ │ -01d7fc: 7210 2c05 0700 |00d4: invoke-interface {v7}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ -01d802: 0c07 |00d7: move-result-object v7 │ │ -01d804: 460a 0c05 |00d8: aget-object v10, v12, v5 │ │ -01d808: 1f0a 6e00 |00da: check-cast v10, Landroid/widget/TextView; // type@006e │ │ -01d80c: 6e10 ef00 0a00 |00dc: invoke-virtual {v10}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ -01d812: 0c0a |00df: move-result-object v10 │ │ -01d814: 7210 2c05 0a00 |00e0: invoke-interface {v10}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ -01d81a: 0c0a |00e3: move-result-object v10 │ │ -01d81c: 460b 0c08 |00e4: aget-object v11, v12, v8 │ │ -01d820: 1f0b 6e00 |00e6: check-cast v11, Landroid/widget/TextView; // type@006e │ │ -01d824: 6e10 ef00 0b00 |00e8: invoke-virtual {v11}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ -01d82a: 0c0b |00eb: move-result-object v11 │ │ -01d82c: 7210 2c05 0b00 |00ec: invoke-interface {v11}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ -01d832: 0c0b |00ef: move-result-object v11 │ │ -01d834: 460c 0209 |00f0: aget-object v12, v2, v9 │ │ -01d838: 1f0c 6e00 |00f2: check-cast v12, Landroid/widget/TextView; // type@006e │ │ -01d83c: 6e10 ef00 0c00 |00f4: invoke-virtual {v12}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ -01d842: 0c0c |00f7: move-result-object v12 │ │ -01d844: 7210 2c05 0c00 |00f8: invoke-interface {v12}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ -01d84a: 0c0c |00fb: move-result-object v12 │ │ -01d84c: 6e20 6705 7c00 |00fc: invoke-virtual {v12, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -01d852: 0a0e |00ff: move-result v14 │ │ -01d854: 390e 4b00 |0100: if-nez v14, 014b // +004b │ │ -01d858: 620e 3c01 |0102: sget-object v14, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ -01d85c: 6e20 6705 ec00 |0104: invoke-virtual {v12, v14}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -01d862: 0a0e |0107: move-result v14 │ │ -01d864: 390e 2500 |0108: if-nez v14, 012d // +0025 │ │ -01d868: 541e 3f01 |010a: iget-object v14, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01d86c: 6e20 4e06 ce00 |010c: invoke-virtual {v14, v12}, Ljava/util/TreeMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@064e │ │ -01d872: 0c0e |010f: move-result-object v14 │ │ -01d874: 1f0e 1901 |0110: check-cast v14, Ljava/lang/Integer; // type@0119 │ │ -01d878: 6e10 4005 0e00 |0112: invoke-virtual {v14}, Ljava/lang/Integer;.intValue:()I // method@0540 │ │ -01d87e: 0a0f |0115: move-result v15 │ │ -01d880: 339f 0800 |0116: if-ne v15, v9, 011e // +0008 │ │ -01d884: 541e 3f01 |0118: iget-object v14, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01d888: 6e20 5306 ce00 |011a: invoke-virtual {v14, v12}, Ljava/util/TreeMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@0653 │ │ -01d88e: 2810 |011d: goto 012d // +0010 │ │ -01d890: 541f 3f01 |011e: iget-object v15, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01d894: 2203 1901 |0120: new-instance v3, Ljava/lang/Integer; // type@0119 │ │ -01d898: 6e10 4005 0e00 |0122: invoke-virtual {v14}, Ljava/lang/Integer;.intValue:()I // method@0540 │ │ -01d89e: 0a0e |0125: move-result v14 │ │ -01d8a0: b19e |0126: sub-int/2addr v14, v9 │ │ -01d8a2: 7020 3f05 e300 |0127: invoke-direct {v3, v14}, Ljava/lang/Integer;.:(I)V // method@053f │ │ -01d8a8: 6e30 5206 cf03 |012a: invoke-virtual {v15, v12, v3}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0652 │ │ -01d8ae: 5413 3f01 |012d: iget-object v3, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01d8b2: 6e20 4e06 7300 |012f: invoke-virtual {v3, v7}, Ljava/util/TreeMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@064e │ │ -01d8b8: 0c03 |0132: move-result-object v3 │ │ -01d8ba: 1f03 1901 |0133: check-cast v3, Ljava/lang/Integer; // type@0119 │ │ -01d8be: 3903 0700 |0135: if-nez v3, 013c // +0007 │ │ -01d8c2: 2203 1901 |0137: new-instance v3, Ljava/lang/Integer; // type@0119 │ │ -01d8c6: 7020 3f05 d300 |0139: invoke-direct {v3, v13}, Ljava/lang/Integer;.:(I)V // method@053f │ │ -01d8cc: 541c 3f01 |013c: iget-object v12, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01d8d0: 220e 1901 |013e: new-instance v14, Ljava/lang/Integer; // type@0119 │ │ -01d8d4: 6e10 4005 0300 |0140: invoke-virtual {v3}, Ljava/lang/Integer;.intValue:()I // method@0540 │ │ -01d8da: 0a03 |0143: move-result v3 │ │ -01d8dc: b093 |0144: add-int/2addr v3, v9 │ │ -01d8de: 7020 3f05 3e00 |0145: invoke-direct {v14, v3}, Ljava/lang/Integer;.:(I)V // method@053f │ │ -01d8e4: 6e30 5206 7c0e |0148: invoke-virtual {v12, v7, v14}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0652 │ │ -01d8ea: 4603 020d |014b: aget-object v3, v2, v13 │ │ -01d8ee: 1f03 5f00 |014d: check-cast v3, Landroid/widget/CheckBox; // type@005f │ │ -01d8f2: 6e20 b800 0300 |014f: invoke-virtual {v3, v0}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01d8f8: 4600 0209 |0152: aget-object v0, v2, v9 │ │ -01d8fc: 1f00 6e00 |0154: check-cast v0, Landroid/widget/TextView; // type@006e │ │ -01d900: 6e20 f400 7000 |0156: invoke-virtual {v0, v7}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01d906: 4600 0205 |0159: aget-object v0, v2, v5 │ │ -01d90a: 1f00 6e00 |015b: check-cast v0, Landroid/widget/TextView; // type@006e │ │ -01d90e: 6e20 f400 a000 |015d: invoke-virtual {v0, v10}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01d914: 4600 0208 |0160: aget-object v0, v2, v8 │ │ -01d918: 1f00 6e00 |0162: check-cast v0, Landroid/widget/TextView; // type@006e │ │ -01d91c: 6e20 f400 b000 |0164: invoke-virtual {v0, v11}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01d922: 3806 0700 |0167: if-eqz v6, 016e // +0007 │ │ -01d926: 5410 4601 |0169: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ -01d92a: 7020 1b03 0100 |016b: invoke-direct {v1, v0}, Ldnsfilter/android/FilterConfig;.newItem:(Landroid/widget/TableRow;)V // method@031b │ │ -01d930: 5410 4401 |016e: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d934: 6e10 1600 0000 |0170: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ -01d93a: 5410 4401 |0173: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d93e: 6e20 1700 4000 |0175: invoke-virtual {v0, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01d944: 0c00 |0178: move-result-object v0 │ │ -01d946: 1302 0800 |0179: const/16 v2, #int 8 // #8 │ │ -01d94a: 6e20 9f00 2000 |017b: invoke-virtual {v0, v2}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -01d950: 2815 |017e: goto 0193 // +0015 │ │ -01d952: 0d00 |017f: move-exception v0 │ │ -01d954: 0702 |0180: move-object v2, v0 │ │ -01d956: 5410 4401 |0181: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d95a: 6e20 1700 4000 |0183: invoke-virtual {v0, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01d960: 0c00 |0186: move-result-object v0 │ │ -01d962: 1f00 6e00 |0187: check-cast v0, Landroid/widget/TextView; // type@006e │ │ -01d966: 6e20 f600 d000 |0189: invoke-virtual {v0, v13}, Landroid/widget/TextView;.setVisibility:(I)V // method@00f6 │ │ -01d96c: 6e10 3705 0200 |018c: invoke-virtual {v2}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@0537 │ │ -01d972: 0c02 |018f: move-result-object v2 │ │ -01d974: 6e20 f400 2000 |0190: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01d97a: 0e00 |0193: return-void │ │ +01d640: |[01d640] dnsfilter.android.FilterConfig.handleEditDialogEvent:(Landroid/view/View;)V │ │ +01d650: 0801 1000 |0000: move-object/from16 v1, v16 │ │ +01d654: 0800 1100 |0002: move-object/from16 v0, v17 │ │ +01d658: 5412 4201 |0004: iget-object v2, v1, Ldnsfilter/android/FilterConfig;.editCancel:Landroid/widget/Button; // field@0142 │ │ +01d65c: 1303 0800 |0006: const/16 v3, #int 8 // #8 │ │ +01d660: 1404 2b00 057f |0008: const v4, #float 1.76788e+38 // #7f05002b │ │ +01d666: 3320 1100 |000b: if-ne v0, v2, 001c // +0011 │ │ +01d66a: 5410 4401 |000d: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d66e: 6e10 1600 0000 |000f: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ +01d674: 5410 4401 |0012: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d678: 6e20 1700 4000 |0014: invoke-virtual {v0, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01d67e: 0c00 |0017: move-result-object v0 │ │ +01d680: 6e20 9f00 3000 |0018: invoke-virtual {v0, v3}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +01d686: 0e00 |001b: return-void │ │ +01d688: 5412 4601 |001c: iget-object v2, v1, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ +01d68c: 7020 1503 2100 |001e: invoke-direct {v1, v2}, Ldnsfilter/android/FilterConfig;.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; // method@0315 │ │ +01d692: 0c02 |0021: move-result-object v2 │ │ +01d694: 1225 |0022: const/4 v5, #int 2 // #2 │ │ +01d696: 4606 0205 |0023: aget-object v6, v2, v5 │ │ +01d69a: 1f06 6e00 |0025: check-cast v6, Landroid/widget/TextView; // type@006e │ │ +01d69e: 6e10 ef00 0600 |0027: invoke-virtual {v6}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ +01d6a4: 0c06 |002a: move-result-object v6 │ │ +01d6a6: 7210 2c05 0600 |002b: invoke-interface {v6}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ +01d6ac: 0c06 |002e: move-result-object v6 │ │ +01d6ae: 6207 3c01 |002f: sget-object v7, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ +01d6b2: 6e20 6705 7600 |0031: invoke-virtual {v6, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +01d6b8: 0a06 |0034: move-result v6 │ │ +01d6ba: 5417 4301 |0035: iget-object v7, v1, Ldnsfilter/android/FilterConfig;.editDelete:Landroid/widget/Button; // field@0143 │ │ +01d6be: 1238 |0037: const/4 v8, #int 3 // #3 │ │ +01d6c0: 1219 |0038: const/4 v9, #int 1 // #1 │ │ +01d6c2: 3370 5400 |0039: if-ne v0, v7, 008d // +0054 │ │ +01d6c6: 3906 4200 |003b: if-nez v6, 007d // +0042 │ │ +01d6ca: 5410 4601 |003d: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ +01d6ce: 6e20 ea00 8000 |003f: invoke-virtual {v0, v8}, Landroid/widget/TableRow;.getChildAt:(I)Landroid/view/View; // method@00ea │ │ +01d6d4: 0c00 |0042: move-result-object v0 │ │ +01d6d6: 1205 |0043: const/4 v5, #int 0 // #0 │ │ +01d6d8: 6e20 9d00 5000 |0044: invoke-virtual {v0, v5}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@009d │ │ +01d6de: 5410 4101 |0047: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01d6e2: 5415 4601 |0049: iget-object v5, v1, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ +01d6e6: 6e20 e900 5000 |004b: invoke-virtual {v0, v5}, Landroid/widget/TableLayout;.removeView:(Landroid/view/View;)V // method@00e9 │ │ +01d6ec: 4600 0209 |004e: aget-object v0, v2, v9 │ │ +01d6f0: 1f00 6e00 |0050: check-cast v0, Landroid/widget/TextView; // type@006e │ │ +01d6f4: 6e10 ef00 0000 |0052: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ +01d6fa: 0c00 |0055: move-result-object v0 │ │ +01d6fc: 7210 2c05 0000 |0056: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ +01d702: 0c00 |0059: move-result-object v0 │ │ +01d704: 5412 3f01 |005a: iget-object v2, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01d708: 6e20 4e06 0200 |005c: invoke-virtual {v2, v0}, Ljava/util/TreeMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@064e │ │ +01d70e: 0c02 |005f: move-result-object v2 │ │ +01d710: 1f02 1901 |0060: check-cast v2, Ljava/lang/Integer; // type@0119 │ │ +01d714: 6e10 4005 0200 |0062: invoke-virtual {v2}, Ljava/lang/Integer;.intValue:()I // method@0540 │ │ +01d71a: 0a05 |0065: move-result v5 │ │ +01d71c: 3395 0800 |0066: if-ne v5, v9, 006e // +0008 │ │ +01d720: 5412 3f01 |0068: iget-object v2, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01d724: 6e20 5306 0200 |006a: invoke-virtual {v2, v0}, Ljava/util/TreeMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@0653 │ │ +01d72a: 2810 |006d: goto 007d // +0010 │ │ +01d72c: 5415 3f01 |006e: iget-object v5, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01d730: 2206 1901 |0070: new-instance v6, Ljava/lang/Integer; // type@0119 │ │ +01d734: 6e10 4005 0200 |0072: invoke-virtual {v2}, Ljava/lang/Integer;.intValue:()I // method@0540 │ │ +01d73a: 0a02 |0075: move-result v2 │ │ +01d73c: b192 |0076: sub-int/2addr v2, v9 │ │ +01d73e: 7020 3f05 2600 |0077: invoke-direct {v6, v2}, Ljava/lang/Integer;.:(I)V // method@053f │ │ +01d744: 6e30 5206 0506 |007a: invoke-virtual {v5, v0, v6}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0652 │ │ +01d74a: 5410 4401 |007d: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d74e: 6e10 1600 0000 |007f: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ +01d754: 5410 4401 |0082: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d758: 6e20 1700 4000 |0084: invoke-virtual {v0, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01d75e: 0c00 |0087: move-result-object v0 │ │ +01d760: 6e20 9f00 3000 |0088: invoke-virtual {v0, v3}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +01d766: 2900 0801 |008b: goto/16 0193 // +0108 │ │ +01d76a: 5417 4501 |008d: iget-object v7, v1, Ldnsfilter/android/FilterConfig;.editOk:Landroid/widget/Button; // field@0145 │ │ +01d76e: 3370 0401 |008f: if-ne v0, v7, 0193 // +0104 │ │ +01d772: 5410 4401 |0091: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d776: 1407 0700 057f |0093: const v7, #float 1.76787e+38 // #7f050007 │ │ +01d77c: 6e20 1700 7000 |0096: invoke-virtual {v0, v7}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01d782: 0c00 |0099: move-result-object v0 │ │ +01d784: 5417 4401 |009a: iget-object v7, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d788: 140a 2c00 057f |009c: const v10, #float 1.76788e+38 // #7f05002c │ │ +01d78e: 6e20 1700 a700 |009f: invoke-virtual {v7, v10}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01d794: 0c07 |00a2: move-result-object v7 │ │ +01d796: 541a 4401 |00a3: iget-object v10, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d79a: 140b 3000 057f |00a5: const v11, #float 1.76788e+38 // #7f050030 │ │ +01d7a0: 6e20 1700 ba00 |00a8: invoke-virtual {v10, v11}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01d7a6: 0c0a |00ab: move-result-object v10 │ │ +01d7a8: 541b 4401 |00ac: iget-object v11, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d7ac: 140c 3200 057f |00ae: const v12, #float 1.76788e+38 // #7f050032 │ │ +01d7b2: 6e20 1700 cb00 |00b1: invoke-virtual {v11, v12}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01d7b8: 0c0b |00b4: move-result-object v11 │ │ +01d7ba: 124c |00b5: const/4 v12, #int 4 // #4 │ │ +01d7bc: 23cc 9e01 |00b6: new-array v12, v12, [Landroid/view/View; // type@019e │ │ +01d7c0: 120d |00b8: const/4 v13, #int 0 // #0 │ │ +01d7c2: 4d00 0c0d |00b9: aput-object v0, v12, v13 │ │ +01d7c6: 4d07 0c09 |00bb: aput-object v7, v12, v9 │ │ +01d7ca: 4d0a 0c05 |00bd: aput-object v10, v12, v5 │ │ +01d7ce: 4d0b 0c08 |00bf: aput-object v11, v12, v8 │ │ +01d7d2: 7020 2403 c100 |00c1: invoke-direct {v1, v12}, Ldnsfilter/android/FilterConfig;.validateContent:([Landroid/view/View;)V // method@0324 │ │ +01d7d8: 4600 0c0d |00c4: aget-object v0, v12, v13 │ │ +01d7dc: 1f00 5f00 |00c6: check-cast v0, Landroid/widget/CheckBox; // type@005f │ │ +01d7e0: 6e10 b700 0000 |00c8: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01d7e6: 0a00 |00cb: move-result v0 │ │ +01d7e8: 4607 0c09 |00cc: aget-object v7, v12, v9 │ │ +01d7ec: 1f07 6e00 |00ce: check-cast v7, Landroid/widget/TextView; // type@006e │ │ +01d7f0: 6e10 ef00 0700 |00d0: invoke-virtual {v7}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ +01d7f6: 0c07 |00d3: move-result-object v7 │ │ +01d7f8: 7210 2c05 0700 |00d4: invoke-interface {v7}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ +01d7fe: 0c07 |00d7: move-result-object v7 │ │ +01d800: 460a 0c05 |00d8: aget-object v10, v12, v5 │ │ +01d804: 1f0a 6e00 |00da: check-cast v10, Landroid/widget/TextView; // type@006e │ │ +01d808: 6e10 ef00 0a00 |00dc: invoke-virtual {v10}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ +01d80e: 0c0a |00df: move-result-object v10 │ │ +01d810: 7210 2c05 0a00 |00e0: invoke-interface {v10}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ +01d816: 0c0a |00e3: move-result-object v10 │ │ +01d818: 460b 0c08 |00e4: aget-object v11, v12, v8 │ │ +01d81c: 1f0b 6e00 |00e6: check-cast v11, Landroid/widget/TextView; // type@006e │ │ +01d820: 6e10 ef00 0b00 |00e8: invoke-virtual {v11}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ +01d826: 0c0b |00eb: move-result-object v11 │ │ +01d828: 7210 2c05 0b00 |00ec: invoke-interface {v11}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ +01d82e: 0c0b |00ef: move-result-object v11 │ │ +01d830: 460c 0209 |00f0: aget-object v12, v2, v9 │ │ +01d834: 1f0c 6e00 |00f2: check-cast v12, Landroid/widget/TextView; // type@006e │ │ +01d838: 6e10 ef00 0c00 |00f4: invoke-virtual {v12}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ +01d83e: 0c0c |00f7: move-result-object v12 │ │ +01d840: 7210 2c05 0c00 |00f8: invoke-interface {v12}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ +01d846: 0c0c |00fb: move-result-object v12 │ │ +01d848: 6e20 6705 7c00 |00fc: invoke-virtual {v12, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +01d84e: 0a0e |00ff: move-result v14 │ │ +01d850: 390e 4b00 |0100: if-nez v14, 014b // +004b │ │ +01d854: 620e 3c01 |0102: sget-object v14, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ +01d858: 6e20 6705 ec00 |0104: invoke-virtual {v12, v14}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +01d85e: 0a0e |0107: move-result v14 │ │ +01d860: 390e 2500 |0108: if-nez v14, 012d // +0025 │ │ +01d864: 541e 3f01 |010a: iget-object v14, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01d868: 6e20 4e06 ce00 |010c: invoke-virtual {v14, v12}, Ljava/util/TreeMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@064e │ │ +01d86e: 0c0e |010f: move-result-object v14 │ │ +01d870: 1f0e 1901 |0110: check-cast v14, Ljava/lang/Integer; // type@0119 │ │ +01d874: 6e10 4005 0e00 |0112: invoke-virtual {v14}, Ljava/lang/Integer;.intValue:()I // method@0540 │ │ +01d87a: 0a0f |0115: move-result v15 │ │ +01d87c: 339f 0800 |0116: if-ne v15, v9, 011e // +0008 │ │ +01d880: 541e 3f01 |0118: iget-object v14, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01d884: 6e20 5306 ce00 |011a: invoke-virtual {v14, v12}, Ljava/util/TreeMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@0653 │ │ +01d88a: 2810 |011d: goto 012d // +0010 │ │ +01d88c: 541f 3f01 |011e: iget-object v15, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01d890: 2203 1901 |0120: new-instance v3, Ljava/lang/Integer; // type@0119 │ │ +01d894: 6e10 4005 0e00 |0122: invoke-virtual {v14}, Ljava/lang/Integer;.intValue:()I // method@0540 │ │ +01d89a: 0a0e |0125: move-result v14 │ │ +01d89c: b19e |0126: sub-int/2addr v14, v9 │ │ +01d89e: 7020 3f05 e300 |0127: invoke-direct {v3, v14}, Ljava/lang/Integer;.:(I)V // method@053f │ │ +01d8a4: 6e30 5206 cf03 |012a: invoke-virtual {v15, v12, v3}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0652 │ │ +01d8aa: 5413 3f01 |012d: iget-object v3, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01d8ae: 6e20 4e06 7300 |012f: invoke-virtual {v3, v7}, Ljava/util/TreeMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@064e │ │ +01d8b4: 0c03 |0132: move-result-object v3 │ │ +01d8b6: 1f03 1901 |0133: check-cast v3, Ljava/lang/Integer; // type@0119 │ │ +01d8ba: 3903 0700 |0135: if-nez v3, 013c // +0007 │ │ +01d8be: 2203 1901 |0137: new-instance v3, Ljava/lang/Integer; // type@0119 │ │ +01d8c2: 7020 3f05 d300 |0139: invoke-direct {v3, v13}, Ljava/lang/Integer;.:(I)V // method@053f │ │ +01d8c8: 541c 3f01 |013c: iget-object v12, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01d8cc: 220e 1901 |013e: new-instance v14, Ljava/lang/Integer; // type@0119 │ │ +01d8d0: 6e10 4005 0300 |0140: invoke-virtual {v3}, Ljava/lang/Integer;.intValue:()I // method@0540 │ │ +01d8d6: 0a03 |0143: move-result v3 │ │ +01d8d8: b093 |0144: add-int/2addr v3, v9 │ │ +01d8da: 7020 3f05 3e00 |0145: invoke-direct {v14, v3}, Ljava/lang/Integer;.:(I)V // method@053f │ │ +01d8e0: 6e30 5206 7c0e |0148: invoke-virtual {v12, v7, v14}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0652 │ │ +01d8e6: 4603 020d |014b: aget-object v3, v2, v13 │ │ +01d8ea: 1f03 5f00 |014d: check-cast v3, Landroid/widget/CheckBox; // type@005f │ │ +01d8ee: 6e20 b800 0300 |014f: invoke-virtual {v3, v0}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01d8f4: 4600 0209 |0152: aget-object v0, v2, v9 │ │ +01d8f8: 1f00 6e00 |0154: check-cast v0, Landroid/widget/TextView; // type@006e │ │ +01d8fc: 6e20 f400 7000 |0156: invoke-virtual {v0, v7}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01d902: 4600 0205 |0159: aget-object v0, v2, v5 │ │ +01d906: 1f00 6e00 |015b: check-cast v0, Landroid/widget/TextView; // type@006e │ │ +01d90a: 6e20 f400 a000 |015d: invoke-virtual {v0, v10}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01d910: 4600 0208 |0160: aget-object v0, v2, v8 │ │ +01d914: 1f00 6e00 |0162: check-cast v0, Landroid/widget/TextView; // type@006e │ │ +01d918: 6e20 f400 b000 |0164: invoke-virtual {v0, v11}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01d91e: 3806 0700 |0167: if-eqz v6, 016e // +0007 │ │ +01d922: 5410 4601 |0169: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ +01d926: 7020 1b03 0100 |016b: invoke-direct {v1, v0}, Ldnsfilter/android/FilterConfig;.newItem:(Landroid/widget/TableRow;)V // method@031b │ │ +01d92c: 5410 4401 |016e: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d930: 6e10 1600 0000 |0170: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ +01d936: 5410 4401 |0173: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d93a: 6e20 1700 4000 |0175: invoke-virtual {v0, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01d940: 0c00 |0178: move-result-object v0 │ │ +01d942: 1302 0800 |0179: const/16 v2, #int 8 // #8 │ │ +01d946: 6e20 9f00 2000 |017b: invoke-virtual {v0, v2}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +01d94c: 2815 |017e: goto 0193 // +0015 │ │ +01d94e: 0d00 |017f: move-exception v0 │ │ +01d950: 0702 |0180: move-object v2, v0 │ │ +01d952: 5410 4401 |0181: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d956: 6e20 1700 4000 |0183: invoke-virtual {v0, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01d95c: 0c00 |0186: move-result-object v0 │ │ +01d95e: 1f00 6e00 |0187: check-cast v0, Landroid/widget/TextView; // type@006e │ │ +01d962: 6e20 f600 d000 |0189: invoke-virtual {v0, v13}, Landroid/widget/TextView;.setVisibility:(I)V // method@00f6 │ │ +01d968: 6e10 3705 0200 |018c: invoke-virtual {v2}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@0537 │ │ +01d96e: 0c02 |018f: move-result-object v2 │ │ +01d970: 6e20 f400 2000 |0190: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01d976: 0e00 |0193: return-void │ │ catches : 1 │ │ 0x00c1 - 0x00c4 │ │ Ljava/lang/Exception; -> 0x017f │ │ positions : │ │ 0x0004 line=264 │ │ 0x000d line=265 │ │ 0x0012 line=266 │ │ @@ -16233,17 +16233,17 @@ │ │ type : '(Landroid/widget/TableRow;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01d9f0: |[01d9f0] dnsfilter.android.FilterConfig.newItem:(Landroid/widget/TableRow;)V │ │ -01da00: 7010 1203 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/FilterConfig;.addEmptyEndItem:()V // method@0312 │ │ -01da06: 0e00 |0003: return-void │ │ +01d9ec: |[01d9ec] dnsfilter.android.FilterConfig.newItem:(Landroid/widget/TableRow;)V │ │ +01d9fc: 7010 1203 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/FilterConfig;.addEmptyEndItem:()V // method@0312 │ │ +01da02: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=342 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/FilterConfig; │ │ 0x0000 - 0x0004 reg=1 (null) Landroid/widget/TableRow; │ │ │ │ @@ -16252,41 +16252,41 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 55 16-bit code units │ │ -01da7c: |[01da7c] dnsfilter.android.FilterConfig.restoreDefaultFilters:()V │ │ -01da8c: 7100 3b01 0000 |0000: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getCurrent:()Ldnsfilter/ConfigurationAccess; // method@013b │ │ -01da92: 0c00 |0003: move-result-object v0 │ │ -01da94: 6e10 3c01 0000 |0004: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getDefaultConfig:()Ljava/util/Properties; // method@013c │ │ -01da9a: 0c00 |0007: move-result-object v0 │ │ -01da9c: 6e10 1403 0400 |0008: invoke-virtual {v4}, Ldnsfilter/android/FilterConfig;.clear:()V // method@0314 │ │ -01daa2: 6201 1801 |000b: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ -01daa6: 1a02 ce09 |000d: const-string v2, "reloadIntervalDays" // string@09ce │ │ -01daaa: 1a03 8300 |000f: const-string v3, "7" // string@0083 │ │ -01daae: 6e30 3606 2003 |0011: invoke-virtual {v0, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -01dab4: 0c02 |0014: move-result-object v2 │ │ -01dab6: 6e20 d100 2100 |0015: invoke-virtual {v1, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ -01dabc: 7110 2701 0000 |0018: invoke-static {v0}, Ldnsfilter/ConfigUtil;.getConfiguredFilterLists:(Ljava/util/Properties;)[Ldnsfilter/ConfigUtil$HostFilterList; // method@0127 │ │ -01dac2: 0c00 |001b: move-result-object v0 │ │ -01dac4: 6e20 2003 0400 |001c: invoke-virtual {v4, v0}, Ldnsfilter/android/FilterConfig;.setEntries:([Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0320 │ │ -01daca: 6e10 1a03 0400 |001f: invoke-virtual {v4}, Ldnsfilter/android/FilterConfig;.load:()V // method@031a │ │ -01dad0: 2814 |0022: goto 0036 // +0014 │ │ -01dad2: 0d00 |0023: move-exception v0 │ │ -01dad4: 7100 0107 0000 |0024: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01dada: 0c01 |0027: move-result-object v1 │ │ -01dadc: 7220 0c07 0100 |0028: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -01dae2: 7100 0107 0000 |002b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01dae8: 0c01 |002e: move-result-object v1 │ │ -01daea: 6e10 3b05 0000 |002f: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@053b │ │ -01daf0: 0c00 |0032: move-result-object v0 │ │ -01daf2: 7220 0e07 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ -01daf8: 0e00 |0036: return-void │ │ +01da78: |[01da78] dnsfilter.android.FilterConfig.restoreDefaultFilters:()V │ │ +01da88: 7100 3b01 0000 |0000: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getCurrent:()Ldnsfilter/ConfigurationAccess; // method@013b │ │ +01da8e: 0c00 |0003: move-result-object v0 │ │ +01da90: 6e10 3c01 0000 |0004: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getDefaultConfig:()Ljava/util/Properties; // method@013c │ │ +01da96: 0c00 |0007: move-result-object v0 │ │ +01da98: 6e10 1403 0400 |0008: invoke-virtual {v4}, Ldnsfilter/android/FilterConfig;.clear:()V // method@0314 │ │ +01da9e: 6201 1801 |000b: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ +01daa2: 1a02 ce09 |000d: const-string v2, "reloadIntervalDays" // string@09ce │ │ +01daa6: 1a03 8300 |000f: const-string v3, "7" // string@0083 │ │ +01daaa: 6e30 3606 2003 |0011: invoke-virtual {v0, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +01dab0: 0c02 |0014: move-result-object v2 │ │ +01dab2: 6e20 d100 2100 |0015: invoke-virtual {v1, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ +01dab8: 7110 2701 0000 |0018: invoke-static {v0}, Ldnsfilter/ConfigUtil;.getConfiguredFilterLists:(Ljava/util/Properties;)[Ldnsfilter/ConfigUtil$HostFilterList; // method@0127 │ │ +01dabe: 0c00 |001b: move-result-object v0 │ │ +01dac0: 6e20 2003 0400 |001c: invoke-virtual {v4, v0}, Ldnsfilter/android/FilterConfig;.setEntries:([Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0320 │ │ +01dac6: 6e10 1a03 0400 |001f: invoke-virtual {v4}, Ldnsfilter/android/FilterConfig;.load:()V // method@031a │ │ +01dacc: 2814 |0022: goto 0036 // +0014 │ │ +01dace: 0d00 |0023: move-exception v0 │ │ +01dad0: 7100 0107 0000 |0024: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01dad6: 0c01 |0027: move-result-object v1 │ │ +01dad8: 7220 0c07 0100 |0028: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +01dade: 7100 0107 0000 |002b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01dae4: 0c01 |002e: move-result-object v1 │ │ +01dae6: 6e10 3b05 0000 |002f: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@053b │ │ +01daec: 0c00 |0032: move-result-object v0 │ │ +01daee: 7220 0e07 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ +01daf4: 0e00 |0036: return-void │ │ catches : 1 │ │ 0x0000 - 0x0022 │ │ Ljava/lang/Exception; -> 0x0023 │ │ positions : │ │ 0x0000 line=210 │ │ 0x0008 line=211 │ │ 0x000b line=212 │ │ @@ -16302,56 +16302,56 @@ │ │ type : '(Landroid/widget/TableRow;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 79 16-bit code units │ │ -01dbe0: |[01dbe0] dnsfilter.android.FilterConfig.setVisibility:(Landroid/widget/TableRow;)V │ │ -01dbf0: 5450 3e01 |0000: iget-object v0, v5, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ -01dbf4: 6e10 ef00 0000 |0002: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ -01dbfa: 0c00 |0005: move-result-object v0 │ │ -01dbfc: 7210 2c05 0000 |0006: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ -01dc02: 0c00 |0009: move-result-object v0 │ │ -01dc04: 1211 |000a: const/4 v1, #int 1 // #1 │ │ -01dc06: 6e20 eb00 1600 |000b: invoke-virtual {v6, v1}, Landroid/widget/TableRow;.getVirtualChildAt:(I)Landroid/view/View; // method@00eb │ │ -01dc0c: 0c01 |000e: move-result-object v1 │ │ -01dc0e: 1f01 6e00 |000f: check-cast v1, Landroid/widget/TextView; // type@006e │ │ -01dc12: 6e10 ef00 0100 |0011: invoke-virtual {v1}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ -01dc18: 0c01 |0014: move-result-object v1 │ │ -01dc1a: 7210 2c05 0100 |0015: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ -01dc20: 0c01 |0018: move-result-object v1 │ │ -01dc22: 1202 |0019: const/4 v2, #int 0 // #0 │ │ -01dc24: 6e20 eb00 2600 |001a: invoke-virtual {v6, v2}, Landroid/widget/TableRow;.getVirtualChildAt:(I)Landroid/view/View; // method@00eb │ │ -01dc2a: 0c03 |001d: move-result-object v3 │ │ -01dc2c: 1f03 5f00 |001e: check-cast v3, Landroid/widget/CheckBox; // type@005f │ │ -01dc30: 6e10 b700 0300 |0020: invoke-virtual {v3}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01dc36: 0a03 |0023: move-result v3 │ │ -01dc38: 6204 3a01 |0024: sget-object v4, Ldnsfilter/android/FilterConfig;.ALL_CATEGORIES:Ljava/lang/String; // field@013a │ │ -01dc3c: 6e20 6705 4000 |0026: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -01dc42: 0a04 |0029: move-result v4 │ │ -01dc44: 3904 2100 |002a: if-nez v4, 004b // +0021 │ │ -01dc48: 6204 3901 |002c: sget-object v4, Ldnsfilter/android/FilterConfig;.ALL_ACTIVE:Ljava/lang/String; // field@0139 │ │ -01dc4c: 6e20 6705 4000 |002e: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -01dc52: 0a04 |0031: move-result v4 │ │ -01dc54: 3804 0400 |0032: if-eqz v4, 0036 // +0004 │ │ -01dc58: 3903 1700 |0034: if-nez v3, 004b // +0017 │ │ -01dc5c: 6203 3c01 |0036: sget-object v3, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ -01dc60: 6e20 6705 3100 |0038: invoke-virtual {v1, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -01dc66: 0a03 |003b: move-result v3 │ │ -01dc68: 3903 0f00 |003c: if-nez v3, 004b // +000f │ │ -01dc6c: 6e20 6705 0100 |003e: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -01dc72: 0a00 |0041: move-result v0 │ │ -01dc74: 3800 0300 |0042: if-eqz v0, 0045 // +0003 │ │ -01dc78: 2807 |0044: goto 004b // +0007 │ │ -01dc7a: 1300 0800 |0045: const/16 v0, #int 8 // #8 │ │ -01dc7e: 6e20 ec00 0600 |0047: invoke-virtual {v6, v0}, Landroid/widget/TableRow;.setVisibility:(I)V // method@00ec │ │ -01dc84: 2804 |004a: goto 004e // +0004 │ │ -01dc86: 6e20 ec00 2600 |004b: invoke-virtual {v6, v2}, Landroid/widget/TableRow;.setVisibility:(I)V // method@00ec │ │ -01dc8c: 0e00 |004e: return-void │ │ +01dbdc: |[01dbdc] dnsfilter.android.FilterConfig.setVisibility:(Landroid/widget/TableRow;)V │ │ +01dbec: 5450 3e01 |0000: iget-object v0, v5, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ +01dbf0: 6e10 ef00 0000 |0002: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ +01dbf6: 0c00 |0005: move-result-object v0 │ │ +01dbf8: 7210 2c05 0000 |0006: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ +01dbfe: 0c00 |0009: move-result-object v0 │ │ +01dc00: 1211 |000a: const/4 v1, #int 1 // #1 │ │ +01dc02: 6e20 eb00 1600 |000b: invoke-virtual {v6, v1}, Landroid/widget/TableRow;.getVirtualChildAt:(I)Landroid/view/View; // method@00eb │ │ +01dc08: 0c01 |000e: move-result-object v1 │ │ +01dc0a: 1f01 6e00 |000f: check-cast v1, Landroid/widget/TextView; // type@006e │ │ +01dc0e: 6e10 ef00 0100 |0011: invoke-virtual {v1}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ +01dc14: 0c01 |0014: move-result-object v1 │ │ +01dc16: 7210 2c05 0100 |0015: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ +01dc1c: 0c01 |0018: move-result-object v1 │ │ +01dc1e: 1202 |0019: const/4 v2, #int 0 // #0 │ │ +01dc20: 6e20 eb00 2600 |001a: invoke-virtual {v6, v2}, Landroid/widget/TableRow;.getVirtualChildAt:(I)Landroid/view/View; // method@00eb │ │ +01dc26: 0c03 |001d: move-result-object v3 │ │ +01dc28: 1f03 5f00 |001e: check-cast v3, Landroid/widget/CheckBox; // type@005f │ │ +01dc2c: 6e10 b700 0300 |0020: invoke-virtual {v3}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01dc32: 0a03 |0023: move-result v3 │ │ +01dc34: 6204 3a01 |0024: sget-object v4, Ldnsfilter/android/FilterConfig;.ALL_CATEGORIES:Ljava/lang/String; // field@013a │ │ +01dc38: 6e20 6705 4000 |0026: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +01dc3e: 0a04 |0029: move-result v4 │ │ +01dc40: 3904 2100 |002a: if-nez v4, 004b // +0021 │ │ +01dc44: 6204 3901 |002c: sget-object v4, Ldnsfilter/android/FilterConfig;.ALL_ACTIVE:Ljava/lang/String; // field@0139 │ │ +01dc48: 6e20 6705 4000 |002e: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +01dc4e: 0a04 |0031: move-result v4 │ │ +01dc50: 3804 0400 |0032: if-eqz v4, 0036 // +0004 │ │ +01dc54: 3903 1700 |0034: if-nez v3, 004b // +0017 │ │ +01dc58: 6203 3c01 |0036: sget-object v3, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ +01dc5c: 6e20 6705 3100 |0038: invoke-virtual {v1, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +01dc62: 0a03 |003b: move-result v3 │ │ +01dc64: 3903 0f00 |003c: if-nez v3, 004b // +000f │ │ +01dc68: 6e20 6705 0100 |003e: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +01dc6e: 0a00 |0041: move-result v0 │ │ +01dc70: 3800 0300 |0042: if-eqz v0, 0045 // +0003 │ │ +01dc74: 2807 |0044: goto 004b // +0007 │ │ +01dc76: 1300 0800 |0045: const/16 v0, #int 8 // #8 │ │ +01dc7a: 6e20 ec00 0600 |0047: invoke-virtual {v6, v0}, Landroid/widget/TableRow;.setVisibility:(I)V // method@00ec │ │ +01dc80: 2804 |004a: goto 004e // +0004 │ │ +01dc82: 6e20 ec00 2600 |004b: invoke-virtual {v6, v2}, Landroid/widget/TableRow;.setVisibility:(I)V // method@00ec │ │ +01dc88: 0e00 |004e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=113 │ │ 0x000b line=114 │ │ 0x001a line=115 │ │ 0x0024 line=116 │ │ 0x002e line=117 │ │ @@ -16368,84 +16368,84 @@ │ │ type : '(Landroid/widget/TableRow;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 146 16-bit code units │ │ -01dc90: |[01dc90] dnsfilter.android.FilterConfig.showEditDialog:(Landroid/widget/TableRow;)V │ │ -01dca0: 5b45 4601 |0000: iput-object v5, v4, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ -01dca4: 7020 1503 5400 |0002: invoke-direct {v4, v5}, Ldnsfilter/android/FilterConfig;.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; // method@0315 │ │ -01dcaa: 0c05 |0005: move-result-object v5 │ │ -01dcac: 5440 4401 |0006: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01dcb0: 1401 0700 057f |0008: const v1, #float 1.76787e+38 // #7f050007 │ │ -01dcb6: 6e20 1700 1000 |000b: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01dcbc: 0c00 |000e: move-result-object v0 │ │ -01dcbe: 1f00 5f00 |000f: check-cast v0, Landroid/widget/CheckBox; // type@005f │ │ -01dcc2: 1201 |0011: const/4 v1, #int 0 // #0 │ │ -01dcc4: 4601 0501 |0012: aget-object v1, v5, v1 │ │ -01dcc8: 1f01 5f00 |0014: check-cast v1, Landroid/widget/CheckBox; // type@005f │ │ -01dccc: 6e10 b700 0100 |0016: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01dcd2: 0a01 |0019: move-result v1 │ │ -01dcd4: 6e20 b800 1000 |001a: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01dcda: 5440 4401 |001d: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01dcde: 1401 2c00 057f |001f: const v1, #float 1.76788e+38 // #7f05002c │ │ -01dce4: 6e20 1700 1000 |0022: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01dcea: 0c00 |0025: move-result-object v0 │ │ -01dcec: 1f00 6e00 |0026: check-cast v0, Landroid/widget/TextView; // type@006e │ │ -01dcf0: 1211 |0028: const/4 v1, #int 1 // #1 │ │ -01dcf2: 4601 0501 |0029: aget-object v1, v5, v1 │ │ -01dcf6: 1f01 6e00 |002b: check-cast v1, Landroid/widget/TextView; // type@006e │ │ -01dcfa: 6e10 ef00 0100 |002d: invoke-virtual {v1}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ -01dd00: 0c01 |0030: move-result-object v1 │ │ -01dd02: 7210 2c05 0100 |0031: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ -01dd08: 0c01 |0034: move-result-object v1 │ │ -01dd0a: 6e20 f400 1000 |0035: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01dd10: 5440 4401 |0038: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01dd14: 1401 3000 057f |003a: const v1, #float 1.76788e+38 // #7f050030 │ │ -01dd1a: 6e20 1700 1000 |003d: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01dd20: 0c00 |0040: move-result-object v0 │ │ -01dd22: 1f00 6e00 |0041: check-cast v0, Landroid/widget/TextView; // type@006e │ │ -01dd26: 1221 |0043: const/4 v1, #int 2 // #2 │ │ -01dd28: 4601 0501 |0044: aget-object v1, v5, v1 │ │ -01dd2c: 1f01 6e00 |0046: check-cast v1, Landroid/widget/TextView; // type@006e │ │ -01dd30: 6e10 ef00 0100 |0048: invoke-virtual {v1}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ -01dd36: 0c01 |004b: move-result-object v1 │ │ -01dd38: 7210 2c05 0100 |004c: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ -01dd3e: 0c01 |004f: move-result-object v1 │ │ -01dd40: 6e20 f400 1000 |0050: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01dd46: 5440 4401 |0053: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01dd4a: 1401 3200 057f |0055: const v1, #float 1.76788e+38 // #7f050032 │ │ -01dd50: 6e20 1700 1000 |0058: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01dd56: 0c00 |005b: move-result-object v0 │ │ -01dd58: 1f00 6e00 |005c: check-cast v0, Landroid/widget/TextView; // type@006e │ │ -01dd5c: 1231 |005e: const/4 v1, #int 3 // #3 │ │ -01dd5e: 4605 0501 |005f: aget-object v5, v5, v1 │ │ -01dd62: 1f05 6e00 |0061: check-cast v5, Landroid/widget/TextView; // type@006e │ │ -01dd66: 6e10 ef00 0500 |0063: invoke-virtual {v5}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ -01dd6c: 0c05 |0066: move-result-object v5 │ │ -01dd6e: 7210 2c05 0500 |0067: invoke-interface {v5}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ -01dd74: 0c05 |006a: move-result-object v5 │ │ -01dd76: 6e20 f400 5000 |006b: invoke-virtual {v0, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01dd7c: 5445 4401 |006e: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01dd80: 6e10 2200 0500 |0070: invoke-virtual {v5}, Landroid/app/Dialog;.show:()V // method@0022 │ │ -01dd86: 5445 4401 |0073: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01dd8a: 6e10 1800 0500 |0075: invoke-virtual {v5}, Landroid/app/Dialog;.getWindow:()Landroid/view/Window; // method@0018 │ │ -01dd90: 0c05 |0078: move-result-object v5 │ │ -01dd92: 6000 f200 |0079: sget v0, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00f2 │ │ -01dd96: 8300 |007b: int-to-double v0, v0 │ │ -01dd98: 1802 cdcc cccc cccc ec3f |007c: const-wide v2, #double 0.9 // #3feccccccccccccd │ │ -01dda2: 7120 3205 1000 |0081: invoke-static {v0, v1}, Ljava/lang/Double;.isNaN:(D)Z // method@0532 │ │ -01dda8: ad00 0002 |0084: mul-double v0, v0, v2 │ │ -01ddac: 8a00 |0086: double-to-int v0, v0 │ │ -01ddae: 12e1 |0087: const/4 v1, #int -2 // #fe │ │ -01ddb0: 6e30 a500 0501 |0088: invoke-virtual {v5, v0, v1}, Landroid/view/Window;.setLayout:(II)V // method@00a5 │ │ -01ddb6: 1400 0d00 0601 |008b: const v0, #float 2.46119e-38 // #0106000d │ │ -01ddbc: 6e20 a400 0500 |008e: invoke-virtual {v5, v0}, Landroid/view/Window;.setBackgroundDrawableResource:(I)V // method@00a4 │ │ -01ddc2: 0e00 |0091: return-void │ │ +01dc8c: |[01dc8c] dnsfilter.android.FilterConfig.showEditDialog:(Landroid/widget/TableRow;)V │ │ +01dc9c: 5b45 4601 |0000: iput-object v5, v4, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ +01dca0: 7020 1503 5400 |0002: invoke-direct {v4, v5}, Ldnsfilter/android/FilterConfig;.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; // method@0315 │ │ +01dca6: 0c05 |0005: move-result-object v5 │ │ +01dca8: 5440 4401 |0006: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01dcac: 1401 0700 057f |0008: const v1, #float 1.76787e+38 // #7f050007 │ │ +01dcb2: 6e20 1700 1000 |000b: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01dcb8: 0c00 |000e: move-result-object v0 │ │ +01dcba: 1f00 5f00 |000f: check-cast v0, Landroid/widget/CheckBox; // type@005f │ │ +01dcbe: 1201 |0011: const/4 v1, #int 0 // #0 │ │ +01dcc0: 4601 0501 |0012: aget-object v1, v5, v1 │ │ +01dcc4: 1f01 5f00 |0014: check-cast v1, Landroid/widget/CheckBox; // type@005f │ │ +01dcc8: 6e10 b700 0100 |0016: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01dcce: 0a01 |0019: move-result v1 │ │ +01dcd0: 6e20 b800 1000 |001a: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01dcd6: 5440 4401 |001d: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01dcda: 1401 2c00 057f |001f: const v1, #float 1.76788e+38 // #7f05002c │ │ +01dce0: 6e20 1700 1000 |0022: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01dce6: 0c00 |0025: move-result-object v0 │ │ +01dce8: 1f00 6e00 |0026: check-cast v0, Landroid/widget/TextView; // type@006e │ │ +01dcec: 1211 |0028: const/4 v1, #int 1 // #1 │ │ +01dcee: 4601 0501 |0029: aget-object v1, v5, v1 │ │ +01dcf2: 1f01 6e00 |002b: check-cast v1, Landroid/widget/TextView; // type@006e │ │ +01dcf6: 6e10 ef00 0100 |002d: invoke-virtual {v1}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ +01dcfc: 0c01 |0030: move-result-object v1 │ │ +01dcfe: 7210 2c05 0100 |0031: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ +01dd04: 0c01 |0034: move-result-object v1 │ │ +01dd06: 6e20 f400 1000 |0035: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01dd0c: 5440 4401 |0038: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01dd10: 1401 3000 057f |003a: const v1, #float 1.76788e+38 // #7f050030 │ │ +01dd16: 6e20 1700 1000 |003d: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01dd1c: 0c00 |0040: move-result-object v0 │ │ +01dd1e: 1f00 6e00 |0041: check-cast v0, Landroid/widget/TextView; // type@006e │ │ +01dd22: 1221 |0043: const/4 v1, #int 2 // #2 │ │ +01dd24: 4601 0501 |0044: aget-object v1, v5, v1 │ │ +01dd28: 1f01 6e00 |0046: check-cast v1, Landroid/widget/TextView; // type@006e │ │ +01dd2c: 6e10 ef00 0100 |0048: invoke-virtual {v1}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ +01dd32: 0c01 |004b: move-result-object v1 │ │ +01dd34: 7210 2c05 0100 |004c: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ +01dd3a: 0c01 |004f: move-result-object v1 │ │ +01dd3c: 6e20 f400 1000 |0050: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01dd42: 5440 4401 |0053: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01dd46: 1401 3200 057f |0055: const v1, #float 1.76788e+38 // #7f050032 │ │ +01dd4c: 6e20 1700 1000 |0058: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01dd52: 0c00 |005b: move-result-object v0 │ │ +01dd54: 1f00 6e00 |005c: check-cast v0, Landroid/widget/TextView; // type@006e │ │ +01dd58: 1231 |005e: const/4 v1, #int 3 // #3 │ │ +01dd5a: 4605 0501 |005f: aget-object v5, v5, v1 │ │ +01dd5e: 1f05 6e00 |0061: check-cast v5, Landroid/widget/TextView; // type@006e │ │ +01dd62: 6e10 ef00 0500 |0063: invoke-virtual {v5}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ +01dd68: 0c05 |0066: move-result-object v5 │ │ +01dd6a: 7210 2c05 0500 |0067: invoke-interface {v5}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ +01dd70: 0c05 |006a: move-result-object v5 │ │ +01dd72: 6e20 f400 5000 |006b: invoke-virtual {v0, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01dd78: 5445 4401 |006e: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01dd7c: 6e10 2200 0500 |0070: invoke-virtual {v5}, Landroid/app/Dialog;.show:()V // method@0022 │ │ +01dd82: 5445 4401 |0073: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01dd86: 6e10 1800 0500 |0075: invoke-virtual {v5}, Landroid/app/Dialog;.getWindow:()Landroid/view/Window; // method@0018 │ │ +01dd8c: 0c05 |0078: move-result-object v5 │ │ +01dd8e: 6000 f200 |0079: sget v0, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00f2 │ │ +01dd92: 8300 |007b: int-to-double v0, v0 │ │ +01dd94: 1802 cdcc cccc cccc ec3f |007c: const-wide v2, #double 0.9 // #3feccccccccccccd │ │ +01dd9e: 7120 3205 1000 |0081: invoke-static {v0, v1}, Ljava/lang/Double;.isNaN:(D)Z // method@0532 │ │ +01dda4: ad00 0002 |0084: mul-double v0, v0, v2 │ │ +01dda8: 8a00 |0086: double-to-int v0, v0 │ │ +01ddaa: 12e1 |0087: const/4 v1, #int -2 // #fe │ │ +01ddac: 6e30 a500 0501 |0088: invoke-virtual {v5, v0, v1}, Landroid/view/Window;.setLayout:(II)V // method@00a5 │ │ +01ddb2: 1400 0d00 0601 |008b: const v0, #float 2.46119e-38 // #0106000d │ │ +01ddb8: 6e20 a400 0500 |008e: invoke-virtual {v5, v0}, Landroid/view/Window;.setBackgroundDrawableResource:(I)V // method@00a4 │ │ +01ddbe: 0e00 |0091: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=251 │ │ 0x0002 line=252 │ │ 0x0006 line=253 │ │ 0x001d line=254 │ │ 0x0038 line=255 │ │ @@ -16463,29 +16463,29 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 26 16-bit code units │ │ -01ddc4: |[01ddc4] dnsfilter.android.FilterConfig.updateView:()V │ │ -01ddd4: 5430 4101 |0000: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01ddd8: 6e10 e700 0000 |0002: invoke-virtual {v0}, Landroid/widget/TableLayout;.getChildCount:()I // method@00e7 │ │ -01ddde: 0a00 |0005: move-result v0 │ │ -01dde0: d800 00fe |0006: add-int/lit8 v0, v0, #int -2 // #fe │ │ -01dde4: 1201 |0008: const/4 v1, #int 0 // #0 │ │ -01dde6: 3501 1000 |0009: if-ge v1, v0, 0019 // +0010 │ │ -01ddea: 5432 4101 |000b: iget-object v2, v3, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01ddee: d801 0101 |000d: add-int/lit8 v1, v1, #int 1 // #01 │ │ -01ddf2: 6e20 e600 1200 |000f: invoke-virtual {v2, v1}, Landroid/widget/TableLayout;.getChildAt:(I)Landroid/view/View; // method@00e6 │ │ -01ddf8: 0c02 |0012: move-result-object v2 │ │ -01ddfa: 1f02 6d00 |0013: check-cast v2, Landroid/widget/TableRow; // type@006d │ │ -01ddfe: 7020 2103 2300 |0015: invoke-direct {v3, v2}, Ldnsfilter/android/FilterConfig;.setVisibility:(Landroid/widget/TableRow;)V // method@0321 │ │ -01de04: 28f1 |0018: goto 0009 // -000f │ │ -01de06: 0e00 |0019: return-void │ │ +01ddc0: |[01ddc0] dnsfilter.android.FilterConfig.updateView:()V │ │ +01ddd0: 5430 4101 |0000: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01ddd4: 6e10 e700 0000 |0002: invoke-virtual {v0}, Landroid/widget/TableLayout;.getChildCount:()I // method@00e7 │ │ +01ddda: 0a00 |0005: move-result v0 │ │ +01dddc: d800 00fe |0006: add-int/lit8 v0, v0, #int -2 // #fe │ │ +01dde0: 1201 |0008: const/4 v1, #int 0 // #0 │ │ +01dde2: 3501 1000 |0009: if-ge v1, v0, 0019 // +0010 │ │ +01dde6: 5432 4101 |000b: iget-object v2, v3, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01ddea: d801 0101 |000d: add-int/lit8 v1, v1, #int 1 // #01 │ │ +01ddee: 6e20 e600 1200 |000f: invoke-virtual {v2, v1}, Landroid/widget/TableLayout;.getChildAt:(I)Landroid/view/View; // method@00e6 │ │ +01ddf4: 0c02 |0012: move-result-object v2 │ │ +01ddf6: 1f02 6d00 |0013: check-cast v2, Landroid/widget/TableRow; // type@006d │ │ +01ddfa: 7020 2103 2300 |0015: invoke-direct {v3, v2}, Ldnsfilter/android/FilterConfig;.setVisibility:(Landroid/widget/TableRow;)V // method@0321 │ │ +01de00: 28f1 |0018: goto 0009 // -000f │ │ +01de02: 0e00 |0019: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=242 │ │ 0x000b line=245 │ │ 0x0015 line=246 │ │ locals : │ │ 0x0000 - 0x001a reg=3 this Ldnsfilter/android/FilterConfig; │ │ @@ -16495,118 +16495,118 @@ │ │ type : '([Landroid/view/View;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 8 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 206 16-bit code units │ │ -01de08: |[01de08] dnsfilter.android.FilterConfig.validateContent:([Landroid/view/View;)V │ │ -01de18: 1230 |0000: const/4 v0, #int 3 // #3 │ │ -01de1a: 4600 0700 |0001: aget-object v0, v7, v0 │ │ -01de1e: 1f00 6e00 |0003: check-cast v0, Landroid/widget/TextView; // type@006e │ │ -01de22: 6e10 ef00 0000 |0005: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ -01de28: 0c00 |0008: move-result-object v0 │ │ -01de2a: 7210 2c05 0000 |0009: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ -01de30: 0c00 |000c: move-result-object v0 │ │ -01de32: 1a01 d906 |000d: const-string v1, "file://" // string@06d9 │ │ -01de36: 6e20 7505 1000 |000f: invoke-virtual {v0, v1}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ -01de3c: 0a01 |0012: move-result v1 │ │ -01de3e: 1212 |0013: const/4 v2, #int 1 // #1 │ │ -01de40: 1a03 0000 |0014: const-string v3, "" // string@0000 │ │ -01de44: 1224 |0016: const/4 v4, #int 2 // #2 │ │ -01de46: 3901 5a00 |0017: if-nez v1, 0071 // +005a │ │ -01de4a: 2201 3d01 |0019: new-instance v1, Ljava/net/URL; // type@013d │ │ -01de4e: 7020 cc05 0100 |001b: invoke-direct {v1, v0}, Ljava/net/URL;.:(Ljava/lang/String;)V // method@05cc │ │ -01de54: 4600 0704 |001e: aget-object v0, v7, v4 │ │ -01de58: 1f00 6e00 |0020: check-cast v0, Landroid/widget/TextView; // type@006e │ │ -01de5c: 6e10 ef00 0000 |0022: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ -01de62: 0c00 |0025: move-result-object v0 │ │ -01de64: 7210 2c05 0000 |0026: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ -01de6a: 0c00 |0029: move-result-object v0 │ │ -01de6c: 6e10 7c05 0000 |002a: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -01de72: 0c00 |002d: move-result-object v0 │ │ -01de74: 6205 3c01 |002e: sget-object v5, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ -01de78: 6e20 6705 5000 |0030: invoke-virtual {v0, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -01de7e: 0a05 |0033: move-result v5 │ │ -01de80: 3905 0800 |0034: if-nez v5, 003c // +0008 │ │ -01de84: 6e20 6705 3000 |0036: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -01de8a: 0a00 |0039: move-result v0 │ │ -01de8c: 3800 0d00 |003a: if-eqz v0, 0047 // +000d │ │ -01de90: 4600 0704 |003c: aget-object v0, v7, v4 │ │ -01de94: 1f00 6e00 |003e: check-cast v0, Landroid/widget/TextView; // type@006e │ │ -01de98: 6e10 cd05 0100 |0040: invoke-virtual {v1}, Ljava/net/URL;.getHost:()Ljava/lang/String; // method@05cd │ │ -01de9e: 0c04 |0043: move-result-object v4 │ │ -01dea0: 6e20 f400 4000 |0044: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01dea6: 4600 0702 |0047: aget-object v0, v7, v2 │ │ -01deaa: 1f00 6e00 |0049: check-cast v0, Landroid/widget/TextView; // type@006e │ │ -01deae: 6e10 ef00 0000 |004b: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ -01deb4: 0c00 |004e: move-result-object v0 │ │ -01deb6: 7210 2c05 0000 |004f: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ -01debc: 0c00 |0052: move-result-object v0 │ │ -01debe: 6e10 7c05 0000 |0053: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -01dec4: 0c00 |0056: move-result-object v0 │ │ -01dec6: 6204 3c01 |0057: sget-object v4, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ -01deca: 6e20 6705 4000 |0059: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -01ded0: 0a04 |005c: move-result v4 │ │ -01ded2: 3904 0800 |005d: if-nez v4, 0065 // +0008 │ │ -01ded6: 6e20 6705 3000 |005f: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -01dedc: 0a00 |0062: move-result v0 │ │ -01dede: 3800 6a00 |0063: if-eqz v0, 00cd // +006a │ │ -01dee2: 4607 0702 |0065: aget-object v7, v7, v2 │ │ -01dee6: 1f07 6e00 |0067: check-cast v7, Landroid/widget/TextView; // type@006e │ │ -01deea: 6e10 cd05 0100 |0069: invoke-virtual {v1}, Ljava/net/URL;.getHost:()Ljava/lang/String; // method@05cd │ │ -01def0: 0c00 |006c: move-result-object v0 │ │ -01def2: 6e20 f400 0700 |006d: invoke-virtual {v7, v0}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01def8: 285d |0070: goto 00cd // +005d │ │ -01defa: 2201 f600 |0071: new-instance v1, Ljava/io/File; // type@00f6 │ │ -01defe: 1275 |0073: const/4 v5, #int 7 // #7 │ │ -01df00: 6e20 7605 5000 |0074: invoke-virtual {v0, v5}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@0576 │ │ -01df06: 0c00 |0077: move-result-object v0 │ │ -01df08: 7020 da04 0100 |0078: invoke-direct {v1, v0}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ -01df0e: 4600 0704 |007b: aget-object v0, v7, v4 │ │ -01df12: 1f00 6e00 |007d: check-cast v0, Landroid/widget/TextView; // type@006e │ │ -01df16: 6e10 ef00 0000 |007f: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ -01df1c: 0c00 |0082: move-result-object v0 │ │ -01df1e: 7210 2c05 0000 |0083: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ -01df24: 0c00 |0086: move-result-object v0 │ │ -01df26: 6e10 7c05 0000 |0087: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -01df2c: 0c00 |008a: move-result-object v0 │ │ -01df2e: 6205 3c01 |008b: sget-object v5, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ -01df32: 6e20 6705 5000 |008d: invoke-virtual {v0, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -01df38: 0a05 |0090: move-result v5 │ │ -01df3a: 3905 0800 |0091: if-nez v5, 0099 // +0008 │ │ -01df3e: 6e20 6705 3000 |0093: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -01df44: 0a00 |0096: move-result v0 │ │ -01df46: 3800 0d00 |0097: if-eqz v0, 00a4 // +000d │ │ -01df4a: 4600 0704 |0099: aget-object v0, v7, v4 │ │ -01df4e: 1f00 6e00 |009b: check-cast v0, Landroid/widget/TextView; // type@006e │ │ -01df52: 6e10 e204 0100 |009d: invoke-virtual {v1}, Ljava/io/File;.getName:()Ljava/lang/String; // method@04e2 │ │ -01df58: 0c04 |00a0: move-result-object v4 │ │ -01df5a: 6e20 f400 4000 |00a1: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01df60: 4600 0702 |00a4: aget-object v0, v7, v2 │ │ -01df64: 1f00 6e00 |00a6: check-cast v0, Landroid/widget/TextView; // type@006e │ │ -01df68: 6e10 ef00 0000 |00a8: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ -01df6e: 0c00 |00ab: move-result-object v0 │ │ -01df70: 7210 2c05 0000 |00ac: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ -01df76: 0c00 |00af: move-result-object v0 │ │ -01df78: 6e10 7c05 0000 |00b0: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -01df7e: 0c00 |00b3: move-result-object v0 │ │ -01df80: 6204 3c01 |00b4: sget-object v4, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ -01df84: 6e20 6705 4000 |00b6: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -01df8a: 0a04 |00b9: move-result v4 │ │ -01df8c: 3904 0800 |00ba: if-nez v4, 00c2 // +0008 │ │ -01df90: 6e20 6705 3000 |00bc: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -01df96: 0a00 |00bf: move-result v0 │ │ -01df98: 3800 0d00 |00c0: if-eqz v0, 00cd // +000d │ │ -01df9c: 4607 0702 |00c2: aget-object v7, v7, v2 │ │ -01dfa0: 1f07 6e00 |00c4: check-cast v7, Landroid/widget/TextView; // type@006e │ │ -01dfa4: 6e10 e204 0100 |00c6: invoke-virtual {v1}, Ljava/io/File;.getName:()Ljava/lang/String; // method@04e2 │ │ -01dfaa: 0c00 |00c9: move-result-object v0 │ │ -01dfac: 6e20 f400 0700 |00ca: invoke-virtual {v7, v0}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01dfb2: 0e00 |00cd: return-void │ │ +01de04: |[01de04] dnsfilter.android.FilterConfig.validateContent:([Landroid/view/View;)V │ │ +01de14: 1230 |0000: const/4 v0, #int 3 // #3 │ │ +01de16: 4600 0700 |0001: aget-object v0, v7, v0 │ │ +01de1a: 1f00 6e00 |0003: check-cast v0, Landroid/widget/TextView; // type@006e │ │ +01de1e: 6e10 ef00 0000 |0005: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ +01de24: 0c00 |0008: move-result-object v0 │ │ +01de26: 7210 2c05 0000 |0009: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ +01de2c: 0c00 |000c: move-result-object v0 │ │ +01de2e: 1a01 d906 |000d: const-string v1, "file://" // string@06d9 │ │ +01de32: 6e20 7505 1000 |000f: invoke-virtual {v0, v1}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ +01de38: 0a01 |0012: move-result v1 │ │ +01de3a: 1212 |0013: const/4 v2, #int 1 // #1 │ │ +01de3c: 1a03 0000 |0014: const-string v3, "" // string@0000 │ │ +01de40: 1224 |0016: const/4 v4, #int 2 // #2 │ │ +01de42: 3901 5a00 |0017: if-nez v1, 0071 // +005a │ │ +01de46: 2201 3d01 |0019: new-instance v1, Ljava/net/URL; // type@013d │ │ +01de4a: 7020 cc05 0100 |001b: invoke-direct {v1, v0}, Ljava/net/URL;.:(Ljava/lang/String;)V // method@05cc │ │ +01de50: 4600 0704 |001e: aget-object v0, v7, v4 │ │ +01de54: 1f00 6e00 |0020: check-cast v0, Landroid/widget/TextView; // type@006e │ │ +01de58: 6e10 ef00 0000 |0022: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ +01de5e: 0c00 |0025: move-result-object v0 │ │ +01de60: 7210 2c05 0000 |0026: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ +01de66: 0c00 |0029: move-result-object v0 │ │ +01de68: 6e10 7c05 0000 |002a: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01de6e: 0c00 |002d: move-result-object v0 │ │ +01de70: 6205 3c01 |002e: sget-object v5, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ +01de74: 6e20 6705 5000 |0030: invoke-virtual {v0, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +01de7a: 0a05 |0033: move-result v5 │ │ +01de7c: 3905 0800 |0034: if-nez v5, 003c // +0008 │ │ +01de80: 6e20 6705 3000 |0036: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +01de86: 0a00 |0039: move-result v0 │ │ +01de88: 3800 0d00 |003a: if-eqz v0, 0047 // +000d │ │ +01de8c: 4600 0704 |003c: aget-object v0, v7, v4 │ │ +01de90: 1f00 6e00 |003e: check-cast v0, Landroid/widget/TextView; // type@006e │ │ +01de94: 6e10 cd05 0100 |0040: invoke-virtual {v1}, Ljava/net/URL;.getHost:()Ljava/lang/String; // method@05cd │ │ +01de9a: 0c04 |0043: move-result-object v4 │ │ +01de9c: 6e20 f400 4000 |0044: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01dea2: 4600 0702 |0047: aget-object v0, v7, v2 │ │ +01dea6: 1f00 6e00 |0049: check-cast v0, Landroid/widget/TextView; // type@006e │ │ +01deaa: 6e10 ef00 0000 |004b: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ +01deb0: 0c00 |004e: move-result-object v0 │ │ +01deb2: 7210 2c05 0000 |004f: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ +01deb8: 0c00 |0052: move-result-object v0 │ │ +01deba: 6e10 7c05 0000 |0053: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01dec0: 0c00 |0056: move-result-object v0 │ │ +01dec2: 6204 3c01 |0057: sget-object v4, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ +01dec6: 6e20 6705 4000 |0059: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +01decc: 0a04 |005c: move-result v4 │ │ +01dece: 3904 0800 |005d: if-nez v4, 0065 // +0008 │ │ +01ded2: 6e20 6705 3000 |005f: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +01ded8: 0a00 |0062: move-result v0 │ │ +01deda: 3800 6a00 |0063: if-eqz v0, 00cd // +006a │ │ +01dede: 4607 0702 |0065: aget-object v7, v7, v2 │ │ +01dee2: 1f07 6e00 |0067: check-cast v7, Landroid/widget/TextView; // type@006e │ │ +01dee6: 6e10 cd05 0100 |0069: invoke-virtual {v1}, Ljava/net/URL;.getHost:()Ljava/lang/String; // method@05cd │ │ +01deec: 0c00 |006c: move-result-object v0 │ │ +01deee: 6e20 f400 0700 |006d: invoke-virtual {v7, v0}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01def4: 285d |0070: goto 00cd // +005d │ │ +01def6: 2201 f600 |0071: new-instance v1, Ljava/io/File; // type@00f6 │ │ +01defa: 1275 |0073: const/4 v5, #int 7 // #7 │ │ +01defc: 6e20 7605 5000 |0074: invoke-virtual {v0, v5}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@0576 │ │ +01df02: 0c00 |0077: move-result-object v0 │ │ +01df04: 7020 da04 0100 |0078: invoke-direct {v1, v0}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ +01df0a: 4600 0704 |007b: aget-object v0, v7, v4 │ │ +01df0e: 1f00 6e00 |007d: check-cast v0, Landroid/widget/TextView; // type@006e │ │ +01df12: 6e10 ef00 0000 |007f: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ +01df18: 0c00 |0082: move-result-object v0 │ │ +01df1a: 7210 2c05 0000 |0083: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ +01df20: 0c00 |0086: move-result-object v0 │ │ +01df22: 6e10 7c05 0000 |0087: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01df28: 0c00 |008a: move-result-object v0 │ │ +01df2a: 6205 3c01 |008b: sget-object v5, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ +01df2e: 6e20 6705 5000 |008d: invoke-virtual {v0, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +01df34: 0a05 |0090: move-result v5 │ │ +01df36: 3905 0800 |0091: if-nez v5, 0099 // +0008 │ │ +01df3a: 6e20 6705 3000 |0093: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +01df40: 0a00 |0096: move-result v0 │ │ +01df42: 3800 0d00 |0097: if-eqz v0, 00a4 // +000d │ │ +01df46: 4600 0704 |0099: aget-object v0, v7, v4 │ │ +01df4a: 1f00 6e00 |009b: check-cast v0, Landroid/widget/TextView; // type@006e │ │ +01df4e: 6e10 e204 0100 |009d: invoke-virtual {v1}, Ljava/io/File;.getName:()Ljava/lang/String; // method@04e2 │ │ +01df54: 0c04 |00a0: move-result-object v4 │ │ +01df56: 6e20 f400 4000 |00a1: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01df5c: 4600 0702 |00a4: aget-object v0, v7, v2 │ │ +01df60: 1f00 6e00 |00a6: check-cast v0, Landroid/widget/TextView; // type@006e │ │ +01df64: 6e10 ef00 0000 |00a8: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ +01df6a: 0c00 |00ab: move-result-object v0 │ │ +01df6c: 7210 2c05 0000 |00ac: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ +01df72: 0c00 |00af: move-result-object v0 │ │ +01df74: 6e10 7c05 0000 |00b0: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01df7a: 0c00 |00b3: move-result-object v0 │ │ +01df7c: 6204 3c01 |00b4: sget-object v4, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ +01df80: 6e20 6705 4000 |00b6: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +01df86: 0a04 |00b9: move-result v4 │ │ +01df88: 3904 0800 |00ba: if-nez v4, 00c2 // +0008 │ │ +01df8c: 6e20 6705 3000 |00bc: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +01df92: 0a00 |00bf: move-result v0 │ │ +01df94: 3800 0d00 |00c0: if-eqz v0, 00cd // +000d │ │ +01df98: 4607 0702 |00c2: aget-object v7, v7, v2 │ │ +01df9c: 1f07 6e00 |00c4: check-cast v7, Landroid/widget/TextView; // type@006e │ │ +01dfa0: 6e10 e204 0100 |00c6: invoke-virtual {v1}, Ljava/io/File;.getName:()Ljava/lang/String; // method@04e2 │ │ +01dfa6: 0c00 |00c9: move-result-object v0 │ │ +01dfa8: 6e20 f400 0700 |00ca: invoke-virtual {v7, v0}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01dfae: 0e00 |00cd: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=347 │ │ 0x000d line=348 │ │ 0x0019 line=349 │ │ 0x001e line=350 │ │ 0x002e line=351 │ │ @@ -16631,45 +16631,45 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 60 16-bit code units │ │ -01d51c: |[01d51c] dnsfilter.android.FilterConfig.clear:()V │ │ -01d52c: 6e10 1703 0400 |0000: invoke-virtual {v4}, Ldnsfilter/android/FilterConfig;.getFilterEntries:()[Ldnsfilter/ConfigUtil$HostFilterList; // method@0317 │ │ -01d532: 0c00 |0003: move-result-object v0 │ │ -01d534: 5b40 4701 |0004: iput-object v0, v4, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ -01d538: 5440 4101 |0006: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01d53c: 6e10 e700 0000 |0008: invoke-virtual {v0}, Landroid/widget/TableLayout;.getChildCount:()I // method@00e7 │ │ -01d542: 0a00 |000b: move-result v0 │ │ -01d544: d800 00ff |000c: add-int/lit8 v0, v0, #int -1 // #ff │ │ -01d548: 1201 |000e: const/4 v1, #int 0 // #0 │ │ -01d54a: 3d00 1a00 |000f: if-lez v0, 0029 // +001a │ │ -01d54e: 5442 4101 |0011: iget-object v2, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01d552: 6e20 e600 0200 |0013: invoke-virtual {v2, v0}, Landroid/widget/TableLayout;.getChildAt:(I)Landroid/view/View; // method@00e6 │ │ -01d558: 0c02 |0016: move-result-object v2 │ │ -01d55a: 1f02 6d00 |0017: check-cast v2, Landroid/widget/TableRow; // type@006d │ │ -01d55e: 1243 |0019: const/4 v3, #int 4 // #4 │ │ -01d560: 6e20 ea00 3200 |001a: invoke-virtual {v2, v3}, Landroid/widget/TableRow;.getChildAt:(I)Landroid/view/View; // method@00ea │ │ -01d566: 0c03 |001d: move-result-object v3 │ │ -01d568: 6e20 9d00 1300 |001e: invoke-virtual {v3, v1}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@009d │ │ -01d56e: 5441 4101 |0021: iget-object v1, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01d572: 6e20 e900 2100 |0023: invoke-virtual {v1, v2}, Landroid/widget/TableLayout;.removeView:(Landroid/view/View;)V // method@00e9 │ │ -01d578: d800 00ff |0026: add-int/lit8 v0, v0, #int -1 // #ff │ │ -01d57c: 28e6 |0028: goto 000e // -001a │ │ -01d57e: 5440 3d01 |0029: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.categoryDown:Landroid/widget/Button; // field@013d │ │ -01d582: 6e20 b000 1000 |002b: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ -01d588: 5440 4001 |002e: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ -01d58c: 6e20 b000 1000 |0030: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ -01d592: 5440 4901 |0033: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.restoreDefault:Landroid/widget/Button; // field@0149 │ │ -01d596: 6e20 b000 1000 |0035: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ -01d59c: 1200 |0038: const/4 v0, #int 0 // #0 │ │ -01d59e: 5c40 4801 |0039: iput-boolean v0, v4, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ -01d5a2: 0e00 |003b: return-void │ │ +01d518: |[01d518] dnsfilter.android.FilterConfig.clear:()V │ │ +01d528: 6e10 1703 0400 |0000: invoke-virtual {v4}, Ldnsfilter/android/FilterConfig;.getFilterEntries:()[Ldnsfilter/ConfigUtil$HostFilterList; // method@0317 │ │ +01d52e: 0c00 |0003: move-result-object v0 │ │ +01d530: 5b40 4701 |0004: iput-object v0, v4, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ +01d534: 5440 4101 |0006: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01d538: 6e10 e700 0000 |0008: invoke-virtual {v0}, Landroid/widget/TableLayout;.getChildCount:()I // method@00e7 │ │ +01d53e: 0a00 |000b: move-result v0 │ │ +01d540: d800 00ff |000c: add-int/lit8 v0, v0, #int -1 // #ff │ │ +01d544: 1201 |000e: const/4 v1, #int 0 // #0 │ │ +01d546: 3d00 1a00 |000f: if-lez v0, 0029 // +001a │ │ +01d54a: 5442 4101 |0011: iget-object v2, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01d54e: 6e20 e600 0200 |0013: invoke-virtual {v2, v0}, Landroid/widget/TableLayout;.getChildAt:(I)Landroid/view/View; // method@00e6 │ │ +01d554: 0c02 |0016: move-result-object v2 │ │ +01d556: 1f02 6d00 |0017: check-cast v2, Landroid/widget/TableRow; // type@006d │ │ +01d55a: 1243 |0019: const/4 v3, #int 4 // #4 │ │ +01d55c: 6e20 ea00 3200 |001a: invoke-virtual {v2, v3}, Landroid/widget/TableRow;.getChildAt:(I)Landroid/view/View; // method@00ea │ │ +01d562: 0c03 |001d: move-result-object v3 │ │ +01d564: 6e20 9d00 1300 |001e: invoke-virtual {v3, v1}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@009d │ │ +01d56a: 5441 4101 |0021: iget-object v1, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01d56e: 6e20 e900 2100 |0023: invoke-virtual {v1, v2}, Landroid/widget/TableLayout;.removeView:(Landroid/view/View;)V // method@00e9 │ │ +01d574: d800 00ff |0026: add-int/lit8 v0, v0, #int -1 // #ff │ │ +01d578: 28e6 |0028: goto 000e // -001a │ │ +01d57a: 5440 3d01 |0029: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.categoryDown:Landroid/widget/Button; // field@013d │ │ +01d57e: 6e20 b000 1000 |002b: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ +01d584: 5440 4001 |002e: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ +01d588: 6e20 b000 1000 |0030: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ +01d58e: 5440 4901 |0033: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.restoreDefault:Landroid/widget/Button; // field@0149 │ │ +01d592: 6e20 b000 1000 |0035: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ +01d598: 1200 |0038: const/4 v0, #int 0 // #0 │ │ +01d59a: 5c40 4801 |0039: iput-boolean v0, v4, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ +01d59e: 0e00 |003b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=183 │ │ 0x0006 line=184 │ │ 0x0011 line=186 │ │ 0x001a line=187 │ │ 0x0021 line=188 │ │ @@ -16685,21 +16685,21 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 11 16-bit code units │ │ -01d2f4: |[01d2f4] dnsfilter.android.FilterConfig.getCurrentCategory:()Ljava/lang/String; │ │ -01d304: 5410 3e01 |0000: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ -01d308: 6e10 ef00 0000 |0002: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ -01d30e: 0c00 |0005: move-result-object v0 │ │ -01d310: 7210 2c05 0000 |0006: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ -01d316: 0c00 |0009: move-result-object v0 │ │ -01d318: 1100 |000a: return-object v0 │ │ +01d2f0: |[01d2f0] dnsfilter.android.FilterConfig.getCurrentCategory:()Ljava/lang/String; │ │ +01d300: 5410 3e01 |0000: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ +01d304: 6e10 ef00 0000 |0002: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ +01d30a: 0c00 |0005: move-result-object v0 │ │ +01d30c: 7210 2c05 0000 |0006: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ +01d312: 0c00 |0009: move-result-object v0 │ │ +01d314: 1100 |000a: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=162 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Ldnsfilter/android/FilterConfig; │ │ │ │ #2 : (in Ldnsfilter/android/FilterConfig;) │ │ @@ -16707,71 +16707,71 @@ │ │ type : '()[Ldnsfilter/ConfigUtil$HostFilterList;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 13 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 103 16-bit code units │ │ -01d214: |[01d214] dnsfilter.android.FilterConfig.getFilterEntries:()[Ldnsfilter/ConfigUtil$HostFilterList; │ │ -01d224: 55c0 4801 |0000: iget-boolean v0, v12, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ -01d228: 3900 0500 |0002: if-nez v0, 0007 // +0005 │ │ -01d22c: 54c0 4701 |0004: iget-object v0, v12, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ -01d230: 1100 |0006: return-object v0 │ │ -01d232: 54c0 4101 |0007: iget-object v0, v12, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01d236: 6e10 e700 0000 |0009: invoke-virtual {v0}, Landroid/widget/TableLayout;.getChildCount:()I // method@00e7 │ │ -01d23c: 0a00 |000c: move-result v0 │ │ -01d23e: 1221 |000d: const/4 v1, #int 2 // #2 │ │ -01d240: b110 |000e: sub-int/2addr v0, v1 │ │ -01d242: 2302 9f01 |000f: new-array v2, v0, [Ldnsfilter/ConfigUtil$HostFilterList; // type@019f │ │ -01d246: 1203 |0011: const/4 v3, #int 0 // #0 │ │ -01d248: 1204 |0012: const/4 v4, #int 0 // #0 │ │ -01d24a: 3504 5300 |0013: if-ge v4, v0, 0066 // +0053 │ │ -01d24e: 54c5 4101 |0015: iget-object v5, v12, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01d252: d806 0401 |0017: add-int/lit8 v6, v4, #int 1 // #01 │ │ -01d256: 6e20 e600 6500 |0019: invoke-virtual {v5, v6}, Landroid/widget/TableLayout;.getChildAt:(I)Landroid/view/View; // method@00e6 │ │ -01d25c: 0c05 |001c: move-result-object v5 │ │ -01d25e: 1f05 6d00 |001d: check-cast v5, Landroid/widget/TableRow; // type@006d │ │ -01d262: 7020 1503 5c00 |001f: invoke-direct {v12, v5}, Ldnsfilter/android/FilterConfig;.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; // method@0315 │ │ -01d268: 0c05 |0022: move-result-object v5 │ │ -01d26a: 2207 7a00 |0023: new-instance v7, Ldnsfilter/ConfigUtil$HostFilterList; // type@007a │ │ -01d26e: 4608 0503 |0025: aget-object v8, v5, v3 │ │ -01d272: 1f08 5f00 |0027: check-cast v8, Landroid/widget/CheckBox; // type@005f │ │ -01d276: 6e10 b700 0800 |0029: invoke-virtual {v8}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01d27c: 0a08 |002c: move-result v8 │ │ -01d27e: 1219 |002d: const/4 v9, #int 1 // #1 │ │ -01d280: 4609 0509 |002e: aget-object v9, v5, v9 │ │ -01d284: 1f09 6e00 |0030: check-cast v9, Landroid/widget/TextView; // type@006e │ │ -01d288: 6e10 ef00 0900 |0032: invoke-virtual {v9}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ -01d28e: 0c09 |0035: move-result-object v9 │ │ -01d290: 7210 2c05 0900 |0036: invoke-interface {v9}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ -01d296: 0c09 |0039: move-result-object v9 │ │ -01d298: 6e10 7c05 0900 |003a: invoke-virtual {v9}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -01d29e: 0c09 |003d: move-result-object v9 │ │ -01d2a0: 460a 0501 |003e: aget-object v10, v5, v1 │ │ -01d2a4: 1f0a 6e00 |0040: check-cast v10, Landroid/widget/TextView; // type@006e │ │ -01d2a8: 6e10 ef00 0a00 |0042: invoke-virtual {v10}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ -01d2ae: 0c0a |0045: move-result-object v10 │ │ -01d2b0: 7210 2c05 0a00 |0046: invoke-interface {v10}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ -01d2b6: 0c0a |0049: move-result-object v10 │ │ -01d2b8: 6e10 7c05 0a00 |004a: invoke-virtual {v10}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -01d2be: 0c0a |004d: move-result-object v10 │ │ -01d2c0: 123b |004e: const/4 v11, #int 3 // #3 │ │ -01d2c2: 4605 050b |004f: aget-object v5, v5, v11 │ │ -01d2c6: 1f05 6e00 |0051: check-cast v5, Landroid/widget/TextView; // type@006e │ │ -01d2ca: 6e10 ef00 0500 |0053: invoke-virtual {v5}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ -01d2d0: 0c05 |0056: move-result-object v5 │ │ -01d2d2: 7210 2c05 0500 |0057: invoke-interface {v5}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ -01d2d8: 0c05 |005a: move-result-object v5 │ │ -01d2da: 6e10 7c05 0500 |005b: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -01d2e0: 0c05 |005e: move-result-object v5 │ │ -01d2e2: 7055 1e01 87a9 |005f: invoke-direct {v7, v8, v9, v10, v5}, Ldnsfilter/ConfigUtil$HostFilterList;.:(ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V // method@011e │ │ -01d2e8: 4d07 0204 |0062: aput-object v7, v2, v4 │ │ -01d2ec: 0164 |0064: move v4, v6 │ │ -01d2ee: 28ae |0065: goto 0013 // -0052 │ │ -01d2f0: 1102 |0066: return-object v2 │ │ +01d210: |[01d210] dnsfilter.android.FilterConfig.getFilterEntries:()[Ldnsfilter/ConfigUtil$HostFilterList; │ │ +01d220: 55c0 4801 |0000: iget-boolean v0, v12, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ +01d224: 3900 0500 |0002: if-nez v0, 0007 // +0005 │ │ +01d228: 54c0 4701 |0004: iget-object v0, v12, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ +01d22c: 1100 |0006: return-object v0 │ │ +01d22e: 54c0 4101 |0007: iget-object v0, v12, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01d232: 6e10 e700 0000 |0009: invoke-virtual {v0}, Landroid/widget/TableLayout;.getChildCount:()I // method@00e7 │ │ +01d238: 0a00 |000c: move-result v0 │ │ +01d23a: 1221 |000d: const/4 v1, #int 2 // #2 │ │ +01d23c: b110 |000e: sub-int/2addr v0, v1 │ │ +01d23e: 2302 9f01 |000f: new-array v2, v0, [Ldnsfilter/ConfigUtil$HostFilterList; // type@019f │ │ +01d242: 1203 |0011: const/4 v3, #int 0 // #0 │ │ +01d244: 1204 |0012: const/4 v4, #int 0 // #0 │ │ +01d246: 3504 5300 |0013: if-ge v4, v0, 0066 // +0053 │ │ +01d24a: 54c5 4101 |0015: iget-object v5, v12, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01d24e: d806 0401 |0017: add-int/lit8 v6, v4, #int 1 // #01 │ │ +01d252: 6e20 e600 6500 |0019: invoke-virtual {v5, v6}, Landroid/widget/TableLayout;.getChildAt:(I)Landroid/view/View; // method@00e6 │ │ +01d258: 0c05 |001c: move-result-object v5 │ │ +01d25a: 1f05 6d00 |001d: check-cast v5, Landroid/widget/TableRow; // type@006d │ │ +01d25e: 7020 1503 5c00 |001f: invoke-direct {v12, v5}, Ldnsfilter/android/FilterConfig;.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; // method@0315 │ │ +01d264: 0c05 |0022: move-result-object v5 │ │ +01d266: 2207 7a00 |0023: new-instance v7, Ldnsfilter/ConfigUtil$HostFilterList; // type@007a │ │ +01d26a: 4608 0503 |0025: aget-object v8, v5, v3 │ │ +01d26e: 1f08 5f00 |0027: check-cast v8, Landroid/widget/CheckBox; // type@005f │ │ +01d272: 6e10 b700 0800 |0029: invoke-virtual {v8}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01d278: 0a08 |002c: move-result v8 │ │ +01d27a: 1219 |002d: const/4 v9, #int 1 // #1 │ │ +01d27c: 4609 0509 |002e: aget-object v9, v5, v9 │ │ +01d280: 1f09 6e00 |0030: check-cast v9, Landroid/widget/TextView; // type@006e │ │ +01d284: 6e10 ef00 0900 |0032: invoke-virtual {v9}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ +01d28a: 0c09 |0035: move-result-object v9 │ │ +01d28c: 7210 2c05 0900 |0036: invoke-interface {v9}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ +01d292: 0c09 |0039: move-result-object v9 │ │ +01d294: 6e10 7c05 0900 |003a: invoke-virtual {v9}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01d29a: 0c09 |003d: move-result-object v9 │ │ +01d29c: 460a 0501 |003e: aget-object v10, v5, v1 │ │ +01d2a0: 1f0a 6e00 |0040: check-cast v10, Landroid/widget/TextView; // type@006e │ │ +01d2a4: 6e10 ef00 0a00 |0042: invoke-virtual {v10}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ +01d2aa: 0c0a |0045: move-result-object v10 │ │ +01d2ac: 7210 2c05 0a00 |0046: invoke-interface {v10}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ +01d2b2: 0c0a |0049: move-result-object v10 │ │ +01d2b4: 6e10 7c05 0a00 |004a: invoke-virtual {v10}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01d2ba: 0c0a |004d: move-result-object v10 │ │ +01d2bc: 123b |004e: const/4 v11, #int 3 // #3 │ │ +01d2be: 4605 050b |004f: aget-object v5, v5, v11 │ │ +01d2c2: 1f05 6e00 |0051: check-cast v5, Landroid/widget/TextView; // type@006e │ │ +01d2c6: 6e10 ef00 0500 |0053: invoke-virtual {v5}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ +01d2cc: 0c05 |0056: move-result-object v5 │ │ +01d2ce: 7210 2c05 0500 |0057: invoke-interface {v5}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ +01d2d4: 0c05 |005a: move-result-object v5 │ │ +01d2d6: 6e10 7c05 0500 |005b: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01d2dc: 0c05 |005e: move-result-object v5 │ │ +01d2de: 7055 1e01 87a9 |005f: invoke-direct {v7, v8, v9, v10, v5}, Ldnsfilter/ConfigUtil$HostFilterList;.:(ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V // method@011e │ │ +01d2e4: 4d07 0204 |0062: aput-object v7, v2, v4 │ │ +01d2e8: 0164 |0064: move v4, v6 │ │ +01d2ea: 28ae |0065: goto 0013 // -0052 │ │ +01d2ec: 1102 |0066: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=170 │ │ 0x0004 line=171 │ │ 0x0007 line=173 │ │ 0x000f line=174 │ │ 0x0015 line=176 │ │ @@ -16784,36 +16784,36 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 41 16-bit code units │ │ -01d98c: |[01d98c] dnsfilter.android.FilterConfig.load:()V │ │ -01d99c: 5530 4801 |0000: iget-boolean v0, v3, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ -01d9a0: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ -01d9a4: 0e00 |0004: return-void │ │ -01d9a6: 1200 |0005: const/4 v0, #int 0 // #0 │ │ -01d9a8: 5431 4701 |0006: iget-object v1, v3, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ -01d9ac: 2112 |0008: array-length v2, v1 │ │ -01d9ae: 3520 0a00 |0009: if-ge v0, v2, 0013 // +000a │ │ -01d9b2: 4601 0100 |000b: aget-object v1, v1, v0 │ │ -01d9b6: 7020 1303 1300 |000d: invoke-direct {v3, v1}, Ldnsfilter/android/FilterConfig;.addItem:(Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0313 │ │ -01d9bc: d800 0001 |0010: add-int/lit8 v0, v0, #int 1 // #01 │ │ -01d9c0: 28f4 |0012: goto 0006 // -000c │ │ -01d9c2: 7010 1203 0300 |0013: invoke-direct {v3}, Ldnsfilter/android/FilterConfig;.addEmptyEndItem:()V // method@0312 │ │ -01d9c8: 5430 3d01 |0016: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.categoryDown:Landroid/widget/Button; // field@013d │ │ -01d9cc: 6e20 b000 3000 |0018: invoke-virtual {v0, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ -01d9d2: 5430 4001 |001b: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ -01d9d6: 6e20 b000 3000 |001d: invoke-virtual {v0, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ -01d9dc: 5430 4901 |0020: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.restoreDefault:Landroid/widget/Button; // field@0149 │ │ -01d9e0: 6e20 b000 3000 |0022: invoke-virtual {v0, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ -01d9e6: 1210 |0025: const/4 v0, #int 1 // #1 │ │ -01d9e8: 5c30 4801 |0026: iput-boolean v0, v3, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ -01d9ec: 0e00 |0028: return-void │ │ +01d988: |[01d988] dnsfilter.android.FilterConfig.load:()V │ │ +01d998: 5530 4801 |0000: iget-boolean v0, v3, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ +01d99c: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ +01d9a0: 0e00 |0004: return-void │ │ +01d9a2: 1200 |0005: const/4 v0, #int 0 // #0 │ │ +01d9a4: 5431 4701 |0006: iget-object v1, v3, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ +01d9a8: 2112 |0008: array-length v2, v1 │ │ +01d9aa: 3520 0a00 |0009: if-ge v0, v2, 0013 // +000a │ │ +01d9ae: 4601 0100 |000b: aget-object v1, v1, v0 │ │ +01d9b2: 7020 1303 1300 |000d: invoke-direct {v3, v1}, Ldnsfilter/android/FilterConfig;.addItem:(Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0313 │ │ +01d9b8: d800 0001 |0010: add-int/lit8 v0, v0, #int 1 // #01 │ │ +01d9bc: 28f4 |0012: goto 0006 // -000c │ │ +01d9be: 7010 1203 0300 |0013: invoke-direct {v3}, Ldnsfilter/android/FilterConfig;.addEmptyEndItem:()V // method@0312 │ │ +01d9c4: 5430 3d01 |0016: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.categoryDown:Landroid/widget/Button; // field@013d │ │ +01d9c8: 6e20 b000 3000 |0018: invoke-virtual {v0, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ +01d9ce: 5430 4001 |001b: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ +01d9d2: 6e20 b000 3000 |001d: invoke-virtual {v0, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ +01d9d8: 5430 4901 |0020: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.restoreDefault:Landroid/widget/Button; // field@0149 │ │ +01d9dc: 6e20 b000 3000 |0022: invoke-virtual {v0, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ +01d9e2: 1210 |0025: const/4 v0, #int 1 // #1 │ │ +01d9e4: 5c30 4801 |0026: iput-boolean v0, v3, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ +01d9e8: 0e00 |0028: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=144 │ │ 0x0006 line=146 │ │ 0x000b line=147 │ │ 0x0013 line=148 │ │ 0x0016 line=150 │ │ @@ -16828,41 +16828,41 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 50 16-bit code units │ │ -01da08: |[01da08] dnsfilter.android.FilterConfig.onClick:(Landroid/view/View;)V │ │ -01da18: 5410 4501 |0000: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editOk:Landroid/widget/Button; // field@0145 │ │ -01da1c: 3202 2c00 |0002: if-eq v2, v0, 002e // +002c │ │ -01da20: 5410 4301 |0004: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDelete:Landroid/widget/Button; // field@0143 │ │ -01da24: 3202 2800 |0006: if-eq v2, v0, 002e // +0028 │ │ -01da28: 5410 4201 |0008: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editCancel:Landroid/widget/Button; // field@0142 │ │ -01da2c: 3302 0300 |000a: if-ne v2, v0, 000d // +0003 │ │ -01da30: 2822 |000c: goto 002e // +0022 │ │ -01da32: 5410 4001 |000d: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ -01da36: 3202 1900 |000f: if-eq v2, v0, 0028 // +0019 │ │ -01da3a: 5410 3d01 |0011: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.categoryDown:Landroid/widget/Button; // field@013d │ │ -01da3e: 3302 0300 |0013: if-ne v2, v0, 0016 // +0003 │ │ -01da42: 2813 |0015: goto 0028 // +0013 │ │ -01da44: 5410 4901 |0016: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.restoreDefault:Landroid/widget/Button; // field@0149 │ │ -01da48: 3302 0600 |0018: if-ne v2, v0, 001e // +0006 │ │ -01da4c: 7010 1e03 0100 |001a: invoke-direct {v1}, Ldnsfilter/android/FilterConfig;.restoreDefaultFilters:()V // method@031e │ │ -01da52: 2814 |001d: goto 0031 // +0014 │ │ -01da54: 6e10 9900 0200 |001e: invoke-virtual {v2}, Landroid/view/View;.getParent:()Landroid/view/ViewParent; // method@0099 │ │ -01da5a: 0c02 |0021: move-result-object v2 │ │ -01da5c: 1f02 6d00 |0022: check-cast v2, Landroid/widget/TableRow; // type@006d │ │ -01da60: 7020 2203 2100 |0024: invoke-direct {v1, v2}, Ldnsfilter/android/FilterConfig;.showEditDialog:(Landroid/widget/TableRow;)V // method@0322 │ │ -01da66: 280a |0027: goto 0031 // +000a │ │ -01da68: 1f02 5e00 |0028: check-cast v2, Landroid/widget/Button; // type@005e │ │ -01da6c: 7020 1803 2100 |002a: invoke-direct {v1, v2}, Ldnsfilter/android/FilterConfig;.handleCategoryChange:(Landroid/widget/Button;)V // method@0318 │ │ -01da72: 2804 |002d: goto 0031 // +0004 │ │ -01da74: 7020 1903 2100 |002e: invoke-direct {v1, v2}, Ldnsfilter/android/FilterConfig;.handleEditDialogEvent:(Landroid/view/View;)V // method@0319 │ │ -01da7a: 0e00 |0031: return-void │ │ +01da04: |[01da04] dnsfilter.android.FilterConfig.onClick:(Landroid/view/View;)V │ │ +01da14: 5410 4501 |0000: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editOk:Landroid/widget/Button; // field@0145 │ │ +01da18: 3202 2c00 |0002: if-eq v2, v0, 002e // +002c │ │ +01da1c: 5410 4301 |0004: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDelete:Landroid/widget/Button; // field@0143 │ │ +01da20: 3202 2800 |0006: if-eq v2, v0, 002e // +0028 │ │ +01da24: 5410 4201 |0008: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editCancel:Landroid/widget/Button; // field@0142 │ │ +01da28: 3302 0300 |000a: if-ne v2, v0, 000d // +0003 │ │ +01da2c: 2822 |000c: goto 002e // +0022 │ │ +01da2e: 5410 4001 |000d: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ +01da32: 3202 1900 |000f: if-eq v2, v0, 0028 // +0019 │ │ +01da36: 5410 3d01 |0011: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.categoryDown:Landroid/widget/Button; // field@013d │ │ +01da3a: 3302 0300 |0013: if-ne v2, v0, 0016 // +0003 │ │ +01da3e: 2813 |0015: goto 0028 // +0013 │ │ +01da40: 5410 4901 |0016: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.restoreDefault:Landroid/widget/Button; // field@0149 │ │ +01da44: 3302 0600 |0018: if-ne v2, v0, 001e // +0006 │ │ +01da48: 7010 1e03 0100 |001a: invoke-direct {v1}, Ldnsfilter/android/FilterConfig;.restoreDefaultFilters:()V // method@031e │ │ +01da4e: 2814 |001d: goto 0031 // +0014 │ │ +01da50: 6e10 9900 0200 |001e: invoke-virtual {v2}, Landroid/view/View;.getParent:()Landroid/view/ViewParent; // method@0099 │ │ +01da56: 0c02 |0021: move-result-object v2 │ │ +01da58: 1f02 6d00 |0022: check-cast v2, Landroid/widget/TableRow; // type@006d │ │ +01da5c: 7020 2203 2100 |0024: invoke-direct {v1, v2}, Ldnsfilter/android/FilterConfig;.showEditDialog:(Landroid/widget/TableRow;)V // method@0322 │ │ +01da62: 280a |0027: goto 0031 // +000a │ │ +01da64: 1f02 5e00 |0028: check-cast v2, Landroid/widget/Button; // type@005e │ │ +01da68: 7020 1803 2100 |002a: invoke-direct {v1, v2}, Ldnsfilter/android/FilterConfig;.handleCategoryChange:(Landroid/widget/Button;)V // method@0318 │ │ +01da6e: 2804 |002d: goto 0031 // +0004 │ │ +01da70: 7020 1903 2100 |002e: invoke-direct {v1, v2}, Ldnsfilter/android/FilterConfig;.handleEditDialogEvent:(Landroid/view/View;)V // method@0319 │ │ +01da76: 0e00 |0031: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=198 │ │ 0x000d line=200 │ │ 0x0016 line=202 │ │ 0x001a line=203 │ │ 0x001e line=205 │ │ @@ -16877,22 +16877,22 @@ │ │ type : '(Landroid/content/DialogInterface;ILandroid/view/KeyEvent;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 1 │ │ insns size : 11 16-bit code units │ │ -01d1ec: |[01d1ec] dnsfilter.android.FilterConfig.onKey:(Landroid/content/DialogInterface;ILandroid/view/KeyEvent;)Z │ │ -01d1fc: 1243 |0000: const/4 v3, #int 4 // #4 │ │ -01d1fe: 3232 0500 |0001: if-eq v2, v3, 0006 // +0005 │ │ -01d202: 1233 |0003: const/4 v3, #int 3 // #3 │ │ -01d204: 3332 0500 |0004: if-ne v2, v3, 0009 // +0005 │ │ -01d208: 7210 3d00 0100 |0006: invoke-interface {v1}, Landroid/content/DialogInterface;.dismiss:()V // method@003d │ │ -01d20e: 1201 |0009: const/4 v1, #int 0 // #0 │ │ -01d210: 0f01 |000a: return v1 │ │ +01d1e8: |[01d1e8] dnsfilter.android.FilterConfig.onKey:(Landroid/content/DialogInterface;ILandroid/view/KeyEvent;)Z │ │ +01d1f8: 1243 |0000: const/4 v3, #int 4 // #4 │ │ +01d1fa: 3232 0500 |0001: if-eq v2, v3, 0006 // +0005 │ │ +01d1fe: 1233 |0003: const/4 v3, #int 3 // #3 │ │ +01d200: 3332 0500 |0004: if-ne v2, v3, 0009 // +0005 │ │ +01d204: 7210 3d00 0100 |0006: invoke-interface {v1}, Landroid/content/DialogInterface;.dismiss:()V // method@003d │ │ +01d20a: 1201 |0009: const/4 v1, #int 0 // #0 │ │ +01d20c: 0f01 |000a: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0006 line=57 │ │ locals : │ │ 0x0000 - 0x000b reg=0 this Ldnsfilter/android/FilterConfig; │ │ 0x0000 - 0x000b reg=1 (null) Landroid/content/DialogInterface; │ │ 0x0000 - 0x000b reg=2 (null) I │ │ @@ -16903,18 +16903,18 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -01db0c: |[01db0c] dnsfilter.android.FilterConfig.setCurrentCategory:(Ljava/lang/String;)V │ │ -01db1c: 5410 3e01 |0000: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ -01db20: 6e20 f400 2000 |0002: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01db26: 0e00 |0005: return-void │ │ +01db08: |[01db08] dnsfilter.android.FilterConfig.setCurrentCategory:(Ljava/lang/String;)V │ │ +01db18: 5410 3e01 |0000: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ +01db1c: 6e20 f400 2000 |0002: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01db22: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=166 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Ldnsfilter/android/FilterConfig; │ │ 0x0000 - 0x0006 reg=2 (null) Ljava/lang/String; │ │ │ │ @@ -16923,55 +16923,55 @@ │ │ type : '([Ldnsfilter/ConfigUtil$HostFilterList;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 83 16-bit code units │ │ -01db28: |[01db28] dnsfilter.android.FilterConfig.setEntries:([Ldnsfilter/ConfigUtil$HostFilterList;)V │ │ -01db38: 5b45 4701 |0000: iput-object v5, v4, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ -01db3c: 5445 3f01 |0002: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01db40: 6e10 4b06 0500 |0004: invoke-virtual {v5}, Ljava/util/TreeMap;.clear:()V // method@064b │ │ -01db46: 5445 3f01 |0007: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01db4a: 6200 3901 |0009: sget-object v0, Ldnsfilter/android/FilterConfig;.ALL_ACTIVE:Ljava/lang/String; // field@0139 │ │ -01db4e: 2201 1901 |000b: new-instance v1, Ljava/lang/Integer; // type@0119 │ │ -01db52: 1202 |000d: const/4 v2, #int 0 // #0 │ │ -01db54: 7020 3f05 2100 |000e: invoke-direct {v1, v2}, Ljava/lang/Integer;.:(I)V // method@053f │ │ -01db5a: 6e30 5206 0501 |0011: invoke-virtual {v5, v0, v1}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0652 │ │ -01db60: 5445 3f01 |0014: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01db64: 6200 3a01 |0016: sget-object v0, Ldnsfilter/android/FilterConfig;.ALL_CATEGORIES:Ljava/lang/String; // field@013a │ │ -01db68: 2201 1901 |0018: new-instance v1, Ljava/lang/Integer; // type@0119 │ │ -01db6c: 7020 3f05 2100 |001a: invoke-direct {v1, v2}, Ljava/lang/Integer;.:(I)V // method@053f │ │ -01db72: 6e30 5206 0501 |001d: invoke-virtual {v5, v0, v1}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0652 │ │ -01db78: 1205 |0020: const/4 v5, #int 0 // #0 │ │ -01db7a: 5440 4701 |0021: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ -01db7e: 2101 |0023: array-length v1, v0 │ │ -01db80: 3515 2e00 |0024: if-ge v5, v1, 0052 // +002e │ │ -01db84: 5441 3f01 |0026: iget-object v1, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01db88: 4600 0005 |0028: aget-object v0, v0, v5 │ │ -01db8c: 5400 0e00 |002a: iget-object v0, v0, Ldnsfilter/ConfigUtil$HostFilterList;.category:Ljava/lang/String; // field@000e │ │ -01db90: 6e20 4e06 0100 |002c: invoke-virtual {v1, v0}, Ljava/util/TreeMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@064e │ │ -01db96: 0c00 |002f: move-result-object v0 │ │ -01db98: 1f00 1901 |0030: check-cast v0, Ljava/lang/Integer; // type@0119 │ │ -01db9c: 3900 0700 |0032: if-nez v0, 0039 // +0007 │ │ -01dba0: 2200 1901 |0034: new-instance v0, Ljava/lang/Integer; // type@0119 │ │ -01dba4: 7020 3f05 2000 |0036: invoke-direct {v0, v2}, Ljava/lang/Integer;.:(I)V // method@053f │ │ -01dbaa: 2201 1901 |0039: new-instance v1, Ljava/lang/Integer; // type@0119 │ │ -01dbae: 6e10 4005 0000 |003b: invoke-virtual {v0}, Ljava/lang/Integer;.intValue:()I // method@0540 │ │ -01dbb4: 0a00 |003e: move-result v0 │ │ -01dbb6: d800 0001 |003f: add-int/lit8 v0, v0, #int 1 // #01 │ │ -01dbba: 7020 3f05 0100 |0041: invoke-direct {v1, v0}, Ljava/lang/Integer;.:(I)V // method@053f │ │ -01dbc0: 5440 3f01 |0044: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01dbc4: 5443 4701 |0046: iget-object v3, v4, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ -01dbc8: 4603 0305 |0048: aget-object v3, v3, v5 │ │ -01dbcc: 5433 0e00 |004a: iget-object v3, v3, Ldnsfilter/ConfigUtil$HostFilterList;.category:Ljava/lang/String; // field@000e │ │ -01dbd0: 6e30 5206 3001 |004c: invoke-virtual {v0, v3, v1}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0652 │ │ -01dbd6: d805 0501 |004f: add-int/lit8 v5, v5, #int 1 // #01 │ │ -01dbda: 28d0 |0051: goto 0021 // -0030 │ │ -01dbdc: 0e00 |0052: return-void │ │ +01db24: |[01db24] dnsfilter.android.FilterConfig.setEntries:([Ldnsfilter/ConfigUtil$HostFilterList;)V │ │ +01db34: 5b45 4701 |0000: iput-object v5, v4, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ +01db38: 5445 3f01 |0002: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01db3c: 6e10 4b06 0500 |0004: invoke-virtual {v5}, Ljava/util/TreeMap;.clear:()V // method@064b │ │ +01db42: 5445 3f01 |0007: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01db46: 6200 3901 |0009: sget-object v0, Ldnsfilter/android/FilterConfig;.ALL_ACTIVE:Ljava/lang/String; // field@0139 │ │ +01db4a: 2201 1901 |000b: new-instance v1, Ljava/lang/Integer; // type@0119 │ │ +01db4e: 1202 |000d: const/4 v2, #int 0 // #0 │ │ +01db50: 7020 3f05 2100 |000e: invoke-direct {v1, v2}, Ljava/lang/Integer;.:(I)V // method@053f │ │ +01db56: 6e30 5206 0501 |0011: invoke-virtual {v5, v0, v1}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0652 │ │ +01db5c: 5445 3f01 |0014: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01db60: 6200 3a01 |0016: sget-object v0, Ldnsfilter/android/FilterConfig;.ALL_CATEGORIES:Ljava/lang/String; // field@013a │ │ +01db64: 2201 1901 |0018: new-instance v1, Ljava/lang/Integer; // type@0119 │ │ +01db68: 7020 3f05 2100 |001a: invoke-direct {v1, v2}, Ljava/lang/Integer;.:(I)V // method@053f │ │ +01db6e: 6e30 5206 0501 |001d: invoke-virtual {v5, v0, v1}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0652 │ │ +01db74: 1205 |0020: const/4 v5, #int 0 // #0 │ │ +01db76: 5440 4701 |0021: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ +01db7a: 2101 |0023: array-length v1, v0 │ │ +01db7c: 3515 2e00 |0024: if-ge v5, v1, 0052 // +002e │ │ +01db80: 5441 3f01 |0026: iget-object v1, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01db84: 4600 0005 |0028: aget-object v0, v0, v5 │ │ +01db88: 5400 0e00 |002a: iget-object v0, v0, Ldnsfilter/ConfigUtil$HostFilterList;.category:Ljava/lang/String; // field@000e │ │ +01db8c: 6e20 4e06 0100 |002c: invoke-virtual {v1, v0}, Ljava/util/TreeMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@064e │ │ +01db92: 0c00 |002f: move-result-object v0 │ │ +01db94: 1f00 1901 |0030: check-cast v0, Ljava/lang/Integer; // type@0119 │ │ +01db98: 3900 0700 |0032: if-nez v0, 0039 // +0007 │ │ +01db9c: 2200 1901 |0034: new-instance v0, Ljava/lang/Integer; // type@0119 │ │ +01dba0: 7020 3f05 2000 |0036: invoke-direct {v0, v2}, Ljava/lang/Integer;.:(I)V // method@053f │ │ +01dba6: 2201 1901 |0039: new-instance v1, Ljava/lang/Integer; // type@0119 │ │ +01dbaa: 6e10 4005 0000 |003b: invoke-virtual {v0}, Ljava/lang/Integer;.intValue:()I // method@0540 │ │ +01dbb0: 0a00 |003e: move-result v0 │ │ +01dbb2: d800 0001 |003f: add-int/lit8 v0, v0, #int 1 // #01 │ │ +01dbb6: 7020 3f05 0100 |0041: invoke-direct {v1, v0}, Ljava/lang/Integer;.:(I)V // method@053f │ │ +01dbbc: 5440 3f01 |0044: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01dbc0: 5443 4701 |0046: iget-object v3, v4, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ +01dbc4: 4603 0305 |0048: aget-object v3, v3, v5 │ │ +01dbc8: 5433 0e00 |004a: iget-object v3, v3, Ldnsfilter/ConfigUtil$HostFilterList;.category:Ljava/lang/String; // field@000e │ │ +01dbcc: 6e30 5206 3001 |004c: invoke-virtual {v0, v3, v1}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0652 │ │ +01dbd2: d805 0501 |004f: add-int/lit8 v5, v5, #int 1 // #01 │ │ +01dbd6: 28d0 |0051: goto 0021 // -0030 │ │ +01dbd8: 0e00 |0052: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=130 │ │ 0x0002 line=131 │ │ 0x0007 line=132 │ │ 0x0014 line=133 │ │ 0x0021 line=134 │ │ @@ -17012,36 +17012,36 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -01dfcc: |[01dfcc] dnsfilter.android.NotificationReceiver.:()V │ │ -01dfdc: 2200 ad00 |0000: new-instance v0, Ldnsfilter/android/NotificationReceiver; // type@00ad │ │ -01dfe0: 7010 2603 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/NotificationReceiver;.:()V // method@0326 │ │ -01dfe6: 6900 4a01 |0005: sput-object v0, Ldnsfilter/android/NotificationReceiver;.instance:Ldnsfilter/android/NotificationReceiver; // field@014a │ │ -01dfea: 0e00 |0007: return-void │ │ +01dfc8: |[01dfc8] dnsfilter.android.NotificationReceiver.:()V │ │ +01dfd8: 2200 ad00 |0000: new-instance v0, Ldnsfilter/android/NotificationReceiver; // type@00ad │ │ +01dfdc: 7010 2603 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/NotificationReceiver;.:()V // method@0326 │ │ +01dfe2: 6900 4a01 |0005: sput-object v0, Ldnsfilter/android/NotificationReceiver;.instance:Ldnsfilter/android/NotificationReceiver; // field@014a │ │ +01dfe6: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=34 │ │ locals : │ │ │ │ #1 : (in Ldnsfilter/android/NotificationReceiver;) │ │ name : '' │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01dfec: |[01dfec] dnsfilter.android.NotificationReceiver.:()V │ │ -01dffc: 7010 3000 0000 |0000: invoke-direct {v0}, Landroid/content/BroadcastReceiver;.:()V // method@0030 │ │ -01e002: 0e00 |0003: return-void │ │ +01dfe8: |[01dfe8] dnsfilter.android.NotificationReceiver.:()V │ │ +01dff8: 7010 3000 0000 |0000: invoke-direct {v0}, Landroid/content/BroadcastReceiver;.:()V // method@0030 │ │ +01dffe: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=31 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/NotificationReceiver; │ │ │ │ #2 : (in Ldnsfilter/android/NotificationReceiver;) │ │ @@ -17049,17 +17049,17 @@ │ │ type : '()Ldnsfilter/android/NotificationReceiver;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -01dfb4: |[01dfb4] dnsfilter.android.NotificationReceiver.getInstance:()Ldnsfilter/android/NotificationReceiver; │ │ -01dfc4: 6200 4a01 |0000: sget-object v0, Ldnsfilter/android/NotificationReceiver;.instance:Ldnsfilter/android/NotificationReceiver; // field@014a │ │ -01dfc8: 1100 |0002: return-object v0 │ │ +01dfb0: |[01dfb0] dnsfilter.android.NotificationReceiver.getInstance:()Ldnsfilter/android/NotificationReceiver; │ │ +01dfc0: 6200 4a01 |0000: sget-object v0, Ldnsfilter/android/NotificationReceiver;.instance:Ldnsfilter/android/NotificationReceiver; // field@014a │ │ +01dfc4: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=37 │ │ locals : │ │ │ │ Virtual methods - │ │ #0 : (in Ldnsfilter/android/NotificationReceiver;) │ │ @@ -17067,47 +17067,47 @@ │ │ type : '(Landroid/content/Context;Landroid/content/Intent;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 64 16-bit code units │ │ -01e004: |[01e004] dnsfilter.android.NotificationReceiver.onReceive:(Landroid/content/Context;Landroid/content/Intent;)V │ │ -01e014: 1a02 0000 |0000: const-string v2, "" // string@0000 │ │ -01e018: 7100 3f01 0000 |0002: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -01e01e: 0c03 |0005: move-result-object v3 │ │ -01e020: 6e10 3901 0300 |0006: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@0139 │ │ -01e026: 0c03 |0009: move-result-object v3 │ │ -01e028: 1a00 4a09 |000a: const-string v0, "passcode" // string@094a │ │ -01e02c: 6e30 3606 0302 |000c: invoke-virtual {v3, v0, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -01e032: 0c03 |000f: move-result-object v3 │ │ -01e034: 6e10 7c05 0300 |0010: invoke-virtual {v3}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -01e03a: 0c03 |0013: move-result-object v3 │ │ -01e03c: 6e20 6705 2300 |0014: invoke-virtual {v3, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -01e042: 0a02 |0017: move-result v2 │ │ -01e044: 3902 1500 |0018: if-nez v2, 002d // +0015 │ │ -01e048: 7100 0107 0000 |001a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01e04e: 0c02 |001d: move-result-object v2 │ │ -01e050: 1a03 f903 |001e: const-string v3, "Notification action not allowed when passcode protected!" // string@03f9 │ │ -01e054: 7220 0d07 3200 |0020: invoke-interface {v2, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -01e05a: 7100 0107 0000 |0023: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01e060: 0c02 |0026: move-result-object v2 │ │ -01e062: 1a03 f503 |0027: const-string v3, "Not permitted - Passcode protected!" // string@03f5 │ │ -01e066: 7220 0e07 3200 |0029: invoke-interface {v2, v3}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ -01e06c: 0e00 |002c: return-void │ │ -01e06e: 6202 c000 |002d: sget-object v2, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00c0 │ │ -01e072: 3802 1000 |002f: if-eqz v2, 003f // +0010 │ │ -01e076: 6202 c000 |0031: sget-object v2, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00c0 │ │ -01e07a: 6e10 8402 0200 |0033: invoke-virtual {v2}, Ldnsfilter/android/DNSFilterService;.pause_resume:()V // method@0284 │ │ -01e080: 2809 |0036: goto 003f // +0009 │ │ -01e082: 0d02 |0037: move-exception v2 │ │ -01e084: 7100 0107 0000 |0038: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01e08a: 0c03 |003b: move-result-object v3 │ │ -01e08c: 7220 0c07 2300 |003c: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -01e092: 0e00 |003f: return-void │ │ +01e000: |[01e000] dnsfilter.android.NotificationReceiver.onReceive:(Landroid/content/Context;Landroid/content/Intent;)V │ │ +01e010: 1a02 0000 |0000: const-string v2, "" // string@0000 │ │ +01e014: 7100 3f01 0000 |0002: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +01e01a: 0c03 |0005: move-result-object v3 │ │ +01e01c: 6e10 3901 0300 |0006: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@0139 │ │ +01e022: 0c03 |0009: move-result-object v3 │ │ +01e024: 1a00 4a09 |000a: const-string v0, "passcode" // string@094a │ │ +01e028: 6e30 3606 0302 |000c: invoke-virtual {v3, v0, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +01e02e: 0c03 |000f: move-result-object v3 │ │ +01e030: 6e10 7c05 0300 |0010: invoke-virtual {v3}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01e036: 0c03 |0013: move-result-object v3 │ │ +01e038: 6e20 6705 2300 |0014: invoke-virtual {v3, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +01e03e: 0a02 |0017: move-result v2 │ │ +01e040: 3902 1500 |0018: if-nez v2, 002d // +0015 │ │ +01e044: 7100 0107 0000 |001a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01e04a: 0c02 |001d: move-result-object v2 │ │ +01e04c: 1a03 f903 |001e: const-string v3, "Notification action not allowed when passcode protected!" // string@03f9 │ │ +01e050: 7220 0d07 3200 |0020: invoke-interface {v2, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +01e056: 7100 0107 0000 |0023: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01e05c: 0c02 |0026: move-result-object v2 │ │ +01e05e: 1a03 f503 |0027: const-string v3, "Not permitted - Passcode protected!" // string@03f5 │ │ +01e062: 7220 0e07 3200 |0029: invoke-interface {v2, v3}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ +01e068: 0e00 |002c: return-void │ │ +01e06a: 6202 c000 |002d: sget-object v2, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00c0 │ │ +01e06e: 3802 1000 |002f: if-eqz v2, 003f // +0010 │ │ +01e072: 6202 c000 |0031: sget-object v2, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00c0 │ │ +01e076: 6e10 8402 0200 |0033: invoke-virtual {v2}, Ldnsfilter/android/DNSFilterService;.pause_resume:()V // method@0284 │ │ +01e07c: 2809 |0036: goto 003f // +0009 │ │ +01e07e: 0d02 |0037: move-exception v2 │ │ +01e080: 7100 0107 0000 |0038: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01e086: 0c03 |003b: move-result-object v3 │ │ +01e088: 7220 0c07 2300 |003c: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +01e08e: 0e00 |003f: return-void │ │ catches : 1 │ │ 0x0002 - 0x0036 │ │ Ljava/lang/Exception; -> 0x0037 │ │ positions : │ │ 0x0000 line=43 │ │ 0x0014 line=44 │ │ 0x001a line=45 │ │ @@ -17153,33 +17153,33 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 0 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -01e0d8: |[01e0d8] dnsfilter.android.PaddedCheckBox.:()V │ │ -01e0e8: 0e00 |0000: return-void │ │ +01e0d4: |[01e0d4] dnsfilter.android.PaddedCheckBox.:()V │ │ +01e0e4: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #1 : (in Ldnsfilter/android/PaddedCheckBox;) │ │ name : '' │ │ type : '(Landroid/content/Context;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 7 16-bit code units │ │ -01e0ec: |[01e0ec] dnsfilter.android.PaddedCheckBox.:(Landroid/content/Context;)V │ │ -01e0fc: 7020 b200 1000 |0000: invoke-direct {v0, v1}, Landroid/widget/CheckBox;.:(Landroid/content/Context;)V // method@00b2 │ │ -01e102: 7010 2f03 0000 |0003: invoke-direct {v0}, Ldnsfilter/android/PaddedCheckBox;.doPadding:()V // method@032f │ │ -01e108: 0e00 |0006: return-void │ │ +01e0e8: |[01e0e8] dnsfilter.android.PaddedCheckBox.:(Landroid/content/Context;)V │ │ +01e0f8: 7020 b200 1000 |0000: invoke-direct {v0, v1}, Landroid/widget/CheckBox;.:(Landroid/content/Context;)V // method@00b2 │ │ +01e0fe: 7010 2f03 0000 |0003: invoke-direct {v0}, Ldnsfilter/android/PaddedCheckBox;.doPadding:()V // method@032f │ │ +01e104: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=22 │ │ 0x0003 line=23 │ │ locals : │ │ 0x0000 - 0x0007 reg=0 this Ldnsfilter/android/PaddedCheckBox; │ │ 0x0000 - 0x0007 reg=1 (null) Landroid/content/Context; │ │ @@ -17189,18 +17189,18 @@ │ │ type : '(Landroid/content/Context;Landroid/util/AttributeSet;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 7 16-bit code units │ │ -01e10c: |[01e10c] dnsfilter.android.PaddedCheckBox.:(Landroid/content/Context;Landroid/util/AttributeSet;)V │ │ -01e11c: 7030 b300 1002 |0000: invoke-direct {v0, v1, v2}, Landroid/widget/CheckBox;.:(Landroid/content/Context;Landroid/util/AttributeSet;)V // method@00b3 │ │ -01e122: 7010 2f03 0000 |0003: invoke-direct {v0}, Ldnsfilter/android/PaddedCheckBox;.doPadding:()V // method@032f │ │ -01e128: 0e00 |0006: return-void │ │ +01e108: |[01e108] dnsfilter.android.PaddedCheckBox.:(Landroid/content/Context;Landroid/util/AttributeSet;)V │ │ +01e118: 7030 b300 1002 |0000: invoke-direct {v0, v1, v2}, Landroid/widget/CheckBox;.:(Landroid/content/Context;Landroid/util/AttributeSet;)V // method@00b3 │ │ +01e11e: 7010 2f03 0000 |0003: invoke-direct {v0}, Ldnsfilter/android/PaddedCheckBox;.doPadding:()V // method@032f │ │ +01e124: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=27 │ │ 0x0003 line=28 │ │ locals : │ │ 0x0000 - 0x0007 reg=0 this Ldnsfilter/android/PaddedCheckBox; │ │ 0x0000 - 0x0007 reg=1 (null) Landroid/content/Context; │ │ @@ -17211,18 +17211,18 @@ │ │ type : '(Landroid/content/Context;Landroid/util/AttributeSet;I)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 7 16-bit code units │ │ -01e12c: |[01e12c] dnsfilter.android.PaddedCheckBox.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V │ │ -01e13c: 7040 b400 1032 |0000: invoke-direct {v0, v1, v2, v3}, Landroid/widget/CheckBox;.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V // method@00b4 │ │ -01e142: 7010 2f03 0000 |0003: invoke-direct {v0}, Ldnsfilter/android/PaddedCheckBox;.doPadding:()V // method@032f │ │ -01e148: 0e00 |0006: return-void │ │ +01e128: |[01e128] dnsfilter.android.PaddedCheckBox.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V │ │ +01e138: 7040 b400 1032 |0000: invoke-direct {v0, v1, v2, v3}, Landroid/widget/CheckBox;.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V // method@00b4 │ │ +01e13e: 7010 2f03 0000 |0003: invoke-direct {v0}, Ldnsfilter/android/PaddedCheckBox;.doPadding:()V // method@032f │ │ +01e144: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=32 │ │ 0x0003 line=33 │ │ locals : │ │ 0x0000 - 0x0007 reg=0 this Ldnsfilter/android/PaddedCheckBox; │ │ 0x0000 - 0x0007 reg=1 (null) Landroid/content/Context; │ │ @@ -17234,18 +17234,18 @@ │ │ type : '(Landroid/content/Context;Landroid/util/AttributeSet;II)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 5 │ │ ins : 5 │ │ outs : 5 │ │ insns size : 7 16-bit code units │ │ -01e14c: |[01e14c] dnsfilter.android.PaddedCheckBox.:(Landroid/content/Context;Landroid/util/AttributeSet;II)V │ │ -01e15c: 7054 b500 1032 |0000: invoke-direct {v0, v1, v2, v3, v4}, Landroid/widget/CheckBox;.:(Landroid/content/Context;Landroid/util/AttributeSet;II)V // method@00b5 │ │ -01e162: 7010 2f03 0000 |0003: invoke-direct {v0}, Ldnsfilter/android/PaddedCheckBox;.doPadding:()V // method@032f │ │ -01e168: 0e00 |0006: return-void │ │ +01e148: |[01e148] dnsfilter.android.PaddedCheckBox.:(Landroid/content/Context;Landroid/util/AttributeSet;II)V │ │ +01e158: 7054 b500 1032 |0000: invoke-direct {v0, v1, v2, v3, v4}, Landroid/widget/CheckBox;.:(Landroid/content/Context;Landroid/util/AttributeSet;II)V // method@00b5 │ │ +01e15e: 7010 2f03 0000 |0003: invoke-direct {v0}, Ldnsfilter/android/PaddedCheckBox;.doPadding:()V // method@032f │ │ +01e164: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=38 │ │ 0x0003 line=39 │ │ locals : │ │ 0x0000 - 0x0007 reg=0 this Ldnsfilter/android/PaddedCheckBox; │ │ 0x0000 - 0x0007 reg=1 (null) Landroid/content/Context; │ │ @@ -17258,26 +17258,26 @@ │ │ type : '(I)I' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 18 16-bit code units │ │ -01e0a4: |[01e0a4] dnsfilter.android.PaddedCheckBox.convertDpToPx:(I)I │ │ -01e0b4: 6e10 3003 0100 |0000: invoke-virtual {v1}, Ldnsfilter/android/PaddedCheckBox;.getResources:()Landroid/content/res/Resources; // method@0330 │ │ -01e0ba: 0c00 |0003: move-result-object v0 │ │ -01e0bc: 6e10 4f00 0000 |0004: invoke-virtual {v0}, Landroid/content/res/Resources;.getDisplayMetrics:()Landroid/util/DisplayMetrics; // method@004f │ │ -01e0c2: 0c00 |0007: move-result-object v0 │ │ -01e0c4: 5200 0300 |0008: iget v0, v0, Landroid/util/DisplayMetrics;.density:F // field@0003 │ │ -01e0c8: 8222 |000a: int-to-float v2, v2 │ │ -01e0ca: a802 0200 |000b: mul-float v2, v2, v0 │ │ -01e0ce: 1500 003f |000d: const/high16 v0, #int 1056964608 // #3f00 │ │ -01e0d2: c602 |000f: add-float/2addr v2, v0 │ │ -01e0d4: 8722 |0010: float-to-int v2, v2 │ │ -01e0d6: 0f02 |0011: return v2 │ │ +01e0a0: |[01e0a0] dnsfilter.android.PaddedCheckBox.convertDpToPx:(I)I │ │ +01e0b0: 6e10 3003 0100 |0000: invoke-virtual {v1}, Ldnsfilter/android/PaddedCheckBox;.getResources:()Landroid/content/res/Resources; // method@0330 │ │ +01e0b6: 0c00 |0003: move-result-object v0 │ │ +01e0b8: 6e10 4f00 0000 |0004: invoke-virtual {v0}, Landroid/content/res/Resources;.getDisplayMetrics:()Landroid/util/DisplayMetrics; // method@004f │ │ +01e0be: 0c00 |0007: move-result-object v0 │ │ +01e0c0: 5200 0300 |0008: iget v0, v0, Landroid/util/DisplayMetrics;.density:F // field@0003 │ │ +01e0c4: 8222 |000a: int-to-float v2, v2 │ │ +01e0c6: a802 0200 |000b: mul-float v2, v2, v0 │ │ +01e0ca: 1500 003f |000d: const/high16 v0, #int 1056964608 // #3f00 │ │ +01e0ce: c602 |000f: add-float/2addr v2, v0 │ │ +01e0d0: 8722 |0010: float-to-int v2, v2 │ │ +01e0d2: 0f02 |0011: return v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=15 │ │ locals : │ │ 0x0000 - 0x0012 reg=1 this Ldnsfilter/android/PaddedCheckBox; │ │ 0x0000 - 0x0012 reg=2 (null) I │ │ │ │ @@ -17286,28 +17286,28 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 26 16-bit code units │ │ -01e16c: |[01e16c] dnsfilter.android.PaddedCheckBox.doPadding:()V │ │ -01e17c: 6000 4c01 |0000: sget v0, Ldnsfilter/android/PaddedCheckBox;.dpAsPx_40:I // field@014c │ │ -01e180: 3900 1200 |0002: if-nez v0, 0014 // +0012 │ │ -01e184: 1300 2800 |0004: const/16 v0, #int 40 // #28 │ │ -01e188: 7020 2e03 0100 |0006: invoke-direct {v1, v0}, Ldnsfilter/android/PaddedCheckBox;.convertDpToPx:(I)I // method@032e │ │ -01e18e: 0a00 |0009: move-result v0 │ │ -01e190: 6700 4c01 |000a: sput v0, Ldnsfilter/android/PaddedCheckBox;.dpAsPx_40:I // field@014c │ │ -01e194: 1300 0a00 |000c: const/16 v0, #int 10 // #a │ │ -01e198: 7020 2e03 0100 |000e: invoke-direct {v1, v0}, Ldnsfilter/android/PaddedCheckBox;.convertDpToPx:(I)I // method@032e │ │ -01e19e: 0a00 |0011: move-result v0 │ │ -01e1a0: 6700 4b01 |0012: sput v0, Ldnsfilter/android/PaddedCheckBox;.dpAsPx_10:I // field@014b │ │ -01e1a4: 6000 4b01 |0014: sget v0, Ldnsfilter/android/PaddedCheckBox;.dpAsPx_10:I // field@014b │ │ -01e1a8: 6e50 3403 0100 |0016: invoke-virtual {v1, v0, v0, v0, v0}, Ldnsfilter/android/PaddedCheckBox;.setPadding:(IIII)V // method@0334 │ │ -01e1ae: 0e00 |0019: return-void │ │ +01e168: |[01e168] dnsfilter.android.PaddedCheckBox.doPadding:()V │ │ +01e178: 6000 4c01 |0000: sget v0, Ldnsfilter/android/PaddedCheckBox;.dpAsPx_40:I // field@014c │ │ +01e17c: 3900 1200 |0002: if-nez v0, 0014 // +0012 │ │ +01e180: 1300 2800 |0004: const/16 v0, #int 40 // #28 │ │ +01e184: 7020 2e03 0100 |0006: invoke-direct {v1, v0}, Ldnsfilter/android/PaddedCheckBox;.convertDpToPx:(I)I // method@032e │ │ +01e18a: 0a00 |0009: move-result v0 │ │ +01e18c: 6700 4c01 |000a: sput v0, Ldnsfilter/android/PaddedCheckBox;.dpAsPx_40:I // field@014c │ │ +01e190: 1300 0a00 |000c: const/16 v0, #int 10 // #a │ │ +01e194: 7020 2e03 0100 |000e: invoke-direct {v1, v0}, Ldnsfilter/android/PaddedCheckBox;.convertDpToPx:(I)I // method@032e │ │ +01e19a: 0a00 |0011: move-result v0 │ │ +01e19c: 6700 4b01 |0012: sput v0, Ldnsfilter/android/PaddedCheckBox;.dpAsPx_10:I // field@014b │ │ +01e1a0: 6000 4b01 |0014: sget v0, Ldnsfilter/android/PaddedCheckBox;.dpAsPx_10:I // field@014b │ │ +01e1a4: 6e50 3403 0100 |0016: invoke-virtual {v1, v0, v0, v0, v0}, Ldnsfilter/android/PaddedCheckBox;.setPadding:(IIII)V // method@0334 │ │ +01e1aa: 0e00 |0019: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=44 │ │ 0x0006 line=45 │ │ 0x000e line=46 │ │ 0x0014 line=50 │ │ locals : │ │ @@ -17339,17 +17339,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e1b0: |[01e1b0] dnsfilter.android.PersonalDNSFilterApp.:()V │ │ -01e1c0: 7010 1100 0000 |0000: invoke-direct {v0}, Landroid/app/Application;.:()V // method@0011 │ │ -01e1c6: 0e00 |0003: return-void │ │ +01e1ac: |[01e1ac] dnsfilter.android.PersonalDNSFilterApp.:()V │ │ +01e1bc: 7010 1100 0000 |0000: invoke-direct {v0}, Landroid/app/Application;.:()V // method@0011 │ │ +01e1c2: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=7 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/PersonalDNSFilterApp; │ │ │ │ Virtual methods - │ │ @@ -17358,18 +17358,18 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -01e1c8: |[01e1c8] dnsfilter.android.PersonalDNSFilterApp.onCreate:()V │ │ -01e1d8: 6f10 1200 0000 |0000: invoke-super {v0}, Landroid/app/Application;.onCreate:()V // method@0012 │ │ -01e1de: 7110 0d02 0000 |0003: invoke-static {v0}, Ldnsfilter/android/AndroidEnvironment;.initEnvironment:(Landroid/content/Context;)V // method@020d │ │ -01e1e4: 0e00 |0006: return-void │ │ +01e1c4: |[01e1c4] dnsfilter.android.PersonalDNSFilterApp.onCreate:()V │ │ +01e1d4: 6f10 1200 0000 |0000: invoke-super {v0}, Landroid/app/Application;.onCreate:()V // method@0012 │ │ +01e1da: 7110 0d02 0000 |0003: invoke-static {v0}, Ldnsfilter/android/AndroidEnvironment;.initEnvironment:(Landroid/content/Context;)V // method@020d │ │ +01e1e0: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=11 │ │ 0x0003 line=12 │ │ locals : │ │ 0x0000 - 0x0007 reg=0 this Ldnsfilter/android/PersonalDNSFilterApp; │ │ │ │ @@ -17408,17 +17408,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e1e8: |[01e1e8] dnsfilter.android.R$anim.:()V │ │ -01e1f8: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01e1fe: 0e00 |0003: return-void │ │ +01e1e4: |[01e1e4] dnsfilter.android.R$anim.:()V │ │ +01e1f4: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01e1fa: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -17455,17 +17455,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e200: |[01e200] dnsfilter.android.R$bool.:()V │ │ -01e210: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01e216: 0e00 |0003: return-void │ │ +01e1fc: |[01e1fc] dnsfilter.android.R$bool.:()V │ │ +01e20c: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01e212: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -17552,17 +17552,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e218: |[01e218] dnsfilter.android.R$color.:()V │ │ -01e228: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01e22e: 0e00 |0003: return-void │ │ +01e214: |[01e214] dnsfilter.android.R$color.:()V │ │ +01e224: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01e22a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -17949,17 +17949,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e230: |[01e230] dnsfilter.android.R$drawable.:()V │ │ -01e240: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01e246: 0e00 |0003: return-void │ │ +01e22c: |[01e22c] dnsfilter.android.R$drawable.:()V │ │ +01e23c: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01e242: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -18506,17 +18506,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e248: |[01e248] dnsfilter.android.R$id.:()V │ │ -01e258: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01e25e: 0e00 |0003: return-void │ │ +01e244: |[01e244] dnsfilter.android.R$id.:()V │ │ +01e254: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01e25a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -18623,17 +18623,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e260: |[01e260] dnsfilter.android.R$layout.:()V │ │ -01e270: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01e276: 0e00 |0003: return-void │ │ +01e25c: |[01e25c] dnsfilter.android.R$layout.:()V │ │ +01e26c: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01e272: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -18685,17 +18685,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e278: |[01e278] dnsfilter.android.R$mipmap.:()V │ │ -01e288: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01e28e: 0e00 |0003: return-void │ │ +01e274: |[01e274] dnsfilter.android.R$mipmap.:()V │ │ +01e284: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01e28a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -18982,17 +18982,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e290: |[01e290] dnsfilter.android.R$string.:()V │ │ -01e2a0: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01e2a6: 0e00 |0003: return-void │ │ +01e28c: |[01e28c] dnsfilter.android.R$string.:()V │ │ +01e29c: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01e2a2: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -19054,17 +19054,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e2a8: |[01e2a8] dnsfilter.android.R$style.:()V │ │ -01e2b8: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01e2be: 0e00 |0003: return-void │ │ +01e2a4: |[01e2a4] dnsfilter.android.R$style.:()V │ │ +01e2b4: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01e2ba: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -19095,17 +19095,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e2c0: |[01e2c0] dnsfilter.android.R.:()V │ │ -01e2d0: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01e2d6: 0e00 |0003: return-void │ │ +01e2bc: |[01e2bc] dnsfilter.android.R.:()V │ │ +01e2cc: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01e2d2: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -19142,18 +19142,18 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -01e2d8: |[01e2d8] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$1.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ -01e2e8: 5b01 5402 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0254 │ │ -01e2ec: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01e2f2: 0e00 |0005: return-void │ │ +01e2d4: |[01e2d4] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$1.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ +01e2e4: 5b01 5402 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0254 │ │ +01e2e8: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01e2ee: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=80 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1; │ │ 0x0000 - 0x0006 reg=1 (null) Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; │ │ │ │ @@ -19163,32 +19163,32 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 34 16-bit code units │ │ -01e2f4: |[01e2f4] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$1.onClick:(Landroid/view/View;)V │ │ -01e304: 5423 5402 |0000: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0254 │ │ -01e308: 7110 5203 0300 |0002: invoke-static {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@0352 │ │ -01e30e: 0c03 |0005: move-result-object v3 │ │ -01e310: 5420 5402 |0006: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0254 │ │ -01e314: 7110 5003 0000 |0008: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$000:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; // method@0350 │ │ -01e31a: 0c00 |000b: move-result-object v0 │ │ -01e31c: 6e10 3103 0000 |000c: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0331 │ │ -01e322: 0a00 |000f: move-result v0 │ │ -01e324: 5421 5402 |0010: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0254 │ │ -01e328: 7110 5103 0100 |0012: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$100:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Landroid/widget/EditText; // method@0351 │ │ -01e32e: 0c01 |0015: move-result-object v1 │ │ -01e330: 6e10 c500 0100 |0016: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ -01e336: 0c01 |0019: move-result-object v1 │ │ -01e338: 6e10 5405 0100 |001a: invoke-virtual {v1}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ -01e33e: 0c01 |001d: move-result-object v1 │ │ -01e340: 7230 6e03 0301 |001e: invoke-interface {v3, v0, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.applyNewConfiguration:(ZLjava/lang/String;)V // method@036e │ │ -01e346: 0e00 |0021: return-void │ │ +01e2f0: |[01e2f0] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$1.onClick:(Landroid/view/View;)V │ │ +01e300: 5423 5402 |0000: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0254 │ │ +01e304: 7110 5203 0300 |0002: invoke-static {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@0352 │ │ +01e30a: 0c03 |0005: move-result-object v3 │ │ +01e30c: 5420 5402 |0006: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0254 │ │ +01e310: 7110 5003 0000 |0008: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$000:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; // method@0350 │ │ +01e316: 0c00 |000b: move-result-object v0 │ │ +01e318: 6e10 3103 0000 |000c: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0331 │ │ +01e31e: 0a00 |000f: move-result v0 │ │ +01e320: 5421 5402 |0010: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0254 │ │ +01e324: 7110 5103 0100 |0012: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$100:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Landroid/widget/EditText; // method@0351 │ │ +01e32a: 0c01 |0015: move-result-object v1 │ │ +01e32c: 6e10 c500 0100 |0016: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ +01e332: 0c01 |0019: move-result-object v1 │ │ +01e334: 6e10 5405 0100 |001a: invoke-virtual {v1}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ +01e33a: 0c01 |001d: move-result-object v1 │ │ +01e33c: 7230 6e03 0301 |001e: invoke-interface {v3, v0, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.applyNewConfiguration:(ZLjava/lang/String;)V // method@036e │ │ +01e342: 0e00 |0021: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=83 │ │ locals : │ │ 0x0000 - 0x0022 reg=2 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1; │ │ 0x0000 - 0x0022 reg=3 (null) Landroid/view/View; │ │ │ │ @@ -19227,18 +19227,18 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -01e348: |[01e348] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$2.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ -01e358: 5b01 5502 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0255 │ │ -01e35c: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01e362: 0e00 |0005: return-void │ │ +01e344: |[01e344] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$2.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ +01e354: 5b01 5502 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0255 │ │ +01e358: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01e35e: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=90 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2; │ │ 0x0000 - 0x0006 reg=1 (null) Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; │ │ │ │ @@ -19248,25 +19248,25 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 20 16-bit code units │ │ -01e364: |[01e364] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$2.onClick:(Landroid/view/View;)V │ │ -01e374: 5412 5502 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0255 │ │ -01e378: 7110 5203 0200 |0002: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@0352 │ │ -01e37e: 0c02 |0005: move-result-object v2 │ │ -01e380: 5410 5502 |0006: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0255 │ │ -01e384: 7110 5303 0000 |0008: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$300:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; // method@0353 │ │ -01e38a: 0c00 |000b: move-result-object v0 │ │ -01e38c: 6e10 3103 0000 |000c: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0331 │ │ -01e392: 0a00 |000f: move-result v0 │ │ -01e394: 7220 7203 0200 |0010: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedManualDNSServers:(Z)V // method@0372 │ │ -01e39a: 0e00 |0013: return-void │ │ +01e360: |[01e360] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$2.onClick:(Landroid/view/View;)V │ │ +01e370: 5412 5502 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0255 │ │ +01e374: 7110 5203 0200 |0002: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@0352 │ │ +01e37a: 0c02 |0005: move-result-object v2 │ │ +01e37c: 5410 5502 |0006: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0255 │ │ +01e380: 7110 5303 0000 |0008: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$300:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; // method@0353 │ │ +01e386: 0c00 |000b: move-result-object v0 │ │ +01e388: 6e10 3103 0000 |000c: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0331 │ │ +01e38e: 0a00 |000f: move-result v0 │ │ +01e390: 7220 7203 0200 |0010: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedManualDNSServers:(Z)V // method@0372 │ │ +01e396: 0e00 |0013: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=93 │ │ locals : │ │ 0x0000 - 0x0014 reg=1 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2; │ │ 0x0000 - 0x0014 reg=2 (null) Landroid/view/View; │ │ │ │ @@ -19305,18 +19305,18 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -01e39c: |[01e39c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$3.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ -01e3ac: 5b01 5602 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0256 │ │ -01e3b0: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01e3b6: 0e00 |0005: return-void │ │ +01e398: |[01e398] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$3.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ +01e3a8: 5b01 5602 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0256 │ │ +01e3ac: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01e3b2: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=103 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3; │ │ 0x0000 - 0x0006 reg=1 (null) Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; │ │ │ │ @@ -19326,32 +19326,32 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 34 16-bit code units │ │ -01e3b8: |[01e3b8] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$3.onClick:(Landroid/view/View;)V │ │ -01e3c8: 5423 5602 |0000: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0256 │ │ -01e3cc: 7110 5203 0300 |0002: invoke-static {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@0352 │ │ -01e3d2: 0c03 |0005: move-result-object v3 │ │ -01e3d4: 5420 5602 |0006: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0256 │ │ -01e3d8: 7110 5003 0000 |0008: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$000:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; // method@0350 │ │ -01e3de: 0c00 |000b: move-result-object v0 │ │ -01e3e0: 6e10 3103 0000 |000c: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0331 │ │ -01e3e6: 0a00 |000f: move-result v0 │ │ -01e3e8: 5421 5602 |0010: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0256 │ │ -01e3ec: 7110 5103 0100 |0012: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$100:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Landroid/widget/EditText; // method@0351 │ │ -01e3f2: 0c01 |0015: move-result-object v1 │ │ -01e3f4: 6e10 c500 0100 |0016: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ -01e3fa: 0c01 |0019: move-result-object v1 │ │ -01e3fc: 6e10 5405 0100 |001a: invoke-virtual {v1}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ -01e402: 0c01 |001d: move-result-object v1 │ │ -01e404: 7230 7103 0301 |001e: invoke-interface {v3, v0, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedEditModeValue:(ZLjava/lang/String;)V // method@0371 │ │ -01e40a: 0e00 |0021: return-void │ │ +01e3b4: |[01e3b4] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$3.onClick:(Landroid/view/View;)V │ │ +01e3c4: 5423 5602 |0000: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0256 │ │ +01e3c8: 7110 5203 0300 |0002: invoke-static {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@0352 │ │ +01e3ce: 0c03 |0005: move-result-object v3 │ │ +01e3d0: 5420 5602 |0006: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0256 │ │ +01e3d4: 7110 5003 0000 |0008: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$000:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; // method@0350 │ │ +01e3da: 0c00 |000b: move-result-object v0 │ │ +01e3dc: 6e10 3103 0000 |000c: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0331 │ │ +01e3e2: 0a00 |000f: move-result v0 │ │ +01e3e4: 5421 5602 |0010: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0256 │ │ +01e3e8: 7110 5103 0100 |0012: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$100:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Landroid/widget/EditText; // method@0351 │ │ +01e3ee: 0c01 |0015: move-result-object v1 │ │ +01e3f0: 6e10 c500 0100 |0016: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ +01e3f6: 0c01 |0019: move-result-object v1 │ │ +01e3f8: 6e10 5405 0100 |001a: invoke-virtual {v1}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ +01e3fe: 0c01 |001d: move-result-object v1 │ │ +01e400: 7230 7103 0301 |001e: invoke-interface {v3, v0, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedEditModeValue:(ZLjava/lang/String;)V // method@0371 │ │ +01e406: 0e00 |0021: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=106 │ │ locals : │ │ 0x0000 - 0x0022 reg=2 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3; │ │ 0x0000 - 0x0022 reg=3 (null) Landroid/view/View; │ │ │ │ @@ -19390,18 +19390,18 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -01e40c: |[01e40c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$4.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ -01e41c: 5b01 5702 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0257 │ │ -01e420: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01e426: 0e00 |0005: return-void │ │ +01e408: |[01e408] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$4.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ +01e418: 5b01 5702 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0257 │ │ +01e41c: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01e422: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=112 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4; │ │ 0x0000 - 0x0006 reg=1 (null) Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; │ │ │ │ @@ -19411,25 +19411,25 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 20 16-bit code units │ │ -01e428: |[01e428] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$4.onClick:(Landroid/view/View;)V │ │ -01e438: 5412 5702 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0257 │ │ -01e43c: 7110 5203 0200 |0002: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@0352 │ │ -01e442: 0c02 |0005: move-result-object v2 │ │ -01e444: 5410 5702 |0006: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0257 │ │ -01e448: 7110 5403 0000 |0008: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$400:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; // method@0354 │ │ -01e44e: 0c00 |000b: move-result-object v0 │ │ -01e450: 6e10 3103 0000 |000c: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0331 │ │ -01e456: 0a00 |000f: move-result v0 │ │ -01e458: 7220 7303 0200 |0010: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedShowCommentedLinesCheckbox:(Z)V // method@0373 │ │ -01e45e: 0e00 |0013: return-void │ │ +01e424: |[01e424] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$4.onClick:(Landroid/view/View;)V │ │ +01e434: 5412 5702 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0257 │ │ +01e438: 7110 5203 0200 |0002: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@0352 │ │ +01e43e: 0c02 |0005: move-result-object v2 │ │ +01e440: 5410 5702 |0006: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0257 │ │ +01e444: 7110 5403 0000 |0008: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$400:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; // method@0354 │ │ +01e44a: 0c00 |000b: move-result-object v0 │ │ +01e44c: 6e10 3103 0000 |000c: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0331 │ │ +01e452: 0a00 |000f: move-result v0 │ │ +01e454: 7220 7303 0200 |0010: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedShowCommentedLinesCheckbox:(Z)V // method@0373 │ │ +01e45a: 0e00 |0013: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=115 │ │ locals : │ │ 0x0000 - 0x0014 reg=1 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4; │ │ 0x0000 - 0x0014 reg=2 (null) Landroid/view/View; │ │ │ │ @@ -19468,18 +19468,18 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -01e460: |[01e460] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$5.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ -01e470: 5b01 5802 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$5;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0258 │ │ -01e474: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01e47a: 0e00 |0005: return-void │ │ +01e45c: |[01e45c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$5.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ +01e46c: 5b01 5802 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$5;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0258 │ │ +01e470: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01e476: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=121 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$5; │ │ 0x0000 - 0x0006 reg=1 (null) Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; │ │ │ │ @@ -19489,20 +19489,20 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -01e47c: |[01e47c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$5.onClick:(Landroid/view/View;)V │ │ -01e48c: 5401 5802 |0000: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$5;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0258 │ │ -01e490: 7110 5203 0100 |0002: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@0352 │ │ -01e496: 0c01 |0005: move-result-object v1 │ │ -01e498: 7210 7503 0100 |0006: invoke-interface {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.resetDNSConfigToDefault:()V // method@0375 │ │ -01e49e: 0e00 |0009: return-void │ │ +01e478: |[01e478] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$5.onClick:(Landroid/view/View;)V │ │ +01e488: 5401 5802 |0000: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$5;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0258 │ │ +01e48c: 7110 5203 0100 |0002: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@0352 │ │ +01e492: 0c01 |0005: move-result-object v1 │ │ +01e494: 7210 7503 0100 |0006: invoke-interface {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.resetDNSConfigToDefault:()V // method@0375 │ │ +01e49a: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=124 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$5; │ │ 0x0000 - 0x000a reg=1 (null) Landroid/view/View; │ │ │ │ @@ -19541,18 +19541,18 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -01e4a0: |[01e4a0] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$6.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ -01e4b0: 5b01 5902 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0259 │ │ -01e4b4: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01e4ba: 0e00 |0005: return-void │ │ +01e49c: |[01e49c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$6.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ +01e4ac: 5b01 5902 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0259 │ │ +01e4b0: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01e4b6: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=152 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6; │ │ 0x0000 - 0x0006 reg=1 (null) Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; │ │ │ │ @@ -19562,23 +19562,23 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 17 16-bit code units │ │ -01e4bc: |[01e4bc] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$6.run:()V │ │ -01e4cc: 2200 1900 |0000: new-instance v0, Landroid/content/Intent; // type@0019 │ │ -01e4d0: 7010 3e00 0000 |0002: invoke-direct {v0}, Landroid/content/Intent;.:()V // method@003e │ │ -01e4d6: 5431 5902 |0005: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0259 │ │ -01e4da: 12f2 |0007: const/4 v2, #int -1 // #ff │ │ -01e4dc: 6e30 6803 2100 |0008: invoke-virtual {v1, v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.setResult:(ILandroid/content/Intent;)V // method@0368 │ │ -01e4e2: 5430 5902 |000b: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0259 │ │ -01e4e6: 6e10 5d03 0000 |000d: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.finish:()V // method@035d │ │ -01e4ec: 0e00 |0010: return-void │ │ +01e4b8: |[01e4b8] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$6.run:()V │ │ +01e4c8: 2200 1900 |0000: new-instance v0, Landroid/content/Intent; // type@0019 │ │ +01e4cc: 7010 3e00 0000 |0002: invoke-direct {v0}, Landroid/content/Intent;.:()V // method@003e │ │ +01e4d2: 5431 5902 |0005: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0259 │ │ +01e4d6: 12f2 |0007: const/4 v2, #int -1 // #ff │ │ +01e4d8: 6e30 6803 2100 |0008: invoke-virtual {v1, v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.setResult:(ILandroid/content/Intent;)V // method@0368 │ │ +01e4de: 5430 5902 |000b: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0259 │ │ +01e4e2: 6e10 5d03 0000 |000d: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.finish:()V // method@035d │ │ +01e4e8: 0e00 |0010: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=155 │ │ 0x0005 line=156 │ │ 0x000b line=157 │ │ locals : │ │ 0x0000 - 0x0011 reg=3 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6; │ │ @@ -19683,17 +19683,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01f104: |[01f104] dnsfilter.android.dnsserverconfig.DNSServerConfigUtils.:()V │ │ -01f114: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01f11a: 0e00 |0003: return-void │ │ +01f100: |[01f100] dnsfilter.android.dnsserverconfig.DNSServerConfigUtils.:()V │ │ +01f110: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01f116: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=7 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigUtils; │ │ │ │ #1 : (in Ldnsfilter/android/dnsserverconfig/DNSServerConfigUtils;) │ │ @@ -19701,21 +19701,21 @@ │ │ type : '(Ljava/lang/String;)Ljava/lang/String;' │ │ access : 0x0008 (STATIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 9 16-bit code units │ │ -01f0e0: |[01f0e0] dnsfilter.android.dnsserverconfig.DNSServerConfigUtils.formatSerializedProperties:(Ljava/lang/String;)Ljava/lang/String; │ │ -01f0f0: 1a00 9000 |0000: const-string v0, ";" // string@0090 │ │ -01f0f4: 1a01 0200 |0002: const-string v1, " │ │ +01f0dc: |[01f0dc] dnsfilter.android.dnsserverconfig.DNSServerConfigUtils.formatSerializedProperties:(Ljava/lang/String;)Ljava/lang/String; │ │ +01f0ec: 1a00 9000 |0000: const-string v0, ";" // string@0090 │ │ +01f0f0: 1a01 0200 |0002: const-string v1, " │ │ " // string@0002 │ │ -01f0f8: 6e30 7105 0201 |0004: invoke-virtual {v2, v0, v1}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0571 │ │ -01f0fe: 0c02 |0007: move-result-object v2 │ │ -01f100: 1102 |0008: return-object v2 │ │ +01f0f4: 6e30 7105 0201 |0004: invoke-virtual {v2, v0, v1}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0571 │ │ +01f0fa: 0c02 |0007: move-result-object v2 │ │ +01f0fc: 1102 |0008: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=15 │ │ locals : │ │ 0x0000 - 0x0009 reg=2 (null) Ljava/lang/String; │ │ │ │ #2 : (in Ldnsfilter/android/dnsserverconfig/DNSServerConfigUtils;) │ │ @@ -19723,27 +19723,27 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0008 (STATIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 24 16-bit code units │ │ -01f11c: |[01f11c] dnsfilter.android.dnsserverconfig.DNSServerConfigUtils.hideKeyboard:(Landroid/view/View;)V │ │ -01f12c: 6e10 9600 0200 |0000: invoke-virtual {v2}, Landroid/view/View;.clearFocus:()V // method@0096 │ │ -01f132: 6e10 9800 0200 |0003: invoke-virtual {v2}, Landroid/view/View;.getContext:()Landroid/content/Context; // method@0098 │ │ -01f138: 0c00 |0006: move-result-object v0 │ │ -01f13a: 1a01 3b08 |0007: const-string v1, "input_method" // string@083b │ │ -01f13e: 6e20 3a00 1000 |0009: invoke-virtual {v0, v1}, Landroid/content/Context;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@003a │ │ -01f144: 0c00 |000c: move-result-object v0 │ │ -01f146: 1f00 5a00 |000d: check-cast v0, Landroid/view/inputmethod/InputMethodManager; // type@005a │ │ -01f14a: 6e10 9c00 0200 |000f: invoke-virtual {v2}, Landroid/view/View;.getWindowToken:()Landroid/os/IBinder; // method@009c │ │ -01f150: 0c02 |0012: move-result-object v2 │ │ -01f152: 1201 |0013: const/4 v1, #int 0 // #0 │ │ -01f154: 6e30 ab00 2001 |0014: invoke-virtual {v0, v2, v1}, Landroid/view/inputmethod/InputMethodManager;.hideSoftInputFromWindow:(Landroid/os/IBinder;I)Z // method@00ab │ │ -01f15a: 0e00 |0017: return-void │ │ +01f118: |[01f118] dnsfilter.android.dnsserverconfig.DNSServerConfigUtils.hideKeyboard:(Landroid/view/View;)V │ │ +01f128: 6e10 9600 0200 |0000: invoke-virtual {v2}, Landroid/view/View;.clearFocus:()V // method@0096 │ │ +01f12e: 6e10 9800 0200 |0003: invoke-virtual {v2}, Landroid/view/View;.getContext:()Landroid/content/Context; // method@0098 │ │ +01f134: 0c00 |0006: move-result-object v0 │ │ +01f136: 1a01 3b08 |0007: const-string v1, "input_method" // string@083b │ │ +01f13a: 6e20 3a00 1000 |0009: invoke-virtual {v0, v1}, Landroid/content/Context;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@003a │ │ +01f140: 0c00 |000c: move-result-object v0 │ │ +01f142: 1f00 5a00 |000d: check-cast v0, Landroid/view/inputmethod/InputMethodManager; // type@005a │ │ +01f146: 6e10 9c00 0200 |000f: invoke-virtual {v2}, Landroid/view/View;.getWindowToken:()Landroid/os/IBinder; // method@009c │ │ +01f14c: 0c02 |0012: move-result-object v2 │ │ +01f14e: 1201 |0013: const/4 v1, #int 0 // #0 │ │ +01f150: 6e30 ab00 2001 |0014: invoke-virtual {v0, v2, v1}, Landroid/view/inputmethod/InputMethodManager;.hideSoftInputFromWindow:(Landroid/os/IBinder;I)Z // method@00ab │ │ +01f156: 0e00 |0017: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=9 │ │ 0x0003 line=10 │ │ 0x000f line=11 │ │ locals : │ │ 0x0000 - 0x0018 reg=2 (null) Landroid/view/View; │ │ @@ -19839,25 +19839,25 @@ │ │ type : '(Landroid/content/Context;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 22 16-bit code units │ │ -01f204: |[01f204] dnsfilter.android.dnsserverconfig.widget.DNSConfigEntryValidator.:(Landroid/content/Context;)V │ │ -01f214: 7010 4f05 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@054f │ │ -01f21a: 1400 1700 087f |0003: const v0, #float 1.80775e+38 // #7f080017 │ │ -01f220: 6e20 3800 0200 |0006: invoke-virtual {v2, v0}, Landroid/content/Context;.getString:(I)Ljava/lang/String; // method@0038 │ │ -01f226: 0c00 |0009: move-result-object v0 │ │ -01f228: 5b10 7202 |000a: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.emptyIpErrorResult:Ljava/lang/String; // field@0272 │ │ -01f22c: 1400 2100 087f |000c: const v0, #float 1.80776e+38 // #7f080021 │ │ -01f232: 6e20 3800 0200 |000f: invoke-virtual {v2, v0}, Landroid/content/Context;.getString:(I)Ljava/lang/String; // method@0038 │ │ -01f238: 0c02 |0012: move-result-object v2 │ │ -01f23a: 5b12 7302 |0013: iput-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.emptyPortErrorResult:Ljava/lang/String; // field@0273 │ │ -01f23e: 0e00 |0015: return-void │ │ +01f200: |[01f200] dnsfilter.android.dnsserverconfig.widget.DNSConfigEntryValidator.:(Landroid/content/Context;)V │ │ +01f210: 7010 4f05 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@054f │ │ +01f216: 1400 1700 087f |0003: const v0, #float 1.80775e+38 // #7f080017 │ │ +01f21c: 6e20 3800 0200 |0006: invoke-virtual {v2, v0}, Landroid/content/Context;.getString:(I)Ljava/lang/String; // method@0038 │ │ +01f222: 0c00 |0009: move-result-object v0 │ │ +01f224: 5b10 7202 |000a: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.emptyIpErrorResult:Ljava/lang/String; // field@0272 │ │ +01f228: 1400 2100 087f |000c: const v0, #float 1.80776e+38 // #7f080021 │ │ +01f22e: 6e20 3800 0200 |000f: invoke-virtual {v2, v0}, Landroid/content/Context;.getString:(I)Ljava/lang/String; // method@0038 │ │ +01f234: 0c02 |0012: move-result-object v2 │ │ +01f236: 5b12 7302 |0013: iput-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.emptyPortErrorResult:Ljava/lang/String; // field@0273 │ │ +01f23a: 0e00 |0015: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=14 │ │ 0x0006 line=15 │ │ 0x000f line=16 │ │ locals : │ │ 0x0000 - 0x0016 reg=1 this Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; │ │ @@ -19868,24 +19868,24 @@ │ │ type : '(Ljava/lang/String;)Ljava/lang/String;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 15 16-bit code units │ │ -01f1a4: |[01f1a4] dnsfilter.android.dnsserverconfig.widget.DNSConfigEntryValidator.checkIp:(Ljava/lang/String;)Ljava/lang/String; │ │ -01f1b4: 6e10 7c05 0100 |0000: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -01f1ba: 0c01 |0003: move-result-object v1 │ │ -01f1bc: 6e10 6d05 0100 |0004: invoke-virtual {v1}, Ljava/lang/String;.isEmpty:()Z // method@056d │ │ -01f1c2: 0a01 |0007: move-result v1 │ │ -01f1c4: 3801 0500 |0008: if-eqz v1, 000d // +0005 │ │ -01f1c8: 5401 7202 |000a: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.emptyIpErrorResult:Ljava/lang/String; // field@0272 │ │ -01f1cc: 2802 |000c: goto 000e // +0002 │ │ -01f1ce: 1201 |000d: const/4 v1, #int 0 // #0 │ │ -01f1d0: 1101 |000e: return-object v1 │ │ +01f1a0: |[01f1a0] dnsfilter.android.dnsserverconfig.widget.DNSConfigEntryValidator.checkIp:(Ljava/lang/String;)Ljava/lang/String; │ │ +01f1b0: 6e10 7c05 0100 |0000: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01f1b6: 0c01 |0003: move-result-object v1 │ │ +01f1b8: 6e10 6d05 0100 |0004: invoke-virtual {v1}, Ljava/lang/String;.isEmpty:()Z // method@056d │ │ +01f1be: 0a01 |0007: move-result v1 │ │ +01f1c0: 3801 0500 |0008: if-eqz v1, 000d // +0005 │ │ +01f1c4: 5401 7202 |000a: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.emptyIpErrorResult:Ljava/lang/String; // field@0272 │ │ +01f1c8: 2802 |000c: goto 000e // +0002 │ │ +01f1ca: 1201 |000d: const/4 v1, #int 0 // #0 │ │ +01f1cc: 1101 |000e: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=28 │ │ 0x000a line=29 │ │ locals : │ │ 0x0000 - 0x000f reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; │ │ 0x0000 - 0x000f reg=1 (null) Ljava/lang/String; │ │ @@ -19895,24 +19895,24 @@ │ │ type : '(Ljava/lang/String;)Ljava/lang/String;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 15 16-bit code units │ │ -01f1d4: |[01f1d4] dnsfilter.android.dnsserverconfig.widget.DNSConfigEntryValidator.checkPort:(Ljava/lang/String;)Ljava/lang/String; │ │ -01f1e4: 6e10 7c05 0100 |0000: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -01f1ea: 0c01 |0003: move-result-object v1 │ │ -01f1ec: 6e10 6d05 0100 |0004: invoke-virtual {v1}, Ljava/lang/String;.isEmpty:()Z // method@056d │ │ -01f1f2: 0a01 |0007: move-result v1 │ │ -01f1f4: 3801 0500 |0008: if-eqz v1, 000d // +0005 │ │ -01f1f8: 5401 7302 |000a: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.emptyPortErrorResult:Ljava/lang/String; // field@0273 │ │ -01f1fc: 2802 |000c: goto 000e // +0002 │ │ -01f1fe: 1201 |000d: const/4 v1, #int 0 // #0 │ │ -01f200: 1101 |000e: return-object v1 │ │ +01f1d0: |[01f1d0] dnsfilter.android.dnsserverconfig.widget.DNSConfigEntryValidator.checkPort:(Ljava/lang/String;)Ljava/lang/String; │ │ +01f1e0: 6e10 7c05 0100 |0000: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01f1e6: 0c01 |0003: move-result-object v1 │ │ +01f1e8: 6e10 6d05 0100 |0004: invoke-virtual {v1}, Ljava/lang/String;.isEmpty:()Z // method@056d │ │ +01f1ee: 0a01 |0007: move-result v1 │ │ +01f1f0: 3801 0500 |0008: if-eqz v1, 000d // +0005 │ │ +01f1f4: 5401 7302 |000a: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.emptyPortErrorResult:Ljava/lang/String; // field@0273 │ │ +01f1f8: 2802 |000c: goto 000e // +0002 │ │ +01f1fa: 1201 |000d: const/4 v1, #int 0 // #0 │ │ +01f1fc: 1101 |000e: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=36 │ │ 0x000a line=37 │ │ locals : │ │ 0x0000 - 0x000f reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; │ │ 0x0000 - 0x000f reg=1 (null) Ljava/lang/String; │ │ @@ -19923,28 +19923,28 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 28 16-bit code units │ │ -01f15c: |[01f15c] dnsfilter.android.dnsserverconfig.widget.DNSConfigEntryValidator.validate:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; │ │ -01f16c: 2200 d500 |0000: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00d5 │ │ -01f170: 7010 d603 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.:()V // method@03d6 │ │ -01f176: 6e10 2404 0300 |0005: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIp:()Ljava/lang/String; // method@0424 │ │ -01f17c: 0c01 |0008: move-result-object v1 │ │ -01f17e: 7020 9203 1200 |0009: invoke-direct {v2, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.checkIp:(Ljava/lang/String;)Ljava/lang/String; // method@0392 │ │ -01f184: 0c01 |000c: move-result-object v1 │ │ -01f186: 6e20 dc03 1000 |000d: invoke-virtual {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.setIpError:(Ljava/lang/String;)V // method@03dc │ │ -01f18c: 6e10 2704 0300 |0010: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getPort:()Ljava/lang/String; // method@0427 │ │ -01f192: 0c03 |0013: move-result-object v3 │ │ -01f194: 7020 9303 3200 |0014: invoke-direct {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.checkPort:(Ljava/lang/String;)Ljava/lang/String; // method@0393 │ │ -01f19a: 0c03 |0017: move-result-object v3 │ │ -01f19c: 6e20 dd03 3000 |0018: invoke-virtual {v0, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.setPortError:(Ljava/lang/String;)V // method@03dd │ │ -01f1a2: 1100 |001b: return-object v0 │ │ +01f158: |[01f158] dnsfilter.android.dnsserverconfig.widget.DNSConfigEntryValidator.validate:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; │ │ +01f168: 2200 d500 |0000: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00d5 │ │ +01f16c: 7010 d603 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.:()V // method@03d6 │ │ +01f172: 6e10 2404 0300 |0005: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIp:()Ljava/lang/String; // method@0424 │ │ +01f178: 0c01 |0008: move-result-object v1 │ │ +01f17a: 7020 9203 1200 |0009: invoke-direct {v2, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.checkIp:(Ljava/lang/String;)Ljava/lang/String; // method@0392 │ │ +01f180: 0c01 |000c: move-result-object v1 │ │ +01f182: 6e20 dc03 1000 |000d: invoke-virtual {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.setIpError:(Ljava/lang/String;)V // method@03dc │ │ +01f188: 6e10 2704 0300 |0010: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getPort:()Ljava/lang/String; // method@0427 │ │ +01f18e: 0c03 |0013: move-result-object v3 │ │ +01f190: 7020 9303 3200 |0014: invoke-direct {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.checkPort:(Ljava/lang/String;)Ljava/lang/String; // method@0393 │ │ +01f196: 0c03 |0017: move-result-object v3 │ │ +01f198: 6e20 dd03 3000 |0018: invoke-virtual {v0, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.setPortError:(Ljava/lang/String;)V // method@03dd │ │ +01f19e: 1100 |001b: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=20 │ │ 0x0005 line=21 │ │ 0x0010 line=22 │ │ locals : │ │ 0x0000 - 0x001c reg=2 this Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; │ │ @@ -19984,19 +19984,19 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V' │ │ access : 0x11001 (PUBLIC SYNTHETIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -01f240: |[01f240] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$$ExternalSyntheticLambda0.:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ -01f250: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01f256: 5b01 7402 |0003: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0;.f$0:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0274 │ │ -01f25a: 5b02 7502 |0005: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0;.f$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0275 │ │ -01f25e: 0e00 |0007: return-void │ │ +01f23c: |[01f23c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$$ExternalSyntheticLambda0.:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ +01f24c: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01f252: 5b01 7402 |0003: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0;.f$0:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0274 │ │ +01f256: 5b02 7502 |0005: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0;.f$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0275 │ │ +01f25a: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0008 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0; │ │ 0x0000 - 0x0008 reg=1 (null) Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ 0x0000 - 0x0008 reg=2 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; │ │ @@ -20007,19 +20007,19 @@ │ │ type : '(Landroid/widget/CompoundButton;Z)V' │ │ access : 0x0011 (PUBLIC FINAL) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 4 │ │ insns size : 8 16-bit code units │ │ -01f260: |[01f260] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$$ExternalSyntheticLambda0.onCheckedChanged:(Landroid/widget/CompoundButton;Z)V │ │ -01f270: 5420 7402 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0;.f$0:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0274 │ │ -01f274: 5421 7502 |0002: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0;.f$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0275 │ │ -01f278: 7140 c303 1043 |0004: invoke-static {v0, v1, v3, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.lambda$getItemView$0:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/widget/CompoundButton;Z)V // method@03c3 │ │ -01f27e: 0e00 |0007: return-void │ │ +01f25c: |[01f25c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$$ExternalSyntheticLambda0.onCheckedChanged:(Landroid/widget/CompoundButton;Z)V │ │ +01f26c: 5420 7402 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0;.f$0:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0274 │ │ +01f270: 5421 7502 |0002: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0;.f$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0275 │ │ +01f274: 7140 c303 1043 |0004: invoke-static {v0, v1, v3, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.lambda$getItemView$0:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/widget/CompoundButton;Z)V // method@03c3 │ │ +01f27a: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0008 reg=2 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0; │ │ 0x0000 - 0x0008 reg=3 (null) Landroid/widget/CompoundButton; │ │ 0x0000 - 0x0008 reg=4 (null) Z │ │ @@ -20059,18 +20059,18 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -01f280: |[01f280] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$1.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)V │ │ -01f290: 5b01 7602 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0276 │ │ -01f294: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01f29a: 0e00 |0005: return-void │ │ +01f27c: |[01f27c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$1.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)V │ │ +01f28c: 5b01 7602 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0276 │ │ +01f290: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01f296: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=125 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1; │ │ 0x0000 - 0x0006 reg=1 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ │ │ @@ -20080,25 +20080,25 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 21 16-bit code units │ │ -01f29c: |[01f29c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$1.onClick:(Landroid/view/View;)V │ │ -01f2ac: 2203 e300 |0000: new-instance v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e3 │ │ -01f2b0: 7010 1a04 0300 |0002: invoke-direct {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:()V // method@041a │ │ -01f2b6: 5420 7602 |0005: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0276 │ │ -01f2ba: 6e20 b403 3000 |0007: invoke-virtual {v0, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.add:(Ljava/lang/Object;)V // method@03b4 │ │ -01f2c0: 5420 7602 |000a: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0276 │ │ -01f2c4: 7110 ad03 0000 |000c: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // method@03ad │ │ -01f2ca: 0c00 |000f: move-result-object v0 │ │ -01f2cc: 1211 |0010: const/4 v1, #int 1 // #1 │ │ -01f2ce: 6e30 f803 3001 |0011: invoke-virtual {v0, v3, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.showEntry:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Z)V // method@03f8 │ │ -01f2d4: 0e00 |0014: return-void │ │ +01f298: |[01f298] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$1.onClick:(Landroid/view/View;)V │ │ +01f2a8: 2203 e300 |0000: new-instance v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e3 │ │ +01f2ac: 7010 1a04 0300 |0002: invoke-direct {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:()V // method@041a │ │ +01f2b2: 5420 7602 |0005: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0276 │ │ +01f2b6: 6e20 b403 3000 |0007: invoke-virtual {v0, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.add:(Ljava/lang/Object;)V // method@03b4 │ │ +01f2bc: 5420 7602 |000a: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0276 │ │ +01f2c0: 7110 ad03 0000 |000c: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // method@03ad │ │ +01f2c6: 0c00 |000f: move-result-object v0 │ │ +01f2c8: 1211 |0010: const/4 v1, #int 1 // #1 │ │ +01f2ca: 6e30 f803 3001 |0011: invoke-virtual {v0, v3, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.showEntry:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Z)V // method@03f8 │ │ +01f2d0: 0e00 |0014: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=128 │ │ 0x0005 line=129 │ │ 0x000a line=130 │ │ locals : │ │ 0x0000 - 0x0015 reg=2 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1; │ │ @@ -20145,19 +20145,19 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;J)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -01f2d8: |[01f2d8] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1$1.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;J)V │ │ -01f2e8: 5b01 7702 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1;.this$2:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // field@0277 │ │ -01f2ec: 5a02 7802 |0002: iput-wide v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1;.val$result:J // field@0278 │ │ -01f2f0: 7010 4f05 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01f2f6: 0e00 |0007: return-void │ │ +01f2d4: |[01f2d4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1$1.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;J)V │ │ +01f2e4: 5b01 7702 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1;.this$2:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // field@0277 │ │ +01f2e8: 5a02 7802 |0002: iput-wide v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1;.val$result:J // field@0278 │ │ +01f2ec: 7010 4f05 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01f2f2: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=210 │ │ locals : │ │ 0x0000 - 0x0008 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1; │ │ 0x0000 - 0x0008 reg=1 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; │ │ 0x0000 - 0x0008 reg=2 (null) J │ │ @@ -20168,28 +20168,28 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 28 16-bit code units │ │ -01f2f8: |[01f2f8] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1$1.run:()V │ │ -01f308: 5450 7702 |0000: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1;.this$2:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // field@0277 │ │ -01f30c: 5400 7b02 |0002: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@027b │ │ -01f310: 5400 7d02 |0004: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027d │ │ -01f314: 2201 de00 |0006: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00de │ │ -01f318: 6202 a302 |0008: sget-object v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.SUCCESS:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a3 │ │ -01f31c: 5353 7802 |000a: iget-wide v3, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1;.val$result:J // field@0278 │ │ -01f320: 7040 fc03 2143 |000c: invoke-direct {v1, v2, v3, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;J)V // method@03fc │ │ -01f326: 6e20 3104 1000 |000f: invoke-virtual {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V // method@0431 │ │ -01f32c: 5450 7702 |0012: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1;.this$2:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // field@0277 │ │ -01f330: 5400 7b02 |0014: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@027b │ │ -01f334: 5400 7c02 |0016: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027c │ │ -01f338: 6e10 c403 0000 |0018: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03c4 │ │ -01f33e: 0e00 |001b: return-void │ │ +01f2f4: |[01f2f4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1$1.run:()V │ │ +01f304: 5450 7702 |0000: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1;.this$2:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // field@0277 │ │ +01f308: 5400 7b02 |0002: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@027b │ │ +01f30c: 5400 7d02 |0004: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027d │ │ +01f310: 2201 de00 |0006: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00de │ │ +01f314: 6202 a302 |0008: sget-object v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.SUCCESS:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a3 │ │ +01f318: 5353 7802 |000a: iget-wide v3, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1;.val$result:J // field@0278 │ │ +01f31c: 7040 fc03 2143 |000c: invoke-direct {v1, v2, v3, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;J)V // method@03fc │ │ +01f322: 6e20 3104 1000 |000f: invoke-virtual {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V // method@0431 │ │ +01f328: 5450 7702 |0012: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1;.this$2:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // field@0277 │ │ +01f32c: 5400 7b02 |0014: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@027b │ │ +01f330: 5400 7c02 |0016: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027c │ │ +01f334: 6e10 c403 0000 |0018: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03c4 │ │ +01f33a: 0e00 |001b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=213 │ │ 0x0012 line=214 │ │ locals : │ │ 0x0000 - 0x001c reg=5 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1; │ │ │ │ @@ -20234,19 +20234,19 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;Ljava/io/IOException;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -01f340: |[01f340] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1$2.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;Ljava/io/IOException;)V │ │ -01f350: 5b01 7902 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.this$2:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // field@0279 │ │ -01f354: 5b02 7a02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.val$e:Ljava/io/IOException; // field@027a │ │ -01f358: 7010 4f05 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01f35e: 0e00 |0007: return-void │ │ +01f33c: |[01f33c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1$2.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;Ljava/io/IOException;)V │ │ +01f34c: 5b01 7902 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.this$2:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // field@0279 │ │ +01f350: 5b02 7a02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.val$e:Ljava/io/IOException; // field@027a │ │ +01f354: 7010 4f05 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01f35a: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=218 │ │ locals : │ │ 0x0000 - 0x0008 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2; │ │ 0x0000 - 0x0008 reg=1 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; │ │ 0x0000 - 0x0008 reg=2 (null) Ljava/io/IOException; │ │ @@ -20257,36 +20257,36 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 44 16-bit code units │ │ -01f360: |[01f360] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1$2.run:()V │ │ -01f370: 5440 7a02 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.val$e:Ljava/io/IOException; // field@027a │ │ -01f374: 6e10 fe04 0000 |0002: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ -01f37a: 0c00 |0005: move-result-object v0 │ │ -01f37c: 3900 0c00 |0006: if-nez v0, 0012 // +000c │ │ -01f380: 5440 7902 |0008: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.this$2:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // field@0279 │ │ -01f384: 5400 7b02 |000a: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@027b │ │ -01f388: 5400 7c02 |000c: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027c │ │ -01f38c: 7110 af03 0000 |000e: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ljava/lang/String; // method@03af │ │ -01f392: 0c00 |0011: move-result-object v0 │ │ -01f394: 5441 7902 |0012: iget-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.this$2:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // field@0279 │ │ -01f398: 5411 7b02 |0014: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@027b │ │ -01f39c: 5411 7d02 |0016: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027d │ │ -01f3a0: 2202 de00 |0018: new-instance v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00de │ │ -01f3a4: 6203 a002 |001a: sget-object v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.FAIL:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a0 │ │ -01f3a8: 7030 fd03 3200 |001c: invoke-direct {v2, v3, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;Ljava/lang/String;)V // method@03fd │ │ -01f3ae: 6e20 3104 2100 |001f: invoke-virtual {v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V // method@0431 │ │ -01f3b4: 5440 7902 |0022: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.this$2:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // field@0279 │ │ -01f3b8: 5400 7b02 |0024: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@027b │ │ -01f3bc: 5400 7c02 |0026: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027c │ │ -01f3c0: 6e10 c403 0000 |0028: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03c4 │ │ -01f3c6: 0e00 |002b: return-void │ │ +01f35c: |[01f35c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1$2.run:()V │ │ +01f36c: 5440 7a02 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.val$e:Ljava/io/IOException; // field@027a │ │ +01f370: 6e10 fe04 0000 |0002: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ +01f376: 0c00 |0005: move-result-object v0 │ │ +01f378: 3900 0c00 |0006: if-nez v0, 0012 // +000c │ │ +01f37c: 5440 7902 |0008: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.this$2:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // field@0279 │ │ +01f380: 5400 7b02 |000a: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@027b │ │ +01f384: 5400 7c02 |000c: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027c │ │ +01f388: 7110 af03 0000 |000e: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ljava/lang/String; // method@03af │ │ +01f38e: 0c00 |0011: move-result-object v0 │ │ +01f390: 5441 7902 |0012: iget-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.this$2:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // field@0279 │ │ +01f394: 5411 7b02 |0014: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@027b │ │ +01f398: 5411 7d02 |0016: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027d │ │ +01f39c: 2202 de00 |0018: new-instance v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00de │ │ +01f3a0: 6203 a002 |001a: sget-object v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.FAIL:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a0 │ │ +01f3a4: 7030 fd03 3200 |001c: invoke-direct {v2, v3, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;Ljava/lang/String;)V // method@03fd │ │ +01f3aa: 6e20 3104 2100 |001f: invoke-virtual {v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V // method@0431 │ │ +01f3b0: 5440 7902 |0022: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.this$2:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // field@0279 │ │ +01f3b4: 5400 7b02 |0024: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@027b │ │ +01f3b8: 5400 7c02 |0026: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027c │ │ +01f3bc: 6e10 c403 0000 |0028: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03c4 │ │ +01f3c2: 0e00 |002b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=221 │ │ 0x0008 line=223 │ │ 0x0012 line=225 │ │ 0x0022 line=226 │ │ locals : │ │ @@ -20327,18 +20327,18 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -01f3c8: |[01f3c8] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;)V │ │ -01f3d8: 5b01 7b02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@027b │ │ -01f3dc: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01f3e2: 0e00 |0005: return-void │ │ +01f3c4: |[01f3c4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;)V │ │ +01f3d4: 5b01 7b02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@027b │ │ +01f3d8: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01f3de: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=197 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; │ │ 0x0000 - 0x0006 reg=1 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; │ │ │ │ @@ -20348,64 +20348,64 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 9 │ │ ins : 1 │ │ outs : 6 │ │ insns size : 97 16-bit code units │ │ -01f3e4: |[01f3e4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1.run:()V │ │ -01f3f4: 7100 df01 0000 |0000: invoke-static {}, Ldnsfilter/DNSServer;.getInstance:()Ldnsfilter/DNSServer; // method@01df │ │ -01f3fa: 0c00 |0003: move-result-object v0 │ │ -01f3fc: 2207 e300 |0004: new-instance v7, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e3 │ │ -01f400: 5481 7b02 |0006: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@027b │ │ -01f404: 5411 7d02 |0008: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027d │ │ -01f408: 6e10 2404 0100 |000a: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIp:()Ljava/lang/String; // method@0424 │ │ -01f40e: 0c02 |000d: move-result-object v2 │ │ -01f410: 5481 7b02 |000e: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@027b │ │ -01f414: 5411 7d02 |0010: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027d │ │ -01f418: 6e10 2704 0100 |0012: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getPort:()Ljava/lang/String; // method@0427 │ │ -01f41e: 0c03 |0015: move-result-object v3 │ │ -01f420: 5481 7b02 |0016: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@027b │ │ -01f424: 5411 7d02 |0018: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027d │ │ -01f428: 6e10 2804 0100 |001a: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getProtocol:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0428 │ │ -01f42e: 0c04 |001d: move-result-object v4 │ │ -01f430: 5481 7b02 |001e: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@027b │ │ -01f434: 5411 7d02 |0020: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027d │ │ -01f438: 6e10 2204 0100 |0022: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getEndpoint:()Ljava/lang/String; // method@0422 │ │ -01f43e: 0c05 |0025: move-result-object v5 │ │ -01f440: 1211 |0026: const/4 v1, #int 1 // #1 │ │ -01f442: 7110 2905 0100 |0027: invoke-static {v1}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@0529 │ │ -01f448: 0c06 |002a: move-result-object v6 │ │ -01f44a: 0771 |002b: move-object v1, v7 │ │ -01f44c: 7606 1b04 0100 |002c: invoke-direct/range {v1, v2, v3, v4, v5, v6}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Ljava/lang/String;Ljava/lang/Boolean;)V // method@041b │ │ -01f452: 6e10 3304 0700 |002f: invoke-virtual {v7}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.toString:()Ljava/lang/String; // method@0433 │ │ -01f458: 0c01 |0032: move-result-object v1 │ │ -01f45a: 1302 983a |0033: const/16 v2, #int 15000 // #3a98 │ │ -01f45e: 6e30 d801 1002 |0035: invoke-virtual {v0, v1, v2}, Ldnsfilter/DNSServer;.createDNSServer:(Ljava/lang/String;I)Ldnsfilter/DNSServer; // method@01d8 │ │ -01f464: 0c00 |0038: move-result-object v0 │ │ -01f466: 1251 |0039: const/4 v1, #int 5 // #5 │ │ -01f468: 6e20 ea01 1000 |003a: invoke-virtual {v0, v1}, Ldnsfilter/DNSServer;.testDNS:(I)J // method@01ea │ │ -01f46e: 0b00 |003d: move-result-wide v0 │ │ -01f470: 5482 7b02 |003e: iget-object v2, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@027b │ │ -01f474: 5422 7c02 |0040: iget-object v2, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027c │ │ -01f478: 7110 ae03 0200 |0042: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/os/Handler; // method@03ae │ │ -01f47e: 0c02 |0045: move-result-object v2 │ │ -01f480: 2203 c800 |0046: new-instance v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1; // type@00c8 │ │ -01f484: 7040 9903 8310 |0048: invoke-direct {v3, v8, v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;J)V // method@0399 │ │ -01f48a: 6e20 7c00 3200 |004b: invoke-virtual {v2, v3}, Landroid/os/Handler;.post:(Ljava/lang/Runnable;)Z // method@007c │ │ -01f490: 2812 |004e: goto 0060 // +0012 │ │ -01f492: 0d00 |004f: move-exception v0 │ │ -01f494: 5481 7b02 |0050: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@027b │ │ -01f498: 5411 7c02 |0052: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027c │ │ -01f49c: 7110 ae03 0100 |0054: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/os/Handler; // method@03ae │ │ -01f4a2: 0c01 |0057: move-result-object v1 │ │ -01f4a4: 2202 c900 |0058: new-instance v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2; // type@00c9 │ │ -01f4a8: 7030 9b03 8200 |005a: invoke-direct {v2, v8, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;Ljava/io/IOException;)V // method@039b │ │ -01f4ae: 6e20 7c00 2100 |005d: invoke-virtual {v1, v2}, Landroid/os/Handler;.post:(Ljava/lang/Runnable;)Z // method@007c │ │ -01f4b4: 0e00 |0060: return-void │ │ +01f3e0: |[01f3e0] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1.run:()V │ │ +01f3f0: 7100 df01 0000 |0000: invoke-static {}, Ldnsfilter/DNSServer;.getInstance:()Ldnsfilter/DNSServer; // method@01df │ │ +01f3f6: 0c00 |0003: move-result-object v0 │ │ +01f3f8: 2207 e300 |0004: new-instance v7, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e3 │ │ +01f3fc: 5481 7b02 |0006: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@027b │ │ +01f400: 5411 7d02 |0008: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027d │ │ +01f404: 6e10 2404 0100 |000a: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIp:()Ljava/lang/String; // method@0424 │ │ +01f40a: 0c02 |000d: move-result-object v2 │ │ +01f40c: 5481 7b02 |000e: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@027b │ │ +01f410: 5411 7d02 |0010: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027d │ │ +01f414: 6e10 2704 0100 |0012: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getPort:()Ljava/lang/String; // method@0427 │ │ +01f41a: 0c03 |0015: move-result-object v3 │ │ +01f41c: 5481 7b02 |0016: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@027b │ │ +01f420: 5411 7d02 |0018: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027d │ │ +01f424: 6e10 2804 0100 |001a: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getProtocol:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0428 │ │ +01f42a: 0c04 |001d: move-result-object v4 │ │ +01f42c: 5481 7b02 |001e: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@027b │ │ +01f430: 5411 7d02 |0020: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027d │ │ +01f434: 6e10 2204 0100 |0022: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getEndpoint:()Ljava/lang/String; // method@0422 │ │ +01f43a: 0c05 |0025: move-result-object v5 │ │ +01f43c: 1211 |0026: const/4 v1, #int 1 // #1 │ │ +01f43e: 7110 2905 0100 |0027: invoke-static {v1}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@0529 │ │ +01f444: 0c06 |002a: move-result-object v6 │ │ +01f446: 0771 |002b: move-object v1, v7 │ │ +01f448: 7606 1b04 0100 |002c: invoke-direct/range {v1, v2, v3, v4, v5, v6}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Ljava/lang/String;Ljava/lang/Boolean;)V // method@041b │ │ +01f44e: 6e10 3304 0700 |002f: invoke-virtual {v7}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.toString:()Ljava/lang/String; // method@0433 │ │ +01f454: 0c01 |0032: move-result-object v1 │ │ +01f456: 1302 983a |0033: const/16 v2, #int 15000 // #3a98 │ │ +01f45a: 6e30 d801 1002 |0035: invoke-virtual {v0, v1, v2}, Ldnsfilter/DNSServer;.createDNSServer:(Ljava/lang/String;I)Ldnsfilter/DNSServer; // method@01d8 │ │ +01f460: 0c00 |0038: move-result-object v0 │ │ +01f462: 1251 |0039: const/4 v1, #int 5 // #5 │ │ +01f464: 6e20 ea01 1000 |003a: invoke-virtual {v0, v1}, Ldnsfilter/DNSServer;.testDNS:(I)J // method@01ea │ │ +01f46a: 0b00 |003d: move-result-wide v0 │ │ +01f46c: 5482 7b02 |003e: iget-object v2, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@027b │ │ +01f470: 5422 7c02 |0040: iget-object v2, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027c │ │ +01f474: 7110 ae03 0200 |0042: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/os/Handler; // method@03ae │ │ +01f47a: 0c02 |0045: move-result-object v2 │ │ +01f47c: 2203 c800 |0046: new-instance v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1; // type@00c8 │ │ +01f480: 7040 9903 8310 |0048: invoke-direct {v3, v8, v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;J)V // method@0399 │ │ +01f486: 6e20 7c00 3200 |004b: invoke-virtual {v2, v3}, Landroid/os/Handler;.post:(Ljava/lang/Runnable;)Z // method@007c │ │ +01f48c: 2812 |004e: goto 0060 // +0012 │ │ +01f48e: 0d00 |004f: move-exception v0 │ │ +01f490: 5481 7b02 |0050: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@027b │ │ +01f494: 5411 7c02 |0052: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027c │ │ +01f498: 7110 ae03 0100 |0054: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/os/Handler; // method@03ae │ │ +01f49e: 0c01 |0057: move-result-object v1 │ │ +01f4a0: 2202 c900 |0058: new-instance v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2; // type@00c9 │ │ +01f4a4: 7030 9b03 8200 |005a: invoke-direct {v2, v8, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;Ljava/io/IOException;)V // method@039b │ │ +01f4aa: 6e20 7c00 2100 |005d: invoke-virtual {v1, v2}, Landroid/os/Handler;.post:(Ljava/lang/Runnable;)Z // method@007c │ │ +01f4b0: 0e00 |0060: return-void │ │ catches : 1 │ │ 0x0000 - 0x004e │ │ Ljava/io/IOException; -> 0x004f │ │ positions : │ │ 0x0000 line=201 │ │ 0x000a line=203 │ │ 0x0012 line=204 │ │ @@ -20461,19 +20461,19 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -01f4c8: |[01f4c8] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ -01f4d8: 5b01 7c02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027c │ │ -01f4dc: 5b02 7d02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027d │ │ -01f4e0: 7010 4f05 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01f4e6: 0e00 |0007: return-void │ │ +01f4c4: |[01f4c4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ +01f4d4: 5b01 7c02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027c │ │ +01f4d8: 5b02 7d02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027d │ │ +01f4dc: 7010 4f05 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01f4e2: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=192 │ │ locals : │ │ 0x0000 - 0x0008 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; │ │ 0x0000 - 0x0008 reg=1 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ 0x0000 - 0x0008 reg=2 (null) Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ @@ -20484,29 +20484,29 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 31 16-bit code units │ │ -01f4e8: |[01f4e8] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2.onClick:(Landroid/view/View;)V │ │ -01f4f8: 5412 7d02 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027d │ │ -01f4fc: 6e10 2904 0200 |0002: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // method@0429 │ │ -01f502: 0c02 |0005: move-result-object v2 │ │ -01f504: 6200 a202 |0006: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a2 │ │ -01f508: 6e20 0704 0200 |0008: invoke-virtual {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.setTestState:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V // method@0407 │ │ -01f50e: 5412 7c02 |000b: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027c │ │ -01f512: 6e10 c403 0200 |000d: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03c4 │ │ -01f518: 2202 ca00 |0010: new-instance v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // type@00ca │ │ -01f51c: 7020 9d03 1200 |0012: invoke-direct {v2, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;)V // method@039d │ │ -01f522: 5410 7c02 |0015: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027c │ │ -01f526: 7110 b003 0000 |0017: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ljava/util/concurrent/ExecutorService; // method@03b0 │ │ -01f52c: 0c00 |001a: move-result-object v0 │ │ -01f52e: 7220 6506 2000 |001b: invoke-interface {v0, v2}, Ljava/util/concurrent/ExecutorService;.execute:(Ljava/lang/Runnable;)V // method@0665 │ │ -01f534: 0e00 |001e: return-void │ │ +01f4e4: |[01f4e4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2.onClick:(Landroid/view/View;)V │ │ +01f4f4: 5412 7d02 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027d │ │ +01f4f8: 6e10 2904 0200 |0002: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // method@0429 │ │ +01f4fe: 0c02 |0005: move-result-object v2 │ │ +01f500: 6200 a202 |0006: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a2 │ │ +01f504: 6e20 0704 0200 |0008: invoke-virtual {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.setTestState:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V // method@0407 │ │ +01f50a: 5412 7c02 |000b: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027c │ │ +01f50e: 6e10 c403 0200 |000d: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03c4 │ │ +01f514: 2202 ca00 |0010: new-instance v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // type@00ca │ │ +01f518: 7020 9d03 1200 |0012: invoke-direct {v2, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;)V // method@039d │ │ +01f51e: 5410 7c02 |0015: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027c │ │ +01f522: 7110 b003 0000 |0017: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ljava/util/concurrent/ExecutorService; // method@03b0 │ │ +01f528: 0c00 |001a: move-result-object v0 │ │ +01f52a: 7220 6506 2000 |001b: invoke-interface {v0, v2}, Ljava/util/concurrent/ExecutorService;.execute:(Ljava/lang/Runnable;)V // method@0665 │ │ +01f530: 0e00 |001e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=195 │ │ 0x000b line=196 │ │ 0x0010 line=197 │ │ 0x0015 line=232 │ │ locals : │ │ @@ -20558,20 +20558,20 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -01f538: |[01f538] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$3.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ -01f548: 5b01 7e02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ -01f54c: 5b02 7f02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027f │ │ -01f550: 5b03 8002 |0004: iput-object v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0280 │ │ -01f554: 7010 4f05 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01f55a: 0e00 |0009: return-void │ │ +01f534: |[01f534] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$3.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ +01f544: 5b01 7e02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ +01f548: 5b02 7f02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027f │ │ +01f54c: 5b03 8002 |0004: iput-object v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0280 │ │ +01f550: 7010 4f05 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01f556: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=235 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3; │ │ 0x0000 - 0x000a reg=1 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ 0x0000 - 0x000a reg=2 (null) Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ @@ -20583,51 +20583,51 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 77 16-bit code units │ │ -01f55c: |[01f55c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$3.onClick:(Landroid/view/View;)V │ │ -01f56c: 5440 7e02 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ -01f570: 7110 b103 0000 |0002: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/ImageView; // method@03b1 │ │ -01f576: 0c00 |0005: move-result-object v0 │ │ -01f578: 1401 1e00 047f |0006: const v1, #float 1.75459e+38 // #7f04001e │ │ -01f57e: 6e20 d800 1000 |0009: invoke-virtual {v0, v1}, Landroid/widget/ImageView;.setImageResource:(I)V // method@00d8 │ │ -01f584: 5440 7e02 |000c: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ -01f588: 7110 b203 0000 |000e: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$600:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/TextView; // method@03b2 │ │ -01f58e: 0c00 |0011: move-result-object v0 │ │ -01f590: 6e10 9800 0500 |0012: invoke-virtual {v5}, Landroid/view/View;.getContext:()Landroid/content/Context; // method@0098 │ │ -01f596: 0c05 |0015: move-result-object v5 │ │ -01f598: 5441 7f02 |0016: iget-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027f │ │ -01f59c: 6e10 2904 0100 |0018: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // method@0429 │ │ -01f5a2: 0c01 |001b: move-result-object v1 │ │ -01f5a4: 6e10 0104 0100 |001c: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.getMessage:()Ljava/lang/String; // method@0401 │ │ -01f5aa: 0c01 |001f: move-result-object v1 │ │ -01f5ac: 1212 |0020: const/4 v2, #int 1 // #1 │ │ -01f5ae: 2322 a801 |0021: new-array v2, v2, [Ljava/lang/Object; // type@01a8 │ │ -01f5b2: 1203 |0023: const/4 v3, #int 0 // #0 │ │ -01f5b4: 4d01 0203 |0024: aput-object v1, v2, v3 │ │ -01f5b8: 1401 3100 087f |0026: const v1, #float 1.80776e+38 // #7f080031 │ │ -01f5be: 6e30 3900 1502 |0029: invoke-virtual {v5, v1, v2}, Landroid/content/Context;.getString:(I[Ljava/lang/Object;)Ljava/lang/String; // method@0039 │ │ -01f5c4: 0c05 |002c: move-result-object v5 │ │ -01f5c6: 6e20 f400 5000 |002d: invoke-virtual {v0, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01f5cc: 5445 7e02 |0030: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ -01f5d0: 7110 b303 0500 |0032: invoke-static {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/app/Dialog; // method@03b3 │ │ -01f5d6: 0c05 |0035: move-result-object v5 │ │ -01f5d8: 6e10 2200 0500 |0036: invoke-virtual {v5}, Landroid/app/Dialog;.show:()V // method@0022 │ │ -01f5de: 5445 8002 |0039: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0280 │ │ -01f5e2: 5455 8a02 |003b: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@028a │ │ -01f5e6: 2200 de00 |003d: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00de │ │ -01f5ea: 6201 a102 |003f: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a1 │ │ -01f5ee: 7020 fb03 1000 |0041: invoke-direct {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V // method@03fb │ │ -01f5f4: 6e20 3104 0500 |0044: invoke-virtual {v5, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V // method@0431 │ │ -01f5fa: 5445 7e02 |0047: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ -01f5fe: 6e10 c403 0500 |0049: invoke-virtual {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03c4 │ │ -01f604: 0e00 |004c: return-void │ │ +01f558: |[01f558] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$3.onClick:(Landroid/view/View;)V │ │ +01f568: 5440 7e02 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ +01f56c: 7110 b103 0000 |0002: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/ImageView; // method@03b1 │ │ +01f572: 0c00 |0005: move-result-object v0 │ │ +01f574: 1401 1e00 047f |0006: const v1, #float 1.75459e+38 // #7f04001e │ │ +01f57a: 6e20 d800 1000 |0009: invoke-virtual {v0, v1}, Landroid/widget/ImageView;.setImageResource:(I)V // method@00d8 │ │ +01f580: 5440 7e02 |000c: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ +01f584: 7110 b203 0000 |000e: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$600:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/TextView; // method@03b2 │ │ +01f58a: 0c00 |0011: move-result-object v0 │ │ +01f58c: 6e10 9800 0500 |0012: invoke-virtual {v5}, Landroid/view/View;.getContext:()Landroid/content/Context; // method@0098 │ │ +01f592: 0c05 |0015: move-result-object v5 │ │ +01f594: 5441 7f02 |0016: iget-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027f │ │ +01f598: 6e10 2904 0100 |0018: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // method@0429 │ │ +01f59e: 0c01 |001b: move-result-object v1 │ │ +01f5a0: 6e10 0104 0100 |001c: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.getMessage:()Ljava/lang/String; // method@0401 │ │ +01f5a6: 0c01 |001f: move-result-object v1 │ │ +01f5a8: 1212 |0020: const/4 v2, #int 1 // #1 │ │ +01f5aa: 2322 a801 |0021: new-array v2, v2, [Ljava/lang/Object; // type@01a8 │ │ +01f5ae: 1203 |0023: const/4 v3, #int 0 // #0 │ │ +01f5b0: 4d01 0203 |0024: aput-object v1, v2, v3 │ │ +01f5b4: 1401 3100 087f |0026: const v1, #float 1.80776e+38 // #7f080031 │ │ +01f5ba: 6e30 3900 1502 |0029: invoke-virtual {v5, v1, v2}, Landroid/content/Context;.getString:(I[Ljava/lang/Object;)Ljava/lang/String; // method@0039 │ │ +01f5c0: 0c05 |002c: move-result-object v5 │ │ +01f5c2: 6e20 f400 5000 |002d: invoke-virtual {v0, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01f5c8: 5445 7e02 |0030: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ +01f5cc: 7110 b303 0500 |0032: invoke-static {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/app/Dialog; // method@03b3 │ │ +01f5d2: 0c05 |0035: move-result-object v5 │ │ +01f5d4: 6e10 2200 0500 |0036: invoke-virtual {v5}, Landroid/app/Dialog;.show:()V // method@0022 │ │ +01f5da: 5445 8002 |0039: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0280 │ │ +01f5de: 5455 8a02 |003b: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@028a │ │ +01f5e2: 2200 de00 |003d: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00de │ │ +01f5e6: 6201 a102 |003f: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a1 │ │ +01f5ea: 7020 fb03 1000 |0041: invoke-direct {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V // method@03fb │ │ +01f5f0: 6e20 3104 0500 |0044: invoke-virtual {v5, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V // method@0431 │ │ +01f5f6: 5445 7e02 |0047: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ +01f5fa: 6e10 c403 0500 |0049: invoke-virtual {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03c4 │ │ +01f600: 0e00 |004c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=238 │ │ 0x000c line=239 │ │ 0x0030 line=240 │ │ 0x0039 line=241 │ │ 0x0047 line=242 │ │ @@ -20680,20 +20680,20 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -01f608: |[01f608] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$4.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ -01f618: 5b01 8102 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0281 │ │ -01f61c: 5b02 8202 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0282 │ │ -01f620: 5b03 8302 |0004: iput-object v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0283 │ │ -01f624: 7010 4f05 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01f62a: 0e00 |0009: return-void │ │ +01f604: |[01f604] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$4.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ +01f614: 5b01 8102 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0281 │ │ +01f618: 5b02 8202 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0282 │ │ +01f61c: 5b03 8302 |0004: iput-object v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0283 │ │ +01f620: 7010 4f05 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01f626: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=245 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4; │ │ 0x0000 - 0x000a reg=1 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ 0x0000 - 0x000a reg=2 (null) Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ @@ -20705,53 +20705,53 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 81 16-bit code units │ │ -01f62c: |[01f62c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$4.onClick:(Landroid/view/View;)V │ │ -01f63c: 5440 8102 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0281 │ │ -01f640: 7110 b103 0000 |0002: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/ImageView; // method@03b1 │ │ -01f646: 0c00 |0005: move-result-object v0 │ │ -01f648: 1401 1a00 047f |0006: const v1, #float 1.75459e+38 // #7f04001a │ │ -01f64e: 6e20 d800 1000 |0009: invoke-virtual {v0, v1}, Landroid/widget/ImageView;.setImageResource:(I)V // method@00d8 │ │ -01f654: 5440 8102 |000c: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0281 │ │ -01f658: 7110 b203 0000 |000e: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$600:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/TextView; // method@03b2 │ │ -01f65e: 0c00 |0011: move-result-object v0 │ │ -01f660: 6e10 9800 0500 |0012: invoke-virtual {v5}, Landroid/view/View;.getContext:()Landroid/content/Context; // method@0098 │ │ -01f666: 0c05 |0015: move-result-object v5 │ │ -01f668: 5441 8202 |0016: iget-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0282 │ │ -01f66c: 6e10 2904 0100 |0018: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // method@0429 │ │ -01f672: 0c01 |001b: move-result-object v1 │ │ -01f674: 6e10 0204 0100 |001c: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.getPerf:()J // method@0402 │ │ -01f67a: 0b01 |001f: move-result-wide v1 │ │ -01f67c: 7120 4805 2100 |0020: invoke-static {v1, v2}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@0548 │ │ -01f682: 0c01 |0023: move-result-object v1 │ │ -01f684: 1212 |0024: const/4 v2, #int 1 // #1 │ │ -01f686: 2322 a801 |0025: new-array v2, v2, [Ljava/lang/Object; // type@01a8 │ │ -01f68a: 1203 |0027: const/4 v3, #int 0 // #0 │ │ -01f68c: 4d01 0203 |0028: aput-object v1, v2, v3 │ │ -01f690: 1401 3200 087f |002a: const v1, #float 1.80776e+38 // #7f080032 │ │ -01f696: 6e30 3900 1502 |002d: invoke-virtual {v5, v1, v2}, Landroid/content/Context;.getString:(I[Ljava/lang/Object;)Ljava/lang/String; // method@0039 │ │ -01f69c: 0c05 |0030: move-result-object v5 │ │ -01f69e: 6e20 f400 5000 |0031: invoke-virtual {v0, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01f6a4: 5445 8102 |0034: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0281 │ │ -01f6a8: 7110 b303 0500 |0036: invoke-static {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/app/Dialog; // method@03b3 │ │ -01f6ae: 0c05 |0039: move-result-object v5 │ │ -01f6b0: 6e10 2200 0500 |003a: invoke-virtual {v5}, Landroid/app/Dialog;.show:()V // method@0022 │ │ -01f6b6: 5445 8302 |003d: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0283 │ │ -01f6ba: 5455 8a02 |003f: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@028a │ │ -01f6be: 2200 de00 |0041: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00de │ │ -01f6c2: 6201 a102 |0043: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a1 │ │ -01f6c6: 7020 fb03 1000 |0045: invoke-direct {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V // method@03fb │ │ -01f6cc: 6e20 3104 0500 |0048: invoke-virtual {v5, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V // method@0431 │ │ -01f6d2: 5445 8102 |004b: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0281 │ │ -01f6d6: 6e10 c403 0500 |004d: invoke-virtual {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03c4 │ │ -01f6dc: 0e00 |0050: return-void │ │ +01f628: |[01f628] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$4.onClick:(Landroid/view/View;)V │ │ +01f638: 5440 8102 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0281 │ │ +01f63c: 7110 b103 0000 |0002: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/ImageView; // method@03b1 │ │ +01f642: 0c00 |0005: move-result-object v0 │ │ +01f644: 1401 1a00 047f |0006: const v1, #float 1.75459e+38 // #7f04001a │ │ +01f64a: 6e20 d800 1000 |0009: invoke-virtual {v0, v1}, Landroid/widget/ImageView;.setImageResource:(I)V // method@00d8 │ │ +01f650: 5440 8102 |000c: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0281 │ │ +01f654: 7110 b203 0000 |000e: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$600:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/TextView; // method@03b2 │ │ +01f65a: 0c00 |0011: move-result-object v0 │ │ +01f65c: 6e10 9800 0500 |0012: invoke-virtual {v5}, Landroid/view/View;.getContext:()Landroid/content/Context; // method@0098 │ │ +01f662: 0c05 |0015: move-result-object v5 │ │ +01f664: 5441 8202 |0016: iget-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0282 │ │ +01f668: 6e10 2904 0100 |0018: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // method@0429 │ │ +01f66e: 0c01 |001b: move-result-object v1 │ │ +01f670: 6e10 0204 0100 |001c: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.getPerf:()J // method@0402 │ │ +01f676: 0b01 |001f: move-result-wide v1 │ │ +01f678: 7120 4805 2100 |0020: invoke-static {v1, v2}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@0548 │ │ +01f67e: 0c01 |0023: move-result-object v1 │ │ +01f680: 1212 |0024: const/4 v2, #int 1 // #1 │ │ +01f682: 2322 a801 |0025: new-array v2, v2, [Ljava/lang/Object; // type@01a8 │ │ +01f686: 1203 |0027: const/4 v3, #int 0 // #0 │ │ +01f688: 4d01 0203 |0028: aput-object v1, v2, v3 │ │ +01f68c: 1401 3200 087f |002a: const v1, #float 1.80776e+38 // #7f080032 │ │ +01f692: 6e30 3900 1502 |002d: invoke-virtual {v5, v1, v2}, Landroid/content/Context;.getString:(I[Ljava/lang/Object;)Ljava/lang/String; // method@0039 │ │ +01f698: 0c05 |0030: move-result-object v5 │ │ +01f69a: 6e20 f400 5000 |0031: invoke-virtual {v0, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01f6a0: 5445 8102 |0034: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0281 │ │ +01f6a4: 7110 b303 0500 |0036: invoke-static {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/app/Dialog; // method@03b3 │ │ +01f6aa: 0c05 |0039: move-result-object v5 │ │ +01f6ac: 6e10 2200 0500 |003a: invoke-virtual {v5}, Landroid/app/Dialog;.show:()V // method@0022 │ │ +01f6b2: 5445 8302 |003d: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0283 │ │ +01f6b6: 5455 8a02 |003f: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@028a │ │ +01f6ba: 2200 de00 |0041: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00de │ │ +01f6be: 6201 a102 |0043: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a1 │ │ +01f6c2: 7020 fb03 1000 |0045: invoke-direct {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V // method@03fb │ │ +01f6c8: 6e20 3104 0500 |0048: invoke-virtual {v5, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V // method@0431 │ │ +01f6ce: 5445 8102 |004b: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0281 │ │ +01f6d2: 6e10 c403 0500 |004d: invoke-virtual {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03c4 │ │ +01f6d8: 0e00 |0050: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=248 │ │ 0x000c line=249 │ │ 0x0034 line=250 │ │ 0x003d line=251 │ │ 0x004b line=252 │ │ @@ -20800,19 +20800,19 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -01f6e0: |[01f6e0] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$5.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ -01f6f0: 5b01 8402 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0284 │ │ -01f6f4: 5b02 8502 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0285 │ │ -01f6f8: 7010 4f05 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01f6fe: 0e00 |0007: return-void │ │ +01f6dc: |[01f6dc] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$5.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ +01f6ec: 5b01 8402 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0284 │ │ +01f6f0: 5b02 8502 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0285 │ │ +01f6f4: 7010 4f05 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01f6fa: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=273 │ │ locals : │ │ 0x0000 - 0x0008 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5; │ │ 0x0000 - 0x0008 reg=1 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ 0x0000 - 0x0008 reg=2 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; │ │ @@ -20823,23 +20823,23 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 15 16-bit code units │ │ -01f700: |[01f700] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$5.onClick:(Landroid/view/View;)V │ │ -01f710: 5423 8402 |0000: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0284 │ │ -01f714: 7110 ad03 0300 |0002: invoke-static {v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // method@03ad │ │ -01f71a: 0c03 |0005: move-result-object v3 │ │ -01f71c: 5420 8502 |0006: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0285 │ │ -01f720: 5400 8a02 |0008: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@028a │ │ -01f724: 1201 |000a: const/4 v1, #int 0 // #0 │ │ -01f726: 6e30 f803 0301 |000b: invoke-virtual {v3, v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.showEntry:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Z)V // method@03f8 │ │ -01f72c: 0e00 |000e: return-void │ │ +01f6fc: |[01f6fc] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$5.onClick:(Landroid/view/View;)V │ │ +01f70c: 5423 8402 |0000: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0284 │ │ +01f710: 7110 ad03 0300 |0002: invoke-static {v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // method@03ad │ │ +01f716: 0c03 |0005: move-result-object v3 │ │ +01f718: 5420 8502 |0006: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0285 │ │ +01f71c: 5400 8a02 |0008: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@028a │ │ +01f720: 1201 |000a: const/4 v1, #int 0 // #0 │ │ +01f722: 6e30 f803 0301 |000b: invoke-virtual {v3, v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.showEntry:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Z)V // method@03f8 │ │ +01f728: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=276 │ │ locals : │ │ 0x0000 - 0x000f reg=2 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5; │ │ 0x0000 - 0x000f reg=3 (null) Landroid/view/View; │ │ │ │ @@ -20877,38 +20877,38 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 41 16-bit code units │ │ -01f730: |[01f730] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$6.:()V │ │ -01f740: 7100 d503 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // method@03d5 │ │ -01f746: 0c00 |0003: move-result-object v0 │ │ -01f748: 2100 |0004: array-length v0, v0 │ │ -01f74a: 2300 9a01 |0005: new-array v0, v0, [I // type@019a │ │ -01f74e: 6900 8602 |0007: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$6;.$SwitchMap$dnsfilter$android$dnsserverconfig$widget$DNSServerConfigEntryTestState:[I // field@0286 │ │ -01f752: 6201 a202 |0009: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a2 │ │ -01f756: 6e10 d303 0100 |000b: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.ordinal:()I // method@03d3 │ │ -01f75c: 0a01 |000e: move-result v1 │ │ -01f75e: 1212 |000f: const/4 v2, #int 1 // #1 │ │ -01f760: 4b02 0001 |0010: aput v2, v0, v1 │ │ -01f764: 6200 8602 |0012: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$6;.$SwitchMap$dnsfilter$android$dnsserverconfig$widget$DNSServerConfigEntryTestState:[I // field@0286 │ │ -01f768: 6201 a002 |0014: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.FAIL:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a0 │ │ -01f76c: 6e10 d303 0100 |0016: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.ordinal:()I // method@03d3 │ │ -01f772: 0a01 |0019: move-result v1 │ │ -01f774: 1222 |001a: const/4 v2, #int 2 // #2 │ │ -01f776: 4b02 0001 |001b: aput v2, v0, v1 │ │ -01f77a: 6200 8602 |001d: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$6;.$SwitchMap$dnsfilter$android$dnsserverconfig$widget$DNSServerConfigEntryTestState:[I // field@0286 │ │ -01f77e: 6201 a302 |001f: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.SUCCESS:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a3 │ │ -01f782: 6e10 d303 0100 |0021: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.ordinal:()I // method@03d3 │ │ -01f788: 0a01 |0024: move-result v1 │ │ -01f78a: 1232 |0025: const/4 v2, #int 3 // #3 │ │ -01f78c: 4b02 0001 |0026: aput v2, v0, v1 │ │ -01f790: 0e00 |0028: return-void │ │ +01f72c: |[01f72c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$6.:()V │ │ +01f73c: 7100 d503 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // method@03d5 │ │ +01f742: 0c00 |0003: move-result-object v0 │ │ +01f744: 2100 |0004: array-length v0, v0 │ │ +01f746: 2300 9a01 |0005: new-array v0, v0, [I // type@019a │ │ +01f74a: 6900 8602 |0007: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$6;.$SwitchMap$dnsfilter$android$dnsserverconfig$widget$DNSServerConfigEntryTestState:[I // field@0286 │ │ +01f74e: 6201 a202 |0009: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a2 │ │ +01f752: 6e10 d303 0100 |000b: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.ordinal:()I // method@03d3 │ │ +01f758: 0a01 |000e: move-result v1 │ │ +01f75a: 1212 |000f: const/4 v2, #int 1 // #1 │ │ +01f75c: 4b02 0001 |0010: aput v2, v0, v1 │ │ +01f760: 6200 8602 |0012: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$6;.$SwitchMap$dnsfilter$android$dnsserverconfig$widget$DNSServerConfigEntryTestState:[I // field@0286 │ │ +01f764: 6201 a002 |0014: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.FAIL:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a0 │ │ +01f768: 6e10 d303 0100 |0016: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.ordinal:()I // method@03d3 │ │ +01f76e: 0a01 |0019: move-result v1 │ │ +01f770: 1222 |001a: const/4 v2, #int 2 // #2 │ │ +01f772: 4b02 0001 |001b: aput v2, v0, v1 │ │ +01f776: 6200 8602 |001d: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$6;.$SwitchMap$dnsfilter$android$dnsserverconfig$widget$DNSServerConfigEntryTestState:[I // field@0286 │ │ +01f77a: 6201 a302 |001f: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.SUCCESS:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a3 │ │ +01f77e: 6e10 d303 0100 |0021: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.ordinal:()I // method@03d3 │ │ +01f784: 0a01 |0024: move-result v1 │ │ +01f786: 1232 |0025: const/4 v2, #int 3 // #3 │ │ +01f788: 4b02 0001 |0026: aput v2, v0, v1 │ │ +01f78c: 0e00 |0028: return-void │ │ catches : 3 │ │ 0x0009 - 0x0012 │ │ Ljava/lang/NoSuchFieldError; -> 0x0012 │ │ 0x0012 - 0x001d │ │ Ljava/lang/NoSuchFieldError; -> 0x001d │ │ 0x001d - 0x0028 │ │ Ljava/lang/NoSuchFieldError; -> 0x0028 │ │ @@ -20959,17 +20959,17 @@ │ │ type : '()V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01f7bc: |[01f7bc] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$DNSServerCommentEntryViewHolder.:()V │ │ -01f7cc: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01f7d2: 0e00 |0003: return-void │ │ +01f7b8: |[01f7b8] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$DNSServerCommentEntryViewHolder.:()V │ │ +01f7c8: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01f7ce: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=371 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder; │ │ │ │ Virtual methods - │ │ @@ -21051,17 +21051,17 @@ │ │ type : '()V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01f7d4: |[01f7d4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$DNSServerConfigEntryViewHolder.:()V │ │ -01f7e4: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -01f7ea: 0e00 |0003: return-void │ │ +01f7d0: |[01f7d0] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$DNSServerConfigEntryViewHolder.:()V │ │ +01f7e0: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +01f7e6: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=312 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; │ │ │ │ #1 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;) │ │ @@ -21069,17 +21069,17 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01f7ec: |[01f7ec] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$DNSServerConfigEntryViewHolder.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ -01f7fc: 7010 ab03 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.setupTestButtons:()V // method@03ab │ │ -01f802: 0e00 |0003: return-void │ │ +01f7e8: |[01f7e8] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$DNSServerConfigEntryViewHolder.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ +01f7f8: 7010 ab03 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.setupTestButtons:()V // method@03ab │ │ +01f7fe: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=312 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; │ │ │ │ #2 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;) │ │ @@ -21087,89 +21087,89 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 163 16-bit code units │ │ -01f804: |[01f804] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$DNSServerConfigEntryViewHolder.setupTestButtons:()V │ │ -01f814: 5440 8a02 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@028a │ │ -01f818: 6e10 2904 0000 |0002: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // method@0429 │ │ -01f81e: 0c00 |0005: move-result-object v0 │ │ -01f820: 6e10 0304 0000 |0006: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.getTestState:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // method@0403 │ │ -01f826: 0c00 |0009: move-result-object v0 │ │ -01f828: 1201 |000a: const/4 v1, #int 0 // #0 │ │ -01f82a: 1242 |000b: const/4 v2, #int 4 // #4 │ │ -01f82c: 3900 1c00 |000c: if-nez v0, 0028 // +001c │ │ -01f830: 5440 9202 |000e: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@0292 │ │ -01f834: 6e20 d600 1000 |0010: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ -01f83a: 5440 9302 |0013: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0293 │ │ -01f83e: 6e10 d400 0000 |0015: invoke-virtual {v0}, Landroid/widget/ImageButton;.clearAnimation:()V // method@00d4 │ │ -01f844: 5440 9302 |0018: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0293 │ │ -01f848: 6e20 d600 2000 |001a: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ -01f84e: 5440 9502 |001d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0295 │ │ -01f852: 6e20 d600 2000 |001f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ -01f858: 5440 9402 |0022: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0294 │ │ -01f85c: 6e20 d600 2000 |0024: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ -01f862: 0e00 |0027: return-void │ │ -01f864: 6203 8602 |0028: sget-object v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$6;.$SwitchMap$dnsfilter$android$dnsserverconfig$widget$DNSServerConfigEntryTestState:[I // field@0286 │ │ -01f868: 6e10 d303 0000 |002a: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.ordinal:()I // method@03d3 │ │ -01f86e: 0a00 |002d: move-result v0 │ │ -01f870: 4400 0300 |002e: aget v0, v3, v0 │ │ -01f874: 1213 |0030: const/4 v3, #int 1 // #1 │ │ -01f876: 3230 5600 |0031: if-eq v0, v3, 0087 // +0056 │ │ -01f87a: 1223 |0033: const/4 v3, #int 2 // #2 │ │ -01f87c: 3230 3900 |0034: if-eq v0, v3, 006d // +0039 │ │ -01f880: 1233 |0036: const/4 v3, #int 3 // #3 │ │ -01f882: 3230 1c00 |0037: if-eq v0, v3, 0053 // +001c │ │ -01f886: 5440 9202 |0039: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@0292 │ │ -01f88a: 6e20 d600 1000 |003b: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ -01f890: 5440 9302 |003e: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0293 │ │ -01f894: 6e10 d400 0000 |0040: invoke-virtual {v0}, Landroid/widget/ImageButton;.clearAnimation:()V // method@00d4 │ │ -01f89a: 5440 9302 |0043: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0293 │ │ -01f89e: 6e20 d600 2000 |0045: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ -01f8a4: 5440 9502 |0048: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0295 │ │ -01f8a8: 6e20 d600 2000 |004a: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ -01f8ae: 5440 9402 |004d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0294 │ │ -01f8b2: 6e20 d600 2000 |004f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ -01f8b8: 2850 |0052: goto 00a2 // +0050 │ │ -01f8ba: 5440 9202 |0053: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@0292 │ │ -01f8be: 6e20 d600 2000 |0055: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ -01f8c4: 5440 9302 |0058: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0293 │ │ -01f8c8: 6e10 d400 0000 |005a: invoke-virtual {v0}, Landroid/widget/ImageButton;.clearAnimation:()V // method@00d4 │ │ -01f8ce: 5440 9302 |005d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0293 │ │ -01f8d2: 6e20 d600 2000 |005f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ -01f8d8: 5440 9502 |0062: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0295 │ │ -01f8dc: 6e20 d600 1000 |0064: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ -01f8e2: 5440 9402 |0067: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0294 │ │ -01f8e6: 6e20 d600 2000 |0069: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ -01f8ec: 2836 |006c: goto 00a2 // +0036 │ │ -01f8ee: 5440 9202 |006d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@0292 │ │ -01f8f2: 6e20 d600 2000 |006f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ -01f8f8: 5440 9302 |0072: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0293 │ │ -01f8fc: 6e10 d400 0000 |0074: invoke-virtual {v0}, Landroid/widget/ImageButton;.clearAnimation:()V // method@00d4 │ │ -01f902: 5440 9302 |0077: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0293 │ │ -01f906: 6e20 d600 2000 |0079: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ -01f90c: 5440 9502 |007c: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0295 │ │ -01f910: 6e20 d600 2000 |007e: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ -01f916: 5440 9402 |0081: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0294 │ │ -01f91a: 6e20 d600 1000 |0083: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ -01f920: 281c |0086: goto 00a2 // +001c │ │ -01f922: 5440 9202 |0087: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@0292 │ │ -01f926: 6e20 d600 2000 |0089: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ -01f92c: 5440 9302 |008c: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0293 │ │ -01f930: 5443 8f02 |008e: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.progressBarAnim:Landroid/view/animation/Animation; // field@028f │ │ -01f934: 6e20 d700 3000 |0090: invoke-virtual {v0, v3}, Landroid/widget/ImageButton;.startAnimation:(Landroid/view/animation/Animation;)V // method@00d7 │ │ -01f93a: 5440 9302 |0093: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0293 │ │ -01f93e: 6e20 d600 1000 |0095: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ -01f944: 5440 9502 |0098: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0295 │ │ -01f948: 6e20 d600 2000 |009a: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ -01f94e: 5440 9402 |009d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0294 │ │ -01f952: 6e20 d600 2000 |009f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ -01f958: 0e00 |00a2: return-void │ │ +01f800: |[01f800] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$DNSServerConfigEntryViewHolder.setupTestButtons:()V │ │ +01f810: 5440 8a02 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@028a │ │ +01f814: 6e10 2904 0000 |0002: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // method@0429 │ │ +01f81a: 0c00 |0005: move-result-object v0 │ │ +01f81c: 6e10 0304 0000 |0006: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.getTestState:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // method@0403 │ │ +01f822: 0c00 |0009: move-result-object v0 │ │ +01f824: 1201 |000a: const/4 v1, #int 0 // #0 │ │ +01f826: 1242 |000b: const/4 v2, #int 4 // #4 │ │ +01f828: 3900 1c00 |000c: if-nez v0, 0028 // +001c │ │ +01f82c: 5440 9202 |000e: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@0292 │ │ +01f830: 6e20 d600 1000 |0010: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ +01f836: 5440 9302 |0013: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0293 │ │ +01f83a: 6e10 d400 0000 |0015: invoke-virtual {v0}, Landroid/widget/ImageButton;.clearAnimation:()V // method@00d4 │ │ +01f840: 5440 9302 |0018: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0293 │ │ +01f844: 6e20 d600 2000 |001a: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ +01f84a: 5440 9502 |001d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0295 │ │ +01f84e: 6e20 d600 2000 |001f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ +01f854: 5440 9402 |0022: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0294 │ │ +01f858: 6e20 d600 2000 |0024: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ +01f85e: 0e00 |0027: return-void │ │ +01f860: 6203 8602 |0028: sget-object v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$6;.$SwitchMap$dnsfilter$android$dnsserverconfig$widget$DNSServerConfigEntryTestState:[I // field@0286 │ │ +01f864: 6e10 d303 0000 |002a: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.ordinal:()I // method@03d3 │ │ +01f86a: 0a00 |002d: move-result v0 │ │ +01f86c: 4400 0300 |002e: aget v0, v3, v0 │ │ +01f870: 1213 |0030: const/4 v3, #int 1 // #1 │ │ +01f872: 3230 5600 |0031: if-eq v0, v3, 0087 // +0056 │ │ +01f876: 1223 |0033: const/4 v3, #int 2 // #2 │ │ +01f878: 3230 3900 |0034: if-eq v0, v3, 006d // +0039 │ │ +01f87c: 1233 |0036: const/4 v3, #int 3 // #3 │ │ +01f87e: 3230 1c00 |0037: if-eq v0, v3, 0053 // +001c │ │ +01f882: 5440 9202 |0039: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@0292 │ │ +01f886: 6e20 d600 1000 |003b: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ +01f88c: 5440 9302 |003e: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0293 │ │ +01f890: 6e10 d400 0000 |0040: invoke-virtual {v0}, Landroid/widget/ImageButton;.clearAnimation:()V // method@00d4 │ │ +01f896: 5440 9302 |0043: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0293 │ │ +01f89a: 6e20 d600 2000 |0045: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ +01f8a0: 5440 9502 |0048: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0295 │ │ +01f8a4: 6e20 d600 2000 |004a: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ +01f8aa: 5440 9402 |004d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0294 │ │ +01f8ae: 6e20 d600 2000 |004f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ +01f8b4: 2850 |0052: goto 00a2 // +0050 │ │ +01f8b6: 5440 9202 |0053: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@0292 │ │ +01f8ba: 6e20 d600 2000 |0055: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ +01f8c0: 5440 9302 |0058: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0293 │ │ +01f8c4: 6e10 d400 0000 |005a: invoke-virtual {v0}, Landroid/widget/ImageButton;.clearAnimation:()V // method@00d4 │ │ +01f8ca: 5440 9302 |005d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0293 │ │ +01f8ce: 6e20 d600 2000 |005f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ +01f8d4: 5440 9502 |0062: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0295 │ │ +01f8d8: 6e20 d600 1000 |0064: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ +01f8de: 5440 9402 |0067: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0294 │ │ +01f8e2: 6e20 d600 2000 |0069: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ +01f8e8: 2836 |006c: goto 00a2 // +0036 │ │ +01f8ea: 5440 9202 |006d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@0292 │ │ +01f8ee: 6e20 d600 2000 |006f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ +01f8f4: 5440 9302 |0072: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0293 │ │ +01f8f8: 6e10 d400 0000 |0074: invoke-virtual {v0}, Landroid/widget/ImageButton;.clearAnimation:()V // method@00d4 │ │ +01f8fe: 5440 9302 |0077: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0293 │ │ +01f902: 6e20 d600 2000 |0079: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ +01f908: 5440 9502 |007c: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0295 │ │ +01f90c: 6e20 d600 2000 |007e: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ +01f912: 5440 9402 |0081: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0294 │ │ +01f916: 6e20 d600 1000 |0083: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ +01f91c: 281c |0086: goto 00a2 // +001c │ │ +01f91e: 5440 9202 |0087: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@0292 │ │ +01f922: 6e20 d600 2000 |0089: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ +01f928: 5440 9302 |008c: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0293 │ │ +01f92c: 5443 8f02 |008e: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.progressBarAnim:Landroid/view/animation/Animation; // field@028f │ │ +01f930: 6e20 d700 3000 |0090: invoke-virtual {v0, v3}, Landroid/widget/ImageButton;.startAnimation:(Landroid/view/animation/Animation;)V // method@00d7 │ │ +01f936: 5440 9302 |0093: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0293 │ │ +01f93a: 6e20 d600 1000 |0095: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ +01f940: 5440 9502 |0098: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0295 │ │ +01f944: 6e20 d600 2000 |009a: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ +01f94a: 5440 9402 |009d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0294 │ │ +01f94e: 6e20 d600 2000 |009f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00d6 │ │ +01f954: 0e00 |00a2: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=329 │ │ 0x000e line=331 │ │ 0x0013 line=332 │ │ 0x0018 line=333 │ │ 0x001d line=334 │ │ @@ -21228,17 +21228,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -0202f4: |[0202f4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.:()V │ │ -020304: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -02030a: 0e00 |0003: return-void │ │ +0202f0: |[0202f0] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.:()V │ │ +020300: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +020306: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=14 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer; │ │ │ │ #1 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;) │ │ @@ -21246,138 +21246,138 @@ │ │ type : '(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 16 │ │ ins : 2 │ │ outs : 6 │ │ insns size : 229 16-bit code units │ │ -020098: |[020098] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.deserializeImpl:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; │ │ -0200a8: 380f df00 |0000: if-eqz v15, 00df // +00df │ │ -0200ac: 6e10 6d05 0f00 |0002: invoke-virtual {v15}, Ljava/lang/String;.isEmpty:()Z // method@056d │ │ -0200b2: 0a00 |0005: move-result v0 │ │ -0200b4: 3800 0400 |0006: if-eqz v0, 000a // +0004 │ │ -0200b8: 2900 d700 |0008: goto/16 00df // +00d7 │ │ -0200bc: 1a00 3000 |000a: const-string v0, "#" // string@0030 │ │ -0200c0: 6e20 7505 0f00 |000c: invoke-virtual {v15, v0}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ -0200c6: 0a01 |000f: move-result v1 │ │ -0200c8: 1a02 0000 |0010: const-string v2, "" // string@0000 │ │ -0200cc: 3801 0c00 |0012: if-eqz v1, 001e // +000c │ │ -0200d0: 2201 e200 |0014: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e2 │ │ -0200d4: 6e30 7205 0f02 |0016: invoke-virtual {v15, v0, v2}, Ljava/lang/String;.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0572 │ │ -0200da: 0c0f |0019: move-result-object v15 │ │ -0200dc: 7020 1304 f100 |001a: invoke-direct {v1, v15}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.:(Ljava/lang/String;)V // method@0413 │ │ -0200e2: 1101 |001d: return-object v1 │ │ -0200e4: 1a00 9c0b |001e: const-string v0, "~" // string@0b9c │ │ -0200e8: 6e20 7505 0f00 |0020: invoke-virtual {v15, v0}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ -0200ee: 0a01 |0023: move-result v1 │ │ -0200f0: 1213 |0024: const/4 v3, #int 1 // #1 │ │ -0200f2: b731 |0025: xor-int/2addr v1, v3 │ │ -0200f4: 3901 0600 |0026: if-nez v1, 002c // +0006 │ │ -0200f8: 6e30 7205 0f02 |0028: invoke-virtual {v15, v0, v2}, Ljava/lang/String;.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0572 │ │ -0200fe: 0c0f |002b: move-result-object v15 │ │ -020100: 7020 cf03 fe00 |002c: invoke-direct {v14, v15}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.getIPwithoutBracer:(Ljava/lang/String;)Ljava/lang/String; // method@03cf │ │ -020106: 0c00 |002f: move-result-object v0 │ │ -020108: 1242 |0030: const/4 v2, #int 4 // #4 │ │ -02010a: 1a04 8900 |0031: const-string v4, "::" // string@0089 │ │ -02010e: 1205 |0033: const/4 v5, #int 0 // #0 │ │ -020110: 3900 0700 |0034: if-nez v0, 003b // +0007 │ │ -020114: 6e30 7405 4f02 |0036: invoke-virtual {v15, v4, v2}, Ljava/lang/String;.split:(Ljava/lang/String;I)[Ljava/lang/String; // method@0574 │ │ -02011a: 0c0f |0039: move-result-object v15 │ │ -02011c: 2822 |003a: goto 005c // +0022 │ │ -02011e: 1a06 0c05 |003b: const-string v6, "]" // string@050c │ │ -020122: 6e20 6c05 6f00 |003d: invoke-virtual {v15, v6}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@056c │ │ -020128: 0a06 |0040: move-result v6 │ │ -02012a: 6e20 7605 6f00 |0041: invoke-virtual {v15, v6}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@0576 │ │ -020130: 0c0f |0044: move-result-object v15 │ │ -020132: 6e20 7305 4f00 |0045: invoke-virtual {v15, v4}, Ljava/lang/String;.split:(Ljava/lang/String;)[Ljava/lang/String; // method@0573 │ │ -020138: 0c0f |0048: move-result-object v15 │ │ -02013a: 21f6 |0049: array-length v6, v15 │ │ -02013c: 3736 0e00 |004a: if-le v6, v3, 0058 // +000e │ │ -020140: 21f6 |004c: array-length v6, v15 │ │ -020142: 2366 a901 |004d: new-array v6, v6, [Ljava/lang/String; // type@01a9 │ │ -020146: 4d00 0605 |004f: aput-object v0, v6, v5 │ │ -02014a: 21f0 |0051: array-length v0, v15 │ │ -02014c: b130 |0052: sub-int/2addr v0, v3 │ │ -02014e: 7150 8c05 3f36 |0053: invoke-static {v15, v3, v6, v3, v0}, Ljava/lang/System;.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V // method@058c │ │ -020154: 076f |0056: move-object v15, v6 │ │ -020156: 2805 |0057: goto 005c // +0005 │ │ -020158: 233f a901 |0058: new-array v15, v3, [Ljava/lang/String; // type@01a9 │ │ -02015c: 4d00 0f05 |005a: aput-object v0, v15, v5 │ │ -020160: 21f0 |005c: array-length v0, v15 │ │ -020162: 3330 0b00 |005d: if-ne v0, v3, 0068 // +000b │ │ -020166: 2200 e300 |005f: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e3 │ │ -02016a: 460f 0f05 |0061: aget-object v15, v15, v5 │ │ -02016e: 7030 1e04 f001 |0063: invoke-direct {v0, v15, v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Z)V // method@041e │ │ -020174: 2900 7800 |0066: goto/16 00de // +0078 │ │ -020178: 21f0 |0068: array-length v0, v15 │ │ -02017a: 1226 |0069: const/4 v6, #int 2 // #2 │ │ -02017c: 3360 0c00 |006a: if-ne v0, v6, 0076 // +000c │ │ -020180: 2200 e300 |006c: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e3 │ │ -020184: 4602 0f05 |006e: aget-object v2, v15, v5 │ │ -020188: 460f 0f03 |0070: aget-object v15, v15, v3 │ │ -02018c: 7040 1d04 201f |0072: invoke-direct {v0, v2, v15, v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Ljava/lang/String;Z)V // method@041d │ │ -020192: 2869 |0075: goto 00de // +0069 │ │ -020194: 21f0 |0076: array-length v0, v15 │ │ -020196: 1237 |0077: const/4 v7, #int 3 // #3 │ │ -020198: 3370 1600 |0078: if-ne v0, v7, 008e // +0016 │ │ -02019c: 2200 e300 |007a: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e3 │ │ -0201a0: 4602 0f05 |007c: aget-object v2, v15, v5 │ │ -0201a4: 4603 0f03 |007e: aget-object v3, v15, v3 │ │ -0201a8: 460f 0f06 |0080: aget-object v15, v15, v6 │ │ -0201ac: 6e10 7a05 0f00 |0082: invoke-virtual {v15}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ -0201b2: 0c0f |0085: move-result-object v15 │ │ -0201b4: 7110 0d04 0f00 |0086: invoke-static {v15}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@040d │ │ -0201ba: 0c0f |0089: move-result-object v15 │ │ -0201bc: 7051 1c04 20f3 |008a: invoke-direct {v0, v2, v3, v15, v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Z)V // method@041c │ │ -0201c2: 2851 |008d: goto 00de // +0051 │ │ -0201c4: 21f0 |008e: array-length v0, v15 │ │ -0201c6: 3320 1d00 |008f: if-ne v0, v2, 00ac // +001d │ │ -0201ca: 2200 e300 |0091: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e3 │ │ -0201ce: 4609 0f05 |0093: aget-object v9, v15, v5 │ │ -0201d2: 460a 0f03 |0095: aget-object v10, v15, v3 │ │ -0201d6: 4602 0f06 |0097: aget-object v2, v15, v6 │ │ -0201da: 6e10 7a05 0200 |0099: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ -0201e0: 0c02 |009c: move-result-object v2 │ │ -0201e2: 7110 0d04 0200 |009d: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@040d │ │ -0201e8: 0c0b |00a0: move-result-object v11 │ │ -0201ea: 460c 0f07 |00a1: aget-object v12, v15, v7 │ │ -0201ee: 7110 2905 0100 |00a3: invoke-static {v1}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@0529 │ │ -0201f4: 0c0d |00a6: move-result-object v13 │ │ -0201f6: 0708 |00a7: move-object v8, v0 │ │ -0201f8: 7606 1b04 0800 |00a8: invoke-direct/range {v8, v9, v10, v11, v12, v13}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Ljava/lang/String;Ljava/lang/Boolean;)V // method@041b │ │ -0201fe: 2833 |00ab: goto 00de // +0033 │ │ -020200: 2200 e300 |00ac: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e3 │ │ -020204: 4605 0f05 |00ae: aget-object v5, v15, v5 │ │ -020208: 4603 0f03 |00b0: aget-object v3, v15, v3 │ │ -02020c: 4606 0f06 |00b2: aget-object v6, v15, v6 │ │ -020210: 6e10 7a05 0600 |00b4: invoke-virtual {v6}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ -020216: 0c06 |00b7: move-result-object v6 │ │ -020218: 7110 0d04 0600 |00b8: invoke-static {v6}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@040d │ │ -02021e: 0c06 |00bb: move-result-object v6 │ │ -020220: 2208 2801 |00bc: new-instance v8, Ljava/lang/StringBuilder; // type@0128 │ │ -020224: 7010 8305 0800 |00be: invoke-direct {v8}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -02022a: 4607 0f07 |00c1: aget-object v7, v15, v7 │ │ -02022e: 6e20 8905 7800 |00c3: invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -020234: 6e20 8905 4800 |00c6: invoke-virtual {v8, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02023a: 460f 0f02 |00c9: aget-object v15, v15, v2 │ │ -02023e: 6e20 8905 f800 |00cb: invoke-virtual {v8, v15}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -020244: 6e10 8b05 0800 |00ce: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02024a: 0c0f |00d1: move-result-object v15 │ │ -02024c: 7110 2905 0100 |00d2: invoke-static {v1}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@0529 │ │ -020252: 0c07 |00d5: move-result-object v7 │ │ -020254: 0701 |00d6: move-object v1, v0 │ │ -020256: 0752 |00d7: move-object v2, v5 │ │ -020258: 0764 |00d8: move-object v4, v6 │ │ -02025a: 07f5 |00d9: move-object v5, v15 │ │ -02025c: 0776 |00da: move-object v6, v7 │ │ -02025e: 7606 1b04 0100 |00db: invoke-direct/range {v1, v2, v3, v4, v5, v6}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Ljava/lang/String;Ljava/lang/Boolean;)V // method@041b │ │ -020264: 1100 |00de: return-object v0 │ │ -020266: 220f e300 |00df: new-instance v15, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e3 │ │ -02026a: 7010 1a04 0f00 |00e1: invoke-direct {v15}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:()V // method@041a │ │ -020270: 110f |00e4: return-object v15 │ │ +020094: |[020094] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.deserializeImpl:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; │ │ +0200a4: 380f df00 |0000: if-eqz v15, 00df // +00df │ │ +0200a8: 6e10 6d05 0f00 |0002: invoke-virtual {v15}, Ljava/lang/String;.isEmpty:()Z // method@056d │ │ +0200ae: 0a00 |0005: move-result v0 │ │ +0200b0: 3800 0400 |0006: if-eqz v0, 000a // +0004 │ │ +0200b4: 2900 d700 |0008: goto/16 00df // +00d7 │ │ +0200b8: 1a00 3000 |000a: const-string v0, "#" // string@0030 │ │ +0200bc: 6e20 7505 0f00 |000c: invoke-virtual {v15, v0}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ +0200c2: 0a01 |000f: move-result v1 │ │ +0200c4: 1a02 0000 |0010: const-string v2, "" // string@0000 │ │ +0200c8: 3801 0c00 |0012: if-eqz v1, 001e // +000c │ │ +0200cc: 2201 e200 |0014: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e2 │ │ +0200d0: 6e30 7205 0f02 |0016: invoke-virtual {v15, v0, v2}, Ljava/lang/String;.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0572 │ │ +0200d6: 0c0f |0019: move-result-object v15 │ │ +0200d8: 7020 1304 f100 |001a: invoke-direct {v1, v15}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.:(Ljava/lang/String;)V // method@0413 │ │ +0200de: 1101 |001d: return-object v1 │ │ +0200e0: 1a00 9c0b |001e: const-string v0, "~" // string@0b9c │ │ +0200e4: 6e20 7505 0f00 |0020: invoke-virtual {v15, v0}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ +0200ea: 0a01 |0023: move-result v1 │ │ +0200ec: 1213 |0024: const/4 v3, #int 1 // #1 │ │ +0200ee: b731 |0025: xor-int/2addr v1, v3 │ │ +0200f0: 3901 0600 |0026: if-nez v1, 002c // +0006 │ │ +0200f4: 6e30 7205 0f02 |0028: invoke-virtual {v15, v0, v2}, Ljava/lang/String;.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0572 │ │ +0200fa: 0c0f |002b: move-result-object v15 │ │ +0200fc: 7020 cf03 fe00 |002c: invoke-direct {v14, v15}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.getIPwithoutBracer:(Ljava/lang/String;)Ljava/lang/String; // method@03cf │ │ +020102: 0c00 |002f: move-result-object v0 │ │ +020104: 1242 |0030: const/4 v2, #int 4 // #4 │ │ +020106: 1a04 8900 |0031: const-string v4, "::" // string@0089 │ │ +02010a: 1205 |0033: const/4 v5, #int 0 // #0 │ │ +02010c: 3900 0700 |0034: if-nez v0, 003b // +0007 │ │ +020110: 6e30 7405 4f02 |0036: invoke-virtual {v15, v4, v2}, Ljava/lang/String;.split:(Ljava/lang/String;I)[Ljava/lang/String; // method@0574 │ │ +020116: 0c0f |0039: move-result-object v15 │ │ +020118: 2822 |003a: goto 005c // +0022 │ │ +02011a: 1a06 0c05 |003b: const-string v6, "]" // string@050c │ │ +02011e: 6e20 6c05 6f00 |003d: invoke-virtual {v15, v6}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@056c │ │ +020124: 0a06 |0040: move-result v6 │ │ +020126: 6e20 7605 6f00 |0041: invoke-virtual {v15, v6}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@0576 │ │ +02012c: 0c0f |0044: move-result-object v15 │ │ +02012e: 6e20 7305 4f00 |0045: invoke-virtual {v15, v4}, Ljava/lang/String;.split:(Ljava/lang/String;)[Ljava/lang/String; // method@0573 │ │ +020134: 0c0f |0048: move-result-object v15 │ │ +020136: 21f6 |0049: array-length v6, v15 │ │ +020138: 3736 0e00 |004a: if-le v6, v3, 0058 // +000e │ │ +02013c: 21f6 |004c: array-length v6, v15 │ │ +02013e: 2366 a901 |004d: new-array v6, v6, [Ljava/lang/String; // type@01a9 │ │ +020142: 4d00 0605 |004f: aput-object v0, v6, v5 │ │ +020146: 21f0 |0051: array-length v0, v15 │ │ +020148: b130 |0052: sub-int/2addr v0, v3 │ │ +02014a: 7150 8c05 3f36 |0053: invoke-static {v15, v3, v6, v3, v0}, Ljava/lang/System;.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V // method@058c │ │ +020150: 076f |0056: move-object v15, v6 │ │ +020152: 2805 |0057: goto 005c // +0005 │ │ +020154: 233f a901 |0058: new-array v15, v3, [Ljava/lang/String; // type@01a9 │ │ +020158: 4d00 0f05 |005a: aput-object v0, v15, v5 │ │ +02015c: 21f0 |005c: array-length v0, v15 │ │ +02015e: 3330 0b00 |005d: if-ne v0, v3, 0068 // +000b │ │ +020162: 2200 e300 |005f: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e3 │ │ +020166: 460f 0f05 |0061: aget-object v15, v15, v5 │ │ +02016a: 7030 1e04 f001 |0063: invoke-direct {v0, v15, v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Z)V // method@041e │ │ +020170: 2900 7800 |0066: goto/16 00de // +0078 │ │ +020174: 21f0 |0068: array-length v0, v15 │ │ +020176: 1226 |0069: const/4 v6, #int 2 // #2 │ │ +020178: 3360 0c00 |006a: if-ne v0, v6, 0076 // +000c │ │ +02017c: 2200 e300 |006c: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e3 │ │ +020180: 4602 0f05 |006e: aget-object v2, v15, v5 │ │ +020184: 460f 0f03 |0070: aget-object v15, v15, v3 │ │ +020188: 7040 1d04 201f |0072: invoke-direct {v0, v2, v15, v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Ljava/lang/String;Z)V // method@041d │ │ +02018e: 2869 |0075: goto 00de // +0069 │ │ +020190: 21f0 |0076: array-length v0, v15 │ │ +020192: 1237 |0077: const/4 v7, #int 3 // #3 │ │ +020194: 3370 1600 |0078: if-ne v0, v7, 008e // +0016 │ │ +020198: 2200 e300 |007a: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e3 │ │ +02019c: 4602 0f05 |007c: aget-object v2, v15, v5 │ │ +0201a0: 4603 0f03 |007e: aget-object v3, v15, v3 │ │ +0201a4: 460f 0f06 |0080: aget-object v15, v15, v6 │ │ +0201a8: 6e10 7a05 0f00 |0082: invoke-virtual {v15}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ +0201ae: 0c0f |0085: move-result-object v15 │ │ +0201b0: 7110 0d04 0f00 |0086: invoke-static {v15}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@040d │ │ +0201b6: 0c0f |0089: move-result-object v15 │ │ +0201b8: 7051 1c04 20f3 |008a: invoke-direct {v0, v2, v3, v15, v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Z)V // method@041c │ │ +0201be: 2851 |008d: goto 00de // +0051 │ │ +0201c0: 21f0 |008e: array-length v0, v15 │ │ +0201c2: 3320 1d00 |008f: if-ne v0, v2, 00ac // +001d │ │ +0201c6: 2200 e300 |0091: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e3 │ │ +0201ca: 4609 0f05 |0093: aget-object v9, v15, v5 │ │ +0201ce: 460a 0f03 |0095: aget-object v10, v15, v3 │ │ +0201d2: 4602 0f06 |0097: aget-object v2, v15, v6 │ │ +0201d6: 6e10 7a05 0200 |0099: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ +0201dc: 0c02 |009c: move-result-object v2 │ │ +0201de: 7110 0d04 0200 |009d: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@040d │ │ +0201e4: 0c0b |00a0: move-result-object v11 │ │ +0201e6: 460c 0f07 |00a1: aget-object v12, v15, v7 │ │ +0201ea: 7110 2905 0100 |00a3: invoke-static {v1}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@0529 │ │ +0201f0: 0c0d |00a6: move-result-object v13 │ │ +0201f2: 0708 |00a7: move-object v8, v0 │ │ +0201f4: 7606 1b04 0800 |00a8: invoke-direct/range {v8, v9, v10, v11, v12, v13}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Ljava/lang/String;Ljava/lang/Boolean;)V // method@041b │ │ +0201fa: 2833 |00ab: goto 00de // +0033 │ │ +0201fc: 2200 e300 |00ac: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e3 │ │ +020200: 4605 0f05 |00ae: aget-object v5, v15, v5 │ │ +020204: 4603 0f03 |00b0: aget-object v3, v15, v3 │ │ +020208: 4606 0f06 |00b2: aget-object v6, v15, v6 │ │ +02020c: 6e10 7a05 0600 |00b4: invoke-virtual {v6}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ +020212: 0c06 |00b7: move-result-object v6 │ │ +020214: 7110 0d04 0600 |00b8: invoke-static {v6}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@040d │ │ +02021a: 0c06 |00bb: move-result-object v6 │ │ +02021c: 2208 2801 |00bc: new-instance v8, Ljava/lang/StringBuilder; // type@0128 │ │ +020220: 7010 8305 0800 |00be: invoke-direct {v8}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +020226: 4607 0f07 |00c1: aget-object v7, v15, v7 │ │ +02022a: 6e20 8905 7800 |00c3: invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +020230: 6e20 8905 4800 |00c6: invoke-virtual {v8, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +020236: 460f 0f02 |00c9: aget-object v15, v15, v2 │ │ +02023a: 6e20 8905 f800 |00cb: invoke-virtual {v8, v15}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +020240: 6e10 8b05 0800 |00ce: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +020246: 0c0f |00d1: move-result-object v15 │ │ +020248: 7110 2905 0100 |00d2: invoke-static {v1}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@0529 │ │ +02024e: 0c07 |00d5: move-result-object v7 │ │ +020250: 0701 |00d6: move-object v1, v0 │ │ +020252: 0752 |00d7: move-object v2, v5 │ │ +020254: 0764 |00d8: move-object v4, v6 │ │ +020256: 07f5 |00d9: move-object v5, v15 │ │ +020258: 0776 |00da: move-object v6, v7 │ │ +02025a: 7606 1b04 0100 |00db: invoke-direct/range {v1, v2, v3, v4, v5, v6}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Ljava/lang/String;Ljava/lang/Boolean;)V // method@041b │ │ +020260: 1100 |00de: return-object v0 │ │ +020262: 220f e300 |00df: new-instance v15, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e3 │ │ +020266: 7010 1a04 0f00 |00e1: invoke-direct {v15}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:()V // method@041a │ │ +02026c: 110f |00e4: return-object v15 │ │ catches : (none) │ │ positions : │ │ 0x0002 line=20 │ │ 0x000a line=24 │ │ 0x0014 line=25 │ │ 0x001e line=29 │ │ 0x0028 line=31 │ │ @@ -21411,30 +21411,30 @@ │ │ type : '(Ljava/lang/String;)Ljava/lang/String;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 27 16-bit code units │ │ -0202ac: |[0202ac] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.getIPwithoutBracer:(Ljava/lang/String;)Ljava/lang/String; │ │ -0202bc: 1a00 ee04 |0000: const-string v0, "[" // string@04ee │ │ -0202c0: 6e20 6505 0300 |0002: invoke-virtual {v3, v0}, Ljava/lang/String;.contains:(Ljava/lang/CharSequence;)Z // method@0565 │ │ -0202c6: 0a01 |0005: move-result v1 │ │ -0202c8: 3801 1300 |0006: if-eqz v1, 0019 // +0013 │ │ -0202cc: 6e20 6c05 0300 |0008: invoke-virtual {v3, v0}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@056c │ │ -0202d2: 0a00 |000b: move-result v0 │ │ -0202d4: 1a01 0c05 |000c: const-string v1, "]" // string@050c │ │ -0202d8: 6e20 6c05 1300 |000e: invoke-virtual {v3, v1}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@056c │ │ -0202de: 0a01 |0011: move-result v1 │ │ -0202e0: d800 0001 |0012: add-int/lit8 v0, v0, #int 1 // #01 │ │ -0202e4: 6e30 7705 0301 |0014: invoke-virtual {v3, v0, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@0577 │ │ -0202ea: 0c03 |0017: move-result-object v3 │ │ -0202ec: 1103 |0018: return-object v3 │ │ -0202ee: 1203 |0019: const/4 v3, #int 0 // #0 │ │ -0202f0: 1103 |001a: return-object v3 │ │ +0202a8: |[0202a8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.getIPwithoutBracer:(Ljava/lang/String;)Ljava/lang/String; │ │ +0202b8: 1a00 ee04 |0000: const-string v0, "[" // string@04ee │ │ +0202bc: 6e20 6505 0300 |0002: invoke-virtual {v3, v0}, Ljava/lang/String;.contains:(Ljava/lang/CharSequence;)Z // method@0565 │ │ +0202c2: 0a01 |0005: move-result v1 │ │ +0202c4: 3801 1300 |0006: if-eqz v1, 0019 // +0013 │ │ +0202c8: 6e20 6c05 0300 |0008: invoke-virtual {v3, v0}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@056c │ │ +0202ce: 0a00 |000b: move-result v0 │ │ +0202d0: 1a01 0c05 |000c: const-string v1, "]" // string@050c │ │ +0202d4: 6e20 6c05 1300 |000e: invoke-virtual {v3, v1}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@056c │ │ +0202da: 0a01 |0011: move-result v1 │ │ +0202dc: d800 0001 |0012: add-int/lit8 v0, v0, #int 1 // #01 │ │ +0202e0: 6e30 7705 0301 |0014: invoke-virtual {v3, v0, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@0577 │ │ +0202e6: 0c03 |0017: move-result-object v3 │ │ +0202e8: 1103 |0018: return-object v3 │ │ +0202ea: 1203 |0019: const/4 v3, #int 0 // #0 │ │ +0202ec: 1103 |001a: return-object v3 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=90 │ │ 0x0008 line=91 │ │ 0x000c line=92 │ │ 0x0014 line=93 │ │ locals : │ │ @@ -21447,27 +21447,27 @@ │ │ type : '(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 25 16-bit code units │ │ -020044: |[020044] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.deserialize:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; │ │ -020054: 7020 cd03 4300 |0000: invoke-direct {v3, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.deserializeImpl:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // method@03cd │ │ -02005a: 0c04 |0003: move-result-object v4 │ │ -02005c: 1104 |0004: return-object v4 │ │ -02005e: 2200 e000 |0005: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/NotDeserializableException; // type@00e0 │ │ -020062: 2201 2801 |0007: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -020066: 1a02 f603 |0009: const-string v2, "Not possibly to deserialize " // string@03f6 │ │ -02006a: 7020 8405 2100 |000b: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -020070: 6e20 8905 4100 |000e: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -020076: 6e10 8b05 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02007c: 0c04 |0014: move-result-object v4 │ │ -02007e: 7020 1004 4000 |0015: invoke-direct {v0, v4}, Ldnsfilter/android/dnsserverconfig/widget/NotDeserializableException;.:(Ljava/lang/String;)V // method@0410 │ │ -020084: 2700 |0018: throw v0 │ │ +020040: |[020040] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.deserialize:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; │ │ +020050: 7020 cd03 4300 |0000: invoke-direct {v3, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.deserializeImpl:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // method@03cd │ │ +020056: 0c04 |0003: move-result-object v4 │ │ +020058: 1104 |0004: return-object v4 │ │ +02005a: 2200 e000 |0005: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/NotDeserializableException; // type@00e0 │ │ +02005e: 2201 2801 |0007: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +020062: 1a02 f603 |0009: const-string v2, "Not possibly to deserialize " // string@03f6 │ │ +020066: 7020 8405 2100 |000b: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +02006c: 6e20 8905 4100 |000e: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +020072: 6e10 8b05 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +020078: 0c04 |0014: move-result-object v4 │ │ +02007a: 7020 1004 4000 |0015: invoke-direct {v0, v4}, Ldnsfilter/android/dnsserverconfig/widget/NotDeserializableException;.:(Ljava/lang/String;)V // method@0410 │ │ +020080: 2700 |0018: throw v0 │ │ catches : 1 │ │ 0x0000 - 0x0004 │ │ Ljava/lang/RuntimeException; -> 0x0005 │ │ positions : │ │ 0x0000 line=81 │ │ 0x0005 line=83 │ │ locals : │ │ @@ -21479,21 +21479,21 @@ │ │ type : '(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 11 16-bit code units │ │ -020274: |[020274] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.deserializeSafe:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; │ │ -020284: 7020 cd03 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.deserializeImpl:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // method@03cd │ │ -02028a: 0c01 |0003: move-result-object v1 │ │ -02028c: 2806 |0004: goto 000a // +0006 │ │ -02028e: 2201 e300 |0005: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e3 │ │ -020292: 7010 1a04 0100 |0007: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:()V // method@041a │ │ -020298: 1101 |000a: return-object v1 │ │ +020270: |[020270] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.deserializeSafe:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; │ │ +020280: 7020 cd03 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.deserializeImpl:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // method@03cd │ │ +020286: 0c01 |0003: move-result-object v1 │ │ +020288: 2806 |0004: goto 000a // +0006 │ │ +02028a: 2201 e300 |0005: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e3 │ │ +02028e: 7010 1a04 0100 |0007: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:()V // method@041a │ │ +020294: 1101 |000a: return-object v1 │ │ catches : 1 │ │ 0x0000 - 0x0004 │ │ Ljava/lang/RuntimeException; -> 0x0005 │ │ positions : │ │ 0x0000 line=70 │ │ 0x0005 line=72 │ │ locals : │ │ @@ -21551,69 +21551,69 @@ │ │ type : '()[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;' │ │ access : 0x100a (PRIVATE STATIC SYNTHETIC) │ │ code - │ │ registers : 3 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 24 16-bit code units │ │ -020330: |[020330] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.$values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; │ │ -020340: 1240 |0000: const/4 v0, #int 4 // #4 │ │ -020342: 2300 a201 |0001: new-array v0, v0, [Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@01a2 │ │ -020346: 6201 a002 |0003: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.FAIL:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a0 │ │ -02034a: 1202 |0005: const/4 v2, #int 0 // #0 │ │ -02034c: 4d01 0002 |0006: aput-object v1, v0, v2 │ │ -020350: 6201 a102 |0008: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a1 │ │ -020354: 1212 |000a: const/4 v2, #int 1 // #1 │ │ -020356: 4d01 0002 |000b: aput-object v1, v0, v2 │ │ -02035a: 6201 a202 |000d: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a2 │ │ -02035e: 1222 |000f: const/4 v2, #int 2 // #2 │ │ -020360: 4d01 0002 |0010: aput-object v1, v0, v2 │ │ -020364: 6201 a302 |0012: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.SUCCESS:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a3 │ │ -020368: 1232 |0014: const/4 v2, #int 3 // #3 │ │ -02036a: 4d01 0002 |0015: aput-object v1, v0, v2 │ │ -02036e: 1100 |0017: return-object v0 │ │ +02032c: |[02032c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.$values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; │ │ +02033c: 1240 |0000: const/4 v0, #int 4 // #4 │ │ +02033e: 2300 a201 |0001: new-array v0, v0, [Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@01a2 │ │ +020342: 6201 a002 |0003: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.FAIL:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a0 │ │ +020346: 1202 |0005: const/4 v2, #int 0 // #0 │ │ +020348: 4d01 0002 |0006: aput-object v1, v0, v2 │ │ +02034c: 6201 a102 |0008: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a1 │ │ +020350: 1212 |000a: const/4 v2, #int 1 // #1 │ │ +020352: 4d01 0002 |000b: aput-object v1, v0, v2 │ │ +020356: 6201 a202 |000d: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a2 │ │ +02035a: 1222 |000f: const/4 v2, #int 2 // #2 │ │ +02035c: 4d01 0002 |0010: aput-object v1, v0, v2 │ │ +020360: 6201 a302 |0012: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.SUCCESS:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a3 │ │ +020364: 1232 |0014: const/4 v2, #int 3 // #3 │ │ +020366: 4d01 0002 |0015: aput-object v1, v0, v2 │ │ +02036a: 1100 |0017: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=3 │ │ locals : │ │ │ │ #1 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;) │ │ name : '' │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 0 │ │ outs : 3 │ │ insns size : 47 16-bit code units │ │ -020394: |[020394] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.:()V │ │ -0203a4: 2200 d400 |0000: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d4 │ │ -0203a8: 1a01 9f01 |0002: const-string v1, "FAIL" // string@019f │ │ -0203ac: 1202 |0004: const/4 v2, #int 0 // #0 │ │ -0203ae: 7030 d203 1002 |0005: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.:(Ljava/lang/String;I)V // method@03d2 │ │ -0203b4: 6900 a002 |0008: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.FAIL:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a0 │ │ -0203b8: 2200 d400 |000a: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d4 │ │ -0203bc: 1a01 e503 |000c: const-string v1, "NOT_STARTED" // string@03e5 │ │ -0203c0: 1212 |000e: const/4 v2, #int 1 // #1 │ │ -0203c2: 7030 d203 1002 |000f: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.:(Ljava/lang/String;I)V // method@03d2 │ │ -0203c8: 6900 a102 |0012: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a1 │ │ -0203cc: 2200 d400 |0014: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d4 │ │ -0203d0: 1a01 5304 |0016: const-string v1, "STARTED" // string@0453 │ │ -0203d4: 1222 |0018: const/4 v2, #int 2 // #2 │ │ -0203d6: 7030 d203 1002 |0019: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.:(Ljava/lang/String;I)V // method@03d2 │ │ -0203dc: 6900 a202 |001c: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a2 │ │ -0203e0: 2200 d400 |001e: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d4 │ │ -0203e4: 1a01 5504 |0020: const-string v1, "SUCCESS" // string@0455 │ │ -0203e8: 1232 |0022: const/4 v2, #int 3 // #3 │ │ -0203ea: 7030 d203 1002 |0023: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.:(Ljava/lang/String;I)V // method@03d2 │ │ -0203f0: 6900 a302 |0026: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.SUCCESS:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a3 │ │ -0203f4: 7100 d003 0000 |0028: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.$values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // method@03d0 │ │ -0203fa: 0c00 |002b: move-result-object v0 │ │ -0203fc: 6900 9f02 |002c: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.$VALUES:[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029f │ │ -020400: 0e00 |002e: return-void │ │ +020390: |[020390] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.:()V │ │ +0203a0: 2200 d400 |0000: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d4 │ │ +0203a4: 1a01 9f01 |0002: const-string v1, "FAIL" // string@019f │ │ +0203a8: 1202 |0004: const/4 v2, #int 0 // #0 │ │ +0203aa: 7030 d203 1002 |0005: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.:(Ljava/lang/String;I)V // method@03d2 │ │ +0203b0: 6900 a002 |0008: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.FAIL:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a0 │ │ +0203b4: 2200 d400 |000a: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d4 │ │ +0203b8: 1a01 e503 |000c: const-string v1, "NOT_STARTED" // string@03e5 │ │ +0203bc: 1212 |000e: const/4 v2, #int 1 // #1 │ │ +0203be: 7030 d203 1002 |000f: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.:(Ljava/lang/String;I)V // method@03d2 │ │ +0203c4: 6900 a102 |0012: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a1 │ │ +0203c8: 2200 d400 |0014: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d4 │ │ +0203cc: 1a01 5304 |0016: const-string v1, "STARTED" // string@0453 │ │ +0203d0: 1222 |0018: const/4 v2, #int 2 // #2 │ │ +0203d2: 7030 d203 1002 |0019: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.:(Ljava/lang/String;I)V // method@03d2 │ │ +0203d8: 6900 a202 |001c: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a2 │ │ +0203dc: 2200 d400 |001e: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d4 │ │ +0203e0: 1a01 5504 |0020: const-string v1, "SUCCESS" // string@0455 │ │ +0203e4: 1232 |0022: const/4 v2, #int 3 // #3 │ │ +0203e6: 7030 d203 1002 |0023: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.:(Ljava/lang/String;I)V // method@03d2 │ │ +0203ec: 6900 a302 |0026: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.SUCCESS:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a3 │ │ +0203f0: 7100 d003 0000 |0028: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.$values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // method@03d0 │ │ +0203f6: 0c00 |002b: move-result-object v0 │ │ +0203f8: 6900 9f02 |002c: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.$VALUES:[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029f │ │ +0203fc: 0e00 |002e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=4 │ │ 0x000a line=5 │ │ 0x0014 line=6 │ │ 0x001e line=7 │ │ 0x0028 line=3 │ │ @@ -21624,17 +21624,17 @@ │ │ type : '(Ljava/lang/String;I)V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 4 16-bit code units │ │ -020404: |[020404] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.:(Ljava/lang/String;I)V │ │ -020414: 7030 3305 1002 |0000: invoke-direct {v0, v1, v2}, Ljava/lang/Enum;.:(Ljava/lang/String;I)V // method@0533 │ │ -02041a: 0e00 |0003: return-void │ │ +020400: |[020400] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.:(Ljava/lang/String;I)V │ │ +020410: 7030 3305 1002 |0000: invoke-direct {v0, v1, v2}, Ljava/lang/Enum;.:(Ljava/lang/String;I)V // method@0533 │ │ +020416: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=3 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; │ │ 0x0000 - 0x0004 reg=1 (null) Ljava/lang/String; │ │ 0x0000 - 0x0004 reg=2 (null) I │ │ @@ -21644,20 +21644,20 @@ │ │ type : '(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 9 16-bit code units │ │ -02030c: |[02030c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; │ │ -02031c: 1c00 d400 |0000: const-class v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d4 │ │ -020320: 7120 3405 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Enum;.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum; // method@0534 │ │ -020326: 0c01 |0005: move-result-object v1 │ │ -020328: 1f01 d400 |0006: check-cast v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d4 │ │ -02032c: 1101 |0008: return-object v1 │ │ +020308: |[020308] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; │ │ +020318: 1c00 d400 |0000: const-class v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d4 │ │ +02031c: 7120 3405 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Enum;.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum; // method@0534 │ │ +020322: 0c01 |0005: move-result-object v1 │ │ +020324: 1f01 d400 |0006: check-cast v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d4 │ │ +020328: 1101 |0008: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=3 │ │ locals : │ │ 0x0000 - 0x0009 reg=1 (null) Ljava/lang/String; │ │ │ │ #4 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;) │ │ @@ -21665,20 +21665,20 @@ │ │ type : '()[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -020370: |[020370] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; │ │ -020380: 6200 9f02 |0000: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.$VALUES:[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029f │ │ -020384: 6e10 df07 0000 |0002: invoke-virtual {v0}, [Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.clone:()Ljava/lang/Object; // method@07df │ │ -02038a: 0c00 |0005: move-result-object v0 │ │ -02038c: 1f00 a201 |0006: check-cast v0, [Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@01a2 │ │ -020390: 1100 |0008: return-object v0 │ │ +02036c: |[02036c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; │ │ +02037c: 6200 9f02 |0000: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.$VALUES:[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029f │ │ +020380: 6e10 df07 0000 |0002: invoke-virtual {v0}, [Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.clone:()Ljava/lang/Object; // method@07df │ │ +020386: 0c00 |0005: move-result-object v0 │ │ +020388: 1f00 a201 |0006: check-cast v0, [Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@01a2 │ │ +02038c: 1100 |0008: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=3 │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : 349 (DNSServerConfigEntryTestState.java) │ │ @@ -21714,20 +21714,20 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -020538: |[020538] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.:()V │ │ -020548: 7010 4f05 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@054f │ │ -02054e: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -020550: 5b10 a402 |0004: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a4 │ │ -020554: 5b10 a502 |0006: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a5 │ │ -020558: 0e00 |0008: return-void │ │ +020534: |[020534] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.:()V │ │ +020544: 7010 4f05 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@054f │ │ +02054a: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +02054c: 5b10 a402 |0004: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a4 │ │ +020550: 5b10 a502 |0006: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a5 │ │ +020554: 0e00 |0008: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=27 │ │ 0x0004 line=28 │ │ 0x0006 line=29 │ │ locals : │ │ 0x0000 - 0x0009 reg=1 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; │ │ @@ -21738,52 +21738,52 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 64 16-bit code units │ │ -02041c: |[02041c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.equals:(Ljava/lang/Object;)Z │ │ -02042c: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -02042e: 3354 0300 |0001: if-ne v4, v5, 0004 // +0003 │ │ -020432: 0f00 |0003: return v0 │ │ -020434: 1201 |0004: const/4 v1, #int 0 // #0 │ │ -020436: 3805 3a00 |0005: if-eqz v5, 003f // +003a │ │ -02043a: 6e10 5105 0400 |0007: invoke-virtual {v4}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0551 │ │ -020440: 0c02 |000a: move-result-object v2 │ │ -020442: 6e10 5105 0500 |000b: invoke-virtual {v5}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0551 │ │ -020448: 0c03 |000e: move-result-object v3 │ │ -02044a: 3232 0300 |000f: if-eq v2, v3, 0012 // +0003 │ │ -02044e: 282e |0011: goto 003f // +002e │ │ -020450: 1f05 d500 |0012: check-cast v5, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00d5 │ │ -020454: 5442 a402 |0014: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a4 │ │ -020458: 3802 0600 |0016: if-eqz v2, 001c // +0006 │ │ -02045c: 5443 a502 |0018: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a5 │ │ -020460: 3803 0800 |001a: if-eqz v3, 0022 // +0008 │ │ -020464: 3802 0700 |001c: if-eqz v2, 0023 // +0007 │ │ -020468: 5443 a502 |001e: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a5 │ │ -02046c: 3903 0300 |0020: if-nez v3, 0023 // +0003 │ │ -020470: 0f01 |0022: return v1 │ │ -020472: 3902 0700 |0023: if-nez v2, 002a // +0007 │ │ -020476: 5443 a502 |0025: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a5 │ │ -02047a: 3903 0300 |0027: if-nez v3, 002a // +0003 │ │ -02047e: 0f00 |0029: return v0 │ │ -020480: 5453 a402 |002a: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a4 │ │ -020484: 6e20 6705 3200 |002c: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -02048a: 0a02 |002f: move-result v2 │ │ -02048c: 3802 0d00 |0030: if-eqz v2, 003d // +000d │ │ -020490: 5442 a502 |0032: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a5 │ │ -020494: 5455 a502 |0034: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a5 │ │ -020498: 6e20 6705 5200 |0036: invoke-virtual {v2, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -02049e: 0a05 |0039: move-result v5 │ │ -0204a0: 3805 0300 |003a: if-eqz v5, 003d // +0003 │ │ -0204a4: 2802 |003c: goto 003e // +0002 │ │ -0204a6: 1200 |003d: const/4 v0, #int 0 // #0 │ │ -0204a8: 0f00 |003e: return v0 │ │ -0204aa: 0f01 |003f: return v1 │ │ +020418: |[020418] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.equals:(Ljava/lang/Object;)Z │ │ +020428: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +02042a: 3354 0300 |0001: if-ne v4, v5, 0004 // +0003 │ │ +02042e: 0f00 |0003: return v0 │ │ +020430: 1201 |0004: const/4 v1, #int 0 // #0 │ │ +020432: 3805 3a00 |0005: if-eqz v5, 003f // +003a │ │ +020436: 6e10 5105 0400 |0007: invoke-virtual {v4}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0551 │ │ +02043c: 0c02 |000a: move-result-object v2 │ │ +02043e: 6e10 5105 0500 |000b: invoke-virtual {v5}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0551 │ │ +020444: 0c03 |000e: move-result-object v3 │ │ +020446: 3232 0300 |000f: if-eq v2, v3, 0012 // +0003 │ │ +02044a: 282e |0011: goto 003f // +002e │ │ +02044c: 1f05 d500 |0012: check-cast v5, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00d5 │ │ +020450: 5442 a402 |0014: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a4 │ │ +020454: 3802 0600 |0016: if-eqz v2, 001c // +0006 │ │ +020458: 5443 a502 |0018: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a5 │ │ +02045c: 3803 0800 |001a: if-eqz v3, 0022 // +0008 │ │ +020460: 3802 0700 |001c: if-eqz v2, 0023 // +0007 │ │ +020464: 5443 a502 |001e: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a5 │ │ +020468: 3903 0300 |0020: if-nez v3, 0023 // +0003 │ │ +02046c: 0f01 |0022: return v1 │ │ +02046e: 3902 0700 |0023: if-nez v2, 002a // +0007 │ │ +020472: 5443 a502 |0025: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a5 │ │ +020476: 3903 0300 |0027: if-nez v3, 002a // +0003 │ │ +02047a: 0f00 |0029: return v0 │ │ +02047c: 5453 a402 |002a: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a4 │ │ +020480: 6e20 6705 3200 |002c: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +020486: 0a02 |002f: move-result v2 │ │ +020488: 3802 0d00 |0030: if-eqz v2, 003d // +000d │ │ +02048c: 5442 a502 |0032: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a5 │ │ +020490: 5455 a502 |0034: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a5 │ │ +020494: 6e20 6705 5200 |0036: invoke-virtual {v2, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +02049a: 0a05 |0039: move-result v5 │ │ +02049c: 3805 0300 |003a: if-eqz v5, 003d // +0003 │ │ +0204a0: 2802 |003c: goto 003e // +0002 │ │ +0204a2: 1200 |003d: const/4 v0, #int 0 // #0 │ │ +0204a4: 0f00 |003e: return v0 │ │ +0204a6: 0f01 |003f: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0007 line=35 │ │ 0x0012 line=36 │ │ 0x0014 line=38 │ │ 0x0025 line=40 │ │ 0x002a line=43 │ │ @@ -21796,17 +21796,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -020508: |[020508] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.getIpError:()Ljava/lang/String; │ │ -020518: 5410 a402 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a4 │ │ -02051c: 1100 |0002: return-object v0 │ │ +020504: |[020504] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.getIpError:()Ljava/lang/String; │ │ +020514: 5410 a402 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a4 │ │ +020518: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=12 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; │ │ │ │ #2 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;) │ │ @@ -21814,17 +21814,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -020520: |[020520] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.getPortError:()Ljava/lang/String; │ │ -020530: 5410 a502 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a5 │ │ -020534: 1100 |0002: return-object v0 │ │ +02051c: |[02051c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.getPortError:()Ljava/lang/String; │ │ +02052c: 5410 a502 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a5 │ │ +020530: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=20 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; │ │ │ │ #3 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;) │ │ @@ -21832,24 +21832,24 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 13 16-bit code units │ │ -0204ac: |[0204ac] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.hasError:()Z │ │ -0204bc: 5410 a402 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a4 │ │ -0204c0: 3900 0900 |0002: if-nez v0, 000b // +0009 │ │ -0204c4: 5410 a502 |0004: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a5 │ │ -0204c8: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ -0204cc: 2803 |0008: goto 000b // +0003 │ │ -0204ce: 1200 |0009: const/4 v0, #int 0 // #0 │ │ -0204d0: 2802 |000a: goto 000c // +0002 │ │ -0204d2: 1210 |000b: const/4 v0, #int 1 // #1 │ │ -0204d4: 0f00 |000c: return v0 │ │ +0204a8: |[0204a8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.hasError:()Z │ │ +0204b8: 5410 a402 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a4 │ │ +0204bc: 3900 0900 |0002: if-nez v0, 000b // +0009 │ │ +0204c0: 5410 a502 |0004: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a5 │ │ +0204c4: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ +0204c8: 2803 |0008: goto 000b // +0003 │ │ +0204ca: 1200 |0009: const/4 v0, #int 0 // #0 │ │ +0204cc: 2802 |000a: goto 000c // +0002 │ │ +0204ce: 1210 |000b: const/4 v0, #int 1 // #1 │ │ +0204d0: 0f00 |000c: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=9 │ │ locals : │ │ 0x0000 - 0x000d reg=1 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; │ │ │ │ #4 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;) │ │ @@ -21857,24 +21857,24 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 16 16-bit code units │ │ -0204d8: |[0204d8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.hashCode:()I │ │ -0204e8: 5420 a402 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a4 │ │ -0204ec: 6e10 6a05 0000 |0002: invoke-virtual {v0}, Ljava/lang/String;.hashCode:()I // method@056a │ │ -0204f2: 0a00 |0005: move-result v0 │ │ -0204f4: da00 001f |0006: mul-int/lit8 v0, v0, #int 31 // #1f │ │ -0204f8: 5421 a502 |0008: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a5 │ │ -0204fc: 6e10 6a05 0100 |000a: invoke-virtual {v1}, Ljava/lang/String;.hashCode:()I // method@056a │ │ -020502: 0a01 |000d: move-result v1 │ │ -020504: b010 |000e: add-int/2addr v0, v1 │ │ -020506: 0f00 |000f: return v0 │ │ +0204d4: |[0204d4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.hashCode:()I │ │ +0204e4: 5420 a402 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a4 │ │ +0204e8: 6e10 6a05 0000 |0002: invoke-virtual {v0}, Ljava/lang/String;.hashCode:()I // method@056a │ │ +0204ee: 0a00 |0005: move-result v0 │ │ +0204f0: da00 001f |0006: mul-int/lit8 v0, v0, #int 31 // #1f │ │ +0204f4: 5421 a502 |0008: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a5 │ │ +0204f8: 6e10 6a05 0100 |000a: invoke-virtual {v1}, Ljava/lang/String;.hashCode:()I // method@056a │ │ +0204fe: 0a01 |000d: move-result v1 │ │ +020500: b010 |000e: add-int/2addr v0, v1 │ │ +020502: 0f00 |000f: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=48 │ │ locals : │ │ 0x0000 - 0x0010 reg=2 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; │ │ │ │ #5 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;) │ │ @@ -21882,17 +21882,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02055c: |[02055c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.setIpError:(Ljava/lang/String;)V │ │ -02056c: 5b01 a402 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a4 │ │ -020570: 0e00 |0002: return-void │ │ +020558: |[020558] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.setIpError:(Ljava/lang/String;)V │ │ +020568: 5b01 a402 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a4 │ │ +02056c: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=16 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; │ │ 0x0000 - 0x0003 reg=1 (null) Ljava/lang/String; │ │ │ │ @@ -21901,17 +21901,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -020574: |[020574] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.setPortError:(Ljava/lang/String;)V │ │ -020584: 5b01 a502 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a5 │ │ -020588: 0e00 |0002: return-void │ │ +020570: |[020570] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.setPortError:(Ljava/lang/String;)V │ │ +020580: 5b01 a502 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a5 │ │ +020584: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=24 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; │ │ 0x0000 - 0x0003 reg=1 (null) Ljava/lang/String; │ │ │ │ @@ -21954,18 +21954,18 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -02058c: |[02058c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$1.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)V │ │ -02059c: 5b01 a602 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a6 │ │ -0205a0: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -0205a6: 0e00 |0005: return-void │ │ +020588: |[020588] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$1.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)V │ │ +020598: 5b01 a602 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a6 │ │ +02059c: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +0205a2: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=58 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$1; │ │ 0x0000 - 0x0006 reg=1 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; │ │ │ │ @@ -21975,26 +21975,26 @@ │ │ type : '(Landroid/widget/AdapterView;Landroid/view/View;IJ)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 6 │ │ outs : 2 │ │ insns size : 22 16-bit code units │ │ -0205a8: |[0205a8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$1.onItemSelected:(Landroid/widget/AdapterView;Landroid/view/View;IJ)V │ │ -0205b8: 5401 a602 |0000: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a6 │ │ -0205bc: 7110 ef03 0100 |0002: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@03ef │ │ -0205c2: 0c01 |0005: move-result-object v1 │ │ -0205c4: 7100 0e04 0000 |0006: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@040e │ │ -0205ca: 0c02 |0009: move-result-object v2 │ │ -0205cc: 4602 0203 |000a: aget-object v2, v2, v3 │ │ -0205d0: 5222 c502 |000c: iget v2, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.defaultPort:I // field@02c5 │ │ -0205d4: 7110 4305 0200 |000e: invoke-static {v2}, Ljava/lang/Integer;.toString:(I)Ljava/lang/String; // method@0543 │ │ -0205da: 0c02 |0011: move-result-object v2 │ │ -0205dc: 6e20 d100 2100 |0012: invoke-virtual {v1, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ -0205e2: 0e00 |0015: return-void │ │ +0205a4: |[0205a4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$1.onItemSelected:(Landroid/widget/AdapterView;Landroid/view/View;IJ)V │ │ +0205b4: 5401 a602 |0000: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a6 │ │ +0205b8: 7110 ef03 0100 |0002: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@03ef │ │ +0205be: 0c01 |0005: move-result-object v1 │ │ +0205c0: 7100 0e04 0000 |0006: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@040e │ │ +0205c6: 0c02 |0009: move-result-object v2 │ │ +0205c8: 4602 0203 |000a: aget-object v2, v2, v3 │ │ +0205cc: 5222 c502 |000c: iget v2, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.defaultPort:I // field@02c5 │ │ +0205d0: 7110 4305 0200 |000e: invoke-static {v2}, Ljava/lang/Integer;.toString:(I)Ljava/lang/String; // method@0543 │ │ +0205d6: 0c02 |0011: move-result-object v2 │ │ +0205d8: 6e20 d100 2100 |0012: invoke-virtual {v1, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ +0205de: 0e00 |0015: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=61 │ │ locals : │ │ 0x0000 - 0x0016 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$1; │ │ 0x0000 - 0x0016 reg=1 (null) Landroid/widget/AdapterView; │ │ 0x0000 - 0x0016 reg=2 (null) Landroid/view/View; │ │ @@ -22006,16 +22006,16 @@ │ │ type : '(Landroid/widget/AdapterView;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -0205e4: |[0205e4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$1.onNothingSelected:(Landroid/widget/AdapterView;)V │ │ -0205f4: 0e00 |0000: return-void │ │ +0205e0: |[0205e0] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$1.onNothingSelected:(Landroid/widget/AdapterView;)V │ │ +0205f0: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ source_file_idx : 351 (DNSServerConfigEntryView.java) │ │ │ │ Class #84 header: │ │ @@ -22061,20 +22061,20 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Z)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -0205f8: |[0205f8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$2.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Z)V │ │ -020608: 5b01 a702 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -02060c: 5b02 a802 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ -020610: 5c03 a902 |0004: iput-boolean v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$isNew:Z // field@02a9 │ │ -020614: 7010 4f05 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -02061a: 0e00 |0009: return-void │ │ +0205f4: |[0205f4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$2.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Z)V │ │ +020604: 5b01 a702 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +020608: 5b02 a802 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ +02060c: 5c03 a902 |0004: iput-boolean v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$isNew:Z // field@02a9 │ │ +020610: 7010 4f05 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +020616: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=69 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2; │ │ 0x0000 - 0x000a reg=1 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; │ │ 0x0000 - 0x000a reg=2 (null) Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ @@ -22086,31 +22086,31 @@ │ │ type : '(Landroid/content/DialogInterface;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 34 16-bit code units │ │ -02061c: |[02061c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$2.onCancel:(Landroid/content/DialogInterface;)V │ │ -02062c: 5412 a802 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ -020630: 2200 d500 |0002: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00d5 │ │ -020634: 7010 d603 0000 |0004: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.:()V // method@03d6 │ │ -02063a: 6e20 3204 0200 |0007: invoke-virtual {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setValidationResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V // method@0432 │ │ -020640: 5512 a902 |000a: iget-boolean v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$isNew:Z // field@02a9 │ │ -020644: 3802 1500 |000c: if-eqz v2, 0021 // +0015 │ │ -020648: 5412 a702 |000e: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -02064c: 7110 f003 0200 |0010: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@03f0 │ │ -020652: 0c02 |0013: move-result-object v2 │ │ -020654: 3802 0d00 |0014: if-eqz v2, 0021 // +000d │ │ -020658: 5412 a702 |0016: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -02065c: 7110 f003 0200 |0018: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@03f0 │ │ -020662: 0c02 |001b: move-result-object v2 │ │ -020664: 5410 a802 |001c: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ -020668: 7220 ed03 0200 |001e: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;.onNewCancelled:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V // method@03ed │ │ -02066e: 0e00 |0021: return-void │ │ +020618: |[020618] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$2.onCancel:(Landroid/content/DialogInterface;)V │ │ +020628: 5412 a802 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ +02062c: 2200 d500 |0002: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00d5 │ │ +020630: 7010 d603 0000 |0004: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.:()V // method@03d6 │ │ +020636: 6e20 3204 0200 |0007: invoke-virtual {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setValidationResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V // method@0432 │ │ +02063c: 5512 a902 |000a: iget-boolean v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$isNew:Z // field@02a9 │ │ +020640: 3802 1500 |000c: if-eqz v2, 0021 // +0015 │ │ +020644: 5412 a702 |000e: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +020648: 7110 f003 0200 |0010: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@03f0 │ │ +02064e: 0c02 |0013: move-result-object v2 │ │ +020650: 3802 0d00 |0014: if-eqz v2, 0021 // +000d │ │ +020654: 5412 a702 |0016: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +020658: 7110 f003 0200 |0018: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@03f0 │ │ +02065e: 0c02 |001b: move-result-object v2 │ │ +020660: 5410 a802 |001c: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ +020664: 7220 ed03 0200 |001e: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;.onNewCancelled:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V // method@03ed │ │ +02066a: 0e00 |0021: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=72 │ │ 0x000a line=73 │ │ 0x0016 line=74 │ │ locals : │ │ 0x0000 - 0x0022 reg=1 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2; │ │ @@ -22157,19 +22157,19 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -020670: |[020670] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$3.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ -020680: 5b01 aa02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ -020684: 5b02 ab02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ab │ │ -020688: 7010 4f05 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -02068e: 0e00 |0007: return-void │ │ +02066c: |[02066c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$3.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ +02067c: 5b01 aa02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ +020680: 5b02 ab02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ab │ │ +020684: 7010 4f05 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +02068a: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=79 │ │ locals : │ │ 0x0000 - 0x0008 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3; │ │ 0x0000 - 0x0008 reg=1 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; │ │ 0x0000 - 0x0008 reg=2 (null) Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ @@ -22180,119 +22180,119 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 8 │ │ ins : 2 │ │ outs : 6 │ │ insns size : 213 16-bit code units │ │ -020690: |[020690] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$3.onClick:(Landroid/view/View;)V │ │ -0206a0: 2207 e300 |0000: new-instance v7, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e3 │ │ -0206a4: 5460 aa02 |0002: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ -0206a8: 7110 f103 0000 |0004: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@03f1 │ │ -0206ae: 0c00 |0007: move-result-object v0 │ │ -0206b0: 6e10 c500 0000 |0008: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ -0206b6: 0c00 |000b: move-result-object v0 │ │ -0206b8: 6e10 5405 0000 |000c: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ -0206be: 0c01 |000f: move-result-object v1 │ │ -0206c0: 5460 aa02 |0010: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ -0206c4: 7110 ef03 0000 |0012: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@03ef │ │ -0206ca: 0c00 |0015: move-result-object v0 │ │ -0206cc: 6e10 c500 0000 |0016: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ -0206d2: 0c00 |0019: move-result-object v0 │ │ -0206d4: 6e10 5405 0000 |001a: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ -0206da: 0c02 |001d: move-result-object v2 │ │ -0206dc: 7100 0e04 0000 |001e: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@040e │ │ -0206e2: 0c00 |0021: move-result-object v0 │ │ -0206e4: 5463 aa02 |0022: iget-object v3, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ -0206e8: 7110 f203 0300 |0024: invoke-static {v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/Spinner; // method@03f2 │ │ -0206ee: 0c03 |0027: move-result-object v3 │ │ -0206f0: 6e10 e100 0300 |0028: invoke-virtual {v3}, Landroid/widget/Spinner;.getSelectedItemPosition:()I // method@00e1 │ │ -0206f6: 0a03 |002b: move-result v3 │ │ -0206f8: 4603 0003 |002c: aget-object v3, v0, v3 │ │ -0206fc: 5460 aa02 |002e: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ -020700: 7110 f303 0000 |0030: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@03f3 │ │ -020706: 0c00 |0033: move-result-object v0 │ │ -020708: 6e10 c500 0000 |0034: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ -02070e: 0c00 |0037: move-result-object v0 │ │ -020710: 6e10 5405 0000 |0038: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ -020716: 0c04 |003b: move-result-object v4 │ │ -020718: 1210 |003c: const/4 v0, #int 1 // #1 │ │ -02071a: 7110 2905 0000 |003d: invoke-static {v0}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@0529 │ │ -020720: 0c05 |0040: move-result-object v5 │ │ -020722: 0770 |0041: move-object v0, v7 │ │ -020724: 7606 1b04 0000 |0042: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Ljava/lang/String;Ljava/lang/Boolean;)V // method@041b │ │ -02072a: 5460 ab02 |0045: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ab │ │ -02072e: 5461 aa02 |0047: iget-object v1, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ -020732: 7110 f403 0100 |0049: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; // method@03f4 │ │ -020738: 0c01 |004c: move-result-object v1 │ │ -02073a: 6e20 9403 7100 |004d: invoke-virtual {v1, v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.validate:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // method@0394 │ │ -020740: 0c07 |0050: move-result-object v7 │ │ -020742: 6e20 3204 7000 |0051: invoke-virtual {v0, v7}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setValidationResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V // method@0432 │ │ -020748: 5467 ab02 |0054: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ab │ │ -02074c: 6e10 2a04 0700 |0056: invoke-virtual {v7}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getValidationResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // method@042a │ │ -020752: 0c07 |0059: move-result-object v7 │ │ -020754: 6e10 da03 0700 |005a: invoke-virtual {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.hasError:()Z // method@03da │ │ -02075a: 0a07 |005d: move-result v7 │ │ -02075c: 3807 0e00 |005e: if-eqz v7, 006c // +000e │ │ -020760: 5467 aa02 |0060: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ -020764: 5460 ab02 |0062: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ab │ │ -020768: 6e10 2a04 0000 |0064: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getValidationResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // method@042a │ │ -02076e: 0c00 |0067: move-result-object v0 │ │ -020770: 7120 f503 0700 |0068: invoke-static {v7, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$600:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V // method@03f5 │ │ -020776: 2869 |006b: goto 00d4 // +0069 │ │ -020778: 5467 ab02 |006c: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ab │ │ -02077c: 5460 aa02 |006e: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ -020780: 7110 f103 0000 |0070: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@03f1 │ │ -020786: 0c00 |0073: move-result-object v0 │ │ -020788: 6e10 c500 0000 |0074: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ -02078e: 0c00 |0077: move-result-object v0 │ │ -020790: 6e10 5405 0000 |0078: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ -020796: 0c00 |007b: move-result-object v0 │ │ -020798: 6e20 2d04 0700 |007c: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setIp:(Ljava/lang/String;)V // method@042d │ │ -02079e: 5467 ab02 |007f: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ab │ │ -0207a2: 5460 aa02 |0081: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ -0207a6: 7110 ef03 0000 |0083: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@03ef │ │ -0207ac: 0c00 |0086: move-result-object v0 │ │ -0207ae: 6e10 c500 0000 |0087: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ -0207b4: 0c00 |008a: move-result-object v0 │ │ -0207b6: 6e10 5405 0000 |008b: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ -0207bc: 0c00 |008e: move-result-object v0 │ │ -0207be: 6e20 2f04 0700 |008f: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setPort:(Ljava/lang/String;)V // method@042f │ │ -0207c4: 5467 ab02 |0092: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ab │ │ -0207c8: 5460 aa02 |0094: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ -0207cc: 7110 f303 0000 |0096: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@03f3 │ │ -0207d2: 0c00 |0099: move-result-object v0 │ │ -0207d4: 6e10 c500 0000 |009a: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ -0207da: 0c00 |009d: move-result-object v0 │ │ -0207dc: 6e10 5405 0000 |009e: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ -0207e2: 0c00 |00a1: move-result-object v0 │ │ -0207e4: 6e20 2c04 0700 |00a2: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setEndpoint:(Ljava/lang/String;)V // method@042c │ │ -0207ea: 5467 ab02 |00a5: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ab │ │ -0207ee: 7100 0e04 0000 |00a7: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@040e │ │ -0207f4: 0c00 |00aa: move-result-object v0 │ │ -0207f6: 5461 aa02 |00ab: iget-object v1, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ -0207fa: 7110 f203 0100 |00ad: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/Spinner; // method@03f2 │ │ -020800: 0c01 |00b0: move-result-object v1 │ │ -020802: 6e10 e100 0100 |00b1: invoke-virtual {v1}, Landroid/widget/Spinner;.getSelectedItemPosition:()I // method@00e1 │ │ -020808: 0a01 |00b4: move-result v1 │ │ -02080a: 4600 0001 |00b5: aget-object v0, v0, v1 │ │ -02080e: 6e20 3004 0700 |00b7: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setProtocol:(Ldnsfilter/android/dnsserverconfig/widget/DNSType;)V // method@0430 │ │ -020814: 5467 aa02 |00ba: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ -020818: 7110 f003 0700 |00bc: invoke-static {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@03f0 │ │ -02081e: 0c07 |00bf: move-result-object v7 │ │ -020820: 3807 0b00 |00c0: if-eqz v7, 00cb // +000b │ │ -020824: 5467 aa02 |00c2: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ -020828: 7110 f003 0700 |00c4: invoke-static {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@03f0 │ │ -02082e: 0c07 |00c7: move-result-object v7 │ │ -020830: 7210 eb03 0700 |00c8: invoke-interface {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;.onApplyChanges:()V // method@03eb │ │ -020836: 5467 aa02 |00cb: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ -02083a: 7110 f603 0700 |00cd: invoke-static {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/app/Dialog; // method@03f6 │ │ -020840: 0c07 |00d0: move-result-object v7 │ │ -020842: 6e10 1600 0700 |00d1: invoke-virtual {v7}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ -020848: 0e00 |00d4: return-void │ │ +02068c: |[02068c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$3.onClick:(Landroid/view/View;)V │ │ +02069c: 2207 e300 |0000: new-instance v7, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e3 │ │ +0206a0: 5460 aa02 |0002: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ +0206a4: 7110 f103 0000 |0004: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@03f1 │ │ +0206aa: 0c00 |0007: move-result-object v0 │ │ +0206ac: 6e10 c500 0000 |0008: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ +0206b2: 0c00 |000b: move-result-object v0 │ │ +0206b4: 6e10 5405 0000 |000c: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ +0206ba: 0c01 |000f: move-result-object v1 │ │ +0206bc: 5460 aa02 |0010: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ +0206c0: 7110 ef03 0000 |0012: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@03ef │ │ +0206c6: 0c00 |0015: move-result-object v0 │ │ +0206c8: 6e10 c500 0000 |0016: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ +0206ce: 0c00 |0019: move-result-object v0 │ │ +0206d0: 6e10 5405 0000 |001a: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ +0206d6: 0c02 |001d: move-result-object v2 │ │ +0206d8: 7100 0e04 0000 |001e: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@040e │ │ +0206de: 0c00 |0021: move-result-object v0 │ │ +0206e0: 5463 aa02 |0022: iget-object v3, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ +0206e4: 7110 f203 0300 |0024: invoke-static {v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/Spinner; // method@03f2 │ │ +0206ea: 0c03 |0027: move-result-object v3 │ │ +0206ec: 6e10 e100 0300 |0028: invoke-virtual {v3}, Landroid/widget/Spinner;.getSelectedItemPosition:()I // method@00e1 │ │ +0206f2: 0a03 |002b: move-result v3 │ │ +0206f4: 4603 0003 |002c: aget-object v3, v0, v3 │ │ +0206f8: 5460 aa02 |002e: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ +0206fc: 7110 f303 0000 |0030: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@03f3 │ │ +020702: 0c00 |0033: move-result-object v0 │ │ +020704: 6e10 c500 0000 |0034: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ +02070a: 0c00 |0037: move-result-object v0 │ │ +02070c: 6e10 5405 0000 |0038: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ +020712: 0c04 |003b: move-result-object v4 │ │ +020714: 1210 |003c: const/4 v0, #int 1 // #1 │ │ +020716: 7110 2905 0000 |003d: invoke-static {v0}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@0529 │ │ +02071c: 0c05 |0040: move-result-object v5 │ │ +02071e: 0770 |0041: move-object v0, v7 │ │ +020720: 7606 1b04 0000 |0042: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Ljava/lang/String;Ljava/lang/Boolean;)V // method@041b │ │ +020726: 5460 ab02 |0045: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ab │ │ +02072a: 5461 aa02 |0047: iget-object v1, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ +02072e: 7110 f403 0100 |0049: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; // method@03f4 │ │ +020734: 0c01 |004c: move-result-object v1 │ │ +020736: 6e20 9403 7100 |004d: invoke-virtual {v1, v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.validate:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // method@0394 │ │ +02073c: 0c07 |0050: move-result-object v7 │ │ +02073e: 6e20 3204 7000 |0051: invoke-virtual {v0, v7}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setValidationResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V // method@0432 │ │ +020744: 5467 ab02 |0054: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ab │ │ +020748: 6e10 2a04 0700 |0056: invoke-virtual {v7}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getValidationResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // method@042a │ │ +02074e: 0c07 |0059: move-result-object v7 │ │ +020750: 6e10 da03 0700 |005a: invoke-virtual {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.hasError:()Z // method@03da │ │ +020756: 0a07 |005d: move-result v7 │ │ +020758: 3807 0e00 |005e: if-eqz v7, 006c // +000e │ │ +02075c: 5467 aa02 |0060: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ +020760: 5460 ab02 |0062: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ab │ │ +020764: 6e10 2a04 0000 |0064: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getValidationResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // method@042a │ │ +02076a: 0c00 |0067: move-result-object v0 │ │ +02076c: 7120 f503 0700 |0068: invoke-static {v7, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$600:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V // method@03f5 │ │ +020772: 2869 |006b: goto 00d4 // +0069 │ │ +020774: 5467 ab02 |006c: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ab │ │ +020778: 5460 aa02 |006e: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ +02077c: 7110 f103 0000 |0070: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@03f1 │ │ +020782: 0c00 |0073: move-result-object v0 │ │ +020784: 6e10 c500 0000 |0074: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ +02078a: 0c00 |0077: move-result-object v0 │ │ +02078c: 6e10 5405 0000 |0078: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ +020792: 0c00 |007b: move-result-object v0 │ │ +020794: 6e20 2d04 0700 |007c: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setIp:(Ljava/lang/String;)V // method@042d │ │ +02079a: 5467 ab02 |007f: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ab │ │ +02079e: 5460 aa02 |0081: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ +0207a2: 7110 ef03 0000 |0083: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@03ef │ │ +0207a8: 0c00 |0086: move-result-object v0 │ │ +0207aa: 6e10 c500 0000 |0087: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ +0207b0: 0c00 |008a: move-result-object v0 │ │ +0207b2: 6e10 5405 0000 |008b: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ +0207b8: 0c00 |008e: move-result-object v0 │ │ +0207ba: 6e20 2f04 0700 |008f: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setPort:(Ljava/lang/String;)V // method@042f │ │ +0207c0: 5467 ab02 |0092: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ab │ │ +0207c4: 5460 aa02 |0094: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ +0207c8: 7110 f303 0000 |0096: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@03f3 │ │ +0207ce: 0c00 |0099: move-result-object v0 │ │ +0207d0: 6e10 c500 0000 |009a: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ +0207d6: 0c00 |009d: move-result-object v0 │ │ +0207d8: 6e10 5405 0000 |009e: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ +0207de: 0c00 |00a1: move-result-object v0 │ │ +0207e0: 6e20 2c04 0700 |00a2: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setEndpoint:(Ljava/lang/String;)V // method@042c │ │ +0207e6: 5467 ab02 |00a5: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ab │ │ +0207ea: 7100 0e04 0000 |00a7: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@040e │ │ +0207f0: 0c00 |00aa: move-result-object v0 │ │ +0207f2: 5461 aa02 |00ab: iget-object v1, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ +0207f6: 7110 f203 0100 |00ad: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/Spinner; // method@03f2 │ │ +0207fc: 0c01 |00b0: move-result-object v1 │ │ +0207fe: 6e10 e100 0100 |00b1: invoke-virtual {v1}, Landroid/widget/Spinner;.getSelectedItemPosition:()I // method@00e1 │ │ +020804: 0a01 |00b4: move-result v1 │ │ +020806: 4600 0001 |00b5: aget-object v0, v0, v1 │ │ +02080a: 6e20 3004 0700 |00b7: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setProtocol:(Ldnsfilter/android/dnsserverconfig/widget/DNSType;)V // method@0430 │ │ +020810: 5467 aa02 |00ba: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ +020814: 7110 f003 0700 |00bc: invoke-static {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@03f0 │ │ +02081a: 0c07 |00bf: move-result-object v7 │ │ +02081c: 3807 0b00 |00c0: if-eqz v7, 00cb // +000b │ │ +020820: 5467 aa02 |00c2: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ +020824: 7110 f003 0700 |00c4: invoke-static {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@03f0 │ │ +02082a: 0c07 |00c7: move-result-object v7 │ │ +02082c: 7210 eb03 0700 |00c8: invoke-interface {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;.onApplyChanges:()V // method@03eb │ │ +020832: 5467 aa02 |00cb: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ +020836: 7110 f603 0700 |00cd: invoke-static {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/app/Dialog; // method@03f6 │ │ +02083c: 0c07 |00d0: move-result-object v7 │ │ +02083e: 6e10 1600 0700 |00d1: invoke-virtual {v7}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ +020844: 0e00 |00d4: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=82 │ │ 0x0004 line=83 │ │ 0x0012 line=84 │ │ 0x001e line=85 │ │ 0x0030 line=86 │ │ @@ -22346,18 +22346,18 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -02084c: |[02084c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$4.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)V │ │ -02085c: 5b01 ac02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02ac │ │ -020860: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -020866: 0e00 |0005: return-void │ │ +020848: |[020848] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$4.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)V │ │ +020858: 5b01 ac02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02ac │ │ +02085c: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +020862: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=104 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$4; │ │ 0x0000 - 0x0006 reg=1 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; │ │ │ │ @@ -22367,20 +22367,20 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -020868: |[020868] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$4.onClick:(Landroid/view/View;)V │ │ -020878: 5401 ac02 |0000: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02ac │ │ -02087c: 7110 f603 0100 |0002: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/app/Dialog; // method@03f6 │ │ -020882: 0c01 |0005: move-result-object v1 │ │ -020884: 6e10 1500 0100 |0006: invoke-virtual {v1}, Landroid/app/Dialog;.cancel:()V // method@0015 │ │ -02088a: 0e00 |0009: return-void │ │ +020864: |[020864] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$4.onClick:(Landroid/view/View;)V │ │ +020874: 5401 ac02 |0000: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02ac │ │ +020878: 7110 f603 0100 |0002: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/app/Dialog; // method@03f6 │ │ +02087e: 0c01 |0005: move-result-object v1 │ │ +020880: 6e10 1500 0100 |0006: invoke-virtual {v1}, Landroid/app/Dialog;.cancel:()V // method@0015 │ │ +020886: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=107 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$4; │ │ 0x0000 - 0x000a reg=1 (null) Landroid/view/View; │ │ │ │ @@ -22425,19 +22425,19 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -02088c: |[02088c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$5.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ -02089c: 5b01 ad02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02ad │ │ -0208a0: 5b02 ae02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ae │ │ -0208a4: 7010 4f05 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -0208aa: 0e00 |0007: return-void │ │ +020888: |[020888] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$5.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ +020898: 5b01 ad02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02ad │ │ +02089c: 5b02 ae02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ae │ │ +0208a0: 7010 4f05 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +0208a6: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=110 │ │ locals : │ │ 0x0000 - 0x0008 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5; │ │ 0x0000 - 0x0008 reg=1 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; │ │ 0x0000 - 0x0008 reg=2 (null) Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ @@ -22448,25 +22448,25 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 21 16-bit code units │ │ -0208ac: |[0208ac] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$5.onClick:(Landroid/view/View;)V │ │ -0208bc: 5412 ad02 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02ad │ │ -0208c0: 7110 f603 0200 |0002: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/app/Dialog; // method@03f6 │ │ -0208c6: 0c02 |0005: move-result-object v2 │ │ -0208c8: 6e10 1500 0200 |0006: invoke-virtual {v2}, Landroid/app/Dialog;.cancel:()V // method@0015 │ │ -0208ce: 5412 ad02 |0009: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02ad │ │ -0208d2: 7110 f003 0200 |000b: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@03f0 │ │ -0208d8: 0c02 |000e: move-result-object v2 │ │ -0208da: 5410 ae02 |000f: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ae │ │ -0208de: 7220 ec03 0200 |0011: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;.onDeleteItem:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V // method@03ec │ │ -0208e4: 0e00 |0014: return-void │ │ +0208a8: |[0208a8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$5.onClick:(Landroid/view/View;)V │ │ +0208b8: 5412 ad02 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02ad │ │ +0208bc: 7110 f603 0200 |0002: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/app/Dialog; // method@03f6 │ │ +0208c2: 0c02 |0005: move-result-object v2 │ │ +0208c4: 6e10 1500 0200 |0006: invoke-virtual {v2}, Landroid/app/Dialog;.cancel:()V // method@0015 │ │ +0208ca: 5412 ad02 |0009: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02ad │ │ +0208ce: 7110 f003 0200 |000b: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@03f0 │ │ +0208d4: 0c02 |000e: move-result-object v2 │ │ +0208d6: 5410 ae02 |000f: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ae │ │ +0208da: 7220 ec03 0200 |0011: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;.onDeleteItem:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V // method@03ec │ │ +0208e0: 0e00 |0014: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=113 │ │ 0x0009 line=114 │ │ locals : │ │ 0x0000 - 0x0015 reg=1 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5; │ │ 0x0000 - 0x0015 reg=2 (null) Landroid/view/View; │ │ @@ -22512,19 +22512,19 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -0208e8: |[0208e8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$6.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ -0208f8: 5b01 af02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$6;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02af │ │ -0208fc: 5b02 b002 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$6;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02b0 │ │ -020900: 7010 4f05 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -020906: 0e00 |0007: return-void │ │ +0208e4: |[0208e4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$6.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ +0208f4: 5b01 af02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$6;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02af │ │ +0208f8: 5b02 b002 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$6;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02b0 │ │ +0208fc: 7010 4f05 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +020902: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=118 │ │ locals : │ │ 0x0000 - 0x0008 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$6; │ │ 0x0000 - 0x0008 reg=1 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; │ │ 0x0000 - 0x0008 reg=2 (null) Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ @@ -22535,20 +22535,20 @@ │ │ type : '(Landroid/content/DialogInterface;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 11 16-bit code units │ │ -020908: |[020908] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$6.onDismiss:(Landroid/content/DialogInterface;)V │ │ -020918: 5412 b002 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$6;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02b0 │ │ -02091c: 2200 d500 |0002: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00d5 │ │ -020920: 7010 d603 0000 |0004: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.:()V // method@03d6 │ │ -020926: 6e20 3204 0200 |0007: invoke-virtual {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setValidationResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V // method@0432 │ │ -02092c: 0e00 |000a: return-void │ │ +020904: |[020904] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$6.onDismiss:(Landroid/content/DialogInterface;)V │ │ +020914: 5412 b002 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$6;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02b0 │ │ +020918: 2200 d500 |0002: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00d5 │ │ +02091c: 7010 d603 0000 |0004: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.:()V // method@03d6 │ │ +020922: 6e20 3204 0200 |0007: invoke-virtual {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setValidationResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V // method@0432 │ │ +020928: 0e00 |000a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=121 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$6; │ │ 0x0000 - 0x000b reg=2 (null) Landroid/content/DialogInterface; │ │ │ │ @@ -22665,70 +22665,70 @@ │ │ type : '(Landroid/content/Context;Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 7 │ │ ins : 3 │ │ outs : 4 │ │ insns size : 126 16-bit code units │ │ -0209d8: |[0209d8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.:(Landroid/content/Context;Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;)V │ │ -0209e8: 7010 4f05 0400 |0000: invoke-direct {v4}, Ljava/lang/Object;.:()V // method@054f │ │ -0209ee: 5b46 b902 |0003: iput-object v6, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.listener:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // field@02b9 │ │ -0209f2: 2206 0b00 |0005: new-instance v6, Landroid/app/Dialog; // type@000b │ │ -0209f6: 1500 097f |0007: const/high16 v0, #int 2131296256 // #7f09 │ │ -0209fa: 7030 1400 5600 |0009: invoke-direct {v6, v5, v0}, Landroid/app/Dialog;.:(Landroid/content/Context;I)V // method@0014 │ │ -020a00: 5b46 b502 |000c: iput-object v6, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b5 │ │ -020a04: 1400 0400 067f |000e: const v0, #float 1.78117e+38 // #7f060004 │ │ -020a0a: 6e20 1b00 0600 |0011: invoke-virtual {v6, v0}, Landroid/app/Dialog;.setContentView:(I)V // method@001b │ │ -020a10: 1400 2600 057f |0014: const v0, #float 1.76788e+38 // #7f050026 │ │ -020a16: 6e20 1700 0600 |0017: invoke-virtual {v6, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -020a1c: 0c00 |001a: move-result-object v0 │ │ -020a1e: 1f00 6200 |001b: check-cast v0, Landroid/widget/EditText; // type@0062 │ │ -020a22: 5b40 b602 |001d: iput-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b6 │ │ -020a26: 1400 2700 057f |001f: const v0, #float 1.76788e+38 // #7f050027 │ │ -020a2c: 6e20 1700 0600 |0022: invoke-virtual {v6, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -020a32: 0c00 |0025: move-result-object v0 │ │ -020a34: 1f00 6200 |0026: check-cast v0, Landroid/widget/EditText; // type@0062 │ │ -020a38: 5b40 b702 |0028: iput-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b7 │ │ -020a3c: 1400 2300 057f |002a: const v0, #float 1.76788e+38 // #7f050023 │ │ -020a42: 6e20 1700 0600 |002d: invoke-virtual {v6, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -020a48: 0c00 |0030: move-result-object v0 │ │ -020a4a: 1f00 6200 |0031: check-cast v0, Landroid/widget/EditText; // type@0062 │ │ -020a4e: 5b40 b402 |0033: iput-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEndpointView:Landroid/widget/EditText; // field@02b4 │ │ -020a52: 1400 2800 057f |0035: const v0, #float 1.76788e+38 // #7f050028 │ │ -020a58: 6e20 1700 0600 |0038: invoke-virtual {v6, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -020a5e: 0c00 |003b: move-result-object v0 │ │ -020a60: 1f00 6a00 |003c: check-cast v0, Landroid/widget/Spinner; // type@006a │ │ -020a64: 5b40 b802 |003e: iput-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editProtocolSpinner:Landroid/widget/Spinner; // field@02b8 │ │ -020a68: 1401 2100 057f |0040: const v1, #float 1.76788e+38 // #7f050021 │ │ -020a6e: 6e20 1700 1600 |0043: invoke-virtual {v6, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -020a74: 0c01 |0046: move-result-object v1 │ │ -020a76: 1f01 5e00 |0047: check-cast v1, Landroid/widget/Button; // type@005e │ │ -020a7a: 5b41 b102 |0049: iput-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.applyChangesButton:Landroid/widget/Button; // field@02b1 │ │ -020a7e: 1401 2200 057f |004b: const v1, #float 1.76788e+38 // #7f050022 │ │ -020a84: 6e20 1700 1600 |004e: invoke-virtual {v6, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -020a8a: 0c01 |0051: move-result-object v1 │ │ -020a8c: 1f01 5e00 |0052: check-cast v1, Landroid/widget/Button; // type@005e │ │ -020a90: 5b41 b202 |0054: iput-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.cancelChangesButton:Landroid/widget/Button; // field@02b2 │ │ -020a94: 1401 1d00 057f |0056: const v1, #float 1.76788e+38 // #7f05001d │ │ -020a9a: 6e20 1700 1600 |0059: invoke-virtual {v6, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -020aa0: 0c01 |005c: move-result-object v1 │ │ -020aa2: 1f01 5e00 |005d: check-cast v1, Landroid/widget/Button; // type@005e │ │ -020aa6: 5b41 b302 |005f: iput-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.deleteEntryButton:Landroid/widget/Button; // field@02b3 │ │ -020aaa: 2201 5d00 |0061: new-instance v1, Landroid/widget/ArrayAdapter; // type@005d │ │ -020aae: 1402 0e00 067f |0063: const v2, #float 1.78117e+38 // #7f06000e │ │ -020ab4: 7100 0e04 0000 |0066: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@040e │ │ -020aba: 0c03 |0069: move-result-object v3 │ │ -020abc: 7040 ad00 5132 |006a: invoke-direct {v1, v5, v2, v3}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;I[Ljava/lang/Object;)V // method@00ad │ │ -020ac2: 6e20 e200 1000 |006d: invoke-virtual {v0, v1}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@00e2 │ │ -020ac8: 1400 1000 087f |0070: const v0, #float 1.80775e+38 // #7f080010 │ │ -020ace: 6e20 2000 0600 |0073: invoke-virtual {v6, v0}, Landroid/app/Dialog;.setTitle:(I)V // method@0020 │ │ -020ad4: 2206 c500 |0076: new-instance v6, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; // type@00c5 │ │ -020ad8: 7020 9103 5600 |0078: invoke-direct {v6, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.:(Landroid/content/Context;)V // method@0391 │ │ -020ade: 5b46 ba02 |007b: iput-object v6, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.validator:Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; // field@02ba │ │ -020ae2: 0e00 |007d: return-void │ │ +0209d4: |[0209d4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.:(Landroid/content/Context;Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;)V │ │ +0209e4: 7010 4f05 0400 |0000: invoke-direct {v4}, Ljava/lang/Object;.:()V // method@054f │ │ +0209ea: 5b46 b902 |0003: iput-object v6, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.listener:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // field@02b9 │ │ +0209ee: 2206 0b00 |0005: new-instance v6, Landroid/app/Dialog; // type@000b │ │ +0209f2: 1500 097f |0007: const/high16 v0, #int 2131296256 // #7f09 │ │ +0209f6: 7030 1400 5600 |0009: invoke-direct {v6, v5, v0}, Landroid/app/Dialog;.:(Landroid/content/Context;I)V // method@0014 │ │ +0209fc: 5b46 b502 |000c: iput-object v6, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b5 │ │ +020a00: 1400 0400 067f |000e: const v0, #float 1.78117e+38 // #7f060004 │ │ +020a06: 6e20 1b00 0600 |0011: invoke-virtual {v6, v0}, Landroid/app/Dialog;.setContentView:(I)V // method@001b │ │ +020a0c: 1400 2600 057f |0014: const v0, #float 1.76788e+38 // #7f050026 │ │ +020a12: 6e20 1700 0600 |0017: invoke-virtual {v6, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +020a18: 0c00 |001a: move-result-object v0 │ │ +020a1a: 1f00 6200 |001b: check-cast v0, Landroid/widget/EditText; // type@0062 │ │ +020a1e: 5b40 b602 |001d: iput-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b6 │ │ +020a22: 1400 2700 057f |001f: const v0, #float 1.76788e+38 // #7f050027 │ │ +020a28: 6e20 1700 0600 |0022: invoke-virtual {v6, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +020a2e: 0c00 |0025: move-result-object v0 │ │ +020a30: 1f00 6200 |0026: check-cast v0, Landroid/widget/EditText; // type@0062 │ │ +020a34: 5b40 b702 |0028: iput-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b7 │ │ +020a38: 1400 2300 057f |002a: const v0, #float 1.76788e+38 // #7f050023 │ │ +020a3e: 6e20 1700 0600 |002d: invoke-virtual {v6, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +020a44: 0c00 |0030: move-result-object v0 │ │ +020a46: 1f00 6200 |0031: check-cast v0, Landroid/widget/EditText; // type@0062 │ │ +020a4a: 5b40 b402 |0033: iput-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEndpointView:Landroid/widget/EditText; // field@02b4 │ │ +020a4e: 1400 2800 057f |0035: const v0, #float 1.76788e+38 // #7f050028 │ │ +020a54: 6e20 1700 0600 |0038: invoke-virtual {v6, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +020a5a: 0c00 |003b: move-result-object v0 │ │ +020a5c: 1f00 6a00 |003c: check-cast v0, Landroid/widget/Spinner; // type@006a │ │ +020a60: 5b40 b802 |003e: iput-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editProtocolSpinner:Landroid/widget/Spinner; // field@02b8 │ │ +020a64: 1401 2100 057f |0040: const v1, #float 1.76788e+38 // #7f050021 │ │ +020a6a: 6e20 1700 1600 |0043: invoke-virtual {v6, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +020a70: 0c01 |0046: move-result-object v1 │ │ +020a72: 1f01 5e00 |0047: check-cast v1, Landroid/widget/Button; // type@005e │ │ +020a76: 5b41 b102 |0049: iput-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.applyChangesButton:Landroid/widget/Button; // field@02b1 │ │ +020a7a: 1401 2200 057f |004b: const v1, #float 1.76788e+38 // #7f050022 │ │ +020a80: 6e20 1700 1600 |004e: invoke-virtual {v6, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +020a86: 0c01 |0051: move-result-object v1 │ │ +020a88: 1f01 5e00 |0052: check-cast v1, Landroid/widget/Button; // type@005e │ │ +020a8c: 5b41 b202 |0054: iput-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.cancelChangesButton:Landroid/widget/Button; // field@02b2 │ │ +020a90: 1401 1d00 057f |0056: const v1, #float 1.76788e+38 // #7f05001d │ │ +020a96: 6e20 1700 1600 |0059: invoke-virtual {v6, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +020a9c: 0c01 |005c: move-result-object v1 │ │ +020a9e: 1f01 5e00 |005d: check-cast v1, Landroid/widget/Button; // type@005e │ │ +020aa2: 5b41 b302 |005f: iput-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.deleteEntryButton:Landroid/widget/Button; // field@02b3 │ │ +020aa6: 2201 5d00 |0061: new-instance v1, Landroid/widget/ArrayAdapter; // type@005d │ │ +020aaa: 1402 0e00 067f |0063: const v2, #float 1.78117e+38 // #7f06000e │ │ +020ab0: 7100 0e04 0000 |0066: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@040e │ │ +020ab6: 0c03 |0069: move-result-object v3 │ │ +020ab8: 7040 ad00 5132 |006a: invoke-direct {v1, v5, v2, v3}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;I[Ljava/lang/Object;)V // method@00ad │ │ +020abe: 6e20 e200 1000 |006d: invoke-virtual {v0, v1}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@00e2 │ │ +020ac4: 1400 1000 087f |0070: const v0, #float 1.80775e+38 // #7f080010 │ │ +020aca: 6e20 2000 0600 |0073: invoke-virtual {v6, v0}, Landroid/app/Dialog;.setTitle:(I)V // method@0020 │ │ +020ad0: 2206 c500 |0076: new-instance v6, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; // type@00c5 │ │ +020ad4: 7020 9103 5600 |0078: invoke-direct {v6, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.:(Landroid/content/Context;)V // method@0391 │ │ +020ada: 5b46 ba02 |007b: iput-object v6, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.validator:Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; // field@02ba │ │ +020ade: 0e00 |007d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=30 │ │ 0x0003 line=31 │ │ 0x0005 line=32 │ │ 0x0011 line=33 │ │ 0x0017 line=34 │ │ @@ -22753,17 +22753,17 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -020948: |[020948] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; │ │ -020958: 5400 b702 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b7 │ │ -02095c: 1100 |0002: return-object v0 │ │ +020944: |[020944] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; │ │ +020954: 5400 b702 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b7 │ │ +020958: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=16 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; │ │ │ │ #2 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;) │ │ @@ -22771,17 +22771,17 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0209c0: |[0209c0] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; │ │ -0209d0: 5400 b902 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.listener:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // field@02b9 │ │ -0209d4: 1100 |0002: return-object v0 │ │ +0209bc: |[0209bc] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; │ │ +0209cc: 5400 b902 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.listener:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // field@02b9 │ │ +0209d0: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=16 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; │ │ │ │ #3 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;) │ │ @@ -22789,17 +22789,17 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -020960: |[020960] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; │ │ -020970: 5400 b602 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b6 │ │ -020974: 1100 |0002: return-object v0 │ │ +02095c: |[02095c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; │ │ +02096c: 5400 b602 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b6 │ │ +020970: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=16 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; │ │ │ │ #4 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;) │ │ @@ -22807,17 +22807,17 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/Spinner;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -020990: |[020990] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/Spinner; │ │ -0209a0: 5400 b802 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editProtocolSpinner:Landroid/widget/Spinner; // field@02b8 │ │ -0209a4: 1100 |0002: return-object v0 │ │ +02098c: |[02098c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/Spinner; │ │ +02099c: 5400 b802 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editProtocolSpinner:Landroid/widget/Spinner; // field@02b8 │ │ +0209a0: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=16 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; │ │ │ │ #5 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;) │ │ @@ -22825,17 +22825,17 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -020978: |[020978] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; │ │ -020988: 5400 b402 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEndpointView:Landroid/widget/EditText; // field@02b4 │ │ -02098c: 1100 |0002: return-object v0 │ │ +020974: |[020974] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; │ │ +020984: 5400 b402 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEndpointView:Landroid/widget/EditText; // field@02b4 │ │ +020988: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=16 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; │ │ │ │ #6 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;) │ │ @@ -22843,17 +22843,17 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0209a8: |[0209a8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; │ │ -0209b8: 5400 ba02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.validator:Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; // field@02ba │ │ -0209bc: 1100 |0002: return-object v0 │ │ +0209a4: |[0209a4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; │ │ +0209b4: 5400 ba02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.validator:Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; // field@02ba │ │ +0209b8: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=16 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; │ │ │ │ #7 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;) │ │ @@ -22861,17 +22861,17 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -020ae4: |[020ae4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$600:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V │ │ -020af4: 7020 f703 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.setupErrors:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V // method@03f7 │ │ -020afa: 0e00 |0003: return-void │ │ +020ae0: |[020ae0] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$600:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V │ │ +020af0: 7020 f703 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.setupErrors:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V // method@03f7 │ │ +020af6: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=16 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; │ │ 0x0000 - 0x0004 reg=1 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; │ │ │ │ @@ -22880,17 +22880,17 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/app/Dialog;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -020930: |[020930] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/app/Dialog; │ │ -020940: 5400 b502 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b5 │ │ -020944: 1100 |0002: return-object v0 │ │ +02092c: |[02092c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/app/Dialog; │ │ +02093c: 5400 b502 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b5 │ │ +020940: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=16 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; │ │ │ │ #9 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;) │ │ @@ -22898,47 +22898,47 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 64 16-bit code units │ │ -020afc: |[020afc] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.setupErrors:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V │ │ -020b0c: 6e10 d803 0400 |0000: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getIpError:()Ljava/lang/String; // method@03d8 │ │ -020b12: 0c00 |0003: move-result-object v0 │ │ -020b14: 1201 |0004: const/4 v1, #int 0 // #0 │ │ -020b16: 3800 1600 |0005: if-eqz v0, 001b // +0016 │ │ -020b1a: 6e10 d803 0400 |0007: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getIpError:()Ljava/lang/String; // method@03d8 │ │ -020b20: 0c00 |000a: move-result-object v0 │ │ -020b22: 6e10 6d05 0000 |000b: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@056d │ │ -020b28: 0a00 |000e: move-result v0 │ │ -020b2a: 3900 0c00 |000f: if-nez v0, 001b // +000c │ │ -020b2e: 5430 b602 |0011: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b6 │ │ -020b32: 6e10 d803 0400 |0013: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getIpError:()Ljava/lang/String; // method@03d8 │ │ -020b38: 0c02 |0016: move-result-object v2 │ │ -020b3a: 6e20 c900 2000 |0017: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00c9 │ │ -020b40: 2806 |001a: goto 0020 // +0006 │ │ -020b42: 5430 b602 |001b: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b6 │ │ -020b46: 6e20 c900 1000 |001d: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00c9 │ │ -020b4c: 6e10 d903 0400 |0020: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getPortError:()Ljava/lang/String; // method@03d9 │ │ -020b52: 0c00 |0023: move-result-object v0 │ │ -020b54: 3800 1600 |0024: if-eqz v0, 003a // +0016 │ │ -020b58: 6e10 d903 0400 |0026: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getPortError:()Ljava/lang/String; // method@03d9 │ │ -020b5e: 0c00 |0029: move-result-object v0 │ │ -020b60: 6e10 6d05 0000 |002a: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@056d │ │ -020b66: 0a00 |002d: move-result v0 │ │ -020b68: 3900 0c00 |002e: if-nez v0, 003a // +000c │ │ -020b6c: 5430 b702 |0030: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b7 │ │ -020b70: 6e10 d903 0400 |0032: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getPortError:()Ljava/lang/String; // method@03d9 │ │ -020b76: 0c04 |0035: move-result-object v4 │ │ -020b78: 6e20 c900 4000 |0036: invoke-virtual {v0, v4}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00c9 │ │ -020b7e: 2806 |0039: goto 003f // +0006 │ │ -020b80: 5434 b702 |003a: iget-object v4, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b7 │ │ -020b84: 6e20 c900 1400 |003c: invoke-virtual {v4, v1}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00c9 │ │ -020b8a: 0e00 |003f: return-void │ │ +020af8: |[020af8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.setupErrors:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V │ │ +020b08: 6e10 d803 0400 |0000: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getIpError:()Ljava/lang/String; // method@03d8 │ │ +020b0e: 0c00 |0003: move-result-object v0 │ │ +020b10: 1201 |0004: const/4 v1, #int 0 // #0 │ │ +020b12: 3800 1600 |0005: if-eqz v0, 001b // +0016 │ │ +020b16: 6e10 d803 0400 |0007: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getIpError:()Ljava/lang/String; // method@03d8 │ │ +020b1c: 0c00 |000a: move-result-object v0 │ │ +020b1e: 6e10 6d05 0000 |000b: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@056d │ │ +020b24: 0a00 |000e: move-result v0 │ │ +020b26: 3900 0c00 |000f: if-nez v0, 001b // +000c │ │ +020b2a: 5430 b602 |0011: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b6 │ │ +020b2e: 6e10 d803 0400 |0013: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getIpError:()Ljava/lang/String; // method@03d8 │ │ +020b34: 0c02 |0016: move-result-object v2 │ │ +020b36: 6e20 c900 2000 |0017: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00c9 │ │ +020b3c: 2806 |001a: goto 0020 // +0006 │ │ +020b3e: 5430 b602 |001b: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b6 │ │ +020b42: 6e20 c900 1000 |001d: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00c9 │ │ +020b48: 6e10 d903 0400 |0020: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getPortError:()Ljava/lang/String; // method@03d9 │ │ +020b4e: 0c00 |0023: move-result-object v0 │ │ +020b50: 3800 1600 |0024: if-eqz v0, 003a // +0016 │ │ +020b54: 6e10 d903 0400 |0026: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getPortError:()Ljava/lang/String; // method@03d9 │ │ +020b5a: 0c00 |0029: move-result-object v0 │ │ +020b5c: 6e10 6d05 0000 |002a: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@056d │ │ +020b62: 0a00 |002d: move-result v0 │ │ +020b64: 3900 0c00 |002e: if-nez v0, 003a // +000c │ │ +020b68: 5430 b702 |0030: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b7 │ │ +020b6c: 6e10 d903 0400 |0032: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getPortError:()Ljava/lang/String; // method@03d9 │ │ +020b72: 0c04 |0035: move-result-object v4 │ │ +020b74: 6e20 c900 4000 |0036: invoke-virtual {v0, v4}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00c9 │ │ +020b7a: 2806 |0039: goto 003f // +0006 │ │ +020b7c: 5434 b702 |003a: iget-object v4, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b7 │ │ +020b80: 6e20 c900 1400 |003c: invoke-virtual {v4, v1}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00c9 │ │ +020b86: 0e00 |003f: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=128 │ │ 0x0011 line=129 │ │ 0x001b line=131 │ │ 0x0020 line=133 │ │ 0x0030 line=134 │ │ @@ -22953,60 +22953,60 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 4 │ │ insns size : 106 16-bit code units │ │ -020b8c: |[020b8c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.showEntry:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Z)V │ │ -020b9c: 5420 b602 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b6 │ │ -020ba0: 6e10 2404 0300 |0002: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIp:()Ljava/lang/String; // method@0424 │ │ -020ba6: 0c01 |0005: move-result-object v1 │ │ -020ba8: 6e20 d100 1000 |0006: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ -020bae: 5420 b702 |0009: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b7 │ │ -020bb2: 6e10 2704 0300 |000b: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getPort:()Ljava/lang/String; // method@0427 │ │ -020bb8: 0c01 |000e: move-result-object v1 │ │ -020bba: 6e20 d100 1000 |000f: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ -020bc0: 5420 b402 |0012: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEndpointView:Landroid/widget/EditText; // field@02b4 │ │ -020bc4: 6e10 2204 0300 |0014: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getEndpoint:()Ljava/lang/String; // method@0422 │ │ -020bca: 0c01 |0017: move-result-object v1 │ │ -020bcc: 6e20 d100 1000 |0018: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ -020bd2: 5420 b802 |001b: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editProtocolSpinner:Landroid/widget/Spinner; // field@02b8 │ │ -020bd6: 6e10 2804 0300 |001d: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getProtocol:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0428 │ │ -020bdc: 0c01 |0020: move-result-object v1 │ │ -020bde: 6e10 0b04 0100 |0021: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.ordinal:()I // method@040b │ │ -020be4: 0a01 |0024: move-result v1 │ │ -020be6: 6e20 e400 1000 |0025: invoke-virtual {v0, v1}, Landroid/widget/Spinner;.setSelection:(I)V // method@00e4 │ │ -020bec: 5420 b802 |0028: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editProtocolSpinner:Landroid/widget/Spinner; // field@02b8 │ │ -020bf0: 2201 d600 |002a: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$1; // type@00d6 │ │ -020bf4: 7020 de03 2100 |002c: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$1;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)V // method@03de │ │ -020bfa: 6e20 e300 1000 |002f: invoke-virtual {v0, v1}, Landroid/widget/Spinner;.setOnItemSelectedListener:(Landroid/widget/AdapterView$OnItemSelectedListener;)V // method@00e3 │ │ -020c00: 5420 b502 |0032: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b5 │ │ -020c04: 2201 d700 |0034: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2; // type@00d7 │ │ -020c08: 7040 e103 2143 |0036: invoke-direct {v1, v2, v3, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Z)V // method@03e1 │ │ -020c0e: 6e20 1d00 1000 |0039: invoke-virtual {v0, v1}, Landroid/app/Dialog;.setOnCancelListener:(Landroid/content/DialogInterface$OnCancelListener;)V // method@001d │ │ -020c14: 5424 b502 |003c: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b5 │ │ -020c18: 6e10 2200 0400 |003e: invoke-virtual {v4}, Landroid/app/Dialog;.show:()V // method@0022 │ │ -020c1e: 5424 b102 |0041: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.applyChangesButton:Landroid/widget/Button; // field@02b1 │ │ -020c22: 2200 d800 |0043: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3; // type@00d8 │ │ -020c26: 7030 e303 2003 |0045: invoke-direct {v0, v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V // method@03e3 │ │ -020c2c: 6e20 b000 0400 |0048: invoke-virtual {v4, v0}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ -020c32: 5424 b202 |004b: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.cancelChangesButton:Landroid/widget/Button; // field@02b2 │ │ -020c36: 2200 d900 |004d: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$4; // type@00d9 │ │ -020c3a: 7020 e503 2000 |004f: invoke-direct {v0, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$4;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)V // method@03e5 │ │ -020c40: 6e20 b000 0400 |0052: invoke-virtual {v4, v0}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ -020c46: 5424 b302 |0055: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.deleteEntryButton:Landroid/widget/Button; // field@02b3 │ │ -020c4a: 2200 da00 |0057: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5; // type@00da │ │ -020c4e: 7030 e703 2003 |0059: invoke-direct {v0, v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V // method@03e7 │ │ -020c54: 6e20 b000 0400 |005c: invoke-virtual {v4, v0}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ -020c5a: 5424 b502 |005f: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b5 │ │ -020c5e: 2200 db00 |0061: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$6; // type@00db │ │ -020c62: 7030 e903 2003 |0063: invoke-direct {v0, v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$6;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V // method@03e9 │ │ -020c68: 6e20 1e00 0400 |0066: invoke-virtual {v4, v0}, Landroid/app/Dialog;.setOnDismissListener:(Landroid/content/DialogInterface$OnDismissListener;)V // method@001e │ │ -020c6e: 0e00 |0069: return-void │ │ +020b88: |[020b88] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.showEntry:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Z)V │ │ +020b98: 5420 b602 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b6 │ │ +020b9c: 6e10 2404 0300 |0002: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIp:()Ljava/lang/String; // method@0424 │ │ +020ba2: 0c01 |0005: move-result-object v1 │ │ +020ba4: 6e20 d100 1000 |0006: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ +020baa: 5420 b702 |0009: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b7 │ │ +020bae: 6e10 2704 0300 |000b: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getPort:()Ljava/lang/String; // method@0427 │ │ +020bb4: 0c01 |000e: move-result-object v1 │ │ +020bb6: 6e20 d100 1000 |000f: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ +020bbc: 5420 b402 |0012: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEndpointView:Landroid/widget/EditText; // field@02b4 │ │ +020bc0: 6e10 2204 0300 |0014: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getEndpoint:()Ljava/lang/String; // method@0422 │ │ +020bc6: 0c01 |0017: move-result-object v1 │ │ +020bc8: 6e20 d100 1000 |0018: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ +020bce: 5420 b802 |001b: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editProtocolSpinner:Landroid/widget/Spinner; // field@02b8 │ │ +020bd2: 6e10 2804 0300 |001d: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getProtocol:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0428 │ │ +020bd8: 0c01 |0020: move-result-object v1 │ │ +020bda: 6e10 0b04 0100 |0021: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.ordinal:()I // method@040b │ │ +020be0: 0a01 |0024: move-result v1 │ │ +020be2: 6e20 e400 1000 |0025: invoke-virtual {v0, v1}, Landroid/widget/Spinner;.setSelection:(I)V // method@00e4 │ │ +020be8: 5420 b802 |0028: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editProtocolSpinner:Landroid/widget/Spinner; // field@02b8 │ │ +020bec: 2201 d600 |002a: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$1; // type@00d6 │ │ +020bf0: 7020 de03 2100 |002c: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$1;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)V // method@03de │ │ +020bf6: 6e20 e300 1000 |002f: invoke-virtual {v0, v1}, Landroid/widget/Spinner;.setOnItemSelectedListener:(Landroid/widget/AdapterView$OnItemSelectedListener;)V // method@00e3 │ │ +020bfc: 5420 b502 |0032: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b5 │ │ +020c00: 2201 d700 |0034: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2; // type@00d7 │ │ +020c04: 7040 e103 2143 |0036: invoke-direct {v1, v2, v3, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Z)V // method@03e1 │ │ +020c0a: 6e20 1d00 1000 |0039: invoke-virtual {v0, v1}, Landroid/app/Dialog;.setOnCancelListener:(Landroid/content/DialogInterface$OnCancelListener;)V // method@001d │ │ +020c10: 5424 b502 |003c: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b5 │ │ +020c14: 6e10 2200 0400 |003e: invoke-virtual {v4}, Landroid/app/Dialog;.show:()V // method@0022 │ │ +020c1a: 5424 b102 |0041: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.applyChangesButton:Landroid/widget/Button; // field@02b1 │ │ +020c1e: 2200 d800 |0043: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3; // type@00d8 │ │ +020c22: 7030 e303 2003 |0045: invoke-direct {v0, v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V // method@03e3 │ │ +020c28: 6e20 b000 0400 |0048: invoke-virtual {v4, v0}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ +020c2e: 5424 b202 |004b: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.cancelChangesButton:Landroid/widget/Button; // field@02b2 │ │ +020c32: 2200 d900 |004d: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$4; // type@00d9 │ │ +020c36: 7020 e503 2000 |004f: invoke-direct {v0, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$4;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)V // method@03e5 │ │ +020c3c: 6e20 b000 0400 |0052: invoke-virtual {v4, v0}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ +020c42: 5424 b302 |0055: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.deleteEntryButton:Landroid/widget/Button; // field@02b3 │ │ +020c46: 2200 da00 |0057: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5; // type@00da │ │ +020c4a: 7030 e703 2003 |0059: invoke-direct {v0, v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V // method@03e7 │ │ +020c50: 6e20 b000 0400 |005c: invoke-virtual {v4, v0}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ +020c56: 5424 b502 |005f: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b5 │ │ +020c5a: 2200 db00 |0061: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$6; // type@00db │ │ +020c5e: 7030 e903 2003 |0063: invoke-direct {v0, v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$6;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V // method@03e9 │ │ +020c64: 6e20 1e00 0400 |0066: invoke-virtual {v4, v0}, Landroid/app/Dialog;.setOnDismissListener:(Landroid/content/DialogInterface$OnDismissListener;)V // method@001e │ │ +020c6a: 0e00 |0069: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=54 │ │ 0x0009 line=55 │ │ 0x0012 line=56 │ │ 0x001b line=57 │ │ 0x0028 line=58 │ │ @@ -23071,38 +23071,38 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 5 16-bit code units │ │ -020dc8: |[020dc8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:()V │ │ -020dd8: 6200 a102 |0000: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a1 │ │ -020ddc: 6900 bd02 |0002: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.DEFAULT_STATE:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02bd │ │ -020de0: 0e00 |0004: return-void │ │ +020dc4: |[020dc4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:()V │ │ +020dd4: 6200 a102 |0000: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a1 │ │ +020dd8: 6900 bd02 |0002: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.DEFAULT_STATE:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02bd │ │ +020ddc: 0e00 |0004: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=5 │ │ locals : │ │ │ │ #1 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;) │ │ name : '' │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 10 16-bit code units │ │ -020de4: |[020de4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:()V │ │ -020df4: 6200 bd02 |0000: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.DEFAULT_STATE:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02bd │ │ -020df8: 1a01 0000 |0002: const-string v1, "" // string@0000 │ │ -020dfc: 1602 0000 |0004: const-wide/16 v2, #int 0 // #0 │ │ -020e00: 7053 fe03 0421 |0006: invoke-direct {v4, v0, v1, v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;Ljava/lang/String;J)V // method@03fe │ │ -020e06: 0e00 |0009: return-void │ │ +020de0: |[020de0] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:()V │ │ +020df0: 6200 bd02 |0000: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.DEFAULT_STATE:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02bd │ │ +020df4: 1a01 0000 |0002: const-string v1, "" // string@0000 │ │ +020df8: 1602 0000 |0004: const-wide/16 v2, #int 0 // #0 │ │ +020dfc: 7053 fe03 0421 |0006: invoke-direct {v4, v0, v1, v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;Ljava/lang/String;J)V // method@03fe │ │ +020e02: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=32 │ │ locals : │ │ 0x0000 - 0x000a reg=4 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; │ │ │ │ #2 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;) │ │ @@ -23110,19 +23110,19 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 5 │ │ insns size : 8 16-bit code units │ │ -020e08: |[020e08] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V │ │ -020e18: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ -020e1c: 1601 0000 |0002: const-wide/16 v1, #int 0 // #0 │ │ -020e20: 7052 fe03 4310 |0004: invoke-direct {v3, v4, v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;Ljava/lang/String;J)V // method@03fe │ │ -020e26: 0e00 |0007: return-void │ │ +020e04: |[020e04] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V │ │ +020e14: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ +020e18: 1601 0000 |0002: const-wide/16 v1, #int 0 // #0 │ │ +020e1c: 7052 fe03 4310 |0004: invoke-direct {v3, v4, v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;Ljava/lang/String;J)V // method@03fe │ │ +020e22: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=28 │ │ locals : │ │ 0x0000 - 0x0008 reg=3 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; │ │ 0x0000 - 0x0008 reg=4 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; │ │ │ │ @@ -23131,18 +23131,18 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;J)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 5 │ │ ins : 4 │ │ outs : 5 │ │ insns size : 6 16-bit code units │ │ -020e68: |[020e68] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;J)V │ │ -020e78: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ -020e7c: 7054 fe03 2130 |0002: invoke-direct {v1, v2, v0, v3, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;Ljava/lang/String;J)V // method@03fe │ │ -020e82: 0e00 |0005: return-void │ │ +020e64: |[020e64] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;J)V │ │ +020e74: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ +020e78: 7054 fe03 2130 |0002: invoke-direct {v1, v2, v0, v3, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;Ljava/lang/String;J)V // method@03fe │ │ +020e7e: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=24 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; │ │ 0x0000 - 0x0006 reg=2 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; │ │ 0x0000 - 0x0006 reg=3 (null) J │ │ @@ -23152,18 +23152,18 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;Ljava/lang/String;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 5 │ │ insns size : 6 16-bit code units │ │ -020e28: |[020e28] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;Ljava/lang/String;)V │ │ -020e38: 1600 0000 |0000: const-wide/16 v0, #int 0 // #0 │ │ -020e3c: 7051 fe03 3204 |0002: invoke-direct {v2, v3, v4, v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;Ljava/lang/String;J)V // method@03fe │ │ -020e42: 0e00 |0005: return-void │ │ +020e24: |[020e24] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;Ljava/lang/String;)V │ │ +020e34: 1600 0000 |0000: const-wide/16 v0, #int 0 // #0 │ │ +020e38: 7051 fe03 3204 |0002: invoke-direct {v2, v3, v4, v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;Ljava/lang/String;J)V // method@03fe │ │ +020e3e: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=20 │ │ locals : │ │ 0x0000 - 0x0006 reg=2 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; │ │ 0x0000 - 0x0006 reg=3 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; │ │ 0x0000 - 0x0006 reg=4 (null) Ljava/lang/String; │ │ @@ -23173,20 +23173,20 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;Ljava/lang/String;J)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 5 │ │ ins : 5 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -020e44: |[020e44] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;Ljava/lang/String;J)V │ │ -020e54: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -020e5a: 5b01 c002 |0003: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02c0 │ │ -020e5e: 5b02 be02 |0005: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02be │ │ -020e62: 5a03 bf02 |0007: iput-wide v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bf │ │ -020e66: 0e00 |0009: return-void │ │ +020e40: |[020e40] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;Ljava/lang/String;J)V │ │ +020e50: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +020e56: 5b01 c002 |0003: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02c0 │ │ +020e5a: 5b02 be02 |0005: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02be │ │ +020e5e: 5a03 bf02 |0007: iput-wide v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bf │ │ +020e62: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=13 │ │ 0x0003 line=14 │ │ 0x0005 line=15 │ │ 0x0007 line=16 │ │ locals : │ │ @@ -23200,33 +23200,33 @@ │ │ type : '(Ljava/lang/String;Ljava/lang/String;)Z' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 2 │ │ insns size : 26 16-bit code units │ │ -020c70: |[020c70] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.equalStr:(Ljava/lang/String;Ljava/lang/String;)Z │ │ -020c80: 3803 0900 |0000: if-eqz v3, 0009 // +0009 │ │ -020c84: 3804 0700 |0002: if-eqz v4, 0009 // +0007 │ │ -020c88: 6e20 6705 4300 |0004: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -020c8e: 0a03 |0007: move-result v3 │ │ -020c90: 0f03 |0008: return v3 │ │ -020c92: 1210 |0009: const/4 v0, #int 1 // #1 │ │ -020c94: 1201 |000a: const/4 v1, #int 0 // #0 │ │ -020c96: 3903 0700 |000b: if-nez v3, 0012 // +0007 │ │ -020c9a: 3904 0300 |000d: if-nez v4, 0010 // +0003 │ │ -020c9e: 2802 |000f: goto 0011 // +0002 │ │ -020ca0: 1200 |0010: const/4 v0, #int 0 // #0 │ │ -020ca2: 0f00 |0011: return v0 │ │ -020ca4: 3904 0700 |0012: if-nez v4, 0019 // +0007 │ │ -020ca8: 3903 0300 |0014: if-nez v3, 0017 // +0003 │ │ -020cac: 2802 |0016: goto 0018 // +0002 │ │ -020cae: 1200 |0017: const/4 v0, #int 0 // #0 │ │ -020cb0: 0f00 |0018: return v0 │ │ -020cb2: 0f01 |0019: return v1 │ │ +020c6c: |[020c6c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.equalStr:(Ljava/lang/String;Ljava/lang/String;)Z │ │ +020c7c: 3803 0900 |0000: if-eqz v3, 0009 // +0009 │ │ +020c80: 3804 0700 |0002: if-eqz v4, 0009 // +0007 │ │ +020c84: 6e20 6705 4300 |0004: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +020c8a: 0a03 |0007: move-result v3 │ │ +020c8c: 0f03 |0008: return v3 │ │ +020c8e: 1210 |0009: const/4 v0, #int 1 // #1 │ │ +020c90: 1201 |000a: const/4 v1, #int 0 // #0 │ │ +020c92: 3903 0700 |000b: if-nez v3, 0012 // +0007 │ │ +020c96: 3904 0300 |000d: if-nez v4, 0010 // +0003 │ │ +020c9a: 2802 |000f: goto 0011 // +0002 │ │ +020c9c: 1200 |0010: const/4 v0, #int 0 // #0 │ │ +020c9e: 0f00 |0011: return v0 │ │ +020ca0: 3904 0700 |0012: if-nez v4, 0019 // +0007 │ │ +020ca4: 3903 0300 |0014: if-nez v3, 0017 // +0003 │ │ +020ca8: 2802 |0016: goto 0018 // +0002 │ │ +020caa: 1200 |0017: const/4 v0, #int 0 // #0 │ │ +020cac: 0f00 |0018: return v0 │ │ +020cae: 0f01 |0019: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0004 line=57 │ │ locals : │ │ 0x0000 - 0x001a reg=2 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; │ │ 0x0000 - 0x001a reg=3 (null) Ljava/lang/String; │ │ 0x0000 - 0x001a reg=4 (null) Ljava/lang/String; │ │ @@ -23237,43 +23237,43 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 9 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 48 16-bit code units │ │ -020cb4: |[020cb4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.equals:(Ljava/lang/Object;)Z │ │ -020cc4: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -020cc6: 3387 0300 |0001: if-ne v7, v8, 0004 // +0003 │ │ -020cca: 0f00 |0003: return v0 │ │ -020ccc: 1201 |0004: const/4 v1, #int 0 // #0 │ │ -020cce: 3808 2a00 |0005: if-eqz v8, 002f // +002a │ │ -020cd2: 6e10 5105 0700 |0007: invoke-virtual {v7}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0551 │ │ -020cd8: 0c02 |000a: move-result-object v2 │ │ -020cda: 6e10 5105 0800 |000b: invoke-virtual {v8}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0551 │ │ -020ce0: 0c03 |000e: move-result-object v3 │ │ -020ce2: 3232 0300 |000f: if-eq v2, v3, 0012 // +0003 │ │ -020ce6: 281e |0011: goto 002f // +001e │ │ -020ce8: 1f08 de00 |0012: check-cast v8, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00de │ │ -020cec: 5372 bf02 |0014: iget-wide v2, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bf │ │ -020cf0: 5384 bf02 |0016: iget-wide v4, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bf │ │ -020cf4: 3106 0204 |0018: cmp-long v6, v2, v4 │ │ -020cf8: 3906 1300 |001a: if-nez v6, 002d // +0013 │ │ -020cfc: 5472 c002 |001c: iget-object v2, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02c0 │ │ -020d00: 5483 c002 |001e: iget-object v3, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02c0 │ │ -020d04: 3332 0d00 |0020: if-ne v2, v3, 002d // +000d │ │ -020d08: 5472 be02 |0022: iget-object v2, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02be │ │ -020d0c: 5488 be02 |0024: iget-object v8, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02be │ │ -020d10: 7030 ff03 2708 |0026: invoke-direct {v7, v2, v8}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.equalStr:(Ljava/lang/String;Ljava/lang/String;)Z // method@03ff │ │ -020d16: 0a08 |0029: move-result v8 │ │ -020d18: 3808 0300 |002a: if-eqz v8, 002d // +0003 │ │ -020d1c: 2802 |002c: goto 002e // +0002 │ │ -020d1e: 1200 |002d: const/4 v0, #int 0 // #0 │ │ -020d20: 0f00 |002e: return v0 │ │ -020d22: 0f01 |002f: return v1 │ │ +020cb0: |[020cb0] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.equals:(Ljava/lang/Object;)Z │ │ +020cc0: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +020cc2: 3387 0300 |0001: if-ne v7, v8, 0004 // +0003 │ │ +020cc6: 0f00 |0003: return v0 │ │ +020cc8: 1201 |0004: const/4 v1, #int 0 // #0 │ │ +020cca: 3808 2a00 |0005: if-eqz v8, 002f // +002a │ │ +020cce: 6e10 5105 0700 |0007: invoke-virtual {v7}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0551 │ │ +020cd4: 0c02 |000a: move-result-object v2 │ │ +020cd6: 6e10 5105 0800 |000b: invoke-virtual {v8}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0551 │ │ +020cdc: 0c03 |000e: move-result-object v3 │ │ +020cde: 3232 0300 |000f: if-eq v2, v3, 0012 // +0003 │ │ +020ce2: 281e |0011: goto 002f // +001e │ │ +020ce4: 1f08 de00 |0012: check-cast v8, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00de │ │ +020ce8: 5372 bf02 |0014: iget-wide v2, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bf │ │ +020cec: 5384 bf02 |0016: iget-wide v4, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bf │ │ +020cf0: 3106 0204 |0018: cmp-long v6, v2, v4 │ │ +020cf4: 3906 1300 |001a: if-nez v6, 002d // +0013 │ │ +020cf8: 5472 c002 |001c: iget-object v2, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02c0 │ │ +020cfc: 5483 c002 |001e: iget-object v3, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02c0 │ │ +020d00: 3332 0d00 |0020: if-ne v2, v3, 002d // +000d │ │ +020d04: 5472 be02 |0022: iget-object v2, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02be │ │ +020d08: 5488 be02 |0024: iget-object v8, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02be │ │ +020d0c: 7030 ff03 2708 |0026: invoke-direct {v7, v2, v8}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.equalStr:(Ljava/lang/String;Ljava/lang/String;)Z // method@03ff │ │ +020d12: 0a08 |0029: move-result v8 │ │ +020d14: 3808 0300 |002a: if-eqz v8, 002d // +0003 │ │ +020d18: 2802 |002c: goto 002e // +0002 │ │ +020d1a: 1200 |002d: const/4 v0, #int 0 // #0 │ │ +020d1c: 0f00 |002e: return v0 │ │ +020d1e: 0f01 |002f: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0007 line=50 │ │ 0x0012 line=51 │ │ 0x0014 line=52 │ │ locals : │ │ 0x0000 - 0x0030 reg=7 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; │ │ @@ -23284,17 +23284,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -020d98: |[020d98] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.getMessage:()Ljava/lang/String; │ │ -020da8: 5410 be02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02be │ │ -020dac: 1100 |0002: return-object v0 │ │ +020d94: |[020d94] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.getMessage:()Ljava/lang/String; │ │ +020da4: 5410 be02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02be │ │ +020da8: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=81 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; │ │ │ │ #2 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;) │ │ @@ -23302,17 +23302,17 @@ │ │ type : '()J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -020db0: |[020db0] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.getPerf:()J │ │ -020dc0: 5320 bf02 |0000: iget-wide v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bf │ │ -020dc4: 1000 |0002: return-wide v0 │ │ +020dac: |[020dac] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.getPerf:()J │ │ +020dbc: 5320 bf02 |0000: iget-wide v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bf │ │ +020dc0: 1000 |0002: return-wide v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=85 │ │ locals : │ │ 0x0000 - 0x0003 reg=2 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; │ │ │ │ #3 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;) │ │ @@ -23320,17 +23320,17 @@ │ │ type : '()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -020d24: |[020d24] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.getTestState:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; │ │ -020d34: 5410 c002 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02c0 │ │ -020d38: 1100 |0002: return-object v0 │ │ +020d20: |[020d20] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.getTestState:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; │ │ +020d30: 5410 c002 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02c0 │ │ +020d34: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=77 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; │ │ │ │ #4 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;) │ │ @@ -23338,38 +23338,38 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 38 16-bit code units │ │ -020d3c: |[020d3c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.hashCode:()I │ │ -020d4c: 5460 c002 |0000: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02c0 │ │ -020d50: 5461 be02 |0002: iget-object v1, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02be │ │ -020d54: 5362 bf02 |0004: iget-wide v2, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bf │ │ -020d58: 7120 4805 3200 |0006: invoke-static {v2, v3}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@0548 │ │ -020d5e: 0c02 |0009: move-result-object v2 │ │ -020d60: 1233 |000a: const/4 v3, #int 3 // #3 │ │ -020d62: 2334 a801 |000b: new-array v4, v3, [Ljava/lang/Object; // type@01a8 │ │ -020d66: 1205 |000d: const/4 v5, #int 0 // #0 │ │ -020d68: 4d00 0405 |000e: aput-object v0, v4, v5 │ │ -020d6c: 1210 |0010: const/4 v0, #int 1 // #1 │ │ -020d6e: 4d01 0400 |0011: aput-object v1, v4, v0 │ │ -020d72: 1220 |0013: const/4 v0, #int 2 // #2 │ │ -020d74: 4d02 0400 |0014: aput-object v2, v4, v0 │ │ -020d78: 1200 |0016: const/4 v0, #int 0 // #0 │ │ -020d7a: 3535 0e00 |0017: if-ge v5, v3, 0025 // +000e │ │ -020d7e: da00 001f |0019: mul-int/lit8 v0, v0, #int 31 // #1f │ │ -020d82: 4601 0405 |001b: aget-object v1, v4, v5 │ │ -020d86: 6e10 5205 0100 |001d: invoke-virtual {v1}, Ljava/lang/Object;.hashCode:()I // method@0552 │ │ -020d8c: 0a01 |0020: move-result v1 │ │ -020d8e: b010 |0021: add-int/2addr v0, v1 │ │ -020d90: d805 0501 |0022: add-int/lit8 v5, v5, #int 1 // #01 │ │ -020d94: 28f3 |0024: goto 0017 // -000d │ │ -020d96: 0f00 |0025: return v0 │ │ +020d38: |[020d38] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.hashCode:()I │ │ +020d48: 5460 c002 |0000: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02c0 │ │ +020d4c: 5461 be02 |0002: iget-object v1, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02be │ │ +020d50: 5362 bf02 |0004: iget-wide v2, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bf │ │ +020d54: 7120 4805 3200 |0006: invoke-static {v2, v3}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@0548 │ │ +020d5a: 0c02 |0009: move-result-object v2 │ │ +020d5c: 1233 |000a: const/4 v3, #int 3 // #3 │ │ +020d5e: 2334 a801 |000b: new-array v4, v3, [Ljava/lang/Object; // type@01a8 │ │ +020d62: 1205 |000d: const/4 v5, #int 0 // #0 │ │ +020d64: 4d00 0405 |000e: aput-object v0, v4, v5 │ │ +020d68: 1210 |0010: const/4 v0, #int 1 // #1 │ │ +020d6a: 4d01 0400 |0011: aput-object v1, v4, v0 │ │ +020d6e: 1220 |0013: const/4 v0, #int 2 // #2 │ │ +020d70: 4d02 0400 |0014: aput-object v2, v4, v0 │ │ +020d74: 1200 |0016: const/4 v0, #int 0 // #0 │ │ +020d76: 3535 0e00 |0017: if-ge v5, v3, 0025 // +000e │ │ +020d7a: da00 001f |0019: mul-int/lit8 v0, v0, #int 31 // #1f │ │ +020d7e: 4601 0405 |001b: aget-object v1, v4, v5 │ │ +020d82: 6e10 5205 0100 |001d: invoke-virtual {v1}, Ljava/lang/Object;.hashCode:()I // method@0552 │ │ +020d88: 0a01 |0020: move-result v1 │ │ +020d8a: b010 |0021: add-int/2addr v0, v1 │ │ +020d8c: d805 0501 |0022: add-int/lit8 v5, v5, #int 1 // #01 │ │ +020d90: 28f3 |0024: goto 0017 // -000d │ │ +020d92: 0f00 |0025: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=68 │ │ 0x001b line=71 │ │ locals : │ │ 0x0000 - 0x0026 reg=6 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; │ │ │ │ @@ -23378,17 +23378,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -020e84: |[020e84] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.setMessage:(Ljava/lang/String;)V │ │ -020e94: 5b01 be02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02be │ │ -020e98: 0e00 |0002: return-void │ │ +020e80: |[020e80] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.setMessage:(Ljava/lang/String;)V │ │ +020e90: 5b01 be02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02be │ │ +020e94: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=40 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; │ │ 0x0000 - 0x0003 reg=1 (null) Ljava/lang/String; │ │ │ │ @@ -23397,17 +23397,17 @@ │ │ type : '(J)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -020e9c: |[020e9c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.setPerf:(J)V │ │ -020eac: 5a01 bf02 |0000: iput-wide v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bf │ │ -020eb0: 0e00 |0002: return-void │ │ +020e98: |[020e98] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.setPerf:(J)V │ │ +020ea8: 5a01 bf02 |0000: iput-wide v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bf │ │ +020eac: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=44 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; │ │ 0x0000 - 0x0003 reg=1 (null) J │ │ │ │ @@ -23416,17 +23416,17 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -020eb4: |[020eb4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.setTestState:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V │ │ -020ec4: 5b01 c002 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02c0 │ │ -020ec8: 0e00 |0002: return-void │ │ +020eb0: |[020eb0] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.setTestState:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V │ │ +020ec0: 5b01 c002 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02c0 │ │ +020ec4: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=36 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; │ │ 0x0000 - 0x0003 reg=1 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; │ │ │ │ @@ -23481,64 +23481,64 @@ │ │ type : '()[Ldnsfilter/android/dnsserverconfig/widget/DNSType;' │ │ access : 0x100a (PRIVATE STATIC SYNTHETIC) │ │ code - │ │ registers : 3 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 19 16-bit code units │ │ -020ef0: |[020ef0] dnsfilter.android.dnsserverconfig.widget.DNSType.$values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ -020f00: 1230 |0000: const/4 v0, #int 3 // #3 │ │ -020f02: 2300 a301 |0001: new-array v0, v0, [Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@01a3 │ │ -020f06: 6201 c402 |0003: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.UDP:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c4 │ │ -020f0a: 1202 |0005: const/4 v2, #int 0 // #0 │ │ -020f0c: 4d01 0002 |0006: aput-object v1, v0, v2 │ │ -020f10: 6201 c302 |0008: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.DOT:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c3 │ │ -020f14: 1212 |000a: const/4 v2, #int 1 // #1 │ │ -020f16: 4d01 0002 |000b: aput-object v1, v0, v2 │ │ -020f1a: 6201 c202 |000d: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.DOH:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c2 │ │ -020f1e: 1222 |000f: const/4 v2, #int 2 // #2 │ │ -020f20: 4d01 0002 |0010: aput-object v1, v0, v2 │ │ -020f24: 1100 |0012: return-object v0 │ │ +020eec: |[020eec] dnsfilter.android.dnsserverconfig.widget.DNSType.$values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ +020efc: 1230 |0000: const/4 v0, #int 3 // #3 │ │ +020efe: 2300 a301 |0001: new-array v0, v0, [Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@01a3 │ │ +020f02: 6201 c402 |0003: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.UDP:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c4 │ │ +020f06: 1202 |0005: const/4 v2, #int 0 // #0 │ │ +020f08: 4d01 0002 |0006: aput-object v1, v0, v2 │ │ +020f0c: 6201 c302 |0008: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.DOT:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c3 │ │ +020f10: 1212 |000a: const/4 v2, #int 1 // #1 │ │ +020f12: 4d01 0002 |000b: aput-object v1, v0, v2 │ │ +020f16: 6201 c202 |000d: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.DOH:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c2 │ │ +020f1a: 1222 |000f: const/4 v2, #int 2 // #2 │ │ +020f1c: 4d01 0002 |0010: aput-object v1, v0, v2 │ │ +020f20: 1100 |0012: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=3 │ │ locals : │ │ │ │ #1 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSType;) │ │ name : '' │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 0 │ │ outs : 4 │ │ insns size : 43 16-bit code units │ │ -020f4c: |[020f4c] dnsfilter.android.dnsserverconfig.widget.DNSType.:()V │ │ -020f5c: 2200 df00 |0000: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00df │ │ -020f60: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -020f62: 1302 3500 |0003: const/16 v2, #int 53 // #35 │ │ -020f66: 1a03 7c04 |0005: const-string v3, "UDP" // string@047c │ │ -020f6a: 7040 0a04 3021 |0007: invoke-direct {v0, v3, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.:(Ljava/lang/String;II)V // method@040a │ │ -020f70: 6900 c402 |000a: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.UDP:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c4 │ │ -020f74: 2200 df00 |000c: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00df │ │ -020f78: 1211 |000e: const/4 v1, #int 1 // #1 │ │ -020f7a: 1302 5503 |000f: const/16 v2, #int 853 // #355 │ │ -020f7e: 1a03 6801 |0011: const-string v3, "DOT" // string@0168 │ │ -020f82: 7040 0a04 3021 |0013: invoke-direct {v0, v3, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.:(Ljava/lang/String;II)V // method@040a │ │ -020f88: 6900 c302 |0016: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.DOT:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c3 │ │ -020f8c: 2200 df00 |0018: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00df │ │ -020f90: 1221 |001a: const/4 v1, #int 2 // #2 │ │ -020f92: 1302 bb01 |001b: const/16 v2, #int 443 // #1bb │ │ -020f96: 1a03 6701 |001d: const-string v3, "DOH" // string@0167 │ │ -020f9a: 7040 0a04 3021 |001f: invoke-direct {v0, v3, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.:(Ljava/lang/String;II)V // method@040a │ │ -020fa0: 6900 c202 |0022: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.DOH:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c2 │ │ -020fa4: 7100 0804 0000 |0024: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.$values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0408 │ │ -020faa: 0c00 |0027: move-result-object v0 │ │ -020fac: 6900 c102 |0028: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.$VALUES:[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c1 │ │ -020fb0: 0e00 |002a: return-void │ │ +020f48: |[020f48] dnsfilter.android.dnsserverconfig.widget.DNSType.:()V │ │ +020f58: 2200 df00 |0000: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00df │ │ +020f5c: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +020f5e: 1302 3500 |0003: const/16 v2, #int 53 // #35 │ │ +020f62: 1a03 7c04 |0005: const-string v3, "UDP" // string@047c │ │ +020f66: 7040 0a04 3021 |0007: invoke-direct {v0, v3, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.:(Ljava/lang/String;II)V // method@040a │ │ +020f6c: 6900 c402 |000a: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.UDP:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c4 │ │ +020f70: 2200 df00 |000c: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00df │ │ +020f74: 1211 |000e: const/4 v1, #int 1 // #1 │ │ +020f76: 1302 5503 |000f: const/16 v2, #int 853 // #355 │ │ +020f7a: 1a03 6801 |0011: const-string v3, "DOT" // string@0168 │ │ +020f7e: 7040 0a04 3021 |0013: invoke-direct {v0, v3, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.:(Ljava/lang/String;II)V // method@040a │ │ +020f84: 6900 c302 |0016: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.DOT:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c3 │ │ +020f88: 2200 df00 |0018: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00df │ │ +020f8c: 1221 |001a: const/4 v1, #int 2 // #2 │ │ +020f8e: 1302 bb01 |001b: const/16 v2, #int 443 // #1bb │ │ +020f92: 1a03 6701 |001d: const-string v3, "DOH" // string@0167 │ │ +020f96: 7040 0a04 3021 |001f: invoke-direct {v0, v3, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.:(Ljava/lang/String;II)V // method@040a │ │ +020f9c: 6900 c202 |0022: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.DOH:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c2 │ │ +020fa0: 7100 0804 0000 |0024: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.$values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0408 │ │ +020fa6: 0c00 |0027: move-result-object v0 │ │ +020fa8: 6900 c102 |0028: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.$VALUES:[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c1 │ │ +020fac: 0e00 |002a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=4 │ │ 0x000c line=5 │ │ 0x0018 line=6 │ │ 0x0024 line=3 │ │ locals : │ │ @@ -23548,18 +23548,18 @@ │ │ type : '(Ljava/lang/String;II)V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 3 │ │ insns size : 6 16-bit code units │ │ -020fb4: |[020fb4] dnsfilter.android.dnsserverconfig.widget.DNSType.:(Ljava/lang/String;II)V │ │ -020fc4: 7030 3305 1002 |0000: invoke-direct {v0, v1, v2}, Ljava/lang/Enum;.:(Ljava/lang/String;I)V // method@0533 │ │ -020fca: 5903 c502 |0003: iput v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.defaultPort:I // field@02c5 │ │ -020fce: 0e00 |0005: return-void │ │ +020fb0: |[020fb0] dnsfilter.android.dnsserverconfig.widget.DNSType.:(Ljava/lang/String;II)V │ │ +020fc0: 7030 3305 1002 |0000: invoke-direct {v0, v1, v2}, Ljava/lang/Enum;.:(Ljava/lang/String;I)V // method@0533 │ │ +020fc6: 5903 c502 |0003: iput v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.defaultPort:I // field@02c5 │ │ +020fca: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=10 │ │ 0x0003 line=11 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ 0x0000 - 0x0006 reg=1 (null) Ljava/lang/String; │ │ @@ -23571,20 +23571,20 @@ │ │ type : '(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSType;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 9 16-bit code units │ │ -020ecc: |[020ecc] dnsfilter.android.dnsserverconfig.widget.DNSType.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ -020edc: 1c00 df00 |0000: const-class v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00df │ │ -020ee0: 7120 3405 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Enum;.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum; // method@0534 │ │ -020ee6: 0c01 |0005: move-result-object v1 │ │ -020ee8: 1f01 df00 |0006: check-cast v1, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00df │ │ -020eec: 1101 |0008: return-object v1 │ │ +020ec8: |[020ec8] dnsfilter.android.dnsserverconfig.widget.DNSType.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ +020ed8: 1c00 df00 |0000: const-class v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00df │ │ +020edc: 7120 3405 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Enum;.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum; // method@0534 │ │ +020ee2: 0c01 |0005: move-result-object v1 │ │ +020ee4: 1f01 df00 |0006: check-cast v1, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00df │ │ +020ee8: 1101 |0008: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=3 │ │ locals : │ │ 0x0000 - 0x0009 reg=1 (null) Ljava/lang/String; │ │ │ │ #4 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSType;) │ │ @@ -23592,20 +23592,20 @@ │ │ type : '()[Ldnsfilter/android/dnsserverconfig/widget/DNSType;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -020f28: |[020f28] dnsfilter.android.dnsserverconfig.widget.DNSType.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ -020f38: 6200 c102 |0000: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.$VALUES:[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c1 │ │ -020f3c: 6e10 e007 0000 |0002: invoke-virtual {v0}, [Ldnsfilter/android/dnsserverconfig/widget/DNSType;.clone:()Ljava/lang/Object; // method@07e0 │ │ -020f42: 0c00 |0005: move-result-object v0 │ │ -020f44: 1f00 a301 |0006: check-cast v0, [Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@01a3 │ │ -020f48: 1100 |0008: return-object v0 │ │ +020f24: |[020f24] dnsfilter.android.dnsserverconfig.widget.DNSType.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ +020f34: 6200 c102 |0000: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.$VALUES:[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c1 │ │ +020f38: 6e10 e007 0000 |0002: invoke-virtual {v0}, [Ldnsfilter/android/dnsserverconfig/widget/DNSType;.clone:()Ljava/lang/Object; // method@07e0 │ │ +020f3e: 0c00 |0005: move-result-object v0 │ │ +020f40: 1f00 a301 |0006: check-cast v0, [Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@01a3 │ │ +020f44: 1100 |0008: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=3 │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : 357 (DNSType.java) │ │ @@ -23633,17 +23633,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -020fd0: |[020fd0] dnsfilter.android.dnsserverconfig.widget.NotDeserializableException.:()V │ │ -020fe0: 7010 3505 0000 |0000: invoke-direct {v0}, Ljava/lang/Exception;.:()V // method@0535 │ │ -020fe6: 0e00 |0003: return-void │ │ +020fcc: |[020fcc] dnsfilter.android.dnsserverconfig.widget.NotDeserializableException.:()V │ │ +020fdc: 7010 3505 0000 |0000: invoke-direct {v0}, Ljava/lang/Exception;.:()V // method@0535 │ │ +020fe2: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=6 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/NotDeserializableException; │ │ │ │ #1 : (in Ldnsfilter/android/dnsserverconfig/widget/NotDeserializableException;) │ │ @@ -23651,17 +23651,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -020fe8: |[020fe8] dnsfilter.android.dnsserverconfig.widget.NotDeserializableException.:(Ljava/lang/String;)V │ │ -020ff8: 7020 3605 1000 |0000: invoke-direct {v0, v1}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@0536 │ │ -020ffe: 0e00 |0003: return-void │ │ +020fe4: |[020fe4] dnsfilter.android.dnsserverconfig.widget.NotDeserializableException.:(Ljava/lang/String;)V │ │ +020ff4: 7020 3605 1000 |0000: invoke-direct {v0, v1}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@0536 │ │ +020ffa: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=10 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/NotDeserializableException; │ │ 0x0000 - 0x0004 reg=1 (null) Ljava/lang/String; │ │ │ │ @@ -23696,17 +23696,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -021000: |[021000] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigBaseEntry.:()V │ │ -021010: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -021016: 0e00 |0003: return-void │ │ +020ffc: |[020ffc] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigBaseEntry.:()V │ │ +02100c: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +021012: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=3 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; │ │ │ │ Virtual methods - │ │ @@ -23769,86 +23769,86 @@ │ │ type : '(Ldnsfilter/remote/RemoteAccessClient;I)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 8 │ │ ins : 3 │ │ outs : 2 │ │ insns size : 145 16-bit code units │ │ -021678: |[021678] dnsfilter.remote.RemoteAccessClient$RemoteStream.:(Ldnsfilter/remote/RemoteAccessClient;I)V │ │ -021688: 1a00 8105 |0000: const-string v0, "attach │ │ +021674: |[021674] dnsfilter.remote.RemoteAccessClient$RemoteStream.:(Ldnsfilter/remote/RemoteAccessClient;I)V │ │ +021684: 1a00 8105 |0000: const-string v0, "attach │ │ " // string@0581 │ │ -02168c: 5b56 e002 |0002: iput-object v6, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02e0 │ │ -021690: 7010 4f05 0500 |0004: invoke-direct {v5}, Ljava/lang/Object;.:()V // method@054f │ │ -021696: 1201 |0007: const/4 v1, #int 0 // #0 │ │ -021698: 5c51 dd02 |0008: iput-boolean v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.stopped:Z // field@02dd │ │ -02169c: 7110 3b04 0600 |000a: invoke-static {v6}, Ldnsfilter/remote/RemoteAccessClient;.access$000:(Ldnsfilter/remote/RemoteAccessClient;)[Ljava/lang/Object; // method@043b │ │ -0216a2: 0c02 |000d: move-result-object v2 │ │ -0216a4: 1213 |000e: const/4 v3, #int 1 // #1 │ │ -0216a6: 4603 0203 |000f: aget-object v3, v2, v3 │ │ -0216aa: 1f03 3901 |0011: check-cast v3, Ljava/net/Socket; // type@0139 │ │ -0216ae: 5b53 de02 |0013: iput-object v3, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.streamCon:Ljava/net/Socket; // field@02de │ │ -0216b2: 2203 f300 |0015: new-instance v3, Ljava/io/DataInputStream; // type@00f3 │ │ -0216b6: 1224 |0017: const/4 v4, #int 2 // #2 │ │ -0216b8: 4604 0204 |0018: aget-object v4, v2, v4 │ │ -0216bc: 1f04 fc00 |001a: check-cast v4, Ljava/io/InputStream; // type@00fc │ │ -0216c0: 7020 c904 4300 |001c: invoke-direct {v3, v4}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04c9 │ │ -0216c6: 5b53 db02 |001f: iput-object v3, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02db │ │ -0216ca: 2203 f400 |0021: new-instance v3, Ljava/io/DataOutputStream; // type@00f4 │ │ -0216ce: 1234 |0023: const/4 v4, #int 3 // #3 │ │ -0216d0: 4604 0204 |0024: aget-object v4, v2, v4 │ │ -0216d4: 1f04 0001 |0026: check-cast v4, Ljava/io/OutputStream; // type@0100 │ │ -0216d8: 7020 d004 4300 |0028: invoke-direct {v3, v4}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04d0 │ │ -0216de: 5b53 dc02 |002b: iput-object v3, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02dc │ │ -0216e2: 4601 0201 |002d: aget-object v1, v2, v1 │ │ -0216e6: 1f01 1901 |002f: check-cast v1, Ljava/lang/Integer; // type@0119 │ │ -0216ea: 6e10 4005 0100 |0031: invoke-virtual {v1}, Ljava/lang/Integer;.intValue:()I // method@0540 │ │ -0216f0: 0a01 |0034: move-result v1 │ │ -0216f2: 5951 df02 |0035: iput v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.streamConId:I // field@02df │ │ -0216f6: 5451 dc02 |0037: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02dc │ │ -0216fa: 2202 2801 |0039: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -0216fe: 7020 8405 0200 |003b: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -021704: 6e20 8605 7200 |003e: invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -02170a: 1a07 0200 |0041: const-string v7, " │ │ +021688: 5b56 e002 |0002: iput-object v6, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02e0 │ │ +02168c: 7010 4f05 0500 |0004: invoke-direct {v5}, Ljava/lang/Object;.:()V // method@054f │ │ +021692: 1201 |0007: const/4 v1, #int 0 // #0 │ │ +021694: 5c51 dd02 |0008: iput-boolean v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.stopped:Z // field@02dd │ │ +021698: 7110 3b04 0600 |000a: invoke-static {v6}, Ldnsfilter/remote/RemoteAccessClient;.access$000:(Ldnsfilter/remote/RemoteAccessClient;)[Ljava/lang/Object; // method@043b │ │ +02169e: 0c02 |000d: move-result-object v2 │ │ +0216a0: 1213 |000e: const/4 v3, #int 1 // #1 │ │ +0216a2: 4603 0203 |000f: aget-object v3, v2, v3 │ │ +0216a6: 1f03 3901 |0011: check-cast v3, Ljava/net/Socket; // type@0139 │ │ +0216aa: 5b53 de02 |0013: iput-object v3, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.streamCon:Ljava/net/Socket; // field@02de │ │ +0216ae: 2203 f300 |0015: new-instance v3, Ljava/io/DataInputStream; // type@00f3 │ │ +0216b2: 1224 |0017: const/4 v4, #int 2 // #2 │ │ +0216b4: 4604 0204 |0018: aget-object v4, v2, v4 │ │ +0216b8: 1f04 fc00 |001a: check-cast v4, Ljava/io/InputStream; // type@00fc │ │ +0216bc: 7020 c904 4300 |001c: invoke-direct {v3, v4}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04c9 │ │ +0216c2: 5b53 db02 |001f: iput-object v3, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02db │ │ +0216c6: 2203 f400 |0021: new-instance v3, Ljava/io/DataOutputStream; // type@00f4 │ │ +0216ca: 1234 |0023: const/4 v4, #int 3 // #3 │ │ +0216cc: 4604 0204 |0024: aget-object v4, v2, v4 │ │ +0216d0: 1f04 0001 |0026: check-cast v4, Ljava/io/OutputStream; // type@0100 │ │ +0216d4: 7020 d004 4300 |0028: invoke-direct {v3, v4}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04d0 │ │ +0216da: 5b53 dc02 |002b: iput-object v3, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02dc │ │ +0216de: 4601 0201 |002d: aget-object v1, v2, v1 │ │ +0216e2: 1f01 1901 |002f: check-cast v1, Ljava/lang/Integer; // type@0119 │ │ +0216e6: 6e10 4005 0100 |0031: invoke-virtual {v1}, Ljava/lang/Integer;.intValue:()I // method@0540 │ │ +0216ec: 0a01 |0034: move-result v1 │ │ +0216ee: 5951 df02 |0035: iput v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.streamConId:I // field@02df │ │ +0216f2: 5451 dc02 |0037: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02dc │ │ +0216f6: 2202 2801 |0039: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +0216fa: 7020 8405 0200 |003b: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +021700: 6e20 8605 7200 |003e: invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +021706: 1a07 0200 |0041: const-string v7, " │ │ " // string@0002 │ │ -02170e: 6e20 8905 7200 |0043: invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -021714: 6e10 8b05 0200 |0046: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02171a: 0c07 |0049: move-result-object v7 │ │ -02171c: 6e10 6905 0700 |004a: invoke-virtual {v7}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -021722: 0c07 |004d: move-result-object v7 │ │ -021724: 6e20 d304 7100 |004e: invoke-virtual {v1, v7}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -02172a: 5457 dc02 |0051: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02dc │ │ -02172e: 6e10 d204 0700 |0053: invoke-virtual {v7}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -021734: 5457 db02 |0056: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02db │ │ -021738: 7110 7907 0700 |0058: invoke-static {v7}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ -02173e: 0c07 |005b: move-result-object v7 │ │ -021740: 1a00 fb03 |005c: const-string v0, "OK" // string@03fb │ │ -021744: 6e20 6705 0700 |005e: invoke-virtual {v7, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -02174a: 0a00 |0061: move-result v0 │ │ -02174c: 3800 0b00 |0062: if-eqz v0, 006d // +000b │ │ -021750: 2206 2a01 |0064: new-instance v6, Ljava/lang/Thread; // type@012a │ │ -021754: 7020 9005 5600 |0066: invoke-direct {v6, v5}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ -02175a: 6e10 9605 0600 |0069: invoke-virtual {v6}, Ljava/lang/Thread;.start:()V // method@0596 │ │ -021760: 0e00 |006c: return-void │ │ -021762: 2200 fb00 |006d: new-instance v0, Ljava/io/IOException; // type@00fb │ │ -021766: 7020 fb04 7000 |006f: invoke-direct {v0, v7}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -02176c: 2700 |0072: throw v0 │ │ -02176e: 0d07 |0073: move-exception v7 │ │ -021770: 7110 3c04 0600 |0074: invoke-static {v6}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@043c │ │ -021776: 0c00 |0077: move-result-object v0 │ │ -021778: 2201 2801 |0078: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -02177c: 1a02 3204 |007a: const-string v2, "Remote action attach Remote Stream failed! " // string@0432 │ │ -021780: 7020 8405 2100 |007c: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -021786: 6e10 fe04 0700 |007f: invoke-virtual {v7}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ -02178c: 0c02 |0082: move-result-object v2 │ │ -02178e: 6e20 8905 2100 |0083: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -021794: 6e10 8b05 0100 |0086: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02179a: 0c01 |0089: move-result-object v1 │ │ -02179c: 7220 0d07 1000 |008a: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -0217a2: 7110 3d04 0600 |008d: invoke-static {v6}, Ldnsfilter/remote/RemoteAccessClient;.access$200:(Ldnsfilter/remote/RemoteAccessClient;)V // method@043d │ │ -0217a8: 2707 |0090: throw v7 │ │ +02170a: 6e20 8905 7200 |0043: invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +021710: 6e10 8b05 0200 |0046: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +021716: 0c07 |0049: move-result-object v7 │ │ +021718: 6e10 6905 0700 |004a: invoke-virtual {v7}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +02171e: 0c07 |004d: move-result-object v7 │ │ +021720: 6e20 d304 7100 |004e: invoke-virtual {v1, v7}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +021726: 5457 dc02 |0051: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02dc │ │ +02172a: 6e10 d204 0700 |0053: invoke-virtual {v7}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +021730: 5457 db02 |0056: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02db │ │ +021734: 7110 7907 0700 |0058: invoke-static {v7}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ +02173a: 0c07 |005b: move-result-object v7 │ │ +02173c: 1a00 fb03 |005c: const-string v0, "OK" // string@03fb │ │ +021740: 6e20 6705 0700 |005e: invoke-virtual {v7, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +021746: 0a00 |0061: move-result v0 │ │ +021748: 3800 0b00 |0062: if-eqz v0, 006d // +000b │ │ +02174c: 2206 2a01 |0064: new-instance v6, Ljava/lang/Thread; // type@012a │ │ +021750: 7020 9005 5600 |0066: invoke-direct {v6, v5}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ +021756: 6e10 9605 0600 |0069: invoke-virtual {v6}, Ljava/lang/Thread;.start:()V // method@0596 │ │ +02175c: 0e00 |006c: return-void │ │ +02175e: 2200 fb00 |006d: new-instance v0, Ljava/io/IOException; // type@00fb │ │ +021762: 7020 fb04 7000 |006f: invoke-direct {v0, v7}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +021768: 2700 |0072: throw v0 │ │ +02176a: 0d07 |0073: move-exception v7 │ │ +02176c: 7110 3c04 0600 |0074: invoke-static {v6}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@043c │ │ +021772: 0c00 |0077: move-result-object v0 │ │ +021774: 2201 2801 |0078: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +021778: 1a02 3204 |007a: const-string v2, "Remote action attach Remote Stream failed! " // string@0432 │ │ +02177c: 7020 8405 2100 |007c: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +021782: 6e10 fe04 0700 |007f: invoke-virtual {v7}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ +021788: 0c02 |0082: move-result-object v2 │ │ +02178a: 6e20 8905 2100 |0083: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +021790: 6e10 8b05 0100 |0086: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +021796: 0c01 |0089: move-result-object v1 │ │ +021798: 7220 0d07 1000 |008a: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +02179e: 7110 3d04 0600 |008d: invoke-static {v6}, Ldnsfilter/remote/RemoteAccessClient;.access$200:(Ldnsfilter/remote/RemoteAccessClient;)V // method@043d │ │ +0217a4: 2707 |0090: throw v7 │ │ catches : 2 │ │ 0x0037 - 0x0062 │ │ Ljava/io/IOException; -> 0x0073 │ │ 0x006d - 0x0073 │ │ Ljava/io/IOException; -> 0x0073 │ │ positions : │ │ 0x0002 line=588 │ │ @@ -23877,46 +23877,46 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 58 16-bit code units │ │ -021874: |[021874] dnsfilter.remote.RemoteAccessClient$RemoteStream.confirmHeartBeat:()V │ │ -021884: 5440 dc02 |0000: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02dc │ │ -021888: 1d00 |0002: monitor-enter v0 │ │ -02188a: 5441 dc02 |0003: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02dc │ │ -02188e: 1a02 0906 |0005: const-string v2, "confirmHeartBeat() │ │ +021870: |[021870] dnsfilter.remote.RemoteAccessClient$RemoteStream.confirmHeartBeat:()V │ │ +021880: 5440 dc02 |0000: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02dc │ │ +021884: 1d00 |0002: monitor-enter v0 │ │ +021886: 5441 dc02 |0003: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02dc │ │ +02188a: 1a02 0906 |0005: const-string v2, "confirmHeartBeat() │ │ " // string@0609 │ │ -021892: 6e10 6905 0200 |0007: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -021898: 0c02 |000a: move-result-object v2 │ │ -02189a: 6e20 d304 2100 |000b: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -0218a0: 5441 dc02 |000e: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02dc │ │ -0218a4: 6e10 d204 0100 |0010: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -0218aa: 1e00 |0013: monitor-exit v0 │ │ -0218ac: 2825 |0014: goto 0039 // +0025 │ │ -0218ae: 0d01 |0015: move-exception v1 │ │ -0218b0: 1e00 |0016: monitor-exit v0 │ │ -0218b2: 2701 |0017: throw v1 │ │ -0218b4: 0d00 |0018: move-exception v0 │ │ -0218b6: 5441 e002 |0019: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02e0 │ │ -0218ba: 7110 3c04 0100 |001b: invoke-static {v1}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@043c │ │ -0218c0: 0c01 |001e: move-result-object v1 │ │ -0218c2: 2202 2801 |001f: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -0218c6: 1a03 8f01 |0021: const-string v3, "Exception during confirmHeartBeat()! " // string@018f │ │ -0218ca: 7020 8405 3200 |0023: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -0218d0: 6e10 0005 0000 |0026: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ -0218d6: 0c00 |0029: move-result-object v0 │ │ -0218d8: 6e20 8905 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0218de: 6e10 8b05 0200 |002d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0218e4: 0c00 |0030: move-result-object v0 │ │ -0218e6: 7220 0d07 0100 |0031: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -0218ec: 5440 e002 |0034: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02e0 │ │ -0218f0: 7110 3d04 0000 |0036: invoke-static {v0}, Ldnsfilter/remote/RemoteAccessClient;.access$200:(Ldnsfilter/remote/RemoteAccessClient;)V // method@043d │ │ -0218f6: 0e00 |0039: return-void │ │ +02188e: 6e10 6905 0200 |0007: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +021894: 0c02 |000a: move-result-object v2 │ │ +021896: 6e20 d304 2100 |000b: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +02189c: 5441 dc02 |000e: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02dc │ │ +0218a0: 6e10 d204 0100 |0010: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +0218a6: 1e00 |0013: monitor-exit v0 │ │ +0218a8: 2825 |0014: goto 0039 // +0025 │ │ +0218aa: 0d01 |0015: move-exception v1 │ │ +0218ac: 1e00 |0016: monitor-exit v0 │ │ +0218ae: 2701 |0017: throw v1 │ │ +0218b0: 0d00 |0018: move-exception v0 │ │ +0218b2: 5441 e002 |0019: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02e0 │ │ +0218b6: 7110 3c04 0100 |001b: invoke-static {v1}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@043c │ │ +0218bc: 0c01 |001e: move-result-object v1 │ │ +0218be: 2202 2801 |001f: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +0218c2: 1a03 8f01 |0021: const-string v3, "Exception during confirmHeartBeat()! " // string@018f │ │ +0218c6: 7020 8405 3200 |0023: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +0218cc: 6e10 0005 0000 |0026: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ +0218d2: 0c00 |0029: move-result-object v0 │ │ +0218d4: 6e20 8905 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0218da: 6e10 8b05 0200 |002d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0218e0: 0c00 |0030: move-result-object v0 │ │ +0218e2: 7220 0d07 0100 |0031: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +0218e8: 5440 e002 |0034: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02e0 │ │ +0218ec: 7110 3d04 0000 |0036: invoke-static {v0}, Ldnsfilter/remote/RemoteAccessClient;.access$200:(Ldnsfilter/remote/RemoteAccessClient;)V // method@043d │ │ +0218f2: 0e00 |0039: return-void │ │ catches : 3 │ │ 0x0000 - 0x0003 │ │ Ljava/io/IOException; -> 0x0018 │ │ 0x0003 - 0x0017 │ │ -> 0x0015 │ │ 0x0017 - 0x0018 │ │ Ljava/io/IOException; -> 0x0018 │ │ @@ -23935,36 +23935,36 @@ │ │ type : '([BIII)[B' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 5 │ │ outs : 2 │ │ insns size : 41 16-bit code units │ │ -021614: |[021614] dnsfilter.remote.RemoteAccessClient$RemoteStream.getBuffer:([BIII)[B │ │ -021624: 3543 0800 |0000: if-ge v3, v4, 0008 // +0008 │ │ -021628: 2120 |0002: array-length v0, v2 │ │ -02162a: 3740 0500 |0003: if-le v0, v4, 0008 // +0005 │ │ -02162e: 2342 9901 |0005: new-array v2, v4, [B // type@0199 │ │ -021632: 1102 |0007: return-object v2 │ │ -021634: 3543 0300 |0008: if-ge v3, v4, 000b // +0003 │ │ -021638: 1102 |000a: return-object v2 │ │ -02163a: 3653 0500 |000b: if-gt v3, v5, 0010 // +0005 │ │ -02163e: 2332 9901 |000d: new-array v2, v3, [B // type@0199 │ │ -021642: 1102 |000f: return-object v2 │ │ -021644: 2202 fb00 |0010: new-instance v2, Ljava/io/IOException; // type@00fb │ │ -021648: 2204 2801 |0012: new-instance v4, Ljava/lang/StringBuilder; // type@0128 │ │ -02164c: 1a05 de00 |0014: const-string v5, "Buffer Overflow: " // string@00de │ │ -021650: 7020 8405 5400 |0016: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -021656: 6e20 8605 3400 |0019: invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -02165c: 1a03 1800 |001c: const-string v3, " bytes!" // string@0018 │ │ -021660: 6e20 8905 3400 |001e: invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -021666: 6e10 8b05 0400 |0021: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02166c: 0c03 |0024: move-result-object v3 │ │ -02166e: 7020 fb04 3200 |0025: invoke-direct {v2, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -021674: 2702 |0028: throw v2 │ │ +021610: |[021610] dnsfilter.remote.RemoteAccessClient$RemoteStream.getBuffer:([BIII)[B │ │ +021620: 3543 0800 |0000: if-ge v3, v4, 0008 // +0008 │ │ +021624: 2120 |0002: array-length v0, v2 │ │ +021626: 3740 0500 |0003: if-le v0, v4, 0008 // +0005 │ │ +02162a: 2342 9901 |0005: new-array v2, v4, [B // type@0199 │ │ +02162e: 1102 |0007: return-object v2 │ │ +021630: 3543 0300 |0008: if-ge v3, v4, 000b // +0003 │ │ +021634: 1102 |000a: return-object v2 │ │ +021636: 3653 0500 |000b: if-gt v3, v5, 0010 // +0005 │ │ +02163a: 2332 9901 |000d: new-array v2, v3, [B // type@0199 │ │ +02163e: 1102 |000f: return-object v2 │ │ +021640: 2202 fb00 |0010: new-instance v2, Ljava/io/IOException; // type@00fb │ │ +021644: 2204 2801 |0012: new-instance v4, Ljava/lang/StringBuilder; // type@0128 │ │ +021648: 1a05 de00 |0014: const-string v5, "Buffer Overflow: " // string@00de │ │ +02164c: 7020 8405 5400 |0016: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +021652: 6e20 8605 3400 |0019: invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +021658: 1a03 1800 |001c: const-string v3, " bytes!" // string@0018 │ │ +02165c: 6e20 8905 3400 |001e: invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +021662: 6e10 8b05 0400 |0021: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +021668: 0c03 |0024: move-result-object v3 │ │ +02166a: 7020 fb04 3200 |0025: invoke-direct {v2, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +021670: 2702 |0028: throw v2 │ │ catches : (none) │ │ positions : │ │ 0x0002 line=672 │ │ 0x0005 line=674 │ │ 0x000d line=683 │ │ 0x0010 line=680 │ │ locals : │ │ @@ -23980,51 +23980,51 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 67 16-bit code units │ │ -0217c4: |[0217c4] dnsfilter.remote.RemoteAccessClient$RemoteStream.close:()V │ │ -0217d4: 1a00 9201 |0000: const-string v0, "Exception during remote configuration release: " // string@0192 │ │ -0217d8: 1211 |0002: const/4 v1, #int 1 // #1 │ │ -0217da: 5c51 dd02 |0003: iput-boolean v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.stopped:Z // field@02dd │ │ -0217de: 5451 de02 |0005: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.streamCon:Ljava/net/Socket; // field@02de │ │ -0217e2: 3801 3b00 |0007: if-eqz v1, 0042 // +003b │ │ -0217e6: 5451 dc02 |0009: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02dc │ │ -0217ea: 1d01 |000b: monitor-enter v1 │ │ -0217ec: 5452 dc02 |000c: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02dc │ │ -0217f0: 1a03 c609 |000e: const-string v3, "releaseConfiguration()" // string@09c6 │ │ -0217f4: 6e10 6905 0300 |0010: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -0217fa: 0c03 |0013: move-result-object v3 │ │ -0217fc: 6e20 d304 3200 |0014: invoke-virtual {v2, v3}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -021802: 5452 dc02 |0017: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02dc │ │ -021806: 6e10 d204 0200 |0019: invoke-virtual {v2}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -02180c: 281d |001c: goto 0039 // +001d │ │ -02180e: 0d00 |001d: move-exception v0 │ │ -021810: 2822 |001e: goto 0040 // +0022 │ │ -021812: 0d02 |001f: move-exception v2 │ │ -021814: 5453 e002 |0020: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02e0 │ │ -021818: 7110 3c04 0300 |0022: invoke-static {v3}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@043c │ │ -02181e: 0c03 |0025: move-result-object v3 │ │ -021820: 2204 2801 |0026: new-instance v4, Ljava/lang/StringBuilder; // type@0128 │ │ -021824: 7020 8405 0400 |0028: invoke-direct {v4, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -02182a: 6e10 0005 0200 |002b: invoke-virtual {v2}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ -021830: 0c00 |002e: move-result-object v0 │ │ -021832: 6e20 8905 0400 |002f: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -021838: 6e10 8b05 0400 |0032: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02183e: 0c00 |0035: move-result-object v0 │ │ -021840: 7220 0d07 0300 |0036: invoke-interface {v3, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -021846: 5450 de02 |0039: iget-object v0, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.streamCon:Ljava/net/Socket; // field@02de │ │ -02184a: 7110 6c07 0000 |003b: invoke-static {v0}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@076c │ │ -021850: 1e01 |003e: monitor-exit v1 │ │ -021852: 2803 |003f: goto 0042 // +0003 │ │ -021854: 1e01 |0040: monitor-exit v1 │ │ -021856: 2700 |0041: throw v0 │ │ -021858: 0e00 |0042: return-void │ │ +0217c0: |[0217c0] dnsfilter.remote.RemoteAccessClient$RemoteStream.close:()V │ │ +0217d0: 1a00 9201 |0000: const-string v0, "Exception during remote configuration release: " // string@0192 │ │ +0217d4: 1211 |0002: const/4 v1, #int 1 // #1 │ │ +0217d6: 5c51 dd02 |0003: iput-boolean v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.stopped:Z // field@02dd │ │ +0217da: 5451 de02 |0005: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.streamCon:Ljava/net/Socket; // field@02de │ │ +0217de: 3801 3b00 |0007: if-eqz v1, 0042 // +003b │ │ +0217e2: 5451 dc02 |0009: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02dc │ │ +0217e6: 1d01 |000b: monitor-enter v1 │ │ +0217e8: 5452 dc02 |000c: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02dc │ │ +0217ec: 1a03 c609 |000e: const-string v3, "releaseConfiguration()" // string@09c6 │ │ +0217f0: 6e10 6905 0300 |0010: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +0217f6: 0c03 |0013: move-result-object v3 │ │ +0217f8: 6e20 d304 3200 |0014: invoke-virtual {v2, v3}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +0217fe: 5452 dc02 |0017: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02dc │ │ +021802: 6e10 d204 0200 |0019: invoke-virtual {v2}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +021808: 281d |001c: goto 0039 // +001d │ │ +02180a: 0d00 |001d: move-exception v0 │ │ +02180c: 2822 |001e: goto 0040 // +0022 │ │ +02180e: 0d02 |001f: move-exception v2 │ │ +021810: 5453 e002 |0020: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02e0 │ │ +021814: 7110 3c04 0300 |0022: invoke-static {v3}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@043c │ │ +02181a: 0c03 |0025: move-result-object v3 │ │ +02181c: 2204 2801 |0026: new-instance v4, Ljava/lang/StringBuilder; // type@0128 │ │ +021820: 7020 8405 0400 |0028: invoke-direct {v4, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +021826: 6e10 0005 0200 |002b: invoke-virtual {v2}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ +02182c: 0c00 |002e: move-result-object v0 │ │ +02182e: 6e20 8905 0400 |002f: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +021834: 6e10 8b05 0400 |0032: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02183a: 0c00 |0035: move-result-object v0 │ │ +02183c: 7220 0d07 0300 |0036: invoke-interface {v3, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +021842: 5450 de02 |0039: iget-object v0, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.streamCon:Ljava/net/Socket; // field@02de │ │ +021846: 7110 6c07 0000 |003b: invoke-static {v0}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@076c │ │ +02184c: 1e01 |003e: monitor-exit v1 │ │ +02184e: 2803 |003f: goto 0042 // +0003 │ │ +021850: 1e01 |0040: monitor-exit v1 │ │ +021852: 2700 |0041: throw v0 │ │ +021854: 0e00 |0042: return-void │ │ catches : 2 │ │ 0x000c - 0x001c │ │ Ljava/io/IOException; -> 0x001f │ │ -> 0x001d │ │ 0x0020 - 0x0041 │ │ -> 0x001d │ │ positions : │ │ @@ -24044,102 +24044,102 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 202 16-bit code units │ │ -021918: |[021918] dnsfilter.remote.RemoteAccessClient$RemoteStream.run:()V │ │ -021928: 1300 0008 |0000: const/16 v0, #int 2048 // #800 │ │ -02192c: 2301 9901 |0002: new-array v1, v0, [B // type@0199 │ │ -021930: 5562 dd02 |0004: iget-boolean v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.stopped:Z // field@02dd │ │ -021934: 3902 b100 |0006: if-nez v2, 00b7 // +00b1 │ │ -021938: 5462 db02 |0008: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02db │ │ -02193c: 6e10 cf04 0200 |000a: invoke-virtual {v2}, Ljava/io/DataInputStream;.readShort:()S // method@04cf │ │ -021942: 0a02 |000d: move-result v2 │ │ -021944: 5463 db02 |000e: iget-object v3, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02db │ │ -021948: 6e10 cf04 0300 |0010: invoke-virtual {v3}, Ljava/io/DataInputStream;.readShort:()S // method@04cf │ │ -02194e: 0a03 |0013: move-result v3 │ │ -021950: 1404 00a0 0f00 |0014: const v4, #float 1.43493e-39 // #000fa000 │ │ -021956: 7054 3704 1603 |0017: invoke-direct {v6, v1, v3, v0, v4}, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.getBuffer:([BIII)[B // method@0437 │ │ -02195c: 0c01 |001a: move-result-object v1 │ │ -02195e: 5464 db02 |001b: iget-object v4, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02db │ │ -021962: 1205 |001d: const/4 v5, #int 0 // #0 │ │ -021964: 6e40 cc04 1435 |001e: invoke-virtual {v4, v1, v5, v3}, Ljava/io/DataInputStream;.readFully:([BII)V // method@04cc │ │ -02196a: 2b02 9700 0000 |0021: packed-switch v2, 000000b8 // +00000097 │ │ -021970: 2200 fb00 |0024: new-instance v0, Ljava/io/IOException; // type@00fb │ │ -021974: 2857 |0026: goto 007d // +0057 │ │ -021976: 5462 e002 |0027: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02e0 │ │ -02197a: 7110 4104 0200 |0029: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$600:(Ldnsfilter/remote/RemoteAccessClient;)V // method@0441 │ │ -021980: 28d8 |002c: goto 0004 // -0028 │ │ -021982: 5462 e002 |002d: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02e0 │ │ -021986: 7110 4004 0200 |002f: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$500:(Ldnsfilter/remote/RemoteAccessClient;)V // method@0440 │ │ -02198c: 7010 3604 0600 |0032: invoke-direct {v6}, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.confirmHeartBeat:()V // method@0436 │ │ -021992: 28cf |0035: goto 0004 // -0031 │ │ -021994: 5462 e002 |0036: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02e0 │ │ -021998: 2204 2601 |0038: new-instance v4, Ljava/lang/String; // type@0126 │ │ -02199c: 7040 6205 1435 |003a: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0562 │ │ -0219a2: 7110 4105 0400 |003d: invoke-static {v4}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ -0219a8: 0a03 |0040: move-result v3 │ │ -0219aa: 7120 3f04 3200 |0041: invoke-static {v2, v3}, Ldnsfilter/remote/RemoteAccessClient;.access$402:(Ldnsfilter/remote/RemoteAccessClient;I)I // method@043f │ │ -0219b0: 28c0 |0044: goto 0004 // -0040 │ │ -0219b2: 5462 e002 |0045: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02e0 │ │ -0219b6: 2204 2601 |0047: new-instance v4, Ljava/lang/String; // type@0126 │ │ -0219ba: 7040 6205 1435 |0049: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0562 │ │ -0219c0: 7120 3e04 4200 |004c: invoke-static {v2, v4}, Ldnsfilter/remote/RemoteAccessClient;.access$302:(Ldnsfilter/remote/RemoteAccessClient;Ljava/lang/String;)Ljava/lang/String; // method@043e │ │ -0219c6: 28b5 |004f: goto 0004 // -004b │ │ -0219c8: 5462 e002 |0050: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02e0 │ │ -0219cc: 7110 3c04 0200 |0052: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@043c │ │ -0219d2: 0c02 |0055: move-result-object v2 │ │ -0219d4: 2204 2601 |0056: new-instance v4, Ljava/lang/String; // type@0126 │ │ -0219d8: 7040 6205 1435 |0058: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0562 │ │ -0219de: 7220 0e07 4200 |005b: invoke-interface {v2, v4}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ -0219e4: 28a6 |005e: goto 0004 // -005a │ │ -0219e6: 5462 e002 |005f: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02e0 │ │ -0219ea: 7110 3c04 0200 |0061: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@043c │ │ -0219f0: 0c02 |0064: move-result-object v2 │ │ -0219f2: 2204 2601 |0065: new-instance v4, Ljava/lang/String; // type@0126 │ │ -0219f6: 7040 6205 1435 |0067: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0562 │ │ -0219fc: 7220 0d07 4200 |006a: invoke-interface {v2, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -021a02: 2897 |006d: goto 0004 // -0069 │ │ -021a04: 5462 e002 |006e: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02e0 │ │ -021a08: 7110 3c04 0200 |0070: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@043c │ │ -021a0e: 0c02 |0073: move-result-object v2 │ │ -021a10: 2204 2601 |0074: new-instance v4, Ljava/lang/String; // type@0126 │ │ -021a14: 7040 6205 1435 |0076: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0562 │ │ -021a1a: 7220 0b07 4200 |0079: invoke-interface {v2, v4}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@070b │ │ -021a20: 2888 |007c: goto 0004 // -0078 │ │ -021a22: 2201 2801 |007d: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -021a26: 7010 8305 0100 |007f: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -021a2c: 1a03 8904 |0082: const-string v3, "Unknown message type: " // string@0489 │ │ -021a30: 6e20 8905 3100 |0084: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -021a36: 6e20 8605 2100 |0087: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -021a3c: 6e10 8b05 0100 |008a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -021a42: 0c01 |008d: move-result-object v1 │ │ -021a44: 7020 fb04 1000 |008e: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -021a4a: 2700 |0091: throw v0 │ │ -021a4c: 0d00 |0092: move-exception v0 │ │ -021a4e: 5561 dd02 |0093: iget-boolean v1, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.stopped:Z // field@02dd │ │ -021a52: 3901 2200 |0095: if-nez v1, 00b7 // +0022 │ │ -021a56: 5461 e002 |0097: iget-object v1, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02e0 │ │ -021a5a: 7110 3c04 0100 |0099: invoke-static {v1}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@043c │ │ -021a60: 0c01 |009c: move-result-object v1 │ │ -021a62: 2202 2801 |009d: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -021a66: 1a03 8e01 |009f: const-string v3, "Exception during RemoteStream read! " // string@018e │ │ -021a6a: 7020 8405 3200 |00a1: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -021a70: 6e10 3b05 0000 |00a4: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@053b │ │ -021a76: 0c00 |00a7: move-result-object v0 │ │ -021a78: 6e20 8905 0200 |00a8: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -021a7e: 6e10 8b05 0200 |00ab: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -021a84: 0c00 |00ae: move-result-object v0 │ │ -021a86: 7220 0d07 0100 |00af: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -021a8c: 5460 e002 |00b2: iget-object v0, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02e0 │ │ -021a90: 7110 3d04 0000 |00b4: invoke-static {v0}, Ldnsfilter/remote/RemoteAccessClient;.access$200:(Ldnsfilter/remote/RemoteAccessClient;)V // method@043d │ │ -021a96: 0e00 |00b7: return-void │ │ -021a98: 0001 0700 0100 0000 4d00 0000 3e00 ... |00b8: packed-switch-data (18 units) │ │ +021914: |[021914] dnsfilter.remote.RemoteAccessClient$RemoteStream.run:()V │ │ +021924: 1300 0008 |0000: const/16 v0, #int 2048 // #800 │ │ +021928: 2301 9901 |0002: new-array v1, v0, [B // type@0199 │ │ +02192c: 5562 dd02 |0004: iget-boolean v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.stopped:Z // field@02dd │ │ +021930: 3902 b100 |0006: if-nez v2, 00b7 // +00b1 │ │ +021934: 5462 db02 |0008: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02db │ │ +021938: 6e10 cf04 0200 |000a: invoke-virtual {v2}, Ljava/io/DataInputStream;.readShort:()S // method@04cf │ │ +02193e: 0a02 |000d: move-result v2 │ │ +021940: 5463 db02 |000e: iget-object v3, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02db │ │ +021944: 6e10 cf04 0300 |0010: invoke-virtual {v3}, Ljava/io/DataInputStream;.readShort:()S // method@04cf │ │ +02194a: 0a03 |0013: move-result v3 │ │ +02194c: 1404 00a0 0f00 |0014: const v4, #float 1.43493e-39 // #000fa000 │ │ +021952: 7054 3704 1603 |0017: invoke-direct {v6, v1, v3, v0, v4}, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.getBuffer:([BIII)[B // method@0437 │ │ +021958: 0c01 |001a: move-result-object v1 │ │ +02195a: 5464 db02 |001b: iget-object v4, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02db │ │ +02195e: 1205 |001d: const/4 v5, #int 0 // #0 │ │ +021960: 6e40 cc04 1435 |001e: invoke-virtual {v4, v1, v5, v3}, Ljava/io/DataInputStream;.readFully:([BII)V // method@04cc │ │ +021966: 2b02 9700 0000 |0021: packed-switch v2, 000000b8 // +00000097 │ │ +02196c: 2200 fb00 |0024: new-instance v0, Ljava/io/IOException; // type@00fb │ │ +021970: 2857 |0026: goto 007d // +0057 │ │ +021972: 5462 e002 |0027: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02e0 │ │ +021976: 7110 4104 0200 |0029: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$600:(Ldnsfilter/remote/RemoteAccessClient;)V // method@0441 │ │ +02197c: 28d8 |002c: goto 0004 // -0028 │ │ +02197e: 5462 e002 |002d: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02e0 │ │ +021982: 7110 4004 0200 |002f: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$500:(Ldnsfilter/remote/RemoteAccessClient;)V // method@0440 │ │ +021988: 7010 3604 0600 |0032: invoke-direct {v6}, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.confirmHeartBeat:()V // method@0436 │ │ +02198e: 28cf |0035: goto 0004 // -0031 │ │ +021990: 5462 e002 |0036: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02e0 │ │ +021994: 2204 2601 |0038: new-instance v4, Ljava/lang/String; // type@0126 │ │ +021998: 7040 6205 1435 |003a: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0562 │ │ +02199e: 7110 4105 0400 |003d: invoke-static {v4}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ +0219a4: 0a03 |0040: move-result v3 │ │ +0219a6: 7120 3f04 3200 |0041: invoke-static {v2, v3}, Ldnsfilter/remote/RemoteAccessClient;.access$402:(Ldnsfilter/remote/RemoteAccessClient;I)I // method@043f │ │ +0219ac: 28c0 |0044: goto 0004 // -0040 │ │ +0219ae: 5462 e002 |0045: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02e0 │ │ +0219b2: 2204 2601 |0047: new-instance v4, Ljava/lang/String; // type@0126 │ │ +0219b6: 7040 6205 1435 |0049: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0562 │ │ +0219bc: 7120 3e04 4200 |004c: invoke-static {v2, v4}, Ldnsfilter/remote/RemoteAccessClient;.access$302:(Ldnsfilter/remote/RemoteAccessClient;Ljava/lang/String;)Ljava/lang/String; // method@043e │ │ +0219c2: 28b5 |004f: goto 0004 // -004b │ │ +0219c4: 5462 e002 |0050: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02e0 │ │ +0219c8: 7110 3c04 0200 |0052: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@043c │ │ +0219ce: 0c02 |0055: move-result-object v2 │ │ +0219d0: 2204 2601 |0056: new-instance v4, Ljava/lang/String; // type@0126 │ │ +0219d4: 7040 6205 1435 |0058: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0562 │ │ +0219da: 7220 0e07 4200 |005b: invoke-interface {v2, v4}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ +0219e0: 28a6 |005e: goto 0004 // -005a │ │ +0219e2: 5462 e002 |005f: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02e0 │ │ +0219e6: 7110 3c04 0200 |0061: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@043c │ │ +0219ec: 0c02 |0064: move-result-object v2 │ │ +0219ee: 2204 2601 |0065: new-instance v4, Ljava/lang/String; // type@0126 │ │ +0219f2: 7040 6205 1435 |0067: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0562 │ │ +0219f8: 7220 0d07 4200 |006a: invoke-interface {v2, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +0219fe: 2897 |006d: goto 0004 // -0069 │ │ +021a00: 5462 e002 |006e: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02e0 │ │ +021a04: 7110 3c04 0200 |0070: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@043c │ │ +021a0a: 0c02 |0073: move-result-object v2 │ │ +021a0c: 2204 2601 |0074: new-instance v4, Ljava/lang/String; // type@0126 │ │ +021a10: 7040 6205 1435 |0076: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0562 │ │ +021a16: 7220 0b07 4200 |0079: invoke-interface {v2, v4}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@070b │ │ +021a1c: 2888 |007c: goto 0004 // -0078 │ │ +021a1e: 2201 2801 |007d: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +021a22: 7010 8305 0100 |007f: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +021a28: 1a03 8904 |0082: const-string v3, "Unknown message type: " // string@0489 │ │ +021a2c: 6e20 8905 3100 |0084: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +021a32: 6e20 8605 2100 |0087: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +021a38: 6e10 8b05 0100 |008a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +021a3e: 0c01 |008d: move-result-object v1 │ │ +021a40: 7020 fb04 1000 |008e: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +021a46: 2700 |0091: throw v0 │ │ +021a48: 0d00 |0092: move-exception v0 │ │ +021a4a: 5561 dd02 |0093: iget-boolean v1, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.stopped:Z // field@02dd │ │ +021a4e: 3901 2200 |0095: if-nez v1, 00b7 // +0022 │ │ +021a52: 5461 e002 |0097: iget-object v1, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02e0 │ │ +021a56: 7110 3c04 0100 |0099: invoke-static {v1}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@043c │ │ +021a5c: 0c01 |009c: move-result-object v1 │ │ +021a5e: 2202 2801 |009d: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +021a62: 1a03 8e01 |009f: const-string v3, "Exception during RemoteStream read! " // string@018e │ │ +021a66: 7020 8405 3200 |00a1: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +021a6c: 6e10 3b05 0000 |00a4: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@053b │ │ +021a72: 0c00 |00a7: move-result-object v0 │ │ +021a74: 6e20 8905 0200 |00a8: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +021a7a: 6e10 8b05 0200 |00ab: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +021a80: 0c00 |00ae: move-result-object v0 │ │ +021a82: 7220 0d07 0100 |00af: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +021a88: 5460 e002 |00b2: iget-object v0, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02e0 │ │ +021a8c: 7110 3d04 0000 |00b4: invoke-static {v0}, Ldnsfilter/remote/RemoteAccessClient;.access$200:(Ldnsfilter/remote/RemoteAccessClient;)V // method@043d │ │ +021a92: 0e00 |00b7: return-void │ │ +021a94: 0001 0700 0100 0000 4d00 0000 3e00 ... |00b8: packed-switch-data (18 units) │ │ catches : 1 │ │ 0x0004 - 0x0092 │ │ Ljava/lang/Exception; -> 0x0092 │ │ positions : │ │ 0x0002 line=613 │ │ 0x0004 line=615 │ │ 0x0008 line=616 │ │ @@ -24240,53 +24240,53 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 0 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -023f7c: |[023f7c] dnsfilter.remote.RemoteAccessServer.:()V │ │ -023f8c: 0e00 |0000: return-void │ │ +023f78: |[023f78] dnsfilter.remote.RemoteAccessServer.:()V │ │ +023f88: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #1 : (in Ldnsfilter/remote/RemoteAccessServer;) │ │ name : '' │ │ type : '(ILjava/lang/String;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 2 │ │ insns size : 53 16-bit code units │ │ -023f90: |[023f90] dnsfilter.remote.RemoteAccessServer.:(ILjava/lang/String;)V │ │ -023fa0: 7010 4f05 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@054f │ │ -023fa6: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -023fa8: 5c20 0903 |0004: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer;.stopped:Z // field@0309 │ │ -023fac: 2200 5401 |0006: new-instance v0, Ljava/util/HashMap; // type@0154 │ │ -023fb0: 7010 0506 0000 |0008: invoke-direct {v0}, Ljava/util/HashMap;.:()V // method@0605 │ │ -023fb6: 5b20 0803 |000b: iput-object v0, v2, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0308 │ │ -023fba: 7110 a806 0400 |000d: invoke-static {v4}, Lutil/Encryption;.init_AES:(Ljava/lang/String;)V // method@06a8 │ │ -023fc0: 2204 3801 |0010: new-instance v4, Ljava/net/ServerSocket; // type@0138 │ │ -023fc4: 7020 c005 3400 |0012: invoke-direct {v4, v3}, Ljava/net/ServerSocket;.:(I)V // method@05c0 │ │ -023fca: 5b24 0603 |0015: iput-object v4, v2, Ldnsfilter/remote/RemoteAccessServer;.server:Ljava/net/ServerSocket; // field@0306 │ │ -023fce: 2204 2a01 |0017: new-instance v4, Ljava/lang/Thread; // type@012a │ │ -023fd2: 7020 9005 2400 |0019: invoke-direct {v4, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ -023fd8: 6e10 9605 0400 |001c: invoke-virtual {v4}, Ljava/lang/Thread;.start:()V // method@0596 │ │ -023fde: 7100 0107 0000 |001f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -023fe4: 0c04 |0022: move-result-object v4 │ │ -023fe6: 2200 2801 |0023: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ -023fea: 1a01 6004 |0025: const-string v1, "Started RemoteAccess Server on port " // string@0460 │ │ -023fee: 7020 8405 1000 |0027: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -023ff4: 6e20 8605 3000 |002a: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -023ffa: 6e10 8b05 0000 |002d: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -024000: 0c03 |0030: move-result-object v3 │ │ -024002: 7220 0d07 3400 |0031: invoke-interface {v4, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -024008: 0e00 |0034: return-void │ │ +023f8c: |[023f8c] dnsfilter.remote.RemoteAccessServer.:(ILjava/lang/String;)V │ │ +023f9c: 7010 4f05 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@054f │ │ +023fa2: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +023fa4: 5c20 0903 |0004: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer;.stopped:Z // field@0309 │ │ +023fa8: 2200 5401 |0006: new-instance v0, Ljava/util/HashMap; // type@0154 │ │ +023fac: 7010 0506 0000 |0008: invoke-direct {v0}, Ljava/util/HashMap;.:()V // method@0605 │ │ +023fb2: 5b20 0803 |000b: iput-object v0, v2, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0308 │ │ +023fb6: 7110 a806 0400 |000d: invoke-static {v4}, Lutil/Encryption;.init_AES:(Ljava/lang/String;)V // method@06a8 │ │ +023fbc: 2204 3801 |0010: new-instance v4, Ljava/net/ServerSocket; // type@0138 │ │ +023fc0: 7020 c005 3400 |0012: invoke-direct {v4, v3}, Ljava/net/ServerSocket;.:(I)V // method@05c0 │ │ +023fc6: 5b24 0603 |0015: iput-object v4, v2, Ldnsfilter/remote/RemoteAccessServer;.server:Ljava/net/ServerSocket; // field@0306 │ │ +023fca: 2204 2a01 |0017: new-instance v4, Ljava/lang/Thread; // type@012a │ │ +023fce: 7020 9005 2400 |0019: invoke-direct {v4, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ +023fd4: 6e10 9605 0400 |001c: invoke-virtual {v4}, Ljava/lang/Thread;.start:()V // method@0596 │ │ +023fda: 7100 0107 0000 |001f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +023fe0: 0c04 |0022: move-result-object v4 │ │ +023fe2: 2200 2801 |0023: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ +023fe6: 1a01 6004 |0025: const-string v1, "Started RemoteAccess Server on port " // string@0460 │ │ +023fea: 7020 8405 1000 |0027: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +023ff0: 6e20 8605 3000 |002a: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +023ff6: 6e10 8b05 0000 |002d: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +023ffc: 0c03 |0030: move-result-object v3 │ │ +023ffe: 7220 0d07 3400 |0031: invoke-interface {v4, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +024004: 0e00 |0034: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=40 │ │ 0x0004 line=35 │ │ 0x0006 line=37 │ │ 0x000d line=41 │ │ 0x0010 line=42 │ │ @@ -24302,17 +24302,17 @@ │ │ type : '(Ldnsfilter/remote/RemoteAccessServer;)Ljava/util/HashMap;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -023f64: |[023f64] dnsfilter.remote.RemoteAccessServer.access$200:(Ldnsfilter/remote/RemoteAccessServer;)Ljava/util/HashMap; │ │ -023f74: 5400 0803 |0000: iget-object v0, v0, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0308 │ │ -023f78: 1100 |0002: return-object v0 │ │ +023f60: |[023f60] dnsfilter.remote.RemoteAccessServer.access$200:(Ldnsfilter/remote/RemoteAccessServer;)Ljava/util/HashMap; │ │ +023f70: 5400 0803 |0000: iget-object v0, v0, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0308 │ │ +023f74: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=31 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/remote/RemoteAccessServer; │ │ │ │ #3 : (in Ldnsfilter/remote/RemoteAccessServer;) │ │ @@ -24320,18 +24320,18 @@ │ │ type : '(Ldnsfilter/remote/RemoteAccessServer;Ljava/io/InputStream;[B)Ljava/lang/String;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 5 16-bit code units │ │ -023f00: |[023f00] dnsfilter.remote.RemoteAccessServer.access$300:(Ldnsfilter/remote/RemoteAccessServer;Ljava/io/InputStream;[B)Ljava/lang/String; │ │ -023f10: 7030 7f04 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/remote/RemoteAccessServer;.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; // method@047f │ │ -023f16: 0c00 |0003: move-result-object v0 │ │ -023f18: 1100 |0004: return-object v0 │ │ +023efc: |[023efc] dnsfilter.remote.RemoteAccessServer.access$300:(Ldnsfilter/remote/RemoteAccessServer;Ljava/io/InputStream;[B)Ljava/lang/String; │ │ +023f0c: 7030 7f04 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/remote/RemoteAccessServer;.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; // method@047f │ │ +023f12: 0c00 |0003: move-result-object v0 │ │ +023f14: 1100 |0004: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=31 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 (null) Ldnsfilter/remote/RemoteAccessServer; │ │ 0x0000 - 0x0005 reg=1 (null) Ljava/io/InputStream; │ │ 0x0000 - 0x0005 reg=2 (null) [B │ │ @@ -24341,30 +24341,30 @@ │ │ type : '(Ljava/io/InputStream;[B)Ljava/lang/String;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 4 │ │ insns size : 27 16-bit code units │ │ -023f1c: |[023f1c] dnsfilter.remote.RemoteAccessServer.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; │ │ -023f2c: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -023f2e: 1201 |0001: const/4 v1, #int 0 // #0 │ │ -023f30: 7140 7807 4310 |0002: invoke-static {v3, v4, v0, v1}, Lutil/Utils;.readLineBytesFromStream:(Ljava/io/InputStream;[BZZ)I // method@0778 │ │ -023f36: 0a03 |0005: move-result v3 │ │ -023f38: 12f0 |0006: const/4 v0, #int -1 // #ff │ │ -023f3a: 3203 0c00 |0007: if-eq v3, v0, 0013 // +000c │ │ -023f3e: 2200 2601 |0009: new-instance v0, Ljava/lang/String; // type@0126 │ │ -023f42: 7040 6205 4031 |000b: invoke-direct {v0, v4, v1, v3}, Ljava/lang/String;.:([BII)V // method@0562 │ │ -023f48: 6e10 7c05 0000 |000e: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -023f4e: 0c03 |0011: move-result-object v3 │ │ -023f50: 1103 |0012: return-object v3 │ │ -023f52: 2203 f500 |0013: new-instance v3, Ljava/io/EOFException; // type@00f5 │ │ -023f56: 1a04 6104 |0015: const-string v4, "Stream is closed!" // string@0461 │ │ -023f5a: 7020 d904 4300 |0017: invoke-direct {v3, v4}, Ljava/io/EOFException;.:(Ljava/lang/String;)V // method@04d9 │ │ -023f60: 2703 |001a: throw v3 │ │ +023f18: |[023f18] dnsfilter.remote.RemoteAccessServer.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; │ │ +023f28: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +023f2a: 1201 |0001: const/4 v1, #int 0 // #0 │ │ +023f2c: 7140 7807 4310 |0002: invoke-static {v3, v4, v0, v1}, Lutil/Utils;.readLineBytesFromStream:(Ljava/io/InputStream;[BZZ)I // method@0778 │ │ +023f32: 0a03 |0005: move-result v3 │ │ +023f34: 12f0 |0006: const/4 v0, #int -1 // #ff │ │ +023f36: 3203 0c00 |0007: if-eq v3, v0, 0013 // +000c │ │ +023f3a: 2200 2601 |0009: new-instance v0, Ljava/lang/String; // type@0126 │ │ +023f3e: 7040 6205 4031 |000b: invoke-direct {v0, v4, v1, v3}, Ljava/lang/String;.:([BII)V // method@0562 │ │ +023f44: 6e10 7c05 0000 |000e: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +023f4a: 0c03 |0011: move-result-object v3 │ │ +023f4c: 1103 |0012: return-object v3 │ │ +023f4e: 2203 f500 |0013: new-instance v3, Ljava/io/EOFException; // type@00f5 │ │ +023f52: 1a04 6104 |0015: const-string v4, "Stream is closed!" // string@0461 │ │ +023f56: 7020 d904 4300 |0017: invoke-direct {v3, v4}, Ljava/io/EOFException;.:(Ljava/lang/String;)V // method@04d9 │ │ +023f5c: 2703 |001a: throw v3 │ │ catches : (none) │ │ positions : │ │ 0x0002 line=49 │ │ 0x0009 line=54 │ │ 0x0013 line=52 │ │ locals : │ │ 0x0000 - 0x001b reg=2 this Ldnsfilter/remote/RemoteAccessServer; │ │ @@ -24377,33 +24377,33 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 33 16-bit code units │ │ -02400c: |[02400c] dnsfilter.remote.RemoteAccessServer.invalidate:()V │ │ -02401c: 5430 0803 |0000: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0308 │ │ -024020: 6e10 0d06 0000 |0002: invoke-virtual {v0}, Ljava/util/HashMap;.values:()Ljava/util/Collection; // method@060d │ │ -024026: 0c00 |0005: move-result-object v0 │ │ -024028: 5431 0803 |0006: iget-object v1, v3, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0308 │ │ -02402c: 6e10 0c06 0100 |0008: invoke-virtual {v1}, Ljava/util/HashMap;.size:()I // method@060c │ │ -024032: 0a01 |000b: move-result v1 │ │ -024034: 2311 a401 |000c: new-array v1, v1, [Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@01a4 │ │ -024038: 7220 fe05 1000 |000e: invoke-interface {v0, v1}, Ljava/util/Collection;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@05fe │ │ -02403e: 0c00 |0011: move-result-object v0 │ │ -024040: 1f00 a401 |0012: check-cast v0, [Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@01a4 │ │ -024044: 1201 |0014: const/4 v1, #int 0 // #0 │ │ -024046: 2102 |0015: array-length v2, v0 │ │ -024048: 3521 0a00 |0016: if-ge v1, v2, 0020 // +000a │ │ -02404c: 4602 0001 |0018: aget-object v2, v0, v1 │ │ -024050: 7110 6e04 0200 |001a: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.access$000:(Ldnsfilter/remote/RemoteAccessServer$RemoteSession;)V // method@046e │ │ -024056: d801 0101 |001d: add-int/lit8 v1, v1, #int 1 // #01 │ │ -02405a: 28f6 |001f: goto 0015 // -000a │ │ -02405c: 0e00 |0020: return-void │ │ +024008: |[024008] dnsfilter.remote.RemoteAccessServer.invalidate:()V │ │ +024018: 5430 0803 |0000: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0308 │ │ +02401c: 6e10 0d06 0000 |0002: invoke-virtual {v0}, Ljava/util/HashMap;.values:()Ljava/util/Collection; // method@060d │ │ +024022: 0c00 |0005: move-result-object v0 │ │ +024024: 5431 0803 |0006: iget-object v1, v3, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0308 │ │ +024028: 6e10 0c06 0100 |0008: invoke-virtual {v1}, Ljava/util/HashMap;.size:()I // method@060c │ │ +02402e: 0a01 |000b: move-result v1 │ │ +024030: 2311 a401 |000c: new-array v1, v1, [Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@01a4 │ │ +024034: 7220 fe05 1000 |000e: invoke-interface {v0, v1}, Ljava/util/Collection;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@05fe │ │ +02403a: 0c00 |0011: move-result-object v0 │ │ +02403c: 1f00 a401 |0012: check-cast v0, [Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@01a4 │ │ +024040: 1201 |0014: const/4 v1, #int 0 // #0 │ │ +024042: 2102 |0015: array-length v2, v0 │ │ +024044: 3521 0a00 |0016: if-ge v1, v2, 0020 // +000a │ │ +024048: 4602 0001 |0018: aget-object v2, v0, v1 │ │ +02404c: 7110 6e04 0200 |001a: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.access$000:(Ldnsfilter/remote/RemoteAccessServer$RemoteSession;)V // method@046e │ │ +024052: d801 0101 |001d: add-int/lit8 v1, v1, #int 1 // #01 │ │ +024056: 28f6 |001f: goto 0015 // -000a │ │ +024058: 0e00 |0020: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=58 │ │ 0x0015 line=59 │ │ 0x0018 line=60 │ │ locals : │ │ 0x0000 - 0x0021 reg=3 this Ldnsfilter/remote/RemoteAccessServer; │ │ @@ -24413,173 +24413,173 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 11 │ │ ins : 1 │ │ outs : 7 │ │ insns size : 338 16-bit code units │ │ -024060: |[024060] dnsfilter.remote.RemoteAccessServer.run:()V │ │ -024070: 1a00 0200 |0000: const-string v0, " │ │ +02405c: |[02405c] dnsfilter.remote.RemoteAccessServer.run:()V │ │ +02406c: 1a00 0200 |0000: const-string v0, " │ │ " // string@0002 │ │ -024074: 55a1 0903 |0002: iget-boolean v1, v10, Ldnsfilter/remote/RemoteAccessServer;.stopped:Z // field@0309 │ │ -024078: 3901 4d01 |0004: if-nez v1, 0151 // +014d │ │ -02407c: 54a1 0603 |0006: iget-object v1, v10, Ldnsfilter/remote/RemoteAccessServer;.server:Ljava/net/ServerSocket; // field@0306 │ │ -024080: 6e10 c105 0100 |0008: invoke-virtual {v1}, Ljava/net/ServerSocket;.accept:()Ljava/net/Socket; // method@05c1 │ │ -024086: 0c01 |000b: move-result-object v1 │ │ -024088: 6e10 c605 0100 |000c: invoke-virtual {v1}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05c6 │ │ -02408e: 0c02 |000f: move-result-object v2 │ │ -024090: 7110 a606 0200 |0010: invoke-static {v2}, Lutil/Encryption;.getDecryptedStream:(Ljava/io/InputStream;)Ljava/io/InputStream; // method@06a6 │ │ -024096: 0c05 |0013: move-result-object v5 │ │ -024098: 6e10 c705 0100 |0014: invoke-virtual {v1}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05c7 │ │ -02409e: 0c02 |0017: move-result-object v2 │ │ -0240a0: 1303 0004 |0018: const/16 v3, #int 1024 // #400 │ │ -0240a4: 7120 a706 3200 |001a: invoke-static {v2, v3}, Lutil/Encryption;.getEncryptedOutputStream:(Ljava/io/OutputStream;I)Ljava/io/OutputStream; // method@06a7 │ │ -0240aa: 0c09 |001d: move-result-object v9 │ │ -0240ac: 2332 9901 |001e: new-array v2, v3, [B // type@0199 │ │ -0240b0: 7030 7f04 5a02 |0020: invoke-direct {v10, v5, v2}, Ldnsfilter/remote/RemoteAccessServer;.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; // method@047f │ │ -0240b6: 7030 7f04 5a02 |0023: invoke-direct {v10, v5, v2}, Ldnsfilter/remote/RemoteAccessServer;.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; // method@047f │ │ -0240bc: 0c03 |0026: move-result-object v3 │ │ -0240be: 1a04 f608 |0027: const-string v4, "new_session" // string@08f6 │ │ -0240c2: 6e20 6705 4300 |0029: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -0240c8: 0a04 |002c: move-result v4 │ │ -0240ca: 1a06 fc03 |002d: const-string v6, "OK │ │ +024070: 55a1 0903 |0002: iget-boolean v1, v10, Ldnsfilter/remote/RemoteAccessServer;.stopped:Z // field@0309 │ │ +024074: 3901 4d01 |0004: if-nez v1, 0151 // +014d │ │ +024078: 54a1 0603 |0006: iget-object v1, v10, Ldnsfilter/remote/RemoteAccessServer;.server:Ljava/net/ServerSocket; // field@0306 │ │ +02407c: 6e10 c105 0100 |0008: invoke-virtual {v1}, Ljava/net/ServerSocket;.accept:()Ljava/net/Socket; // method@05c1 │ │ +024082: 0c01 |000b: move-result-object v1 │ │ +024084: 6e10 c605 0100 |000c: invoke-virtual {v1}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05c6 │ │ +02408a: 0c02 |000f: move-result-object v2 │ │ +02408c: 7110 a606 0200 |0010: invoke-static {v2}, Lutil/Encryption;.getDecryptedStream:(Ljava/io/InputStream;)Ljava/io/InputStream; // method@06a6 │ │ +024092: 0c05 |0013: move-result-object v5 │ │ +024094: 6e10 c705 0100 |0014: invoke-virtual {v1}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05c7 │ │ +02409a: 0c02 |0017: move-result-object v2 │ │ +02409c: 1303 0004 |0018: const/16 v3, #int 1024 // #400 │ │ +0240a0: 7120 a706 3200 |001a: invoke-static {v2, v3}, Lutil/Encryption;.getEncryptedOutputStream:(Ljava/io/OutputStream;I)Ljava/io/OutputStream; // method@06a7 │ │ +0240a6: 0c09 |001d: move-result-object v9 │ │ +0240a8: 2332 9901 |001e: new-array v2, v3, [B // type@0199 │ │ +0240ac: 7030 7f04 5a02 |0020: invoke-direct {v10, v5, v2}, Ldnsfilter/remote/RemoteAccessServer;.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; // method@047f │ │ +0240b2: 7030 7f04 5a02 |0023: invoke-direct {v10, v5, v2}, Ldnsfilter/remote/RemoteAccessServer;.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; // method@047f │ │ +0240b8: 0c03 |0026: move-result-object v3 │ │ +0240ba: 1a04 f608 |0027: const-string v4, "new_session" // string@08f6 │ │ +0240be: 6e20 6705 4300 |0029: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +0240c4: 0a04 |002c: move-result v4 │ │ +0240c6: 1a06 fc03 |002d: const-string v6, "OK │ │ " // string@03fc │ │ -0240ce: 3804 9100 |002f: if-eqz v4, 00c0 // +0091 │ │ -0240d2: 6002 0703 |0031: sget v2, Ldnsfilter/remote/RemoteAccessServer;.sessionId:I // field@0307 │ │ -0240d6: d802 0201 |0033: add-int/lit8 v2, v2, #int 1 // #01 │ │ -0240da: 6702 0703 |0035: sput v2, Ldnsfilter/remote/RemoteAccessServer;.sessionId:I // field@0307 │ │ -0240de: 6e10 6905 0600 |0037: invoke-virtual {v6}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -0240e4: 0c02 |003a: move-result-object v2 │ │ -0240e6: 6e20 1205 2900 |003b: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ -0240ec: 2202 2801 |003e: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -0240f0: 7010 8305 0200 |0040: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -0240f6: 6003 0703 |0043: sget v3, Ldnsfilter/remote/RemoteAccessServer;.sessionId:I // field@0307 │ │ -0240fa: 6e20 8605 3200 |0045: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -024100: 6e20 8905 0200 |0048: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -024106: 6e10 8b05 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02410c: 0c02 |004e: move-result-object v2 │ │ -02410e: 6e10 6905 0200 |004f: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -024114: 0c02 |0052: move-result-object v2 │ │ -024116: 6e20 1205 2900 |0053: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ -02411c: 2202 2801 |0056: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -024120: 7010 8305 0200 |0058: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -024126: 7100 3f01 0000 |005b: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -02412c: 0c03 |005e: move-result-object v3 │ │ -02412e: 6e10 4101 0300 |005f: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getVersion:()Ljava/lang/String; // method@0141 │ │ -024134: 0c03 |0062: move-result-object v3 │ │ -024136: 6e20 8905 3200 |0063: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02413c: 6e20 8905 0200 |0066: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -024142: 6e10 8b05 0200 |0069: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -024148: 0c02 |006c: move-result-object v2 │ │ -02414a: 6e10 6905 0200 |006d: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -024150: 0c02 |0070: move-result-object v2 │ │ -024152: 6e20 1205 2900 |0071: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ -024158: 2202 2801 |0074: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -02415c: 7010 8305 0200 |0076: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -024162: 7100 3f01 0000 |0079: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -024168: 0c03 |007c: move-result-object v3 │ │ -02416a: 6e10 3e01 0300 |007d: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getLastDNSAddress:()Ljava/lang/String; // method@013e │ │ -024170: 0c03 |0080: move-result-object v3 │ │ -024172: 6e20 8905 3200 |0081: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -024178: 6e20 8905 0200 |0084: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02417e: 6e10 8b05 0200 |0087: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -024184: 0c02 |008a: move-result-object v2 │ │ -024186: 6e10 6905 0200 |008b: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -02418c: 0c02 |008e: move-result-object v2 │ │ -02418e: 6e20 1205 2900 |008f: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ -024194: 2202 2801 |0092: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -024198: 7010 8305 0200 |0094: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -02419e: 7100 3f01 0000 |0097: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -0241a4: 0c03 |009a: move-result-object v3 │ │ -0241a6: 6e10 4401 0300 |009b: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.openConnectionsCount:()I // method@0144 │ │ -0241ac: 0a03 |009e: move-result v3 │ │ -0241ae: 6e20 8605 3200 |009f: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -0241b4: 6e20 8905 0200 |00a2: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0241ba: 6e10 8b05 0200 |00a5: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0241c0: 0c02 |00a8: move-result-object v2 │ │ -0241c2: 6e10 6905 0200 |00a9: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -0241c8: 0c02 |00ac: move-result-object v2 │ │ -0241ca: 6e20 1205 2900 |00ad: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ -0241d0: 6e10 1005 0900 |00b0: invoke-virtual {v9}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ -0241d6: 2202 e800 |00b3: new-instance v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@00e8 │ │ -0241da: 6007 0703 |00b5: sget v7, Ldnsfilter/remote/RemoteAccessServer;.sessionId:I // field@0307 │ │ -0241de: 1208 |00b7: const/4 v8, #int 0 // #0 │ │ -0241e0: 07a3 |00b8: move-object v3, v10 │ │ -0241e2: 0714 |00b9: move-object v4, v1 │ │ -0241e4: 0796 |00ba: move-object v6, v9 │ │ -0241e6: 7607 6d04 0200 |00bb: invoke-direct/range {v2, v3, v4, v5, v6, v7, v8}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.:(Ldnsfilter/remote/RemoteAccessServer;Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;ILdnsfilter/remote/RemoteAccessServer$1;)V // method@046d │ │ -0241ec: 2900 44ff |00be: goto/16 0002 // -00bc │ │ -0241f0: 1a04 bd09 |00c0: const-string v4, "reconnect_session" // string@09bd │ │ -0241f4: 6e20 6705 4300 |00c2: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -0241fa: 0a04 |00c5: move-result v4 │ │ -0241fc: 3804 4500 |00c6: if-eqz v4, 010b // +0045 │ │ -024200: 7030 7f04 5a02 |00c8: invoke-direct {v10, v5, v2}, Ldnsfilter/remote/RemoteAccessServer;.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; // method@047f │ │ -024206: 0c02 |00cb: move-result-object v2 │ │ -024208: 7110 4105 0200 |00cc: invoke-static {v2}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ -02420e: 0a02 |00cf: move-result v2 │ │ -024210: 54a3 0803 |00d0: iget-object v3, v10, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0308 │ │ -024214: 7110 4405 0200 |00d2: invoke-static {v2}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0544 │ │ -02421a: 0c04 |00d5: move-result-object v4 │ │ -02421c: 6e20 0906 4300 |00d6: invoke-virtual {v3, v4}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0609 │ │ -024222: 0c03 |00d9: move-result-object v3 │ │ -024224: 1f03 e800 |00da: check-cast v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@00e8 │ │ -024228: 3803 1100 |00dc: if-eqz v3, 00ed // +0011 │ │ -02422c: 6e40 7704 1395 |00de: invoke-virtual {v3, v1, v5, v9}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.reconnectSession:(Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;)V // method@0477 │ │ -024232: 6e10 6905 0600 |00e1: invoke-virtual {v6}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -024238: 0c02 |00e4: move-result-object v2 │ │ -02423a: 6e20 1205 2900 |00e5: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ -024240: 6e10 1005 0900 |00e8: invoke-virtual {v9}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ -024246: 2900 17ff |00eb: goto/16 0002 // -00e9 │ │ -02424a: 2203 fb00 |00ed: new-instance v3, Ljava/io/IOException; // type@00fb │ │ -02424e: 2204 2801 |00ef: new-instance v4, Ljava/lang/StringBuilder; // type@0128 │ │ -024252: 7010 8305 0400 |00f1: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -024258: 1a05 2604 |00f4: const-string v5, "Reconnect session not found:" // string@0426 │ │ -02425c: 6e20 8905 5400 |00f6: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -024262: 6e20 8605 2400 |00f9: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -024268: 6e10 8b05 0400 |00fc: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02426e: 0c02 |00ff: move-result-object v2 │ │ -024270: 7020 fb04 2300 |0100: invoke-direct {v3, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -024276: 2703 |0103: throw v3 │ │ -024278: 0d02 |0104: move-exception v2 │ │ -02427a: 2203 fb00 |0105: new-instance v3, Ljava/io/IOException; // type@00fb │ │ -02427e: 7020 fd04 2300 |0107: invoke-direct {v3, v2}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@04fd │ │ -024284: 2703 |010a: throw v3 │ │ -024286: 2202 fb00 |010b: new-instance v2, Ljava/io/IOException; // type@00fb │ │ -02428a: 2204 2801 |010d: new-instance v4, Ljava/lang/StringBuilder; // type@0128 │ │ -02428e: 7010 8305 0400 |010f: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -024294: 1a05 f901 |0112: const-string v5, "Invalid option: " // string@01f9 │ │ -024298: 6e20 8905 5400 |0114: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02429e: 6e20 8905 3400 |0117: invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0242a4: 6e10 8b05 0400 |011a: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0242aa: 0c03 |011d: move-result-object v3 │ │ -0242ac: 7020 fb04 3200 |011e: invoke-direct {v2, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -0242b2: 2702 |0121: throw v2 │ │ -0242b4: 0d02 |0122: move-exception v2 │ │ -0242b6: 6e10 0005 0200 |0123: invoke-virtual {v2}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ -0242bc: 0c03 |0126: move-result-object v3 │ │ -0242be: 6e10 6905 0300 |0127: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -0242c4: 0c03 |012a: move-result-object v3 │ │ -0242c6: 6e20 1205 3900 |012b: invoke-virtual {v9, v3}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ -0242cc: 6e10 1005 0900 |012e: invoke-virtual {v9}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ -0242d2: 7110 6c07 0100 |0131: invoke-static {v1}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@076c │ │ -0242d8: 2702 |0134: throw v2 │ │ -0242da: 0d01 |0135: move-exception v1 │ │ -0242dc: 7100 0107 0000 |0136: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -0242e2: 0c02 |0139: move-result-object v2 │ │ -0242e4: 2203 2801 |013a: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -0242e8: 1a04 3e04 |013c: const-string v4, "RemoteServerException: " // string@043e │ │ -0242ec: 7020 8405 4300 |013e: invoke-direct {v3, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -0242f2: 6e10 0005 0100 |0141: invoke-virtual {v1}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ -0242f8: 0c01 |0144: move-result-object v1 │ │ -0242fa: 6e20 8905 1300 |0145: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -024300: 6e10 8b05 0300 |0148: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -024306: 0c01 |014b: move-result-object v1 │ │ -024308: 7220 0d07 1200 |014c: invoke-interface {v2, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -02430e: 2900 b3fe |014f: goto/16 0002 // -014d │ │ -024312: 0e00 |0151: return-void │ │ +0240ca: 3804 9100 |002f: if-eqz v4, 00c0 // +0091 │ │ +0240ce: 6002 0703 |0031: sget v2, Ldnsfilter/remote/RemoteAccessServer;.sessionId:I // field@0307 │ │ +0240d2: d802 0201 |0033: add-int/lit8 v2, v2, #int 1 // #01 │ │ +0240d6: 6702 0703 |0035: sput v2, Ldnsfilter/remote/RemoteAccessServer;.sessionId:I // field@0307 │ │ +0240da: 6e10 6905 0600 |0037: invoke-virtual {v6}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +0240e0: 0c02 |003a: move-result-object v2 │ │ +0240e2: 6e20 1205 2900 |003b: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ +0240e8: 2202 2801 |003e: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +0240ec: 7010 8305 0200 |0040: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +0240f2: 6003 0703 |0043: sget v3, Ldnsfilter/remote/RemoteAccessServer;.sessionId:I // field@0307 │ │ +0240f6: 6e20 8605 3200 |0045: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +0240fc: 6e20 8905 0200 |0048: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +024102: 6e10 8b05 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +024108: 0c02 |004e: move-result-object v2 │ │ +02410a: 6e10 6905 0200 |004f: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +024110: 0c02 |0052: move-result-object v2 │ │ +024112: 6e20 1205 2900 |0053: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ +024118: 2202 2801 |0056: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +02411c: 7010 8305 0200 |0058: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +024122: 7100 3f01 0000 |005b: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +024128: 0c03 |005e: move-result-object v3 │ │ +02412a: 6e10 4101 0300 |005f: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getVersion:()Ljava/lang/String; // method@0141 │ │ +024130: 0c03 |0062: move-result-object v3 │ │ +024132: 6e20 8905 3200 |0063: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +024138: 6e20 8905 0200 |0066: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02413e: 6e10 8b05 0200 |0069: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +024144: 0c02 |006c: move-result-object v2 │ │ +024146: 6e10 6905 0200 |006d: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +02414c: 0c02 |0070: move-result-object v2 │ │ +02414e: 6e20 1205 2900 |0071: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ +024154: 2202 2801 |0074: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +024158: 7010 8305 0200 |0076: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +02415e: 7100 3f01 0000 |0079: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +024164: 0c03 |007c: move-result-object v3 │ │ +024166: 6e10 3e01 0300 |007d: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getLastDNSAddress:()Ljava/lang/String; // method@013e │ │ +02416c: 0c03 |0080: move-result-object v3 │ │ +02416e: 6e20 8905 3200 |0081: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +024174: 6e20 8905 0200 |0084: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02417a: 6e10 8b05 0200 |0087: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +024180: 0c02 |008a: move-result-object v2 │ │ +024182: 6e10 6905 0200 |008b: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +024188: 0c02 |008e: move-result-object v2 │ │ +02418a: 6e20 1205 2900 |008f: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ +024190: 2202 2801 |0092: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +024194: 7010 8305 0200 |0094: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +02419a: 7100 3f01 0000 |0097: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +0241a0: 0c03 |009a: move-result-object v3 │ │ +0241a2: 6e10 4401 0300 |009b: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.openConnectionsCount:()I // method@0144 │ │ +0241a8: 0a03 |009e: move-result v3 │ │ +0241aa: 6e20 8605 3200 |009f: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +0241b0: 6e20 8905 0200 |00a2: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0241b6: 6e10 8b05 0200 |00a5: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0241bc: 0c02 |00a8: move-result-object v2 │ │ +0241be: 6e10 6905 0200 |00a9: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +0241c4: 0c02 |00ac: move-result-object v2 │ │ +0241c6: 6e20 1205 2900 |00ad: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ +0241cc: 6e10 1005 0900 |00b0: invoke-virtual {v9}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ +0241d2: 2202 e800 |00b3: new-instance v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@00e8 │ │ +0241d6: 6007 0703 |00b5: sget v7, Ldnsfilter/remote/RemoteAccessServer;.sessionId:I // field@0307 │ │ +0241da: 1208 |00b7: const/4 v8, #int 0 // #0 │ │ +0241dc: 07a3 |00b8: move-object v3, v10 │ │ +0241de: 0714 |00b9: move-object v4, v1 │ │ +0241e0: 0796 |00ba: move-object v6, v9 │ │ +0241e2: 7607 6d04 0200 |00bb: invoke-direct/range {v2, v3, v4, v5, v6, v7, v8}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.:(Ldnsfilter/remote/RemoteAccessServer;Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;ILdnsfilter/remote/RemoteAccessServer$1;)V // method@046d │ │ +0241e8: 2900 44ff |00be: goto/16 0002 // -00bc │ │ +0241ec: 1a04 bd09 |00c0: const-string v4, "reconnect_session" // string@09bd │ │ +0241f0: 6e20 6705 4300 |00c2: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +0241f6: 0a04 |00c5: move-result v4 │ │ +0241f8: 3804 4500 |00c6: if-eqz v4, 010b // +0045 │ │ +0241fc: 7030 7f04 5a02 |00c8: invoke-direct {v10, v5, v2}, Ldnsfilter/remote/RemoteAccessServer;.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; // method@047f │ │ +024202: 0c02 |00cb: move-result-object v2 │ │ +024204: 7110 4105 0200 |00cc: invoke-static {v2}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ +02420a: 0a02 |00cf: move-result v2 │ │ +02420c: 54a3 0803 |00d0: iget-object v3, v10, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0308 │ │ +024210: 7110 4405 0200 |00d2: invoke-static {v2}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0544 │ │ +024216: 0c04 |00d5: move-result-object v4 │ │ +024218: 6e20 0906 4300 |00d6: invoke-virtual {v3, v4}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0609 │ │ +02421e: 0c03 |00d9: move-result-object v3 │ │ +024220: 1f03 e800 |00da: check-cast v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@00e8 │ │ +024224: 3803 1100 |00dc: if-eqz v3, 00ed // +0011 │ │ +024228: 6e40 7704 1395 |00de: invoke-virtual {v3, v1, v5, v9}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.reconnectSession:(Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;)V // method@0477 │ │ +02422e: 6e10 6905 0600 |00e1: invoke-virtual {v6}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +024234: 0c02 |00e4: move-result-object v2 │ │ +024236: 6e20 1205 2900 |00e5: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ +02423c: 6e10 1005 0900 |00e8: invoke-virtual {v9}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ +024242: 2900 17ff |00eb: goto/16 0002 // -00e9 │ │ +024246: 2203 fb00 |00ed: new-instance v3, Ljava/io/IOException; // type@00fb │ │ +02424a: 2204 2801 |00ef: new-instance v4, Ljava/lang/StringBuilder; // type@0128 │ │ +02424e: 7010 8305 0400 |00f1: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +024254: 1a05 2604 |00f4: const-string v5, "Reconnect session not found:" // string@0426 │ │ +024258: 6e20 8905 5400 |00f6: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02425e: 6e20 8605 2400 |00f9: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +024264: 6e10 8b05 0400 |00fc: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02426a: 0c02 |00ff: move-result-object v2 │ │ +02426c: 7020 fb04 2300 |0100: invoke-direct {v3, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +024272: 2703 |0103: throw v3 │ │ +024274: 0d02 |0104: move-exception v2 │ │ +024276: 2203 fb00 |0105: new-instance v3, Ljava/io/IOException; // type@00fb │ │ +02427a: 7020 fd04 2300 |0107: invoke-direct {v3, v2}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@04fd │ │ +024280: 2703 |010a: throw v3 │ │ +024282: 2202 fb00 |010b: new-instance v2, Ljava/io/IOException; // type@00fb │ │ +024286: 2204 2801 |010d: new-instance v4, Ljava/lang/StringBuilder; // type@0128 │ │ +02428a: 7010 8305 0400 |010f: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +024290: 1a05 f901 |0112: const-string v5, "Invalid option: " // string@01f9 │ │ +024294: 6e20 8905 5400 |0114: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02429a: 6e20 8905 3400 |0117: invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0242a0: 6e10 8b05 0400 |011a: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0242a6: 0c03 |011d: move-result-object v3 │ │ +0242a8: 7020 fb04 3200 |011e: invoke-direct {v2, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +0242ae: 2702 |0121: throw v2 │ │ +0242b0: 0d02 |0122: move-exception v2 │ │ +0242b2: 6e10 0005 0200 |0123: invoke-virtual {v2}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ +0242b8: 0c03 |0126: move-result-object v3 │ │ +0242ba: 6e10 6905 0300 |0127: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +0242c0: 0c03 |012a: move-result-object v3 │ │ +0242c2: 6e20 1205 3900 |012b: invoke-virtual {v9, v3}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ +0242c8: 6e10 1005 0900 |012e: invoke-virtual {v9}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ +0242ce: 7110 6c07 0100 |0131: invoke-static {v1}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@076c │ │ +0242d4: 2702 |0134: throw v2 │ │ +0242d6: 0d01 |0135: move-exception v1 │ │ +0242d8: 7100 0107 0000 |0136: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +0242de: 0c02 |0139: move-result-object v2 │ │ +0242e0: 2203 2801 |013a: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +0242e4: 1a04 3e04 |013c: const-string v4, "RemoteServerException: " // string@043e │ │ +0242e8: 7020 8405 4300 |013e: invoke-direct {v3, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +0242ee: 6e10 0005 0100 |0141: invoke-virtual {v1}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ +0242f4: 0c01 |0144: move-result-object v1 │ │ +0242f6: 6e20 8905 1300 |0145: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0242fc: 6e10 8b05 0300 |0148: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +024302: 0c01 |014b: move-result-object v1 │ │ +024304: 7220 0d07 1200 |014c: invoke-interface {v2, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +02430a: 2900 b3fe |014f: goto/16 0002 // -014d │ │ +02430e: 0e00 |0151: return-void │ │ catches : 6 │ │ 0x0006 - 0x001e │ │ Ljava/io/IOException; -> 0x0135 │ │ 0x001e - 0x002d │ │ Ljava/io/IOException; -> 0x0122 │ │ 0x0031 - 0x00c6 │ │ Ljava/io/IOException; -> 0x0122 │ │ @@ -24629,39 +24629,39 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 44 16-bit code units │ │ -024358: |[024358] dnsfilter.remote.RemoteAccessServer.stop:()V │ │ -024368: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -02436a: 5c30 0903 |0001: iput-boolean v0, v3, Ldnsfilter/remote/RemoteAccessServer;.stopped:Z // field@0309 │ │ -02436e: 5430 0803 |0003: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0308 │ │ -024372: 6e10 0d06 0000 |0005: invoke-virtual {v0}, Ljava/util/HashMap;.values:()Ljava/util/Collection; // method@060d │ │ -024378: 0c00 |0008: move-result-object v0 │ │ -02437a: 1201 |0009: const/4 v1, #int 0 // #0 │ │ -02437c: 2312 a401 |000a: new-array v2, v1, [Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@01a4 │ │ -024380: 7220 fe05 2000 |000c: invoke-interface {v0, v2}, Ljava/util/Collection;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@05fe │ │ -024386: 0c00 |000f: move-result-object v0 │ │ -024388: 1f00 a401 |0010: check-cast v0, [Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@01a4 │ │ -02438c: 2102 |0012: array-length v2, v0 │ │ -02438e: 3521 0a00 |0013: if-ge v1, v2, 001d // +000a │ │ -024392: 4602 0001 |0015: aget-object v2, v0, v1 │ │ -024396: 6e10 7604 0200 |0017: invoke-virtual {v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@0476 │ │ -02439c: d801 0101 |001a: add-int/lit8 v1, v1, #int 1 // #01 │ │ -0243a0: 28f6 |001c: goto 0012 // -000a │ │ -0243a2: 5430 0603 |001d: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessServer;.server:Ljava/net/ServerSocket; // field@0306 │ │ -0243a6: 6e10 c205 0000 |001f: invoke-virtual {v0}, Ljava/net/ServerSocket;.close:()V // method@05c2 │ │ -0243ac: 2809 |0022: goto 002b // +0009 │ │ -0243ae: 0d00 |0023: move-exception v0 │ │ -0243b0: 7100 0107 0000 |0024: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -0243b6: 0c01 |0027: move-result-object v1 │ │ -0243b8: 7220 0c07 0100 |0028: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -0243be: 0e00 |002b: return-void │ │ +024354: |[024354] dnsfilter.remote.RemoteAccessServer.stop:()V │ │ +024364: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +024366: 5c30 0903 |0001: iput-boolean v0, v3, Ldnsfilter/remote/RemoteAccessServer;.stopped:Z // field@0309 │ │ +02436a: 5430 0803 |0003: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0308 │ │ +02436e: 6e10 0d06 0000 |0005: invoke-virtual {v0}, Ljava/util/HashMap;.values:()Ljava/util/Collection; // method@060d │ │ +024374: 0c00 |0008: move-result-object v0 │ │ +024376: 1201 |0009: const/4 v1, #int 0 // #0 │ │ +024378: 2312 a401 |000a: new-array v2, v1, [Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@01a4 │ │ +02437c: 7220 fe05 2000 |000c: invoke-interface {v0, v2}, Ljava/util/Collection;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@05fe │ │ +024382: 0c00 |000f: move-result-object v0 │ │ +024384: 1f00 a401 |0010: check-cast v0, [Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@01a4 │ │ +024388: 2102 |0012: array-length v2, v0 │ │ +02438a: 3521 0a00 |0013: if-ge v1, v2, 001d // +000a │ │ +02438e: 4602 0001 |0015: aget-object v2, v0, v1 │ │ +024392: 6e10 7604 0200 |0017: invoke-virtual {v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@0476 │ │ +024398: d801 0101 |001a: add-int/lit8 v1, v1, #int 1 // #01 │ │ +02439c: 28f6 |001c: goto 0012 // -000a │ │ +02439e: 5430 0603 |001d: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessServer;.server:Ljava/net/ServerSocket; // field@0306 │ │ +0243a2: 6e10 c205 0000 |001f: invoke-virtual {v0}, Ljava/net/ServerSocket;.close:()V // method@05c2 │ │ +0243a8: 2809 |0022: goto 002b // +0009 │ │ +0243aa: 0d00 |0023: move-exception v0 │ │ +0243ac: 7100 0107 0000 |0024: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +0243b2: 0c01 |0027: move-result-object v1 │ │ +0243b4: 7220 0c07 0100 |0028: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +0243ba: 0e00 |002b: return-void │ │ catches : 1 │ │ 0x001d - 0x0022 │ │ Ljava/io/IOException; -> 0x0023 │ │ positions : │ │ 0x0001 line=119 │ │ 0x0003 line=120 │ │ 0x0012 line=121 │ │ @@ -24696,17 +24696,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -024434: |[024434] ip.CheckSum.:()V │ │ -024444: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -02444a: 0e00 |0003: return-void │ │ +024430: |[024430] ip.CheckSum.:()V │ │ +024440: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +024446: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=25 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lip/CheckSum; │ │ │ │ #1 : (in Lip/CheckSum;) │ │ @@ -24714,40 +24714,40 @@ │ │ type : '([BII)I' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 8 │ │ ins : 3 │ │ outs : 0 │ │ insns size : 42 16-bit code units │ │ -0243d0: |[0243d0] ip.CheckSum.chkSum:([BII)I │ │ -0243e0: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -0243e2: 1201 |0001: const/4 v1, #int 0 // #0 │ │ -0243e4: 3570 1900 |0002: if-ge v0, v7, 001b // +0019 │ │ -0243e8: 9002 0600 |0004: add-int v2, v6, v0 │ │ -0243ec: 4803 0502 |0006: aget-byte v3, v5, v2 │ │ -0243f0: d533 ff00 |0008: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -0243f4: e003 0308 |000a: shl-int/lit8 v3, v3, #int 8 // #08 │ │ -0243f8: d804 0001 |000c: add-int/lit8 v4, v0, #int 1 // #01 │ │ -0243fc: 3574 0900 |000e: if-ge v4, v7, 0017 // +0009 │ │ -024400: d802 0201 |0010: add-int/lit8 v2, v2, #int 1 // #01 │ │ -024404: 4802 0502 |0012: aget-byte v2, v5, v2 │ │ -024408: d522 ff00 |0014: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -02440c: b023 |0016: add-int/2addr v3, v2 │ │ -02440e: b031 |0017: add-int/2addr v1, v3 │ │ -024410: d800 0002 |0018: add-int/lit8 v0, v0, #int 2 // #02 │ │ -024414: 28e8 |001a: goto 0002 // -0018 │ │ -024416: e105 0110 |001b: shr-int/lit8 v5, v1, #int 16 // #10 │ │ -02441a: 1406 ffff 0000 |001d: const v6, #float 9.18341e-41 // #0000ffff │ │ -024420: 3805 0600 |0020: if-eqz v5, 0026 // +0006 │ │ -024424: b516 |0022: and-int/2addr v6, v1 │ │ -024426: 9001 0605 |0023: add-int v1, v6, v5 │ │ -02442a: 28f6 |0025: goto 001b // -000a │ │ -02442c: df05 01ff |0026: xor-int/lit8 v5, v1, #int -1 // #ff │ │ -024430: b565 |0028: and-int/2addr v5, v6 │ │ -024432: 0f05 |0029: return v5 │ │ +0243cc: |[0243cc] ip.CheckSum.chkSum:([BII)I │ │ +0243dc: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +0243de: 1201 |0001: const/4 v1, #int 0 // #0 │ │ +0243e0: 3570 1900 |0002: if-ge v0, v7, 001b // +0019 │ │ +0243e4: 9002 0600 |0004: add-int v2, v6, v0 │ │ +0243e8: 4803 0502 |0006: aget-byte v3, v5, v2 │ │ +0243ec: d533 ff00 |0008: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +0243f0: e003 0308 |000a: shl-int/lit8 v3, v3, #int 8 // #08 │ │ +0243f4: d804 0001 |000c: add-int/lit8 v4, v0, #int 1 // #01 │ │ +0243f8: 3574 0900 |000e: if-ge v4, v7, 0017 // +0009 │ │ +0243fc: d802 0201 |0010: add-int/lit8 v2, v2, #int 1 // #01 │ │ +024400: 4802 0502 |0012: aget-byte v2, v5, v2 │ │ +024404: d522 ff00 |0014: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +024408: b023 |0016: add-int/2addr v3, v2 │ │ +02440a: b031 |0017: add-int/2addr v1, v3 │ │ +02440c: d800 0002 |0018: add-int/lit8 v0, v0, #int 2 // #02 │ │ +024410: 28e8 |001a: goto 0002 // -0018 │ │ +024412: e105 0110 |001b: shr-int/lit8 v5, v1, #int 16 // #10 │ │ +024416: 1406 ffff 0000 |001d: const v6, #float 9.18341e-41 // #0000ffff │ │ +02441c: 3805 0600 |0020: if-eqz v5, 0026 // +0006 │ │ +024420: b516 |0022: and-int/2addr v6, v1 │ │ +024422: 9001 0605 |0023: add-int v1, v6, v5 │ │ +024426: 28f6 |0025: goto 001b // -000a │ │ +024428: df05 01ff |0026: xor-int/lit8 v5, v1, #int -1 // #ff │ │ +02442c: b565 |0028: and-int/2addr v5, v6 │ │ +02442e: 0f05 |0029: return v5 │ │ catches : (none) │ │ positions : │ │ 0x0006 line=32 │ │ 0x0012 line=34 │ │ locals : │ │ 0x0000 - 0x002a reg=5 (null) [B │ │ 0x0000 - 0x002a reg=6 (null) I │ │ @@ -24815,26 +24815,26 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 23 16-bit code units │ │ -024b14: |[024b14] ip.IPPacket.:()V │ │ -024b24: 7100 4e05 0000 |0000: invoke-static {}, Ljava/lang/Math;.random:()D // method@054e │ │ -024b2a: 0b00 |0003: move-result-wide v0 │ │ -024b2c: 1802 0000 0000 c0ff df40 |0004: const-wide v2, #double 32767 // #40dfffc000000000 │ │ -024b36: ad00 0002 |0009: mul-double v0, v0, v2 │ │ -024b3a: 8a00 |000b: double-to-int v0, v0 │ │ -024b3c: 8f00 |000c: int-to-short v0, v0 │ │ -024b3e: 6d00 0b03 |000d: sput-short v0, Lip/IPPacket;.curID:S // field@030b │ │ -024b42: 2200 2001 |000f: new-instance v0, Ljava/lang/Object; // type@0120 │ │ -024b46: 7010 4f05 0000 |0011: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -024b4c: 6900 0a03 |0014: sput-object v0, Lip/IPPacket;.ID_SYNC:Ljava/lang/Object; // field@030a │ │ -024b50: 0e00 |0016: return-void │ │ +024b10: |[024b10] ip.IPPacket.:()V │ │ +024b20: 7100 4e05 0000 |0000: invoke-static {}, Ljava/lang/Math;.random:()D // method@054e │ │ +024b26: 0b00 |0003: move-result-wide v0 │ │ +024b28: 1802 0000 0000 c0ff df40 |0004: const-wide v2, #double 32767 // #40dfffc000000000 │ │ +024b32: ad00 0002 |0009: mul-double v0, v0, v2 │ │ +024b36: 8a00 |000b: double-to-int v0, v0 │ │ +024b38: 8f00 |000c: int-to-short v0, v0 │ │ +024b3a: 6d00 0b03 |000d: sput-short v0, Lip/IPPacket;.curID:S // field@030b │ │ +024b3e: 2200 2001 |000f: new-instance v0, Ljava/lang/Object; // type@0120 │ │ +024b42: 7010 4f05 0000 |0011: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +024b48: 6900 0a03 |0014: sput-object v0, Lip/IPPacket;.ID_SYNC:Ljava/lang/Object; // field@030a │ │ +024b4c: 0e00 |0016: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=33 │ │ 0x000f line=34 │ │ locals : │ │ │ │ #1 : (in Lip/IPPacket;) │ │ @@ -24842,58 +24842,58 @@ │ │ type : '([BII)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 6 │ │ ins : 4 │ │ outs : 3 │ │ insns size : 84 16-bit code units │ │ -024b54: |[024b54] ip.IPPacket.:([BII)V │ │ -024b64: 7010 4f05 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@054f │ │ -024b6a: 4800 0304 |0003: aget-byte v0, v3, v4 │ │ -024b6e: 1241 |0005: const/4 v1, #int 4 // #4 │ │ -024b70: b910 |0006: shr-int/2addr v0, v1 │ │ -024b72: 5920 1103 |0007: iput v0, v2, Lip/IPPacket;.version:I // field@0311 │ │ -024b76: 5b23 0c03 |0009: iput-object v3, v2, Lip/IPPacket;.data:[B // field@030c │ │ -024b7a: 5924 1003 |000b: iput v4, v2, Lip/IPPacket;.offset:I // field@0310 │ │ -024b7e: 5925 0f03 |000d: iput v5, v2, Lip/IPPacket;.len:I // field@030f │ │ -024b82: 3310 1700 |000f: if-ne v0, v1, 0026 // +0017 │ │ -024b86: 1305 1400 |0011: const/16 v5, #int 20 // #14 │ │ -024b8a: 7130 e505 4305 |0013: invoke-static {v3, v4, v5}, Ljava/nio/ByteBuffer;.wrap:([BII)Ljava/nio/ByteBuffer; // method@05e5 │ │ -024b90: 0c03 |0016: move-result-object v3 │ │ -024b92: 6204 1f03 |0017: sget-object v4, Ljava/nio/ByteOrder;.BIG_ENDIAN:Ljava/nio/ByteOrder; // field@031f │ │ -024b96: 6e20 dc05 4300 |0019: invoke-virtual {v3, v4}, Ljava/nio/ByteBuffer;.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer; // method@05dc │ │ -024b9c: 0c03 |001c: move-result-object v3 │ │ -024b9e: 6e10 d605 0300 |001d: invoke-virtual {v3}, Ljava/nio/ByteBuffer;.asIntBuffer:()Ljava/nio/IntBuffer; // method@05d6 │ │ -024ba4: 0c03 |0020: move-result-object v3 │ │ -024ba6: 5b23 0e03 |0021: iput-object v3, v2, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -024baa: 5925 0d03 |0023: iput v5, v2, Lip/IPPacket;.ipHdrlen:I // field@030d │ │ -024bae: 2818 |0025: goto 003d // +0018 │ │ -024bb0: 1265 |0026: const/4 v5, #int 6 // #6 │ │ -024bb2: 3350 1700 |0027: if-ne v0, v5, 003e // +0017 │ │ -024bb6: 1305 2800 |0029: const/16 v5, #int 40 // #28 │ │ -024bba: 7130 e505 4305 |002b: invoke-static {v3, v4, v5}, Ljava/nio/ByteBuffer;.wrap:([BII)Ljava/nio/ByteBuffer; // method@05e5 │ │ -024bc0: 0c03 |002e: move-result-object v3 │ │ -024bc2: 6204 1f03 |002f: sget-object v4, Ljava/nio/ByteOrder;.BIG_ENDIAN:Ljava/nio/ByteOrder; // field@031f │ │ -024bc6: 6e20 dc05 4300 |0031: invoke-virtual {v3, v4}, Ljava/nio/ByteBuffer;.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer; // method@05dc │ │ -024bcc: 0c03 |0034: move-result-object v3 │ │ -024bce: 6e10 d605 0300 |0035: invoke-virtual {v3}, Ljava/nio/ByteBuffer;.asIntBuffer:()Ljava/nio/IntBuffer; // method@05d6 │ │ -024bd4: 0c03 |0038: move-result-object v3 │ │ -024bd6: 5b23 0e03 |0039: iput-object v3, v2, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -024bda: 5925 0d03 |003b: iput v5, v2, Lip/IPPacket;.ipHdrlen:I // field@030d │ │ -024bde: 0e00 |003d: return-void │ │ -024be0: 2203 1701 |003e: new-instance v3, Ljava/lang/IllegalArgumentException; // type@0117 │ │ -024be4: 2204 2801 |0040: new-instance v4, Ljava/lang/StringBuilder; // type@0128 │ │ -024be8: 1a05 fe01 |0042: const-string v5, "Invalid version:" // string@01fe │ │ -024bec: 7020 8405 5400 |0044: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -024bf2: 5225 1103 |0047: iget v5, v2, Lip/IPPacket;.version:I // field@0311 │ │ -024bf6: 6e20 8605 5400 |0049: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -024bfc: 6e10 8b05 0400 |004c: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -024c02: 0c04 |004f: move-result-object v4 │ │ -024c04: 7020 3c05 4300 |0050: invoke-direct {v3, v4}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@053c │ │ -024c0a: 2703 |0053: throw v3 │ │ +024b50: |[024b50] ip.IPPacket.:([BII)V │ │ +024b60: 7010 4f05 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@054f │ │ +024b66: 4800 0304 |0003: aget-byte v0, v3, v4 │ │ +024b6a: 1241 |0005: const/4 v1, #int 4 // #4 │ │ +024b6c: b910 |0006: shr-int/2addr v0, v1 │ │ +024b6e: 5920 1103 |0007: iput v0, v2, Lip/IPPacket;.version:I // field@0311 │ │ +024b72: 5b23 0c03 |0009: iput-object v3, v2, Lip/IPPacket;.data:[B // field@030c │ │ +024b76: 5924 1003 |000b: iput v4, v2, Lip/IPPacket;.offset:I // field@0310 │ │ +024b7a: 5925 0f03 |000d: iput v5, v2, Lip/IPPacket;.len:I // field@030f │ │ +024b7e: 3310 1700 |000f: if-ne v0, v1, 0026 // +0017 │ │ +024b82: 1305 1400 |0011: const/16 v5, #int 20 // #14 │ │ +024b86: 7130 e505 4305 |0013: invoke-static {v3, v4, v5}, Ljava/nio/ByteBuffer;.wrap:([BII)Ljava/nio/ByteBuffer; // method@05e5 │ │ +024b8c: 0c03 |0016: move-result-object v3 │ │ +024b8e: 6204 1f03 |0017: sget-object v4, Ljava/nio/ByteOrder;.BIG_ENDIAN:Ljava/nio/ByteOrder; // field@031f │ │ +024b92: 6e20 dc05 4300 |0019: invoke-virtual {v3, v4}, Ljava/nio/ByteBuffer;.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer; // method@05dc │ │ +024b98: 0c03 |001c: move-result-object v3 │ │ +024b9a: 6e10 d605 0300 |001d: invoke-virtual {v3}, Ljava/nio/ByteBuffer;.asIntBuffer:()Ljava/nio/IntBuffer; // method@05d6 │ │ +024ba0: 0c03 |0020: move-result-object v3 │ │ +024ba2: 5b23 0e03 |0021: iput-object v3, v2, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +024ba6: 5925 0d03 |0023: iput v5, v2, Lip/IPPacket;.ipHdrlen:I // field@030d │ │ +024baa: 2818 |0025: goto 003d // +0018 │ │ +024bac: 1265 |0026: const/4 v5, #int 6 // #6 │ │ +024bae: 3350 1700 |0027: if-ne v0, v5, 003e // +0017 │ │ +024bb2: 1305 2800 |0029: const/16 v5, #int 40 // #28 │ │ +024bb6: 7130 e505 4305 |002b: invoke-static {v3, v4, v5}, Ljava/nio/ByteBuffer;.wrap:([BII)Ljava/nio/ByteBuffer; // method@05e5 │ │ +024bbc: 0c03 |002e: move-result-object v3 │ │ +024bbe: 6204 1f03 |002f: sget-object v4, Ljava/nio/ByteOrder;.BIG_ENDIAN:Ljava/nio/ByteOrder; // field@031f │ │ +024bc2: 6e20 dc05 4300 |0031: invoke-virtual {v3, v4}, Ljava/nio/ByteBuffer;.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer; // method@05dc │ │ +024bc8: 0c03 |0034: move-result-object v3 │ │ +024bca: 6e10 d605 0300 |0035: invoke-virtual {v3}, Ljava/nio/ByteBuffer;.asIntBuffer:()Ljava/nio/IntBuffer; // method@05d6 │ │ +024bd0: 0c03 |0038: move-result-object v3 │ │ +024bd2: 5b23 0e03 |0039: iput-object v3, v2, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +024bd6: 5925 0d03 |003b: iput v5, v2, Lip/IPPacket;.ipHdrlen:I // field@030d │ │ +024bda: 0e00 |003d: return-void │ │ +024bdc: 2203 1701 |003e: new-instance v3, Ljava/lang/IllegalArgumentException; // type@0117 │ │ +024be0: 2204 2801 |0040: new-instance v4, Ljava/lang/StringBuilder; // type@0128 │ │ +024be4: 1a05 fe01 |0042: const-string v5, "Invalid version:" // string@01fe │ │ +024be8: 7020 8405 5400 |0044: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +024bee: 5225 1103 |0047: iget v5, v2, Lip/IPPacket;.version:I // field@0311 │ │ +024bf2: 6e20 8605 5400 |0049: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +024bf8: 6e10 8b05 0400 |004c: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +024bfe: 0c04 |004f: move-result-object v4 │ │ +024c00: 7020 3c05 4300 |0050: invoke-direct {v3, v4}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@053c │ │ +024c06: 2703 |0053: throw v3 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=44 │ │ 0x0003 line=45 │ │ 0x0009 line=46 │ │ 0x000b line=47 │ │ 0x000d line=48 │ │ @@ -24913,26 +24913,26 @@ │ │ type : '()I' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 18 16-bit code units │ │ -024464: |[024464] ip.IPPacket.calculateCheckSum:()I │ │ -024474: 5230 1103 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@0311 │ │ -024478: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -02447a: 3310 0d00 |0003: if-ne v0, v1, 0010 // +000d │ │ -02447e: 5430 0c03 |0005: iget-object v0, v3, Lip/IPPacket;.data:[B // field@030c │ │ -024482: 5231 1003 |0007: iget v1, v3, Lip/IPPacket;.offset:I // field@0310 │ │ -024486: 1302 1400 |0009: const/16 v2, #int 20 // #14 │ │ -02448a: 7130 8304 1002 |000b: invoke-static {v0, v1, v2}, Lip/CheckSum;.chkSum:([BII)I // method@0483 │ │ -024490: 0a00 |000e: move-result v0 │ │ -024492: 0f00 |000f: return v0 │ │ -024494: 1200 |0010: const/4 v0, #int 0 // #0 │ │ -024496: 0f00 |0011: return v0 │ │ +024460: |[024460] ip.IPPacket.calculateCheckSum:()I │ │ +024470: 5230 1103 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@0311 │ │ +024474: 1241 |0002: const/4 v1, #int 4 // #4 │ │ +024476: 3310 0d00 |0003: if-ne v0, v1, 0010 // +000d │ │ +02447a: 5430 0c03 |0005: iget-object v0, v3, Lip/IPPacket;.data:[B // field@030c │ │ +02447e: 5231 1003 |0007: iget v1, v3, Lip/IPPacket;.offset:I // field@0310 │ │ +024482: 1302 1400 |0009: const/16 v2, #int 20 // #14 │ │ +024486: 7130 8304 1002 |000b: invoke-static {v0, v1, v2}, Lip/CheckSum;.chkSum:([BII)I // method@0483 │ │ +02448c: 0a00 |000e: move-result v0 │ │ +02448e: 0f00 |000f: return v0 │ │ +024490: 1200 |0010: const/4 v0, #int 0 // #0 │ │ +024492: 0f00 |0011: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=161 │ │ 0x0005 line=162 │ │ locals : │ │ 0x0000 - 0x0012 reg=3 this Lip/IPPacket; │ │ │ │ @@ -24941,22 +24941,22 @@ │ │ type : '(II)[I' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 4 │ │ insns size : 14 16-bit code units │ │ -0246a8: |[0246a8] ip.IPPacket.copyFromHeader:(II)[I │ │ -0246b8: 5420 0e03 |0000: iget-object v0, v2, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -0246bc: 6e20 e905 3000 |0002: invoke-virtual {v0, v3}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@05e9 │ │ -0246c2: 2343 9a01 |0005: new-array v3, v4, [I // type@019a │ │ -0246c6: 5420 0e03 |0007: iget-object v0, v2, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -0246ca: 1201 |0009: const/4 v1, #int 0 // #0 │ │ -0246cc: 6e40 e805 3041 |000a: invoke-virtual {v0, v3, v1, v4}, Ljava/nio/IntBuffer;.get:([III)Ljava/nio/IntBuffer; // method@05e8 │ │ -0246d2: 1103 |000d: return-object v3 │ │ +0246a4: |[0246a4] ip.IPPacket.copyFromHeader:(II)[I │ │ +0246b4: 5420 0e03 |0000: iget-object v0, v2, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +0246b8: 6e20 e905 3000 |0002: invoke-virtual {v0, v3}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@05e9 │ │ +0246be: 2343 9a01 |0005: new-array v3, v4, [I // type@019a │ │ +0246c2: 5420 0e03 |0007: iget-object v0, v2, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +0246c6: 1201 |0009: const/4 v1, #int 0 // #0 │ │ +0246c8: 6e40 e805 3041 |000a: invoke-virtual {v0, v3, v1, v4}, Ljava/nio/IntBuffer;.get:([III)Ljava/nio/IntBuffer; // method@05e8 │ │ +0246ce: 1103 |000d: return-object v3 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=200 │ │ 0x0005 line=201 │ │ 0x0007 line=202 │ │ locals : │ │ 0x0000 - 0x000e reg=2 this Lip/IPPacket; │ │ @@ -24968,23 +24968,23 @@ │ │ type : '([BIIIII[I[I)Lip/IPPacket;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 8 │ │ ins : 8 │ │ outs : 5 │ │ insns size : 16 16-bit code units │ │ -0248f4: |[0248f4] ip.IPPacket.createIPPacket:([BIIIII[I[I)Lip/IPPacket; │ │ -024904: e003 0304 |0000: shl-int/lit8 v3, v3, #int 4 // #04 │ │ -024908: d533 ff00 |0002: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -02490c: 8d33 |0004: int-to-byte v3, v3 │ │ -02490e: 4f03 0001 |0005: aput-byte v3, v0, v1 │ │ -024912: 2203 eb00 |0007: new-instance v3, Lip/IPPacket; // type@00eb │ │ -024916: 7040 8504 0321 |0009: invoke-direct {v3, v0, v1, v2}, Lip/IPPacket;.:([BII)V // method@0485 │ │ -02491c: 6e57 9504 4365 |000c: invoke-virtual {v3, v4, v5, v6, v7}, Lip/IPPacket;.initIPHeader:(II[I[I)V // method@0495 │ │ -024922: 1103 |000f: return-object v3 │ │ +0248f0: |[0248f0] ip.IPPacket.createIPPacket:([BIIIII[I[I)Lip/IPPacket; │ │ +024900: e003 0304 |0000: shl-int/lit8 v3, v3, #int 4 // #04 │ │ +024904: d533 ff00 |0002: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +024908: 8d33 |0004: int-to-byte v3, v3 │ │ +02490a: 4f03 0001 |0005: aput-byte v3, v0, v1 │ │ +02490e: 2203 eb00 |0007: new-instance v3, Lip/IPPacket; // type@00eb │ │ +024912: 7040 8504 0321 |0009: invoke-direct {v3, v0, v1, v2}, Lip/IPPacket;.:([BII)V // method@0485 │ │ +024918: 6e57 9504 4365 |000c: invoke-virtual {v3, v4, v5, v6, v7}, Lip/IPPacket;.initIPHeader:(II[I[I)V // method@0495 │ │ +02491e: 1103 |000f: return-object v3 │ │ catches : (none) │ │ positions : │ │ 0x0005 line=115 │ │ 0x0007 line=116 │ │ 0x000c line=117 │ │ locals : │ │ 0x0000 - 0x0010 reg=0 (null) [B │ │ @@ -25001,23 +25001,23 @@ │ │ type : '([BIII)Lip/IPPacket;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 16 16-bit code units │ │ -024924: |[024924] ip.IPPacket.createInitialIPPacket:([BIII)Lip/IPPacket; │ │ -024934: e003 0304 |0000: shl-int/lit8 v3, v3, #int 4 // #04 │ │ -024938: d533 ff00 |0002: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -02493c: 8d33 |0004: int-to-byte v3, v3 │ │ -02493e: 4f03 0001 |0005: aput-byte v3, v0, v1 │ │ -024942: 2203 eb00 |0007: new-instance v3, Lip/IPPacket; // type@00eb │ │ -024946: 7040 8504 0321 |0009: invoke-direct {v3, v0, v1, v2}, Lip/IPPacket;.:([BII)V // method@0485 │ │ -02494c: 6e10 9604 0300 |000c: invoke-virtual {v3}, Lip/IPPacket;.initInitialIPHeader:()V // method@0496 │ │ -024952: 1103 |000f: return-object v3 │ │ +024920: |[024920] ip.IPPacket.createInitialIPPacket:([BIII)Lip/IPPacket; │ │ +024930: e003 0304 |0000: shl-int/lit8 v3, v3, #int 4 // #04 │ │ +024934: d533 ff00 |0002: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +024938: 8d33 |0004: int-to-byte v3, v3 │ │ +02493a: 4f03 0001 |0005: aput-byte v3, v0, v1 │ │ +02493e: 2203 eb00 |0007: new-instance v3, Lip/IPPacket; // type@00eb │ │ +024942: 7040 8504 0321 |0009: invoke-direct {v3, v0, v1, v2}, Lip/IPPacket;.:([BII)V // method@0485 │ │ +024948: 6e10 9604 0300 |000c: invoke-virtual {v3}, Lip/IPPacket;.initInitialIPHeader:()V // method@0496 │ │ +02494e: 1103 |000f: return-object v3 │ │ catches : (none) │ │ positions : │ │ 0x0005 line=108 │ │ 0x0007 line=109 │ │ 0x000c line=110 │ │ locals : │ │ 0x0000 - 0x0010 reg=0 (null) [B │ │ @@ -25030,27 +25030,27 @@ │ │ type : '()I' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 2 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 17 16-bit code units │ │ -0244b4: |[0244b4] ip.IPPacket.generateId:()I │ │ -0244c4: 6200 0a03 |0000: sget-object v0, Lip/IPPacket;.ID_SYNC:Ljava/lang/Object; // field@030a │ │ -0244c8: 1d00 |0002: monitor-enter v0 │ │ -0244ca: 6601 0b03 |0003: sget-short v1, Lip/IPPacket;.curID:S // field@030b │ │ -0244ce: d801 0101 |0005: add-int/lit8 v1, v1, #int 1 // #01 │ │ -0244d2: 8f11 |0007: int-to-short v1, v1 │ │ -0244d4: 6d01 0b03 |0008: sput-short v1, Lip/IPPacket;.curID:S // field@030b │ │ -0244d8: e001 0110 |000a: shl-int/lit8 v1, v1, #int 16 // #10 │ │ -0244dc: 1e00 |000c: monitor-exit v0 │ │ -0244de: 0f01 |000d: return v1 │ │ -0244e0: 0d01 |000e: move-exception v1 │ │ -0244e2: 1e00 |000f: monitor-exit v0 │ │ -0244e4: 2701 |0010: throw v1 │ │ +0244b0: |[0244b0] ip.IPPacket.generateId:()I │ │ +0244c0: 6200 0a03 |0000: sget-object v0, Lip/IPPacket;.ID_SYNC:Ljava/lang/Object; // field@030a │ │ +0244c4: 1d00 |0002: monitor-enter v0 │ │ +0244c6: 6601 0b03 |0003: sget-short v1, Lip/IPPacket;.curID:S // field@030b │ │ +0244ca: d801 0101 |0005: add-int/lit8 v1, v1, #int 1 // #01 │ │ +0244ce: 8f11 |0007: int-to-short v1, v1 │ │ +0244d0: 6d01 0b03 |0008: sput-short v1, Lip/IPPacket;.curID:S // field@030b │ │ +0244d4: e001 0110 |000a: shl-int/lit8 v1, v1, #int 16 // #10 │ │ +0244d8: 1e00 |000c: monitor-exit v0 │ │ +0244da: 0f01 |000d: return v1 │ │ +0244dc: 0d01 |000e: move-exception v1 │ │ +0244de: 1e00 |000f: monitor-exit v0 │ │ +0244e0: 2701 |0010: throw v1 │ │ catches : 1 │ │ 0x0003 - 0x0010 │ │ -> 0x000e │ │ positions : │ │ 0x0000 line=153 │ │ 0x0003 line=154 │ │ 0x000c line=155 │ │ @@ -25062,140 +25062,140 @@ │ │ type : '([I)Ljava/net/InetAddress;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 18 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 215 16-bit code units │ │ -024954: |[024954] ip.IPPacket.int2ip:([I)Ljava/net/InetAddress; │ │ -024964: 0800 1100 |0000: move-object/from16 v0, v17 │ │ -024968: 2101 |0002: array-length v1, v0 │ │ -02496a: 1232 |0003: const/4 v2, #int 3 // #3 │ │ -02496c: 1223 |0004: const/4 v3, #int 2 // #2 │ │ -02496e: 1244 |0005: const/4 v4, #int 4 // #4 │ │ -024970: 1205 |0006: const/4 v5, #int 0 // #0 │ │ -024972: 1216 |0007: const/4 v6, #int 1 // #1 │ │ -024974: 3361 2200 |0008: if-ne v1, v6, 002a // +0022 │ │ -024978: 4400 0005 |000a: aget v0, v0, v5 │ │ -02497c: e101 0018 |000c: shr-int/lit8 v1, v0, #int 24 // #18 │ │ -024980: d511 ff00 |000e: and-int/lit16 v1, v1, #int 255 // #00ff │ │ -024984: 8d11 |0010: int-to-byte v1, v1 │ │ -024986: e107 0010 |0011: shr-int/lit8 v7, v0, #int 16 // #10 │ │ -02498a: d577 ff00 |0013: and-int/lit16 v7, v7, #int 255 // #00ff │ │ -02498e: 8d77 |0015: int-to-byte v7, v7 │ │ -024990: e108 0008 |0016: shr-int/lit8 v8, v0, #int 8 // #08 │ │ -024994: d588 ff00 |0018: and-int/lit16 v8, v8, #int 255 // #00ff │ │ -024998: 8d88 |001a: int-to-byte v8, v8 │ │ -02499a: d500 ff00 |001b: and-int/lit16 v0, v0, #int 255 // #00ff │ │ -02499e: 8d00 |001d: int-to-byte v0, v0 │ │ -0249a0: 2344 9901 |001e: new-array v4, v4, [B // type@0199 │ │ -0249a4: 4f01 0405 |0020: aput-byte v1, v4, v5 │ │ -0249a8: 4f07 0406 |0022: aput-byte v7, v4, v6 │ │ -0249ac: 4f08 0403 |0024: aput-byte v8, v4, v3 │ │ -0249b0: 4f00 0402 |0026: aput-byte v0, v4, v2 │ │ -0249b4: 2900 9500 |0028: goto/16 00bd // +0095 │ │ -0249b8: 2101 |002a: array-length v1, v0 │ │ -0249ba: 3341 9700 |002b: if-ne v1, v4, 00c2 // +0097 │ │ -0249be: 4401 0005 |002d: aget v1, v0, v5 │ │ -0249c2: e107 0118 |002f: shr-int/lit8 v7, v1, #int 24 // #18 │ │ -0249c6: d577 ff00 |0031: and-int/lit16 v7, v7, #int 255 // #00ff │ │ -0249ca: 8d77 |0033: int-to-byte v7, v7 │ │ -0249cc: e108 0110 |0034: shr-int/lit8 v8, v1, #int 16 // #10 │ │ -0249d0: d588 ff00 |0036: and-int/lit16 v8, v8, #int 255 // #00ff │ │ -0249d4: 8d88 |0038: int-to-byte v8, v8 │ │ -0249d6: e109 0108 |0039: shr-int/lit8 v9, v1, #int 8 // #08 │ │ -0249da: d599 ff00 |003b: and-int/lit16 v9, v9, #int 255 // #00ff │ │ -0249de: 8d99 |003d: int-to-byte v9, v9 │ │ -0249e0: d511 ff00 |003e: and-int/lit16 v1, v1, #int 255 // #00ff │ │ -0249e4: 8d11 |0040: int-to-byte v1, v1 │ │ -0249e6: 440a 0006 |0041: aget v10, v0, v6 │ │ -0249ea: e10b 0a18 |0043: shr-int/lit8 v11, v10, #int 24 // #18 │ │ -0249ee: d5bb ff00 |0045: and-int/lit16 v11, v11, #int 255 // #00ff │ │ -0249f2: 8dbb |0047: int-to-byte v11, v11 │ │ -0249f4: e10c 0a10 |0048: shr-int/lit8 v12, v10, #int 16 // #10 │ │ -0249f8: d5cc ff00 |004a: and-int/lit16 v12, v12, #int 255 // #00ff │ │ -0249fc: 8dcc |004c: int-to-byte v12, v12 │ │ -0249fe: e10d 0a08 |004d: shr-int/lit8 v13, v10, #int 8 // #08 │ │ -024a02: d5dd ff00 |004f: and-int/lit16 v13, v13, #int 255 // #00ff │ │ -024a06: 8ddd |0051: int-to-byte v13, v13 │ │ -024a08: d5aa ff00 |0052: and-int/lit16 v10, v10, #int 255 // #00ff │ │ -024a0c: 8daa |0054: int-to-byte v10, v10 │ │ -024a0e: 440e 0003 |0055: aget v14, v0, v3 │ │ -024a12: e10f 0e18 |0057: shr-int/lit8 v15, v14, #int 24 // #18 │ │ -024a16: d5ff ff00 |0059: and-int/lit16 v15, v15, #int 255 // #00ff │ │ -024a1a: 8dff |005b: int-to-byte v15, v15 │ │ -024a1c: e104 0e10 |005c: shr-int/lit8 v4, v14, #int 16 // #10 │ │ -024a20: d544 ff00 |005e: and-int/lit16 v4, v4, #int 255 // #00ff │ │ -024a24: 8d44 |0060: int-to-byte v4, v4 │ │ -024a26: e103 0e08 |0061: shr-int/lit8 v3, v14, #int 8 // #08 │ │ -024a2a: d533 ff00 |0063: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -024a2e: 8d33 |0065: int-to-byte v3, v3 │ │ -024a30: d5ee ff00 |0066: and-int/lit16 v14, v14, #int 255 // #00ff │ │ -024a34: 8dee |0068: int-to-byte v14, v14 │ │ -024a36: 4400 0002 |0069: aget v0, v0, v2 │ │ -024a3a: e102 0018 |006b: shr-int/lit8 v2, v0, #int 24 // #18 │ │ -024a3e: d522 ff00 |006d: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -024a42: 8d22 |006f: int-to-byte v2, v2 │ │ -024a44: e106 0010 |0070: shr-int/lit8 v6, v0, #int 16 // #10 │ │ -024a48: d566 ff00 |0072: and-int/lit16 v6, v6, #int 255 // #00ff │ │ -024a4c: 8d66 |0074: int-to-byte v6, v6 │ │ -024a4e: e105 0008 |0075: shr-int/lit8 v5, v0, #int 8 // #08 │ │ -024a52: d555 ff00 |0077: and-int/lit16 v5, v5, #int 255 // #00ff │ │ -024a56: 8d55 |0079: int-to-byte v5, v5 │ │ -024a58: d500 ff00 |007a: and-int/lit16 v0, v0, #int 255 // #00ff │ │ -024a5c: 8d00 |007c: int-to-byte v0, v0 │ │ -024a5e: 0211 0000 |007d: move/from16 v17, v0 │ │ -024a62: 1300 1000 |007f: const/16 v0, #int 16 // #10 │ │ -024a66: 2300 9901 |0081: new-array v0, v0, [B // type@0199 │ │ -024a6a: 1310 0000 |0083: const/16 v16, #int 0 // #0 │ │ -024a6e: 4f07 0010 |0085: aput-byte v7, v0, v16 │ │ -024a72: 1217 |0087: const/4 v7, #int 1 // #1 │ │ -024a74: 4f08 0007 |0088: aput-byte v8, v0, v7 │ │ -024a78: 1227 |008a: const/4 v7, #int 2 // #2 │ │ -024a7a: 4f09 0007 |008b: aput-byte v9, v0, v7 │ │ -024a7e: 1237 |008d: const/4 v7, #int 3 // #3 │ │ -024a80: 4f01 0007 |008e: aput-byte v1, v0, v7 │ │ -024a84: 1241 |0090: const/4 v1, #int 4 // #4 │ │ -024a86: 4f0b 0001 |0091: aput-byte v11, v0, v1 │ │ -024a8a: 1251 |0093: const/4 v1, #int 5 // #5 │ │ -024a8c: 4f0c 0001 |0094: aput-byte v12, v0, v1 │ │ -024a90: 1261 |0096: const/4 v1, #int 6 // #6 │ │ -024a92: 4f0d 0001 |0097: aput-byte v13, v0, v1 │ │ -024a96: 1271 |0099: const/4 v1, #int 7 // #7 │ │ -024a98: 4f0a 0001 |009a: aput-byte v10, v0, v1 │ │ -024a9c: 1301 0800 |009c: const/16 v1, #int 8 // #8 │ │ -024aa0: 4f0f 0001 |009e: aput-byte v15, v0, v1 │ │ -024aa4: 1301 0900 |00a0: const/16 v1, #int 9 // #9 │ │ -024aa8: 4f04 0001 |00a2: aput-byte v4, v0, v1 │ │ -024aac: 1301 0a00 |00a4: const/16 v1, #int 10 // #a │ │ -024ab0: 4f03 0001 |00a6: aput-byte v3, v0, v1 │ │ -024ab4: 1301 0b00 |00a8: const/16 v1, #int 11 // #b │ │ -024ab8: 4f0e 0001 |00aa: aput-byte v14, v0, v1 │ │ -024abc: 1301 0c00 |00ac: const/16 v1, #int 12 // #c │ │ -024ac0: 4f02 0001 |00ae: aput-byte v2, v0, v1 │ │ -024ac4: 1301 0d00 |00b0: const/16 v1, #int 13 // #d │ │ -024ac8: 4f06 0001 |00b2: aput-byte v6, v0, v1 │ │ -024acc: 1301 0e00 |00b4: const/16 v1, #int 14 // #e │ │ -024ad0: 4f05 0001 |00b6: aput-byte v5, v0, v1 │ │ -024ad4: 1301 0f00 |00b8: const/16 v1, #int 15 // #f │ │ -024ad8: 4f11 0001 |00ba: aput-byte v17, v0, v1 │ │ -024adc: 0704 |00bc: move-object v4, v0 │ │ -024ade: 7110 ae05 0400 |00bd: invoke-static {v4}, Ljava/net/InetAddress;.getByAddress:([B)Ljava/net/InetAddress; // method@05ae │ │ -024ae4: 0c00 |00c0: move-result-object v0 │ │ -024ae6: 1100 |00c1: return-object v0 │ │ -024ae8: 2201 1701 |00c2: new-instance v1, Ljava/lang/IllegalArgumentException; // type@0117 │ │ -024aec: 2202 2801 |00c4: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -024af0: 1a03 f201 |00c6: const-string v3, "Invalid array length:" // string@01f2 │ │ -024af4: 7020 8405 3200 |00c8: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -024afa: 2100 |00cb: array-length v0, v0 │ │ -024afc: 6e20 8605 0200 |00cc: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -024b02: 6e10 8b05 0200 |00cf: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -024b08: 0c00 |00d2: move-result-object v0 │ │ -024b0a: 7020 3c05 0100 |00d3: invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@053c │ │ -024b10: 2701 |00d6: throw v1 │ │ +024950: |[024950] ip.IPPacket.int2ip:([I)Ljava/net/InetAddress; │ │ +024960: 0800 1100 |0000: move-object/from16 v0, v17 │ │ +024964: 2101 |0002: array-length v1, v0 │ │ +024966: 1232 |0003: const/4 v2, #int 3 // #3 │ │ +024968: 1223 |0004: const/4 v3, #int 2 // #2 │ │ +02496a: 1244 |0005: const/4 v4, #int 4 // #4 │ │ +02496c: 1205 |0006: const/4 v5, #int 0 // #0 │ │ +02496e: 1216 |0007: const/4 v6, #int 1 // #1 │ │ +024970: 3361 2200 |0008: if-ne v1, v6, 002a // +0022 │ │ +024974: 4400 0005 |000a: aget v0, v0, v5 │ │ +024978: e101 0018 |000c: shr-int/lit8 v1, v0, #int 24 // #18 │ │ +02497c: d511 ff00 |000e: and-int/lit16 v1, v1, #int 255 // #00ff │ │ +024980: 8d11 |0010: int-to-byte v1, v1 │ │ +024982: e107 0010 |0011: shr-int/lit8 v7, v0, #int 16 // #10 │ │ +024986: d577 ff00 |0013: and-int/lit16 v7, v7, #int 255 // #00ff │ │ +02498a: 8d77 |0015: int-to-byte v7, v7 │ │ +02498c: e108 0008 |0016: shr-int/lit8 v8, v0, #int 8 // #08 │ │ +024990: d588 ff00 |0018: and-int/lit16 v8, v8, #int 255 // #00ff │ │ +024994: 8d88 |001a: int-to-byte v8, v8 │ │ +024996: d500 ff00 |001b: and-int/lit16 v0, v0, #int 255 // #00ff │ │ +02499a: 8d00 |001d: int-to-byte v0, v0 │ │ +02499c: 2344 9901 |001e: new-array v4, v4, [B // type@0199 │ │ +0249a0: 4f01 0405 |0020: aput-byte v1, v4, v5 │ │ +0249a4: 4f07 0406 |0022: aput-byte v7, v4, v6 │ │ +0249a8: 4f08 0403 |0024: aput-byte v8, v4, v3 │ │ +0249ac: 4f00 0402 |0026: aput-byte v0, v4, v2 │ │ +0249b0: 2900 9500 |0028: goto/16 00bd // +0095 │ │ +0249b4: 2101 |002a: array-length v1, v0 │ │ +0249b6: 3341 9700 |002b: if-ne v1, v4, 00c2 // +0097 │ │ +0249ba: 4401 0005 |002d: aget v1, v0, v5 │ │ +0249be: e107 0118 |002f: shr-int/lit8 v7, v1, #int 24 // #18 │ │ +0249c2: d577 ff00 |0031: and-int/lit16 v7, v7, #int 255 // #00ff │ │ +0249c6: 8d77 |0033: int-to-byte v7, v7 │ │ +0249c8: e108 0110 |0034: shr-int/lit8 v8, v1, #int 16 // #10 │ │ +0249cc: d588 ff00 |0036: and-int/lit16 v8, v8, #int 255 // #00ff │ │ +0249d0: 8d88 |0038: int-to-byte v8, v8 │ │ +0249d2: e109 0108 |0039: shr-int/lit8 v9, v1, #int 8 // #08 │ │ +0249d6: d599 ff00 |003b: and-int/lit16 v9, v9, #int 255 // #00ff │ │ +0249da: 8d99 |003d: int-to-byte v9, v9 │ │ +0249dc: d511 ff00 |003e: and-int/lit16 v1, v1, #int 255 // #00ff │ │ +0249e0: 8d11 |0040: int-to-byte v1, v1 │ │ +0249e2: 440a 0006 |0041: aget v10, v0, v6 │ │ +0249e6: e10b 0a18 |0043: shr-int/lit8 v11, v10, #int 24 // #18 │ │ +0249ea: d5bb ff00 |0045: and-int/lit16 v11, v11, #int 255 // #00ff │ │ +0249ee: 8dbb |0047: int-to-byte v11, v11 │ │ +0249f0: e10c 0a10 |0048: shr-int/lit8 v12, v10, #int 16 // #10 │ │ +0249f4: d5cc ff00 |004a: and-int/lit16 v12, v12, #int 255 // #00ff │ │ +0249f8: 8dcc |004c: int-to-byte v12, v12 │ │ +0249fa: e10d 0a08 |004d: shr-int/lit8 v13, v10, #int 8 // #08 │ │ +0249fe: d5dd ff00 |004f: and-int/lit16 v13, v13, #int 255 // #00ff │ │ +024a02: 8ddd |0051: int-to-byte v13, v13 │ │ +024a04: d5aa ff00 |0052: and-int/lit16 v10, v10, #int 255 // #00ff │ │ +024a08: 8daa |0054: int-to-byte v10, v10 │ │ +024a0a: 440e 0003 |0055: aget v14, v0, v3 │ │ +024a0e: e10f 0e18 |0057: shr-int/lit8 v15, v14, #int 24 // #18 │ │ +024a12: d5ff ff00 |0059: and-int/lit16 v15, v15, #int 255 // #00ff │ │ +024a16: 8dff |005b: int-to-byte v15, v15 │ │ +024a18: e104 0e10 |005c: shr-int/lit8 v4, v14, #int 16 // #10 │ │ +024a1c: d544 ff00 |005e: and-int/lit16 v4, v4, #int 255 // #00ff │ │ +024a20: 8d44 |0060: int-to-byte v4, v4 │ │ +024a22: e103 0e08 |0061: shr-int/lit8 v3, v14, #int 8 // #08 │ │ +024a26: d533 ff00 |0063: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +024a2a: 8d33 |0065: int-to-byte v3, v3 │ │ +024a2c: d5ee ff00 |0066: and-int/lit16 v14, v14, #int 255 // #00ff │ │ +024a30: 8dee |0068: int-to-byte v14, v14 │ │ +024a32: 4400 0002 |0069: aget v0, v0, v2 │ │ +024a36: e102 0018 |006b: shr-int/lit8 v2, v0, #int 24 // #18 │ │ +024a3a: d522 ff00 |006d: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +024a3e: 8d22 |006f: int-to-byte v2, v2 │ │ +024a40: e106 0010 |0070: shr-int/lit8 v6, v0, #int 16 // #10 │ │ +024a44: d566 ff00 |0072: and-int/lit16 v6, v6, #int 255 // #00ff │ │ +024a48: 8d66 |0074: int-to-byte v6, v6 │ │ +024a4a: e105 0008 |0075: shr-int/lit8 v5, v0, #int 8 // #08 │ │ +024a4e: d555 ff00 |0077: and-int/lit16 v5, v5, #int 255 // #00ff │ │ +024a52: 8d55 |0079: int-to-byte v5, v5 │ │ +024a54: d500 ff00 |007a: and-int/lit16 v0, v0, #int 255 // #00ff │ │ +024a58: 8d00 |007c: int-to-byte v0, v0 │ │ +024a5a: 0211 0000 |007d: move/from16 v17, v0 │ │ +024a5e: 1300 1000 |007f: const/16 v0, #int 16 // #10 │ │ +024a62: 2300 9901 |0081: new-array v0, v0, [B // type@0199 │ │ +024a66: 1310 0000 |0083: const/16 v16, #int 0 // #0 │ │ +024a6a: 4f07 0010 |0085: aput-byte v7, v0, v16 │ │ +024a6e: 1217 |0087: const/4 v7, #int 1 // #1 │ │ +024a70: 4f08 0007 |0088: aput-byte v8, v0, v7 │ │ +024a74: 1227 |008a: const/4 v7, #int 2 // #2 │ │ +024a76: 4f09 0007 |008b: aput-byte v9, v0, v7 │ │ +024a7a: 1237 |008d: const/4 v7, #int 3 // #3 │ │ +024a7c: 4f01 0007 |008e: aput-byte v1, v0, v7 │ │ +024a80: 1241 |0090: const/4 v1, #int 4 // #4 │ │ +024a82: 4f0b 0001 |0091: aput-byte v11, v0, v1 │ │ +024a86: 1251 |0093: const/4 v1, #int 5 // #5 │ │ +024a88: 4f0c 0001 |0094: aput-byte v12, v0, v1 │ │ +024a8c: 1261 |0096: const/4 v1, #int 6 // #6 │ │ +024a8e: 4f0d 0001 |0097: aput-byte v13, v0, v1 │ │ +024a92: 1271 |0099: const/4 v1, #int 7 // #7 │ │ +024a94: 4f0a 0001 |009a: aput-byte v10, v0, v1 │ │ +024a98: 1301 0800 |009c: const/16 v1, #int 8 // #8 │ │ +024a9c: 4f0f 0001 |009e: aput-byte v15, v0, v1 │ │ +024aa0: 1301 0900 |00a0: const/16 v1, #int 9 // #9 │ │ +024aa4: 4f04 0001 |00a2: aput-byte v4, v0, v1 │ │ +024aa8: 1301 0a00 |00a4: const/16 v1, #int 10 // #a │ │ +024aac: 4f03 0001 |00a6: aput-byte v3, v0, v1 │ │ +024ab0: 1301 0b00 |00a8: const/16 v1, #int 11 // #b │ │ +024ab4: 4f0e 0001 |00aa: aput-byte v14, v0, v1 │ │ +024ab8: 1301 0c00 |00ac: const/16 v1, #int 12 // #c │ │ +024abc: 4f02 0001 |00ae: aput-byte v2, v0, v1 │ │ +024ac0: 1301 0d00 |00b0: const/16 v1, #int 13 // #d │ │ +024ac4: 4f06 0001 |00b2: aput-byte v6, v0, v1 │ │ +024ac8: 1301 0e00 |00b4: const/16 v1, #int 14 // #e │ │ +024acc: 4f05 0001 |00b6: aput-byte v5, v0, v1 │ │ +024ad0: 1301 0f00 |00b8: const/16 v1, #int 15 // #f │ │ +024ad4: 4f11 0001 |00ba: aput-byte v17, v0, v1 │ │ +024ad8: 0704 |00bc: move-object v4, v0 │ │ +024ada: 7110 ae05 0400 |00bd: invoke-static {v4}, Ljava/net/InetAddress;.getByAddress:([B)Ljava/net/InetAddress; // method@05ae │ │ +024ae0: 0c00 |00c0: move-result-object v0 │ │ +024ae2: 1100 |00c1: return-object v0 │ │ +024ae4: 2201 1701 |00c2: new-instance v1, Ljava/lang/IllegalArgumentException; // type@0117 │ │ +024ae8: 2202 2801 |00c4: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +024aec: 1a03 f201 |00c6: const-string v3, "Invalid array length:" // string@01f2 │ │ +024af0: 7020 8405 3200 |00c8: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +024af6: 2100 |00cb: array-length v0, v0 │ │ +024af8: 6e20 8605 0200 |00cc: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +024afe: 6e10 8b05 0200 |00cf: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +024b04: 0c00 |00d2: move-result-object v0 │ │ +024b06: 7020 3c05 0100 |00d3: invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@053c │ │ +024b0c: 2701 |00d6: throw v1 │ │ catches : (none) │ │ positions : │ │ 0x0002 line=136 │ │ 0x000a line=137 │ │ 0x002a line=138 │ │ 0x002d line=139 │ │ 0x00bd line=148 │ │ @@ -25208,111 +25208,111 @@ │ │ type : '(Ljava/net/InetAddress;)[I' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 8 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 161 16-bit code units │ │ -0247a0: |[0247a0] ip.IPPacket.ip2int:(Ljava/net/InetAddress;)[I │ │ -0247b0: 6e10 ac05 0700 |0000: invoke-virtual {v7}, Ljava/net/InetAddress;.getAddress:()[B // method@05ac │ │ -0247b6: 0c07 |0003: move-result-object v7 │ │ -0247b8: 2170 |0004: array-length v0, v7 │ │ -0247ba: 1201 |0005: const/4 v1, #int 0 // #0 │ │ -0247bc: 1212 |0006: const/4 v2, #int 1 // #1 │ │ -0247be: 1223 |0007: const/4 v3, #int 2 // #2 │ │ -0247c0: 1234 |0008: const/4 v4, #int 3 // #3 │ │ -0247c2: 1305 0800 |0009: const/16 v5, #int 8 // #8 │ │ -0247c6: 1246 |000b: const/4 v6, #int 4 // #4 │ │ -0247c8: 3360 1f00 |000c: if-ne v0, v6, 002b // +001f │ │ -0247cc: 4800 0704 |000e: aget-byte v0, v7, v4 │ │ -0247d0: d500 ff00 |0010: and-int/lit16 v0, v0, #int 255 // #00ff │ │ -0247d4: 4803 0703 |0012: aget-byte v3, v7, v3 │ │ -0247d8: d533 ff00 |0014: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -0247dc: b853 |0016: shl-int/2addr v3, v5 │ │ -0247de: b630 |0017: or-int/2addr v0, v3 │ │ -0247e0: 4802 0702 |0018: aget-byte v2, v7, v2 │ │ -0247e4: d522 ff00 |001a: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -0247e8: e002 0210 |001c: shl-int/lit8 v2, v2, #int 16 // #10 │ │ -0247ec: b620 |001e: or-int/2addr v0, v2 │ │ -0247ee: 4807 0701 |001f: aget-byte v7, v7, v1 │ │ -0247f2: d577 ff00 |0021: and-int/lit16 v7, v7, #int 255 // #00ff │ │ -0247f6: e007 0718 |0023: shl-int/lit8 v7, v7, #int 24 // #18 │ │ -0247fa: b607 |0025: or-int/2addr v7, v0 │ │ -0247fc: 2410 9a01 0700 |0026: filled-new-array {v7}, [I // type@019a │ │ -024802: 0c07 |0029: move-result-object v7 │ │ -024804: 1107 |002a: return-object v7 │ │ -024806: 4800 0704 |002b: aget-byte v0, v7, v4 │ │ -02480a: d500 ff00 |002d: and-int/lit16 v0, v0, #int 255 // #00ff │ │ -02480e: 4803 0703 |002f: aget-byte v3, v7, v3 │ │ -024812: d533 ff00 |0031: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -024816: b853 |0033: shl-int/2addr v3, v5 │ │ -024818: b630 |0034: or-int/2addr v0, v3 │ │ -02481a: 4802 0702 |0035: aget-byte v2, v7, v2 │ │ -02481e: d522 ff00 |0037: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -024822: e002 0210 |0039: shl-int/lit8 v2, v2, #int 16 // #10 │ │ -024826: b620 |003b: or-int/2addr v0, v2 │ │ -024828: 4801 0701 |003c: aget-byte v1, v7, v1 │ │ -02482c: d511 ff00 |003e: and-int/lit16 v1, v1, #int 255 // #00ff │ │ -024830: e001 0118 |0040: shl-int/lit8 v1, v1, #int 24 // #18 │ │ -024834: b610 |0042: or-int/2addr v0, v1 │ │ -024836: 1271 |0043: const/4 v1, #int 7 // #7 │ │ -024838: 4801 0701 |0044: aget-byte v1, v7, v1 │ │ -02483c: d511 ff00 |0046: and-int/lit16 v1, v1, #int 255 // #00ff │ │ -024840: 1262 |0048: const/4 v2, #int 6 // #6 │ │ -024842: 4802 0702 |0049: aget-byte v2, v7, v2 │ │ -024846: d522 ff00 |004b: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -02484a: b852 |004d: shl-int/2addr v2, v5 │ │ -02484c: b621 |004e: or-int/2addr v1, v2 │ │ -02484e: 1252 |004f: const/4 v2, #int 5 // #5 │ │ -024850: 4802 0702 |0050: aget-byte v2, v7, v2 │ │ -024854: d522 ff00 |0052: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -024858: e002 0210 |0054: shl-int/lit8 v2, v2, #int 16 // #10 │ │ -02485c: b621 |0056: or-int/2addr v1, v2 │ │ -02485e: 4802 0706 |0057: aget-byte v2, v7, v6 │ │ -024862: d522 ff00 |0059: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -024866: e002 0218 |005b: shl-int/lit8 v2, v2, #int 24 // #18 │ │ -02486a: b621 |005d: or-int/2addr v1, v2 │ │ -02486c: 1302 0b00 |005e: const/16 v2, #int 11 // #b │ │ -024870: 4802 0702 |0060: aget-byte v2, v7, v2 │ │ -024874: d522 ff00 |0062: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -024878: 1303 0a00 |0064: const/16 v3, #int 10 // #a │ │ -02487c: 4803 0703 |0066: aget-byte v3, v7, v3 │ │ -024880: d533 ff00 |0068: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -024884: b853 |006a: shl-int/2addr v3, v5 │ │ -024886: b632 |006b: or-int/2addr v2, v3 │ │ -024888: 1303 0900 |006c: const/16 v3, #int 9 // #9 │ │ -02488c: 4803 0703 |006e: aget-byte v3, v7, v3 │ │ -024890: d533 ff00 |0070: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -024894: e003 0310 |0072: shl-int/lit8 v3, v3, #int 16 // #10 │ │ -024898: b632 |0074: or-int/2addr v2, v3 │ │ -02489a: 4803 0705 |0075: aget-byte v3, v7, v5 │ │ -02489e: d533 ff00 |0077: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -0248a2: e003 0318 |0079: shl-int/lit8 v3, v3, #int 24 // #18 │ │ -0248a6: b632 |007b: or-int/2addr v2, v3 │ │ -0248a8: 1303 0f00 |007c: const/16 v3, #int 15 // #f │ │ -0248ac: 4803 0703 |007e: aget-byte v3, v7, v3 │ │ -0248b0: d533 ff00 |0080: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -0248b4: 1304 0e00 |0082: const/16 v4, #int 14 // #e │ │ -0248b8: 4804 0704 |0084: aget-byte v4, v7, v4 │ │ -0248bc: d544 ff00 |0086: and-int/lit16 v4, v4, #int 255 // #00ff │ │ -0248c0: b854 |0088: shl-int/2addr v4, v5 │ │ -0248c2: b643 |0089: or-int/2addr v3, v4 │ │ -0248c4: 1304 0d00 |008a: const/16 v4, #int 13 // #d │ │ -0248c8: 4804 0704 |008c: aget-byte v4, v7, v4 │ │ -0248cc: d544 ff00 |008e: and-int/lit16 v4, v4, #int 255 // #00ff │ │ -0248d0: e004 0410 |0090: shl-int/lit8 v4, v4, #int 16 // #10 │ │ -0248d4: b643 |0092: or-int/2addr v3, v4 │ │ -0248d6: 1304 0c00 |0093: const/16 v4, #int 12 // #c │ │ -0248da: 4807 0704 |0095: aget-byte v7, v7, v4 │ │ -0248de: d577 ff00 |0097: and-int/lit16 v7, v7, #int 255 // #00ff │ │ -0248e2: e007 0718 |0099: shl-int/lit8 v7, v7, #int 24 // #18 │ │ -0248e6: b637 |009b: or-int/2addr v7, v3 │ │ -0248e8: 2440 9a01 1072 |009c: filled-new-array {v0, v1, v2, v7}, [I // type@019a │ │ -0248ee: 0c07 |009f: move-result-object v7 │ │ -0248f0: 1107 |00a0: return-object v7 │ │ +02479c: |[02479c] ip.IPPacket.ip2int:(Ljava/net/InetAddress;)[I │ │ +0247ac: 6e10 ac05 0700 |0000: invoke-virtual {v7}, Ljava/net/InetAddress;.getAddress:()[B // method@05ac │ │ +0247b2: 0c07 |0003: move-result-object v7 │ │ +0247b4: 2170 |0004: array-length v0, v7 │ │ +0247b6: 1201 |0005: const/4 v1, #int 0 // #0 │ │ +0247b8: 1212 |0006: const/4 v2, #int 1 // #1 │ │ +0247ba: 1223 |0007: const/4 v3, #int 2 // #2 │ │ +0247bc: 1234 |0008: const/4 v4, #int 3 // #3 │ │ +0247be: 1305 0800 |0009: const/16 v5, #int 8 // #8 │ │ +0247c2: 1246 |000b: const/4 v6, #int 4 // #4 │ │ +0247c4: 3360 1f00 |000c: if-ne v0, v6, 002b // +001f │ │ +0247c8: 4800 0704 |000e: aget-byte v0, v7, v4 │ │ +0247cc: d500 ff00 |0010: and-int/lit16 v0, v0, #int 255 // #00ff │ │ +0247d0: 4803 0703 |0012: aget-byte v3, v7, v3 │ │ +0247d4: d533 ff00 |0014: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +0247d8: b853 |0016: shl-int/2addr v3, v5 │ │ +0247da: b630 |0017: or-int/2addr v0, v3 │ │ +0247dc: 4802 0702 |0018: aget-byte v2, v7, v2 │ │ +0247e0: d522 ff00 |001a: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +0247e4: e002 0210 |001c: shl-int/lit8 v2, v2, #int 16 // #10 │ │ +0247e8: b620 |001e: or-int/2addr v0, v2 │ │ +0247ea: 4807 0701 |001f: aget-byte v7, v7, v1 │ │ +0247ee: d577 ff00 |0021: and-int/lit16 v7, v7, #int 255 // #00ff │ │ +0247f2: e007 0718 |0023: shl-int/lit8 v7, v7, #int 24 // #18 │ │ +0247f6: b607 |0025: or-int/2addr v7, v0 │ │ +0247f8: 2410 9a01 0700 |0026: filled-new-array {v7}, [I // type@019a │ │ +0247fe: 0c07 |0029: move-result-object v7 │ │ +024800: 1107 |002a: return-object v7 │ │ +024802: 4800 0704 |002b: aget-byte v0, v7, v4 │ │ +024806: d500 ff00 |002d: and-int/lit16 v0, v0, #int 255 // #00ff │ │ +02480a: 4803 0703 |002f: aget-byte v3, v7, v3 │ │ +02480e: d533 ff00 |0031: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +024812: b853 |0033: shl-int/2addr v3, v5 │ │ +024814: b630 |0034: or-int/2addr v0, v3 │ │ +024816: 4802 0702 |0035: aget-byte v2, v7, v2 │ │ +02481a: d522 ff00 |0037: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +02481e: e002 0210 |0039: shl-int/lit8 v2, v2, #int 16 // #10 │ │ +024822: b620 |003b: or-int/2addr v0, v2 │ │ +024824: 4801 0701 |003c: aget-byte v1, v7, v1 │ │ +024828: d511 ff00 |003e: and-int/lit16 v1, v1, #int 255 // #00ff │ │ +02482c: e001 0118 |0040: shl-int/lit8 v1, v1, #int 24 // #18 │ │ +024830: b610 |0042: or-int/2addr v0, v1 │ │ +024832: 1271 |0043: const/4 v1, #int 7 // #7 │ │ +024834: 4801 0701 |0044: aget-byte v1, v7, v1 │ │ +024838: d511 ff00 |0046: and-int/lit16 v1, v1, #int 255 // #00ff │ │ +02483c: 1262 |0048: const/4 v2, #int 6 // #6 │ │ +02483e: 4802 0702 |0049: aget-byte v2, v7, v2 │ │ +024842: d522 ff00 |004b: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +024846: b852 |004d: shl-int/2addr v2, v5 │ │ +024848: b621 |004e: or-int/2addr v1, v2 │ │ +02484a: 1252 |004f: const/4 v2, #int 5 // #5 │ │ +02484c: 4802 0702 |0050: aget-byte v2, v7, v2 │ │ +024850: d522 ff00 |0052: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +024854: e002 0210 |0054: shl-int/lit8 v2, v2, #int 16 // #10 │ │ +024858: b621 |0056: or-int/2addr v1, v2 │ │ +02485a: 4802 0706 |0057: aget-byte v2, v7, v6 │ │ +02485e: d522 ff00 |0059: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +024862: e002 0218 |005b: shl-int/lit8 v2, v2, #int 24 // #18 │ │ +024866: b621 |005d: or-int/2addr v1, v2 │ │ +024868: 1302 0b00 |005e: const/16 v2, #int 11 // #b │ │ +02486c: 4802 0702 |0060: aget-byte v2, v7, v2 │ │ +024870: d522 ff00 |0062: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +024874: 1303 0a00 |0064: const/16 v3, #int 10 // #a │ │ +024878: 4803 0703 |0066: aget-byte v3, v7, v3 │ │ +02487c: d533 ff00 |0068: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +024880: b853 |006a: shl-int/2addr v3, v5 │ │ +024882: b632 |006b: or-int/2addr v2, v3 │ │ +024884: 1303 0900 |006c: const/16 v3, #int 9 // #9 │ │ +024888: 4803 0703 |006e: aget-byte v3, v7, v3 │ │ +02488c: d533 ff00 |0070: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +024890: e003 0310 |0072: shl-int/lit8 v3, v3, #int 16 // #10 │ │ +024894: b632 |0074: or-int/2addr v2, v3 │ │ +024896: 4803 0705 |0075: aget-byte v3, v7, v5 │ │ +02489a: d533 ff00 |0077: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +02489e: e003 0318 |0079: shl-int/lit8 v3, v3, #int 24 // #18 │ │ +0248a2: b632 |007b: or-int/2addr v2, v3 │ │ +0248a4: 1303 0f00 |007c: const/16 v3, #int 15 // #f │ │ +0248a8: 4803 0703 |007e: aget-byte v3, v7, v3 │ │ +0248ac: d533 ff00 |0080: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +0248b0: 1304 0e00 |0082: const/16 v4, #int 14 // #e │ │ +0248b4: 4804 0704 |0084: aget-byte v4, v7, v4 │ │ +0248b8: d544 ff00 |0086: and-int/lit16 v4, v4, #int 255 // #00ff │ │ +0248bc: b854 |0088: shl-int/2addr v4, v5 │ │ +0248be: b643 |0089: or-int/2addr v3, v4 │ │ +0248c0: 1304 0d00 |008a: const/16 v4, #int 13 // #d │ │ +0248c4: 4804 0704 |008c: aget-byte v4, v7, v4 │ │ +0248c8: d544 ff00 |008e: and-int/lit16 v4, v4, #int 255 // #00ff │ │ +0248cc: e004 0410 |0090: shl-int/lit8 v4, v4, #int 16 // #10 │ │ +0248d0: b643 |0092: or-int/2addr v3, v4 │ │ +0248d2: 1304 0c00 |0093: const/16 v4, #int 12 // #c │ │ +0248d6: 4807 0704 |0095: aget-byte v7, v7, v4 │ │ +0248da: d577 ff00 |0097: and-int/lit16 v7, v7, #int 255 // #00ff │ │ +0248de: e007 0718 |0099: shl-int/lit8 v7, v7, #int 24 // #18 │ │ +0248e2: b637 |009b: or-int/2addr v7, v3 │ │ +0248e4: 2440 9a01 1072 |009c: filled-new-array {v0, v1, v2, v7}, [I // type@019a │ │ +0248ea: 0c07 |009f: move-result-object v7 │ │ +0248ec: 1107 |00a0: return-object v7 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=122 │ │ 0x0004 line=123 │ │ 0x000e line=124 │ │ 0x002b line=126 │ │ locals : │ │ @@ -25324,18 +25324,18 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 5 16-bit code units │ │ -024498: |[024498] ip.IPPacket.checkCheckSum:()I │ │ -0244a8: 7010 8604 0100 |0000: invoke-direct {v1}, Lip/IPPacket;.calculateCheckSum:()I // method@0486 │ │ -0244ae: 0a00 |0003: move-result v0 │ │ -0244b0: 0f00 |0004: return v0 │ │ +024494: |[024494] ip.IPPacket.checkCheckSum:()I │ │ +0244a4: 7010 8604 0100 |0000: invoke-direct {v1}, Lip/IPPacket;.calculateCheckSum:()I // method@0486 │ │ +0244aa: 0a00 |0003: move-result v0 │ │ +0244ac: 0f00 |0004: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=168 │ │ locals : │ │ 0x0000 - 0x0005 reg=1 this Lip/IPPacket; │ │ │ │ #1 : (in Lip/IPPacket;) │ │ @@ -25343,17 +25343,17 @@ │ │ type : '()[B' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02444c: |[02444c] ip.IPPacket.getData:()[B │ │ -02445c: 5410 0c03 |0000: iget-object v0, v1, Lip/IPPacket;.data:[B // field@030c │ │ -024460: 1100 |0002: return-object v0 │ │ +024448: |[024448] ip.IPPacket.getData:()[B │ │ +024458: 5410 0c03 |0000: iget-object v0, v1, Lip/IPPacket;.data:[B // field@030c │ │ +02445c: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=252 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lip/IPPacket; │ │ │ │ #2 : (in Lip/IPPacket;) │ │ @@ -25361,37 +25361,37 @@ │ │ type : '()[I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 41 16-bit code units │ │ -0246d4: |[0246d4] ip.IPPacket.getDestIP:()[I │ │ -0246e4: 5230 1103 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@0311 │ │ -0246e8: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -0246ea: 3310 0800 |0003: if-ne v0, v1, 000b // +0008 │ │ -0246ee: 1210 |0005: const/4 v0, #int 1 // #1 │ │ -0246f0: 7030 8804 1300 |0006: invoke-direct {v3, v1, v0}, Lip/IPPacket;.copyFromHeader:(II)[I // method@0488 │ │ -0246f6: 0c00 |0009: move-result-object v0 │ │ -0246f8: 1100 |000a: return-object v0 │ │ -0246fa: 1262 |000b: const/4 v2, #int 6 // #6 │ │ -0246fc: 3320 0700 |000c: if-ne v0, v2, 0013 // +0007 │ │ -024700: 7030 8804 2301 |000e: invoke-direct {v3, v2, v1}, Lip/IPPacket;.copyFromHeader:(II)[I // method@0488 │ │ -024706: 0c00 |0011: move-result-object v0 │ │ -024708: 1100 |0012: return-object v0 │ │ -02470a: 2200 1801 |0013: new-instance v0, Ljava/lang/IllegalStateException; // type@0118 │ │ -02470e: 2201 2801 |0015: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -024712: 1a02 e701 |0017: const-string v2, "Illegal version:" // string@01e7 │ │ -024716: 7020 8405 2100 |0019: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -02471c: 5232 1103 |001c: iget v2, v3, Lip/IPPacket;.version:I // field@0311 │ │ -024720: 6e20 8605 2100 |001e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -024726: 6e10 8b05 0100 |0021: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02472c: 0c01 |0024: move-result-object v1 │ │ -02472e: 7020 3d05 1000 |0025: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ -024734: 2700 |0028: throw v0 │ │ +0246d0: |[0246d0] ip.IPPacket.getDestIP:()[I │ │ +0246e0: 5230 1103 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@0311 │ │ +0246e4: 1241 |0002: const/4 v1, #int 4 // #4 │ │ +0246e6: 3310 0800 |0003: if-ne v0, v1, 000b // +0008 │ │ +0246ea: 1210 |0005: const/4 v0, #int 1 // #1 │ │ +0246ec: 7030 8804 1300 |0006: invoke-direct {v3, v1, v0}, Lip/IPPacket;.copyFromHeader:(II)[I // method@0488 │ │ +0246f2: 0c00 |0009: move-result-object v0 │ │ +0246f4: 1100 |000a: return-object v0 │ │ +0246f6: 1262 |000b: const/4 v2, #int 6 // #6 │ │ +0246f8: 3320 0700 |000c: if-ne v0, v2, 0013 // +0007 │ │ +0246fc: 7030 8804 2301 |000e: invoke-direct {v3, v2, v1}, Lip/IPPacket;.copyFromHeader:(II)[I // method@0488 │ │ +024702: 0c00 |0011: move-result-object v0 │ │ +024704: 1100 |0012: return-object v0 │ │ +024706: 2200 1801 |0013: new-instance v0, Ljava/lang/IllegalStateException; // type@0118 │ │ +02470a: 2201 2801 |0015: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +02470e: 1a02 e701 |0017: const-string v2, "Illegal version:" // string@01e7 │ │ +024712: 7020 8405 2100 |0019: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +024718: 5232 1103 |001c: iget v2, v3, Lip/IPPacket;.version:I // field@0311 │ │ +02471c: 6e20 8605 2100 |001e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +024722: 6e10 8b05 0100 |0021: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +024728: 0c01 |0024: move-result-object v1 │ │ +02472a: 7020 3d05 1000 |0025: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ +024730: 2700 |0028: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=216 │ │ 0x0006 line=217 │ │ 0x000e line=219 │ │ 0x0013 line=221 │ │ locals : │ │ @@ -25402,17 +25402,17 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0244f4: |[0244f4] ip.IPPacket.getHeaderLength:()I │ │ -024504: 5210 0d03 |0000: iget v0, v1, Lip/IPPacket;.ipHdrlen:I // field@030d │ │ -024508: 0f00 |0002: return v0 │ │ +0244f0: |[0244f0] ip.IPPacket.getHeaderLength:()I │ │ +024500: 5210 0d03 |0000: iget v0, v1, Lip/IPPacket;.ipHdrlen:I // field@030d │ │ +024504: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=260 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lip/IPPacket; │ │ │ │ #4 : (in Lip/IPPacket;) │ │ @@ -25420,44 +25420,44 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 54 16-bit code units │ │ -02450c: |[02450c] ip.IPPacket.getLength:()I │ │ -02451c: 5230 1103 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@0311 │ │ -024520: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -024522: 3310 0e00 |0003: if-ne v0, v1, 0011 // +000e │ │ -024526: 5430 0e03 |0005: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -02452a: 1201 |0007: const/4 v1, #int 0 // #0 │ │ -02452c: 6e20 e605 1000 |0008: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@05e6 │ │ -024532: 0a00 |000b: move-result v0 │ │ -024534: 1401 ffff 0000 |000c: const v1, #float 9.18341e-41 // #0000ffff │ │ -02453a: b510 |000f: and-int/2addr v0, v1 │ │ -02453c: 0f00 |0010: return v0 │ │ -02453e: 1261 |0011: const/4 v1, #int 6 // #6 │ │ -024540: 3310 0e00 |0012: if-ne v0, v1, 0020 // +000e │ │ -024544: 5430 0e03 |0014: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -024548: 1211 |0016: const/4 v1, #int 1 // #1 │ │ -02454a: 6e20 e605 1000 |0017: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@05e6 │ │ -024550: 0a00 |001a: move-result v0 │ │ -024552: e200 0010 |001b: ushr-int/lit8 v0, v0, #int 16 // #10 │ │ -024556: d800 0028 |001d: add-int/lit8 v0, v0, #int 40 // #28 │ │ -02455a: 0f00 |001f: return v0 │ │ -02455c: 2200 1801 |0020: new-instance v0, Ljava/lang/IllegalStateException; // type@0118 │ │ -024560: 2201 2801 |0022: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -024564: 1a02 e701 |0024: const-string v2, "Illegal version:" // string@01e7 │ │ -024568: 7020 8405 2100 |0026: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -02456e: 5232 1103 |0029: iget v2, v3, Lip/IPPacket;.version:I // field@0311 │ │ -024572: 6e20 8605 2100 |002b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -024578: 6e10 8b05 0100 |002e: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02457e: 0c01 |0031: move-result-object v1 │ │ -024580: 7020 3d05 1000 |0032: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ -024586: 2700 |0035: throw v0 │ │ +024508: |[024508] ip.IPPacket.getLength:()I │ │ +024518: 5230 1103 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@0311 │ │ +02451c: 1241 |0002: const/4 v1, #int 4 // #4 │ │ +02451e: 3310 0e00 |0003: if-ne v0, v1, 0011 // +000e │ │ +024522: 5430 0e03 |0005: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +024526: 1201 |0007: const/4 v1, #int 0 // #0 │ │ +024528: 6e20 e605 1000 |0008: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@05e6 │ │ +02452e: 0a00 |000b: move-result v0 │ │ +024530: 1401 ffff 0000 |000c: const v1, #float 9.18341e-41 // #0000ffff │ │ +024536: b510 |000f: and-int/2addr v0, v1 │ │ +024538: 0f00 |0010: return v0 │ │ +02453a: 1261 |0011: const/4 v1, #int 6 // #6 │ │ +02453c: 3310 0e00 |0012: if-ne v0, v1, 0020 // +000e │ │ +024540: 5430 0e03 |0014: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +024544: 1211 |0016: const/4 v1, #int 1 // #1 │ │ +024546: 6e20 e605 1000 |0017: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@05e6 │ │ +02454c: 0a00 |001a: move-result v0 │ │ +02454e: e200 0010 |001b: ushr-int/lit8 v0, v0, #int 16 // #10 │ │ +024552: d800 0028 |001d: add-int/lit8 v0, v0, #int 40 // #28 │ │ +024556: 0f00 |001f: return v0 │ │ +024558: 2200 1801 |0020: new-instance v0, Ljava/lang/IllegalStateException; // type@0118 │ │ +02455c: 2201 2801 |0022: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +024560: 1a02 e701 |0024: const-string v2, "Illegal version:" // string@01e7 │ │ +024564: 7020 8405 2100 |0026: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +02456a: 5232 1103 |0029: iget v2, v3, Lip/IPPacket;.version:I // field@0311 │ │ +02456e: 6e20 8605 2100 |002b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +024574: 6e10 8b05 0100 |002e: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02457a: 0c01 |0031: move-result-object v1 │ │ +02457c: 7020 3d05 1000 |0032: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ +024582: 2700 |0035: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=243 │ │ 0x0005 line=244 │ │ 0x0014 line=246 │ │ 0x0020 line=248 │ │ locals : │ │ @@ -25468,17 +25468,17 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -024588: |[024588] ip.IPPacket.getOffset:()I │ │ -024598: 5210 1003 |0000: iget v0, v1, Lip/IPPacket;.offset:I // field@0310 │ │ -02459c: 0f00 |0002: return v0 │ │ +024584: |[024584] ip.IPPacket.getOffset:()I │ │ +024594: 5210 1003 |0000: iget v0, v1, Lip/IPPacket;.offset:I // field@0310 │ │ +024598: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=256 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lip/IPPacket; │ │ │ │ #6 : (in Lip/IPPacket;) │ │ @@ -25486,45 +25486,45 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 54 16-bit code units │ │ -0245a0: |[0245a0] ip.IPPacket.getProt:()I │ │ -0245b0: 5230 1103 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@0311 │ │ -0245b4: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -0245b6: 3310 0e00 |0003: if-ne v0, v1, 0011 // +000e │ │ -0245ba: 5430 0e03 |0005: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -0245be: 1221 |0007: const/4 v1, #int 2 // #2 │ │ -0245c0: 6e20 e605 1000 |0008: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@05e6 │ │ -0245c6: 0a00 |000b: move-result v0 │ │ -0245c8: e200 0010 |000c: ushr-int/lit8 v0, v0, #int 16 // #10 │ │ -0245cc: d500 ff00 |000e: and-int/lit16 v0, v0, #int 255 // #00ff │ │ -0245d0: 0f00 |0010: return v0 │ │ -0245d2: 1261 |0011: const/4 v1, #int 6 // #6 │ │ -0245d4: 3310 0c00 |0012: if-ne v0, v1, 001e // +000c │ │ -0245d8: 5430 0e03 |0014: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -0245dc: 1211 |0016: const/4 v1, #int 1 // #1 │ │ -0245de: 6e20 e605 1000 |0017: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@05e6 │ │ -0245e4: 0a00 |001a: move-result v0 │ │ -0245e6: e200 0008 |001b: ushr-int/lit8 v0, v0, #int 8 // #08 │ │ -0245ea: 28f1 |001d: goto 000e // -000f │ │ -0245ec: 2200 1801 |001e: new-instance v0, Ljava/lang/IllegalStateException; // type@0118 │ │ -0245f0: 2201 2801 |0020: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -0245f4: 1a02 e701 |0022: const-string v2, "Illegal version:" // string@01e7 │ │ -0245f8: 7020 8405 2100 |0024: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -0245fe: 5232 1103 |0027: iget v2, v3, Lip/IPPacket;.version:I // field@0311 │ │ -024602: 6e20 8605 2100 |0029: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -024608: 6e10 8b05 0100 |002c: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02460e: 0c01 |002f: move-result-object v1 │ │ -024610: 7020 3d05 1000 |0030: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ -024616: 2802 |0033: goto 0035 // +0002 │ │ -024618: 2700 |0034: throw v0 │ │ -02461a: 28ff |0035: goto 0034 // -0001 │ │ +02459c: |[02459c] ip.IPPacket.getProt:()I │ │ +0245ac: 5230 1103 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@0311 │ │ +0245b0: 1241 |0002: const/4 v1, #int 4 // #4 │ │ +0245b2: 3310 0e00 |0003: if-ne v0, v1, 0011 // +000e │ │ +0245b6: 5430 0e03 |0005: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +0245ba: 1221 |0007: const/4 v1, #int 2 // #2 │ │ +0245bc: 6e20 e605 1000 |0008: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@05e6 │ │ +0245c2: 0a00 |000b: move-result v0 │ │ +0245c4: e200 0010 |000c: ushr-int/lit8 v0, v0, #int 16 // #10 │ │ +0245c8: d500 ff00 |000e: and-int/lit16 v0, v0, #int 255 // #00ff │ │ +0245cc: 0f00 |0010: return v0 │ │ +0245ce: 1261 |0011: const/4 v1, #int 6 // #6 │ │ +0245d0: 3310 0c00 |0012: if-ne v0, v1, 001e // +000c │ │ +0245d4: 5430 0e03 |0014: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +0245d8: 1211 |0016: const/4 v1, #int 1 // #1 │ │ +0245da: 6e20 e605 1000 |0017: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@05e6 │ │ +0245e0: 0a00 |001a: move-result v0 │ │ +0245e2: e200 0008 |001b: ushr-int/lit8 v0, v0, #int 8 // #08 │ │ +0245e6: 28f1 |001d: goto 000e // -000f │ │ +0245e8: 2200 1801 |001e: new-instance v0, Ljava/lang/IllegalStateException; // type@0118 │ │ +0245ec: 2201 2801 |0020: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +0245f0: 1a02 e701 |0022: const-string v2, "Illegal version:" // string@01e7 │ │ +0245f4: 7020 8405 2100 |0024: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +0245fa: 5232 1103 |0027: iget v2, v3, Lip/IPPacket;.version:I // field@0311 │ │ +0245fe: 6e20 8605 2100 |0029: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +024604: 6e10 8b05 0100 |002c: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02460a: 0c01 |002f: move-result-object v1 │ │ +02460c: 7020 3d05 1000 |0030: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ +024612: 2802 |0033: goto 0035 // +0002 │ │ +024614: 2700 |0034: throw v0 │ │ +024616: 28ff |0035: goto 0034 // -0001 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=234 │ │ 0x0005 line=235 │ │ 0x0014 line=237 │ │ 0x001e line=239 │ │ locals : │ │ @@ -25535,39 +25535,39 @@ │ │ type : '()[I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 43 16-bit code units │ │ -024738: |[024738] ip.IPPacket.getSourceIP:()[I │ │ -024748: 5230 1103 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@0311 │ │ -02474c: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -02474e: 3310 0900 |0003: if-ne v0, v1, 000c // +0009 │ │ -024752: 1230 |0005: const/4 v0, #int 3 // #3 │ │ -024754: 1211 |0006: const/4 v1, #int 1 // #1 │ │ -024756: 7030 8804 0301 |0007: invoke-direct {v3, v0, v1}, Lip/IPPacket;.copyFromHeader:(II)[I // method@0488 │ │ -02475c: 0c00 |000a: move-result-object v0 │ │ -02475e: 1100 |000b: return-object v0 │ │ -024760: 1262 |000c: const/4 v2, #int 6 // #6 │ │ -024762: 3320 0800 |000d: if-ne v0, v2, 0015 // +0008 │ │ -024766: 1220 |000f: const/4 v0, #int 2 // #2 │ │ -024768: 7030 8804 0301 |0010: invoke-direct {v3, v0, v1}, Lip/IPPacket;.copyFromHeader:(II)[I // method@0488 │ │ -02476e: 0c00 |0013: move-result-object v0 │ │ -024770: 1100 |0014: return-object v0 │ │ -024772: 2200 1801 |0015: new-instance v0, Ljava/lang/IllegalStateException; // type@0118 │ │ -024776: 2201 2801 |0017: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -02477a: 1a02 e701 |0019: const-string v2, "Illegal version:" // string@01e7 │ │ -02477e: 7020 8405 2100 |001b: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -024784: 5232 1103 |001e: iget v2, v3, Lip/IPPacket;.version:I // field@0311 │ │ -024788: 6e20 8605 2100 |0020: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -02478e: 6e10 8b05 0100 |0023: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -024794: 0c01 |0026: move-result-object v1 │ │ -024796: 7020 3d05 1000 |0027: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ -02479c: 2700 |002a: throw v0 │ │ +024734: |[024734] ip.IPPacket.getSourceIP:()[I │ │ +024744: 5230 1103 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@0311 │ │ +024748: 1241 |0002: const/4 v1, #int 4 // #4 │ │ +02474a: 3310 0900 |0003: if-ne v0, v1, 000c // +0009 │ │ +02474e: 1230 |0005: const/4 v0, #int 3 // #3 │ │ +024750: 1211 |0006: const/4 v1, #int 1 // #1 │ │ +024752: 7030 8804 0301 |0007: invoke-direct {v3, v0, v1}, Lip/IPPacket;.copyFromHeader:(II)[I // method@0488 │ │ +024758: 0c00 |000a: move-result-object v0 │ │ +02475a: 1100 |000b: return-object v0 │ │ +02475c: 1262 |000c: const/4 v2, #int 6 // #6 │ │ +02475e: 3320 0800 |000d: if-ne v0, v2, 0015 // +0008 │ │ +024762: 1220 |000f: const/4 v0, #int 2 // #2 │ │ +024764: 7030 8804 0301 |0010: invoke-direct {v3, v0, v1}, Lip/IPPacket;.copyFromHeader:(II)[I // method@0488 │ │ +02476a: 0c00 |0013: move-result-object v0 │ │ +02476c: 1100 |0014: return-object v0 │ │ +02476e: 2200 1801 |0015: new-instance v0, Ljava/lang/IllegalStateException; // type@0118 │ │ +024772: 2201 2801 |0017: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +024776: 1a02 e701 |0019: const-string v2, "Illegal version:" // string@01e7 │ │ +02477a: 7020 8405 2100 |001b: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +024780: 5232 1103 |001e: iget v2, v3, Lip/IPPacket;.version:I // field@0311 │ │ +024784: 6e20 8605 2100 |0020: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +02478a: 6e10 8b05 0100 |0023: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +024790: 0c01 |0026: move-result-object v1 │ │ +024792: 7020 3d05 1000 |0027: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ +024798: 2700 |002a: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=207 │ │ 0x0007 line=208 │ │ 0x0010 line=210 │ │ 0x0015 line=212 │ │ locals : │ │ @@ -25578,42 +25578,42 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 50 16-bit code units │ │ -02461c: |[02461c] ip.IPPacket.getTTL:()I │ │ -02462c: 5230 1103 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@0311 │ │ -024630: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -024632: 3310 0c00 |0003: if-ne v0, v1, 000f // +000c │ │ -024636: 5430 0e03 |0005: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -02463a: 1221 |0007: const/4 v1, #int 2 // #2 │ │ -02463c: 6e20 e605 1000 |0008: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@05e6 │ │ -024642: 0a00 |000b: move-result v0 │ │ -024644: e200 0018 |000c: ushr-int/lit8 v0, v0, #int 24 // #18 │ │ -024648: 0f00 |000e: return v0 │ │ -02464a: 1261 |000f: const/4 v1, #int 6 // #6 │ │ -02464c: 3310 0c00 |0010: if-ne v0, v1, 001c // +000c │ │ -024650: 5430 0e03 |0012: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -024654: 1211 |0014: const/4 v1, #int 1 // #1 │ │ -024656: 6e20 e605 1000 |0015: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@05e6 │ │ -02465c: 0a00 |0018: move-result v0 │ │ -02465e: d500 ff00 |0019: and-int/lit16 v0, v0, #int 255 // #00ff │ │ -024662: 0f00 |001b: return v0 │ │ -024664: 2200 1801 |001c: new-instance v0, Ljava/lang/IllegalStateException; // type@0118 │ │ -024668: 2201 2801 |001e: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -02466c: 1a02 e701 |0020: const-string v2, "Illegal version:" // string@01e7 │ │ -024670: 7020 8405 2100 |0022: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -024676: 5232 1103 |0025: iget v2, v3, Lip/IPPacket;.version:I // field@0311 │ │ -02467a: 6e20 8605 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -024680: 6e10 8b05 0100 |002a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -024686: 0c01 |002d: move-result-object v1 │ │ -024688: 7020 3d05 1000 |002e: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ -02468e: 2700 |0031: throw v0 │ │ +024618: |[024618] ip.IPPacket.getTTL:()I │ │ +024628: 5230 1103 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@0311 │ │ +02462c: 1241 |0002: const/4 v1, #int 4 // #4 │ │ +02462e: 3310 0c00 |0003: if-ne v0, v1, 000f // +000c │ │ +024632: 5430 0e03 |0005: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +024636: 1221 |0007: const/4 v1, #int 2 // #2 │ │ +024638: 6e20 e605 1000 |0008: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@05e6 │ │ +02463e: 0a00 |000b: move-result v0 │ │ +024640: e200 0018 |000c: ushr-int/lit8 v0, v0, #int 24 // #18 │ │ +024644: 0f00 |000e: return v0 │ │ +024646: 1261 |000f: const/4 v1, #int 6 // #6 │ │ +024648: 3310 0c00 |0010: if-ne v0, v1, 001c // +000c │ │ +02464c: 5430 0e03 |0012: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +024650: 1211 |0014: const/4 v1, #int 1 // #1 │ │ +024652: 6e20 e605 1000 |0015: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@05e6 │ │ +024658: 0a00 |0018: move-result v0 │ │ +02465a: d500 ff00 |0019: and-int/lit16 v0, v0, #int 255 // #00ff │ │ +02465e: 0f00 |001b: return v0 │ │ +024660: 2200 1801 |001c: new-instance v0, Ljava/lang/IllegalStateException; // type@0118 │ │ +024664: 2201 2801 |001e: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +024668: 1a02 e701 |0020: const-string v2, "Illegal version:" // string@01e7 │ │ +02466c: 7020 8405 2100 |0022: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +024672: 5232 1103 |0025: iget v2, v3, Lip/IPPacket;.version:I // field@0311 │ │ +024676: 6e20 8605 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +02467c: 6e10 8b05 0100 |002a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +024682: 0c01 |002d: move-result-object v1 │ │ +024684: 7020 3d05 1000 |002e: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ +02468a: 2700 |0031: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=225 │ │ 0x0005 line=226 │ │ 0x0012 line=228 │ │ 0x001c line=230 │ │ locals : │ │ @@ -25624,17 +25624,17 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -024690: |[024690] ip.IPPacket.getVersion:()I │ │ -0246a0: 5210 1103 |0000: iget v0, v1, Lip/IPPacket;.version:I // field@0311 │ │ -0246a4: 0f00 |0002: return v0 │ │ +02468c: |[02468c] ip.IPPacket.getVersion:()I │ │ +02469c: 5210 1103 |0000: iget v0, v1, Lip/IPPacket;.version:I // field@0311 │ │ +0246a0: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=196 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lip/IPPacket; │ │ │ │ #10 : (in Lip/IPPacket;) │ │ @@ -25642,74 +25642,74 @@ │ │ type : '(II[I[I)V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 8 │ │ ins : 5 │ │ outs : 5 │ │ insns size : 116 16-bit code units │ │ -024c0c: |[024c0c] ip.IPPacket.initIPHeader:(II[I[I)V │ │ -024c1c: 5230 1103 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@0311 │ │ -024c20: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -024c22: 1202 |0003: const/4 v2, #int 0 // #0 │ │ -024c24: 3310 3200 |0004: if-ne v0, v1, 0036 // +0032 │ │ -024c28: 1500 0045 |0006: const/high16 v0, #int 1157627904 // #4500 │ │ -024c2c: 5231 0f03 |0008: iget v1, v3, Lip/IPPacket;.len:I // field@030f │ │ -024c30: b001 |000a: add-int/2addr v1, v0 │ │ -024c32: 7100 8b04 0000 |000b: invoke-static {}, Lip/IPPacket;.generateId:()I // method@048b │ │ -024c38: 0a00 |000e: move-result v0 │ │ -024c3a: e004 0418 |000f: shl-int/lit8 v4, v4, #int 24 // #18 │ │ -024c3e: e005 0510 |0011: shl-int/lit8 v5, v5, #int 16 // #10 │ │ -024c42: b054 |0013: add-int/2addr v4, v5 │ │ -024c44: 4405 0602 |0014: aget v5, v6, v2 │ │ -024c48: 4406 0702 |0016: aget v6, v7, v2 │ │ -024c4c: 2456 9a01 0154 |0018: filled-new-array {v1, v0, v4, v5, v6}, [I // type@019a │ │ -024c52: 0c04 |001b: move-result-object v4 │ │ -024c54: 5435 0e03 |001c: iget-object v5, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -024c58: 6e20 e905 2500 |001e: invoke-virtual {v5, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@05e9 │ │ -024c5e: 5435 0e03 |0021: iget-object v5, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -024c62: 6e20 ec05 4500 |0023: invoke-virtual {v5, v4}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@05ec │ │ -024c68: 1225 |0026: const/4 v5, #int 2 // #2 │ │ -024c6a: 4406 0405 |0027: aget v6, v4, v5 │ │ -024c6e: 7010 8604 0300 |0029: invoke-direct {v3}, Lip/IPPacket;.calculateCheckSum:()I // method@0486 │ │ -024c74: 0a07 |002c: move-result v7 │ │ -024c76: b076 |002d: add-int/2addr v6, v7 │ │ -024c78: 4b06 0405 |002e: aput v6, v4, v5 │ │ -024c7c: 5434 0e03 |0030: iget-object v4, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -024c80: 6e30 eb05 5406 |0032: invoke-virtual {v4, v5, v6}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@05eb │ │ -024c86: 2828 |0035: goto 005d // +0028 │ │ -024c88: 1261 |0036: const/4 v1, #int 6 // #6 │ │ -024c8a: 3310 2700 |0037: if-ne v0, v1, 005e // +0027 │ │ -024c8e: e000 001c |0039: shl-int/lit8 v0, v0, #int 28 // #1c │ │ -024c92: 5231 0f03 |003b: iget v1, v3, Lip/IPPacket;.len:I // field@030f │ │ -024c96: d801 01d8 |003d: add-int/lit8 v1, v1, #int -40 // #d8 │ │ -024c9a: e001 0110 |003f: shl-int/lit8 v1, v1, #int 16 // #10 │ │ -024c9e: e005 0508 |0041: shl-int/lit8 v5, v5, #int 8 // #08 │ │ -024ca2: b051 |0043: add-int/2addr v1, v5 │ │ -024ca4: b041 |0044: add-int/2addr v1, v4 │ │ -024ca6: 2420 9a01 1000 |0045: filled-new-array {v0, v1}, [I // type@019a │ │ -024cac: 0c04 |0048: move-result-object v4 │ │ -024cae: 5435 0e03 |0049: iget-object v5, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -024cb2: 6e20 e905 2500 |004b: invoke-virtual {v5, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@05e9 │ │ -024cb8: 5435 0e03 |004e: iget-object v5, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -024cbc: 6e20 ec05 4500 |0050: invoke-virtual {v5, v4}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@05ec │ │ -024cc2: 5434 0e03 |0053: iget-object v4, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -024cc6: 6e20 ec05 6400 |0055: invoke-virtual {v4, v6}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@05ec │ │ -024ccc: 5434 0e03 |0058: iget-object v4, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -024cd0: 6e20 ec05 7400 |005a: invoke-virtual {v4, v7}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@05ec │ │ -024cd6: 0e00 |005d: return-void │ │ -024cd8: 2204 1801 |005e: new-instance v4, Ljava/lang/IllegalStateException; // type@0118 │ │ -024cdc: 2205 2801 |0060: new-instance v5, Ljava/lang/StringBuilder; // type@0128 │ │ -024ce0: 1a06 e701 |0062: const-string v6, "Illegal version:" // string@01e7 │ │ -024ce4: 7020 8405 6500 |0064: invoke-direct {v5, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -024cea: 5236 1103 |0067: iget v6, v3, Lip/IPPacket;.version:I // field@0311 │ │ -024cee: 6e20 8605 6500 |0069: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -024cf4: 6e10 8b05 0500 |006c: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -024cfa: 0c05 |006f: move-result-object v5 │ │ -024cfc: 7020 3d05 5400 |0070: invoke-direct {v4, v5}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ -024d02: 2704 |0073: throw v4 │ │ +024c08: |[024c08] ip.IPPacket.initIPHeader:(II[I[I)V │ │ +024c18: 5230 1103 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@0311 │ │ +024c1c: 1241 |0002: const/4 v1, #int 4 // #4 │ │ +024c1e: 1202 |0003: const/4 v2, #int 0 // #0 │ │ +024c20: 3310 3200 |0004: if-ne v0, v1, 0036 // +0032 │ │ +024c24: 1500 0045 |0006: const/high16 v0, #int 1157627904 // #4500 │ │ +024c28: 5231 0f03 |0008: iget v1, v3, Lip/IPPacket;.len:I // field@030f │ │ +024c2c: b001 |000a: add-int/2addr v1, v0 │ │ +024c2e: 7100 8b04 0000 |000b: invoke-static {}, Lip/IPPacket;.generateId:()I // method@048b │ │ +024c34: 0a00 |000e: move-result v0 │ │ +024c36: e004 0418 |000f: shl-int/lit8 v4, v4, #int 24 // #18 │ │ +024c3a: e005 0510 |0011: shl-int/lit8 v5, v5, #int 16 // #10 │ │ +024c3e: b054 |0013: add-int/2addr v4, v5 │ │ +024c40: 4405 0602 |0014: aget v5, v6, v2 │ │ +024c44: 4406 0702 |0016: aget v6, v7, v2 │ │ +024c48: 2456 9a01 0154 |0018: filled-new-array {v1, v0, v4, v5, v6}, [I // type@019a │ │ +024c4e: 0c04 |001b: move-result-object v4 │ │ +024c50: 5435 0e03 |001c: iget-object v5, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +024c54: 6e20 e905 2500 |001e: invoke-virtual {v5, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@05e9 │ │ +024c5a: 5435 0e03 |0021: iget-object v5, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +024c5e: 6e20 ec05 4500 |0023: invoke-virtual {v5, v4}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@05ec │ │ +024c64: 1225 |0026: const/4 v5, #int 2 // #2 │ │ +024c66: 4406 0405 |0027: aget v6, v4, v5 │ │ +024c6a: 7010 8604 0300 |0029: invoke-direct {v3}, Lip/IPPacket;.calculateCheckSum:()I // method@0486 │ │ +024c70: 0a07 |002c: move-result v7 │ │ +024c72: b076 |002d: add-int/2addr v6, v7 │ │ +024c74: 4b06 0405 |002e: aput v6, v4, v5 │ │ +024c78: 5434 0e03 |0030: iget-object v4, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +024c7c: 6e30 eb05 5406 |0032: invoke-virtual {v4, v5, v6}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@05eb │ │ +024c82: 2828 |0035: goto 005d // +0028 │ │ +024c84: 1261 |0036: const/4 v1, #int 6 // #6 │ │ +024c86: 3310 2700 |0037: if-ne v0, v1, 005e // +0027 │ │ +024c8a: e000 001c |0039: shl-int/lit8 v0, v0, #int 28 // #1c │ │ +024c8e: 5231 0f03 |003b: iget v1, v3, Lip/IPPacket;.len:I // field@030f │ │ +024c92: d801 01d8 |003d: add-int/lit8 v1, v1, #int -40 // #d8 │ │ +024c96: e001 0110 |003f: shl-int/lit8 v1, v1, #int 16 // #10 │ │ +024c9a: e005 0508 |0041: shl-int/lit8 v5, v5, #int 8 // #08 │ │ +024c9e: b051 |0043: add-int/2addr v1, v5 │ │ +024ca0: b041 |0044: add-int/2addr v1, v4 │ │ +024ca2: 2420 9a01 1000 |0045: filled-new-array {v0, v1}, [I // type@019a │ │ +024ca8: 0c04 |0048: move-result-object v4 │ │ +024caa: 5435 0e03 |0049: iget-object v5, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +024cae: 6e20 e905 2500 |004b: invoke-virtual {v5, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@05e9 │ │ +024cb4: 5435 0e03 |004e: iget-object v5, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +024cb8: 6e20 ec05 4500 |0050: invoke-virtual {v5, v4}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@05ec │ │ +024cbe: 5434 0e03 |0053: iget-object v4, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +024cc2: 6e20 ec05 6400 |0055: invoke-virtual {v4, v6}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@05ec │ │ +024cc8: 5434 0e03 |0058: iget-object v4, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +024ccc: 6e20 ec05 7400 |005a: invoke-virtual {v4, v7}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@05ec │ │ +024cd2: 0e00 |005d: return-void │ │ +024cd4: 2204 1801 |005e: new-instance v4, Ljava/lang/IllegalStateException; // type@0118 │ │ +024cd8: 2205 2801 |0060: new-instance v5, Ljava/lang/StringBuilder; // type@0128 │ │ +024cdc: 1a06 e701 |0062: const-string v6, "Illegal version:" // string@01e7 │ │ +024ce0: 7020 8405 6500 |0064: invoke-direct {v5, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +024ce6: 5236 1103 |0067: iget v6, v3, Lip/IPPacket;.version:I // field@0311 │ │ +024cea: 6e20 8605 6500 |0069: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +024cf0: 6e10 8b05 0500 |006c: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +024cf6: 0c05 |006f: move-result-object v5 │ │ +024cf8: 7020 3d05 5400 |0070: invoke-direct {v4, v5}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ +024cfe: 2704 |0073: throw v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=60 │ │ 0x0008 line=62 │ │ 0x000b line=63 │ │ 0x0014 line=65 │ │ 0x0016 line=66 │ │ @@ -25735,54 +25735,54 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 78 16-bit code units │ │ -024d04: |[024d04] ip.IPPacket.initInitialIPHeader:()V │ │ -024d14: 5230 1103 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@0311 │ │ -024d18: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -024d1a: 1202 |0003: const/4 v2, #int 0 // #0 │ │ -024d1c: 3310 1a00 |0004: if-ne v0, v1, 001e // +001a │ │ -024d20: 1500 0045 |0006: const/high16 v0, #int 1157627904 // #4500 │ │ -024d24: 5231 0f03 |0008: iget v1, v3, Lip/IPPacket;.len:I // field@030f │ │ -024d28: b001 |000a: add-int/2addr v1, v0 │ │ -024d2a: 7100 8b04 0000 |000b: invoke-static {}, Lip/IPPacket;.generateId:()I // method@048b │ │ -024d30: 0a00 |000e: move-result v0 │ │ -024d32: 2452 9a01 0122 |000f: filled-new-array {v1, v0, v2, v2, v2}, [I // type@019a │ │ -024d38: 0c00 |0012: move-result-object v0 │ │ -024d3a: 5431 0e03 |0013: iget-object v1, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -024d3e: 6e20 e905 2100 |0015: invoke-virtual {v1, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@05e9 │ │ -024d44: 5431 0e03 |0018: iget-object v1, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -024d48: 6e20 ec05 0100 |001a: invoke-virtual {v1, v0}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@05ec │ │ -024d4e: 281a |001d: goto 0037 // +001a │ │ -024d50: 1261 |001e: const/4 v1, #int 6 // #6 │ │ -024d52: 3310 1900 |001f: if-ne v0, v1, 0038 // +0019 │ │ -024d56: e000 001c |0021: shl-int/lit8 v0, v0, #int 28 // #1c │ │ -024d5a: 5231 0f03 |0023: iget v1, v3, Lip/IPPacket;.len:I // field@030f │ │ -024d5e: d801 01d8 |0025: add-int/lit8 v1, v1, #int -40 // #d8 │ │ -024d62: e001 0110 |0027: shl-int/lit8 v1, v1, #int 16 // #10 │ │ -024d66: 2420 9a01 1000 |0029: filled-new-array {v0, v1}, [I // type@019a │ │ -024d6c: 0c00 |002c: move-result-object v0 │ │ -024d6e: 5431 0e03 |002d: iget-object v1, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -024d72: 6e20 e905 2100 |002f: invoke-virtual {v1, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@05e9 │ │ -024d78: 5431 0e03 |0032: iget-object v1, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -024d7c: 6e20 ec05 0100 |0034: invoke-virtual {v1, v0}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@05ec │ │ -024d82: 0e00 |0037: return-void │ │ -024d84: 2200 1801 |0038: new-instance v0, Ljava/lang/IllegalStateException; // type@0118 │ │ -024d88: 2201 2801 |003a: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -024d8c: 1a02 e701 |003c: const-string v2, "Illegal version:" // string@01e7 │ │ -024d90: 7020 8405 2100 |003e: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -024d96: 5232 1103 |0041: iget v2, v3, Lip/IPPacket;.version:I // field@0311 │ │ -024d9a: 6e20 8605 2100 |0043: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -024da0: 6e10 8b05 0100 |0046: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -024da6: 0c01 |0049: move-result-object v1 │ │ -024da8: 7020 3d05 1000 |004a: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ -024dae: 2700 |004d: throw v0 │ │ +024d00: |[024d00] ip.IPPacket.initInitialIPHeader:()V │ │ +024d10: 5230 1103 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@0311 │ │ +024d14: 1241 |0002: const/4 v1, #int 4 // #4 │ │ +024d16: 1202 |0003: const/4 v2, #int 0 // #0 │ │ +024d18: 3310 1a00 |0004: if-ne v0, v1, 001e // +001a │ │ +024d1c: 1500 0045 |0006: const/high16 v0, #int 1157627904 // #4500 │ │ +024d20: 5231 0f03 |0008: iget v1, v3, Lip/IPPacket;.len:I // field@030f │ │ +024d24: b001 |000a: add-int/2addr v1, v0 │ │ +024d26: 7100 8b04 0000 |000b: invoke-static {}, Lip/IPPacket;.generateId:()I // method@048b │ │ +024d2c: 0a00 |000e: move-result v0 │ │ +024d2e: 2452 9a01 0122 |000f: filled-new-array {v1, v0, v2, v2, v2}, [I // type@019a │ │ +024d34: 0c00 |0012: move-result-object v0 │ │ +024d36: 5431 0e03 |0013: iget-object v1, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +024d3a: 6e20 e905 2100 |0015: invoke-virtual {v1, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@05e9 │ │ +024d40: 5431 0e03 |0018: iget-object v1, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +024d44: 6e20 ec05 0100 |001a: invoke-virtual {v1, v0}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@05ec │ │ +024d4a: 281a |001d: goto 0037 // +001a │ │ +024d4c: 1261 |001e: const/4 v1, #int 6 // #6 │ │ +024d4e: 3310 1900 |001f: if-ne v0, v1, 0038 // +0019 │ │ +024d52: e000 001c |0021: shl-int/lit8 v0, v0, #int 28 // #1c │ │ +024d56: 5231 0f03 |0023: iget v1, v3, Lip/IPPacket;.len:I // field@030f │ │ +024d5a: d801 01d8 |0025: add-int/lit8 v1, v1, #int -40 // #d8 │ │ +024d5e: e001 0110 |0027: shl-int/lit8 v1, v1, #int 16 // #10 │ │ +024d62: 2420 9a01 1000 |0029: filled-new-array {v0, v1}, [I // type@019a │ │ +024d68: 0c00 |002c: move-result-object v0 │ │ +024d6a: 5431 0e03 |002d: iget-object v1, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +024d6e: 6e20 e905 2100 |002f: invoke-virtual {v1, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@05e9 │ │ +024d74: 5431 0e03 |0032: iget-object v1, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +024d78: 6e20 ec05 0100 |0034: invoke-virtual {v1, v0}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@05ec │ │ +024d7e: 0e00 |0037: return-void │ │ +024d80: 2200 1801 |0038: new-instance v0, Ljava/lang/IllegalStateException; // type@0118 │ │ +024d84: 2201 2801 |003a: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +024d88: 1a02 e701 |003c: const-string v2, "Illegal version:" // string@01e7 │ │ +024d8c: 7020 8405 2100 |003e: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +024d92: 5232 1103 |0041: iget v2, v3, Lip/IPPacket;.version:I // field@0311 │ │ +024d96: 6e20 8605 2100 |0043: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +024d9c: 6e10 8b05 0100 |0046: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +024da2: 0c01 |0049: move-result-object v1 │ │ +024da4: 7020 3d05 1000 |004a: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ +024daa: 2700 |004d: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=86 │ │ 0x0008 line=88 │ │ 0x000b line=89 │ │ 0x000f line=92 │ │ 0x0013 line=93 │ │ @@ -25799,76 +25799,76 @@ │ │ type : '(II[I[I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 9 │ │ ins : 5 │ │ outs : 3 │ │ insns size : 120 16-bit code units │ │ -024db0: |[024db0] ip.IPPacket.updateHeader:(II[I[I)V │ │ -024dc0: 5240 1103 |0000: iget v0, v4, Lip/IPPacket;.version:I // field@0311 │ │ -024dc4: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -024dc6: 1212 |0003: const/4 v2, #int 1 // #1 │ │ -024dc8: 3310 3900 |0004: if-ne v0, v1, 003d // +0039 │ │ -024dcc: 1230 |0006: const/4 v0, #int 3 // #3 │ │ -024dce: 2300 9a01 |0007: new-array v0, v0, [I // type@019a │ │ -024dd2: 5441 0e03 |0009: iget-object v1, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -024dd6: 1223 |000b: const/4 v3, #int 2 // #2 │ │ -024dd8: 6e20 e905 3100 |000c: invoke-virtual {v1, v3}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@05e9 │ │ -024dde: 5441 0e03 |000f: iget-object v1, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -024de2: 6e20 e705 0100 |0011: invoke-virtual {v1, v0}, Ljava/nio/IntBuffer;.get:([I)Ljava/nio/IntBuffer; // method@05e7 │ │ -024de8: e005 0518 |0014: shl-int/lit8 v5, v5, #int 24 // #18 │ │ -024dec: e006 0610 |0016: shl-int/lit8 v6, v6, #int 16 // #10 │ │ -024df0: b065 |0018: add-int/2addr v5, v6 │ │ -024df2: 1206 |0019: const/4 v6, #int 0 // #0 │ │ -024df4: 4b05 0006 |001a: aput v5, v0, v6 │ │ -024df8: 4405 0706 |001c: aget v5, v7, v6 │ │ -024dfc: 4b05 0002 |001e: aput v5, v0, v2 │ │ -024e00: 4405 0806 |0020: aget v5, v8, v6 │ │ -024e04: 4b05 0003 |0022: aput v5, v0, v3 │ │ -024e08: 5445 0e03 |0024: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -024e0c: 6e20 e905 3500 |0026: invoke-virtual {v5, v3}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@05e9 │ │ -024e12: 5445 0e03 |0029: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -024e16: 6e20 ec05 0500 |002b: invoke-virtual {v5, v0}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@05ec │ │ -024e1c: 4405 0006 |002e: aget v5, v0, v6 │ │ -024e20: 7010 8604 0400 |0030: invoke-direct {v4}, Lip/IPPacket;.calculateCheckSum:()I // method@0486 │ │ -024e26: 0a07 |0033: move-result v7 │ │ -024e28: b075 |0034: add-int/2addr v5, v7 │ │ -024e2a: 4b05 0006 |0035: aput v5, v0, v6 │ │ -024e2e: 5446 0e03 |0037: iget-object v6, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -024e32: 6e30 eb05 3605 |0039: invoke-virtual {v6, v3, v5}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@05eb │ │ -024e38: 2825 |003c: goto 0061 // +0025 │ │ -024e3a: 1261 |003d: const/4 v1, #int 6 // #6 │ │ -024e3c: 3310 2400 |003e: if-ne v0, v1, 0062 // +0024 │ │ -024e40: 5440 0e03 |0040: iget-object v0, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -024e44: 6e20 e605 2000 |0042: invoke-virtual {v0, v2}, Ljava/nio/IntBuffer;.get:(I)I // method@05e6 │ │ -024e4a: 0a00 |0045: move-result v0 │ │ -024e4c: 1501 ffff |0046: const/high16 v1, #int -65536 // #ffff │ │ -024e50: b510 |0048: and-int/2addr v0, v1 │ │ -024e52: e006 0608 |0049: shl-int/lit8 v6, v6, #int 8 // #08 │ │ -024e56: b060 |004b: add-int/2addr v0, v6 │ │ -024e58: b050 |004c: add-int/2addr v0, v5 │ │ -024e5a: 5445 0e03 |004d: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -024e5e: 6e20 e905 2500 |004f: invoke-virtual {v5, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@05e9 │ │ -024e64: 5445 0e03 |0052: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -024e68: 6e20 ea05 0500 |0054: invoke-virtual {v5, v0}, Ljava/nio/IntBuffer;.put:(I)Ljava/nio/IntBuffer; // method@05ea │ │ -024e6e: 5445 0e03 |0057: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -024e72: 6e20 ec05 7500 |0059: invoke-virtual {v5, v7}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@05ec │ │ -024e78: 5445 0e03 |005c: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ -024e7c: 6e20 ec05 8500 |005e: invoke-virtual {v5, v8}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@05ec │ │ -024e82: 0e00 |0061: return-void │ │ -024e84: 2205 1801 |0062: new-instance v5, Ljava/lang/IllegalStateException; // type@0118 │ │ -024e88: 2206 2801 |0064: new-instance v6, Ljava/lang/StringBuilder; // type@0128 │ │ -024e8c: 1a07 e701 |0066: const-string v7, "Illegal version:" // string@01e7 │ │ -024e90: 7020 8405 7600 |0068: invoke-direct {v6, v7}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -024e96: 5247 1103 |006b: iget v7, v4, Lip/IPPacket;.version:I // field@0311 │ │ -024e9a: 6e20 8605 7600 |006d: invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -024ea0: 6e10 8b05 0600 |0070: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -024ea6: 0c06 |0073: move-result-object v6 │ │ -024ea8: 7020 3d05 6500 |0074: invoke-direct {v5, v6}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ -024eae: 2705 |0077: throw v5 │ │ +024dac: |[024dac] ip.IPPacket.updateHeader:(II[I[I)V │ │ +024dbc: 5240 1103 |0000: iget v0, v4, Lip/IPPacket;.version:I // field@0311 │ │ +024dc0: 1241 |0002: const/4 v1, #int 4 // #4 │ │ +024dc2: 1212 |0003: const/4 v2, #int 1 // #1 │ │ +024dc4: 3310 3900 |0004: if-ne v0, v1, 003d // +0039 │ │ +024dc8: 1230 |0006: const/4 v0, #int 3 // #3 │ │ +024dca: 2300 9a01 |0007: new-array v0, v0, [I // type@019a │ │ +024dce: 5441 0e03 |0009: iget-object v1, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +024dd2: 1223 |000b: const/4 v3, #int 2 // #2 │ │ +024dd4: 6e20 e905 3100 |000c: invoke-virtual {v1, v3}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@05e9 │ │ +024dda: 5441 0e03 |000f: iget-object v1, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +024dde: 6e20 e705 0100 |0011: invoke-virtual {v1, v0}, Ljava/nio/IntBuffer;.get:([I)Ljava/nio/IntBuffer; // method@05e7 │ │ +024de4: e005 0518 |0014: shl-int/lit8 v5, v5, #int 24 // #18 │ │ +024de8: e006 0610 |0016: shl-int/lit8 v6, v6, #int 16 // #10 │ │ +024dec: b065 |0018: add-int/2addr v5, v6 │ │ +024dee: 1206 |0019: const/4 v6, #int 0 // #0 │ │ +024df0: 4b05 0006 |001a: aput v5, v0, v6 │ │ +024df4: 4405 0706 |001c: aget v5, v7, v6 │ │ +024df8: 4b05 0002 |001e: aput v5, v0, v2 │ │ +024dfc: 4405 0806 |0020: aget v5, v8, v6 │ │ +024e00: 4b05 0003 |0022: aput v5, v0, v3 │ │ +024e04: 5445 0e03 |0024: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +024e08: 6e20 e905 3500 |0026: invoke-virtual {v5, v3}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@05e9 │ │ +024e0e: 5445 0e03 |0029: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +024e12: 6e20 ec05 0500 |002b: invoke-virtual {v5, v0}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@05ec │ │ +024e18: 4405 0006 |002e: aget v5, v0, v6 │ │ +024e1c: 7010 8604 0400 |0030: invoke-direct {v4}, Lip/IPPacket;.calculateCheckSum:()I // method@0486 │ │ +024e22: 0a07 |0033: move-result v7 │ │ +024e24: b075 |0034: add-int/2addr v5, v7 │ │ +024e26: 4b05 0006 |0035: aput v5, v0, v6 │ │ +024e2a: 5446 0e03 |0037: iget-object v6, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +024e2e: 6e30 eb05 3605 |0039: invoke-virtual {v6, v3, v5}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@05eb │ │ +024e34: 2825 |003c: goto 0061 // +0025 │ │ +024e36: 1261 |003d: const/4 v1, #int 6 // #6 │ │ +024e38: 3310 2400 |003e: if-ne v0, v1, 0062 // +0024 │ │ +024e3c: 5440 0e03 |0040: iget-object v0, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +024e40: 6e20 e605 2000 |0042: invoke-virtual {v0, v2}, Ljava/nio/IntBuffer;.get:(I)I // method@05e6 │ │ +024e46: 0a00 |0045: move-result v0 │ │ +024e48: 1501 ffff |0046: const/high16 v1, #int -65536 // #ffff │ │ +024e4c: b510 |0048: and-int/2addr v0, v1 │ │ +024e4e: e006 0608 |0049: shl-int/lit8 v6, v6, #int 8 // #08 │ │ +024e52: b060 |004b: add-int/2addr v0, v6 │ │ +024e54: b050 |004c: add-int/2addr v0, v5 │ │ +024e56: 5445 0e03 |004d: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +024e5a: 6e20 e905 2500 |004f: invoke-virtual {v5, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@05e9 │ │ +024e60: 5445 0e03 |0052: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +024e64: 6e20 ea05 0500 |0054: invoke-virtual {v5, v0}, Ljava/nio/IntBuffer;.put:(I)Ljava/nio/IntBuffer; // method@05ea │ │ +024e6a: 5445 0e03 |0057: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +024e6e: 6e20 ec05 7500 |0059: invoke-virtual {v5, v7}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@05ec │ │ +024e74: 5445 0e03 |005c: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030e │ │ +024e78: 6e20 ec05 8500 |005e: invoke-virtual {v5, v8}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@05ec │ │ +024e7e: 0e00 |0061: return-void │ │ +024e80: 2205 1801 |0062: new-instance v5, Ljava/lang/IllegalStateException; // type@0118 │ │ +024e84: 2206 2801 |0064: new-instance v6, Ljava/lang/StringBuilder; // type@0128 │ │ +024e88: 1a07 e701 |0066: const-string v7, "Illegal version:" // string@01e7 │ │ +024e8c: 7020 8405 7600 |0068: invoke-direct {v6, v7}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +024e92: 5247 1103 |006b: iget v7, v4, Lip/IPPacket;.version:I // field@0311 │ │ +024e96: 6e20 8605 7600 |006d: invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +024e9c: 6e10 8b05 0600 |0070: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +024ea2: 0c06 |0073: move-result-object v6 │ │ +024ea4: 7020 3d05 6500 |0074: invoke-direct {v5, v6}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ +024eaa: 2705 |0077: throw v5 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=172 │ │ 0x0007 line=173 │ │ 0x0009 line=174 │ │ 0x000f line=175 │ │ 0x001a line=176 │ │ @@ -25938,40 +25938,40 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -025c60: |[025c60] util.DateRetriever.:()V │ │ -025c70: 2200 7901 |0000: new-instance v0, Lutil/DateRetriever; // type@0179 │ │ -025c74: 7010 9b06 0000 |0002: invoke-direct {v0}, Lutil/DateRetriever;.:()V // method@069b │ │ -025c7a: 6900 3103 |0005: sput-object v0, Lutil/DateRetriever;.RETRIEVER_INSTANCE:Lutil/DateRetriever; // field@0331 │ │ -025c7e: 0e00 |0007: return-void │ │ +025c5c: |[025c5c] util.DateRetriever.:()V │ │ +025c6c: 2200 7901 |0000: new-instance v0, Lutil/DateRetriever; // type@0179 │ │ +025c70: 7010 9b06 0000 |0002: invoke-direct {v0}, Lutil/DateRetriever;.:()V // method@069b │ │ +025c76: 6900 3103 |0005: sput-object v0, Lutil/DateRetriever;.RETRIEVER_INSTANCE:Lutil/DateRetriever; // field@0331 │ │ +025c7a: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=31 │ │ locals : │ │ │ │ #1 : (in Lutil/DateRetriever;) │ │ name : '' │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -025c80: |[025c80] util.DateRetriever.:()V │ │ -025c90: 7010 4f05 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@054f │ │ -025c96: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -025c98: 5b10 3203 |0004: iput-object v0, v1, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@0332 │ │ -025c9c: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -025c9e: 5c10 3403 |0007: iput-boolean v0, v1, Lutil/DateRetriever;.picked:Z // field@0334 │ │ -025ca2: 0e00 |0009: return-void │ │ +025c7c: |[025c7c] util.DateRetriever.:()V │ │ +025c8c: 7010 4f05 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@054f │ │ +025c92: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +025c94: 5b10 3203 |0004: iput-object v0, v1, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@0332 │ │ +025c98: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +025c9a: 5c10 3403 |0007: iput-boolean v0, v1, Lutil/DateRetriever;.picked:Z // field@0334 │ │ +025c9e: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=28 │ │ 0x0004 line=33 │ │ 0x0007 line=35 │ │ locals : │ │ 0x0000 - 0x000a reg=1 this Lutil/DateRetriever; │ │ @@ -25981,63 +25981,63 @@ │ │ type : '(Ljava/util/Calendar;)Ljava/lang/String;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 103 16-bit code units │ │ -025a90: |[025a90] util.DateRetriever.dateStr:(Ljava/util/Calendar;)Ljava/lang/String; │ │ -025aa0: 2200 2801 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ -025aa4: 7010 8305 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -025aaa: 1221 |0005: const/4 v1, #int 2 // #2 │ │ -025aac: 6e20 fa05 1500 |0006: invoke-virtual {v5, v1}, Ljava/util/Calendar;.get:(I)I // method@05fa │ │ -025ab2: 0a01 |0009: move-result v1 │ │ -025ab4: 1212 |000a: const/4 v2, #int 1 // #1 │ │ -025ab6: b021 |000b: add-int/2addr v1, v2 │ │ -025ab8: 7020 9e06 1400 |000c: invoke-direct {v4, v1}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@069e │ │ -025abe: 0c01 |000f: move-result-object v1 │ │ -025ac0: 6e20 8905 1000 |0010: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -025ac6: 1a01 6000 |0013: const-string v1, "/" // string@0060 │ │ -025aca: 6e20 8905 1000 |0015: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -025ad0: 1253 |0018: const/4 v3, #int 5 // #5 │ │ -025ad2: 6e20 fa05 3500 |0019: invoke-virtual {v5, v3}, Ljava/util/Calendar;.get:(I)I // method@05fa │ │ -025ad8: 0a03 |001c: move-result v3 │ │ -025ada: 7020 9e06 3400 |001d: invoke-direct {v4, v3}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@069e │ │ -025ae0: 0c03 |0020: move-result-object v3 │ │ -025ae2: 6e20 8905 3000 |0021: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -025ae8: 6e20 8905 1000 |0024: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -025aee: 6e20 fa05 2500 |0027: invoke-virtual {v5, v2}, Ljava/util/Calendar;.get:(I)I // method@05fa │ │ -025af4: 0a01 |002a: move-result v1 │ │ -025af6: 6e20 8605 1000 |002b: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -025afc: 1a01 0d00 |002e: const-string v1, " " // string@000d │ │ -025b00: 6e20 8905 1000 |0030: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -025b06: 1301 0b00 |0033: const/16 v1, #int 11 // #b │ │ -025b0a: 6e20 fa05 1500 |0035: invoke-virtual {v5, v1}, Ljava/util/Calendar;.get:(I)I // method@05fa │ │ -025b10: 0a01 |0038: move-result v1 │ │ -025b12: 7020 9e06 1400 |0039: invoke-direct {v4, v1}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@069e │ │ -025b18: 0c01 |003c: move-result-object v1 │ │ -025b1a: 6e20 8905 1000 |003d: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -025b20: 1a01 8500 |0040: const-string v1, ":" // string@0085 │ │ -025b24: 6e20 8905 1000 |0042: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -025b2a: 1302 0c00 |0045: const/16 v2, #int 12 // #c │ │ -025b2e: 6e20 fa05 2500 |0047: invoke-virtual {v5, v2}, Ljava/util/Calendar;.get:(I)I // method@05fa │ │ -025b34: 0a02 |004a: move-result v2 │ │ -025b36: 7020 9e06 2400 |004b: invoke-direct {v4, v2}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@069e │ │ -025b3c: 0c02 |004e: move-result-object v2 │ │ -025b3e: 6e20 8905 2000 |004f: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -025b44: 6e20 8905 1000 |0052: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -025b4a: 1301 0d00 |0055: const/16 v1, #int 13 // #d │ │ -025b4e: 6e20 fa05 1500 |0057: invoke-virtual {v5, v1}, Ljava/util/Calendar;.get:(I)I // method@05fa │ │ -025b54: 0a05 |005a: move-result v5 │ │ -025b56: 7020 9e06 5400 |005b: invoke-direct {v4, v5}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@069e │ │ -025b5c: 0c05 |005e: move-result-object v5 │ │ -025b5e: 6e20 8905 5000 |005f: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -025b64: 6e10 8b05 0000 |0062: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -025b6a: 0c05 |0065: move-result-object v5 │ │ -025b6c: 1105 |0066: return-object v5 │ │ +025a8c: |[025a8c] util.DateRetriever.dateStr:(Ljava/util/Calendar;)Ljava/lang/String; │ │ +025a9c: 2200 2801 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ +025aa0: 7010 8305 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +025aa6: 1221 |0005: const/4 v1, #int 2 // #2 │ │ +025aa8: 6e20 fa05 1500 |0006: invoke-virtual {v5, v1}, Ljava/util/Calendar;.get:(I)I // method@05fa │ │ +025aae: 0a01 |0009: move-result v1 │ │ +025ab0: 1212 |000a: const/4 v2, #int 1 // #1 │ │ +025ab2: b021 |000b: add-int/2addr v1, v2 │ │ +025ab4: 7020 9e06 1400 |000c: invoke-direct {v4, v1}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@069e │ │ +025aba: 0c01 |000f: move-result-object v1 │ │ +025abc: 6e20 8905 1000 |0010: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +025ac2: 1a01 6000 |0013: const-string v1, "/" // string@0060 │ │ +025ac6: 6e20 8905 1000 |0015: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +025acc: 1253 |0018: const/4 v3, #int 5 // #5 │ │ +025ace: 6e20 fa05 3500 |0019: invoke-virtual {v5, v3}, Ljava/util/Calendar;.get:(I)I // method@05fa │ │ +025ad4: 0a03 |001c: move-result v3 │ │ +025ad6: 7020 9e06 3400 |001d: invoke-direct {v4, v3}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@069e │ │ +025adc: 0c03 |0020: move-result-object v3 │ │ +025ade: 6e20 8905 3000 |0021: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +025ae4: 6e20 8905 1000 |0024: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +025aea: 6e20 fa05 2500 |0027: invoke-virtual {v5, v2}, Ljava/util/Calendar;.get:(I)I // method@05fa │ │ +025af0: 0a01 |002a: move-result v1 │ │ +025af2: 6e20 8605 1000 |002b: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +025af8: 1a01 0d00 |002e: const-string v1, " " // string@000d │ │ +025afc: 6e20 8905 1000 |0030: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +025b02: 1301 0b00 |0033: const/16 v1, #int 11 // #b │ │ +025b06: 6e20 fa05 1500 |0035: invoke-virtual {v5, v1}, Ljava/util/Calendar;.get:(I)I // method@05fa │ │ +025b0c: 0a01 |0038: move-result v1 │ │ +025b0e: 7020 9e06 1400 |0039: invoke-direct {v4, v1}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@069e │ │ +025b14: 0c01 |003c: move-result-object v1 │ │ +025b16: 6e20 8905 1000 |003d: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +025b1c: 1a01 8500 |0040: const-string v1, ":" // string@0085 │ │ +025b20: 6e20 8905 1000 |0042: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +025b26: 1302 0c00 |0045: const/16 v2, #int 12 // #c │ │ +025b2a: 6e20 fa05 2500 |0047: invoke-virtual {v5, v2}, Ljava/util/Calendar;.get:(I)I // method@05fa │ │ +025b30: 0a02 |004a: move-result v2 │ │ +025b32: 7020 9e06 2400 |004b: invoke-direct {v4, v2}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@069e │ │ +025b38: 0c02 |004e: move-result-object v2 │ │ +025b3a: 6e20 8905 2000 |004f: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +025b40: 6e20 8905 1000 |0052: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +025b46: 1301 0d00 |0055: const/16 v1, #int 13 // #d │ │ +025b4a: 6e20 fa05 1500 |0057: invoke-virtual {v5, v1}, Ljava/util/Calendar;.get:(I)I // method@05fa │ │ +025b50: 0a05 |005a: move-result v5 │ │ +025b52: 7020 9e06 5400 |005b: invoke-direct {v4, v5}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@069e │ │ +025b58: 0c05 |005e: move-result-object v5 │ │ +025b5a: 6e20 8905 5000 |005f: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +025b60: 6e10 8b05 0000 |0062: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +025b66: 0c05 |0065: move-result-object v5 │ │ +025b68: 1105 |0066: return-object v5 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=52 │ │ 0x0057 line=53 │ │ locals : │ │ 0x0000 - 0x0067 reg=4 this Lutil/DateRetriever; │ │ 0x0000 - 0x0067 reg=5 (null) Ljava/util/Calendar; │ │ @@ -26047,50 +26047,50 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -025b70: |[025b70] util.DateRetriever.getDateString:()Ljava/lang/String; │ │ -025b80: 6200 3103 |0000: sget-object v0, Lutil/DateRetriever;.RETRIEVER_INSTANCE:Lutil/DateRetriever; // field@0331 │ │ -025b84: 7010 9f06 0000 |0002: invoke-direct {v0}, Lutil/DateRetriever;.retrieveDateString:()Ljava/lang/String; // method@069f │ │ -025b8a: 0c00 |0005: move-result-object v0 │ │ -025b8c: 1100 |0006: return-object v0 │ │ +025b6c: |[025b6c] util.DateRetriever.getDateString:()Ljava/lang/String; │ │ +025b7c: 6200 3103 |0000: sget-object v0, Lutil/DateRetriever;.RETRIEVER_INSTANCE:Lutil/DateRetriever; // field@0331 │ │ +025b80: 7010 9f06 0000 |0002: invoke-direct {v0}, Lutil/DateRetriever;.retrieveDateString:()Ljava/lang/String; // method@069f │ │ +025b86: 0c00 |0005: move-result-object v0 │ │ +025b88: 1100 |0006: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=40 │ │ locals : │ │ │ │ #4 : (in Lutil/DateRetriever;) │ │ name : 'int2Str' │ │ type : '(I)Ljava/lang/String;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 34 16-bit code units │ │ -025b90: |[025b90] util.DateRetriever.int2Str:(I)Ljava/lang/String; │ │ -025ba0: 1300 0a00 |0000: const/16 v0, #int 10 // #a │ │ -025ba4: 3503 1100 |0002: if-ge v3, v0, 0013 // +0011 │ │ -025ba8: 2200 2801 |0004: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ -025bac: 1a01 6d00 |0006: const-string v1, "0" // string@006d │ │ -025bb0: 7020 8405 1000 |0008: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -025bb6: 6e20 8605 3000 |000b: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -025bbc: 6e10 8b05 0000 |000e: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -025bc2: 0c03 |0011: move-result-object v3 │ │ -025bc4: 1103 |0012: return-object v3 │ │ -025bc6: 2200 2801 |0013: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ -025bca: 1a01 0000 |0015: const-string v1, "" // string@0000 │ │ -025bce: 7020 8405 1000 |0017: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -025bd4: 6e20 8605 3000 |001a: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -025bda: 6e10 8b05 0000 |001d: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -025be0: 0c03 |0020: move-result-object v3 │ │ -025be2: 1103 |0021: return-object v3 │ │ +025b8c: |[025b8c] util.DateRetriever.int2Str:(I)Ljava/lang/String; │ │ +025b9c: 1300 0a00 |0000: const/16 v0, #int 10 // #a │ │ +025ba0: 3503 1100 |0002: if-ge v3, v0, 0013 // +0011 │ │ +025ba4: 2200 2801 |0004: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ +025ba8: 1a01 6d00 |0006: const-string v1, "0" // string@006d │ │ +025bac: 7020 8405 1000 |0008: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +025bb2: 6e20 8605 3000 |000b: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +025bb8: 6e10 8b05 0000 |000e: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +025bbe: 0c03 |0011: move-result-object v3 │ │ +025bc0: 1103 |0012: return-object v3 │ │ +025bc2: 2200 2801 |0013: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ +025bc6: 1a01 0000 |0015: const-string v1, "" // string@0000 │ │ +025bca: 7020 8405 1000 |0017: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +025bd0: 6e20 8605 3000 |001a: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +025bd6: 6e10 8b05 0000 |001d: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +025bdc: 0c03 |0020: move-result-object v3 │ │ +025bde: 1103 |0021: return-object v3 │ │ catches : (none) │ │ positions : │ │ 0x0004 line=45 │ │ 0x0013 line=47 │ │ locals : │ │ 0x0000 - 0x0022 reg=2 this Lutil/DateRetriever; │ │ 0x0000 - 0x0022 reg=3 (null) I │ │ @@ -26100,40 +26100,40 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x20002 (PRIVATE DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 44 16-bit code units │ │ -025be4: |[025be4] util.DateRetriever.retrieveDateString:()Ljava/lang/String; │ │ -025bf4: 1d02 |0000: monitor-enter v2 │ │ -025bf6: 1210 |0001: const/4 v0, #int 1 // #1 │ │ -025bf8: 5c20 3403 |0002: iput-boolean v0, v2, Lutil/DateRetriever;.picked:Z // field@0334 │ │ -025bfc: 5421 3203 |0004: iget-object v1, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@0332 │ │ -025c00: 3801 0600 |0006: if-eqz v1, 000c // +0006 │ │ -025c04: 5420 3303 |0008: iget-object v0, v2, Lutil/DateRetriever;.current:Ljava/lang/String; // field@0333 │ │ -025c08: 1e02 |000a: monitor-exit v2 │ │ -025c0a: 1100 |000b: return-object v0 │ │ -025c0c: 7100 fb05 0000 |000c: invoke-static {}, Ljava/util/Calendar;.getInstance:()Ljava/util/Calendar; // method@05fb │ │ -025c12: 0c01 |000f: move-result-object v1 │ │ -025c14: 7020 9c06 1200 |0010: invoke-direct {v2, v1}, Lutil/DateRetriever;.dateStr:(Ljava/util/Calendar;)Ljava/lang/String; // method@069c │ │ -025c1a: 0c01 |0013: move-result-object v1 │ │ -025c1c: 5b21 3303 |0014: iput-object v1, v2, Lutil/DateRetriever;.current:Ljava/lang/String; // field@0333 │ │ -025c20: 2201 2a01 |0016: new-instance v1, Ljava/lang/Thread; // type@012a │ │ -025c24: 7020 9005 2100 |0018: invoke-direct {v1, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ -025c2a: 5b21 3203 |001b: iput-object v1, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@0332 │ │ -025c2e: 6e20 9405 0100 |001d: invoke-virtual {v1, v0}, Ljava/lang/Thread;.setDaemon:(Z)V // method@0594 │ │ -025c34: 5420 3203 |0020: iget-object v0, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@0332 │ │ -025c38: 6e10 9605 0000 |0022: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@0596 │ │ -025c3e: 5420 3303 |0025: iget-object v0, v2, Lutil/DateRetriever;.current:Ljava/lang/String; // field@0333 │ │ -025c42: 1e02 |0027: monitor-exit v2 │ │ -025c44: 1100 |0028: return-object v0 │ │ -025c46: 0d00 |0029: move-exception v0 │ │ -025c48: 1e02 |002a: monitor-exit v2 │ │ -025c4a: 2700 |002b: throw v0 │ │ +025be0: |[025be0] util.DateRetriever.retrieveDateString:()Ljava/lang/String; │ │ +025bf0: 1d02 |0000: monitor-enter v2 │ │ +025bf2: 1210 |0001: const/4 v0, #int 1 // #1 │ │ +025bf4: 5c20 3403 |0002: iput-boolean v0, v2, Lutil/DateRetriever;.picked:Z // field@0334 │ │ +025bf8: 5421 3203 |0004: iget-object v1, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@0332 │ │ +025bfc: 3801 0600 |0006: if-eqz v1, 000c // +0006 │ │ +025c00: 5420 3303 |0008: iget-object v0, v2, Lutil/DateRetriever;.current:Ljava/lang/String; // field@0333 │ │ +025c04: 1e02 |000a: monitor-exit v2 │ │ +025c06: 1100 |000b: return-object v0 │ │ +025c08: 7100 fb05 0000 |000c: invoke-static {}, Ljava/util/Calendar;.getInstance:()Ljava/util/Calendar; // method@05fb │ │ +025c0e: 0c01 |000f: move-result-object v1 │ │ +025c10: 7020 9c06 1200 |0010: invoke-direct {v2, v1}, Lutil/DateRetriever;.dateStr:(Ljava/util/Calendar;)Ljava/lang/String; // method@069c │ │ +025c16: 0c01 |0013: move-result-object v1 │ │ +025c18: 5b21 3303 |0014: iput-object v1, v2, Lutil/DateRetriever;.current:Ljava/lang/String; // field@0333 │ │ +025c1c: 2201 2a01 |0016: new-instance v1, Ljava/lang/Thread; // type@012a │ │ +025c20: 7020 9005 2100 |0018: invoke-direct {v1, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ +025c26: 5b21 3203 |001b: iput-object v1, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@0332 │ │ +025c2a: 6e20 9405 0100 |001d: invoke-virtual {v1, v0}, Ljava/lang/Thread;.setDaemon:(Z)V // method@0594 │ │ +025c30: 5420 3203 |0020: iget-object v0, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@0332 │ │ +025c34: 6e10 9605 0000 |0022: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@0596 │ │ +025c3a: 5420 3303 |0025: iget-object v0, v2, Lutil/DateRetriever;.current:Ljava/lang/String; // field@0333 │ │ +025c3e: 1e02 |0027: monitor-exit v2 │ │ +025c40: 1100 |0028: return-object v0 │ │ +025c42: 0d00 |0029: move-exception v0 │ │ +025c44: 1e02 |002a: monitor-exit v2 │ │ +025c46: 2700 |002b: throw v0 │ │ catches : 2 │ │ 0x0002 - 0x000a │ │ -> 0x0029 │ │ 0x000c - 0x0027 │ │ -> 0x0029 │ │ positions : │ │ 0x0002 line=57 │ │ @@ -26152,22 +26152,22 @@ │ │ type : '(J)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 13 16-bit code units │ │ -025d20: |[025d20] util.DateRetriever.waitMillis:(J)V │ │ -025d30: 6e30 5605 1002 |0000: invoke-virtual {v0, v1, v2}, Ljava/lang/Object;.wait:(J)V // method@0556 │ │ -025d36: 2809 |0003: goto 000c // +0009 │ │ -025d38: 0d01 |0004: move-exception v1 │ │ -025d3a: 7100 0107 0000 |0005: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -025d40: 0c02 |0008: move-result-object v2 │ │ -025d42: 7220 0c07 1200 |0009: invoke-interface {v2, v1}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -025d48: 0e00 |000c: return-void │ │ +025d1c: |[025d1c] util.DateRetriever.waitMillis:(J)V │ │ +025d2c: 6e30 5605 1002 |0000: invoke-virtual {v0, v1, v2}, Ljava/lang/Object;.wait:(J)V // method@0556 │ │ +025d32: 2809 |0003: goto 000c // +0009 │ │ +025d34: 0d01 |0004: move-exception v1 │ │ +025d36: 7100 0107 0000 |0005: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +025d3c: 0c02 |0008: move-result-object v2 │ │ +025d3e: 7220 0c07 1200 |0009: invoke-interface {v2, v1}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +025d44: 0e00 |000c: return-void │ │ catches : 1 │ │ 0x0000 - 0x0003 │ │ Ljava/lang/InterruptedException; -> 0x0004 │ │ positions : │ │ 0x0000 line=74 │ │ 0x0005 line=76 │ │ locals : │ │ @@ -26180,44 +26180,44 @@ │ │ type : '()V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 47 16-bit code units │ │ -025ca4: |[025ca4] util.DateRetriever.run:()V │ │ -025cb4: 1d02 |0000: monitor-enter v2 │ │ -025cb6: 7100 9105 0000 |0001: invoke-static {}, Ljava/lang/Thread;.currentThread:()Ljava/lang/Thread; // method@0591 │ │ -025cbc: 0c00 |0004: move-result-object v0 │ │ -025cbe: 5b20 3203 |0005: iput-object v0, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@0332 │ │ -025cc2: 6000 3003 |0007: sget v0, Lutil/DateRetriever;.PRECISION_MILLIS:I // field@0330 │ │ -025cc6: 8100 |0009: int-to-long v0, v0 │ │ -025cc8: 7030 a106 0201 |000a: invoke-direct {v2, v0, v1}, Lutil/DateRetriever;.waitMillis:(J)V // method@06a1 │ │ -025cce: 5520 3403 |000d: iget-boolean v0, v2, Lutil/DateRetriever;.picked:Z // field@0334 │ │ -025cd2: 3800 1600 |000f: if-eqz v0, 0025 // +0016 │ │ -025cd6: 7100 fb05 0000 |0011: invoke-static {}, Ljava/util/Calendar;.getInstance:()Ljava/util/Calendar; // method@05fb │ │ -025cdc: 0c00 |0014: move-result-object v0 │ │ -025cde: 7020 9c06 0200 |0015: invoke-direct {v2, v0}, Lutil/DateRetriever;.dateStr:(Ljava/util/Calendar;)Ljava/lang/String; // method@069c │ │ -025ce4: 0c00 |0018: move-result-object v0 │ │ -025ce6: 5b20 3303 |0019: iput-object v0, v2, Lutil/DateRetriever;.current:Ljava/lang/String; // field@0333 │ │ -025cea: 1200 |001b: const/4 v0, #int 0 // #0 │ │ -025cec: 5c20 3403 |001c: iput-boolean v0, v2, Lutil/DateRetriever;.picked:Z // field@0334 │ │ -025cf0: 6000 3003 |001e: sget v0, Lutil/DateRetriever;.PRECISION_MILLIS:I // field@0330 │ │ -025cf4: 8100 |0020: int-to-long v0, v0 │ │ -025cf6: 7030 a106 0201 |0021: invoke-direct {v2, v0, v1}, Lutil/DateRetriever;.waitMillis:(J)V // method@06a1 │ │ -025cfc: 28e9 |0024: goto 000d // -0017 │ │ -025cfe: 1200 |0025: const/4 v0, #int 0 // #0 │ │ -025d00: 5b20 3203 |0026: iput-object v0, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@0332 │ │ -025d04: 1e02 |0028: monitor-exit v2 │ │ -025d06: 0e00 |0029: return-void │ │ -025d08: 0d00 |002a: move-exception v0 │ │ -025d0a: 1e02 |002b: monitor-exit v2 │ │ -025d0c: 2802 |002c: goto 002e // +0002 │ │ -025d0e: 2700 |002d: throw v0 │ │ -025d10: 28ff |002e: goto 002d // -0001 │ │ +025ca0: |[025ca0] util.DateRetriever.run:()V │ │ +025cb0: 1d02 |0000: monitor-enter v2 │ │ +025cb2: 7100 9105 0000 |0001: invoke-static {}, Ljava/lang/Thread;.currentThread:()Ljava/lang/Thread; // method@0591 │ │ +025cb8: 0c00 |0004: move-result-object v0 │ │ +025cba: 5b20 3203 |0005: iput-object v0, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@0332 │ │ +025cbe: 6000 3003 |0007: sget v0, Lutil/DateRetriever;.PRECISION_MILLIS:I // field@0330 │ │ +025cc2: 8100 |0009: int-to-long v0, v0 │ │ +025cc4: 7030 a106 0201 |000a: invoke-direct {v2, v0, v1}, Lutil/DateRetriever;.waitMillis:(J)V // method@06a1 │ │ +025cca: 5520 3403 |000d: iget-boolean v0, v2, Lutil/DateRetriever;.picked:Z // field@0334 │ │ +025cce: 3800 1600 |000f: if-eqz v0, 0025 // +0016 │ │ +025cd2: 7100 fb05 0000 |0011: invoke-static {}, Ljava/util/Calendar;.getInstance:()Ljava/util/Calendar; // method@05fb │ │ +025cd8: 0c00 |0014: move-result-object v0 │ │ +025cda: 7020 9c06 0200 |0015: invoke-direct {v2, v0}, Lutil/DateRetriever;.dateStr:(Ljava/util/Calendar;)Ljava/lang/String; // method@069c │ │ +025ce0: 0c00 |0018: move-result-object v0 │ │ +025ce2: 5b20 3303 |0019: iput-object v0, v2, Lutil/DateRetriever;.current:Ljava/lang/String; // field@0333 │ │ +025ce6: 1200 |001b: const/4 v0, #int 0 // #0 │ │ +025ce8: 5c20 3403 |001c: iput-boolean v0, v2, Lutil/DateRetriever;.picked:Z // field@0334 │ │ +025cec: 6000 3003 |001e: sget v0, Lutil/DateRetriever;.PRECISION_MILLIS:I // field@0330 │ │ +025cf0: 8100 |0020: int-to-long v0, v0 │ │ +025cf2: 7030 a106 0201 |0021: invoke-direct {v2, v0, v1}, Lutil/DateRetriever;.waitMillis:(J)V // method@06a1 │ │ +025cf8: 28e9 |0024: goto 000d // -0017 │ │ +025cfa: 1200 |0025: const/4 v0, #int 0 // #0 │ │ +025cfc: 5b20 3203 |0026: iput-object v0, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@0332 │ │ +025d00: 1e02 |0028: monitor-exit v2 │ │ +025d02: 0e00 |0029: return-void │ │ +025d04: 0d00 |002a: move-exception v0 │ │ +025d06: 1e02 |002b: monitor-exit v2 │ │ +025d08: 2802 |002c: goto 002e // +0002 │ │ +025d0a: 2700 |002d: throw v0 │ │ +025d0c: 28ff |002e: goto 002d // -0001 │ │ catches : 1 │ │ 0x0001 - 0x0028 │ │ -> 0x002a │ │ positions : │ │ 0x0001 line=83 │ │ 0x0007 line=85 │ │ 0x000d line=86 │ │ @@ -26302,34 +26302,34 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 52 16-bit code units │ │ -025f90: |[025f90] util.Encryption.:()V │ │ -025fa0: 1300 1000 |0000: const/16 v0, #int 16 // #10 │ │ -025fa4: 2300 9901 |0002: new-array v0, v0, [B // type@0199 │ │ -025fa8: 2600 1c00 0000 |0004: fill-array-data v0, 00000020 // +0000001c │ │ -025fae: 6900 3a03 |0007: sput-object v0, Lutil/Encryption;.iv:[B // field@033a │ │ -025fb2: 1300 0800 |0009: const/16 v0, #int 8 // #8 │ │ -025fb6: 2300 9901 |000b: new-array v0, v0, [B // type@0199 │ │ -025fba: 2600 1f00 0000 |000d: fill-array-data v0, 0000002c // +0000001f │ │ -025fc0: 6900 3703 |0010: sput-object v0, Lutil/Encryption;.INIT_BYTES:[B // field@0337 │ │ -025fc4: 1200 |0012: const/4 v0, #int 0 // #0 │ │ -025fc6: 6a00 3603 |0013: sput-boolean v0, Lutil/Encryption;.INITIALZED:Z // field@0336 │ │ -025fca: 1a00 0000 |0015: const-string v0, "" // string@0000 │ │ -025fce: 6900 3c03 |0017: sput-object v0, Lutil/Encryption;.keyphrase:Ljava/lang/String; // field@033c │ │ -025fd2: 1200 |0019: const/4 v0, #int 0 // #0 │ │ -025fd4: 6900 3803 |001a: sput-object v0, Lutil/Encryption;.dcipher:Ljavax/crypto/Cipher; // field@0338 │ │ -025fd8: 6900 3903 |001c: sput-object v0, Lutil/Encryption;.ecipher:Ljavax/crypto/Cipher; // field@0339 │ │ -025fdc: 0e00 |001e: return-void │ │ -025fde: 0000 |001f: nop // spacer │ │ -025fe0: 0003 0100 1000 0000 0cfe 1e29 65bf ... |0020: array-data (12 units) │ │ -025ff8: 0003 0100 0800 0000 2d07 f82d 06bf ... |002c: array-data (8 units) │ │ +025f8c: |[025f8c] util.Encryption.:()V │ │ +025f9c: 1300 1000 |0000: const/16 v0, #int 16 // #10 │ │ +025fa0: 2300 9901 |0002: new-array v0, v0, [B // type@0199 │ │ +025fa4: 2600 1c00 0000 |0004: fill-array-data v0, 00000020 // +0000001c │ │ +025faa: 6900 3a03 |0007: sput-object v0, Lutil/Encryption;.iv:[B // field@033a │ │ +025fae: 1300 0800 |0009: const/16 v0, #int 8 // #8 │ │ +025fb2: 2300 9901 |000b: new-array v0, v0, [B // type@0199 │ │ +025fb6: 2600 1f00 0000 |000d: fill-array-data v0, 0000002c // +0000001f │ │ +025fbc: 6900 3703 |0010: sput-object v0, Lutil/Encryption;.INIT_BYTES:[B // field@0337 │ │ +025fc0: 1200 |0012: const/4 v0, #int 0 // #0 │ │ +025fc2: 6a00 3603 |0013: sput-boolean v0, Lutil/Encryption;.INITIALZED:Z // field@0336 │ │ +025fc6: 1a00 0000 |0015: const-string v0, "" // string@0000 │ │ +025fca: 6900 3c03 |0017: sput-object v0, Lutil/Encryption;.keyphrase:Ljava/lang/String; // field@033c │ │ +025fce: 1200 |0019: const/4 v0, #int 0 // #0 │ │ +025fd0: 6900 3803 |001a: sput-object v0, Lutil/Encryption;.dcipher:Ljavax/crypto/Cipher; // field@0338 │ │ +025fd4: 6900 3903 |001c: sput-object v0, Lutil/Encryption;.ecipher:Ljavax/crypto/Cipher; // field@0339 │ │ +025fd8: 0e00 |001e: return-void │ │ +025fda: 0000 |001f: nop // spacer │ │ +025fdc: 0003 0100 1000 0000 0cfe 1e29 65bf ... |0020: array-data (12 units) │ │ +025ff4: 0003 0100 0800 0000 2d07 f82d 06bf ... |002c: array-data (8 units) │ │ catches : (none) │ │ positions : │ │ 0x0002 line=16 │ │ 0x000b line=18 │ │ 0x0013 line=21 │ │ 0x0015 line=25 │ │ 0x001a line=26 │ │ @@ -26341,17 +26341,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -026008: |[026008] util.Encryption.:()V │ │ -026018: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -02601e: 0e00 |0003: return-void │ │ +026004: |[026004] util.Encryption.:()V │ │ +026014: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +02601a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=14 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lutil/Encryption; │ │ │ │ #2 : (in Lutil/Encryption;) │ │ @@ -26359,41 +26359,41 @@ │ │ type : '([B)[B' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 47 16-bit code units │ │ -025d5c: |[025d5c] util.Encryption.decrypt:([B)[B │ │ -025d6c: 6300 3603 |0000: sget-boolean v0, Lutil/Encryption;.INITIALZED:Z // field@0336 │ │ -025d70: 3800 2500 |0002: if-eqz v0, 0027 // +0025 │ │ -025d74: 6200 3803 |0004: sget-object v0, Lutil/Encryption;.dcipher:Ljavax/crypto/Cipher; // field@0338 │ │ -025d78: 1d00 |0006: monitor-enter v0 │ │ -025d7a: 6201 3803 |0007: sget-object v1, Lutil/Encryption;.dcipher:Ljavax/crypto/Cipher; // field@0338 │ │ -025d7e: 6e20 7406 3100 |0009: invoke-virtual {v1, v3}, Ljavax/crypto/Cipher;.doFinal:([B)[B // method@0674 │ │ -025d84: 0c03 |000c: move-result-object v3 │ │ -025d86: 1e00 |000d: monitor-exit v0 │ │ -025d88: 1103 |000e: return-object v3 │ │ -025d8a: 0d03 |000f: move-exception v3 │ │ -025d8c: 1e00 |0010: monitor-exit v0 │ │ -025d8e: 2703 |0011: throw v3 │ │ -025d90: 0d03 |0012: move-exception v3 │ │ -025d92: 2200 fb00 |0013: new-instance v0, Ljava/io/IOException; // type@00fb │ │ -025d96: 2201 2801 |0015: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -025d9a: 1a02 6c01 |0017: const-string v2, "Decryption failed:" // string@016c │ │ -025d9e: 7020 8405 2100 |0019: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -025da4: 6e20 8805 3100 |001c: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ -025daa: 6e10 8b05 0100 |001f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -025db0: 0c03 |0022: move-result-object v3 │ │ -025db2: 7020 fb04 3000 |0023: invoke-direct {v0, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -025db8: 2700 |0026: throw v0 │ │ -025dba: 2203 fb00 |0027: new-instance v3, Ljava/io/IOException; // type@00fb │ │ -025dbe: 1a00 8101 |0029: const-string v0, "Encryption not initialized!" // string@0181 │ │ -025dc2: 7020 fb04 0300 |002b: invoke-direct {v3, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -025dc8: 2703 |002e: throw v3 │ │ +025d58: |[025d58] util.Encryption.decrypt:([B)[B │ │ +025d68: 6300 3603 |0000: sget-boolean v0, Lutil/Encryption;.INITIALZED:Z // field@0336 │ │ +025d6c: 3800 2500 |0002: if-eqz v0, 0027 // +0025 │ │ +025d70: 6200 3803 |0004: sget-object v0, Lutil/Encryption;.dcipher:Ljavax/crypto/Cipher; // field@0338 │ │ +025d74: 1d00 |0006: monitor-enter v0 │ │ +025d76: 6201 3803 |0007: sget-object v1, Lutil/Encryption;.dcipher:Ljavax/crypto/Cipher; // field@0338 │ │ +025d7a: 6e20 7406 3100 |0009: invoke-virtual {v1, v3}, Ljavax/crypto/Cipher;.doFinal:([B)[B // method@0674 │ │ +025d80: 0c03 |000c: move-result-object v3 │ │ +025d82: 1e00 |000d: monitor-exit v0 │ │ +025d84: 1103 |000e: return-object v3 │ │ +025d86: 0d03 |000f: move-exception v3 │ │ +025d88: 1e00 |0010: monitor-exit v0 │ │ +025d8a: 2703 |0011: throw v3 │ │ +025d8c: 0d03 |0012: move-exception v3 │ │ +025d8e: 2200 fb00 |0013: new-instance v0, Ljava/io/IOException; // type@00fb │ │ +025d92: 2201 2801 |0015: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +025d96: 1a02 6c01 |0017: const-string v2, "Decryption failed:" // string@016c │ │ +025d9a: 7020 8405 2100 |0019: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +025da0: 6e20 8805 3100 |001c: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ +025da6: 6e10 8b05 0100 |001f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +025dac: 0c03 |0022: move-result-object v3 │ │ +025dae: 7020 fb04 3000 |0023: invoke-direct {v0, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +025db4: 2700 |0026: throw v0 │ │ +025db6: 2203 fb00 |0027: new-instance v3, Ljava/io/IOException; // type@00fb │ │ +025dba: 1a00 8101 |0029: const-string v0, "Encryption not initialized!" // string@0181 │ │ +025dbe: 7020 fb04 0300 |002b: invoke-direct {v3, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +025dc4: 2703 |002e: throw v3 │ │ catches : 3 │ │ 0x0004 - 0x0007 │ │ Ljava/lang/Exception; -> 0x0012 │ │ 0x0007 - 0x0011 │ │ -> 0x000f │ │ 0x0011 - 0x0012 │ │ Ljava/lang/Exception; -> 0x0012 │ │ @@ -26412,41 +26412,41 @@ │ │ type : '([B)[B' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 47 16-bit code units │ │ -025dec: |[025dec] util.Encryption.encrypt:([B)[B │ │ -025dfc: 6300 3603 |0000: sget-boolean v0, Lutil/Encryption;.INITIALZED:Z // field@0336 │ │ -025e00: 3800 2500 |0002: if-eqz v0, 0027 // +0025 │ │ -025e04: 6200 3903 |0004: sget-object v0, Lutil/Encryption;.ecipher:Ljavax/crypto/Cipher; // field@0339 │ │ -025e08: 1d00 |0006: monitor-enter v0 │ │ -025e0a: 6201 3903 |0007: sget-object v1, Lutil/Encryption;.ecipher:Ljavax/crypto/Cipher; // field@0339 │ │ -025e0e: 6e20 7406 3100 |0009: invoke-virtual {v1, v3}, Ljavax/crypto/Cipher;.doFinal:([B)[B // method@0674 │ │ -025e14: 0c03 |000c: move-result-object v3 │ │ -025e16: 1e00 |000d: monitor-exit v0 │ │ -025e18: 1103 |000e: return-object v3 │ │ -025e1a: 0d03 |000f: move-exception v3 │ │ -025e1c: 1e00 |0010: monitor-exit v0 │ │ -025e1e: 2703 |0011: throw v3 │ │ -025e20: 0d03 |0012: move-exception v3 │ │ -025e22: 2200 fb00 |0013: new-instance v0, Ljava/io/IOException; // type@00fb │ │ -025e26: 2201 2801 |0015: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -025e2a: 1a02 8001 |0017: const-string v2, "Encryption failed:" // string@0180 │ │ -025e2e: 7020 8405 2100 |0019: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -025e34: 6e20 8805 3100 |001c: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ -025e3a: 6e10 8b05 0100 |001f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -025e40: 0c03 |0022: move-result-object v3 │ │ -025e42: 7020 fb04 3000 |0023: invoke-direct {v0, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -025e48: 2700 |0026: throw v0 │ │ -025e4a: 2203 fb00 |0027: new-instance v3, Ljava/io/IOException; // type@00fb │ │ -025e4e: 1a00 8101 |0029: const-string v0, "Encryption not initialized!" // string@0181 │ │ -025e52: 7020 fb04 0300 |002b: invoke-direct {v3, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -025e58: 2703 |002e: throw v3 │ │ +025de8: |[025de8] util.Encryption.encrypt:([B)[B │ │ +025df8: 6300 3603 |0000: sget-boolean v0, Lutil/Encryption;.INITIALZED:Z // field@0336 │ │ +025dfc: 3800 2500 |0002: if-eqz v0, 0027 // +0025 │ │ +025e00: 6200 3903 |0004: sget-object v0, Lutil/Encryption;.ecipher:Ljavax/crypto/Cipher; // field@0339 │ │ +025e04: 1d00 |0006: monitor-enter v0 │ │ +025e06: 6201 3903 |0007: sget-object v1, Lutil/Encryption;.ecipher:Ljavax/crypto/Cipher; // field@0339 │ │ +025e0a: 6e20 7406 3100 |0009: invoke-virtual {v1, v3}, Ljavax/crypto/Cipher;.doFinal:([B)[B // method@0674 │ │ +025e10: 0c03 |000c: move-result-object v3 │ │ +025e12: 1e00 |000d: monitor-exit v0 │ │ +025e14: 1103 |000e: return-object v3 │ │ +025e16: 0d03 |000f: move-exception v3 │ │ +025e18: 1e00 |0010: monitor-exit v0 │ │ +025e1a: 2703 |0011: throw v3 │ │ +025e1c: 0d03 |0012: move-exception v3 │ │ +025e1e: 2200 fb00 |0013: new-instance v0, Ljava/io/IOException; // type@00fb │ │ +025e22: 2201 2801 |0015: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +025e26: 1a02 8001 |0017: const-string v2, "Encryption failed:" // string@0180 │ │ +025e2a: 7020 8405 2100 |0019: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +025e30: 6e20 8805 3100 |001c: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ +025e36: 6e10 8b05 0100 |001f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +025e3c: 0c03 |0022: move-result-object v3 │ │ +025e3e: 7020 fb04 3000 |0023: invoke-direct {v0, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +025e44: 2700 |0026: throw v0 │ │ +025e46: 2203 fb00 |0027: new-instance v3, Ljava/io/IOException; // type@00fb │ │ +025e4a: 1a00 8101 |0029: const-string v0, "Encryption not initialized!" // string@0181 │ │ +025e4e: 7020 fb04 0300 |002b: invoke-direct {v3, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +025e54: 2703 |002e: throw v3 │ │ catches : 3 │ │ 0x0004 - 0x0007 │ │ Ljava/lang/Exception; -> 0x0012 │ │ 0x0007 - 0x0011 │ │ -> 0x000f │ │ 0x0011 - 0x0012 │ │ Ljava/lang/Exception; -> 0x0012 │ │ @@ -26465,24 +26465,24 @@ │ │ type : '(Ljava/io/InputStream;)Ljava/io/InputStream;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 18 16-bit code units │ │ -025e7c: |[025e7c] util.Encryption.getDecryptedStream:(Ljava/io/InputStream;)Ljava/io/InputStream; │ │ -025e8c: 6300 3603 |0000: sget-boolean v0, Lutil/Encryption;.INITIALZED:Z // field@0336 │ │ -025e90: 3800 0800 |0002: if-eqz v0, 000a // +0008 │ │ -025e94: 2200 8501 |0004: new-instance v0, Lutil/PaddingCipherInputStream; // type@0185 │ │ -025e98: 7020 3307 1000 |0006: invoke-direct {v0, v1}, Lutil/PaddingCipherInputStream;.:(Ljava/io/InputStream;)V // method@0733 │ │ -025e9e: 1100 |0009: return-object v0 │ │ -025ea0: 2201 fb00 |000a: new-instance v1, Ljava/io/IOException; // type@00fb │ │ -025ea4: 1a00 8101 |000c: const-string v0, "Encryption not initialized!" // string@0181 │ │ -025ea8: 7020 fb04 0100 |000e: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -025eae: 2701 |0011: throw v1 │ │ +025e78: |[025e78] util.Encryption.getDecryptedStream:(Ljava/io/InputStream;)Ljava/io/InputStream; │ │ +025e88: 6300 3603 |0000: sget-boolean v0, Lutil/Encryption;.INITIALZED:Z // field@0336 │ │ +025e8c: 3800 0800 |0002: if-eqz v0, 000a // +0008 │ │ +025e90: 2200 8501 |0004: new-instance v0, Lutil/PaddingCipherInputStream; // type@0185 │ │ +025e94: 7020 3307 1000 |0006: invoke-direct {v0, v1}, Lutil/PaddingCipherInputStream;.:(Ljava/io/InputStream;)V // method@0733 │ │ +025e9a: 1100 |0009: return-object v0 │ │ +025e9c: 2201 fb00 |000a: new-instance v1, Ljava/io/IOException; // type@00fb │ │ +025ea0: 1a00 8101 |000c: const-string v0, "Encryption not initialized!" // string@0181 │ │ +025ea4: 7020 fb04 0100 |000e: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +025eaa: 2701 |0011: throw v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=71 │ │ 0x0004 line=74 │ │ 0x000a line=72 │ │ locals : │ │ 0x0000 - 0x0012 reg=1 (null) Ljava/io/InputStream; │ │ @@ -26492,24 +26492,24 @@ │ │ type : '(Ljava/io/OutputStream;I)Ljava/io/OutputStream;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 18 16-bit code units │ │ -025eb0: |[025eb0] util.Encryption.getEncryptedOutputStream:(Ljava/io/OutputStream;I)Ljava/io/OutputStream; │ │ -025ec0: 6300 3603 |0000: sget-boolean v0, Lutil/Encryption;.INITIALZED:Z // field@0336 │ │ -025ec4: 3800 0800 |0002: if-eqz v0, 000a // +0008 │ │ -025ec8: 2200 8601 |0004: new-instance v0, Lutil/PaddingCipherOutputStream; // type@0186 │ │ -025ecc: 7030 3a07 1002 |0006: invoke-direct {v0, v1, v2}, Lutil/PaddingCipherOutputStream;.:(Ljava/io/OutputStream;I)V // method@073a │ │ -025ed2: 1100 |0009: return-object v0 │ │ -025ed4: 2201 fb00 |000a: new-instance v1, Ljava/io/IOException; // type@00fb │ │ -025ed8: 1a02 8101 |000c: const-string v2, "Encryption not initialized!" // string@0181 │ │ -025edc: 7020 fb04 2100 |000e: invoke-direct {v1, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -025ee2: 2701 |0011: throw v1 │ │ +025eac: |[025eac] util.Encryption.getEncryptedOutputStream:(Ljava/io/OutputStream;I)Ljava/io/OutputStream; │ │ +025ebc: 6300 3603 |0000: sget-boolean v0, Lutil/Encryption;.INITIALZED:Z // field@0336 │ │ +025ec0: 3800 0800 |0002: if-eqz v0, 000a // +0008 │ │ +025ec4: 2200 8601 |0004: new-instance v0, Lutil/PaddingCipherOutputStream; // type@0186 │ │ +025ec8: 7030 3a07 1002 |0006: invoke-direct {v0, v1, v2}, Lutil/PaddingCipherOutputStream;.:(Ljava/io/OutputStream;I)V // method@073a │ │ +025ece: 1100 |0009: return-object v0 │ │ +025ed0: 2201 fb00 |000a: new-instance v1, Ljava/io/IOException; // type@00fb │ │ +025ed4: 1a02 8101 |000c: const-string v2, "Encryption not initialized!" // string@0181 │ │ +025ed8: 7020 fb04 2100 |000e: invoke-direct {v1, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +025ede: 2701 |0011: throw v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=81 │ │ 0x0004 line=84 │ │ 0x000a line=82 │ │ locals : │ │ 0x0000 - 0x0012 reg=1 (null) Ljava/io/OutputStream; │ │ @@ -26520,76 +26520,76 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 125 16-bit code units │ │ -026020: |[026020] util.Encryption.init_AES:(Ljava/lang/String;)V │ │ -026030: 1a00 b100 |0000: const-string v0, "AES/CBC/PKCS5Padding" // string@00b1 │ │ -026034: 6201 3c03 |0002: sget-object v1, Lutil/Encryption;.keyphrase:Ljava/lang/String; // field@033c │ │ -026038: 6e20 6705 5100 |0004: invoke-virtual {v1, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -02603e: 0a01 |0007: move-result v1 │ │ -026040: 3801 0300 |0008: if-eqz v1, 000b // +0003 │ │ -026044: 0e00 |000a: return-void │ │ -026046: 1301 1000 |000b: const/16 v1, #int 16 // #10 │ │ -02604a: 2311 9901 |000d: new-array v1, v1, [B // type@0199 │ │ -02604e: 7110 e405 0100 |000f: invoke-static {v1}, Ljava/nio/ByteBuffer;.wrap:([B)Ljava/nio/ByteBuffer; // method@05e4 │ │ -026054: 0c01 |0012: move-result-object v1 │ │ -026056: 7110 7107 0500 |0013: invoke-static {v5}, Lutil/Utils;.getLongStringHash:(Ljava/lang/String;)J // method@0771 │ │ -02605c: 0b02 |0016: move-result-wide v2 │ │ -02605e: 6e30 e205 2103 |0017: invoke-virtual {v1, v2, v3}, Ljava/nio/ByteBuffer;.putLong:(J)Ljava/nio/ByteBuffer; // method@05e2 │ │ -026064: 7110 a906 0500 |001a: invoke-static {v5}, Lutil/Encryption;.invertStr:(Ljava/lang/String;)Ljava/lang/String; // method@06a9 │ │ -02606a: 0c02 |001d: move-result-object v2 │ │ -02606c: 7110 7107 0200 |001e: invoke-static {v2}, Lutil/Utils;.getLongStringHash:(Ljava/lang/String;)J // method@0771 │ │ -026072: 0b02 |0021: move-result-wide v2 │ │ -026074: 6e30 e205 2103 |0022: invoke-virtual {v1, v2, v3}, Ljava/nio/ByteBuffer;.putLong:(J)Ljava/nio/ByteBuffer; // method@05e2 │ │ -02607a: 2202 7001 |0025: new-instance v2, Ljavax/crypto/spec/IvParameterSpec; // type@0170 │ │ -02607e: 6203 3a03 |0027: sget-object v3, Lutil/Encryption;.iv:[B // field@033a │ │ -026082: 7020 7706 3200 |0029: invoke-direct {v2, v3}, Ljavax/crypto/spec/IvParameterSpec;.:([B)V // method@0677 │ │ -026088: 6902 3d03 |002c: sput-object v2, Lutil/Encryption;.paramSpec:Ljava/security/spec/AlgorithmParameterSpec; // field@033d │ │ -02608c: 2202 7101 |002e: new-instance v2, Ljavax/crypto/spec/SecretKeySpec; // type@0171 │ │ -026090: 6e10 d405 0100 |0030: invoke-virtual {v1}, Ljava/nio/ByteBuffer;.array:()[B // method@05d4 │ │ -026096: 0c01 |0033: move-result-object v1 │ │ -026098: 1a03 b000 |0034: const-string v3, "AES" // string@00b0 │ │ -02609c: 7030 7806 1203 |0036: invoke-direct {v2, v1, v3}, Ljavax/crypto/spec/SecretKeySpec;.:([BLjava/lang/String;)V // method@0678 │ │ -0260a2: 6902 3b03 |0039: sput-object v2, Lutil/Encryption;.key:Ljavax/crypto/SecretKey; // field@033b │ │ -0260a6: 7110 7506 0000 |003b: invoke-static {v0}, Ljavax/crypto/Cipher;.getInstance:(Ljava/lang/String;)Ljavax/crypto/Cipher; // method@0675 │ │ -0260ac: 0c01 |003e: move-result-object v1 │ │ -0260ae: 6901 3903 |003f: sput-object v1, Lutil/Encryption;.ecipher:Ljavax/crypto/Cipher; // field@0339 │ │ -0260b2: 6202 3b03 |0041: sget-object v2, Lutil/Encryption;.key:Ljavax/crypto/SecretKey; // field@033b │ │ -0260b6: 6203 3d03 |0043: sget-object v3, Lutil/Encryption;.paramSpec:Ljava/security/spec/AlgorithmParameterSpec; // field@033d │ │ -0260ba: 1214 |0045: const/4 v4, #int 1 // #1 │ │ -0260bc: 6e40 7606 4132 |0046: invoke-virtual {v1, v4, v2, v3}, Ljavax/crypto/Cipher;.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V // method@0676 │ │ -0260c2: 7110 7506 0000 |0049: invoke-static {v0}, Ljavax/crypto/Cipher;.getInstance:(Ljava/lang/String;)Ljavax/crypto/Cipher; // method@0675 │ │ -0260c8: 0c00 |004c: move-result-object v0 │ │ -0260ca: 6900 3803 |004d: sput-object v0, Lutil/Encryption;.dcipher:Ljavax/crypto/Cipher; // field@0338 │ │ -0260ce: 6201 3b03 |004f: sget-object v1, Lutil/Encryption;.key:Ljavax/crypto/SecretKey; // field@033b │ │ -0260d2: 6202 3d03 |0051: sget-object v2, Lutil/Encryption;.paramSpec:Ljava/security/spec/AlgorithmParameterSpec; // field@033d │ │ -0260d6: 1223 |0053: const/4 v3, #int 2 // #2 │ │ -0260d8: 6e40 7606 3021 |0054: invoke-virtual {v0, v3, v1, v2}, Ljavax/crypto/Cipher;.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V // method@0676 │ │ -0260de: 6905 3c03 |0057: sput-object v5, Lutil/Encryption;.keyphrase:Ljava/lang/String; // field@033c │ │ -0260e2: 6a04 3603 |0059: sput-boolean v4, Lutil/Encryption;.INITIALZED:Z // field@0336 │ │ -0260e6: 6205 3703 |005b: sget-object v5, Lutil/Encryption;.INIT_BYTES:[B // field@0337 │ │ -0260ea: 7110 a506 0500 |005d: invoke-static {v5}, Lutil/Encryption;.encrypt:([B)[B // method@06a5 │ │ -0260f0: 0c05 |0060: move-result-object v5 │ │ -0260f2: 6905 3503 |0061: sput-object v5, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0335 │ │ -0260f6: 0e00 |0063: return-void │ │ -0260f8: 0d05 |0064: move-exception v5 │ │ -0260fa: 2200 fb00 |0065: new-instance v0, Ljava/io/IOException; // type@00fb │ │ -0260fe: 2201 2801 |0067: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -026102: 1a02 7f01 |0069: const-string v2, "Encryption can not be initialized:" // string@017f │ │ -026106: 7020 8405 2100 |006b: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -02610c: 6e10 3705 0500 |006e: invoke-virtual {v5}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@0537 │ │ -026112: 0c05 |0071: move-result-object v5 │ │ -026114: 6e20 8905 5100 |0072: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02611a: 6e10 8b05 0100 |0075: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -026120: 0c05 |0078: move-result-object v5 │ │ -026122: 7020 fb04 5000 |0079: invoke-direct {v0, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -026128: 2700 |007c: throw v0 │ │ +02601c: |[02601c] util.Encryption.init_AES:(Ljava/lang/String;)V │ │ +02602c: 1a00 b100 |0000: const-string v0, "AES/CBC/PKCS5Padding" // string@00b1 │ │ +026030: 6201 3c03 |0002: sget-object v1, Lutil/Encryption;.keyphrase:Ljava/lang/String; // field@033c │ │ +026034: 6e20 6705 5100 |0004: invoke-virtual {v1, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +02603a: 0a01 |0007: move-result v1 │ │ +02603c: 3801 0300 |0008: if-eqz v1, 000b // +0003 │ │ +026040: 0e00 |000a: return-void │ │ +026042: 1301 1000 |000b: const/16 v1, #int 16 // #10 │ │ +026046: 2311 9901 |000d: new-array v1, v1, [B // type@0199 │ │ +02604a: 7110 e405 0100 |000f: invoke-static {v1}, Ljava/nio/ByteBuffer;.wrap:([B)Ljava/nio/ByteBuffer; // method@05e4 │ │ +026050: 0c01 |0012: move-result-object v1 │ │ +026052: 7110 7107 0500 |0013: invoke-static {v5}, Lutil/Utils;.getLongStringHash:(Ljava/lang/String;)J // method@0771 │ │ +026058: 0b02 |0016: move-result-wide v2 │ │ +02605a: 6e30 e205 2103 |0017: invoke-virtual {v1, v2, v3}, Ljava/nio/ByteBuffer;.putLong:(J)Ljava/nio/ByteBuffer; // method@05e2 │ │ +026060: 7110 a906 0500 |001a: invoke-static {v5}, Lutil/Encryption;.invertStr:(Ljava/lang/String;)Ljava/lang/String; // method@06a9 │ │ +026066: 0c02 |001d: move-result-object v2 │ │ +026068: 7110 7107 0200 |001e: invoke-static {v2}, Lutil/Utils;.getLongStringHash:(Ljava/lang/String;)J // method@0771 │ │ +02606e: 0b02 |0021: move-result-wide v2 │ │ +026070: 6e30 e205 2103 |0022: invoke-virtual {v1, v2, v3}, Ljava/nio/ByteBuffer;.putLong:(J)Ljava/nio/ByteBuffer; // method@05e2 │ │ +026076: 2202 7001 |0025: new-instance v2, Ljavax/crypto/spec/IvParameterSpec; // type@0170 │ │ +02607a: 6203 3a03 |0027: sget-object v3, Lutil/Encryption;.iv:[B // field@033a │ │ +02607e: 7020 7706 3200 |0029: invoke-direct {v2, v3}, Ljavax/crypto/spec/IvParameterSpec;.:([B)V // method@0677 │ │ +026084: 6902 3d03 |002c: sput-object v2, Lutil/Encryption;.paramSpec:Ljava/security/spec/AlgorithmParameterSpec; // field@033d │ │ +026088: 2202 7101 |002e: new-instance v2, Ljavax/crypto/spec/SecretKeySpec; // type@0171 │ │ +02608c: 6e10 d405 0100 |0030: invoke-virtual {v1}, Ljava/nio/ByteBuffer;.array:()[B // method@05d4 │ │ +026092: 0c01 |0033: move-result-object v1 │ │ +026094: 1a03 b000 |0034: const-string v3, "AES" // string@00b0 │ │ +026098: 7030 7806 1203 |0036: invoke-direct {v2, v1, v3}, Ljavax/crypto/spec/SecretKeySpec;.:([BLjava/lang/String;)V // method@0678 │ │ +02609e: 6902 3b03 |0039: sput-object v2, Lutil/Encryption;.key:Ljavax/crypto/SecretKey; // field@033b │ │ +0260a2: 7110 7506 0000 |003b: invoke-static {v0}, Ljavax/crypto/Cipher;.getInstance:(Ljava/lang/String;)Ljavax/crypto/Cipher; // method@0675 │ │ +0260a8: 0c01 |003e: move-result-object v1 │ │ +0260aa: 6901 3903 |003f: sput-object v1, Lutil/Encryption;.ecipher:Ljavax/crypto/Cipher; // field@0339 │ │ +0260ae: 6202 3b03 |0041: sget-object v2, Lutil/Encryption;.key:Ljavax/crypto/SecretKey; // field@033b │ │ +0260b2: 6203 3d03 |0043: sget-object v3, Lutil/Encryption;.paramSpec:Ljava/security/spec/AlgorithmParameterSpec; // field@033d │ │ +0260b6: 1214 |0045: const/4 v4, #int 1 // #1 │ │ +0260b8: 6e40 7606 4132 |0046: invoke-virtual {v1, v4, v2, v3}, Ljavax/crypto/Cipher;.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V // method@0676 │ │ +0260be: 7110 7506 0000 |0049: invoke-static {v0}, Ljavax/crypto/Cipher;.getInstance:(Ljava/lang/String;)Ljavax/crypto/Cipher; // method@0675 │ │ +0260c4: 0c00 |004c: move-result-object v0 │ │ +0260c6: 6900 3803 |004d: sput-object v0, Lutil/Encryption;.dcipher:Ljavax/crypto/Cipher; // field@0338 │ │ +0260ca: 6201 3b03 |004f: sget-object v1, Lutil/Encryption;.key:Ljavax/crypto/SecretKey; // field@033b │ │ +0260ce: 6202 3d03 |0051: sget-object v2, Lutil/Encryption;.paramSpec:Ljava/security/spec/AlgorithmParameterSpec; // field@033d │ │ +0260d2: 1223 |0053: const/4 v3, #int 2 // #2 │ │ +0260d4: 6e40 7606 3021 |0054: invoke-virtual {v0, v3, v1, v2}, Ljavax/crypto/Cipher;.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V // method@0676 │ │ +0260da: 6905 3c03 |0057: sput-object v5, Lutil/Encryption;.keyphrase:Ljava/lang/String; // field@033c │ │ +0260de: 6a04 3603 |0059: sput-boolean v4, Lutil/Encryption;.INITIALZED:Z // field@0336 │ │ +0260e2: 6205 3703 |005b: sget-object v5, Lutil/Encryption;.INIT_BYTES:[B // field@0337 │ │ +0260e6: 7110 a506 0500 |005d: invoke-static {v5}, Lutil/Encryption;.encrypt:([B)[B // method@06a5 │ │ +0260ec: 0c05 |0060: move-result-object v5 │ │ +0260ee: 6905 3503 |0061: sput-object v5, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0335 │ │ +0260f2: 0e00 |0063: return-void │ │ +0260f4: 0d05 |0064: move-exception v5 │ │ +0260f6: 2200 fb00 |0065: new-instance v0, Ljava/io/IOException; // type@00fb │ │ +0260fa: 2201 2801 |0067: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +0260fe: 1a02 7f01 |0069: const-string v2, "Encryption can not be initialized:" // string@017f │ │ +026102: 7020 8405 2100 |006b: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +026108: 6e10 3705 0500 |006e: invoke-virtual {v5}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@0537 │ │ +02610e: 0c05 |0071: move-result-object v5 │ │ +026110: 6e20 8905 5100 |0072: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +026116: 6e10 8b05 0100 |0075: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02611c: 0c05 |0078: move-result-object v5 │ │ +02611e: 7020 fb04 5000 |0079: invoke-direct {v0, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +026124: 2700 |007c: throw v0 │ │ catches : 1 │ │ 0x000d - 0x0063 │ │ Ljava/lang/Exception; -> 0x0064 │ │ positions : │ │ 0x0000 line=46 │ │ 0x000d line=50 │ │ 0x0013 line=51 │ │ @@ -26612,51 +26612,51 @@ │ │ type : '(Ljava/lang/String;)Ljava/lang/String;' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 77 16-bit code units │ │ -025ee4: |[025ee4] util.Encryption.invertStr:(Ljava/lang/String;)Ljava/lang/String; │ │ -025ef4: 2200 2701 |0000: new-instance v0, Ljava/lang/StringBuffer; // type@0127 │ │ -025ef8: 7010 7d05 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuffer;.:()V // method@057d │ │ -025efe: 1201 |0005: const/4 v1, #int 0 // #0 │ │ -025f00: 6e10 7005 0500 |0006: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0570 │ │ -025f06: 0a02 |0009: move-result v2 │ │ -025f08: 3521 3e00 |000a: if-ge v1, v2, 0048 // +003e │ │ -025f0c: 6e20 6305 1500 |000c: invoke-virtual {v5, v1}, Ljava/lang/String;.charAt:(I)C // method@0563 │ │ -025f12: 0a02 |000f: move-result v2 │ │ -025f14: 7110 2d05 0200 |0010: invoke-static {v2}, Ljava/lang/Character;.isUpperCase:(C)Z // method@052d │ │ -025f1a: 0a03 |0013: move-result v3 │ │ -025f1c: 1a04 0000 |0014: const-string v4, "" // string@0000 │ │ -025f20: 3803 1900 |0016: if-eqz v3, 002f // +0019 │ │ -025f24: 2203 2801 |0018: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -025f28: 7010 8305 0300 |001a: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -025f2e: 6e20 8505 2300 |001d: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@0585 │ │ -025f34: 6e20 8905 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -025f3a: 6e10 8b05 0300 |0023: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -025f40: 0c02 |0026: move-result-object v2 │ │ -025f42: 6e10 7805 0200 |0027: invoke-virtual {v2}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@0578 │ │ -025f48: 0c02 |002a: move-result-object v2 │ │ -025f4a: 6e20 8005 2000 |002b: invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@0580 │ │ -025f50: 2817 |002e: goto 0045 // +0017 │ │ -025f52: 2203 2801 |002f: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -025f56: 7010 8305 0300 |0031: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -025f5c: 6e20 8505 2300 |0034: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@0585 │ │ -025f62: 6e20 8905 4300 |0037: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -025f68: 6e10 8b05 0300 |003a: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -025f6e: 0c02 |003d: move-result-object v2 │ │ -025f70: 6e10 7a05 0200 |003e: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ -025f76: 0c02 |0041: move-result-object v2 │ │ -025f78: 6e20 8005 2000 |0042: invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@0580 │ │ -025f7e: d801 0101 |0045: add-int/lit8 v1, v1, #int 1 // #01 │ │ -025f82: 28bf |0047: goto 0006 // -0041 │ │ -025f84: 6e10 8205 0000 |0048: invoke-virtual {v0}, Ljava/lang/StringBuffer;.toString:()Ljava/lang/String; // method@0582 │ │ -025f8a: 0c05 |004b: move-result-object v5 │ │ -025f8c: 1105 |004c: return-object v5 │ │ +025ee0: |[025ee0] util.Encryption.invertStr:(Ljava/lang/String;)Ljava/lang/String; │ │ +025ef0: 2200 2701 |0000: new-instance v0, Ljava/lang/StringBuffer; // type@0127 │ │ +025ef4: 7010 7d05 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuffer;.:()V // method@057d │ │ +025efa: 1201 |0005: const/4 v1, #int 0 // #0 │ │ +025efc: 6e10 7005 0500 |0006: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0570 │ │ +025f02: 0a02 |0009: move-result v2 │ │ +025f04: 3521 3e00 |000a: if-ge v1, v2, 0048 // +003e │ │ +025f08: 6e20 6305 1500 |000c: invoke-virtual {v5, v1}, Ljava/lang/String;.charAt:(I)C // method@0563 │ │ +025f0e: 0a02 |000f: move-result v2 │ │ +025f10: 7110 2d05 0200 |0010: invoke-static {v2}, Ljava/lang/Character;.isUpperCase:(C)Z // method@052d │ │ +025f16: 0a03 |0013: move-result v3 │ │ +025f18: 1a04 0000 |0014: const-string v4, "" // string@0000 │ │ +025f1c: 3803 1900 |0016: if-eqz v3, 002f // +0019 │ │ +025f20: 2203 2801 |0018: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +025f24: 7010 8305 0300 |001a: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +025f2a: 6e20 8505 2300 |001d: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@0585 │ │ +025f30: 6e20 8905 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +025f36: 6e10 8b05 0300 |0023: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +025f3c: 0c02 |0026: move-result-object v2 │ │ +025f3e: 6e10 7805 0200 |0027: invoke-virtual {v2}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@0578 │ │ +025f44: 0c02 |002a: move-result-object v2 │ │ +025f46: 6e20 8005 2000 |002b: invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@0580 │ │ +025f4c: 2817 |002e: goto 0045 // +0017 │ │ +025f4e: 2203 2801 |002f: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +025f52: 7010 8305 0300 |0031: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +025f58: 6e20 8505 2300 |0034: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@0585 │ │ +025f5e: 6e20 8905 4300 |0037: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +025f64: 6e10 8b05 0300 |003a: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +025f6a: 0c02 |003d: move-result-object v2 │ │ +025f6c: 6e10 7a05 0200 |003e: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ +025f72: 0c02 |0041: move-result-object v2 │ │ +025f74: 6e20 8005 2000 |0042: invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@0580 │ │ +025f7a: d801 0101 |0045: add-int/lit8 v1, v1, #int 1 // #01 │ │ +025f7e: 28bf |0047: goto 0006 // -0041 │ │ +025f80: 6e10 8205 0000 |0048: invoke-virtual {v0}, Ljava/lang/StringBuffer;.toString:()Ljava/lang/String; // method@0582 │ │ +025f86: 0c05 |004b: move-result-object v5 │ │ +025f88: 1105 |004c: return-object v5 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=32 │ │ 0x0006 line=33 │ │ 0x000c line=34 │ │ 0x0010 line=35 │ │ 0x0018 line=36 │ │ @@ -26832,36 +26832,36 @@ │ │ type : '(ILutil/ObjectPackagingManager;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 38 16-bit code units │ │ -026eb8: |[026eb8] util.HugePackedSet.:(ILutil/ObjectPackagingManager;)V │ │ -026ec8: 7010 4f05 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@054f │ │ -026ece: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -026ed0: 5920 4f03 |0004: iput v0, v2, Lutil/HugePackedSet;.count:I // field@034f │ │ -026ed4: 1201 |0006: const/4 v1, #int 0 // #0 │ │ -026ed6: 5b21 5303 |0007: iput-object v1, v2, Lutil/HugePackedSet;.slotSizes:[I // field@0353 │ │ -026eda: 5b21 5403 |0009: iput-object v1, v2, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0354 │ │ -026ede: 5b21 5003 |000b: iput-object v1, v2, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@0350 │ │ -026ee2: 5b24 5103 |000d: iput-object v4, v2, Lutil/HugePackedSet;.objMgr:Lutil/ObjectPackagingManager; // field@0351 │ │ -026ee6: 5923 5203 |000f: iput v3, v2, Lutil/HugePackedSet;.slotCount:I // field@0352 │ │ -026eea: 2334 9a01 |0011: new-array v4, v3, [I // type@019a │ │ -026eee: 5b24 5303 |0013: iput-object v4, v2, Lutil/HugePackedSet;.slotSizes:[I // field@0353 │ │ -026ef2: 2333 b101 |0015: new-array v3, v3, [Lutil/PackedSortedList; // type@01b1 │ │ -026ef6: 5b23 5403 |0017: iput-object v3, v2, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0354 │ │ -026efa: 1203 |0019: const/4 v3, #int 0 // #0 │ │ -026efc: 5224 5203 |001a: iget v4, v2, Lutil/HugePackedSet;.slotCount:I // field@0352 │ │ -026f00: 3543 0900 |001c: if-ge v3, v4, 0025 // +0009 │ │ -026f04: 5424 5303 |001e: iget-object v4, v2, Lutil/HugePackedSet;.slotSizes:[I // field@0353 │ │ -026f08: 4b00 0403 |0020: aput v0, v4, v3 │ │ -026f0c: d803 0301 |0022: add-int/lit8 v3, v3, #int 1 // #01 │ │ -026f10: 28f6 |0024: goto 001a // -000a │ │ -026f12: 0e00 |0025: return-void │ │ +026eb4: |[026eb4] util.HugePackedSet.:(ILutil/ObjectPackagingManager;)V │ │ +026ec4: 7010 4f05 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@054f │ │ +026eca: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +026ecc: 5920 4f03 |0004: iput v0, v2, Lutil/HugePackedSet;.count:I // field@034f │ │ +026ed0: 1201 |0006: const/4 v1, #int 0 // #0 │ │ +026ed2: 5b21 5303 |0007: iput-object v1, v2, Lutil/HugePackedSet;.slotSizes:[I // field@0353 │ │ +026ed6: 5b21 5403 |0009: iput-object v1, v2, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0354 │ │ +026eda: 5b21 5003 |000b: iput-object v1, v2, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@0350 │ │ +026ede: 5b24 5103 |000d: iput-object v4, v2, Lutil/HugePackedSet;.objMgr:Lutil/ObjectPackagingManager; // field@0351 │ │ +026ee2: 5923 5203 |000f: iput v3, v2, Lutil/HugePackedSet;.slotCount:I // field@0352 │ │ +026ee6: 2334 9a01 |0011: new-array v4, v3, [I // type@019a │ │ +026eea: 5b24 5303 |0013: iput-object v4, v2, Lutil/HugePackedSet;.slotSizes:[I // field@0353 │ │ +026eee: 2333 b101 |0015: new-array v3, v3, [Lutil/PackedSortedList; // type@01b1 │ │ +026ef2: 5b23 5403 |0017: iput-object v3, v2, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0354 │ │ +026ef6: 1203 |0019: const/4 v3, #int 0 // #0 │ │ +026ef8: 5224 5203 |001a: iget v4, v2, Lutil/HugePackedSet;.slotCount:I // field@0352 │ │ +026efc: 3543 0900 |001c: if-ge v3, v4, 0025 // +0009 │ │ +026f00: 5424 5303 |001e: iget-object v4, v2, Lutil/HugePackedSet;.slotSizes:[I // field@0353 │ │ +026f04: 4b00 0403 |0020: aput v0, v4, v3 │ │ +026f08: d803 0301 |0022: add-int/lit8 v3, v3, #int 1 // #01 │ │ +026f0c: 28f6 |0024: goto 001a // -000a │ │ +026f0e: 0e00 |0025: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=48 │ │ 0x0004 line=40 │ │ 0x0007 line=42 │ │ 0x0009 line=44 │ │ 0x000b line=46 │ │ @@ -26881,24 +26881,24 @@ │ │ type : '(Ljava/lang/String;[Lutil/PackedSortedList;IILutil/ObjectPackagingManager;)V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 7 │ │ ins : 6 │ │ outs : 1 │ │ insns size : 17 16-bit code units │ │ -026f14: |[026f14] util.HugePackedSet.:(Ljava/lang/String;[Lutil/PackedSortedList;IILutil/ObjectPackagingManager;)V │ │ -026f24: 7010 4f05 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@054f │ │ -026f2a: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -026f2c: 5b10 5303 |0004: iput-object v0, v1, Lutil/HugePackedSet;.slotSizes:[I // field@0353 │ │ -026f30: 5b12 5003 |0006: iput-object v2, v1, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@0350 │ │ -026f34: 5b16 5103 |0008: iput-object v6, v1, Lutil/HugePackedSet;.objMgr:Lutil/ObjectPackagingManager; // field@0351 │ │ -026f38: 5914 5203 |000a: iput v4, v1, Lutil/HugePackedSet;.slotCount:I // field@0352 │ │ -026f3c: 5b13 5403 |000c: iput-object v3, v1, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0354 │ │ -026f40: 5915 4f03 |000e: iput v5, v1, Lutil/HugePackedSet;.count:I // field@034f │ │ -026f44: 0e00 |0010: return-void │ │ +026f10: |[026f10] util.HugePackedSet.:(Ljava/lang/String;[Lutil/PackedSortedList;IILutil/ObjectPackagingManager;)V │ │ +026f20: 7010 4f05 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@054f │ │ +026f26: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +026f28: 5b10 5303 |0004: iput-object v0, v1, Lutil/HugePackedSet;.slotSizes:[I // field@0353 │ │ +026f2c: 5b12 5003 |0006: iput-object v2, v1, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@0350 │ │ +026f30: 5b16 5103 |0008: iput-object v6, v1, Lutil/HugePackedSet;.objMgr:Lutil/ObjectPackagingManager; // field@0351 │ │ +026f34: 5914 5203 |000a: iput v4, v1, Lutil/HugePackedSet;.slotCount:I // field@0352 │ │ +026f38: 5b13 5403 |000c: iput-object v3, v1, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0354 │ │ +026f3c: 5915 4f03 |000e: iput v5, v1, Lutil/HugePackedSet;.count:I // field@034f │ │ +026f40: 0e00 |0010: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=58 │ │ 0x0004 line=42 │ │ 0x0006 line=59 │ │ 0x0008 line=60 │ │ 0x000a line=61 │ │ @@ -26917,48 +26917,48 @@ │ │ type : '(Ljava/lang/String;)Z' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 73 16-bit code units │ │ -026be0: |[026be0] util.HugePackedSet.checkIndexVersion:(Ljava/lang/String;)Z │ │ -026bf0: 2200 f600 |0000: new-instance v0, Ljava/io/File; // type@00f6 │ │ -026bf4: 2201 2801 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -026bf8: 7010 8305 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -026bfe: 6e20 8905 4100 |0007: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -026c04: 1a02 6100 |000a: const-string v2, "/IDX_VERSION" // string@0061 │ │ -026c08: 6e20 8905 2100 |000c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -026c0e: 6e10 8b05 0100 |000f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -026c14: 0c01 |0012: move-result-object v1 │ │ -026c16: 7020 da04 1000 |0013: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ -026c1c: 6e10 e004 0000 |0016: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@04e0 │ │ -026c22: 0a00 |0019: move-result v0 │ │ -026c24: 1201 |001a: const/4 v1, #int 0 // #0 │ │ -026c26: 3800 2d00 |001b: if-eqz v0, 0048 // +002d │ │ -026c2a: 2200 f800 |001d: new-instance v0, Ljava/io/FileInputStream; // type@00f8 │ │ -026c2e: 2203 2801 |001f: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -026c32: 7010 8305 0300 |0021: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -026c38: 6e20 8905 4300 |0024: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -026c3e: 6e20 8905 2300 |0027: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -026c44: 6e10 8b05 0300 |002a: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -026c4a: 0c04 |002d: move-result-object v4 │ │ -026c4c: 7020 ef04 4000 |002e: invoke-direct {v0, v4}, Ljava/io/FileInputStream;.:(Ljava/lang/String;)V // method@04ef │ │ -026c52: 1304 0a00 |0031: const/16 v4, #int 10 // #a │ │ -026c56: 2344 9901 |0033: new-array v4, v4, [B // type@0199 │ │ -026c5a: 6e20 f104 4000 |0035: invoke-virtual {v0, v4}, Ljava/io/FileInputStream;.read:([B)I // method@04f1 │ │ -026c60: 0a02 |0038: move-result v2 │ │ -026c62: 6e10 f004 0000 |0039: invoke-virtual {v0}, Ljava/io/FileInputStream;.close:()V // method@04f0 │ │ -026c68: 2200 2601 |003c: new-instance v0, Ljava/lang/String; // type@0126 │ │ -026c6c: 7040 6205 4021 |003e: invoke-direct {v0, v4, v1, v2}, Ljava/lang/String;.:([BII)V // method@0562 │ │ -026c72: 1a04 6f00 |0041: const-string v4, "1.0" // string@006f │ │ -026c76: 6e20 6705 4000 |0043: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -026c7c: 0a04 |0046: move-result v4 │ │ -026c7e: 0f04 |0047: return v4 │ │ -026c80: 0f01 |0048: return v1 │ │ +026bdc: |[026bdc] util.HugePackedSet.checkIndexVersion:(Ljava/lang/String;)Z │ │ +026bec: 2200 f600 |0000: new-instance v0, Ljava/io/File; // type@00f6 │ │ +026bf0: 2201 2801 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +026bf4: 7010 8305 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +026bfa: 6e20 8905 4100 |0007: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +026c00: 1a02 6100 |000a: const-string v2, "/IDX_VERSION" // string@0061 │ │ +026c04: 6e20 8905 2100 |000c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +026c0a: 6e10 8b05 0100 |000f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +026c10: 0c01 |0012: move-result-object v1 │ │ +026c12: 7020 da04 1000 |0013: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ +026c18: 6e10 e004 0000 |0016: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@04e0 │ │ +026c1e: 0a00 |0019: move-result v0 │ │ +026c20: 1201 |001a: const/4 v1, #int 0 // #0 │ │ +026c22: 3800 2d00 |001b: if-eqz v0, 0048 // +002d │ │ +026c26: 2200 f800 |001d: new-instance v0, Ljava/io/FileInputStream; // type@00f8 │ │ +026c2a: 2203 2801 |001f: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +026c2e: 7010 8305 0300 |0021: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +026c34: 6e20 8905 4300 |0024: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +026c3a: 6e20 8905 2300 |0027: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +026c40: 6e10 8b05 0300 |002a: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +026c46: 0c04 |002d: move-result-object v4 │ │ +026c48: 7020 ef04 4000 |002e: invoke-direct {v0, v4}, Ljava/io/FileInputStream;.:(Ljava/lang/String;)V // method@04ef │ │ +026c4e: 1304 0a00 |0031: const/16 v4, #int 10 // #a │ │ +026c52: 2344 9901 |0033: new-array v4, v4, [B // type@0199 │ │ +026c56: 6e20 f104 4000 |0035: invoke-virtual {v0, v4}, Ljava/io/FileInputStream;.read:([B)I // method@04f1 │ │ +026c5c: 0a02 |0038: move-result v2 │ │ +026c5e: 6e10 f004 0000 |0039: invoke-virtual {v0}, Ljava/io/FileInputStream;.close:()V // method@04f0 │ │ +026c64: 2200 2601 |003c: new-instance v0, Ljava/lang/String; // type@0126 │ │ +026c68: 7040 6205 4021 |003e: invoke-direct {v0, v4, v1, v2}, Ljava/lang/String;.:([BII)V // method@0562 │ │ +026c6e: 1a04 6f00 |0041: const-string v4, "1.0" // string@006f │ │ +026c72: 6e20 6705 4000 |0043: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +026c78: 0a04 |0046: move-result v4 │ │ +026c7a: 0f04 |0047: return v4 │ │ +026c7c: 0f01 |0048: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=206 │ │ 0x0016 line=207 │ │ 0x001d line=208 │ │ 0x0033 line=209 │ │ 0x0035 line=210 │ │ @@ -26972,67 +26972,67 @@ │ │ type : '(Ljava/lang/String;ZLutil/ObjectPackagingManager;)Lutil/HugePackedSet;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 10 │ │ ins : 3 │ │ outs : 6 │ │ insns size : 100 16-bit code units │ │ -026de0: |[026de0] util.HugePackedSet.load:(Ljava/lang/String;ZLutil/ObjectPackagingManager;)Lutil/HugePackedSet; │ │ -026df0: 7110 dc06 0700 |0000: invoke-static {v7}, Lutil/HugePackedSet;.checkIndexVersion:(Ljava/lang/String;)Z // method@06dc │ │ -026df6: 0a00 |0003: move-result v0 │ │ -026df8: 3800 5600 |0004: if-eqz v0, 005a // +0056 │ │ -026dfc: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -026dfe: 1204 |0007: const/4 v4, #int 0 // #0 │ │ -026e00: 2201 f600 |0008: new-instance v1, Ljava/io/File; // type@00f6 │ │ -026e04: 2202 2801 |000a: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -026e08: 7010 8305 0200 |000c: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -026e0e: 6e20 8905 7200 |000f: invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -026e14: 1a03 6b00 |0012: const-string v3, "/idx" // string@006b │ │ -026e18: 6e20 8905 3200 |0014: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -026e1e: 6e20 8605 4200 |0017: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -026e24: 6e10 8b05 0200 |001a: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -026e2a: 0c02 |001d: move-result-object v2 │ │ -026e2c: 7020 da04 2100 |001e: invoke-direct {v1, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ -026e32: 6e10 e004 0100 |0021: invoke-virtual {v1}, Ljava/io/File;.exists:()Z // method@04e0 │ │ -026e38: 0a01 |0024: move-result v1 │ │ -026e3a: 3801 0500 |0025: if-eqz v1, 002a // +0005 │ │ -026e3e: d804 0401 |0027: add-int/lit8 v4, v4, #int 1 // #01 │ │ -026e42: 28df |0029: goto 0008 // -0021 │ │ -026e44: 2345 b101 |002a: new-array v5, v4, [Lutil/PackedSortedList; // type@01b1 │ │ -026e48: 1206 |002c: const/4 v6, #int 0 // #0 │ │ -026e4a: 3540 2200 |002d: if-ge v0, v4, 004f // +0022 │ │ -026e4e: 2201 2801 |002f: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -026e52: 7010 8305 0100 |0031: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -026e58: 6e20 8905 7100 |0034: invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -026e5e: 6e20 8905 3100 |0037: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -026e64: 6e20 8605 0100 |003a: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -026e6a: 6e10 8b05 0100 |003d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -026e70: 0c01 |0040: move-result-object v1 │ │ -026e72: 7130 2607 8109 |0041: invoke-static {v1, v8, v9}, Lutil/PackedSortedList;.load:(Ljava/lang/String;ZLutil/ObjectPackagingManager;)Lutil/PackedSortedList; // method@0726 │ │ -026e78: 0c01 |0044: move-result-object v1 │ │ -026e7a: 4d01 0500 |0045: aput-object v1, v5, v0 │ │ -026e7e: 6e10 2f07 0100 |0047: invoke-virtual {v1}, Lutil/PackedSortedList;.size:()I // method@072f │ │ -026e84: 0a01 |004a: move-result v1 │ │ -026e86: b016 |004b: add-int/2addr v6, v1 │ │ -026e88: d800 0001 |004c: add-int/lit8 v0, v0, #int 1 // #01 │ │ -026e8c: 28df |004e: goto 002d // -0021 │ │ -026e8e: 2208 7f01 |004f: new-instance v8, Lutil/HugePackedSet; // type@017f │ │ -026e92: 0781 |0051: move-object v1, v8 │ │ -026e94: 0772 |0052: move-object v2, v7 │ │ -026e96: 0753 |0053: move-object v3, v5 │ │ -026e98: 0165 |0054: move v5, v6 │ │ -026e9a: 0796 |0055: move-object v6, v9 │ │ -026e9c: 7606 d906 0100 |0056: invoke-direct/range {v1, v2, v3, v4, v5, v6}, Lutil/HugePackedSet;.:(Ljava/lang/String;[Lutil/PackedSortedList;IILutil/ObjectPackagingManager;)V // method@06d9 │ │ -026ea2: 1108 |0059: return-object v8 │ │ -026ea4: 2207 fb00 |005a: new-instance v7, Ljava/io/IOException; // type@00fb │ │ -026ea8: 1a08 e801 |005c: const-string v8, "Incompatible index version - Rebuild Index!" // string@01e8 │ │ -026eac: 7020 fb04 8700 |005e: invoke-direct {v7, v8}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -026eb2: 2802 |0061: goto 0063 // +0002 │ │ -026eb4: 2707 |0062: throw v7 │ │ -026eb6: 28ff |0063: goto 0062 // -0001 │ │ +026ddc: |[026ddc] util.HugePackedSet.load:(Ljava/lang/String;ZLutil/ObjectPackagingManager;)Lutil/HugePackedSet; │ │ +026dec: 7110 dc06 0700 |0000: invoke-static {v7}, Lutil/HugePackedSet;.checkIndexVersion:(Ljava/lang/String;)Z // method@06dc │ │ +026df2: 0a00 |0003: move-result v0 │ │ +026df4: 3800 5600 |0004: if-eqz v0, 005a // +0056 │ │ +026df8: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +026dfa: 1204 |0007: const/4 v4, #int 0 // #0 │ │ +026dfc: 2201 f600 |0008: new-instance v1, Ljava/io/File; // type@00f6 │ │ +026e00: 2202 2801 |000a: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +026e04: 7010 8305 0200 |000c: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +026e0a: 6e20 8905 7200 |000f: invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +026e10: 1a03 6b00 |0012: const-string v3, "/idx" // string@006b │ │ +026e14: 6e20 8905 3200 |0014: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +026e1a: 6e20 8605 4200 |0017: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +026e20: 6e10 8b05 0200 |001a: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +026e26: 0c02 |001d: move-result-object v2 │ │ +026e28: 7020 da04 2100 |001e: invoke-direct {v1, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ +026e2e: 6e10 e004 0100 |0021: invoke-virtual {v1}, Ljava/io/File;.exists:()Z // method@04e0 │ │ +026e34: 0a01 |0024: move-result v1 │ │ +026e36: 3801 0500 |0025: if-eqz v1, 002a // +0005 │ │ +026e3a: d804 0401 |0027: add-int/lit8 v4, v4, #int 1 // #01 │ │ +026e3e: 28df |0029: goto 0008 // -0021 │ │ +026e40: 2345 b101 |002a: new-array v5, v4, [Lutil/PackedSortedList; // type@01b1 │ │ +026e44: 1206 |002c: const/4 v6, #int 0 // #0 │ │ +026e46: 3540 2200 |002d: if-ge v0, v4, 004f // +0022 │ │ +026e4a: 2201 2801 |002f: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +026e4e: 7010 8305 0100 |0031: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +026e54: 6e20 8905 7100 |0034: invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +026e5a: 6e20 8905 3100 |0037: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +026e60: 6e20 8605 0100 |003a: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +026e66: 6e10 8b05 0100 |003d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +026e6c: 0c01 |0040: move-result-object v1 │ │ +026e6e: 7130 2607 8109 |0041: invoke-static {v1, v8, v9}, Lutil/PackedSortedList;.load:(Ljava/lang/String;ZLutil/ObjectPackagingManager;)Lutil/PackedSortedList; // method@0726 │ │ +026e74: 0c01 |0044: move-result-object v1 │ │ +026e76: 4d01 0500 |0045: aput-object v1, v5, v0 │ │ +026e7a: 6e10 2f07 0100 |0047: invoke-virtual {v1}, Lutil/PackedSortedList;.size:()I // method@072f │ │ +026e80: 0a01 |004a: move-result v1 │ │ +026e82: b016 |004b: add-int/2addr v6, v1 │ │ +026e84: d800 0001 |004c: add-int/lit8 v0, v0, #int 1 // #01 │ │ +026e88: 28df |004e: goto 002d // -0021 │ │ +026e8a: 2208 7f01 |004f: new-instance v8, Lutil/HugePackedSet; // type@017f │ │ +026e8e: 0781 |0051: move-object v1, v8 │ │ +026e90: 0772 |0052: move-object v2, v7 │ │ +026e92: 0753 |0053: move-object v3, v5 │ │ +026e94: 0165 |0054: move v5, v6 │ │ +026e96: 0796 |0055: move-object v6, v9 │ │ +026e98: 7606 d906 0100 |0056: invoke-direct/range {v1, v2, v3, v4, v5, v6}, Lutil/HugePackedSet;.:(Ljava/lang/String;[Lutil/PackedSortedList;IILutil/ObjectPackagingManager;)V // method@06d9 │ │ +026e9e: 1108 |0059: return-object v8 │ │ +026ea0: 2207 fb00 |005a: new-instance v7, Ljava/io/IOException; // type@00fb │ │ +026ea4: 1a08 e801 |005c: const-string v8, "Incompatible index version - Rebuild Index!" // string@01e8 │ │ +026ea8: 7020 fb04 8700 |005e: invoke-direct {v7, v8}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +026eae: 2802 |0061: goto 0063 // +0002 │ │ +026eb0: 2707 |0062: throw v7 │ │ +026eb2: 28ff |0063: goto 0062 // -0001 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=219 │ │ 0x0008 line=225 │ │ 0x002a line=228 │ │ 0x002f line=230 │ │ 0x0047 line=231 │ │ @@ -27049,30 +27049,30 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 28 16-bit code units │ │ -026b78: |[026b78] util.HugePackedSet.add:(Ljava/lang/Object;)Z │ │ -026b88: 5430 5403 |0000: iget-object v0, v3, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0354 │ │ -026b8c: 6e10 5205 0400 |0002: invoke-virtual {v4}, Ljava/lang/Object;.hashCode:()I // method@0552 │ │ -026b92: 0a01 |0005: move-result v1 │ │ -026b94: 5232 5203 |0006: iget v2, v3, Lutil/HugePackedSet;.slotCount:I // field@0352 │ │ -026b98: b421 |0008: rem-int/2addr v1, v2 │ │ -026b9a: 7110 4a05 0100 |0009: invoke-static {v1}, Ljava/lang/Math;.abs:(I)I // method@054a │ │ -026ba0: 0a01 |000c: move-result v1 │ │ -026ba2: 4600 0001 |000d: aget-object v0, v0, v1 │ │ -026ba6: 6e20 1607 4000 |000f: invoke-virtual {v0, v4}, Lutil/PackedSortedList;.add:(Ljava/lang/Object;)Z // method@0716 │ │ -026bac: 0a04 |0012: move-result v4 │ │ -026bae: 3804 0800 |0013: if-eqz v4, 001b // +0008 │ │ -026bb2: 5230 4f03 |0015: iget v0, v3, Lutil/HugePackedSet;.count:I // field@034f │ │ -026bb6: d800 0001 |0017: add-int/lit8 v0, v0, #int 1 // #01 │ │ -026bba: 5930 4f03 |0019: iput v0, v3, Lutil/HugePackedSet;.count:I // field@034f │ │ -026bbe: 0f04 |001b: return v4 │ │ +026b74: |[026b74] util.HugePackedSet.add:(Ljava/lang/Object;)Z │ │ +026b84: 5430 5403 |0000: iget-object v0, v3, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0354 │ │ +026b88: 6e10 5205 0400 |0002: invoke-virtual {v4}, Ljava/lang/Object;.hashCode:()I // method@0552 │ │ +026b8e: 0a01 |0005: move-result v1 │ │ +026b90: 5232 5203 |0006: iget v2, v3, Lutil/HugePackedSet;.slotCount:I // field@0352 │ │ +026b94: b421 |0008: rem-int/2addr v1, v2 │ │ +026b96: 7110 4a05 0100 |0009: invoke-static {v1}, Ljava/lang/Math;.abs:(I)I // method@054a │ │ +026b9c: 0a01 |000c: move-result v1 │ │ +026b9e: 4600 0001 |000d: aget-object v0, v0, v1 │ │ +026ba2: 6e20 1607 4000 |000f: invoke-virtual {v0, v4}, Lutil/PackedSortedList;.add:(Ljava/lang/Object;)Z // method@0716 │ │ +026ba8: 0a04 |0012: move-result v4 │ │ +026baa: 3804 0800 |0013: if-eqz v4, 001b // +0008 │ │ +026bae: 5230 4f03 |0015: iget v0, v3, Lutil/HugePackedSet;.count:I // field@034f │ │ +026bb2: d800 0001 |0017: add-int/lit8 v0, v0, #int 1 // #01 │ │ +026bb6: 5930 4f03 |0019: iput v0, v3, Lutil/HugePackedSet;.count:I // field@034f │ │ +026bba: 0f04 |001b: return v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=90 │ │ 0x0015 line=91 │ │ locals : │ │ 0x0000 - 0x001c reg=3 this Lutil/HugePackedSet; │ │ 0x0000 - 0x001c reg=4 (null) Ljava/lang/Object; │ │ @@ -27082,19 +27082,19 @@ │ │ type : '(Ljava/util/Collection;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 8 16-bit code units │ │ -026bc0: |[026bc0] util.HugePackedSet.addAll:(Ljava/util/Collection;)Z │ │ -026bd0: 2202 2c01 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@012c │ │ -026bd4: 1a00 f403 |0002: const-string v0, "Not implemented yet" // string@03f4 │ │ -026bd8: 7020 9805 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@0598 │ │ -026bde: 2702 |0007: throw v2 │ │ +026bbc: |[026bbc] util.HugePackedSet.addAll:(Ljava/util/Collection;)Z │ │ +026bcc: 2202 2c01 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@012c │ │ +026bd0: 1a00 f403 |0002: const-string v0, "Not implemented yet" // string@03f4 │ │ +026bd4: 7020 9805 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@0598 │ │ +026bda: 2702 |0007: throw v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=97 │ │ locals : │ │ 0x0000 - 0x0008 reg=1 this Lutil/HugePackedSet; │ │ 0x0000 - 0x0008 reg=2 (null) Ljava/util/Collection; │ │ │ │ @@ -27103,30 +27103,30 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 27 16-bit code units │ │ -026f48: |[026f48] util.HugePackedSet.clear:()V │ │ -026f58: 5230 5203 |0000: iget v0, v3, Lutil/HugePackedSet;.slotCount:I // field@0352 │ │ -026f5c: 2300 9a01 |0002: new-array v0, v0, [I // type@019a │ │ -026f60: 5b30 5303 |0004: iput-object v0, v3, Lutil/HugePackedSet;.slotSizes:[I // field@0353 │ │ -026f64: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -026f66: 1201 |0007: const/4 v1, #int 0 // #0 │ │ -026f68: 5232 5203 |0008: iget v2, v3, Lutil/HugePackedSet;.slotCount:I // field@0352 │ │ -026f6c: 3521 1000 |000a: if-ge v1, v2, 001a // +0010 │ │ -026f70: 5432 5403 |000c: iget-object v2, v3, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0354 │ │ -026f74: 4602 0201 |000e: aget-object v2, v2, v1 │ │ -026f78: 6e10 1c07 0200 |0010: invoke-virtual {v2}, Lutil/PackedSortedList;.clearAndReleaseAllMemory:()V // method@071c │ │ -026f7e: 5432 5303 |0013: iget-object v2, v3, Lutil/HugePackedSet;.slotSizes:[I // field@0353 │ │ -026f82: 4b00 0201 |0015: aput v0, v2, v1 │ │ -026f86: d801 0101 |0017: add-int/lit8 v1, v1, #int 1 // #01 │ │ -026f8a: 28ef |0019: goto 0008 // -0011 │ │ -026f8c: 0e00 |001a: return-void │ │ +026f44: |[026f44] util.HugePackedSet.clear:()V │ │ +026f54: 5230 5203 |0000: iget v0, v3, Lutil/HugePackedSet;.slotCount:I // field@0352 │ │ +026f58: 2300 9a01 |0002: new-array v0, v0, [I // type@019a │ │ +026f5c: 5b30 5303 |0004: iput-object v0, v3, Lutil/HugePackedSet;.slotSizes:[I // field@0353 │ │ +026f60: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +026f62: 1201 |0007: const/4 v1, #int 0 // #0 │ │ +026f64: 5232 5203 |0008: iget v2, v3, Lutil/HugePackedSet;.slotCount:I // field@0352 │ │ +026f68: 3521 1000 |000a: if-ge v1, v2, 001a // +0010 │ │ +026f6c: 5432 5403 |000c: iget-object v2, v3, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0354 │ │ +026f70: 4602 0201 |000e: aget-object v2, v2, v1 │ │ +026f74: 6e10 1c07 0200 |0010: invoke-virtual {v2}, Lutil/PackedSortedList;.clearAndReleaseAllMemory:()V // method@071c │ │ +026f7a: 5432 5303 |0013: iget-object v2, v3, Lutil/HugePackedSet;.slotSizes:[I // field@0353 │ │ +026f7e: 4b00 0201 |0015: aput v0, v2, v1 │ │ +026f82: d801 0101 |0017: add-int/lit8 v1, v1, #int 1 // #01 │ │ +026f86: 28ef |0019: goto 0008 // -0011 │ │ +026f88: 0e00 |001a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=102 │ │ 0x0008 line=103 │ │ 0x000c line=104 │ │ 0x0013 line=105 │ │ locals : │ │ @@ -27137,30 +27137,30 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 26 16-bit code units │ │ -026c84: |[026c84] util.HugePackedSet.contains:(Ljava/lang/Object;)Z │ │ -026c94: 5230 4f03 |0000: iget v0, v3, Lutil/HugePackedSet;.count:I // field@034f │ │ -026c98: 3900 0400 |0002: if-nez v0, 0006 // +0004 │ │ -026c9c: 1204 |0004: const/4 v4, #int 0 // #0 │ │ -026c9e: 0f04 |0005: return v4 │ │ -026ca0: 5430 5403 |0006: iget-object v0, v3, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0354 │ │ -026ca4: 6e10 5205 0400 |0008: invoke-virtual {v4}, Ljava/lang/Object;.hashCode:()I // method@0552 │ │ -026caa: 0a01 |000b: move-result v1 │ │ -026cac: 5232 5203 |000c: iget v2, v3, Lutil/HugePackedSet;.slotCount:I // field@0352 │ │ -026cb0: b421 |000e: rem-int/2addr v1, v2 │ │ -026cb2: 7110 4a05 0100 |000f: invoke-static {v1}, Ljava/lang/Math;.abs:(I)I // method@054a │ │ -026cb8: 0a01 |0012: move-result v1 │ │ -026cba: 4600 0001 |0013: aget-object v0, v0, v1 │ │ -026cbe: 6e20 1d07 4000 |0015: invoke-virtual {v0, v4}, Lutil/PackedSortedList;.contains:(Ljava/lang/Object;)Z // method@071d │ │ -026cc4: 0a04 |0018: move-result v4 │ │ -026cc6: 0f04 |0019: return v4 │ │ +026c80: |[026c80] util.HugePackedSet.contains:(Ljava/lang/Object;)Z │ │ +026c90: 5230 4f03 |0000: iget v0, v3, Lutil/HugePackedSet;.count:I // field@034f │ │ +026c94: 3900 0400 |0002: if-nez v0, 0006 // +0004 │ │ +026c98: 1204 |0004: const/4 v4, #int 0 // #0 │ │ +026c9a: 0f04 |0005: return v4 │ │ +026c9c: 5430 5403 |0006: iget-object v0, v3, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0354 │ │ +026ca0: 6e10 5205 0400 |0008: invoke-virtual {v4}, Ljava/lang/Object;.hashCode:()I // method@0552 │ │ +026ca6: 0a01 |000b: move-result v1 │ │ +026ca8: 5232 5203 |000c: iget v2, v3, Lutil/HugePackedSet;.slotCount:I // field@0352 │ │ +026cac: b421 |000e: rem-int/2addr v1, v2 │ │ +026cae: 7110 4a05 0100 |000f: invoke-static {v1}, Ljava/lang/Math;.abs:(I)I // method@054a │ │ +026cb4: 0a01 |0012: move-result v1 │ │ +026cb6: 4600 0001 |0013: aget-object v0, v0, v1 │ │ +026cba: 6e20 1d07 4000 |0015: invoke-virtual {v0, v4}, Lutil/PackedSortedList;.contains:(Ljava/lang/Object;)Z // method@071d │ │ +026cc0: 0a04 |0018: move-result v4 │ │ +026cc2: 0f04 |0019: return v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=111 │ │ 0x0006 line=113 │ │ locals : │ │ 0x0000 - 0x001a reg=3 this Lutil/HugePackedSet; │ │ 0x0000 - 0x001a reg=4 (null) Ljava/lang/Object; │ │ @@ -27170,19 +27170,19 @@ │ │ type : '(Ljava/util/Collection;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 8 16-bit code units │ │ -026cc8: |[026cc8] util.HugePackedSet.containsAll:(Ljava/util/Collection;)Z │ │ -026cd8: 2202 2c01 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@012c │ │ -026cdc: 1a00 f403 |0002: const-string v0, "Not implemented yet" // string@03f4 │ │ -026ce0: 7020 9805 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@0598 │ │ -026ce6: 2702 |0007: throw v2 │ │ +026cc4: |[026cc4] util.HugePackedSet.containsAll:(Ljava/util/Collection;)Z │ │ +026cd4: 2202 2c01 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@012c │ │ +026cd8: 1a00 f403 |0002: const-string v0, "Not implemented yet" // string@03f4 │ │ +026cdc: 7020 9805 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@0598 │ │ +026ce2: 2702 |0007: throw v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=118 │ │ locals : │ │ 0x0000 - 0x0008 reg=1 this Lutil/HugePackedSet; │ │ 0x0000 - 0x0008 reg=2 (null) Ljava/util/Collection; │ │ │ │ @@ -27191,30 +27191,30 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 27 16-bit code units │ │ -026f90: |[026f90] util.HugePackedSet.finalPrepare:()V │ │ -026fa0: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -026fa2: 5251 5203 |0001: iget v1, v5, Lutil/HugePackedSet;.slotCount:I // field@0352 │ │ -026fa6: 3510 1400 |0003: if-ge v0, v1, 0017 // +0014 │ │ -026faa: 5451 5403 |0005: iget-object v1, v5, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0354 │ │ -026fae: 2202 8401 |0007: new-instance v2, Lutil/PackedSortedList; // type@0184 │ │ -026fb2: 5453 5303 |0009: iget-object v3, v5, Lutil/HugePackedSet;.slotSizes:[I // field@0353 │ │ -026fb6: 4403 0300 |000b: aget v3, v3, v0 │ │ -026fba: 5454 5103 |000d: iget-object v4, v5, Lutil/HugePackedSet;.objMgr:Lutil/ObjectPackagingManager; // field@0351 │ │ -026fbe: 7030 1207 3204 |000f: invoke-direct {v2, v3, v4}, Lutil/PackedSortedList;.:(ILutil/ObjectPackagingManager;)V // method@0712 │ │ -026fc4: 4d02 0100 |0012: aput-object v2, v1, v0 │ │ -026fc8: d800 0001 |0014: add-int/lit8 v0, v0, #int 1 // #01 │ │ -026fcc: 28eb |0016: goto 0001 // -0015 │ │ -026fce: 1200 |0017: const/4 v0, #int 0 // #0 │ │ -026fd0: 5b50 5303 |0018: iput-object v0, v5, Lutil/HugePackedSet;.slotSizes:[I // field@0353 │ │ -026fd4: 0e00 |001a: return-void │ │ +026f8c: |[026f8c] util.HugePackedSet.finalPrepare:()V │ │ +026f9c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +026f9e: 5251 5203 |0001: iget v1, v5, Lutil/HugePackedSet;.slotCount:I // field@0352 │ │ +026fa2: 3510 1400 |0003: if-ge v0, v1, 0017 // +0014 │ │ +026fa6: 5451 5403 |0005: iget-object v1, v5, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0354 │ │ +026faa: 2202 8401 |0007: new-instance v2, Lutil/PackedSortedList; // type@0184 │ │ +026fae: 5453 5303 |0009: iget-object v3, v5, Lutil/HugePackedSet;.slotSizes:[I // field@0353 │ │ +026fb2: 4403 0300 |000b: aget v3, v3, v0 │ │ +026fb6: 5454 5103 |000d: iget-object v4, v5, Lutil/HugePackedSet;.objMgr:Lutil/ObjectPackagingManager; // field@0351 │ │ +026fba: 7030 1207 3204 |000f: invoke-direct {v2, v3, v4}, Lutil/PackedSortedList;.:(ILutil/ObjectPackagingManager;)V // method@0712 │ │ +026fc0: 4d02 0100 |0012: aput-object v2, v1, v0 │ │ +026fc4: d800 0001 |0014: add-int/lit8 v0, v0, #int 1 // #01 │ │ +026fc8: 28eb |0016: goto 0001 // -0015 │ │ +026fca: 1200 |0017: const/4 v0, #int 0 // #0 │ │ +026fcc: 5b50 5303 |0018: iput-object v0, v5, Lutil/HugePackedSet;.slotSizes:[I // field@0353 │ │ +026fd0: 0e00 |001a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=74 │ │ 0x0005 line=75 │ │ 0x0018 line=77 │ │ locals : │ │ 0x0000 - 0x001b reg=5 this Lutil/HugePackedSet; │ │ @@ -27224,35 +27224,35 @@ │ │ type : '(I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 38 16-bit code units │ │ -026fd8: |[026fd8] util.HugePackedSet.finalPrepare:(I)V │ │ -026fe8: 8350 |0000: int-to-double v0, v5 │ │ -026fea: 1802 3333 3333 3333 f33f |0001: const-wide v2, #double 1.2 // #3ff3333333333333 │ │ -026ff4: 7120 3205 1000 |0006: invoke-static {v0, v1}, Ljava/lang/Double;.isNaN:(D)Z // method@0532 │ │ -026ffa: ad00 0002 |0009: mul-double v0, v0, v2 │ │ -026ffe: 8a05 |000b: double-to-int v5, v0 │ │ -027000: 5240 5203 |000c: iget v0, v4, Lutil/HugePackedSet;.slotCount:I // field@0352 │ │ -027004: b305 |000e: div-int/2addr v5, v0 │ │ -027006: 1200 |000f: const/4 v0, #int 0 // #0 │ │ -027008: 5241 5203 |0010: iget v1, v4, Lutil/HugePackedSet;.slotCount:I // field@0352 │ │ -02700c: 3510 1000 |0012: if-ge v0, v1, 0022 // +0010 │ │ -027010: 5441 5403 |0014: iget-object v1, v4, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0354 │ │ -027014: 2202 8401 |0016: new-instance v2, Lutil/PackedSortedList; // type@0184 │ │ -027018: 5443 5103 |0018: iget-object v3, v4, Lutil/HugePackedSet;.objMgr:Lutil/ObjectPackagingManager; // field@0351 │ │ -02701c: 7030 1207 5203 |001a: invoke-direct {v2, v5, v3}, Lutil/PackedSortedList;.:(ILutil/ObjectPackagingManager;)V // method@0712 │ │ -027022: 4d02 0100 |001d: aput-object v2, v1, v0 │ │ -027026: d800 0001 |001f: add-int/lit8 v0, v0, #int 1 // #01 │ │ -02702a: 28ef |0021: goto 0010 // -0011 │ │ -02702c: 1205 |0022: const/4 v5, #int 0 // #0 │ │ -02702e: 5b45 5303 |0023: iput-object v5, v4, Lutil/HugePackedSet;.slotSizes:[I // field@0353 │ │ -027032: 0e00 |0025: return-void │ │ +026fd4: |[026fd4] util.HugePackedSet.finalPrepare:(I)V │ │ +026fe4: 8350 |0000: int-to-double v0, v5 │ │ +026fe6: 1802 3333 3333 3333 f33f |0001: const-wide v2, #double 1.2 // #3ff3333333333333 │ │ +026ff0: 7120 3205 1000 |0006: invoke-static {v0, v1}, Ljava/lang/Double;.isNaN:(D)Z // method@0532 │ │ +026ff6: ad00 0002 |0009: mul-double v0, v0, v2 │ │ +026ffa: 8a05 |000b: double-to-int v5, v0 │ │ +026ffc: 5240 5203 |000c: iget v0, v4, Lutil/HugePackedSet;.slotCount:I // field@0352 │ │ +027000: b305 |000e: div-int/2addr v5, v0 │ │ +027002: 1200 |000f: const/4 v0, #int 0 // #0 │ │ +027004: 5241 5203 |0010: iget v1, v4, Lutil/HugePackedSet;.slotCount:I // field@0352 │ │ +027008: 3510 1000 |0012: if-ge v0, v1, 0022 // +0010 │ │ +02700c: 5441 5403 |0014: iget-object v1, v4, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0354 │ │ +027010: 2202 8401 |0016: new-instance v2, Lutil/PackedSortedList; // type@0184 │ │ +027014: 5443 5103 |0018: iget-object v3, v4, Lutil/HugePackedSet;.objMgr:Lutil/ObjectPackagingManager; // field@0351 │ │ +027018: 7030 1207 5203 |001a: invoke-direct {v2, v5, v3}, Lutil/PackedSortedList;.:(ILutil/ObjectPackagingManager;)V // method@0712 │ │ +02701e: 4d02 0100 |001d: aput-object v2, v1, v0 │ │ +027022: d800 0001 |001f: add-int/lit8 v0, v0, #int 1 // #01 │ │ +027026: 28ef |0021: goto 0010 // -0011 │ │ +027028: 1205 |0022: const/4 v5, #int 0 // #0 │ │ +02702a: 5b45 5303 |0023: iput-object v5, v4, Lutil/HugePackedSet;.slotSizes:[I // field@0353 │ │ +02702e: 0e00 |0025: return-void │ │ catches : (none) │ │ positions : │ │ 0x0006 line=81 │ │ 0x0010 line=82 │ │ 0x0014 line=83 │ │ 0x0023 line=85 │ │ locals : │ │ @@ -27264,21 +27264,21 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 8 16-bit code units │ │ -026ce8: |[026ce8] util.HugePackedSet.isEmpty:()Z │ │ -026cf8: 5210 4f03 |0000: iget v0, v1, Lutil/HugePackedSet;.count:I // field@034f │ │ -026cfc: 3900 0400 |0002: if-nez v0, 0006 // +0004 │ │ -026d00: 1210 |0004: const/4 v0, #int 1 // #1 │ │ -026d02: 2802 |0005: goto 0007 // +0002 │ │ -026d04: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -026d06: 0f00 |0007: return v0 │ │ +026ce4: |[026ce4] util.HugePackedSet.isEmpty:()Z │ │ +026cf4: 5210 4f03 |0000: iget v0, v1, Lutil/HugePackedSet;.count:I // field@034f │ │ +026cf8: 3900 0400 |0002: if-nez v0, 0006 // +0004 │ │ +026cfc: 1210 |0004: const/4 v0, #int 1 // #1 │ │ +026cfe: 2802 |0005: goto 0007 // +0002 │ │ +026d00: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +026d02: 0f00 |0007: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=123 │ │ locals : │ │ 0x0000 - 0x0008 reg=1 this Lutil/HugePackedSet; │ │ │ │ #8 : (in Lutil/HugePackedSet;) │ │ @@ -27286,19 +27286,19 @@ │ │ type : '()Ljava/util/Iterator;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 8 16-bit code units │ │ -026dc0: |[026dc0] util.HugePackedSet.iterator:()Ljava/util/Iterator; │ │ -026dd0: 2200 2c01 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@012c │ │ -026dd4: 1a01 f403 |0002: const-string v1, "Not implemented yet" // string@03f4 │ │ -026dd8: 7020 9805 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@0598 │ │ -026dde: 2700 |0007: throw v0 │ │ +026dbc: |[026dbc] util.HugePackedSet.iterator:()Ljava/util/Iterator; │ │ +026dcc: 2200 2c01 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@012c │ │ +026dd0: 1a01 f403 |0002: const-string v1, "Not implemented yet" // string@03f4 │ │ +026dd4: 7020 9805 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@0598 │ │ +026dda: 2700 |0007: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=128 │ │ locals : │ │ 0x0000 - 0x0008 reg=2 this Lutil/HugePackedSet; │ │ │ │ #9 : (in Lutil/HugePackedSet;) │ │ @@ -27306,93 +27306,93 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 9 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 173 16-bit code units │ │ -027034: |[027034] util.HugePackedSet.persist:(Ljava/lang/String;)V │ │ -027044: 2200 f600 |0000: new-instance v0, Ljava/io/File; // type@00f6 │ │ -027048: 2201 2801 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -02704c: 7010 8305 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -027052: 6e20 8905 8100 |0007: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -027058: 1a02 5e00 |000a: const-string v2, ".tmp" // string@005e │ │ -02705c: 6e20 8905 2100 |000c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -027062: 6e10 8b05 0100 |000f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -027068: 0c01 |0012: move-result-object v1 │ │ -02706a: 7020 da04 1000 |0013: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ -027070: 1201 |0016: const/4 v1, #int 0 // #0 │ │ -027072: 1203 |0017: const/4 v3, #int 0 // #0 │ │ -027074: 1224 |0018: const/4 v4, #int 2 // #2 │ │ -027076: 3543 2300 |0019: if-ge v3, v4, 003c // +0023 │ │ -02707a: 6e10 e004 0000 |001b: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@04e0 │ │ -027080: 0a04 |001e: move-result v4 │ │ -027082: 3804 1500 |001f: if-eqz v4, 0034 // +0015 │ │ -027086: 6e10 e904 0000 |0021: invoke-virtual {v0}, Ljava/io/File;.listFiles:()[Ljava/io/File; // method@04e9 │ │ -02708c: 0c04 |0024: move-result-object v4 │ │ -02708e: 1205 |0025: const/4 v5, #int 0 // #0 │ │ -027090: 2146 |0026: array-length v6, v4 │ │ -027092: 3565 0a00 |0027: if-ge v5, v6, 0031 // +000a │ │ -027096: 4606 0405 |0029: aget-object v6, v4, v5 │ │ -02709a: 6e10 de04 0600 |002b: invoke-virtual {v6}, Ljava/io/File;.delete:()Z // method@04de │ │ -0270a0: d805 0501 |002e: add-int/lit8 v5, v5, #int 1 // #01 │ │ -0270a4: 28f6 |0030: goto 0026 // -000a │ │ -0270a6: 6e10 de04 0000 |0031: invoke-virtual {v0}, Ljava/io/File;.delete:()Z // method@04de │ │ -0270ac: 2200 f600 |0034: new-instance v0, Ljava/io/File; // type@00f6 │ │ -0270b0: 7020 da04 8000 |0036: invoke-direct {v0, v8}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ -0270b6: d803 0301 |0039: add-int/lit8 v3, v3, #int 1 // #01 │ │ -0270ba: 28dd |003b: goto 0018 // -0023 │ │ -0270bc: 2200 f600 |003c: new-instance v0, Ljava/io/File; // type@00f6 │ │ -0270c0: 2203 2801 |003e: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -0270c4: 7010 8305 0300 |0040: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -0270ca: 6e20 8905 8300 |0043: invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0270d0: 6e20 8905 2300 |0046: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0270d6: 6e10 8b05 0300 |0049: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0270dc: 0c02 |004c: move-result-object v2 │ │ -0270de: 7020 da04 2000 |004d: invoke-direct {v0, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ -0270e4: 6e10 ea04 0000 |0050: invoke-virtual {v0}, Ljava/io/File;.mkdir:()Z // method@04ea │ │ -0270ea: 2202 fa00 |0053: new-instance v2, Ljava/io/FileOutputStream; // type@00fa │ │ -0270ee: 2203 2801 |0055: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -0270f2: 7010 8305 0300 |0057: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -0270f8: 6e10 e104 0000 |005a: invoke-virtual {v0}, Ljava/io/File;.getAbsolutePath:()Ljava/lang/String; // method@04e1 │ │ -0270fe: 0c04 |005d: move-result-object v4 │ │ -027100: 6e20 8905 4300 |005e: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -027106: 1a04 6100 |0061: const-string v4, "/IDX_VERSION" // string@0061 │ │ -02710a: 6e20 8905 4300 |0063: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -027110: 6e10 8b05 0300 |0066: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -027116: 0c03 |0069: move-result-object v3 │ │ -027118: 7020 f604 3200 |006a: invoke-direct {v2, v3}, Ljava/io/FileOutputStream;.:(Ljava/lang/String;)V // method@04f6 │ │ -02711e: 1a03 6f00 |006d: const-string v3, "1.0" // string@006f │ │ -027122: 6e10 6905 0300 |006f: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -027128: 0c03 |0072: move-result-object v3 │ │ -02712a: 6e20 f904 3200 |0073: invoke-virtual {v2, v3}, Ljava/io/FileOutputStream;.write:([B)V // method@04f9 │ │ -027130: 6e10 f804 0200 |0076: invoke-virtual {v2}, Ljava/io/FileOutputStream;.flush:()V // method@04f8 │ │ -027136: 6e10 f704 0200 |0079: invoke-virtual {v2}, Ljava/io/FileOutputStream;.close:()V // method@04f7 │ │ -02713c: 5272 5203 |007c: iget v2, v7, Lutil/HugePackedSet;.slotCount:I // field@0352 │ │ -027140: 3521 2400 |007e: if-ge v1, v2, 00a2 // +0024 │ │ -027144: 5472 5403 |0080: iget-object v2, v7, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0354 │ │ -027148: 4602 0201 |0082: aget-object v2, v2, v1 │ │ -02714c: 2203 2801 |0084: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -027150: 7010 8305 0300 |0086: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -027156: 6e10 e104 0000 |0089: invoke-virtual {v0}, Ljava/io/File;.getAbsolutePath:()Ljava/lang/String; // method@04e1 │ │ -02715c: 0c04 |008c: move-result-object v4 │ │ -02715e: 6e20 8905 4300 |008d: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -027164: 1a04 6b00 |0090: const-string v4, "/idx" // string@006b │ │ -027168: 6e20 8905 4300 |0092: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02716e: 6e20 8605 1300 |0095: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -027174: 6e10 8b05 0300 |0098: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02717a: 0c03 |009b: move-result-object v3 │ │ -02717c: 6e20 2807 3200 |009c: invoke-virtual {v2, v3}, Lutil/PackedSortedList;.persist:(Ljava/lang/String;)V // method@0728 │ │ -027182: d801 0101 |009f: add-int/lit8 v1, v1, #int 1 // #01 │ │ -027186: 28db |00a1: goto 007c // -0025 │ │ -027188: 2201 f600 |00a2: new-instance v1, Ljava/io/File; // type@00f6 │ │ -02718c: 7020 da04 8100 |00a4: invoke-direct {v1, v8}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ -027192: 6e20 ec04 1000 |00a7: invoke-virtual {v0, v1}, Ljava/io/File;.renameTo:(Ljava/io/File;)Z // method@04ec │ │ -027198: 5b78 5003 |00aa: iput-object v8, v7, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@0350 │ │ -02719c: 0e00 |00ac: return-void │ │ +027030: |[027030] util.HugePackedSet.persist:(Ljava/lang/String;)V │ │ +027040: 2200 f600 |0000: new-instance v0, Ljava/io/File; // type@00f6 │ │ +027044: 2201 2801 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +027048: 7010 8305 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +02704e: 6e20 8905 8100 |0007: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +027054: 1a02 5e00 |000a: const-string v2, ".tmp" // string@005e │ │ +027058: 6e20 8905 2100 |000c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02705e: 6e10 8b05 0100 |000f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +027064: 0c01 |0012: move-result-object v1 │ │ +027066: 7020 da04 1000 |0013: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ +02706c: 1201 |0016: const/4 v1, #int 0 // #0 │ │ +02706e: 1203 |0017: const/4 v3, #int 0 // #0 │ │ +027070: 1224 |0018: const/4 v4, #int 2 // #2 │ │ +027072: 3543 2300 |0019: if-ge v3, v4, 003c // +0023 │ │ +027076: 6e10 e004 0000 |001b: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@04e0 │ │ +02707c: 0a04 |001e: move-result v4 │ │ +02707e: 3804 1500 |001f: if-eqz v4, 0034 // +0015 │ │ +027082: 6e10 e904 0000 |0021: invoke-virtual {v0}, Ljava/io/File;.listFiles:()[Ljava/io/File; // method@04e9 │ │ +027088: 0c04 |0024: move-result-object v4 │ │ +02708a: 1205 |0025: const/4 v5, #int 0 // #0 │ │ +02708c: 2146 |0026: array-length v6, v4 │ │ +02708e: 3565 0a00 |0027: if-ge v5, v6, 0031 // +000a │ │ +027092: 4606 0405 |0029: aget-object v6, v4, v5 │ │ +027096: 6e10 de04 0600 |002b: invoke-virtual {v6}, Ljava/io/File;.delete:()Z // method@04de │ │ +02709c: d805 0501 |002e: add-int/lit8 v5, v5, #int 1 // #01 │ │ +0270a0: 28f6 |0030: goto 0026 // -000a │ │ +0270a2: 6e10 de04 0000 |0031: invoke-virtual {v0}, Ljava/io/File;.delete:()Z // method@04de │ │ +0270a8: 2200 f600 |0034: new-instance v0, Ljava/io/File; // type@00f6 │ │ +0270ac: 7020 da04 8000 |0036: invoke-direct {v0, v8}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ +0270b2: d803 0301 |0039: add-int/lit8 v3, v3, #int 1 // #01 │ │ +0270b6: 28dd |003b: goto 0018 // -0023 │ │ +0270b8: 2200 f600 |003c: new-instance v0, Ljava/io/File; // type@00f6 │ │ +0270bc: 2203 2801 |003e: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +0270c0: 7010 8305 0300 |0040: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +0270c6: 6e20 8905 8300 |0043: invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0270cc: 6e20 8905 2300 |0046: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0270d2: 6e10 8b05 0300 |0049: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0270d8: 0c02 |004c: move-result-object v2 │ │ +0270da: 7020 da04 2000 |004d: invoke-direct {v0, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ +0270e0: 6e10 ea04 0000 |0050: invoke-virtual {v0}, Ljava/io/File;.mkdir:()Z // method@04ea │ │ +0270e6: 2202 fa00 |0053: new-instance v2, Ljava/io/FileOutputStream; // type@00fa │ │ +0270ea: 2203 2801 |0055: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +0270ee: 7010 8305 0300 |0057: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +0270f4: 6e10 e104 0000 |005a: invoke-virtual {v0}, Ljava/io/File;.getAbsolutePath:()Ljava/lang/String; // method@04e1 │ │ +0270fa: 0c04 |005d: move-result-object v4 │ │ +0270fc: 6e20 8905 4300 |005e: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +027102: 1a04 6100 |0061: const-string v4, "/IDX_VERSION" // string@0061 │ │ +027106: 6e20 8905 4300 |0063: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02710c: 6e10 8b05 0300 |0066: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +027112: 0c03 |0069: move-result-object v3 │ │ +027114: 7020 f604 3200 |006a: invoke-direct {v2, v3}, Ljava/io/FileOutputStream;.:(Ljava/lang/String;)V // method@04f6 │ │ +02711a: 1a03 6f00 |006d: const-string v3, "1.0" // string@006f │ │ +02711e: 6e10 6905 0300 |006f: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +027124: 0c03 |0072: move-result-object v3 │ │ +027126: 6e20 f904 3200 |0073: invoke-virtual {v2, v3}, Ljava/io/FileOutputStream;.write:([B)V // method@04f9 │ │ +02712c: 6e10 f804 0200 |0076: invoke-virtual {v2}, Ljava/io/FileOutputStream;.flush:()V // method@04f8 │ │ +027132: 6e10 f704 0200 |0079: invoke-virtual {v2}, Ljava/io/FileOutputStream;.close:()V // method@04f7 │ │ +027138: 5272 5203 |007c: iget v2, v7, Lutil/HugePackedSet;.slotCount:I // field@0352 │ │ +02713c: 3521 2400 |007e: if-ge v1, v2, 00a2 // +0024 │ │ +027140: 5472 5403 |0080: iget-object v2, v7, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0354 │ │ +027144: 4602 0201 |0082: aget-object v2, v2, v1 │ │ +027148: 2203 2801 |0084: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +02714c: 7010 8305 0300 |0086: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +027152: 6e10 e104 0000 |0089: invoke-virtual {v0}, Ljava/io/File;.getAbsolutePath:()Ljava/lang/String; // method@04e1 │ │ +027158: 0c04 |008c: move-result-object v4 │ │ +02715a: 6e20 8905 4300 |008d: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +027160: 1a04 6b00 |0090: const-string v4, "/idx" // string@006b │ │ +027164: 6e20 8905 4300 |0092: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02716a: 6e20 8605 1300 |0095: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +027170: 6e10 8b05 0300 |0098: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +027176: 0c03 |009b: move-result-object v3 │ │ +027178: 6e20 2807 3200 |009c: invoke-virtual {v2, v3}, Lutil/PackedSortedList;.persist:(Ljava/lang/String;)V // method@0728 │ │ +02717e: d801 0101 |009f: add-int/lit8 v1, v1, #int 1 // #01 │ │ +027182: 28db |00a1: goto 007c // -0025 │ │ +027184: 2201 f600 |00a2: new-instance v1, Ljava/io/File; // type@00f6 │ │ +027188: 7020 da04 8100 |00a4: invoke-direct {v1, v8}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ +02718e: 6e20 ec04 1000 |00a7: invoke-virtual {v0, v1}, Ljava/io/File;.renameTo:(Ljava/io/File;)Z // method@04ec │ │ +027194: 5b78 5003 |00aa: iput-object v8, v7, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@0350 │ │ +027198: 0e00 |00ac: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=164 │ │ 0x001b line=166 │ │ 0x0021 line=167 │ │ 0x0026 line=168 │ │ 0x0029 line=169 │ │ @@ -27418,26 +27418,26 @@ │ │ type : '(Ljava/lang/Object;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 20 16-bit code units │ │ -0271a0: |[0271a0] util.HugePackedSet.prepareInsert:(Ljava/lang/Object;)V │ │ -0271b0: 5420 5303 |0000: iget-object v0, v2, Lutil/HugePackedSet;.slotSizes:[I // field@0353 │ │ -0271b4: 6e10 5205 0300 |0002: invoke-virtual {v3}, Ljava/lang/Object;.hashCode:()I // method@0552 │ │ -0271ba: 0a03 |0005: move-result v3 │ │ -0271bc: 5221 5203 |0006: iget v1, v2, Lutil/HugePackedSet;.slotCount:I // field@0352 │ │ -0271c0: b413 |0008: rem-int/2addr v3, v1 │ │ -0271c2: 7110 4a05 0300 |0009: invoke-static {v3}, Ljava/lang/Math;.abs:(I)I // method@054a │ │ -0271c8: 0a03 |000c: move-result v3 │ │ -0271ca: 4401 0003 |000d: aget v1, v0, v3 │ │ -0271ce: d801 0101 |000f: add-int/lit8 v1, v1, #int 1 // #01 │ │ -0271d2: 4b01 0003 |0011: aput v1, v0, v3 │ │ -0271d6: 0e00 |0013: return-void │ │ +02719c: |[02719c] util.HugePackedSet.prepareInsert:(Ljava/lang/Object;)V │ │ +0271ac: 5420 5303 |0000: iget-object v0, v2, Lutil/HugePackedSet;.slotSizes:[I // field@0353 │ │ +0271b0: 6e10 5205 0300 |0002: invoke-virtual {v3}, Ljava/lang/Object;.hashCode:()I // method@0552 │ │ +0271b6: 0a03 |0005: move-result v3 │ │ +0271b8: 5221 5203 |0006: iget v1, v2, Lutil/HugePackedSet;.slotCount:I // field@0352 │ │ +0271bc: b413 |0008: rem-int/2addr v3, v1 │ │ +0271be: 7110 4a05 0300 |0009: invoke-static {v3}, Ljava/lang/Math;.abs:(I)I // method@054a │ │ +0271c4: 0a03 |000c: move-result v3 │ │ +0271c6: 4401 0003 |000d: aget v1, v0, v3 │ │ +0271ca: d801 0101 |000f: add-int/lit8 v1, v1, #int 1 // #01 │ │ +0271ce: 4b01 0003 |0011: aput v1, v0, v3 │ │ +0271d2: 0e00 |0013: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=69 │ │ locals : │ │ 0x0000 - 0x0014 reg=2 this Lutil/HugePackedSet; │ │ 0x0000 - 0x0014 reg=3 (null) Ljava/lang/Object; │ │ │ │ @@ -27446,19 +27446,19 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 8 16-bit code units │ │ -026d08: |[026d08] util.HugePackedSet.remove:(Ljava/lang/Object;)Z │ │ -026d18: 2202 2c01 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@012c │ │ -026d1c: 1a00 f403 |0002: const-string v0, "Not implemented yet" // string@03f4 │ │ -026d20: 7020 9805 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@0598 │ │ -026d26: 2702 |0007: throw v2 │ │ +026d04: |[026d04] util.HugePackedSet.remove:(Ljava/lang/Object;)Z │ │ +026d14: 2202 2c01 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@012c │ │ +026d18: 1a00 f403 |0002: const-string v0, "Not implemented yet" // string@03f4 │ │ +026d1c: 7020 9805 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@0598 │ │ +026d22: 2702 |0007: throw v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=133 │ │ locals : │ │ 0x0000 - 0x0008 reg=1 this Lutil/HugePackedSet; │ │ 0x0000 - 0x0008 reg=2 (null) Ljava/lang/Object; │ │ │ │ @@ -27467,19 +27467,19 @@ │ │ type : '(Ljava/util/Collection;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 8 16-bit code units │ │ -026d28: |[026d28] util.HugePackedSet.removeAll:(Ljava/util/Collection;)Z │ │ -026d38: 2202 2c01 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@012c │ │ -026d3c: 1a00 f403 |0002: const-string v0, "Not implemented yet" // string@03f4 │ │ -026d40: 7020 9805 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@0598 │ │ -026d46: 2702 |0007: throw v2 │ │ +026d24: |[026d24] util.HugePackedSet.removeAll:(Ljava/util/Collection;)Z │ │ +026d34: 2202 2c01 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@012c │ │ +026d38: 1a00 f403 |0002: const-string v0, "Not implemented yet" // string@03f4 │ │ +026d3c: 7020 9805 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@0598 │ │ +026d42: 2702 |0007: throw v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=138 │ │ locals : │ │ 0x0000 - 0x0008 reg=1 this Lutil/HugePackedSet; │ │ 0x0000 - 0x0008 reg=2 (null) Ljava/util/Collection; │ │ │ │ @@ -27488,19 +27488,19 @@ │ │ type : '(Ljava/util/Collection;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 8 16-bit code units │ │ -026d48: |[026d48] util.HugePackedSet.retainAll:(Ljava/util/Collection;)Z │ │ -026d58: 2202 2c01 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@012c │ │ -026d5c: 1a00 f403 |0002: const-string v0, "Not implemented yet" // string@03f4 │ │ -026d60: 7020 9805 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@0598 │ │ -026d66: 2702 |0007: throw v2 │ │ +026d44: |[026d44] util.HugePackedSet.retainAll:(Ljava/util/Collection;)Z │ │ +026d54: 2202 2c01 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@012c │ │ +026d58: 1a00 f403 |0002: const-string v0, "Not implemented yet" // string@03f4 │ │ +026d5c: 7020 9805 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@0598 │ │ +026d62: 2702 |0007: throw v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=143 │ │ locals : │ │ 0x0000 - 0x0008 reg=1 this Lutil/HugePackedSet; │ │ 0x0000 - 0x0008 reg=2 (null) Ljava/util/Collection; │ │ │ │ @@ -27509,17 +27509,17 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -026d68: |[026d68] util.HugePackedSet.size:()I │ │ -026d78: 5210 4f03 |0000: iget v0, v1, Lutil/HugePackedSet;.count:I // field@034f │ │ -026d7c: 0f00 |0002: return v0 │ │ +026d64: |[026d64] util.HugePackedSet.size:()I │ │ +026d74: 5210 4f03 |0000: iget v0, v1, Lutil/HugePackedSet;.count:I // field@034f │ │ +026d78: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=148 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lutil/HugePackedSet; │ │ │ │ #15 : (in Lutil/HugePackedSet;) │ │ @@ -27527,19 +27527,19 @@ │ │ type : '()[Ljava/lang/Object;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 8 16-bit code units │ │ -026d80: |[026d80] util.HugePackedSet.toArray:()[Ljava/lang/Object; │ │ -026d90: 2200 2c01 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@012c │ │ -026d94: 1a01 f703 |0002: const-string v1, "Not supported!" // string@03f7 │ │ -026d98: 7020 9805 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@0598 │ │ -026d9e: 2700 |0007: throw v0 │ │ +026d7c: |[026d7c] util.HugePackedSet.toArray:()[Ljava/lang/Object; │ │ +026d8c: 2200 2c01 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@012c │ │ +026d90: 1a01 f703 |0002: const-string v1, "Not supported!" // string@03f7 │ │ +026d94: 7020 9805 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@0598 │ │ +026d9a: 2700 |0007: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=153 │ │ locals : │ │ 0x0000 - 0x0008 reg=2 this Lutil/HugePackedSet; │ │ │ │ #16 : (in Lutil/HugePackedSet;) │ │ @@ -27547,19 +27547,19 @@ │ │ type : '([Ljava/lang/Object;)[Ljava/lang/Object;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 8 16-bit code units │ │ -026da0: |[026da0] util.HugePackedSet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; │ │ -026db0: 2202 2c01 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@012c │ │ -026db4: 1a00 f703 |0002: const-string v0, "Not supported!" // string@03f7 │ │ -026db8: 7020 9805 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@0598 │ │ -026dbe: 2702 |0007: throw v2 │ │ +026d9c: |[026d9c] util.HugePackedSet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; │ │ +026dac: 2202 2c01 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@012c │ │ +026db0: 1a00 f703 |0002: const-string v0, "Not supported!" // string@03f7 │ │ +026db4: 7020 9805 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@0598 │ │ +026dba: 2702 |0007: throw v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=158 │ │ locals : │ │ 0x0000 - 0x0008 reg=1 this Lutil/HugePackedSet; │ │ 0x0000 - 0x0008 reg=2 (null) [Ljava/lang/Object; │ │ │ │ @@ -27568,45 +27568,45 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 61 16-bit code units │ │ -0271d8: |[0271d8] util.HugePackedSet.updatePersist:()V │ │ -0271e8: 5450 5003 |0000: iget-object v0, v5, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@0350 │ │ -0271ec: 3800 3100 |0002: if-eqz v0, 0033 // +0031 │ │ -0271f0: 2200 f600 |0004: new-instance v0, Ljava/io/File; // type@00f6 │ │ -0271f4: 5451 5003 |0006: iget-object v1, v5, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@0350 │ │ -0271f8: 7020 da04 1000 |0008: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ -0271fe: 1201 |000b: const/4 v1, #int 0 // #0 │ │ -027200: 5252 5203 |000c: iget v2, v5, Lutil/HugePackedSet;.slotCount:I // field@0352 │ │ -027204: 3521 2400 |000e: if-ge v1, v2, 0032 // +0024 │ │ -027208: 5452 5403 |0010: iget-object v2, v5, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0354 │ │ -02720c: 4602 0201 |0012: aget-object v2, v2, v1 │ │ -027210: 2203 2801 |0014: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -027214: 7010 8305 0300 |0016: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -02721a: 6e10 e104 0000 |0019: invoke-virtual {v0}, Ljava/io/File;.getAbsolutePath:()Ljava/lang/String; // method@04e1 │ │ -027220: 0c04 |001c: move-result-object v4 │ │ -027222: 6e20 8905 4300 |001d: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -027228: 1a04 6b00 |0020: const-string v4, "/idx" // string@006b │ │ -02722c: 6e20 8905 4300 |0022: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -027232: 6e20 8605 1300 |0025: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -027238: 6e10 8b05 0300 |0028: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02723e: 0c03 |002b: move-result-object v3 │ │ -027240: 6e20 2807 3200 |002c: invoke-virtual {v2, v3}, Lutil/PackedSortedList;.persist:(Ljava/lang/String;)V // method@0728 │ │ -027246: d801 0101 |002f: add-int/lit8 v1, v1, #int 1 // #01 │ │ -02724a: 28db |0031: goto 000c // -0025 │ │ -02724c: 0e00 |0032: return-void │ │ -02724e: 2200 fb00 |0033: new-instance v0, Ljava/io/IOException; // type@00fb │ │ -027252: 1a01 f700 |0035: const-string v1, "Can not update non persisted index!" // string@00f7 │ │ -027256: 7020 fb04 1000 |0037: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -02725c: 2802 |003a: goto 003c // +0002 │ │ -02725e: 2700 |003b: throw v0 │ │ -027260: 28ff |003c: goto 003b // -0001 │ │ +0271d4: |[0271d4] util.HugePackedSet.updatePersist:()V │ │ +0271e4: 5450 5003 |0000: iget-object v0, v5, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@0350 │ │ +0271e8: 3800 3100 |0002: if-eqz v0, 0033 // +0031 │ │ +0271ec: 2200 f600 |0004: new-instance v0, Ljava/io/File; // type@00f6 │ │ +0271f0: 5451 5003 |0006: iget-object v1, v5, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@0350 │ │ +0271f4: 7020 da04 1000 |0008: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ +0271fa: 1201 |000b: const/4 v1, #int 0 // #0 │ │ +0271fc: 5252 5203 |000c: iget v2, v5, Lutil/HugePackedSet;.slotCount:I // field@0352 │ │ +027200: 3521 2400 |000e: if-ge v1, v2, 0032 // +0024 │ │ +027204: 5452 5403 |0010: iget-object v2, v5, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0354 │ │ +027208: 4602 0201 |0012: aget-object v2, v2, v1 │ │ +02720c: 2203 2801 |0014: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +027210: 7010 8305 0300 |0016: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +027216: 6e10 e104 0000 |0019: invoke-virtual {v0}, Ljava/io/File;.getAbsolutePath:()Ljava/lang/String; // method@04e1 │ │ +02721c: 0c04 |001c: move-result-object v4 │ │ +02721e: 6e20 8905 4300 |001d: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +027224: 1a04 6b00 |0020: const-string v4, "/idx" // string@006b │ │ +027228: 6e20 8905 4300 |0022: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02722e: 6e20 8605 1300 |0025: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +027234: 6e10 8b05 0300 |0028: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02723a: 0c03 |002b: move-result-object v3 │ │ +02723c: 6e20 2807 3200 |002c: invoke-virtual {v2, v3}, Lutil/PackedSortedList;.persist:(Ljava/lang/String;)V // method@0728 │ │ +027242: d801 0101 |002f: add-int/lit8 v1, v1, #int 1 // #01 │ │ +027246: 28db |0031: goto 000c // -0025 │ │ +027248: 0e00 |0032: return-void │ │ +02724a: 2200 fb00 |0033: new-instance v0, Ljava/io/IOException; // type@00fb │ │ +02724e: 1a01 f700 |0035: const-string v1, "Can not update non persisted index!" // string@00f7 │ │ +027252: 7020 fb04 1000 |0037: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +027258: 2802 |003a: goto 003c // +0002 │ │ +02725a: 2700 |003b: throw v0 │ │ +02725c: 28ff |003c: goto 003b // -0001 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=195 │ │ 0x0004 line=198 │ │ 0x000c line=200 │ │ 0x0010 line=201 │ │ 0x0033 line=196 │ │ @@ -27642,19 +27642,19 @@ │ │ type : '(I)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 8 16-bit code units │ │ -0274cc: |[0274cc] util.LRUCache.:(I)V │ │ -0274dc: d800 0201 |0000: add-int/lit8 v0, v2, #int 1 // #01 │ │ -0274e0: 7020 1d06 0100 |0002: invoke-direct {v1, v0}, Ljava/util/LinkedHashMap;.:(I)V // method@061d │ │ -0274e6: 5912 5503 |0005: iput v2, v1, Lutil/LRUCache;.MAX_ENTRIES:I // field@0355 │ │ -0274ea: 0e00 |0007: return-void │ │ +0274c8: |[0274c8] util.LRUCache.:(I)V │ │ +0274d8: d800 0201 |0000: add-int/lit8 v0, v2, #int 1 // #01 │ │ +0274dc: 7020 1d06 0100 |0002: invoke-direct {v1, v0}, Ljava/util/LinkedHashMap;.:(I)V // method@061d │ │ +0274e2: 5912 5503 |0005: iput v2, v1, Lutil/LRUCache;.MAX_ENTRIES:I // field@0355 │ │ +0274e6: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=35 │ │ 0x0005 line=36 │ │ locals : │ │ 0x0000 - 0x0008 reg=1 this Lutil/LRUCache; │ │ 0x0000 - 0x0008 reg=2 (null) I │ │ @@ -27665,22 +27665,22 @@ │ │ type : '()V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -0274ec: |[0274ec] util.LRUCache.clear:()V │ │ -0274fc: 1d01 |0000: monitor-enter v1 │ │ -0274fe: 6f10 1e06 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.clear:()V // method@061e │ │ -027504: 1e01 |0004: monitor-exit v1 │ │ -027506: 0e00 |0005: return-void │ │ -027508: 0d00 |0006: move-exception v0 │ │ -02750a: 1e01 |0007: monitor-exit v1 │ │ -02750c: 2700 |0008: throw v0 │ │ +0274e8: |[0274e8] util.LRUCache.clear:()V │ │ +0274f8: 1d01 |0000: monitor-enter v1 │ │ +0274fa: 6f10 1e06 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.clear:()V // method@061e │ │ +027500: 1e01 |0004: monitor-exit v1 │ │ +027502: 0e00 |0005: return-void │ │ +027504: 0d00 |0006: move-exception v0 │ │ +027506: 1e01 |0007: monitor-exit v1 │ │ +027508: 2700 |0008: throw v0 │ │ catches : 1 │ │ 0x0001 - 0x0004 │ │ -> 0x0006 │ │ positions : │ │ 0x0001 line=117 │ │ 0x0004 line=118 │ │ locals : │ │ @@ -27691,23 +27691,23 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 10 16-bit code units │ │ -027264: |[027264] util.LRUCache.containsKey:(Ljava/lang/Object;)Z │ │ -027274: 1d00 |0000: monitor-enter v0 │ │ -027276: 6f20 1f06 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.containsKey:(Ljava/lang/Object;)Z // method@061f │ │ -02727c: 0a01 |0004: move-result v1 │ │ -02727e: 1e00 |0005: monitor-exit v0 │ │ -027280: 0f01 |0006: return v1 │ │ -027282: 0d01 |0007: move-exception v1 │ │ -027284: 1e00 |0008: monitor-exit v0 │ │ -027286: 2701 |0009: throw v1 │ │ +027260: |[027260] util.LRUCache.containsKey:(Ljava/lang/Object;)Z │ │ +027270: 1d00 |0000: monitor-enter v0 │ │ +027272: 6f20 1f06 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.containsKey:(Ljava/lang/Object;)Z // method@061f │ │ +027278: 0a01 |0004: move-result v1 │ │ +02727a: 1e00 |0005: monitor-exit v0 │ │ +02727c: 0f01 |0006: return v1 │ │ +02727e: 0d01 |0007: move-exception v1 │ │ +027280: 1e00 |0008: monitor-exit v0 │ │ +027282: 2701 |0009: throw v1 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=86 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Lutil/LRUCache; │ │ @@ -27718,23 +27718,23 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 10 16-bit code units │ │ -027294: |[027294] util.LRUCache.containsValue:(Ljava/lang/Object;)Z │ │ -0272a4: 1d00 |0000: monitor-enter v0 │ │ -0272a6: 6f20 2006 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.containsValue:(Ljava/lang/Object;)Z // method@0620 │ │ -0272ac: 0a01 |0004: move-result v1 │ │ -0272ae: 1e00 |0005: monitor-exit v0 │ │ -0272b0: 0f01 |0006: return v1 │ │ -0272b2: 0d01 |0007: move-exception v1 │ │ -0272b4: 1e00 |0008: monitor-exit v0 │ │ -0272b6: 2701 |0009: throw v1 │ │ +027290: |[027290] util.LRUCache.containsValue:(Ljava/lang/Object;)Z │ │ +0272a0: 1d00 |0000: monitor-enter v0 │ │ +0272a2: 6f20 2006 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.containsValue:(Ljava/lang/Object;)Z // method@0620 │ │ +0272a8: 0a01 |0004: move-result v1 │ │ +0272aa: 1e00 |0005: monitor-exit v0 │ │ +0272ac: 0f01 |0006: return v1 │ │ +0272ae: 0d01 |0007: move-exception v1 │ │ +0272b0: 1e00 |0008: monitor-exit v0 │ │ +0272b2: 2701 |0009: throw v1 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=91 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Lutil/LRUCache; │ │ @@ -27745,23 +27745,23 @@ │ │ type : '()Ljava/util/Set;' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -02746c: |[02746c] util.LRUCache.entrySet:()Ljava/util/Set; │ │ -02747c: 1d01 |0000: monitor-enter v1 │ │ -02747e: 6f10 2106 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.entrySet:()Ljava/util/Set; // method@0621 │ │ -027484: 0c00 |0004: move-result-object v0 │ │ -027486: 1e01 |0005: monitor-exit v1 │ │ -027488: 1100 |0006: return-object v0 │ │ -02748a: 0d00 |0007: move-exception v0 │ │ -02748c: 1e01 |0008: monitor-exit v1 │ │ -02748e: 2700 |0009: throw v0 │ │ +027468: |[027468] util.LRUCache.entrySet:()Ljava/util/Set; │ │ +027478: 1d01 |0000: monitor-enter v1 │ │ +02747a: 6f10 2106 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.entrySet:()Ljava/util/Set; // method@0621 │ │ +027480: 0c00 |0004: move-result-object v0 │ │ +027482: 1e01 |0005: monitor-exit v1 │ │ +027484: 1100 |0006: return-object v0 │ │ +027486: 0d00 |0007: move-exception v0 │ │ +027488: 1e01 |0008: monitor-exit v1 │ │ +02748a: 2700 |0009: throw v0 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=107 │ │ locals : │ │ 0x0000 - 0x000a reg=1 this Lutil/LRUCache; │ │ @@ -27771,23 +27771,23 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 10 16-bit code units │ │ -0272c4: |[0272c4] util.LRUCache.equals:(Ljava/lang/Object;)Z │ │ -0272d4: 1d00 |0000: monitor-enter v0 │ │ -0272d6: 6f20 2206 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.equals:(Ljava/lang/Object;)Z // method@0622 │ │ -0272dc: 0a01 |0004: move-result v1 │ │ -0272de: 1e00 |0005: monitor-exit v0 │ │ -0272e0: 0f01 |0006: return v1 │ │ -0272e2: 0d01 |0007: move-exception v1 │ │ -0272e4: 1e00 |0008: monitor-exit v0 │ │ -0272e6: 2701 |0009: throw v1 │ │ +0272c0: |[0272c0] util.LRUCache.equals:(Ljava/lang/Object;)Z │ │ +0272d0: 1d00 |0000: monitor-enter v0 │ │ +0272d2: 6f20 2206 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.equals:(Ljava/lang/Object;)Z // method@0622 │ │ +0272d8: 0a01 |0004: move-result v1 │ │ +0272da: 1e00 |0005: monitor-exit v0 │ │ +0272dc: 0f01 |0006: return v1 │ │ +0272de: 0d01 |0007: move-exception v1 │ │ +0272e0: 1e00 |0008: monitor-exit v0 │ │ +0272e2: 2701 |0009: throw v1 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=76 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Lutil/LRUCache; │ │ @@ -27798,23 +27798,23 @@ │ │ type : '(Ljava/lang/Object;)Ljava/lang/Object;' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 10 16-bit code units │ │ -0273ac: |[0273ac] util.LRUCache.get:(Ljava/lang/Object;)Ljava/lang/Object; │ │ -0273bc: 1d00 |0000: monitor-enter v0 │ │ -0273be: 6f20 2306 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0623 │ │ -0273c4: 0c01 |0004: move-result-object v1 │ │ -0273c6: 1e00 |0005: monitor-exit v0 │ │ -0273c8: 1101 |0006: return-object v1 │ │ -0273ca: 0d01 |0007: move-exception v1 │ │ -0273cc: 1e00 |0008: monitor-exit v0 │ │ -0273ce: 2701 |0009: throw v1 │ │ +0273a8: |[0273a8] util.LRUCache.get:(Ljava/lang/Object;)Ljava/lang/Object; │ │ +0273b8: 1d00 |0000: monitor-enter v0 │ │ +0273ba: 6f20 2306 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0623 │ │ +0273c0: 0c01 |0004: move-result-object v1 │ │ +0273c2: 1e00 |0005: monitor-exit v0 │ │ +0273c4: 1101 |0006: return-object v1 │ │ +0273c6: 0d01 |0007: move-exception v1 │ │ +0273c8: 1e00 |0008: monitor-exit v0 │ │ +0273ca: 2701 |0009: throw v1 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=54 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Lutil/LRUCache; │ │ @@ -27825,23 +27825,23 @@ │ │ type : '()I' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -02734c: |[02734c] util.LRUCache.hashCode:()I │ │ -02735c: 1d01 |0000: monitor-enter v1 │ │ -02735e: 6f10 2406 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.hashCode:()I // method@0624 │ │ -027364: 0a00 |0004: move-result v0 │ │ -027366: 1e01 |0005: monitor-exit v1 │ │ -027368: 0f00 |0006: return v0 │ │ -02736a: 0d00 |0007: move-exception v0 │ │ -02736c: 1e01 |0008: monitor-exit v1 │ │ -02736e: 2700 |0009: throw v0 │ │ +027348: |[027348] util.LRUCache.hashCode:()I │ │ +027358: 1d01 |0000: monitor-enter v1 │ │ +02735a: 6f10 2406 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.hashCode:()I // method@0624 │ │ +027360: 0a00 |0004: move-result v0 │ │ +027362: 1e01 |0005: monitor-exit v1 │ │ +027364: 0f00 |0006: return v0 │ │ +027366: 0d00 |0007: move-exception v0 │ │ +027368: 1e01 |0008: monitor-exit v1 │ │ +02736a: 2700 |0009: throw v0 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=71 │ │ locals : │ │ 0x0000 - 0x000a reg=1 this Lutil/LRUCache; │ │ @@ -27851,23 +27851,23 @@ │ │ type : '()Z' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -0272f4: |[0272f4] util.LRUCache.isEmpty:()Z │ │ -027304: 1d01 |0000: monitor-enter v1 │ │ -027306: 6f10 2506 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.isEmpty:()Z // method@0625 │ │ -02730c: 0a00 |0004: move-result v0 │ │ -02730e: 1e01 |0005: monitor-exit v1 │ │ -027310: 0f00 |0006: return v0 │ │ -027312: 0d00 |0007: move-exception v0 │ │ -027314: 1e01 |0008: monitor-exit v1 │ │ -027316: 2700 |0009: throw v0 │ │ +0272f0: |[0272f0] util.LRUCache.isEmpty:()Z │ │ +027300: 1d01 |0000: monitor-enter v1 │ │ +027302: 6f10 2506 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.isEmpty:()Z // method@0625 │ │ +027308: 0a00 |0004: move-result v0 │ │ +02730a: 1e01 |0005: monitor-exit v1 │ │ +02730c: 0f00 |0006: return v0 │ │ +02730e: 0d00 |0007: move-exception v0 │ │ +027310: 1e01 |0008: monitor-exit v1 │ │ +027312: 2700 |0009: throw v0 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=81 │ │ locals : │ │ 0x0000 - 0x000a reg=1 this Lutil/LRUCache; │ │ @@ -27877,23 +27877,23 @@ │ │ type : '()Ljava/util/Set;' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -02749c: |[02749c] util.LRUCache.keySet:()Ljava/util/Set; │ │ -0274ac: 1d01 |0000: monitor-enter v1 │ │ -0274ae: 6f10 2606 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.keySet:()Ljava/util/Set; // method@0626 │ │ -0274b4: 0c00 |0004: move-result-object v0 │ │ -0274b6: 1e01 |0005: monitor-exit v1 │ │ -0274b8: 1100 |0006: return-object v0 │ │ -0274ba: 0d00 |0007: move-exception v0 │ │ -0274bc: 1e01 |0008: monitor-exit v1 │ │ -0274be: 2700 |0009: throw v0 │ │ +027498: |[027498] util.LRUCache.keySet:()Ljava/util/Set; │ │ +0274a8: 1d01 |0000: monitor-enter v1 │ │ +0274aa: 6f10 2606 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.keySet:()Ljava/util/Set; // method@0626 │ │ +0274b0: 0c00 |0004: move-result-object v0 │ │ +0274b2: 1e01 |0005: monitor-exit v1 │ │ +0274b4: 1100 |0006: return-object v0 │ │ +0274b6: 0d00 |0007: move-exception v0 │ │ +0274b8: 1e01 |0008: monitor-exit v1 │ │ +0274ba: 2700 |0009: throw v0 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=102 │ │ locals : │ │ 0x0000 - 0x000a reg=1 this Lutil/LRUCache; │ │ @@ -27903,23 +27903,23 @@ │ │ type : '(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 10 16-bit code units │ │ -0273dc: |[0273dc] util.LRUCache.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; │ │ -0273ec: 1d00 |0000: monitor-enter v0 │ │ -0273ee: 6f30 2706 1002 |0001: invoke-super {v0, v1, v2}, Ljava/util/LinkedHashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0627 │ │ -0273f4: 0c01 |0004: move-result-object v1 │ │ -0273f6: 1e00 |0005: monitor-exit v0 │ │ -0273f8: 1101 |0006: return-object v1 │ │ -0273fa: 0d01 |0007: move-exception v1 │ │ -0273fc: 1e00 |0008: monitor-exit v0 │ │ -0273fe: 2701 |0009: throw v1 │ │ +0273d8: |[0273d8] util.LRUCache.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; │ │ +0273e8: 1d00 |0000: monitor-enter v0 │ │ +0273ea: 6f30 2706 1002 |0001: invoke-super {v0, v1, v2}, Ljava/util/LinkedHashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0627 │ │ +0273f0: 0c01 |0004: move-result-object v1 │ │ +0273f2: 1e00 |0005: monitor-exit v0 │ │ +0273f4: 1101 |0006: return-object v1 │ │ +0273f6: 0d01 |0007: move-exception v1 │ │ +0273f8: 1e00 |0008: monitor-exit v0 │ │ +0273fa: 2701 |0009: throw v1 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=48 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Lutil/LRUCache; │ │ @@ -27931,22 +27931,22 @@ │ │ type : '(Ljava/util/Map;)V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 9 16-bit code units │ │ -02751c: |[02751c] util.LRUCache.putAll:(Ljava/util/Map;)V │ │ -02752c: 1d00 |0000: monitor-enter v0 │ │ -02752e: 6f20 2806 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.putAll:(Ljava/util/Map;)V // method@0628 │ │ -027534: 1e00 |0004: monitor-exit v0 │ │ -027536: 0e00 |0005: return-void │ │ -027538: 0d01 |0006: move-exception v1 │ │ -02753a: 1e00 |0007: monitor-exit v0 │ │ -02753c: 2701 |0008: throw v1 │ │ +027518: |[027518] util.LRUCache.putAll:(Ljava/util/Map;)V │ │ +027528: 1d00 |0000: monitor-enter v0 │ │ +02752a: 6f20 2806 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.putAll:(Ljava/util/Map;)V // method@0628 │ │ +027530: 1e00 |0004: monitor-exit v0 │ │ +027532: 0e00 |0005: return-void │ │ +027534: 0d01 |0006: move-exception v1 │ │ +027536: 1e00 |0007: monitor-exit v0 │ │ +027538: 2701 |0008: throw v1 │ │ catches : 1 │ │ 0x0001 - 0x0004 │ │ -> 0x0006 │ │ positions : │ │ 0x0001 line=112 │ │ 0x0004 line=113 │ │ locals : │ │ @@ -27958,23 +27958,23 @@ │ │ type : '(Ljava/lang/Object;)Ljava/lang/Object;' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 10 16-bit code units │ │ -02740c: |[02740c] util.LRUCache.remove:(Ljava/lang/Object;)Ljava/lang/Object; │ │ -02741c: 1d00 |0000: monitor-enter v0 │ │ -02741e: 6f20 2906 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@0629 │ │ -027424: 0c01 |0004: move-result-object v1 │ │ -027426: 1e00 |0005: monitor-exit v0 │ │ -027428: 1101 |0006: return-object v1 │ │ -02742a: 0d01 |0007: move-exception v1 │ │ -02742c: 1e00 |0008: monitor-exit v0 │ │ -02742e: 2701 |0009: throw v1 │ │ +027408: |[027408] util.LRUCache.remove:(Ljava/lang/Object;)Ljava/lang/Object; │ │ +027418: 1d00 |0000: monitor-enter v0 │ │ +02741a: 6f20 2906 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@0629 │ │ +027420: 0c01 |0004: move-result-object v1 │ │ +027422: 1e00 |0005: monitor-exit v0 │ │ +027424: 1101 |0006: return-object v1 │ │ +027426: 0d01 |0007: move-exception v1 │ │ +027428: 1e00 |0008: monitor-exit v0 │ │ +02742a: 2701 |0009: throw v1 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=60 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Lutil/LRUCache; │ │ @@ -27985,23 +27985,23 @@ │ │ type : '(Ljava/util/Map$Entry;)Z' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 12 16-bit code units │ │ -027324: |[027324] util.LRUCache.removeEldestEntry:(Ljava/util/Map$Entry;)Z │ │ -027334: 6e10 fc06 0100 |0000: invoke-virtual {v1}, Lutil/LRUCache;.size:()I // method@06fc │ │ -02733a: 0a02 |0003: move-result v2 │ │ -02733c: 5210 5503 |0004: iget v0, v1, Lutil/LRUCache;.MAX_ENTRIES:I // field@0355 │ │ -027340: 3702 0400 |0006: if-le v2, v0, 000a // +0004 │ │ -027344: 1212 |0008: const/4 v2, #int 1 // #1 │ │ -027346: 2802 |0009: goto 000b // +0002 │ │ -027348: 1202 |000a: const/4 v2, #int 0 // #0 │ │ -02734a: 0f02 |000b: return v2 │ │ +027320: |[027320] util.LRUCache.removeEldestEntry:(Ljava/util/Map$Entry;)Z │ │ +027330: 6e10 fc06 0100 |0000: invoke-virtual {v1}, Lutil/LRUCache;.size:()I // method@06fc │ │ +027336: 0a02 |0003: move-result v2 │ │ +027338: 5210 5503 |0004: iget v0, v1, Lutil/LRUCache;.MAX_ENTRIES:I // field@0355 │ │ +02733c: 3702 0400 |0006: if-le v2, v0, 000a // +0004 │ │ +027340: 1212 |0008: const/4 v2, #int 1 // #1 │ │ +027342: 2802 |0009: goto 000b // +0002 │ │ +027344: 1202 |000a: const/4 v2, #int 0 // #0 │ │ +027346: 0f02 |000b: return v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=42 │ │ locals : │ │ 0x0000 - 0x000c reg=1 this Lutil/LRUCache; │ │ 0x0000 - 0x000c reg=2 (null) Ljava/util/Map$Entry; │ │ │ │ @@ -28010,23 +28010,23 @@ │ │ type : '()I' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -02737c: |[02737c] util.LRUCache.size:()I │ │ -02738c: 1d01 |0000: monitor-enter v1 │ │ -02738e: 6f10 2a06 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.size:()I // method@062a │ │ -027394: 0a00 |0004: move-result v0 │ │ -027396: 1e01 |0005: monitor-exit v1 │ │ -027398: 0f00 |0006: return v0 │ │ -02739a: 0d00 |0007: move-exception v0 │ │ -02739c: 1e01 |0008: monitor-exit v1 │ │ -02739e: 2700 |0009: throw v0 │ │ +027378: |[027378] util.LRUCache.size:()I │ │ +027388: 1d01 |0000: monitor-enter v1 │ │ +02738a: 6f10 2a06 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.size:()I // method@062a │ │ +027390: 0a00 |0004: move-result v0 │ │ +027392: 1e01 |0005: monitor-exit v1 │ │ +027394: 0f00 |0006: return v0 │ │ +027396: 0d00 |0007: move-exception v0 │ │ +027398: 1e01 |0008: monitor-exit v1 │ │ +02739a: 2700 |0009: throw v0 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=66 │ │ locals : │ │ 0x0000 - 0x000a reg=1 this Lutil/LRUCache; │ │ @@ -28036,23 +28036,23 @@ │ │ type : '()Ljava/util/Collection;' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -02743c: |[02743c] util.LRUCache.values:()Ljava/util/Collection; │ │ -02744c: 1d01 |0000: monitor-enter v1 │ │ -02744e: 6f10 2b06 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.values:()Ljava/util/Collection; // method@062b │ │ -027454: 0c00 |0004: move-result-object v0 │ │ -027456: 1e01 |0005: monitor-exit v1 │ │ -027458: 1100 |0006: return-object v0 │ │ -02745a: 0d00 |0007: move-exception v0 │ │ -02745c: 1e01 |0008: monitor-exit v1 │ │ -02745e: 2700 |0009: throw v0 │ │ +027438: |[027438] util.LRUCache.values:()Ljava/util/Collection; │ │ +027448: 1d01 |0000: monitor-enter v1 │ │ +02744a: 6f10 2b06 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.values:()Ljava/util/Collection; // method@062b │ │ +027450: 0c00 |0004: move-result-object v0 │ │ +027452: 1e01 |0005: monitor-exit v1 │ │ +027454: 1100 |0006: return-object v0 │ │ +027456: 0d00 |0007: move-exception v0 │ │ +027458: 1e01 |0008: monitor-exit v1 │ │ +02745a: 2700 |0009: throw v0 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=97 │ │ locals : │ │ 0x0000 - 0x000a reg=1 this Lutil/LRUCache; │ │ @@ -28224,34 +28224,34 @@ │ │ type : '(ILutil/ObjectPackagingManager;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 35 16-bit code units │ │ -027b4c: |[027b4c] util.PackedSortedList.:(ILutil/ObjectPackagingManager;)V │ │ -027b5c: 7010 4f05 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@054f │ │ -027b62: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -027b64: 5c20 5c03 |0004: iput-boolean v0, v2, Lutil/PackedSortedList;.loaded:Z // field@035c │ │ -027b68: 1201 |0006: const/4 v1, #int 0 // #0 │ │ -027b6a: 5b21 5a03 |0007: iput-object v1, v2, Lutil/PackedSortedList;.datapack:[B // field@035a │ │ -027b6e: 5920 5903 |0009: iput v0, v2, Lutil/PackedSortedList;.count:I // field@0359 │ │ -027b72: 5b21 5f03 |000b: iput-object v1, v2, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035f │ │ -027b76: 5920 6003 |000d: iput v0, v2, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@0360 │ │ -027b7a: 5b24 5d03 |000f: iput-object v4, v2, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035d │ │ -027b7e: 7210 1007 0400 |0011: invoke-interface {v4}, Lutil/ObjectPackagingManager;.objectSize:()I // method@0710 │ │ -027b84: 0a04 |0014: move-result v4 │ │ -027b86: 5924 5e03 |0015: iput v4, v2, Lutil/PackedSortedList;.object_size:I // field@035e │ │ -027b8a: 9203 0304 |0017: mul-int v3, v3, v4 │ │ -027b8e: 2333 9901 |0019: new-array v3, v3, [B // type@0199 │ │ -027b92: 5b23 5a03 |001b: iput-object v3, v2, Lutil/PackedSortedList;.datapack:[B // field@035a │ │ -027b96: 1213 |001d: const/4 v3, #int 1 // #1 │ │ -027b98: 5c23 5b03 |001e: iput-boolean v3, v2, Lutil/PackedSortedList;.keepInMemory:Z // field@035b │ │ -027b9c: 5c23 5c03 |0020: iput-boolean v3, v2, Lutil/PackedSortedList;.loaded:Z // field@035c │ │ -027ba0: 0e00 |0022: return-void │ │ +027b48: |[027b48] util.PackedSortedList.:(ILutil/ObjectPackagingManager;)V │ │ +027b58: 7010 4f05 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@054f │ │ +027b5e: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +027b60: 5c20 5c03 |0004: iput-boolean v0, v2, Lutil/PackedSortedList;.loaded:Z // field@035c │ │ +027b64: 1201 |0006: const/4 v1, #int 0 // #0 │ │ +027b66: 5b21 5a03 |0007: iput-object v1, v2, Lutil/PackedSortedList;.datapack:[B // field@035a │ │ +027b6a: 5920 5903 |0009: iput v0, v2, Lutil/PackedSortedList;.count:I // field@0359 │ │ +027b6e: 5b21 5f03 |000b: iput-object v1, v2, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035f │ │ +027b72: 5920 6003 |000d: iput v0, v2, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@0360 │ │ +027b76: 5b24 5d03 |000f: iput-object v4, v2, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035d │ │ +027b7a: 7210 1007 0400 |0011: invoke-interface {v4}, Lutil/ObjectPackagingManager;.objectSize:()I // method@0710 │ │ +027b80: 0a04 |0014: move-result v4 │ │ +027b82: 5924 5e03 |0015: iput v4, v2, Lutil/PackedSortedList;.object_size:I // field@035e │ │ +027b86: 9203 0304 |0017: mul-int v3, v3, v4 │ │ +027b8a: 2333 9901 |0019: new-array v3, v3, [B // type@0199 │ │ +027b8e: 5b23 5a03 |001b: iput-object v3, v2, Lutil/PackedSortedList;.datapack:[B // field@035a │ │ +027b92: 1213 |001d: const/4 v3, #int 1 // #1 │ │ +027b94: 5c23 5b03 |001e: iput-boolean v3, v2, Lutil/PackedSortedList;.keepInMemory:Z // field@035b │ │ +027b98: 5c23 5c03 |0020: iput-boolean v3, v2, Lutil/PackedSortedList;.loaded:Z // field@035c │ │ +027b9c: 0e00 |0022: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=52 │ │ 0x0004 line=43 │ │ 0x0007 line=45 │ │ 0x0009 line=46 │ │ 0x000b line=48 │ │ @@ -28271,35 +28271,35 @@ │ │ type : '([BIZLjava/io/File;Lutil/ObjectPackagingManager;)V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 8 │ │ ins : 6 │ │ outs : 1 │ │ insns size : 39 16-bit code units │ │ -027aec: |[027aec] util.PackedSortedList.:([BIZLjava/io/File;Lutil/ObjectPackagingManager;)V │ │ -027afc: 7010 4f05 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@054f │ │ -027b02: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -027b04: 5c20 5c03 |0004: iput-boolean v0, v2, Lutil/PackedSortedList;.loaded:Z // field@035c │ │ -027b08: 1201 |0006: const/4 v1, #int 0 // #0 │ │ -027b0a: 5b21 5a03 |0007: iput-object v1, v2, Lutil/PackedSortedList;.datapack:[B // field@035a │ │ -027b0e: 5920 5903 |0009: iput v0, v2, Lutil/PackedSortedList;.count:I // field@0359 │ │ -027b12: 5b21 5f03 |000b: iput-object v1, v2, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035f │ │ -027b16: 5920 6003 |000d: iput v0, v2, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@0360 │ │ -027b1a: 5b27 5d03 |000f: iput-object v7, v2, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035d │ │ -027b1e: 7210 1007 0700 |0011: invoke-interface {v7}, Lutil/ObjectPackagingManager;.objectSize:()I // method@0710 │ │ -027b24: 0a07 |0014: move-result v7 │ │ -027b26: 5927 5e03 |0015: iput v7, v2, Lutil/PackedSortedList;.object_size:I // field@035e │ │ -027b2a: 5b23 5a03 |0017: iput-object v3, v2, Lutil/PackedSortedList;.datapack:[B // field@035a │ │ -027b2e: 5924 5903 |0019: iput v4, v2, Lutil/PackedSortedList;.count:I // field@0359 │ │ -027b32: 5c25 5b03 |001b: iput-boolean v5, v2, Lutil/PackedSortedList;.keepInMemory:Z // field@035b │ │ -027b36: 5b26 6103 |001d: iput-object v6, v2, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@0361 │ │ -027b3a: 5c20 6203 |001f: iput-boolean v0, v2, Lutil/PackedSortedList;.persistentOutdated:Z // field@0362 │ │ -027b3e: 3805 0500 |0021: if-eqz v5, 0026 // +0005 │ │ -027b42: 7010 2707 0200 |0023: invoke-direct {v2}, Lutil/PackedSortedList;.loadinMemory:()V // method@0727 │ │ -027b48: 0e00 |0026: return-void │ │ +027ae8: |[027ae8] util.PackedSortedList.:([BIZLjava/io/File;Lutil/ObjectPackagingManager;)V │ │ +027af8: 7010 4f05 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@054f │ │ +027afe: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +027b00: 5c20 5c03 |0004: iput-boolean v0, v2, Lutil/PackedSortedList;.loaded:Z // field@035c │ │ +027b04: 1201 |0006: const/4 v1, #int 0 // #0 │ │ +027b06: 5b21 5a03 |0007: iput-object v1, v2, Lutil/PackedSortedList;.datapack:[B // field@035a │ │ +027b0a: 5920 5903 |0009: iput v0, v2, Lutil/PackedSortedList;.count:I // field@0359 │ │ +027b0e: 5b21 5f03 |000b: iput-object v1, v2, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035f │ │ +027b12: 5920 6003 |000d: iput v0, v2, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@0360 │ │ +027b16: 5b27 5d03 |000f: iput-object v7, v2, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035d │ │ +027b1a: 7210 1007 0700 |0011: invoke-interface {v7}, Lutil/ObjectPackagingManager;.objectSize:()I // method@0710 │ │ +027b20: 0a07 |0014: move-result v7 │ │ +027b22: 5927 5e03 |0015: iput v7, v2, Lutil/PackedSortedList;.object_size:I // field@035e │ │ +027b26: 5b23 5a03 |0017: iput-object v3, v2, Lutil/PackedSortedList;.datapack:[B // field@035a │ │ +027b2a: 5924 5903 |0019: iput v4, v2, Lutil/PackedSortedList;.count:I // field@0359 │ │ +027b2e: 5c25 5b03 |001b: iput-boolean v5, v2, Lutil/PackedSortedList;.keepInMemory:Z // field@035b │ │ +027b32: 5b26 6103 |001d: iput-object v6, v2, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@0361 │ │ +027b36: 5c20 6203 |001f: iput-boolean v0, v2, Lutil/PackedSortedList;.persistentOutdated:Z // field@0362 │ │ +027b3a: 3805 0500 |0021: if-eqz v5, 0026 // +0005 │ │ +027b3e: 7010 2707 0200 |0023: invoke-direct {v2}, Lutil/PackedSortedList;.loadinMemory:()V // method@0727 │ │ +027b44: 0e00 |0026: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=60 │ │ 0x0004 line=43 │ │ 0x0007 line=45 │ │ 0x0009 line=46 │ │ 0x000b line=48 │ │ @@ -28325,46 +28325,46 @@ │ │ type : '()V' │ │ access : 0x20002 (PRIVATE DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 59 16-bit code units │ │ -027ba4: |[027ba4] util.PackedSortedList.acquireDataPack:()V │ │ -027bb4: 1a00 ec01 |0000: const-string v0, "Inconsistent state! persistedPackData is null but there are " // string@01ec │ │ -027bb8: 1d03 |0002: monitor-enter v3 │ │ -027bba: 5431 5f03 |0003: iget-object v1, v3, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035f │ │ -027bbe: 3901 2b00 |0005: if-nez v1, 0030 // +002b │ │ -027bc2: 5231 6003 |0007: iget v1, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@0360 │ │ -027bc6: 3c01 0e00 |0009: if-gtz v1, 0017 // +000e │ │ -027bca: 2200 0601 |000b: new-instance v0, Ljava/io/RandomAccessFile; // type@0106 │ │ -027bce: 5431 6103 |000d: iget-object v1, v3, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@0361 │ │ -027bd2: 1a02 a109 |000f: const-string v2, "r" // string@09a1 │ │ -027bd6: 7030 1e05 1002 |0011: invoke-direct {v0, v1, v2}, Ljava/io/RandomAccessFile;.:(Ljava/io/File;Ljava/lang/String;)V // method@051e │ │ -027bdc: 5b30 5f03 |0014: iput-object v0, v3, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035f │ │ -027be0: 281a |0016: goto 0030 // +001a │ │ -027be2: 2201 1801 |0017: new-instance v1, Ljava/lang/IllegalStateException; // type@0118 │ │ -027be6: 2202 2801 |0019: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -027bea: 7020 8405 0200 |001b: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -027bf0: 5230 6003 |001e: iget v0, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@0360 │ │ -027bf4: 6e20 8605 0200 |0020: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -027bfa: 1a00 2300 |0023: const-string v0, " references!" // string@0023 │ │ -027bfe: 6e20 8905 0200 |0025: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -027c04: 6e10 8b05 0200 |0028: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -027c0a: 0c00 |002b: move-result-object v0 │ │ -027c0c: 7020 3d05 0100 |002c: invoke-direct {v1, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ -027c12: 2701 |002f: throw v1 │ │ -027c14: 5230 6003 |0030: iget v0, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@0360 │ │ -027c18: d800 0001 |0032: add-int/lit8 v0, v0, #int 1 // #01 │ │ -027c1c: 5930 6003 |0034: iput v0, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@0360 │ │ -027c20: 1e03 |0036: monitor-exit v3 │ │ -027c22: 0e00 |0037: return-void │ │ -027c24: 0d00 |0038: move-exception v0 │ │ -027c26: 1e03 |0039: monitor-exit v3 │ │ -027c28: 2700 |003a: throw v0 │ │ +027ba0: |[027ba0] util.PackedSortedList.acquireDataPack:()V │ │ +027bb0: 1a00 ec01 |0000: const-string v0, "Inconsistent state! persistedPackData is null but there are " // string@01ec │ │ +027bb4: 1d03 |0002: monitor-enter v3 │ │ +027bb6: 5431 5f03 |0003: iget-object v1, v3, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035f │ │ +027bba: 3901 2b00 |0005: if-nez v1, 0030 // +002b │ │ +027bbe: 5231 6003 |0007: iget v1, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@0360 │ │ +027bc2: 3c01 0e00 |0009: if-gtz v1, 0017 // +000e │ │ +027bc6: 2200 0601 |000b: new-instance v0, Ljava/io/RandomAccessFile; // type@0106 │ │ +027bca: 5431 6103 |000d: iget-object v1, v3, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@0361 │ │ +027bce: 1a02 a109 |000f: const-string v2, "r" // string@09a1 │ │ +027bd2: 7030 1e05 1002 |0011: invoke-direct {v0, v1, v2}, Ljava/io/RandomAccessFile;.:(Ljava/io/File;Ljava/lang/String;)V // method@051e │ │ +027bd8: 5b30 5f03 |0014: iput-object v0, v3, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035f │ │ +027bdc: 281a |0016: goto 0030 // +001a │ │ +027bde: 2201 1801 |0017: new-instance v1, Ljava/lang/IllegalStateException; // type@0118 │ │ +027be2: 2202 2801 |0019: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +027be6: 7020 8405 0200 |001b: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +027bec: 5230 6003 |001e: iget v0, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@0360 │ │ +027bf0: 6e20 8605 0200 |0020: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +027bf6: 1a00 2300 |0023: const-string v0, " references!" // string@0023 │ │ +027bfa: 6e20 8905 0200 |0025: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +027c00: 6e10 8b05 0200 |0028: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +027c06: 0c00 |002b: move-result-object v0 │ │ +027c08: 7020 3d05 0100 |002c: invoke-direct {v1, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ +027c0e: 2701 |002f: throw v1 │ │ +027c10: 5230 6003 |0030: iget v0, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@0360 │ │ +027c14: d800 0001 |0032: add-int/lit8 v0, v0, #int 1 // #01 │ │ +027c18: 5930 6003 |0034: iput v0, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@0360 │ │ +027c1c: 1e03 |0036: monitor-exit v3 │ │ +027c1e: 0e00 |0037: return-void │ │ +027c20: 0d00 |0038: move-exception v0 │ │ +027c22: 1e03 |0039: monitor-exit v3 │ │ +027c24: 2700 |003a: throw v0 │ │ catches : 1 │ │ 0x0003 - 0x0036 │ │ -> 0x0038 │ │ positions : │ │ 0x0003 line=164 │ │ 0x0007 line=165 │ │ 0x000b line=167 │ │ @@ -28379,53 +28379,53 @@ │ │ type : '(ILjava/lang/Object;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 9 │ │ ins : 3 │ │ outs : 5 │ │ insns size : 69 16-bit code units │ │ -027c54: |[027c54] util.PackedSortedList.addInternal:(ILjava/lang/Object;)V │ │ -027c64: 5560 5c03 |0000: iget-boolean v0, v6, Lutil/PackedSortedList;.loaded:Z // field@035c │ │ -027c68: 3900 0500 |0002: if-nez v0, 0007 // +0005 │ │ -027c6c: 7010 2707 0600 |0004: invoke-direct {v6}, Lutil/PackedSortedList;.loadinMemory:()V // method@0727 │ │ -027c72: 5460 5a03 |0007: iget-object v0, v6, Lutil/PackedSortedList;.datapack:[B // field@035a │ │ -027c76: 5261 5903 |0009: iget v1, v6, Lutil/PackedSortedList;.count:I // field@0359 │ │ -027c7a: 2102 |000b: array-length v2, v0 │ │ -027c7c: 5263 5e03 |000c: iget v3, v6, Lutil/PackedSortedList;.object_size:I // field@035e │ │ -027c80: b332 |000e: div-int/2addr v2, v3 │ │ -027c82: 3421 0f00 |000f: if-lt v1, v2, 001e // +000f │ │ -027c86: 2101 |0011: array-length v1, v0 │ │ -027c88: d232 e803 |0012: mul-int/lit16 v2, v3, #int 1000 // #03e8 │ │ -027c8c: b021 |0014: add-int/2addr v1, v2 │ │ -027c8e: 2311 9901 |0015: new-array v1, v1, [B // type@0199 │ │ -027c92: 9203 0307 |0017: mul-int v3, v3, v7 │ │ -027c96: 1202 |0019: const/4 v2, #int 0 // #0 │ │ -027c98: 7153 8c05 2021 |001a: invoke-static {v0, v2, v1, v2, v3}, Ljava/lang/System;.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V // method@058c │ │ -027c9e: 0710 |001d: move-object v0, v1 │ │ -027ca0: 5261 5903 |001e: iget v1, v6, Lutil/PackedSortedList;.count:I // field@0359 │ │ -027ca4: 3217 1100 |0020: if-eq v7, v1, 0031 // +0011 │ │ -027ca8: 5462 5a03 |0022: iget-object v2, v6, Lutil/PackedSortedList;.datapack:[B // field@035a │ │ -027cac: 5263 5e03 |0024: iget v3, v6, Lutil/PackedSortedList;.object_size:I // field@035e │ │ -027cb0: 9204 0703 |0026: mul-int v4, v7, v3 │ │ -027cb4: 9205 0703 |0028: mul-int v5, v7, v3 │ │ -027cb8: b035 |002a: add-int/2addr v5, v3 │ │ -027cba: b171 |002b: sub-int/2addr v1, v7 │ │ -027cbc: 9201 0103 |002c: mul-int v1, v1, v3 │ │ -027cc0: 7151 8c05 4250 |002e: invoke-static {v2, v4, v0, v5, v1}, Ljava/lang/System;.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V // method@058c │ │ -027cc6: 5b60 5a03 |0031: iput-object v0, v6, Lutil/PackedSortedList;.datapack:[B // field@035a │ │ -027cca: 5461 5d03 |0033: iget-object v1, v6, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035d │ │ -027cce: 5262 5e03 |0035: iget v2, v6, Lutil/PackedSortedList;.object_size:I // field@035e │ │ -027cd2: 9207 0702 |0037: mul-int v7, v7, v2 │ │ -027cd6: 7240 1107 8170 |0039: invoke-interface {v1, v8, v0, v7}, Lutil/ObjectPackagingManager;.objectToBytes:(Ljava/lang/Object;[BI)V // method@0711 │ │ -027cdc: 1217 |003c: const/4 v7, #int 1 // #1 │ │ -027cde: 5c67 6203 |003d: iput-boolean v7, v6, Lutil/PackedSortedList;.persistentOutdated:Z // field@0362 │ │ -027ce2: 5268 5903 |003f: iget v8, v6, Lutil/PackedSortedList;.count:I // field@0359 │ │ -027ce6: b078 |0041: add-int/2addr v8, v7 │ │ -027ce8: 5968 5903 |0042: iput v8, v6, Lutil/PackedSortedList;.count:I // field@0359 │ │ -027cec: 0e00 |0044: return-void │ │ +027c50: |[027c50] util.PackedSortedList.addInternal:(ILjava/lang/Object;)V │ │ +027c60: 5560 5c03 |0000: iget-boolean v0, v6, Lutil/PackedSortedList;.loaded:Z // field@035c │ │ +027c64: 3900 0500 |0002: if-nez v0, 0007 // +0005 │ │ +027c68: 7010 2707 0600 |0004: invoke-direct {v6}, Lutil/PackedSortedList;.loadinMemory:()V // method@0727 │ │ +027c6e: 5460 5a03 |0007: iget-object v0, v6, Lutil/PackedSortedList;.datapack:[B // field@035a │ │ +027c72: 5261 5903 |0009: iget v1, v6, Lutil/PackedSortedList;.count:I // field@0359 │ │ +027c76: 2102 |000b: array-length v2, v0 │ │ +027c78: 5263 5e03 |000c: iget v3, v6, Lutil/PackedSortedList;.object_size:I // field@035e │ │ +027c7c: b332 |000e: div-int/2addr v2, v3 │ │ +027c7e: 3421 0f00 |000f: if-lt v1, v2, 001e // +000f │ │ +027c82: 2101 |0011: array-length v1, v0 │ │ +027c84: d232 e803 |0012: mul-int/lit16 v2, v3, #int 1000 // #03e8 │ │ +027c88: b021 |0014: add-int/2addr v1, v2 │ │ +027c8a: 2311 9901 |0015: new-array v1, v1, [B // type@0199 │ │ +027c8e: 9203 0307 |0017: mul-int v3, v3, v7 │ │ +027c92: 1202 |0019: const/4 v2, #int 0 // #0 │ │ +027c94: 7153 8c05 2021 |001a: invoke-static {v0, v2, v1, v2, v3}, Ljava/lang/System;.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V // method@058c │ │ +027c9a: 0710 |001d: move-object v0, v1 │ │ +027c9c: 5261 5903 |001e: iget v1, v6, Lutil/PackedSortedList;.count:I // field@0359 │ │ +027ca0: 3217 1100 |0020: if-eq v7, v1, 0031 // +0011 │ │ +027ca4: 5462 5a03 |0022: iget-object v2, v6, Lutil/PackedSortedList;.datapack:[B // field@035a │ │ +027ca8: 5263 5e03 |0024: iget v3, v6, Lutil/PackedSortedList;.object_size:I // field@035e │ │ +027cac: 9204 0703 |0026: mul-int v4, v7, v3 │ │ +027cb0: 9205 0703 |0028: mul-int v5, v7, v3 │ │ +027cb4: b035 |002a: add-int/2addr v5, v3 │ │ +027cb6: b171 |002b: sub-int/2addr v1, v7 │ │ +027cb8: 9201 0103 |002c: mul-int v1, v1, v3 │ │ +027cbc: 7151 8c05 4250 |002e: invoke-static {v2, v4, v0, v5, v1}, Ljava/lang/System;.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V // method@058c │ │ +027cc2: 5b60 5a03 |0031: iput-object v0, v6, Lutil/PackedSortedList;.datapack:[B // field@035a │ │ +027cc6: 5461 5d03 |0033: iget-object v1, v6, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035d │ │ +027cca: 5262 5e03 |0035: iget v2, v6, Lutil/PackedSortedList;.object_size:I // field@035e │ │ +027cce: 9207 0702 |0037: mul-int v7, v7, v2 │ │ +027cd2: 7240 1107 8170 |0039: invoke-interface {v1, v8, v0, v7}, Lutil/ObjectPackagingManager;.objectToBytes:(Ljava/lang/Object;[BI)V // method@0711 │ │ +027cd8: 1217 |003c: const/4 v7, #int 1 // #1 │ │ +027cda: 5c67 6203 |003d: iput-boolean v7, v6, Lutil/PackedSortedList;.persistentOutdated:Z // field@0362 │ │ +027cde: 5268 5903 |003f: iget v8, v6, Lutil/PackedSortedList;.count:I // field@0359 │ │ +027ce2: b078 |0041: add-int/2addr v8, v7 │ │ +027ce4: 5968 5903 |0042: iput v8, v6, Lutil/PackedSortedList;.count:I // field@0359 │ │ +027ce8: 0e00 |0044: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=93 │ │ 0x0004 line=94 │ │ 0x0007 line=96 │ │ 0x0009 line=97 │ │ 0x0011 line=98 │ │ @@ -28446,18 +28446,18 @@ │ │ type : '(Ljava/lang/Object;)I' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 5 16-bit code units │ │ -027840: |[027840] util.PackedSortedList.binarySearch:(Ljava/lang/Object;)I │ │ -027850: 7120 ff05 1000 |0000: invoke-static {v0, v1}, Ljava/util/Collections;.binarySearch:(Ljava/util/List;Ljava/lang/Object;)I // method@05ff │ │ -027856: 0a01 |0003: move-result v1 │ │ -027858: 0f01 |0004: return v1 │ │ +02783c: |[02783c] util.PackedSortedList.binarySearch:(Ljava/lang/Object;)I │ │ +02784c: 7120 ff05 1000 |0000: invoke-static {v0, v1}, Ljava/util/Collections;.binarySearch:(Ljava/util/List;Ljava/lang/Object;)I // method@05ff │ │ +027852: 0a01 |0003: move-result v1 │ │ +027854: 0f01 |0004: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=74 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 this Lutil/PackedSortedList; │ │ 0x0000 - 0x0005 reg=1 (null) Ljava/lang/Object; │ │ │ │ @@ -28466,45 +28466,45 @@ │ │ type : '(Ljava/lang/String;ZLutil/ObjectPackagingManager;)Lutil/PackedSortedList;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 9 │ │ ins : 3 │ │ outs : 6 │ │ insns size : 58 16-bit code units │ │ -027a68: |[027a68] util.PackedSortedList.load:(Ljava/lang/String;ZLutil/ObjectPackagingManager;)Lutil/PackedSortedList; │ │ -027a78: 2204 f600 |0000: new-instance v4, Ljava/io/File; // type@00f6 │ │ -027a7c: 7020 da04 6400 |0002: invoke-direct {v4, v6}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ -027a82: 6e10 e704 0400 |0005: invoke-virtual {v4}, Ljava/io/File;.length:()J // method@04e7 │ │ -027a88: 0b00 |0008: move-result-wide v0 │ │ -027a8a: 8401 |0009: long-to-int v1, v0 │ │ -027a8c: 6e10 e004 0400 |000a: invoke-virtual {v4}, Ljava/io/File;.exists:()Z // method@04e0 │ │ -027a92: 0a00 |000d: move-result v0 │ │ -027a94: 3800 1800 |000e: if-eqz v0, 0026 // +0018 │ │ -027a98: 6e10 dc04 0400 |0010: invoke-virtual {v4}, Ljava/io/File;.canRead:()Z // method@04dc │ │ -027a9e: 0a00 |0013: move-result v0 │ │ -027aa0: 3800 1200 |0014: if-eqz v0, 0026 // +0012 │ │ -027aa4: 2206 8401 |0016: new-instance v6, Lutil/PackedSortedList; // type@0184 │ │ -027aa8: 7210 1007 0800 |0018: invoke-interface {v8}, Lutil/ObjectPackagingManager;.objectSize:()I // method@0710 │ │ -027aae: 0a00 |001b: move-result v0 │ │ -027ab0: 9302 0100 |001c: div-int v2, v1, v0 │ │ -027ab4: 1201 |001e: const/4 v1, #int 0 // #0 │ │ -027ab6: 0760 |001f: move-object v0, v6 │ │ -027ab8: 0173 |0020: move v3, v7 │ │ -027aba: 0785 |0021: move-object v5, v8 │ │ -027abc: 7606 1307 0000 |0022: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lutil/PackedSortedList;.:([BIZLjava/io/File;Lutil/ObjectPackagingManager;)V // method@0713 │ │ -027ac2: 1106 |0025: return-object v6 │ │ -027ac4: 2207 fb00 |0026: new-instance v7, Ljava/io/IOException; // type@00fb │ │ -027ac8: 2208 2801 |0028: new-instance v8, Ljava/lang/StringBuilder; // type@0128 │ │ -027acc: 1a00 0801 |002a: const-string v0, "Cannot read " // string@0108 │ │ -027ad0: 7020 8405 0800 |002c: invoke-direct {v8, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -027ad6: 6e20 8905 6800 |002f: invoke-virtual {v8, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -027adc: 6e10 8b05 0800 |0032: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -027ae2: 0c06 |0035: move-result-object v6 │ │ -027ae4: 7020 fb04 6700 |0036: invoke-direct {v7, v6}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -027aea: 2707 |0039: throw v7 │ │ +027a64: |[027a64] util.PackedSortedList.load:(Ljava/lang/String;ZLutil/ObjectPackagingManager;)Lutil/PackedSortedList; │ │ +027a74: 2204 f600 |0000: new-instance v4, Ljava/io/File; // type@00f6 │ │ +027a78: 7020 da04 6400 |0002: invoke-direct {v4, v6}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ +027a7e: 6e10 e704 0400 |0005: invoke-virtual {v4}, Ljava/io/File;.length:()J // method@04e7 │ │ +027a84: 0b00 |0008: move-result-wide v0 │ │ +027a86: 8401 |0009: long-to-int v1, v0 │ │ +027a88: 6e10 e004 0400 |000a: invoke-virtual {v4}, Ljava/io/File;.exists:()Z // method@04e0 │ │ +027a8e: 0a00 |000d: move-result v0 │ │ +027a90: 3800 1800 |000e: if-eqz v0, 0026 // +0018 │ │ +027a94: 6e10 dc04 0400 |0010: invoke-virtual {v4}, Ljava/io/File;.canRead:()Z // method@04dc │ │ +027a9a: 0a00 |0013: move-result v0 │ │ +027a9c: 3800 1200 |0014: if-eqz v0, 0026 // +0012 │ │ +027aa0: 2206 8401 |0016: new-instance v6, Lutil/PackedSortedList; // type@0184 │ │ +027aa4: 7210 1007 0800 |0018: invoke-interface {v8}, Lutil/ObjectPackagingManager;.objectSize:()I // method@0710 │ │ +027aaa: 0a00 |001b: move-result v0 │ │ +027aac: 9302 0100 |001c: div-int v2, v1, v0 │ │ +027ab0: 1201 |001e: const/4 v1, #int 0 // #0 │ │ +027ab2: 0760 |001f: move-object v0, v6 │ │ +027ab4: 0173 |0020: move v3, v7 │ │ +027ab6: 0785 |0021: move-object v5, v8 │ │ +027ab8: 7606 1307 0000 |0022: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lutil/PackedSortedList;.:([BIZLjava/io/File;Lutil/ObjectPackagingManager;)V // method@0713 │ │ +027abe: 1106 |0025: return-object v6 │ │ +027ac0: 2207 fb00 |0026: new-instance v7, Ljava/io/IOException; // type@00fb │ │ +027ac4: 2208 2801 |0028: new-instance v8, Ljava/lang/StringBuilder; // type@0128 │ │ +027ac8: 1a00 0801 |002a: const-string v0, "Cannot read " // string@0108 │ │ +027acc: 7020 8405 0800 |002c: invoke-direct {v8, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +027ad2: 6e20 8905 6800 |002f: invoke-virtual {v8, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +027ad8: 6e10 8b05 0800 |0032: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +027ade: 0c06 |0035: move-result-object v6 │ │ +027ae0: 7020 fb04 6700 |0036: invoke-direct {v7, v6}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +027ae6: 2707 |0039: throw v7 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=349 │ │ 0x0005 line=350 │ │ 0x000a line=351 │ │ 0x0016 line=354 │ │ 0x0026 line=352 │ │ @@ -28518,45 +28518,45 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 53 16-bit code units │ │ -027d2c: |[027d2c] util.PackedSortedList.loadinMemory:()V │ │ -027d3c: 2200 f800 |0000: new-instance v0, Ljava/io/FileInputStream; // type@00f8 │ │ -027d40: 5451 6103 |0002: iget-object v1, v5, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@0361 │ │ -027d44: 7020 ed04 1000 |0004: invoke-direct {v0, v1}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@04ed │ │ -027d4a: 5251 5903 |0007: iget v1, v5, Lutil/PackedSortedList;.count:I // field@0359 │ │ -027d4e: 5452 5d03 |0009: iget-object v2, v5, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035d │ │ -027d52: 7210 1007 0200 |000b: invoke-interface {v2}, Lutil/ObjectPackagingManager;.objectSize:()I // method@0710 │ │ -027d58: 0a02 |000e: move-result v2 │ │ -027d5a: 9201 0102 |000f: mul-int v1, v1, v2 │ │ -027d5e: 2312 9901 |0011: new-array v2, v1, [B // type@0199 │ │ -027d62: 5b52 5a03 |0013: iput-object v2, v5, Lutil/PackedSortedList;.datapack:[B // field@035a │ │ -027d66: 1202 |0015: const/4 v2, #int 0 // #0 │ │ -027d68: 5453 5a03 |0016: iget-object v3, v5, Lutil/PackedSortedList;.datapack:[B // field@035a │ │ -027d6c: 9104 0102 |0018: sub-int v4, v1, v2 │ │ -027d70: 6e40 f204 3042 |001a: invoke-virtual {v0, v3, v2, v4}, Ljava/io/FileInputStream;.read:([BII)I // method@04f2 │ │ -027d76: 0a03 |001d: move-result v3 │ │ -027d78: 12f4 |001e: const/4 v4, #int -1 // #ff │ │ -027d7a: 3243 0600 |001f: if-eq v3, v4, 0025 // +0006 │ │ -027d7e: 3212 0400 |0021: if-eq v2, v1, 0025 // +0004 │ │ -027d82: b032 |0023: add-int/2addr v2, v3 │ │ -027d84: 28f2 |0024: goto 0016 // -000e │ │ -027d86: 6e10 f004 0000 |0025: invoke-virtual {v0}, Ljava/io/FileInputStream;.close:()V // method@04f0 │ │ -027d8c: 1210 |0028: const/4 v0, #int 1 // #1 │ │ -027d8e: 5c50 5c03 |0029: iput-boolean v0, v5, Lutil/PackedSortedList;.loaded:Z // field@035c │ │ -027d92: 0e00 |002b: return-void │ │ -027d94: 0d00 |002c: move-exception v0 │ │ -027d96: 2201 1801 |002d: new-instance v1, Ljava/lang/IllegalStateException; // type@0118 │ │ -027d9a: 7020 3e05 0100 |002f: invoke-direct {v1, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/Throwable;)V // method@053e │ │ -027da0: 2802 |0032: goto 0034 // +0002 │ │ -027da2: 2701 |0033: throw v1 │ │ -027da4: 28ff |0034: goto 0033 // -0001 │ │ +027d28: |[027d28] util.PackedSortedList.loadinMemory:()V │ │ +027d38: 2200 f800 |0000: new-instance v0, Ljava/io/FileInputStream; // type@00f8 │ │ +027d3c: 5451 6103 |0002: iget-object v1, v5, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@0361 │ │ +027d40: 7020 ed04 1000 |0004: invoke-direct {v0, v1}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@04ed │ │ +027d46: 5251 5903 |0007: iget v1, v5, Lutil/PackedSortedList;.count:I // field@0359 │ │ +027d4a: 5452 5d03 |0009: iget-object v2, v5, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035d │ │ +027d4e: 7210 1007 0200 |000b: invoke-interface {v2}, Lutil/ObjectPackagingManager;.objectSize:()I // method@0710 │ │ +027d54: 0a02 |000e: move-result v2 │ │ +027d56: 9201 0102 |000f: mul-int v1, v1, v2 │ │ +027d5a: 2312 9901 |0011: new-array v2, v1, [B // type@0199 │ │ +027d5e: 5b52 5a03 |0013: iput-object v2, v5, Lutil/PackedSortedList;.datapack:[B // field@035a │ │ +027d62: 1202 |0015: const/4 v2, #int 0 // #0 │ │ +027d64: 5453 5a03 |0016: iget-object v3, v5, Lutil/PackedSortedList;.datapack:[B // field@035a │ │ +027d68: 9104 0102 |0018: sub-int v4, v1, v2 │ │ +027d6c: 6e40 f204 3042 |001a: invoke-virtual {v0, v3, v2, v4}, Ljava/io/FileInputStream;.read:([BII)I // method@04f2 │ │ +027d72: 0a03 |001d: move-result v3 │ │ +027d74: 12f4 |001e: const/4 v4, #int -1 // #ff │ │ +027d76: 3243 0600 |001f: if-eq v3, v4, 0025 // +0006 │ │ +027d7a: 3212 0400 |0021: if-eq v2, v1, 0025 // +0004 │ │ +027d7e: b032 |0023: add-int/2addr v2, v3 │ │ +027d80: 28f2 |0024: goto 0016 // -000e │ │ +027d82: 6e10 f004 0000 |0025: invoke-virtual {v0}, Ljava/io/FileInputStream;.close:()V // method@04f0 │ │ +027d88: 1210 |0028: const/4 v0, #int 1 // #1 │ │ +027d8a: 5c50 5c03 |0029: iput-boolean v0, v5, Lutil/PackedSortedList;.loaded:Z // field@035c │ │ +027d8e: 0e00 |002b: return-void │ │ +027d90: 0d00 |002c: move-exception v0 │ │ +027d92: 2201 1801 |002d: new-instance v1, Ljava/lang/IllegalStateException; // type@0118 │ │ +027d96: 7020 3e05 0100 |002f: invoke-direct {v1, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/Throwable;)V // method@053e │ │ +027d9c: 2802 |0032: goto 0034 // +0002 │ │ +027d9e: 2701 |0033: throw v1 │ │ +027da0: 28ff |0034: goto 0033 // -0001 │ │ catches : 1 │ │ 0x0000 - 0x002b │ │ Ljava/io/IOException; -> 0x002c │ │ positions : │ │ 0x0000 line=331 │ │ 0x0007 line=332 │ │ 0x0011 line=333 │ │ @@ -28572,41 +28572,41 @@ │ │ type : '()V' │ │ access : 0x20002 (PRIVATE DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 47 16-bit code units │ │ -027e58: |[027e58] util.PackedSortedList.releaseDataPack:()V │ │ -027e68: 1a00 ed01 |0000: const-string v0, "Inconsistent state! persistedPackDataRefs = " // string@01ed │ │ -027e6c: 1d03 |0002: monitor-enter v3 │ │ -027e6e: 5231 6003 |0003: iget v1, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@0360 │ │ -027e72: d801 01ff |0005: add-int/lit8 v1, v1, #int -1 // #ff │ │ -027e76: 5931 6003 |0007: iput v1, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@0360 │ │ -027e7a: 3a01 0d00 |0009: if-ltz v1, 0016 // +000d │ │ -027e7e: 3901 2200 |000b: if-nez v1, 002d // +0022 │ │ -027e82: 5430 5f03 |000d: iget-object v0, v3, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035f │ │ -027e86: 6e10 1f05 0000 |000f: invoke-virtual {v0}, Ljava/io/RandomAccessFile;.close:()V // method@051f │ │ -027e8c: 1200 |0012: const/4 v0, #int 0 // #0 │ │ -027e8e: 5b30 5f03 |0013: iput-object v0, v3, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035f │ │ -027e92: 2818 |0015: goto 002d // +0018 │ │ -027e94: 2201 1801 |0016: new-instance v1, Ljava/lang/IllegalStateException; // type@0118 │ │ -027e98: 2202 2801 |0018: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -027e9c: 7020 8405 0200 |001a: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -027ea2: 5230 6003 |001d: iget v0, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@0360 │ │ -027ea6: 6e20 8605 0200 |001f: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -027eac: 6e10 8b05 0200 |0022: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -027eb2: 0c00 |0025: move-result-object v0 │ │ -027eb4: 7020 3d05 0100 |0026: invoke-direct {v1, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ -027eba: 2701 |0029: throw v1 │ │ -027ebc: 0d00 |002a: move-exception v0 │ │ -027ebe: 1e03 |002b: monitor-exit v3 │ │ -027ec0: 2700 |002c: throw v0 │ │ -027ec2: 1e03 |002d: monitor-exit v3 │ │ -027ec4: 0e00 |002e: return-void │ │ +027e54: |[027e54] util.PackedSortedList.releaseDataPack:()V │ │ +027e64: 1a00 ed01 |0000: const-string v0, "Inconsistent state! persistedPackDataRefs = " // string@01ed │ │ +027e68: 1d03 |0002: monitor-enter v3 │ │ +027e6a: 5231 6003 |0003: iget v1, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@0360 │ │ +027e6e: d801 01ff |0005: add-int/lit8 v1, v1, #int -1 // #ff │ │ +027e72: 5931 6003 |0007: iput v1, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@0360 │ │ +027e76: 3a01 0d00 |0009: if-ltz v1, 0016 // +000d │ │ +027e7a: 3901 2200 |000b: if-nez v1, 002d // +0022 │ │ +027e7e: 5430 5f03 |000d: iget-object v0, v3, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035f │ │ +027e82: 6e10 1f05 0000 |000f: invoke-virtual {v0}, Ljava/io/RandomAccessFile;.close:()V // method@051f │ │ +027e88: 1200 |0012: const/4 v0, #int 0 // #0 │ │ +027e8a: 5b30 5f03 |0013: iput-object v0, v3, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035f │ │ +027e8e: 2818 |0015: goto 002d // +0018 │ │ +027e90: 2201 1801 |0016: new-instance v1, Ljava/lang/IllegalStateException; // type@0118 │ │ +027e94: 2202 2801 |0018: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +027e98: 7020 8405 0200 |001a: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +027e9e: 5230 6003 |001d: iget v0, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@0360 │ │ +027ea2: 6e20 8605 0200 |001f: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +027ea8: 6e10 8b05 0200 |0022: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +027eae: 0c00 |0025: move-result-object v0 │ │ +027eb0: 7020 3d05 0100 |0026: invoke-direct {v1, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ +027eb6: 2701 |0029: throw v1 │ │ +027eb8: 0d00 |002a: move-exception v0 │ │ +027eba: 1e03 |002b: monitor-exit v3 │ │ +027ebc: 2700 |002c: throw v0 │ │ +027ebe: 1e03 |002d: monitor-exit v3 │ │ +027ec0: 0e00 |002e: return-void │ │ catches : 1 │ │ 0x0003 - 0x002a │ │ Ljava/io/IOException; -> 0x002d │ │ -> 0x002a │ │ positions : │ │ 0x0003 line=148 │ │ 0x000d line=153 │ │ @@ -28622,18 +28622,18 @@ │ │ type : '(ILjava/lang/Object;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027c38: |[027c38] util.PackedSortedList.add:(ILjava/lang/Object;)V │ │ -027c48: 2201 2c01 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@012c │ │ -027c4c: 7010 9705 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ -027c52: 2701 |0005: throw v1 │ │ +027c34: |[027c34] util.PackedSortedList.add:(ILjava/lang/Object;)V │ │ +027c44: 2201 2c01 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@012c │ │ +027c48: 7010 9705 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ +027c4e: 2701 |0005: throw v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=113 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lutil/PackedSortedList; │ │ 0x0000 - 0x0006 reg=1 (null) I │ │ 0x0000 - 0x0006 reg=2 (null) Ljava/lang/Object; │ │ @@ -28643,25 +28643,25 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 15 16-bit code units │ │ -0276b4: |[0276b4] util.PackedSortedList.add:(Ljava/lang/Object;)Z │ │ -0276c4: 7020 1a07 3200 |0000: invoke-direct {v2, v3}, Lutil/PackedSortedList;.binarySearch:(Ljava/lang/Object;)I // method@071a │ │ -0276ca: 0a00 |0003: move-result v0 │ │ -0276cc: 1211 |0004: const/4 v1, #int 1 // #1 │ │ -0276ce: b010 |0005: add-int/2addr v0, v1 │ │ -0276d0: 7b00 |0006: neg-int v0, v0 │ │ -0276d2: 3b00 0400 |0007: if-gez v0, 000b // +0004 │ │ -0276d6: 1203 |0009: const/4 v3, #int 0 // #0 │ │ -0276d8: 0f03 |000a: return v3 │ │ -0276da: 7030 1907 0203 |000b: invoke-direct {v2, v0, v3}, Lutil/PackedSortedList;.addInternal:(ILjava/lang/Object;)V // method@0719 │ │ -0276e0: 0f01 |000e: return v1 │ │ +0276b0: |[0276b0] util.PackedSortedList.add:(Ljava/lang/Object;)Z │ │ +0276c0: 7020 1a07 3200 |0000: invoke-direct {v2, v3}, Lutil/PackedSortedList;.binarySearch:(Ljava/lang/Object;)I // method@071a │ │ +0276c6: 0a00 |0003: move-result v0 │ │ +0276c8: 1211 |0004: const/4 v1, #int 1 // #1 │ │ +0276ca: b010 |0005: add-int/2addr v0, v1 │ │ +0276cc: 7b00 |0006: neg-int v0, v0 │ │ +0276ce: 3b00 0400 |0007: if-gez v0, 000b // +0004 │ │ +0276d2: 1203 |0009: const/4 v3, #int 0 // #0 │ │ +0276d4: 0f03 |000a: return v3 │ │ +0276d6: 7030 1907 0203 |000b: invoke-direct {v2, v0, v3}, Lutil/PackedSortedList;.addInternal:(ILjava/lang/Object;)V // method@0719 │ │ +0276dc: 0f01 |000e: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=82 │ │ 0x000b line=86 │ │ locals : │ │ 0x0000 - 0x000f reg=2 this Lutil/PackedSortedList; │ │ 0x0000 - 0x000f reg=3 (null) Ljava/lang/Object; │ │ @@ -28671,18 +28671,18 @@ │ │ type : '(ILjava/util/Collection;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -0276e4: |[0276e4] util.PackedSortedList.addAll:(ILjava/util/Collection;)Z │ │ -0276f4: 2201 2c01 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@012c │ │ -0276f8: 7010 9705 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ -0276fe: 2701 |0005: throw v1 │ │ +0276e0: |[0276e0] util.PackedSortedList.addAll:(ILjava/util/Collection;)Z │ │ +0276f0: 2201 2c01 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@012c │ │ +0276f4: 7010 9705 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ +0276fa: 2701 |0005: throw v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=133 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lutil/PackedSortedList; │ │ 0x0000 - 0x0006 reg=1 (null) I │ │ 0x0000 - 0x0006 reg=2 (null) Ljava/util/Collection; │ │ @@ -28692,26 +28692,26 @@ │ │ type : '(Ljava/util/Collection;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 20 16-bit code units │ │ -027700: |[027700] util.PackedSortedList.addAll:(Ljava/util/Collection;)Z │ │ -027710: 7210 fd05 0200 |0000: invoke-interface {v2}, Ljava/util/Collection;.iterator:()Ljava/util/Iterator; // method@05fd │ │ -027716: 0c02 |0003: move-result-object v2 │ │ -027718: 7210 1b06 0200 |0004: invoke-interface {v2}, Ljava/util/Iterator;.hasNext:()Z // method@061b │ │ -02771e: 0a00 |0007: move-result v0 │ │ -027720: 3800 0a00 |0008: if-eqz v0, 0012 // +000a │ │ -027724: 7210 1c06 0200 |000a: invoke-interface {v2}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@061c │ │ -02772a: 0c00 |000d: move-result-object v0 │ │ -02772c: 6e20 1607 0100 |000e: invoke-virtual {v1, v0}, Lutil/PackedSortedList;.add:(Ljava/lang/Object;)Z // method@0716 │ │ -027732: 28f3 |0011: goto 0004 // -000d │ │ -027734: 1212 |0012: const/4 v2, #int 1 // #1 │ │ -027736: 0f02 |0013: return v2 │ │ +0276fc: |[0276fc] util.PackedSortedList.addAll:(Ljava/util/Collection;)Z │ │ +02770c: 7210 fd05 0200 |0000: invoke-interface {v2}, Ljava/util/Collection;.iterator:()Ljava/util/Iterator; // method@05fd │ │ +027712: 0c02 |0003: move-result-object v2 │ │ +027714: 7210 1b06 0200 |0004: invoke-interface {v2}, Ljava/util/Iterator;.hasNext:()Z // method@061b │ │ +02771a: 0a00 |0007: move-result v0 │ │ +02771c: 3800 0a00 |0008: if-eqz v0, 0012 // +000a │ │ +027720: 7210 1c06 0200 |000a: invoke-interface {v2}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@061c │ │ +027726: 0c00 |000d: move-result-object v0 │ │ +027728: 6e20 1607 0100 |000e: invoke-virtual {v1, v0}, Lutil/PackedSortedList;.add:(Ljava/lang/Object;)Z // method@0716 │ │ +02772e: 28f3 |0011: goto 0004 // -000d │ │ +027730: 1212 |0012: const/4 v2, #int 1 // #1 │ │ +027732: 0f02 |0013: return v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=122 │ │ 0x0004 line=124 │ │ 0x000a line=125 │ │ locals : │ │ 0x0000 - 0x0014 reg=1 this Lutil/PackedSortedList; │ │ @@ -28722,18 +28722,18 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027cf0: |[027cf0] util.PackedSortedList.clear:()V │ │ -027d00: 2200 2c01 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@012c │ │ -027d04: 7010 9705 0000 |0002: invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ -027d0a: 2700 |0005: throw v0 │ │ +027cec: |[027cec] util.PackedSortedList.clear:()V │ │ +027cfc: 2200 2c01 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@012c │ │ +027d00: 7010 9705 0000 |0002: invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ +027d06: 2700 |0005: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=138 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lutil/PackedSortedList; │ │ │ │ #5 : (in Lutil/PackedSortedList;) │ │ @@ -28741,20 +28741,20 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 8 16-bit code units │ │ -027d0c: |[027d0c] util.PackedSortedList.clearAndReleaseAllMemory:()V │ │ -027d1c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -027d1e: 5910 5903 |0001: iput v0, v1, Lutil/PackedSortedList;.count:I // field@0359 │ │ -027d22: 2300 9901 |0003: new-array v0, v0, [B // type@0199 │ │ -027d26: 5b10 5a03 |0005: iput-object v0, v1, Lutil/PackedSortedList;.datapack:[B // field@035a │ │ -027d2a: 0e00 |0007: return-void │ │ +027d08: |[027d08] util.PackedSortedList.clearAndReleaseAllMemory:()V │ │ +027d18: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +027d1a: 5910 5903 |0001: iput v0, v1, Lutil/PackedSortedList;.count:I // field@0359 │ │ +027d1e: 2300 9901 |0003: new-array v0, v0, [B // type@0199 │ │ +027d22: 5b10 5a03 |0005: iput-object v0, v1, Lutil/PackedSortedList;.datapack:[B // field@035a │ │ +027d26: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=358 │ │ 0x0003 line=359 │ │ locals : │ │ 0x0000 - 0x0008 reg=1 this Lutil/PackedSortedList; │ │ │ │ @@ -28763,38 +28763,38 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 39 16-bit code units │ │ -027738: |[027738] util.PackedSortedList.contains:(Ljava/lang/Object;)Z │ │ -027748: 5510 5c03 |0000: iget-boolean v0, v1, Lutil/PackedSortedList;.loaded:Z // field@035c │ │ -02774c: 3900 1a00 |0002: if-nez v0, 001c // +001a │ │ -027750: 7010 1407 0100 |0004: invoke-direct {v1}, Lutil/PackedSortedList;.acquireDataPack:()V // method@0714 │ │ -027756: 7020 1a07 2100 |0007: invoke-direct {v1, v2}, Lutil/PackedSortedList;.binarySearch:(Ljava/lang/Object;)I // method@071a │ │ -02775c: 0a02 |000a: move-result v2 │ │ -02775e: 7010 2907 0100 |000b: invoke-direct {v1}, Lutil/PackedSortedList;.releaseDataPack:()V // method@0729 │ │ -027764: 2812 |000e: goto 0020 // +0012 │ │ -027766: 0d02 |000f: move-exception v2 │ │ -027768: 2808 |0010: goto 0018 // +0008 │ │ -02776a: 0d02 |0011: move-exception v2 │ │ -02776c: 2200 1801 |0012: new-instance v0, Ljava/lang/IllegalStateException; // type@0118 │ │ -027770: 7020 3e05 2000 |0014: invoke-direct {v0, v2}, Ljava/lang/IllegalStateException;.:(Ljava/lang/Throwable;)V // method@053e │ │ -027776: 2700 |0017: throw v0 │ │ -027778: 7010 2907 0100 |0018: invoke-direct {v1}, Lutil/PackedSortedList;.releaseDataPack:()V // method@0729 │ │ -02777e: 2702 |001b: throw v2 │ │ -027780: 7020 1a07 2100 |001c: invoke-direct {v1, v2}, Lutil/PackedSortedList;.binarySearch:(Ljava/lang/Object;)I // method@071a │ │ -027786: 0a02 |001f: move-result v2 │ │ -027788: 12f0 |0020: const/4 v0, #int -1 // #ff │ │ -02778a: 3702 0400 |0021: if-le v2, v0, 0025 // +0004 │ │ -02778e: 1212 |0023: const/4 v2, #int 1 // #1 │ │ -027790: 2802 |0024: goto 0026 // +0002 │ │ -027792: 1202 |0025: const/4 v2, #int 0 // #0 │ │ -027794: 0f02 |0026: return v2 │ │ +027734: |[027734] util.PackedSortedList.contains:(Ljava/lang/Object;)Z │ │ +027744: 5510 5c03 |0000: iget-boolean v0, v1, Lutil/PackedSortedList;.loaded:Z // field@035c │ │ +027748: 3900 1a00 |0002: if-nez v0, 001c // +001a │ │ +02774c: 7010 1407 0100 |0004: invoke-direct {v1}, Lutil/PackedSortedList;.acquireDataPack:()V // method@0714 │ │ +027752: 7020 1a07 2100 |0007: invoke-direct {v1, v2}, Lutil/PackedSortedList;.binarySearch:(Ljava/lang/Object;)I // method@071a │ │ +027758: 0a02 |000a: move-result v2 │ │ +02775a: 7010 2907 0100 |000b: invoke-direct {v1}, Lutil/PackedSortedList;.releaseDataPack:()V // method@0729 │ │ +027760: 2812 |000e: goto 0020 // +0012 │ │ +027762: 0d02 |000f: move-exception v2 │ │ +027764: 2808 |0010: goto 0018 // +0008 │ │ +027766: 0d02 |0011: move-exception v2 │ │ +027768: 2200 1801 |0012: new-instance v0, Ljava/lang/IllegalStateException; // type@0118 │ │ +02776c: 7020 3e05 2000 |0014: invoke-direct {v0, v2}, Ljava/lang/IllegalStateException;.:(Ljava/lang/Throwable;)V // method@053e │ │ +027772: 2700 |0017: throw v0 │ │ +027774: 7010 2907 0100 |0018: invoke-direct {v1}, Lutil/PackedSortedList;.releaseDataPack:()V // method@0729 │ │ +02777a: 2702 |001b: throw v2 │ │ +02777c: 7020 1a07 2100 |001c: invoke-direct {v1, v2}, Lutil/PackedSortedList;.binarySearch:(Ljava/lang/Object;)I // method@071a │ │ +027782: 0a02 |001f: move-result v2 │ │ +027784: 12f0 |0020: const/4 v0, #int -1 // #ff │ │ +027786: 3702 0400 |0021: if-le v2, v0, 0025 // +0004 │ │ +02778a: 1212 |0023: const/4 v2, #int 1 // #1 │ │ +02778c: 2802 |0024: goto 0026 // +0002 │ │ +02778e: 1202 |0025: const/4 v2, #int 0 // #0 │ │ +027790: 0f02 |0026: return v2 │ │ catches : 2 │ │ 0x0004 - 0x000b │ │ Ljava/lang/Exception; -> 0x0011 │ │ -> 0x000f │ │ 0x0012 - 0x0018 │ │ -> 0x000f │ │ positions : │ │ @@ -28815,18 +28815,18 @@ │ │ type : '(Ljava/util/Collection;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -0277b0: |[0277b0] util.PackedSortedList.containsAll:(Ljava/util/Collection;)Z │ │ -0277c0: 2201 2c01 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@012c │ │ -0277c4: 7010 9705 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ -0277ca: 2701 |0005: throw v1 │ │ +0277ac: |[0277ac] util.PackedSortedList.containsAll:(Ljava/util/Collection;)Z │ │ +0277bc: 2201 2c01 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@012c │ │ +0277c0: 7010 9705 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ +0277c6: 2701 |0005: throw v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=194 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lutil/PackedSortedList; │ │ 0x0000 - 0x0006 reg=1 (null) Ljava/util/Collection; │ │ │ │ @@ -28835,56 +28835,56 @@ │ │ type : '(I)Ljava/lang/Object;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 72 16-bit code units │ │ -0278ac: |[0278ac] util.PackedSortedList.get:(I)Ljava/lang/Object; │ │ -0278bc: 5250 5903 |0000: iget v0, v5, Lutil/PackedSortedList;.count:I // field@0359 │ │ -0278c0: 3406 0400 |0002: if-lt v6, v0, 0006 // +0004 │ │ -0278c4: 1206 |0004: const/4 v6, #int 0 // #0 │ │ -0278c6: 1106 |0005: return-object v6 │ │ -0278c8: 5250 5e03 |0006: iget v0, v5, Lutil/PackedSortedList;.object_size:I // field@035e │ │ -0278cc: 9206 0600 |0008: mul-int v6, v6, v0 │ │ -0278d0: 5550 5c03 |000a: iget-boolean v0, v5, Lutil/PackedSortedList;.loaded:Z // field@035c │ │ -0278d4: 3800 0b00 |000c: if-eqz v0, 0017 // +000b │ │ -0278d8: 5450 5d03 |000e: iget-object v0, v5, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035d │ │ -0278dc: 5451 5a03 |0010: iget-object v1, v5, Lutil/PackedSortedList;.datapack:[B // field@035a │ │ -0278e0: 7230 0f07 1006 |0012: invoke-interface {v0, v1, v6}, Lutil/ObjectPackagingManager;.bytesToObject:([BI)Ljava/lang/Object; // method@070f │ │ -0278e6: 0c06 |0015: move-result-object v6 │ │ -0278e8: 1106 |0016: return-object v6 │ │ -0278ea: 7010 1407 0500 |0017: invoke-direct {v5}, Lutil/PackedSortedList;.acquireDataPack:()V // method@0714 │ │ -0278f0: 5250 5e03 |001a: iget v0, v5, Lutil/PackedSortedList;.object_size:I // field@035e │ │ -0278f4: 2300 9901 |001c: new-array v0, v0, [B // type@0199 │ │ -0278f8: 5451 5f03 |001e: iget-object v1, v5, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035f │ │ -0278fc: 1d01 |0020: monitor-enter v1 │ │ -0278fe: 5452 5f03 |0021: iget-object v2, v5, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035f │ │ -027902: 8163 |0023: int-to-long v3, v6 │ │ -027904: 6e30 2105 3204 |0024: invoke-virtual {v2, v3, v4}, Ljava/io/RandomAccessFile;.seek:(J)V // method@0521 │ │ -02790a: 5456 5f03 |0027: iget-object v6, v5, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035f │ │ -02790e: 6e20 2005 0600 |0029: invoke-virtual {v6, v0}, Ljava/io/RandomAccessFile;.readFully:([B)V // method@0520 │ │ -027914: 1e01 |002c: monitor-exit v1 │ │ -027916: 5456 5d03 |002d: iget-object v6, v5, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035d │ │ -02791a: 1201 |002f: const/4 v1, #int 0 // #0 │ │ -02791c: 7230 0f07 0601 |0030: invoke-interface {v6, v0, v1}, Lutil/ObjectPackagingManager;.bytesToObject:([BI)Ljava/lang/Object; // method@070f │ │ -027922: 0c06 |0033: move-result-object v6 │ │ -027924: 7010 2907 0500 |0034: invoke-direct {v5}, Lutil/PackedSortedList;.releaseDataPack:()V // method@0729 │ │ -02792a: 1106 |0037: return-object v6 │ │ -02792c: 0d06 |0038: move-exception v6 │ │ -02792e: 1e01 |0039: monitor-exit v1 │ │ -027930: 2706 |003a: throw v6 │ │ -027932: 0d06 |003b: move-exception v6 │ │ -027934: 2808 |003c: goto 0044 // +0008 │ │ -027936: 0d06 |003d: move-exception v6 │ │ -027938: 2200 1801 |003e: new-instance v0, Ljava/lang/IllegalStateException; // type@0118 │ │ -02793c: 7020 3e05 6000 |0040: invoke-direct {v0, v6}, Ljava/lang/IllegalStateException;.:(Ljava/lang/Throwable;)V // method@053e │ │ -027942: 2700 |0043: throw v0 │ │ -027944: 7010 2907 0500 |0044: invoke-direct {v5}, Lutil/PackedSortedList;.releaseDataPack:()V // method@0729 │ │ -02794a: 2706 |0047: throw v6 │ │ +0278a8: |[0278a8] util.PackedSortedList.get:(I)Ljava/lang/Object; │ │ +0278b8: 5250 5903 |0000: iget v0, v5, Lutil/PackedSortedList;.count:I // field@0359 │ │ +0278bc: 3406 0400 |0002: if-lt v6, v0, 0006 // +0004 │ │ +0278c0: 1206 |0004: const/4 v6, #int 0 // #0 │ │ +0278c2: 1106 |0005: return-object v6 │ │ +0278c4: 5250 5e03 |0006: iget v0, v5, Lutil/PackedSortedList;.object_size:I // field@035e │ │ +0278c8: 9206 0600 |0008: mul-int v6, v6, v0 │ │ +0278cc: 5550 5c03 |000a: iget-boolean v0, v5, Lutil/PackedSortedList;.loaded:Z // field@035c │ │ +0278d0: 3800 0b00 |000c: if-eqz v0, 0017 // +000b │ │ +0278d4: 5450 5d03 |000e: iget-object v0, v5, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035d │ │ +0278d8: 5451 5a03 |0010: iget-object v1, v5, Lutil/PackedSortedList;.datapack:[B // field@035a │ │ +0278dc: 7230 0f07 1006 |0012: invoke-interface {v0, v1, v6}, Lutil/ObjectPackagingManager;.bytesToObject:([BI)Ljava/lang/Object; // method@070f │ │ +0278e2: 0c06 |0015: move-result-object v6 │ │ +0278e4: 1106 |0016: return-object v6 │ │ +0278e6: 7010 1407 0500 |0017: invoke-direct {v5}, Lutil/PackedSortedList;.acquireDataPack:()V // method@0714 │ │ +0278ec: 5250 5e03 |001a: iget v0, v5, Lutil/PackedSortedList;.object_size:I // field@035e │ │ +0278f0: 2300 9901 |001c: new-array v0, v0, [B // type@0199 │ │ +0278f4: 5451 5f03 |001e: iget-object v1, v5, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035f │ │ +0278f8: 1d01 |0020: monitor-enter v1 │ │ +0278fa: 5452 5f03 |0021: iget-object v2, v5, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035f │ │ +0278fe: 8163 |0023: int-to-long v3, v6 │ │ +027900: 6e30 2105 3204 |0024: invoke-virtual {v2, v3, v4}, Ljava/io/RandomAccessFile;.seek:(J)V // method@0521 │ │ +027906: 5456 5f03 |0027: iget-object v6, v5, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035f │ │ +02790a: 6e20 2005 0600 |0029: invoke-virtual {v6, v0}, Ljava/io/RandomAccessFile;.readFully:([B)V // method@0520 │ │ +027910: 1e01 |002c: monitor-exit v1 │ │ +027912: 5456 5d03 |002d: iget-object v6, v5, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035d │ │ +027916: 1201 |002f: const/4 v1, #int 0 // #0 │ │ +027918: 7230 0f07 0601 |0030: invoke-interface {v6, v0, v1}, Lutil/ObjectPackagingManager;.bytesToObject:([BI)Ljava/lang/Object; // method@070f │ │ +02791e: 0c06 |0033: move-result-object v6 │ │ +027920: 7010 2907 0500 |0034: invoke-direct {v5}, Lutil/PackedSortedList;.releaseDataPack:()V // method@0729 │ │ +027926: 1106 |0037: return-object v6 │ │ +027928: 0d06 |0038: move-exception v6 │ │ +02792a: 1e01 |0039: monitor-exit v1 │ │ +02792c: 2706 |003a: throw v6 │ │ +02792e: 0d06 |003b: move-exception v6 │ │ +027930: 2808 |003c: goto 0044 // +0008 │ │ +027932: 0d06 |003d: move-exception v6 │ │ +027934: 2200 1801 |003e: new-instance v0, Ljava/lang/IllegalStateException; // type@0118 │ │ +027938: 7020 3e05 6000 |0040: invoke-direct {v0, v6}, Ljava/lang/IllegalStateException;.:(Ljava/lang/Throwable;)V // method@053e │ │ +02793e: 2700 |0043: throw v0 │ │ +027940: 7010 2907 0500 |0044: invoke-direct {v5}, Lutil/PackedSortedList;.releaseDataPack:()V // method@0729 │ │ +027946: 2706 |0047: throw v6 │ │ catches : 6 │ │ 0x0017 - 0x0021 │ │ Ljava/io/IOException; -> 0x003d │ │ -> 0x003b │ │ 0x0021 - 0x002d │ │ -> 0x0038 │ │ 0x002d - 0x0034 │ │ @@ -28923,18 +28923,18 @@ │ │ type : '(Ljava/lang/Object;)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -02785c: |[02785c] util.PackedSortedList.indexOf:(Ljava/lang/Object;)I │ │ -02786c: 2201 2c01 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@012c │ │ -027870: 7010 9705 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ -027876: 2701 |0005: throw v1 │ │ +027858: |[027858] util.PackedSortedList.indexOf:(Ljava/lang/Object;)I │ │ +027868: 2201 2c01 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@012c │ │ +02786c: 7010 9705 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ +027872: 2701 |0005: throw v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=228 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lutil/PackedSortedList; │ │ 0x0000 - 0x0006 reg=1 (null) Ljava/lang/Object; │ │ │ │ @@ -28943,21 +28943,21 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 8 16-bit code units │ │ -0277cc: |[0277cc] util.PackedSortedList.isEmpty:()Z │ │ -0277dc: 5210 5903 |0000: iget v0, v1, Lutil/PackedSortedList;.count:I // field@0359 │ │ -0277e0: 3900 0400 |0002: if-nez v0, 0006 // +0004 │ │ -0277e4: 1210 |0004: const/4 v0, #int 1 // #1 │ │ -0277e6: 2802 |0005: goto 0007 // +0002 │ │ -0277e8: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -0277ea: 0f00 |0007: return v0 │ │ +0277c8: |[0277c8] util.PackedSortedList.isEmpty:()Z │ │ +0277d8: 5210 5903 |0000: iget v0, v1, Lutil/PackedSortedList;.count:I // field@0359 │ │ +0277dc: 3900 0400 |0002: if-nez v0, 0006 // +0004 │ │ +0277e0: 1210 |0004: const/4 v0, #int 1 // #1 │ │ +0277e2: 2802 |0005: goto 0007 // +0002 │ │ +0277e4: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +0277e6: 0f00 |0007: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=233 │ │ locals : │ │ 0x0000 - 0x0008 reg=1 this Lutil/PackedSortedList; │ │ │ │ #11 : (in Lutil/PackedSortedList;) │ │ @@ -28965,18 +28965,18 @@ │ │ type : '()Ljava/util/Iterator;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -0279f8: |[0279f8] util.PackedSortedList.iterator:()Ljava/util/Iterator; │ │ -027a08: 2200 2c01 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@012c │ │ -027a0c: 7010 9705 0000 |0002: invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ -027a12: 2700 |0005: throw v0 │ │ +0279f4: |[0279f4] util.PackedSortedList.iterator:()Ljava/util/Iterator; │ │ +027a04: 2200 2c01 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@012c │ │ +027a08: 7010 9705 0000 |0002: invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ +027a0e: 2700 |0005: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=238 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lutil/PackedSortedList; │ │ │ │ #12 : (in Lutil/PackedSortedList;) │ │ @@ -28984,18 +28984,18 @@ │ │ type : '(Ljava/lang/Object;)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027878: |[027878] util.PackedSortedList.lastIndexOf:(Ljava/lang/Object;)I │ │ -027888: 2201 2c01 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@012c │ │ -02788c: 7010 9705 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ -027892: 2701 |0005: throw v1 │ │ +027874: |[027874] util.PackedSortedList.lastIndexOf:(Ljava/lang/Object;)I │ │ +027884: 2201 2c01 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@012c │ │ +027888: 7010 9705 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ +02788e: 2701 |0005: throw v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=243 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lutil/PackedSortedList; │ │ 0x0000 - 0x0006 reg=1 (null) Ljava/lang/Object; │ │ │ │ @@ -29004,18 +29004,18 @@ │ │ type : '()Ljava/util/ListIterator;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027a30: |[027a30] util.PackedSortedList.listIterator:()Ljava/util/ListIterator; │ │ -027a40: 2200 2c01 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@012c │ │ -027a44: 7010 9705 0000 |0002: invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ -027a4a: 2700 |0005: throw v0 │ │ +027a2c: |[027a2c] util.PackedSortedList.listIterator:()Ljava/util/ListIterator; │ │ +027a3c: 2200 2c01 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@012c │ │ +027a40: 7010 9705 0000 |0002: invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ +027a46: 2700 |0005: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=248 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lutil/PackedSortedList; │ │ │ │ #14 : (in Lutil/PackedSortedList;) │ │ @@ -29023,18 +29023,18 @@ │ │ type : '(I)Ljava/util/ListIterator;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027a4c: |[027a4c] util.PackedSortedList.listIterator:(I)Ljava/util/ListIterator; │ │ -027a5c: 2201 2c01 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@012c │ │ -027a60: 7010 9705 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ -027a66: 2701 |0005: throw v1 │ │ +027a48: |[027a48] util.PackedSortedList.listIterator:(I)Ljava/util/ListIterator; │ │ +027a58: 2201 2c01 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@012c │ │ +027a5c: 7010 9705 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ +027a62: 2701 |0005: throw v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=253 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lutil/PackedSortedList; │ │ 0x0000 - 0x0006 reg=1 (null) I │ │ │ │ @@ -29043,48 +29043,48 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 66 16-bit code units │ │ -027db8: |[027db8] util.PackedSortedList.persist:(Ljava/lang/String;)V │ │ -027dc8: 5540 6203 |0000: iget-boolean v0, v4, Lutil/PackedSortedList;.persistentOutdated:Z // field@0362 │ │ -027dcc: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -027dce: 3800 3500 |0003: if-eqz v0, 0038 // +0035 │ │ -027dd2: 5540 5c03 |0005: iget-boolean v0, v4, Lutil/PackedSortedList;.loaded:Z // field@035c │ │ -027dd6: 3800 2900 |0007: if-eqz v0, 0030 // +0029 │ │ -027dda: 2200 f600 |0009: new-instance v0, Ljava/io/File; // type@00f6 │ │ -027dde: 7020 da04 5000 |000b: invoke-direct {v0, v5}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ -027de4: 5b40 6103 |000e: iput-object v0, v4, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@0361 │ │ -027de8: 2205 fa00 |0010: new-instance v5, Ljava/io/FileOutputStream; // type@00fa │ │ -027dec: 5440 6103 |0012: iget-object v0, v4, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@0361 │ │ -027df0: 7020 f304 0500 |0014: invoke-direct {v5, v0}, Ljava/io/FileOutputStream;.:(Ljava/io/File;)V // method@04f3 │ │ -027df6: 5440 5a03 |0017: iget-object v0, v4, Lutil/PackedSortedList;.datapack:[B // field@035a │ │ -027dfa: 5242 5903 |0019: iget v2, v4, Lutil/PackedSortedList;.count:I // field@0359 │ │ -027dfe: 5243 5e03 |001b: iget v3, v4, Lutil/PackedSortedList;.object_size:I // field@035e │ │ -027e02: 9202 0203 |001d: mul-int v2, v2, v3 │ │ -027e06: 6e40 fa04 0521 |001f: invoke-virtual {v5, v0, v1, v2}, Ljava/io/FileOutputStream;.write:([BII)V // method@04fa │ │ -027e0c: 6e10 f804 0500 |0022: invoke-virtual {v5}, Ljava/io/FileOutputStream;.flush:()V // method@04f8 │ │ -027e12: 6e10 f704 0500 |0025: invoke-virtual {v5}, Ljava/io/FileOutputStream;.close:()V // method@04f7 │ │ -027e18: 5c41 6203 |0028: iput-boolean v1, v4, Lutil/PackedSortedList;.persistentOutdated:Z // field@0362 │ │ -027e1c: 280e |002a: goto 0038 // +000e │ │ -027e1e: 0d00 |002b: move-exception v0 │ │ -027e20: 6e10 f704 0500 |002c: invoke-virtual {v5}, Ljava/io/FileOutputStream;.close:()V // method@04f7 │ │ -027e26: 2700 |002f: throw v0 │ │ -027e28: 2205 fb00 |0030: new-instance v5, Ljava/io/IOException; // type@00fb │ │ -027e2c: 1a00 0604 |0032: const-string v0, "PackedSortedList can not be persisted when not in memory!" // string@0406 │ │ -027e30: 7020 fb04 0500 |0034: invoke-direct {v5, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -027e36: 2705 |0037: throw v5 │ │ -027e38: 5545 5b03 |0038: iget-boolean v5, v4, Lutil/PackedSortedList;.keepInMemory:Z // field@035b │ │ -027e3c: 3905 0700 |003a: if-nez v5, 0041 // +0007 │ │ -027e40: 1205 |003c: const/4 v5, #int 0 // #0 │ │ -027e42: 5b45 5a03 |003d: iput-object v5, v4, Lutil/PackedSortedList;.datapack:[B // field@035a │ │ -027e46: 5c41 5c03 |003f: iput-boolean v1, v4, Lutil/PackedSortedList;.loaded:Z // field@035c │ │ -027e4a: 0e00 |0041: return-void │ │ +027db4: |[027db4] util.PackedSortedList.persist:(Ljava/lang/String;)V │ │ +027dc4: 5540 6203 |0000: iget-boolean v0, v4, Lutil/PackedSortedList;.persistentOutdated:Z // field@0362 │ │ +027dc8: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +027dca: 3800 3500 |0003: if-eqz v0, 0038 // +0035 │ │ +027dce: 5540 5c03 |0005: iget-boolean v0, v4, Lutil/PackedSortedList;.loaded:Z // field@035c │ │ +027dd2: 3800 2900 |0007: if-eqz v0, 0030 // +0029 │ │ +027dd6: 2200 f600 |0009: new-instance v0, Ljava/io/File; // type@00f6 │ │ +027dda: 7020 da04 5000 |000b: invoke-direct {v0, v5}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ +027de0: 5b40 6103 |000e: iput-object v0, v4, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@0361 │ │ +027de4: 2205 fa00 |0010: new-instance v5, Ljava/io/FileOutputStream; // type@00fa │ │ +027de8: 5440 6103 |0012: iget-object v0, v4, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@0361 │ │ +027dec: 7020 f304 0500 |0014: invoke-direct {v5, v0}, Ljava/io/FileOutputStream;.:(Ljava/io/File;)V // method@04f3 │ │ +027df2: 5440 5a03 |0017: iget-object v0, v4, Lutil/PackedSortedList;.datapack:[B // field@035a │ │ +027df6: 5242 5903 |0019: iget v2, v4, Lutil/PackedSortedList;.count:I // field@0359 │ │ +027dfa: 5243 5e03 |001b: iget v3, v4, Lutil/PackedSortedList;.object_size:I // field@035e │ │ +027dfe: 9202 0203 |001d: mul-int v2, v2, v3 │ │ +027e02: 6e40 fa04 0521 |001f: invoke-virtual {v5, v0, v1, v2}, Ljava/io/FileOutputStream;.write:([BII)V // method@04fa │ │ +027e08: 6e10 f804 0500 |0022: invoke-virtual {v5}, Ljava/io/FileOutputStream;.flush:()V // method@04f8 │ │ +027e0e: 6e10 f704 0500 |0025: invoke-virtual {v5}, Ljava/io/FileOutputStream;.close:()V // method@04f7 │ │ +027e14: 5c41 6203 |0028: iput-boolean v1, v4, Lutil/PackedSortedList;.persistentOutdated:Z // field@0362 │ │ +027e18: 280e |002a: goto 0038 // +000e │ │ +027e1a: 0d00 |002b: move-exception v0 │ │ +027e1c: 6e10 f704 0500 |002c: invoke-virtual {v5}, Ljava/io/FileOutputStream;.close:()V // method@04f7 │ │ +027e22: 2700 |002f: throw v0 │ │ +027e24: 2205 fb00 |0030: new-instance v5, Ljava/io/IOException; // type@00fb │ │ +027e28: 1a00 0604 |0032: const-string v0, "PackedSortedList can not be persisted when not in memory!" // string@0406 │ │ +027e2c: 7020 fb04 0500 |0034: invoke-direct {v5, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +027e32: 2705 |0037: throw v5 │ │ +027e34: 5545 5b03 |0038: iget-boolean v5, v4, Lutil/PackedSortedList;.keepInMemory:Z // field@035b │ │ +027e38: 3905 0700 |003a: if-nez v5, 0041 // +0007 │ │ +027e3c: 1205 |003c: const/4 v5, #int 0 // #0 │ │ +027e3e: 5b45 5a03 |003d: iput-object v5, v4, Lutil/PackedSortedList;.datapack:[B // field@035a │ │ +027e42: 5c41 5c03 |003f: iput-boolean v1, v4, Lutil/PackedSortedList;.loaded:Z // field@035c │ │ +027e46: 0e00 |0041: return-void │ │ catches : 1 │ │ 0x0017 - 0x0025 │ │ -> 0x002b │ │ positions : │ │ 0x0000 line=305 │ │ 0x0005 line=307 │ │ 0x0009 line=310 │ │ @@ -29108,18 +29108,18 @@ │ │ type : '(I)Ljava/lang/Object;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027988: |[027988] util.PackedSortedList.remove:(I)Ljava/lang/Object; │ │ -027998: 2201 2c01 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@012c │ │ -02799c: 7010 9705 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ -0279a2: 2701 |0005: throw v1 │ │ +027984: |[027984] util.PackedSortedList.remove:(I)Ljava/lang/Object; │ │ +027994: 2201 2c01 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@012c │ │ +027998: 7010 9705 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ +02799e: 2701 |0005: throw v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=263 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lutil/PackedSortedList; │ │ 0x0000 - 0x0006 reg=1 (null) I │ │ │ │ @@ -29128,18 +29128,18 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -0277ec: |[0277ec] util.PackedSortedList.remove:(Ljava/lang/Object;)Z │ │ -0277fc: 2201 2c01 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@012c │ │ -027800: 7010 9705 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ -027806: 2701 |0005: throw v1 │ │ +0277e8: |[0277e8] util.PackedSortedList.remove:(Ljava/lang/Object;)Z │ │ +0277f8: 2201 2c01 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@012c │ │ +0277fc: 7010 9705 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ +027802: 2701 |0005: throw v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=258 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lutil/PackedSortedList; │ │ 0x0000 - 0x0006 reg=1 (null) Ljava/lang/Object; │ │ │ │ @@ -29148,18 +29148,18 @@ │ │ type : '(Ljava/util/Collection;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027808: |[027808] util.PackedSortedList.removeAll:(Ljava/util/Collection;)Z │ │ -027818: 2201 2c01 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@012c │ │ -02781c: 7010 9705 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ -027822: 2701 |0005: throw v1 │ │ +027804: |[027804] util.PackedSortedList.removeAll:(Ljava/util/Collection;)Z │ │ +027814: 2201 2c01 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@012c │ │ +027818: 7010 9705 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ +02781e: 2701 |0005: throw v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=268 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lutil/PackedSortedList; │ │ 0x0000 - 0x0006 reg=1 (null) Ljava/util/Collection; │ │ │ │ @@ -29168,18 +29168,18 @@ │ │ type : '(Ljava/util/Collection;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027824: |[027824] util.PackedSortedList.retainAll:(Ljava/util/Collection;)Z │ │ -027834: 2201 2c01 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@012c │ │ -027838: 7010 9705 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ -02783e: 2701 |0005: throw v1 │ │ +027820: |[027820] util.PackedSortedList.retainAll:(Ljava/util/Collection;)Z │ │ +027830: 2201 2c01 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@012c │ │ +027834: 7010 9705 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ +02783a: 2701 |0005: throw v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=273 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lutil/PackedSortedList; │ │ 0x0000 - 0x0006 reg=1 (null) Ljava/util/Collection; │ │ │ │ @@ -29188,18 +29188,18 @@ │ │ type : '(ILjava/lang/Object;)Ljava/lang/Object;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -0279a4: |[0279a4] util.PackedSortedList.set:(ILjava/lang/Object;)Ljava/lang/Object; │ │ -0279b4: 2201 2c01 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@012c │ │ -0279b8: 7010 9705 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ -0279be: 2701 |0005: throw v1 │ │ +0279a0: |[0279a0] util.PackedSortedList.set:(ILjava/lang/Object;)Ljava/lang/Object; │ │ +0279b0: 2201 2c01 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@012c │ │ +0279b4: 7010 9705 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ +0279ba: 2701 |0005: throw v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=278 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lutil/PackedSortedList; │ │ 0x0000 - 0x0006 reg=1 (null) I │ │ 0x0000 - 0x0006 reg=2 (null) Ljava/lang/Object; │ │ @@ -29209,17 +29209,17 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -027894: |[027894] util.PackedSortedList.size:()I │ │ -0278a4: 5210 5903 |0000: iget v0, v1, Lutil/PackedSortedList;.count:I // field@0359 │ │ -0278a8: 0f00 |0002: return v0 │ │ +027890: |[027890] util.PackedSortedList.size:()I │ │ +0278a0: 5210 5903 |0000: iget v0, v1, Lutil/PackedSortedList;.count:I // field@0359 │ │ +0278a4: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=283 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lutil/PackedSortedList; │ │ │ │ #22 : (in Lutil/PackedSortedList;) │ │ @@ -29227,18 +29227,18 @@ │ │ type : '(II)Ljava/util/List;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027a14: |[027a14] util.PackedSortedList.subList:(II)Ljava/util/List; │ │ -027a24: 2201 2c01 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@012c │ │ -027a28: 7010 9705 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ -027a2e: 2701 |0005: throw v1 │ │ +027a10: |[027a10] util.PackedSortedList.subList:(II)Ljava/util/List; │ │ +027a20: 2201 2c01 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@012c │ │ +027a24: 7010 9705 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ +027a2a: 2701 |0005: throw v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=288 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lutil/PackedSortedList; │ │ 0x0000 - 0x0006 reg=1 (null) I │ │ 0x0000 - 0x0006 reg=2 (null) I │ │ @@ -29248,18 +29248,18 @@ │ │ type : '()[Ljava/lang/Object;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -0279c0: |[0279c0] util.PackedSortedList.toArray:()[Ljava/lang/Object; │ │ -0279d0: 2200 2c01 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@012c │ │ -0279d4: 7010 9705 0000 |0002: invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ -0279da: 2700 |0005: throw v0 │ │ +0279bc: |[0279bc] util.PackedSortedList.toArray:()[Ljava/lang/Object; │ │ +0279cc: 2200 2c01 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@012c │ │ +0279d0: 7010 9705 0000 |0002: invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ +0279d6: 2700 |0005: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=293 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lutil/PackedSortedList; │ │ │ │ #24 : (in Lutil/PackedSortedList;) │ │ @@ -29267,18 +29267,18 @@ │ │ type : '([Ljava/lang/Object;)[Ljava/lang/Object;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -0279dc: |[0279dc] util.PackedSortedList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; │ │ -0279ec: 2201 2c01 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@012c │ │ -0279f0: 7010 9705 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ -0279f6: 2701 |0005: throw v1 │ │ +0279d8: |[0279d8] util.PackedSortedList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; │ │ +0279e8: 2201 2c01 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@012c │ │ +0279ec: 7010 9705 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@0597 │ │ +0279f2: 2701 |0005: throw v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=298 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lutil/PackedSortedList; │ │ 0x0000 - 0x0006 reg=1 (null) [Ljava/lang/Object; │ │ │ │ @@ -29339,23 +29339,23 @@ │ │ type : '(Ljava/io/InputStream;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 16 16-bit code units │ │ -028054: |[028054] util.PaddingCipherInputStream.:(Ljava/io/InputStream;)V │ │ -028064: 7010 0105 0100 |0000: invoke-direct {v1}, Ljava/io/InputStream;.:()V // method@0501 │ │ -02806a: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -02806c: 5c10 6403 |0004: iput-boolean v0, v1, Lutil/PaddingCipherInputStream;.eof:Z // field@0364 │ │ -028070: 5c10 6503 |0006: iput-boolean v0, v1, Lutil/PaddingCipherInputStream;.init:Z // field@0365 │ │ -028074: 2200 f300 |0008: new-instance v0, Ljava/io/DataInputStream; // type@00f3 │ │ -028078: 7020 c904 2000 |000a: invoke-direct {v0, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04c9 │ │ -02807e: 5b10 6603 |000d: iput-object v0, v1, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0366 │ │ -028082: 0e00 |000f: return-void │ │ +028050: |[028050] util.PaddingCipherInputStream.:(Ljava/io/InputStream;)V │ │ +028060: 7010 0105 0100 |0000: invoke-direct {v1}, Ljava/io/InputStream;.:()V // method@0501 │ │ +028066: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +028068: 5c10 6403 |0004: iput-boolean v0, v1, Lutil/PaddingCipherInputStream;.eof:Z // field@0364 │ │ +02806c: 5c10 6503 |0006: iput-boolean v0, v1, Lutil/PaddingCipherInputStream;.init:Z // field@0365 │ │ +028070: 2200 f300 |0008: new-instance v0, Ljava/io/DataInputStream; // type@00f3 │ │ +028074: 7020 c904 2000 |000a: invoke-direct {v0, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04c9 │ │ +02807a: 5b10 6603 |000d: iput-object v0, v1, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0366 │ │ +02807e: 0e00 |000f: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=17 │ │ 0x0004 line=13 │ │ 0x0006 line=14 │ │ 0x0008 line=18 │ │ locals : │ │ @@ -29367,42 +29367,42 @@ │ │ type : '()Ljava/io/ByteArrayInputStream;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 50 16-bit code units │ │ -027fc4: |[027fc4] util.PaddingCipherInputStream.getNewBytes:()Ljava/io/ByteArrayInputStream; │ │ -027fd4: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -027fd6: 1201 |0001: const/4 v1, #int 0 // #0 │ │ -027fd8: 5452 6603 |0002: iget-object v2, v5, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0366 │ │ -027fdc: 6e10 cd04 0200 |0004: invoke-virtual {v2}, Ljava/io/DataInputStream;.readInt:()I // method@04cd │ │ -027fe2: 0a02 |0007: move-result v2 │ │ -027fe4: 2323 9901 |0008: new-array v3, v2, [B // type@0199 │ │ -027fe8: 5454 6603 |000a: iget-object v4, v5, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0366 │ │ -027fec: 6e20 cb04 3400 |000c: invoke-virtual {v4, v3}, Ljava/io/DataInputStream;.readFully:([B)V // method@04cb │ │ -027ff2: 3902 0700 |000f: if-nez v2, 0016 // +0007 │ │ -027ff6: 5b51 6303 |0011: iput-object v1, v5, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0363 │ │ -027ffa: 5c50 6403 |0013: iput-boolean v0, v5, Lutil/PaddingCipherInputStream;.eof:Z // field@0364 │ │ -027ffe: 1101 |0015: return-object v1 │ │ -028000: 7110 a406 0300 |0016: invoke-static {v3}, Lutil/Encryption;.decrypt:([B)[B // method@06a4 │ │ -028006: 0c00 |0019: move-result-object v0 │ │ -028008: 2201 f100 |001a: new-instance v1, Ljava/io/ByteArrayInputStream; // type@00f1 │ │ -02800c: 7020 ba04 0100 |001c: invoke-direct {v1, v0}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04ba │ │ -028012: 5b51 6303 |001f: iput-object v1, v5, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0363 │ │ -028016: 1101 |0021: return-object v1 │ │ -028018: 0d00 |0022: move-exception v0 │ │ -02801a: 2201 fb00 |0023: new-instance v1, Ljava/io/IOException; // type@00fb │ │ -02801e: 6e10 3705 0000 |0025: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@0537 │ │ -028024: 0c00 |0028: move-result-object v0 │ │ -028026: 7020 fb04 0100 |0029: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -02802c: 2701 |002c: throw v1 │ │ -02802e: 5c50 6403 |002d: iput-boolean v0, v5, Lutil/PaddingCipherInputStream;.eof:Z // field@0364 │ │ -028032: 5b51 6303 |002f: iput-object v1, v5, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0363 │ │ -028036: 1101 |0031: return-object v1 │ │ +027fc0: |[027fc0] util.PaddingCipherInputStream.getNewBytes:()Ljava/io/ByteArrayInputStream; │ │ +027fd0: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +027fd2: 1201 |0001: const/4 v1, #int 0 // #0 │ │ +027fd4: 5452 6603 |0002: iget-object v2, v5, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0366 │ │ +027fd8: 6e10 cd04 0200 |0004: invoke-virtual {v2}, Ljava/io/DataInputStream;.readInt:()I // method@04cd │ │ +027fde: 0a02 |0007: move-result v2 │ │ +027fe0: 2323 9901 |0008: new-array v3, v2, [B // type@0199 │ │ +027fe4: 5454 6603 |000a: iget-object v4, v5, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0366 │ │ +027fe8: 6e20 cb04 3400 |000c: invoke-virtual {v4, v3}, Ljava/io/DataInputStream;.readFully:([B)V // method@04cb │ │ +027fee: 3902 0700 |000f: if-nez v2, 0016 // +0007 │ │ +027ff2: 5b51 6303 |0011: iput-object v1, v5, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0363 │ │ +027ff6: 5c50 6403 |0013: iput-boolean v0, v5, Lutil/PaddingCipherInputStream;.eof:Z // field@0364 │ │ +027ffa: 1101 |0015: return-object v1 │ │ +027ffc: 7110 a406 0300 |0016: invoke-static {v3}, Lutil/Encryption;.decrypt:([B)[B // method@06a4 │ │ +028002: 0c00 |0019: move-result-object v0 │ │ +028004: 2201 f100 |001a: new-instance v1, Ljava/io/ByteArrayInputStream; // type@00f1 │ │ +028008: 7020 ba04 0100 |001c: invoke-direct {v1, v0}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04ba │ │ +02800e: 5b51 6303 |001f: iput-object v1, v5, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0363 │ │ +028012: 1101 |0021: return-object v1 │ │ +028014: 0d00 |0022: move-exception v0 │ │ +028016: 2201 fb00 |0023: new-instance v1, Ljava/io/IOException; // type@00fb │ │ +02801a: 6e10 3705 0000 |0025: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@0537 │ │ +028020: 0c00 |0028: move-result-object v0 │ │ +028022: 7020 fb04 0100 |0029: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +028028: 2701 |002c: throw v1 │ │ +02802a: 5c50 6403 |002d: iput-boolean v0, v5, Lutil/PaddingCipherInputStream;.eof:Z // field@0364 │ │ +02802e: 5b51 6303 |002f: iput-object v1, v5, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0363 │ │ +028032: 1101 |0031: return-object v1 │ │ catches : 2 │ │ 0x0002 - 0x000f │ │ Ljava/io/EOFException; -> 0x002d │ │ 0x0016 - 0x0021 │ │ Ljava/lang/Exception; -> 0x0022 │ │ positions : │ │ 0x0002 line=92 │ │ @@ -29423,50 +29423,50 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 63 16-bit code units │ │ -0280a0: |[0280a0] util.PaddingCipherInputStream.initRead:()V │ │ -0280b0: 5560 6503 |0000: iget-boolean v0, v6, Lutil/PaddingCipherInputStream;.init:Z // field@0365 │ │ -0280b4: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ -0280b8: 0e00 |0004: return-void │ │ -0280ba: 1210 |0005: const/4 v0, #int 1 // #1 │ │ -0280bc: 5c60 6503 |0006: iput-boolean v0, v6, Lutil/PaddingCipherInputStream;.init:Z // field@0365 │ │ -0280c0: 5461 6603 |0008: iget-object v1, v6, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0366 │ │ -0280c4: 6e10 cd04 0100 |000a: invoke-virtual {v1}, Ljava/io/DataInputStream;.readInt:()I // method@04cd │ │ -0280ca: 0a00 |000d: move-result v0 │ │ -0280cc: 2804 |000e: goto 0012 // +0004 │ │ -0280ce: 5c60 6403 |000f: iput-boolean v0, v6, Lutil/PaddingCipherInputStream;.eof:Z // field@0364 │ │ -0280d2: 12f0 |0011: const/4 v0, #int -1 // #ff │ │ -0280d4: 5561 6403 |0012: iget-boolean v1, v6, Lutil/PaddingCipherInputStream;.eof:Z // field@0364 │ │ -0280d8: 3901 2a00 |0014: if-nez v1, 003e // +002a │ │ -0280dc: 6201 3503 |0016: sget-object v1, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0335 │ │ -0280e0: 2111 |0018: array-length v1, v1 │ │ -0280e2: 1a02 de04 |0019: const-string v2, "Wrong keyphrase!" // string@04de │ │ -0280e6: 3310 1d00 |001b: if-ne v0, v1, 0038 // +001d │ │ -0280ea: 2301 9901 |001d: new-array v1, v0, [B // type@0199 │ │ -0280ee: 5463 6603 |001f: iget-object v3, v6, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0366 │ │ -0280f2: 6e20 cb04 1300 |0021: invoke-virtual {v3, v1}, Ljava/io/DataInputStream;.readFully:([B)V // method@04cb │ │ -0280f8: 1203 |0024: const/4 v3, #int 0 // #0 │ │ -0280fa: 3503 1900 |0025: if-ge v3, v0, 003e // +0019 │ │ -0280fe: 4804 0103 |0027: aget-byte v4, v1, v3 │ │ -028102: 6205 3503 |0029: sget-object v5, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0335 │ │ -028106: 4805 0503 |002b: aget-byte v5, v5, v3 │ │ -02810a: 3354 0500 |002d: if-ne v4, v5, 0032 // +0005 │ │ -02810e: d803 0301 |002f: add-int/lit8 v3, v3, #int 1 // #01 │ │ -028112: 28f4 |0031: goto 0025 // -000c │ │ -028114: 2200 fb00 |0032: new-instance v0, Ljava/io/IOException; // type@00fb │ │ -028118: 7020 fb04 2000 |0034: invoke-direct {v0, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -02811e: 2700 |0037: throw v0 │ │ -028120: 2200 fb00 |0038: new-instance v0, Ljava/io/IOException; // type@00fb │ │ -028124: 7020 fb04 2000 |003a: invoke-direct {v0, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -02812a: 2700 |003d: throw v0 │ │ -02812c: 0e00 |003e: return-void │ │ +02809c: |[02809c] util.PaddingCipherInputStream.initRead:()V │ │ +0280ac: 5560 6503 |0000: iget-boolean v0, v6, Lutil/PaddingCipherInputStream;.init:Z // field@0365 │ │ +0280b0: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ +0280b4: 0e00 |0004: return-void │ │ +0280b6: 1210 |0005: const/4 v0, #int 1 // #1 │ │ +0280b8: 5c60 6503 |0006: iput-boolean v0, v6, Lutil/PaddingCipherInputStream;.init:Z // field@0365 │ │ +0280bc: 5461 6603 |0008: iget-object v1, v6, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0366 │ │ +0280c0: 6e10 cd04 0100 |000a: invoke-virtual {v1}, Ljava/io/DataInputStream;.readInt:()I // method@04cd │ │ +0280c6: 0a00 |000d: move-result v0 │ │ +0280c8: 2804 |000e: goto 0012 // +0004 │ │ +0280ca: 5c60 6403 |000f: iput-boolean v0, v6, Lutil/PaddingCipherInputStream;.eof:Z // field@0364 │ │ +0280ce: 12f0 |0011: const/4 v0, #int -1 // #ff │ │ +0280d0: 5561 6403 |0012: iget-boolean v1, v6, Lutil/PaddingCipherInputStream;.eof:Z // field@0364 │ │ +0280d4: 3901 2a00 |0014: if-nez v1, 003e // +002a │ │ +0280d8: 6201 3503 |0016: sget-object v1, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0335 │ │ +0280dc: 2111 |0018: array-length v1, v1 │ │ +0280de: 1a02 de04 |0019: const-string v2, "Wrong keyphrase!" // string@04de │ │ +0280e2: 3310 1d00 |001b: if-ne v0, v1, 0038 // +001d │ │ +0280e6: 2301 9901 |001d: new-array v1, v0, [B // type@0199 │ │ +0280ea: 5463 6603 |001f: iget-object v3, v6, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0366 │ │ +0280ee: 6e20 cb04 1300 |0021: invoke-virtual {v3, v1}, Ljava/io/DataInputStream;.readFully:([B)V // method@04cb │ │ +0280f4: 1203 |0024: const/4 v3, #int 0 // #0 │ │ +0280f6: 3503 1900 |0025: if-ge v3, v0, 003e // +0019 │ │ +0280fa: 4804 0103 |0027: aget-byte v4, v1, v3 │ │ +0280fe: 6205 3503 |0029: sget-object v5, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0335 │ │ +028102: 4805 0503 |002b: aget-byte v5, v5, v3 │ │ +028106: 3354 0500 |002d: if-ne v4, v5, 0032 // +0005 │ │ +02810a: d803 0301 |002f: add-int/lit8 v3, v3, #int 1 // #01 │ │ +02810e: 28f4 |0031: goto 0025 // -000c │ │ +028110: 2200 fb00 |0032: new-instance v0, Ljava/io/IOException; // type@00fb │ │ +028114: 7020 fb04 2000 |0034: invoke-direct {v0, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +02811a: 2700 |0037: throw v0 │ │ +02811c: 2200 fb00 |0038: new-instance v0, Ljava/io/IOException; // type@00fb │ │ +028120: 7020 fb04 2000 |003a: invoke-direct {v0, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +028126: 2700 |003d: throw v0 │ │ +028128: 0e00 |003e: return-void │ │ catches : 1 │ │ 0x0008 - 0x000e │ │ Ljava/io/EOFException; -> 0x000f │ │ positions : │ │ 0x0000 line=23 │ │ 0x0006 line=27 │ │ 0x0008 line=31 │ │ @@ -29487,22 +29487,22 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 11 16-bit code units │ │ -027ed8: |[027ed8] util.PaddingCipherInputStream.available:()I │ │ -027ee8: 5410 6303 |0000: iget-object v0, v1, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0363 │ │ -027eec: 3800 0700 |0002: if-eqz v0, 0009 // +0007 │ │ -027ef0: 6e10 bc04 0000 |0004: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.available:()I // method@04bc │ │ -027ef6: 0a00 |0007: move-result v0 │ │ -027ef8: 0f00 |0008: return v0 │ │ -027efa: 1200 |0009: const/4 v0, #int 0 // #0 │ │ -027efc: 0f00 |000a: return v0 │ │ +027ed4: |[027ed4] util.PaddingCipherInputStream.available:()I │ │ +027ee4: 5410 6303 |0000: iget-object v0, v1, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0363 │ │ +027ee8: 3800 0700 |0002: if-eqz v0, 0009 // +0007 │ │ +027eec: 6e10 bc04 0000 |0004: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.available:()I // method@04bc │ │ +027ef2: 0a00 |0007: move-result v0 │ │ +027ef4: 0f00 |0008: return v0 │ │ +027ef6: 1200 |0009: const/4 v0, #int 0 // #0 │ │ +027ef8: 0f00 |000a: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=83 │ │ 0x0004 line=84 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Lutil/PaddingCipherInputStream; │ │ │ │ @@ -29511,18 +29511,18 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -028084: |[028084] util.PaddingCipherInputStream.close:()V │ │ -028094: 5410 6603 |0000: iget-object v0, v1, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0366 │ │ -028098: 6e10 ca04 0000 |0002: invoke-virtual {v0}, Ljava/io/DataInputStream;.close:()V // method@04ca │ │ -02809e: 0e00 |0005: return-void │ │ +028080: |[028080] util.PaddingCipherInputStream.close:()V │ │ +028090: 5410 6603 |0000: iget-object v0, v1, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0366 │ │ +028094: 6e10 ca04 0000 |0002: invoke-virtual {v0}, Ljava/io/DataInputStream;.close:()V // method@04ca │ │ +02809a: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=119 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lutil/PaddingCipherInputStream; │ │ │ │ #2 : (in Lutil/PaddingCipherInputStream;) │ │ @@ -29530,36 +29530,36 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 39 16-bit code units │ │ -027f00: |[027f00] util.PaddingCipherInputStream.read:()I │ │ -027f10: 5520 6503 |0000: iget-boolean v0, v2, Lutil/PaddingCipherInputStream;.init:Z // field@0365 │ │ -027f14: 3900 0500 |0002: if-nez v0, 0007 // +0005 │ │ -027f18: 7010 3707 0200 |0004: invoke-direct {v2}, Lutil/PaddingCipherInputStream;.initRead:()V // method@0737 │ │ -027f1e: 5520 6403 |0007: iget-boolean v0, v2, Lutil/PaddingCipherInputStream;.eof:Z // field@0364 │ │ -027f22: 12f1 |0009: const/4 v1, #int -1 // #ff │ │ -027f24: 3800 0300 |000a: if-eqz v0, 000d // +0003 │ │ -027f28: 0f01 |000c: return v1 │ │ -027f2a: 5420 6303 |000d: iget-object v0, v2, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0363 │ │ -027f2e: 3800 0800 |000f: if-eqz v0, 0017 // +0008 │ │ -027f32: 6e10 bc04 0000 |0011: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.available:()I // method@04bc │ │ -027f38: 0a00 |0014: move-result v0 │ │ -027f3a: 3900 0b00 |0015: if-nez v0, 0020 // +000b │ │ -027f3e: 7010 3607 0200 |0017: invoke-direct {v2}, Lutil/PaddingCipherInputStream;.getNewBytes:()Ljava/io/ByteArrayInputStream; // method@0736 │ │ -027f44: 0c00 |001a: move-result-object v0 │ │ -027f46: 5b20 6303 |001b: iput-object v0, v2, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0363 │ │ -027f4a: 3900 0300 |001d: if-nez v0, 0020 // +0003 │ │ -027f4e: 0f01 |001f: return v1 │ │ -027f50: 5420 6303 |0020: iget-object v0, v2, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0363 │ │ -027f54: 6e10 bd04 0000 |0022: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.read:()I // method@04bd │ │ -027f5a: 0a00 |0025: move-result v0 │ │ -027f5c: 0f00 |0026: return v0 │ │ +027efc: |[027efc] util.PaddingCipherInputStream.read:()I │ │ +027f0c: 5520 6503 |0000: iget-boolean v0, v2, Lutil/PaddingCipherInputStream;.init:Z // field@0365 │ │ +027f10: 3900 0500 |0002: if-nez v0, 0007 // +0005 │ │ +027f14: 7010 3707 0200 |0004: invoke-direct {v2}, Lutil/PaddingCipherInputStream;.initRead:()V // method@0737 │ │ +027f1a: 5520 6403 |0007: iget-boolean v0, v2, Lutil/PaddingCipherInputStream;.eof:Z // field@0364 │ │ +027f1e: 12f1 |0009: const/4 v1, #int -1 // #ff │ │ +027f20: 3800 0300 |000a: if-eqz v0, 000d // +0003 │ │ +027f24: 0f01 |000c: return v1 │ │ +027f26: 5420 6303 |000d: iget-object v0, v2, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0363 │ │ +027f2a: 3800 0800 |000f: if-eqz v0, 0017 // +0008 │ │ +027f2e: 6e10 bc04 0000 |0011: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.available:()I // method@04bc │ │ +027f34: 0a00 |0014: move-result v0 │ │ +027f36: 3900 0b00 |0015: if-nez v0, 0020 // +000b │ │ +027f3a: 7010 3607 0200 |0017: invoke-direct {v2}, Lutil/PaddingCipherInputStream;.getNewBytes:()Ljava/io/ByteArrayInputStream; // method@0736 │ │ +027f40: 0c00 |001a: move-result-object v0 │ │ +027f42: 5b20 6303 |001b: iput-object v0, v2, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0363 │ │ +027f46: 3900 0300 |001d: if-nez v0, 0020 // +0003 │ │ +027f4a: 0f01 |001f: return v1 │ │ +027f4c: 5420 6303 |0020: iget-object v0, v2, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0363 │ │ +027f50: 6e10 bd04 0000 |0022: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.read:()I // method@04bd │ │ +027f56: 0a00 |0025: move-result v0 │ │ +027f58: 0f00 |0026: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=50 │ │ 0x0004 line=51 │ │ 0x0007 line=52 │ │ 0x000d line=54 │ │ 0x0017 line=55 │ │ @@ -29572,38 +29572,38 @@ │ │ type : '([BII)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 42 16-bit code units │ │ -027f60: |[027f60] util.PaddingCipherInputStream.read:([BII)I │ │ -027f70: 5530 6503 |0000: iget-boolean v0, v3, Lutil/PaddingCipherInputStream;.init:Z // field@0365 │ │ -027f74: 3900 0500 |0002: if-nez v0, 0007 // +0005 │ │ -027f78: 7010 3707 0300 |0004: invoke-direct {v3}, Lutil/PaddingCipherInputStream;.initRead:()V // method@0737 │ │ -027f7e: 6e10 3407 0300 |0007: invoke-virtual {v3}, Lutil/PaddingCipherInputStream;.available:()I // method@0734 │ │ -027f84: 0a00 |000a: move-result v0 │ │ -027f86: 3800 0900 |000b: if-eqz v0, 0014 // +0009 │ │ -027f8a: 5430 6303 |000d: iget-object v0, v3, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0363 │ │ -027f8e: 6e40 be04 4065 |000f: invoke-virtual {v0, v4, v5, v6}, Ljava/io/ByteArrayInputStream;.read:([BII)I // method@04be │ │ -027f94: 0a04 |0012: move-result v4 │ │ -027f96: 0f04 |0013: return v4 │ │ -027f98: 5530 6403 |0014: iget-boolean v0, v3, Lutil/PaddingCipherInputStream;.eof:Z // field@0364 │ │ -027f9c: 12f1 |0016: const/4 v1, #int -1 // #ff │ │ -027f9e: 3800 0300 |0017: if-eqz v0, 001a // +0003 │ │ -027fa2: 0f01 |0019: return v1 │ │ -027fa4: 7010 3607 0300 |001a: invoke-direct {v3}, Lutil/PaddingCipherInputStream;.getNewBytes:()Ljava/io/ByteArrayInputStream; // method@0736 │ │ -027faa: 0c00 |001d: move-result-object v0 │ │ -027fac: 5b30 6303 |001e: iput-object v0, v3, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0363 │ │ -027fb0: 5532 6403 |0020: iget-boolean v2, v3, Lutil/PaddingCipherInputStream;.eof:Z // field@0364 │ │ -027fb4: 3802 0300 |0022: if-eqz v2, 0025 // +0003 │ │ -027fb8: 0f01 |0024: return v1 │ │ -027fba: 6e40 be04 4065 |0025: invoke-virtual {v0, v4, v5, v6}, Ljava/io/ByteArrayInputStream;.read:([BII)I // method@04be │ │ -027fc0: 0a04 |0028: move-result v4 │ │ -027fc2: 0f04 |0029: return v4 │ │ +027f5c: |[027f5c] util.PaddingCipherInputStream.read:([BII)I │ │ +027f6c: 5530 6503 |0000: iget-boolean v0, v3, Lutil/PaddingCipherInputStream;.init:Z // field@0365 │ │ +027f70: 3900 0500 |0002: if-nez v0, 0007 // +0005 │ │ +027f74: 7010 3707 0300 |0004: invoke-direct {v3}, Lutil/PaddingCipherInputStream;.initRead:()V // method@0737 │ │ +027f7a: 6e10 3407 0300 |0007: invoke-virtual {v3}, Lutil/PaddingCipherInputStream;.available:()I // method@0734 │ │ +027f80: 0a00 |000a: move-result v0 │ │ +027f82: 3800 0900 |000b: if-eqz v0, 0014 // +0009 │ │ +027f86: 5430 6303 |000d: iget-object v0, v3, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0363 │ │ +027f8a: 6e40 be04 4065 |000f: invoke-virtual {v0, v4, v5, v6}, Ljava/io/ByteArrayInputStream;.read:([BII)I // method@04be │ │ +027f90: 0a04 |0012: move-result v4 │ │ +027f92: 0f04 |0013: return v4 │ │ +027f94: 5530 6403 |0014: iget-boolean v0, v3, Lutil/PaddingCipherInputStream;.eof:Z // field@0364 │ │ +027f98: 12f1 |0016: const/4 v1, #int -1 // #ff │ │ +027f9a: 3800 0300 |0017: if-eqz v0, 001a // +0003 │ │ +027f9e: 0f01 |0019: return v1 │ │ +027fa0: 7010 3607 0300 |001a: invoke-direct {v3}, Lutil/PaddingCipherInputStream;.getNewBytes:()Ljava/io/ByteArrayInputStream; // method@0736 │ │ +027fa6: 0c00 |001d: move-result-object v0 │ │ +027fa8: 5b30 6303 |001e: iput-object v0, v3, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0363 │ │ +027fac: 5532 6403 |0020: iget-boolean v2, v3, Lutil/PaddingCipherInputStream;.eof:Z // field@0364 │ │ +027fb0: 3802 0300 |0022: if-eqz v2, 0025 // +0003 │ │ +027fb4: 0f01 |0024: return v1 │ │ +027fb6: 6e40 be04 4065 |0025: invoke-virtual {v0, v4, v5, v6}, Ljava/io/ByteArrayInputStream;.read:([BII)I // method@04be │ │ +027fbc: 0a04 |0028: move-result v4 │ │ +027fbe: 0f04 |0029: return v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=65 │ │ 0x0004 line=66 │ │ 0x0007 line=67 │ │ 0x000d line=68 │ │ 0x0014 line=69 │ │ @@ -29675,23 +29675,23 @@ │ │ type : '(Ljava/io/OutputStream;I)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 2 │ │ insns size : 17 16-bit code units │ │ -028140: |[028140] util.PaddingCipherOutputStream.:(Ljava/io/OutputStream;I)V │ │ -028150: 7010 0e05 0000 |0000: invoke-direct {v0}, Ljava/io/OutputStream;.:()V // method@050e │ │ -028156: 5902 6703 |0003: iput v2, v0, Lutil/PaddingCipherOutputStream;.bufSize:I // field@0367 │ │ -02815a: 5b01 6a03 |0005: iput-object v1, v0, Lutil/PaddingCipherOutputStream;.underlying:Ljava/io/OutputStream; // field@036a │ │ -02815e: 2201 f200 |0007: new-instance v1, Ljava/io/ByteArrayOutputStream; // type@00f2 │ │ -028162: 1302 0004 |0009: const/16 v2, #int 1024 // #400 │ │ -028166: 7020 c004 2100 |000b: invoke-direct {v1, v2}, Ljava/io/ByteArrayOutputStream;.:(I)V // method@04c0 │ │ -02816c: 5b01 6803 |000e: iput-object v1, v0, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0368 │ │ -028170: 0e00 |0010: return-void │ │ +02813c: |[02813c] util.PaddingCipherOutputStream.:(Ljava/io/OutputStream;I)V │ │ +02814c: 7010 0e05 0000 |0000: invoke-direct {v0}, Ljava/io/OutputStream;.:()V // method@050e │ │ +028152: 5902 6703 |0003: iput v2, v0, Lutil/PaddingCipherOutputStream;.bufSize:I // field@0367 │ │ +028156: 5b01 6a03 |0005: iput-object v1, v0, Lutil/PaddingCipherOutputStream;.underlying:Ljava/io/OutputStream; // field@036a │ │ +02815a: 2201 f200 |0007: new-instance v1, Ljava/io/ByteArrayOutputStream; // type@00f2 │ │ +02815e: 1302 0004 |0009: const/16 v2, #int 1024 // #400 │ │ +028162: 7020 c004 2100 |000b: invoke-direct {v1, v2}, Ljava/io/ByteArrayOutputStream;.:(I)V // method@04c0 │ │ +028168: 5b01 6803 |000e: iput-object v1, v0, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0368 │ │ +02816c: 0e00 |0010: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=16 │ │ 0x0003 line=17 │ │ 0x0005 line=18 │ │ 0x0007 line=19 │ │ locals : │ │ @@ -29704,29 +29704,29 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 28 16-bit code units │ │ -0281d0: |[0281d0] util.PaddingCipherOutputStream.init:()V │ │ -0281e0: 5420 6903 |0000: iget-object v0, v2, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0369 │ │ -0281e4: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ -0281e8: 0e00 |0004: return-void │ │ -0281ea: 2200 f400 |0005: new-instance v0, Ljava/io/DataOutputStream; // type@00f4 │ │ -0281ee: 5421 6a03 |0007: iget-object v1, v2, Lutil/PaddingCipherOutputStream;.underlying:Ljava/io/OutputStream; // field@036a │ │ -0281f2: 7020 d004 1000 |0009: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04d0 │ │ -0281f8: 5b20 6903 |000c: iput-object v0, v2, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0369 │ │ -0281fc: 6201 3503 |000e: sget-object v1, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0335 │ │ -028200: 2111 |0010: array-length v1, v1 │ │ -028202: 6e20 d604 1000 |0011: invoke-virtual {v0, v1}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04d6 │ │ -028208: 5420 6903 |0014: iget-object v0, v2, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0369 │ │ -02820c: 6201 3503 |0016: sget-object v1, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0335 │ │ -028210: 6e20 d304 1000 |0018: invoke-virtual {v0, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -028216: 0e00 |001b: return-void │ │ +0281cc: |[0281cc] util.PaddingCipherOutputStream.init:()V │ │ +0281dc: 5420 6903 |0000: iget-object v0, v2, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0369 │ │ +0281e0: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ +0281e4: 0e00 |0004: return-void │ │ +0281e6: 2200 f400 |0005: new-instance v0, Ljava/io/DataOutputStream; // type@00f4 │ │ +0281ea: 5421 6a03 |0007: iget-object v1, v2, Lutil/PaddingCipherOutputStream;.underlying:Ljava/io/OutputStream; // field@036a │ │ +0281ee: 7020 d004 1000 |0009: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04d0 │ │ +0281f4: 5b20 6903 |000c: iput-object v0, v2, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0369 │ │ +0281f8: 6201 3503 |000e: sget-object v1, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0335 │ │ +0281fc: 2111 |0010: array-length v1, v1 │ │ +0281fe: 6e20 d604 1000 |0011: invoke-virtual {v0, v1}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04d6 │ │ +028204: 5420 6903 |0014: iget-object v0, v2, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0369 │ │ +028208: 6201 3503 |0016: sget-object v1, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0335 │ │ +02820c: 6e20 d304 1000 |0018: invoke-virtual {v0, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +028212: 0e00 |001b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=23 │ │ 0x0005 line=26 │ │ 0x000e line=27 │ │ 0x0014 line=28 │ │ locals : │ │ @@ -29738,22 +29738,22 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 17 16-bit code units │ │ -028174: |[028174] util.PaddingCipherOutputStream.close:()V │ │ -028184: 7010 3d07 0100 |0000: invoke-direct {v1}, Lutil/PaddingCipherOutputStream;.init:()V // method@073d │ │ -02818a: 6e10 4107 0100 |0003: invoke-virtual {v1}, Lutil/PaddingCipherOutputStream;.writeNext:()V // method@0741 │ │ -028190: 5410 6903 |0006: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0369 │ │ -028194: 6e10 d204 0000 |0008: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -02819a: 5410 6903 |000b: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0369 │ │ -02819e: 6e10 d104 0000 |000d: invoke-virtual {v0}, Ljava/io/DataOutputStream;.close:()V // method@04d1 │ │ -0281a4: 0e00 |0010: return-void │ │ +028170: |[028170] util.PaddingCipherOutputStream.close:()V │ │ +028180: 7010 3d07 0100 |0000: invoke-direct {v1}, Lutil/PaddingCipherOutputStream;.init:()V // method@073d │ │ +028186: 6e10 4107 0100 |0003: invoke-virtual {v1}, Lutil/PaddingCipherOutputStream;.writeNext:()V // method@0741 │ │ +02818c: 5410 6903 |0006: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0369 │ │ +028190: 6e10 d204 0000 |0008: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +028196: 5410 6903 |000b: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0369 │ │ +02819a: 6e10 d104 0000 |000d: invoke-virtual {v0}, Ljava/io/DataOutputStream;.close:()V // method@04d1 │ │ +0281a0: 0e00 |0010: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=82 │ │ 0x0003 line=83 │ │ 0x0006 line=85 │ │ 0x000b line=86 │ │ locals : │ │ @@ -29764,20 +29764,20 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 12 16-bit code units │ │ -0281a8: |[0281a8] util.PaddingCipherOutputStream.flush:()V │ │ -0281b8: 7010 3d07 0100 |0000: invoke-direct {v1}, Lutil/PaddingCipherOutputStream;.init:()V // method@073d │ │ -0281be: 6e10 4107 0100 |0003: invoke-virtual {v1}, Lutil/PaddingCipherOutputStream;.writeNext:()V // method@0741 │ │ -0281c4: 5410 6903 |0006: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0369 │ │ -0281c8: 6e10 d204 0000 |0008: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -0281ce: 0e00 |000b: return-void │ │ +0281a4: |[0281a4] util.PaddingCipherOutputStream.flush:()V │ │ +0281b4: 7010 3d07 0100 |0000: invoke-direct {v1}, Lutil/PaddingCipherOutputStream;.init:()V // method@073d │ │ +0281ba: 6e10 4107 0100 |0003: invoke-virtual {v1}, Lutil/PaddingCipherOutputStream;.writeNext:()V // method@0741 │ │ +0281c0: 5410 6903 |0006: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0369 │ │ +0281c4: 6e10 d204 0000 |0008: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +0281ca: 0e00 |000b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=57 │ │ 0x0003 line=58 │ │ 0x0006 line=59 │ │ locals : │ │ 0x0000 - 0x000c reg=1 this Lutil/PaddingCipherOutputStream; │ │ @@ -29787,27 +29787,27 @@ │ │ type : '(I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 27 16-bit code units │ │ -02827c: |[02827c] util.PaddingCipherOutputStream.write:(I)V │ │ -02828c: 7010 3d07 0100 |0000: invoke-direct {v1}, Lutil/PaddingCipherOutputStream;.init:()V // method@073d │ │ -028292: 5410 6803 |0003: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0368 │ │ -028296: 6e20 c604 2000 |0005: invoke-virtual {v0, v2}, Ljava/io/ByteArrayOutputStream;.write:(I)V // method@04c6 │ │ -02829c: 5412 6803 |0008: iget-object v2, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0368 │ │ -0282a0: 6e10 c204 0200 |000a: invoke-virtual {v2}, Ljava/io/ByteArrayOutputStream;.flush:()V // method@04c2 │ │ -0282a6: 5412 6803 |000d: iget-object v2, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0368 │ │ -0282aa: 6e10 c404 0200 |000f: invoke-virtual {v2}, Ljava/io/ByteArrayOutputStream;.size:()I // method@04c4 │ │ -0282b0: 0a02 |0012: move-result v2 │ │ -0282b2: 5210 6703 |0013: iget v0, v1, Lutil/PaddingCipherOutputStream;.bufSize:I // field@0367 │ │ -0282b6: 3402 0500 |0015: if-lt v2, v0, 001a // +0005 │ │ -0282ba: 6e10 4107 0100 |0017: invoke-virtual {v1}, Lutil/PaddingCipherOutputStream;.writeNext:()V // method@0741 │ │ -0282c0: 0e00 |001a: return-void │ │ +028278: |[028278] util.PaddingCipherOutputStream.write:(I)V │ │ +028288: 7010 3d07 0100 |0000: invoke-direct {v1}, Lutil/PaddingCipherOutputStream;.init:()V // method@073d │ │ +02828e: 5410 6803 |0003: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0368 │ │ +028292: 6e20 c604 2000 |0005: invoke-virtual {v0, v2}, Ljava/io/ByteArrayOutputStream;.write:(I)V // method@04c6 │ │ +028298: 5412 6803 |0008: iget-object v2, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0368 │ │ +02829c: 6e10 c204 0200 |000a: invoke-virtual {v2}, Ljava/io/ByteArrayOutputStream;.flush:()V // method@04c2 │ │ +0282a2: 5412 6803 |000d: iget-object v2, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0368 │ │ +0282a6: 6e10 c404 0200 |000f: invoke-virtual {v2}, Ljava/io/ByteArrayOutputStream;.size:()I // method@04c4 │ │ +0282ac: 0a02 |0012: move-result v2 │ │ +0282ae: 5210 6703 |0013: iget v0, v1, Lutil/PaddingCipherOutputStream;.bufSize:I // field@0367 │ │ +0282b2: 3402 0500 |0015: if-lt v2, v0, 001a // +0005 │ │ +0282b6: 6e10 4107 0100 |0017: invoke-virtual {v1}, Lutil/PaddingCipherOutputStream;.writeNext:()V // method@0741 │ │ +0282bc: 0e00 |001a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=34 │ │ 0x0003 line=35 │ │ 0x0008 line=36 │ │ 0x000d line=37 │ │ 0x0017 line=38 │ │ @@ -29820,19 +29820,19 @@ │ │ type : '([B)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 6 16-bit code units │ │ -028218: |[028218] util.PaddingCipherOutputStream.write:([B)V │ │ -028228: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02822a: 2131 |0001: array-length v1, v3 │ │ -02822c: 6e40 4007 3210 |0002: invoke-virtual {v2, v3, v0, v1}, Lutil/PaddingCipherOutputStream;.write:([BII)V // method@0740 │ │ -028232: 0e00 |0005: return-void │ │ +028214: |[028214] util.PaddingCipherOutputStream.write:([B)V │ │ +028224: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +028226: 2131 |0001: array-length v1, v3 │ │ +028228: 6e40 4007 3210 |0002: invoke-virtual {v2, v3, v0, v1}, Lutil/PaddingCipherOutputStream;.write:([BII)V // method@0740 │ │ +02822e: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=52 │ │ locals : │ │ 0x0000 - 0x0006 reg=2 this Lutil/PaddingCipherOutputStream; │ │ 0x0000 - 0x0006 reg=3 (null) [B │ │ │ │ @@ -29841,27 +29841,27 @@ │ │ type : '([BII)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 27 16-bit code units │ │ -028234: |[028234] util.PaddingCipherOutputStream.write:([BII)V │ │ -028244: 7010 3d07 0100 |0000: invoke-direct {v1}, Lutil/PaddingCipherOutputStream;.init:()V // method@073d │ │ -02824a: 5410 6803 |0003: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0368 │ │ -02824e: 6e40 c804 2043 |0005: invoke-virtual {v0, v2, v3, v4}, Ljava/io/ByteArrayOutputStream;.write:([BII)V // method@04c8 │ │ -028254: 5412 6803 |0008: iget-object v2, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0368 │ │ -028258: 6e10 c204 0200 |000a: invoke-virtual {v2}, Ljava/io/ByteArrayOutputStream;.flush:()V // method@04c2 │ │ -02825e: 5412 6803 |000d: iget-object v2, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0368 │ │ -028262: 6e10 c404 0200 |000f: invoke-virtual {v2}, Ljava/io/ByteArrayOutputStream;.size:()I // method@04c4 │ │ -028268: 0a02 |0012: move-result v2 │ │ -02826a: 5213 6703 |0013: iget v3, v1, Lutil/PaddingCipherOutputStream;.bufSize:I // field@0367 │ │ -02826e: 3432 0500 |0015: if-lt v2, v3, 001a // +0005 │ │ -028272: 6e10 4107 0100 |0017: invoke-virtual {v1}, Lutil/PaddingCipherOutputStream;.writeNext:()V // method@0741 │ │ -028278: 0e00 |001a: return-void │ │ +028230: |[028230] util.PaddingCipherOutputStream.write:([BII)V │ │ +028240: 7010 3d07 0100 |0000: invoke-direct {v1}, Lutil/PaddingCipherOutputStream;.init:()V // method@073d │ │ +028246: 5410 6803 |0003: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0368 │ │ +02824a: 6e40 c804 2043 |0005: invoke-virtual {v0, v2, v3, v4}, Ljava/io/ByteArrayOutputStream;.write:([BII)V // method@04c8 │ │ +028250: 5412 6803 |0008: iget-object v2, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0368 │ │ +028254: 6e10 c204 0200 |000a: invoke-virtual {v2}, Ljava/io/ByteArrayOutputStream;.flush:()V // method@04c2 │ │ +02825a: 5412 6803 |000d: iget-object v2, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0368 │ │ +02825e: 6e10 c404 0200 |000f: invoke-virtual {v2}, Ljava/io/ByteArrayOutputStream;.size:()I // method@04c4 │ │ +028264: 0a02 |0012: move-result v2 │ │ +028266: 5213 6703 |0013: iget v3, v1, Lutil/PaddingCipherOutputStream;.bufSize:I // field@0367 │ │ +02826a: 3432 0500 |0015: if-lt v2, v3, 001a // +0005 │ │ +02826e: 6e10 4107 0100 |0017: invoke-virtual {v1}, Lutil/PaddingCipherOutputStream;.writeNext:()V // method@0741 │ │ +028274: 0e00 |001a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=43 │ │ 0x0003 line=44 │ │ 0x0008 line=45 │ │ 0x000d line=46 │ │ 0x0017 line=47 │ │ @@ -29876,43 +29876,43 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 54 16-bit code units │ │ -0282c4: |[0282c4] util.PaddingCipherOutputStream.writeNext:()V │ │ -0282d4: 5430 6803 |0000: iget-object v0, v3, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0368 │ │ -0282d8: 6e10 c204 0000 |0002: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.flush:()V // method@04c2 │ │ -0282de: 5430 6803 |0005: iget-object v0, v3, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0368 │ │ -0282e2: 6e10 c404 0000 |0007: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.size:()I // method@04c4 │ │ -0282e8: 0a00 |000a: move-result v0 │ │ -0282ea: 3900 0300 |000b: if-nez v0, 000e // +0003 │ │ -0282ee: 0e00 |000d: return-void │ │ -0282f0: 5430 6803 |000e: iget-object v0, v3, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0368 │ │ -0282f4: 6e10 c504 0000 |0010: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.toByteArray:()[B // method@04c5 │ │ -0282fa: 0c00 |0013: move-result-object v0 │ │ -0282fc: 5431 6803 |0014: iget-object v1, v3, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0368 │ │ -028300: 6e10 c304 0100 |0016: invoke-virtual {v1}, Ljava/io/ByteArrayOutputStream;.reset:()V // method@04c3 │ │ -028306: 7110 a506 0000 |0019: invoke-static {v0}, Lutil/Encryption;.encrypt:([B)[B // method@06a5 │ │ -02830c: 0c00 |001c: move-result-object v0 │ │ -02830e: 5431 6903 |001d: iget-object v1, v3, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0369 │ │ -028312: 2102 |001f: array-length v2, v0 │ │ -028314: 6e20 d604 2100 |0020: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04d6 │ │ -02831a: 5431 6903 |0023: iget-object v1, v3, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0369 │ │ -02831e: 6e20 d304 0100 |0025: invoke-virtual {v1, v0}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -028324: 0e00 |0028: return-void │ │ -028326: 0d00 |0029: move-exception v0 │ │ -028328: 2201 fb00 |002a: new-instance v1, Ljava/io/IOException; // type@00fb │ │ -02832c: 6e10 3705 0000 |002c: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@0537 │ │ -028332: 0c00 |002f: move-result-object v0 │ │ -028334: 7020 fb04 0100 |0030: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -02833a: 2701 |0033: throw v1 │ │ -02833c: 0d00 |0034: move-exception v0 │ │ -02833e: 2700 |0035: throw v0 │ │ +0282c0: |[0282c0] util.PaddingCipherOutputStream.writeNext:()V │ │ +0282d0: 5430 6803 |0000: iget-object v0, v3, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0368 │ │ +0282d4: 6e10 c204 0000 |0002: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.flush:()V // method@04c2 │ │ +0282da: 5430 6803 |0005: iget-object v0, v3, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0368 │ │ +0282de: 6e10 c404 0000 |0007: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.size:()I // method@04c4 │ │ +0282e4: 0a00 |000a: move-result v0 │ │ +0282e6: 3900 0300 |000b: if-nez v0, 000e // +0003 │ │ +0282ea: 0e00 |000d: return-void │ │ +0282ec: 5430 6803 |000e: iget-object v0, v3, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0368 │ │ +0282f0: 6e10 c504 0000 |0010: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.toByteArray:()[B // method@04c5 │ │ +0282f6: 0c00 |0013: move-result-object v0 │ │ +0282f8: 5431 6803 |0014: iget-object v1, v3, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0368 │ │ +0282fc: 6e10 c304 0100 |0016: invoke-virtual {v1}, Ljava/io/ByteArrayOutputStream;.reset:()V // method@04c3 │ │ +028302: 7110 a506 0000 |0019: invoke-static {v0}, Lutil/Encryption;.encrypt:([B)[B // method@06a5 │ │ +028308: 0c00 |001c: move-result-object v0 │ │ +02830a: 5431 6903 |001d: iget-object v1, v3, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0369 │ │ +02830e: 2102 |001f: array-length v2, v0 │ │ +028310: 6e20 d604 2100 |0020: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04d6 │ │ +028316: 5431 6903 |0023: iget-object v1, v3, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0369 │ │ +02831a: 6e20 d304 0100 |0025: invoke-virtual {v1, v0}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +028320: 0e00 |0028: return-void │ │ +028322: 0d00 |0029: move-exception v0 │ │ +028324: 2201 fb00 |002a: new-instance v1, Ljava/io/IOException; // type@00fb │ │ +028328: 6e10 3705 0000 |002c: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@0537 │ │ +02832e: 0c00 |002f: move-result-object v0 │ │ +028330: 7020 fb04 0100 |0030: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +028336: 2701 |0033: throw v1 │ │ +028338: 0d00 |0034: move-exception v0 │ │ +02833a: 2700 |0035: throw v0 │ │ catches : 1 │ │ 0x0019 - 0x0028 │ │ Ljava/io/IOException; -> 0x0034 │ │ Ljava/lang/Exception; -> 0x0029 │ │ positions : │ │ 0x0000 line=63 │ │ 0x0005 line=64 │ │ @@ -29998,30 +29998,30 @@ │ │ type : '(Lutil/PatternSequence;Ljava/lang/String;Ljava/lang/Object;)V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 5 │ │ ins : 4 │ │ outs : 3 │ │ insns size : 28 16-bit code units │ │ -0284c0: |[0284c0] util.PatternSequence$Pattern.:(Lutil/PatternSequence;Ljava/lang/String;Ljava/lang/Object;)V │ │ -0284d0: 5b12 6d03 |0000: iput-object v2, v1, Lutil/PatternSequence$Pattern;.this$0:Lutil/PatternSequence; // field@036d │ │ -0284d4: 7010 4f05 0100 |0002: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@054f │ │ -0284da: 1a02 0a05 |0005: const-string v2, "\*" // string@050a │ │ -0284de: 12f0 |0007: const/4 v0, #int -1 // #ff │ │ -0284e0: 6e30 7405 2300 |0008: invoke-virtual {v3, v2, v0}, Ljava/lang/String;.split:(Ljava/lang/String;I)[Ljava/lang/String; // method@0574 │ │ -0284e6: 0c02 |000b: move-result-object v2 │ │ -0284e8: 5b12 6c03 |000c: iput-object v2, v1, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@036c │ │ -0284ec: 5b14 6e03 |000e: iput-object v4, v1, Lutil/PatternSequence$Pattern;.value:Ljava/lang/Object; // field@036e │ │ -0284f0: 6e10 6a05 0300 |0010: invoke-virtual {v3}, Ljava/lang/String;.hashCode:()I // method@056a │ │ -0284f6: 0a02 |0013: move-result v2 │ │ -0284f8: 6e10 5205 0400 |0014: invoke-virtual {v4}, Ljava/lang/Object;.hashCode:()I // method@0552 │ │ -0284fe: 0a03 |0017: move-result v3 │ │ -028500: b032 |0018: add-int/2addr v2, v3 │ │ -028502: 5912 6b03 |0019: iput v2, v1, Lutil/PatternSequence$Pattern;.hashcode:I // field@036b │ │ -028506: 0e00 |001b: return-void │ │ +0284bc: |[0284bc] util.PatternSequence$Pattern.:(Lutil/PatternSequence;Ljava/lang/String;Ljava/lang/Object;)V │ │ +0284cc: 5b12 6d03 |0000: iput-object v2, v1, Lutil/PatternSequence$Pattern;.this$0:Lutil/PatternSequence; // field@036d │ │ +0284d0: 7010 4f05 0100 |0002: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@054f │ │ +0284d6: 1a02 0a05 |0005: const-string v2, "\*" // string@050a │ │ +0284da: 12f0 |0007: const/4 v0, #int -1 // #ff │ │ +0284dc: 6e30 7405 2300 |0008: invoke-virtual {v3, v2, v0}, Ljava/lang/String;.split:(Ljava/lang/String;I)[Ljava/lang/String; // method@0574 │ │ +0284e2: 0c02 |000b: move-result-object v2 │ │ +0284e4: 5b12 6c03 |000c: iput-object v2, v1, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@036c │ │ +0284e8: 5b14 6e03 |000e: iput-object v4, v1, Lutil/PatternSequence$Pattern;.value:Ljava/lang/Object; // field@036e │ │ +0284ec: 6e10 6a05 0300 |0010: invoke-virtual {v3}, Ljava/lang/String;.hashCode:()I // method@056a │ │ +0284f2: 0a02 |0013: move-result v2 │ │ +0284f4: 6e10 5205 0400 |0014: invoke-virtual {v4}, Ljava/lang/Object;.hashCode:()I // method@0552 │ │ +0284fa: 0a03 |0017: move-result v3 │ │ +0284fc: b032 |0018: add-int/2addr v2, v3 │ │ +0284fe: 5912 6b03 |0019: iput v2, v1, Lutil/PatternSequence$Pattern;.hashcode:I // field@036b │ │ +028502: 0e00 |001b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=12 │ │ 0x0005 line=13 │ │ 0x000e line=14 │ │ 0x0010 line=15 │ │ locals : │ │ @@ -30035,17 +30035,17 @@ │ │ type : '(Lutil/PatternSequence;Ljava/lang/String;Ljava/lang/Object;Lutil/PatternSequence$1;)V' │ │ access : 0x11000 (SYNTHETIC CONSTRUCTOR) │ │ code - │ │ registers : 5 │ │ ins : 5 │ │ outs : 4 │ │ insns size : 4 16-bit code units │ │ -028508: |[028508] util.PatternSequence$Pattern.:(Lutil/PatternSequence;Ljava/lang/String;Ljava/lang/Object;Lutil/PatternSequence$1;)V │ │ -028518: 7040 4207 1032 |0000: invoke-direct {v0, v1, v2, v3}, Lutil/PatternSequence$Pattern;.:(Lutil/PatternSequence;Ljava/lang/String;Ljava/lang/Object;)V // method@0742 │ │ -02851e: 0e00 |0003: return-void │ │ +028504: |[028504] util.PatternSequence$Pattern.:(Lutil/PatternSequence;Ljava/lang/String;Ljava/lang/Object;Lutil/PatternSequence$1;)V │ │ +028514: 7040 4207 1032 |0000: invoke-direct {v0, v1, v2, v3}, Lutil/PatternSequence$Pattern;.:(Lutil/PatternSequence;Ljava/lang/String;Ljava/lang/Object;)V // method@0742 │ │ +02851a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=8 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lutil/PatternSequence$Pattern; │ │ 0x0000 - 0x0004 reg=1 (null) Lutil/PatternSequence; │ │ 0x0000 - 0x0004 reg=2 (null) Ljava/lang/String; │ │ @@ -30057,42 +30057,42 @@ │ │ type : '(Lutil/PatternSequence$Pattern;)Z' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 44 16-bit code units │ │ -028390: |[028390] util.PatternSequence$Pattern.patternEqual:(Lutil/PatternSequence$Pattern;)Z │ │ -0283a0: 5440 6c03 |0000: iget-object v0, v4, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@036c │ │ -0283a4: 2100 |0002: array-length v0, v0 │ │ -0283a6: 5451 6c03 |0003: iget-object v1, v5, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@036c │ │ -0283aa: 2111 |0005: array-length v1, v1 │ │ -0283ac: 1202 |0006: const/4 v2, #int 0 // #0 │ │ -0283ae: 3310 2400 |0007: if-ne v0, v1, 002b // +0024 │ │ -0283b2: 5450 6e03 |0009: iget-object v0, v5, Lutil/PatternSequence$Pattern;.value:Ljava/lang/Object; // field@036e │ │ -0283b6: 5441 6e03 |000b: iget-object v1, v4, Lutil/PatternSequence$Pattern;.value:Ljava/lang/Object; // field@036e │ │ -0283ba: 6e20 5005 1000 |000d: invoke-virtual {v0, v1}, Ljava/lang/Object;.equals:(Ljava/lang/Object;)Z // method@0550 │ │ -0283c0: 0a00 |0010: move-result v0 │ │ -0283c2: 3800 1a00 |0011: if-eqz v0, 002b // +001a │ │ -0283c6: 1200 |0013: const/4 v0, #int 0 // #0 │ │ -0283c8: 5441 6c03 |0014: iget-object v1, v4, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@036c │ │ -0283cc: 2113 |0016: array-length v3, v1 │ │ -0283ce: 3530 1200 |0017: if-ge v0, v3, 0029 // +0012 │ │ -0283d2: 4601 0100 |0019: aget-object v1, v1, v0 │ │ -0283d6: 5453 6c03 |001b: iget-object v3, v5, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@036c │ │ -0283da: 4603 0300 |001d: aget-object v3, v3, v0 │ │ -0283de: 6e20 6705 3100 |001f: invoke-virtual {v1, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -0283e4: 0a01 |0022: move-result v1 │ │ -0283e6: 3901 0300 |0023: if-nez v1, 0026 // +0003 │ │ -0283ea: 0f02 |0025: return v2 │ │ -0283ec: d800 0001 |0026: add-int/lit8 v0, v0, #int 1 // #01 │ │ -0283f0: 28ec |0028: goto 0014 // -0014 │ │ -0283f2: 1215 |0029: const/4 v5, #int 1 // #1 │ │ -0283f4: 0f05 |002a: return v5 │ │ -0283f6: 0f02 |002b: return v2 │ │ +02838c: |[02838c] util.PatternSequence$Pattern.patternEqual:(Lutil/PatternSequence$Pattern;)Z │ │ +02839c: 5440 6c03 |0000: iget-object v0, v4, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@036c │ │ +0283a0: 2100 |0002: array-length v0, v0 │ │ +0283a2: 5451 6c03 |0003: iget-object v1, v5, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@036c │ │ +0283a6: 2111 |0005: array-length v1, v1 │ │ +0283a8: 1202 |0006: const/4 v2, #int 0 // #0 │ │ +0283aa: 3310 2400 |0007: if-ne v0, v1, 002b // +0024 │ │ +0283ae: 5450 6e03 |0009: iget-object v0, v5, Lutil/PatternSequence$Pattern;.value:Ljava/lang/Object; // field@036e │ │ +0283b2: 5441 6e03 |000b: iget-object v1, v4, Lutil/PatternSequence$Pattern;.value:Ljava/lang/Object; // field@036e │ │ +0283b6: 6e20 5005 1000 |000d: invoke-virtual {v0, v1}, Ljava/lang/Object;.equals:(Ljava/lang/Object;)Z // method@0550 │ │ +0283bc: 0a00 |0010: move-result v0 │ │ +0283be: 3800 1a00 |0011: if-eqz v0, 002b // +001a │ │ +0283c2: 1200 |0013: const/4 v0, #int 0 // #0 │ │ +0283c4: 5441 6c03 |0014: iget-object v1, v4, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@036c │ │ +0283c8: 2113 |0016: array-length v3, v1 │ │ +0283ca: 3530 1200 |0017: if-ge v0, v3, 0029 // +0012 │ │ +0283ce: 4601 0100 |0019: aget-object v1, v1, v0 │ │ +0283d2: 5453 6c03 |001b: iget-object v3, v5, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@036c │ │ +0283d6: 4603 0300 |001d: aget-object v3, v3, v0 │ │ +0283da: 6e20 6705 3100 |001f: invoke-virtual {v1, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +0283e0: 0a01 |0022: move-result v1 │ │ +0283e2: 3901 0300 |0023: if-nez v1, 0026 // +0003 │ │ +0283e6: 0f02 |0025: return v2 │ │ +0283e8: d800 0001 |0026: add-int/lit8 v0, v0, #int 1 // #01 │ │ +0283ec: 28ec |0028: goto 0014 // -0014 │ │ +0283ee: 1215 |0029: const/4 v5, #int 1 // #1 │ │ +0283f0: 0f05 |002a: return v5 │ │ +0283f2: 0f02 |002b: return v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=32 │ │ 0x0014 line=33 │ │ 0x0019 line=34 │ │ locals : │ │ 0x0000 - 0x002c reg=4 this Lutil/PatternSequence$Pattern; │ │ @@ -30104,28 +30104,28 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 23 16-bit code units │ │ -028350: |[028350] util.PatternSequence$Pattern.equals:(Ljava/lang/Object;)Z │ │ -028360: 3803 1500 |0000: if-eqz v3, 0015 // +0015 │ │ -028364: 5220 6b03 |0002: iget v0, v2, Lutil/PatternSequence$Pattern;.hashcode:I // field@036b │ │ -028368: 6e10 5205 0300 |0004: invoke-virtual {v3}, Ljava/lang/Object;.hashCode:()I // method@0552 │ │ -02836e: 0a01 |0007: move-result v1 │ │ -028370: 3310 0d00 |0008: if-ne v0, v1, 0015 // +000d │ │ -028374: 2030 8801 |000a: instance-of v0, v3, Lutil/PatternSequence$Pattern; // type@0188 │ │ -028378: 3800 0900 |000c: if-eqz v0, 0015 // +0009 │ │ -02837c: 1f03 8801 |000e: check-cast v3, Lutil/PatternSequence$Pattern; // type@0188 │ │ -028380: 7020 4707 3200 |0010: invoke-direct {v2, v3}, Lutil/PatternSequence$Pattern;.patternEqual:(Lutil/PatternSequence$Pattern;)Z // method@0747 │ │ -028386: 0a03 |0013: move-result v3 │ │ -028388: 0f03 |0014: return v3 │ │ -02838a: 1203 |0015: const/4 v3, #int 0 // #0 │ │ -02838c: 0f03 |0016: return v3 │ │ +02834c: |[02834c] util.PatternSequence$Pattern.equals:(Ljava/lang/Object;)Z │ │ +02835c: 3803 1500 |0000: if-eqz v3, 0015 // +0015 │ │ +028360: 5220 6b03 |0002: iget v0, v2, Lutil/PatternSequence$Pattern;.hashcode:I // field@036b │ │ +028364: 6e10 5205 0300 |0004: invoke-virtual {v3}, Ljava/lang/Object;.hashCode:()I // method@0552 │ │ +02836a: 0a01 |0007: move-result v1 │ │ +02836c: 3310 0d00 |0008: if-ne v0, v1, 0015 // +000d │ │ +028370: 2030 8801 |000a: instance-of v0, v3, Lutil/PatternSequence$Pattern; // type@0188 │ │ +028374: 3800 0900 |000c: if-eqz v0, 0015 // +0009 │ │ +028378: 1f03 8801 |000e: check-cast v3, Lutil/PatternSequence$Pattern; // type@0188 │ │ +02837c: 7020 4707 3200 |0010: invoke-direct {v2, v3}, Lutil/PatternSequence$Pattern;.patternEqual:(Lutil/PatternSequence$Pattern;)Z // method@0747 │ │ +028382: 0a03 |0013: move-result v3 │ │ +028384: 0f03 |0014: return v3 │ │ +028386: 1203 |0015: const/4 v3, #int 0 // #0 │ │ +028388: 0f03 |0016: return v3 │ │ catches : (none) │ │ positions : │ │ 0x0002 line=25 │ │ 0x000e line=26 │ │ locals : │ │ 0x0000 - 0x0017 reg=2 this Lutil/PatternSequence$Pattern; │ │ 0x0000 - 0x0017 reg=3 (null) Ljava/lang/Object; │ │ @@ -30135,17 +30135,17 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0283f8: |[0283f8] util.PatternSequence$Pattern.hashCode:()I │ │ -028408: 5210 6b03 |0000: iget v0, v1, Lutil/PatternSequence$Pattern;.hashcode:I // field@036b │ │ -02840c: 0f00 |0002: return v0 │ │ +0283f4: |[0283f4] util.PatternSequence$Pattern.hashCode:()I │ │ +028404: 5210 6b03 |0000: iget v0, v1, Lutil/PatternSequence$Pattern;.hashcode:I // field@036b │ │ +028408: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=20 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lutil/PatternSequence$Pattern; │ │ │ │ #2 : (in Lutil/PatternSequence$Pattern;) │ │ @@ -30153,62 +30153,62 @@ │ │ type : '(Ljava/lang/String;)Ljava/lang/Object;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 8 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 80 16-bit code units │ │ -028410: |[028410] util.PatternSequence$Pattern.match:(Ljava/lang/String;)Ljava/lang/Object; │ │ -028420: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -028422: 5461 6c03 |0001: iget-object v1, v6, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@036c │ │ -028426: 2112 |0003: array-length v2, v1 │ │ -028428: 3520 4900 |0004: if-ge v0, v2, 004d // +0049 │ │ -02842c: 4602 0100 |0006: aget-object v2, v1, v0 │ │ -028430: 2111 |0008: array-length v1, v1 │ │ -028432: d801 01ff |0009: add-int/lit8 v1, v1, #int -1 // #ff │ │ -028436: 3510 0700 |000b: if-ge v0, v1, 0012 // +0007 │ │ -02843a: 6e20 6c05 2700 |000d: invoke-virtual {v7, v2}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@056c │ │ -028440: 0a01 |0010: move-result v1 │ │ -028442: 2805 |0011: goto 0016 // +0005 │ │ -028444: 6e20 6f05 2700 |0012: invoke-virtual {v7, v2}, Ljava/lang/String;.lastIndexOf:(Ljava/lang/String;)I // method@056f │ │ -02844a: 0a01 |0015: move-result v1 │ │ -02844c: 1a03 0000 |0016: const-string v3, "" // string@0000 │ │ -028450: 1204 |0018: const/4 v4, #int 0 // #0 │ │ -028452: 3900 0b00 |0019: if-nez v0, 0024 // +000b │ │ -028456: 6e20 6705 3200 |001b: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -02845c: 0a05 |001e: move-result v5 │ │ -02845e: 3905 0500 |001f: if-nez v5, 0024 // +0005 │ │ -028462: 3801 0300 |0021: if-eqz v1, 0024 // +0003 │ │ -028466: 1104 |0023: return-object v4 │ │ -028468: 5465 6c03 |0024: iget-object v5, v6, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@036c │ │ -02846c: 2155 |0026: array-length v5, v5 │ │ -02846e: d805 05ff |0027: add-int/lit8 v5, v5, #int -1 // #ff │ │ -028472: 3350 1400 |0029: if-ne v0, v5, 003d // +0014 │ │ -028476: 6e20 6705 3200 |002b: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -02847c: 0a03 |002e: move-result v3 │ │ -02847e: 3903 0e00 |002f: if-nez v3, 003d // +000e │ │ -028482: 6e10 7005 0200 |0031: invoke-virtual {v2}, Ljava/lang/String;.length:()I // method@0570 │ │ -028488: 0a03 |0034: move-result v3 │ │ -02848a: b013 |0035: add-int/2addr v3, v1 │ │ -02848c: 6e10 7005 0700 |0036: invoke-virtual {v7}, Ljava/lang/String;.length:()I // method@0570 │ │ -028492: 0a05 |0039: move-result v5 │ │ -028494: 3253 0300 |003a: if-eq v3, v5, 003d // +0003 │ │ -028498: 1104 |003c: return-object v4 │ │ -02849a: 12f3 |003d: const/4 v3, #int -1 // #ff │ │ -02849c: 3331 0300 |003e: if-ne v1, v3, 0041 // +0003 │ │ -0284a0: 1104 |0040: return-object v4 │ │ -0284a2: 6e10 7005 0200 |0041: invoke-virtual {v2}, Ljava/lang/String;.length:()I // method@0570 │ │ -0284a8: 0a02 |0044: move-result v2 │ │ -0284aa: b021 |0045: add-int/2addr v1, v2 │ │ -0284ac: 6e20 7605 1700 |0046: invoke-virtual {v7, v1}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@0576 │ │ -0284b2: 0c07 |0049: move-result-object v7 │ │ -0284b4: d800 0001 |004a: add-int/lit8 v0, v0, #int 1 // #01 │ │ -0284b8: 28b5 |004c: goto 0001 // -004b │ │ -0284ba: 5467 6e03 |004d: iget-object v7, v6, Lutil/PatternSequence$Pattern;.value:Ljava/lang/Object; // field@036e │ │ -0284be: 1107 |004f: return-object v7 │ │ +02840c: |[02840c] util.PatternSequence$Pattern.match:(Ljava/lang/String;)Ljava/lang/Object; │ │ +02841c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02841e: 5461 6c03 |0001: iget-object v1, v6, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@036c │ │ +028422: 2112 |0003: array-length v2, v1 │ │ +028424: 3520 4900 |0004: if-ge v0, v2, 004d // +0049 │ │ +028428: 4602 0100 |0006: aget-object v2, v1, v0 │ │ +02842c: 2111 |0008: array-length v1, v1 │ │ +02842e: d801 01ff |0009: add-int/lit8 v1, v1, #int -1 // #ff │ │ +028432: 3510 0700 |000b: if-ge v0, v1, 0012 // +0007 │ │ +028436: 6e20 6c05 2700 |000d: invoke-virtual {v7, v2}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@056c │ │ +02843c: 0a01 |0010: move-result v1 │ │ +02843e: 2805 |0011: goto 0016 // +0005 │ │ +028440: 6e20 6f05 2700 |0012: invoke-virtual {v7, v2}, Ljava/lang/String;.lastIndexOf:(Ljava/lang/String;)I // method@056f │ │ +028446: 0a01 |0015: move-result v1 │ │ +028448: 1a03 0000 |0016: const-string v3, "" // string@0000 │ │ +02844c: 1204 |0018: const/4 v4, #int 0 // #0 │ │ +02844e: 3900 0b00 |0019: if-nez v0, 0024 // +000b │ │ +028452: 6e20 6705 3200 |001b: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +028458: 0a05 |001e: move-result v5 │ │ +02845a: 3905 0500 |001f: if-nez v5, 0024 // +0005 │ │ +02845e: 3801 0300 |0021: if-eqz v1, 0024 // +0003 │ │ +028462: 1104 |0023: return-object v4 │ │ +028464: 5465 6c03 |0024: iget-object v5, v6, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@036c │ │ +028468: 2155 |0026: array-length v5, v5 │ │ +02846a: d805 05ff |0027: add-int/lit8 v5, v5, #int -1 // #ff │ │ +02846e: 3350 1400 |0029: if-ne v0, v5, 003d // +0014 │ │ +028472: 6e20 6705 3200 |002b: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +028478: 0a03 |002e: move-result v3 │ │ +02847a: 3903 0e00 |002f: if-nez v3, 003d // +000e │ │ +02847e: 6e10 7005 0200 |0031: invoke-virtual {v2}, Ljava/lang/String;.length:()I // method@0570 │ │ +028484: 0a03 |0034: move-result v3 │ │ +028486: b013 |0035: add-int/2addr v3, v1 │ │ +028488: 6e10 7005 0700 |0036: invoke-virtual {v7}, Ljava/lang/String;.length:()I // method@0570 │ │ +02848e: 0a05 |0039: move-result v5 │ │ +028490: 3253 0300 |003a: if-eq v3, v5, 003d // +0003 │ │ +028494: 1104 |003c: return-object v4 │ │ +028496: 12f3 |003d: const/4 v3, #int -1 // #ff │ │ +028498: 3331 0300 |003e: if-ne v1, v3, 0041 // +0003 │ │ +02849c: 1104 |0040: return-object v4 │ │ +02849e: 6e10 7005 0200 |0041: invoke-virtual {v2}, Ljava/lang/String;.length:()I // method@0570 │ │ +0284a4: 0a02 |0044: move-result v2 │ │ +0284a6: b021 |0045: add-int/2addr v1, v2 │ │ +0284a8: 6e20 7605 1700 |0046: invoke-virtual {v7, v1}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@0576 │ │ +0284ae: 0c07 |0049: move-result-object v7 │ │ +0284b0: d800 0001 |004a: add-int/lit8 v0, v0, #int 1 // #01 │ │ +0284b4: 28b5 |004c: goto 0001 // -004b │ │ +0284b6: 5467 6e03 |004d: iget-object v7, v6, Lutil/PatternSequence$Pattern;.value:Ljava/lang/Object; // field@036e │ │ +0284ba: 1107 |004f: return-object v7 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=45 │ │ 0x0006 line=46 │ │ 0x0008 line=49 │ │ 0x000d line=50 │ │ 0x0012 line=52 │ │ @@ -30263,43 +30263,43 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -028604: |[028604] util.PatternSequence.:()V │ │ -028614: 2200 2001 |0000: new-instance v0, Ljava/lang/Object; // type@0120 │ │ -028618: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -02861e: 6900 6f03 |0005: sput-object v0, Lutil/PatternSequence;.NULL:Ljava/lang/Object; // field@036f │ │ -028622: 0e00 |0007: return-void │ │ +028600: |[028600] util.PatternSequence.:()V │ │ +028610: 2200 2001 |0000: new-instance v0, Ljava/lang/Object; // type@0120 │ │ +028614: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +02861a: 6900 6f03 |0005: sput-object v0, Lutil/PatternSequence;.NULL:Ljava/lang/Object; // field@036f │ │ +02861e: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=78 │ │ locals : │ │ │ │ #1 : (in Lutil/PatternSequence;) │ │ name : '' │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 20 16-bit code units │ │ -028624: |[028624] util.PatternSequence.:()V │ │ -028634: 7010 4f05 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@054f │ │ -02863a: 2200 6601 |0003: new-instance v0, Ljava/util/Vector; // type@0166 │ │ -02863e: 7010 5606 0000 |0005: invoke-direct {v0}, Ljava/util/Vector;.:()V // method@0656 │ │ -028644: 5b20 7103 |0008: iput-object v0, v2, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@0371 │ │ -028648: 2200 8001 |000a: new-instance v0, Lutil/LRUCache; // type@0180 │ │ -02864c: 1301 e803 |000c: const/16 v1, #int 1000 // #3e8 │ │ -028650: 7020 ee06 1000 |000e: invoke-direct {v0, v1}, Lutil/LRUCache;.:(I)V // method@06ee │ │ -028656: 5b20 7003 |0011: iput-object v0, v2, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@0370 │ │ -02865a: 0e00 |0013: return-void │ │ +028620: |[028620] util.PatternSequence.:()V │ │ +028630: 7010 4f05 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@054f │ │ +028636: 2200 6601 |0003: new-instance v0, Ljava/util/Vector; // type@0166 │ │ +02863a: 7010 5606 0000 |0005: invoke-direct {v0}, Ljava/util/Vector;.:()V // method@0656 │ │ +028640: 5b20 7103 |0008: iput-object v0, v2, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@0371 │ │ +028644: 2200 8001 |000a: new-instance v0, Lutil/LRUCache; // type@0180 │ │ +028648: 1301 e803 |000c: const/16 v1, #int 1000 // #3e8 │ │ +02864c: 7020 ee06 1000 |000e: invoke-direct {v0, v1}, Lutil/LRUCache;.:(I)V // method@06ee │ │ +028652: 5b20 7003 |0011: iput-object v0, v2, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@0370 │ │ +028656: 0e00 |0013: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=6 │ │ 0x0003 line=79 │ │ 0x000a line=80 │ │ locals : │ │ 0x0000 - 0x0014 reg=2 this Lutil/PatternSequence; │ │ @@ -30310,24 +30310,24 @@ │ │ type : '(Ljava/lang/String;Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 3 │ │ outs : 5 │ │ insns size : 18 16-bit code units │ │ -028520: |[028520] util.PatternSequence.addPattern:(Ljava/lang/String;Ljava/lang/Object;)Z │ │ -028530: 5430 7003 |0000: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@0370 │ │ -028534: 6e10 ef06 0000 |0002: invoke-virtual {v0}, Lutil/LRUCache;.clear:()V // method@06ef │ │ -02853a: 5430 7103 |0005: iget-object v0, v3, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@0371 │ │ -02853e: 2201 8801 |0007: new-instance v1, Lutil/PatternSequence$Pattern; // type@0188 │ │ -028542: 1202 |0009: const/4 v2, #int 0 // #0 │ │ -028544: 7052 4307 3154 |000a: invoke-direct {v1, v3, v4, v5, v2}, Lutil/PatternSequence$Pattern;.:(Lutil/PatternSequence;Ljava/lang/String;Ljava/lang/Object;Lutil/PatternSequence$1;)V // method@0743 │ │ -02854a: 6e20 5806 1000 |000d: invoke-virtual {v0, v1}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0658 │ │ -028550: 0a04 |0010: move-result v4 │ │ -028552: 0f04 |0011: return v4 │ │ +02851c: |[02851c] util.PatternSequence.addPattern:(Ljava/lang/String;Ljava/lang/Object;)Z │ │ +02852c: 5430 7003 |0000: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@0370 │ │ +028530: 6e10 ef06 0000 |0002: invoke-virtual {v0}, Lutil/LRUCache;.clear:()V // method@06ef │ │ +028536: 5430 7103 |0005: iget-object v0, v3, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@0371 │ │ +02853a: 2201 8801 |0007: new-instance v1, Lutil/PatternSequence$Pattern; // type@0188 │ │ +02853e: 1202 |0009: const/4 v2, #int 0 // #0 │ │ +028540: 7052 4307 3154 |000a: invoke-direct {v1, v3, v4, v5, v2}, Lutil/PatternSequence$Pattern;.:(Lutil/PatternSequence;Ljava/lang/String;Ljava/lang/Object;Lutil/PatternSequence$1;)V // method@0743 │ │ +028546: 6e20 5806 1000 |000d: invoke-virtual {v0, v1}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0658 │ │ +02854c: 0a04 |0010: move-result v4 │ │ +02854e: 0f04 |0011: return v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=83 │ │ 0x0005 line=84 │ │ locals : │ │ 0x0000 - 0x0012 reg=3 this Lutil/PatternSequence; │ │ 0x0000 - 0x0012 reg=4 (null) Ljava/lang/String; │ │ @@ -30338,18 +30338,18 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -02865c: |[02865c] util.PatternSequence.clear:()V │ │ -02866c: 5410 7103 |0000: iget-object v0, v1, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@0371 │ │ -028670: 6e10 5a06 0000 |0002: invoke-virtual {v0}, Ljava/util/Vector;.clear:()V // method@065a │ │ -028676: 0e00 |0005: return-void │ │ +028658: |[028658] util.PatternSequence.clear:()V │ │ +028668: 5410 7103 |0000: iget-object v0, v1, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@0371 │ │ +02866c: 6e10 5a06 0000 |0002: invoke-virtual {v0}, Ljava/util/Vector;.clear:()V // method@065a │ │ +028672: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=115 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lutil/PatternSequence; │ │ │ │ #2 : (in Lutil/PatternSequence;) │ │ @@ -30357,43 +30357,43 @@ │ │ type : '(Ljava/lang/String;)Ljava/lang/Object;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 53 16-bit code units │ │ -028588: |[028588] util.PatternSequence.match:(Ljava/lang/String;)Ljava/lang/Object; │ │ -028598: 5430 7003 |0000: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@0370 │ │ -02859c: 6e20 f406 4000 |0002: invoke-virtual {v0, v4}, Lutil/LRUCache;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@06f4 │ │ -0285a2: 0c00 |0005: move-result-object v0 │ │ -0285a4: 6201 6f03 |0006: sget-object v1, Lutil/PatternSequence;.NULL:Ljava/lang/Object; // field@036f │ │ -0285a8: 1202 |0008: const/4 v2, #int 0 // #0 │ │ -0285aa: 3310 0300 |0009: if-ne v0, v1, 000c // +0003 │ │ -0285ae: 1102 |000b: return-object v2 │ │ -0285b0: 3800 0300 |000c: if-eqz v0, 000f // +0003 │ │ -0285b4: 1100 |000e: return-object v0 │ │ -0285b6: 5430 7103 |000f: iget-object v0, v3, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@0371 │ │ -0285ba: 6e10 5f06 0000 |0011: invoke-virtual {v0}, Ljava/util/Vector;.iterator:()Ljava/util/Iterator; // method@065f │ │ -0285c0: 0c00 |0014: move-result-object v0 │ │ -0285c2: 7210 1b06 0000 |0015: invoke-interface {v0}, Ljava/util/Iterator;.hasNext:()Z // method@061b │ │ -0285c8: 0a01 |0018: move-result v1 │ │ -0285ca: 3801 1400 |0019: if-eqz v1, 002d // +0014 │ │ -0285ce: 7210 1c06 0000 |001b: invoke-interface {v0}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@061c │ │ -0285d4: 0c01 |001e: move-result-object v1 │ │ -0285d6: 1f01 8801 |001f: check-cast v1, Lutil/PatternSequence$Pattern; // type@0188 │ │ -0285da: 6e20 4607 4100 |0021: invoke-virtual {v1, v4}, Lutil/PatternSequence$Pattern;.match:(Ljava/lang/String;)Ljava/lang/Object; // method@0746 │ │ -0285e0: 0c01 |0024: move-result-object v1 │ │ -0285e2: 3801 f0ff |0025: if-eqz v1, 0015 // -0010 │ │ -0285e6: 5430 7003 |0027: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@0370 │ │ -0285ea: 6e30 f806 4001 |0029: invoke-virtual {v0, v4, v1}, Lutil/LRUCache;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@06f8 │ │ -0285f0: 1101 |002c: return-object v1 │ │ -0285f2: 5430 7003 |002d: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@0370 │ │ -0285f6: 6201 6f03 |002f: sget-object v1, Lutil/PatternSequence;.NULL:Ljava/lang/Object; // field@036f │ │ -0285fa: 6e30 f806 4001 |0031: invoke-virtual {v0, v4, v1}, Lutil/LRUCache;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@06f8 │ │ -028600: 1102 |0034: return-object v2 │ │ +028584: |[028584] util.PatternSequence.match:(Ljava/lang/String;)Ljava/lang/Object; │ │ +028594: 5430 7003 |0000: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@0370 │ │ +028598: 6e20 f406 4000 |0002: invoke-virtual {v0, v4}, Lutil/LRUCache;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@06f4 │ │ +02859e: 0c00 |0005: move-result-object v0 │ │ +0285a0: 6201 6f03 |0006: sget-object v1, Lutil/PatternSequence;.NULL:Ljava/lang/Object; // field@036f │ │ +0285a4: 1202 |0008: const/4 v2, #int 0 // #0 │ │ +0285a6: 3310 0300 |0009: if-ne v0, v1, 000c // +0003 │ │ +0285aa: 1102 |000b: return-object v2 │ │ +0285ac: 3800 0300 |000c: if-eqz v0, 000f // +0003 │ │ +0285b0: 1100 |000e: return-object v0 │ │ +0285b2: 5430 7103 |000f: iget-object v0, v3, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@0371 │ │ +0285b6: 6e10 5f06 0000 |0011: invoke-virtual {v0}, Ljava/util/Vector;.iterator:()Ljava/util/Iterator; // method@065f │ │ +0285bc: 0c00 |0014: move-result-object v0 │ │ +0285be: 7210 1b06 0000 |0015: invoke-interface {v0}, Ljava/util/Iterator;.hasNext:()Z // method@061b │ │ +0285c4: 0a01 |0018: move-result v1 │ │ +0285c6: 3801 1400 |0019: if-eqz v1, 002d // +0014 │ │ +0285ca: 7210 1c06 0000 |001b: invoke-interface {v0}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@061c │ │ +0285d0: 0c01 |001e: move-result-object v1 │ │ +0285d2: 1f01 8801 |001f: check-cast v1, Lutil/PatternSequence$Pattern; // type@0188 │ │ +0285d6: 6e20 4607 4100 |0021: invoke-virtual {v1, v4}, Lutil/PatternSequence$Pattern;.match:(Ljava/lang/String;)Ljava/lang/Object; // method@0746 │ │ +0285dc: 0c01 |0024: move-result-object v1 │ │ +0285de: 3801 f0ff |0025: if-eqz v1, 0015 // -0010 │ │ +0285e2: 5430 7003 |0027: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@0370 │ │ +0285e6: 6e30 f806 4001 |0029: invoke-virtual {v0, v4, v1}, Lutil/LRUCache;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@06f8 │ │ +0285ec: 1101 |002c: return-object v1 │ │ +0285ee: 5430 7003 |002d: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@0370 │ │ +0285f2: 6201 6f03 |002f: sget-object v1, Lutil/PatternSequence;.NULL:Ljava/lang/Object; // field@036f │ │ +0285f6: 6e30 f806 4001 |0031: invoke-virtual {v0, v4, v1}, Lutil/LRUCache;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@06f8 │ │ +0285fc: 1102 |0034: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=94 │ │ 0x0006 line=95 │ │ 0x000f line=100 │ │ 0x0015 line=101 │ │ 0x001b line=103 │ │ @@ -30409,24 +30409,24 @@ │ │ type : '(Ljava/lang/String;Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 3 │ │ outs : 5 │ │ insns size : 18 16-bit code units │ │ -028554: |[028554] util.PatternSequence.removePattern:(Ljava/lang/String;Ljava/lang/Object;)Z │ │ -028564: 5430 7003 |0000: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@0370 │ │ -028568: 6e10 ef06 0000 |0002: invoke-virtual {v0}, Lutil/LRUCache;.clear:()V // method@06ef │ │ -02856e: 5430 7103 |0005: iget-object v0, v3, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@0371 │ │ -028572: 2201 8801 |0007: new-instance v1, Lutil/PatternSequence$Pattern; // type@0188 │ │ -028576: 1202 |0009: const/4 v2, #int 0 // #0 │ │ -028578: 7052 4307 3154 |000a: invoke-direct {v1, v3, v4, v5, v2}, Lutil/PatternSequence$Pattern;.:(Lutil/PatternSequence;Ljava/lang/String;Ljava/lang/Object;Lutil/PatternSequence$1;)V // method@0743 │ │ -02857e: 6e20 6106 1000 |000d: invoke-virtual {v0, v1}, Ljava/util/Vector;.remove:(Ljava/lang/Object;)Z // method@0661 │ │ -028584: 0a04 |0010: move-result v4 │ │ -028586: 0f04 |0011: return v4 │ │ +028550: |[028550] util.PatternSequence.removePattern:(Ljava/lang/String;Ljava/lang/Object;)Z │ │ +028560: 5430 7003 |0000: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@0370 │ │ +028564: 6e10 ef06 0000 |0002: invoke-virtual {v0}, Lutil/LRUCache;.clear:()V // method@06ef │ │ +02856a: 5430 7103 |0005: iget-object v0, v3, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@0371 │ │ +02856e: 2201 8801 |0007: new-instance v1, Lutil/PatternSequence$Pattern; // type@0188 │ │ +028572: 1202 |0009: const/4 v2, #int 0 // #0 │ │ +028574: 7052 4307 3154 |000a: invoke-direct {v1, v3, v4, v5, v2}, Lutil/PatternSequence$Pattern;.:(Lutil/PatternSequence;Ljava/lang/String;Ljava/lang/Object;Lutil/PatternSequence$1;)V // method@0743 │ │ +02857a: 6e20 6106 1000 |000d: invoke-virtual {v0, v1}, Ljava/util/Vector;.remove:(Ljava/lang/Object;)Z // method@0661 │ │ +028580: 0a04 |0010: move-result v4 │ │ +028582: 0f04 |0011: return v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=88 │ │ 0x0005 line=89 │ │ locals : │ │ 0x0000 - 0x0012 reg=3 this Lutil/PatternSequence; │ │ 0x0000 - 0x0012 reg=4 (null) Ljava/lang/String; │ │ @@ -30498,20 +30498,20 @@ │ │ type : '(Lutil/TimoutNotificator;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 13 16-bit code units │ │ -02898c: |[02898c] util.TimeoutTime.:(Lutil/TimoutNotificator;)V │ │ -02899c: 7010 4f05 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@054f │ │ -0289a2: 1800 ffff ffff ffff ff7f |0003: const-wide v0, #double nan // #7fffffffffffffff │ │ -0289ac: 5a20 7803 |0008: iput-wide v0, v2, Lutil/TimeoutTime;.timeout:J // field@0378 │ │ -0289b0: 5b23 7903 |000a: iput-object v3, v2, Lutil/TimeoutTime;.toHandler:Lutil/TimoutNotificator; // field@0379 │ │ -0289b4: 0e00 |000c: return-void │ │ +028988: |[028988] util.TimeoutTime.:(Lutil/TimoutNotificator;)V │ │ +028998: 7010 4f05 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@054f │ │ +02899e: 1800 ffff ffff ffff ff7f |0003: const-wide v0, #double nan // #7fffffffffffffff │ │ +0289a8: 5a20 7803 |0008: iput-wide v0, v2, Lutil/TimeoutTime;.timeout:J // field@0378 │ │ +0289ac: 5b23 7903 |000a: iput-object v3, v2, Lutil/TimeoutTime;.toHandler:Lutil/TimoutNotificator; // field@0379 │ │ +0289b0: 0e00 |000c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=30 │ │ 0x0008 line=27 │ │ 0x000a line=31 │ │ locals : │ │ 0x0000 - 0x000d reg=2 this Lutil/TimeoutTime; │ │ @@ -30523,22 +30523,22 @@ │ │ type : '()J' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 8 16-bit code units │ │ -028960: |[028960] util.TimeoutTime.getTimeout:()J │ │ -028970: 1d02 |0000: monitor-enter v2 │ │ -028972: 5320 7803 |0001: iget-wide v0, v2, Lutil/TimeoutTime;.timeout:J // field@0378 │ │ -028976: 1e02 |0003: monitor-exit v2 │ │ -028978: 1000 |0004: return-wide v0 │ │ -02897a: 0d00 |0005: move-exception v0 │ │ -02897c: 1e02 |0006: monitor-exit v2 │ │ -02897e: 2700 |0007: throw v0 │ │ +02895c: |[02895c] util.TimeoutTime.getTimeout:()J │ │ +02896c: 1d02 |0000: monitor-enter v2 │ │ +02896e: 5320 7803 |0001: iget-wide v0, v2, Lutil/TimeoutTime;.timeout:J // field@0378 │ │ +028972: 1e02 |0003: monitor-exit v2 │ │ +028974: 1000 |0004: return-wide v0 │ │ +028976: 0d00 |0005: move-exception v0 │ │ +028978: 1e02 |0006: monitor-exit v2 │ │ +02897a: 2700 |0007: throw v0 │ │ catches : 1 │ │ 0x0001 - 0x0003 │ │ -> 0x0005 │ │ positions : │ │ 0x0001 line=41 │ │ locals : │ │ 0x0000 - 0x0008 reg=2 this Lutil/TimeoutTime; │ │ @@ -30548,32 +30548,32 @@ │ │ type : '(J)V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 6 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 29 16-bit code units │ │ -0289b8: |[0289b8] util.TimeoutTime.setTimeout:(J)V │ │ -0289c8: 1d03 |0000: monitor-enter v3 │ │ -0289ca: 1600 0000 |0001: const-wide/16 v0, #int 0 // #0 │ │ -0289ce: 3102 0400 |0003: cmp-long v2, v4, v0 │ │ -0289d2: 3c02 0a00 |0005: if-gtz v2, 000f // +000a │ │ -0289d6: 1804 ffff ffff ffff ff7f |0007: const-wide v4, #double nan // #7fffffffffffffff │ │ -0289e0: 5a34 7803 |000c: iput-wide v4, v3, Lutil/TimeoutTime;.timeout:J // field@0378 │ │ -0289e4: 280a |000e: goto 0018 // +000a │ │ -0289e6: 5430 7903 |000f: iget-object v0, v3, Lutil/TimeoutTime;.toHandler:Lutil/TimoutNotificator; // field@0379 │ │ -0289ea: 6e10 6107 0000 |0011: invoke-virtual {v0}, Lutil/TimoutNotificator;.getCurrentTime:()J // method@0761 │ │ -0289f0: 0b00 |0014: move-result-wide v0 │ │ -0289f2: bb40 |0015: add-long/2addr v0, v4 │ │ -0289f4: 5a30 7803 |0016: iput-wide v0, v3, Lutil/TimeoutTime;.timeout:J // field@0378 │ │ -0289f8: 1e03 |0018: monitor-exit v3 │ │ -0289fa: 0e00 |0019: return-void │ │ -0289fc: 0d04 |001a: move-exception v4 │ │ -0289fe: 1e03 |001b: monitor-exit v3 │ │ -028a00: 2704 |001c: throw v4 │ │ +0289b4: |[0289b4] util.TimeoutTime.setTimeout:(J)V │ │ +0289c4: 1d03 |0000: monitor-enter v3 │ │ +0289c6: 1600 0000 |0001: const-wide/16 v0, #int 0 // #0 │ │ +0289ca: 3102 0400 |0003: cmp-long v2, v4, v0 │ │ +0289ce: 3c02 0a00 |0005: if-gtz v2, 000f // +000a │ │ +0289d2: 1804 ffff ffff ffff ff7f |0007: const-wide v4, #double nan // #7fffffffffffffff │ │ +0289dc: 5a34 7803 |000c: iput-wide v4, v3, Lutil/TimeoutTime;.timeout:J // field@0378 │ │ +0289e0: 280a |000e: goto 0018 // +000a │ │ +0289e2: 5430 7903 |000f: iget-object v0, v3, Lutil/TimeoutTime;.toHandler:Lutil/TimoutNotificator; // field@0379 │ │ +0289e6: 6e10 6107 0000 |0011: invoke-virtual {v0}, Lutil/TimoutNotificator;.getCurrentTime:()J // method@0761 │ │ +0289ec: 0b00 |0014: move-result-wide v0 │ │ +0289ee: bb40 |0015: add-long/2addr v0, v4 │ │ +0289f0: 5a30 7803 |0016: iput-wide v0, v3, Lutil/TimeoutTime;.timeout:J // field@0378 │ │ +0289f4: 1e03 |0018: monitor-exit v3 │ │ +0289f6: 0e00 |0019: return-void │ │ +0289f8: 0d04 |001a: move-exception v4 │ │ +0289fa: 1e03 |001b: monitor-exit v3 │ │ +0289fc: 2704 |001c: throw v4 │ │ catches : 1 │ │ 0x000c - 0x0018 │ │ -> 0x001a │ │ positions : │ │ 0x000c line=36 │ │ 0x000f line=37 │ │ 0x0018 line=38 │ │ @@ -30627,44 +30627,44 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -028a6c: |[028a6c] util.TimoutNotificator.:()V │ │ -028a7c: 2200 8d01 |0000: new-instance v0, Lutil/TimoutNotificator; // type@018d │ │ -028a80: 7010 6007 0000 |0002: invoke-direct {v0}, Lutil/TimoutNotificator;.:()V // method@0760 │ │ -028a86: 6900 7b03 |0005: sput-object v0, Lutil/TimoutNotificator;.instance:Lutil/TimoutNotificator; // field@037b │ │ -028a8a: 0e00 |0007: return-void │ │ +028a68: |[028a68] util.TimoutNotificator.:()V │ │ +028a78: 2200 8d01 |0000: new-instance v0, Lutil/TimoutNotificator; // type@018d │ │ +028a7c: 7010 6007 0000 |0002: invoke-direct {v0}, Lutil/TimoutNotificator;.:()V // method@0760 │ │ +028a82: 6900 7b03 |0005: sput-object v0, Lutil/TimoutNotificator;.instance:Lutil/TimoutNotificator; // field@037b │ │ +028a86: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=31 │ │ locals : │ │ │ │ #1 : (in Lutil/TimoutNotificator;) │ │ name : '' │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 20 16-bit code units │ │ -028a8c: |[028a8c] util.TimoutNotificator.:()V │ │ -028a9c: 7010 4f05 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@054f │ │ -028aa2: 2200 5501 |0003: new-instance v0, Ljava/util/HashSet; // type@0155 │ │ -028aa6: 7010 0e06 0000 |0005: invoke-direct {v0}, Ljava/util/HashSet;.:()V // method@060e │ │ -028aac: 5b20 7c03 |0008: iput-object v0, v2, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@037c │ │ -028ab0: 1200 |000a: const/4 v0, #int 0 // #0 │ │ -028ab2: 5c20 7e03 |000b: iput-boolean v0, v2, Lutil/TimoutNotificator;.threadAvailable:Z // field@037e │ │ -028ab6: 5c20 7d03 |000d: iput-boolean v0, v2, Lutil/TimoutNotificator;.stopped:Z // field@037d │ │ -028aba: 1600 0000 |000f: const-wide/16 v0, #int 0 // #0 │ │ -028abe: 5a20 7a03 |0011: iput-wide v0, v2, Lutil/TimoutNotificator;.curTime:J // field@037a │ │ -028ac2: 0e00 |0013: return-void │ │ +028a88: |[028a88] util.TimoutNotificator.:()V │ │ +028a98: 7010 4f05 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@054f │ │ +028a9e: 2200 5501 |0003: new-instance v0, Ljava/util/HashSet; // type@0155 │ │ +028aa2: 7010 0e06 0000 |0005: invoke-direct {v0}, Ljava/util/HashSet;.:()V // method@060e │ │ +028aa8: 5b20 7c03 |0008: iput-object v0, v2, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@037c │ │ +028aac: 1200 |000a: const/4 v0, #int 0 // #0 │ │ +028aae: 5c20 7e03 |000b: iput-boolean v0, v2, Lutil/TimoutNotificator;.threadAvailable:Z // field@037e │ │ +028ab2: 5c20 7d03 |000d: iput-boolean v0, v2, Lutil/TimoutNotificator;.stopped:Z // field@037d │ │ +028ab6: 1600 0000 |000f: const-wide/16 v0, #int 0 // #0 │ │ +028aba: 5a20 7a03 |0011: iput-wide v0, v2, Lutil/TimoutNotificator;.curTime:J // field@037a │ │ +028abe: 0e00 |0013: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=28 │ │ 0x0003 line=33 │ │ 0x000b line=34 │ │ 0x000d line=35 │ │ 0x0011 line=36 │ │ @@ -30676,35 +30676,35 @@ │ │ type : '()Lutil/TimoutNotificator;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -028a38: |[028a38] util.TimoutNotificator.getInstance:()Lutil/TimoutNotificator; │ │ -028a48: 6200 7b03 |0000: sget-object v0, Lutil/TimoutNotificator;.instance:Lutil/TimoutNotificator; // field@037b │ │ -028a4c: 1100 |0002: return-object v0 │ │ +028a34: |[028a34] util.TimoutNotificator.getInstance:()Lutil/TimoutNotificator; │ │ +028a44: 6200 7b03 |0000: sget-object v0, Lutil/TimoutNotificator;.instance:Lutil/TimoutNotificator; // field@037b │ │ +028a48: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=41 │ │ locals : │ │ │ │ #3 : (in Lutil/TimoutNotificator;) │ │ name : 'getNewInstance' │ │ type : '()Lutil/TimoutNotificator;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -028a50: |[028a50] util.TimoutNotificator.getNewInstance:()Lutil/TimoutNotificator; │ │ -028a60: 2200 8d01 |0000: new-instance v0, Lutil/TimoutNotificator; // type@018d │ │ -028a64: 7010 6007 0000 |0002: invoke-direct {v0}, Lutil/TimoutNotificator;.:()V // method@0760 │ │ -028a6a: 1100 |0005: return-object v0 │ │ +028a4c: |[028a4c] util.TimoutNotificator.getNewInstance:()Lutil/TimoutNotificator; │ │ +028a5c: 2200 8d01 |0000: new-instance v0, Lutil/TimoutNotificator; // type@018d │ │ +028a60: 7010 6007 0000 |0002: invoke-direct {v0}, Lutil/TimoutNotificator;.:()V // method@0760 │ │ +028a66: 1100 |0005: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=45 │ │ locals : │ │ │ │ Virtual methods - │ │ #0 : (in Lutil/TimoutNotificator;) │ │ @@ -30712,22 +30712,22 @@ │ │ type : '()J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 12 16-bit code units │ │ -028a10: |[028a10] util.TimoutNotificator.getCurrentTime:()J │ │ -028a20: 5520 7e03 |0000: iget-boolean v0, v2, Lutil/TimoutNotificator;.threadAvailable:Z // field@037e │ │ -028a24: 3800 0500 |0002: if-eqz v0, 0007 // +0005 │ │ -028a28: 5320 7a03 |0004: iget-wide v0, v2, Lutil/TimoutNotificator;.curTime:J // field@037a │ │ -028a2c: 1000 |0006: return-wide v0 │ │ -028a2e: 7100 8d05 0000 |0007: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@058d │ │ -028a34: 0b00 |000a: move-result-wide v0 │ │ -028a36: 1000 |000b: return-wide v0 │ │ +028a0c: |[028a0c] util.TimoutNotificator.getCurrentTime:()J │ │ +028a1c: 5520 7e03 |0000: iget-boolean v0, v2, Lutil/TimoutNotificator;.threadAvailable:Z // field@037e │ │ +028a20: 3800 0500 |0002: if-eqz v0, 0007 // +0005 │ │ +028a24: 5320 7a03 |0004: iget-wide v0, v2, Lutil/TimoutNotificator;.curTime:J // field@037a │ │ +028a28: 1000 |0006: return-wide v0 │ │ +028a2a: 7100 8d05 0000 |0007: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@058d │ │ +028a30: 0b00 |000a: move-result-wide v0 │ │ +028a32: 1000 |000b: return-wide v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=106 │ │ 0x0004 line=107 │ │ 0x0007 line=109 │ │ locals : │ │ 0x0000 - 0x000c reg=2 this Lutil/TimoutNotificator; │ │ @@ -30737,34 +30737,34 @@ │ │ type : '(Lutil/TimeoutListener;)V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 35 16-bit code units │ │ -028ac4: |[028ac4] util.TimoutNotificator.register:(Lutil/TimeoutListener;)V │ │ -028ad4: 1d02 |0000: monitor-enter v2 │ │ -028ad6: 5420 7c03 |0001: iget-object v0, v2, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@037c │ │ -028ada: 6e20 0f06 3000 |0003: invoke-virtual {v0, v3}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@060f │ │ -028ae0: 5523 7e03 |0006: iget-boolean v3, v2, Lutil/TimoutNotificator;.threadAvailable:Z // field@037e │ │ -028ae4: 3903 1600 |0008: if-nez v3, 001e // +0016 │ │ -028ae8: 7100 8d05 0000 |000a: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@058d │ │ -028aee: 0b00 |000d: move-result-wide v0 │ │ -028af0: 5a20 7a03 |000e: iput-wide v0, v2, Lutil/TimoutNotificator;.curTime:J // field@037a │ │ -028af4: 1213 |0010: const/4 v3, #int 1 // #1 │ │ -028af6: 5c23 7e03 |0011: iput-boolean v3, v2, Lutil/TimoutNotificator;.threadAvailable:Z // field@037e │ │ -028afa: 2200 2a01 |0013: new-instance v0, Ljava/lang/Thread; // type@012a │ │ -028afe: 7020 9005 2000 |0015: invoke-direct {v0, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ -028b04: 6e20 9405 3000 |0018: invoke-virtual {v0, v3}, Ljava/lang/Thread;.setDaemon:(Z)V // method@0594 │ │ -028b0a: 6e10 9605 0000 |001b: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@0596 │ │ -028b10: 1e02 |001e: monitor-exit v2 │ │ -028b12: 0e00 |001f: return-void │ │ -028b14: 0d03 |0020: move-exception v3 │ │ -028b16: 1e02 |0021: monitor-exit v2 │ │ -028b18: 2703 |0022: throw v3 │ │ +028ac0: |[028ac0] util.TimoutNotificator.register:(Lutil/TimeoutListener;)V │ │ +028ad0: 1d02 |0000: monitor-enter v2 │ │ +028ad2: 5420 7c03 |0001: iget-object v0, v2, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@037c │ │ +028ad6: 6e20 0f06 3000 |0003: invoke-virtual {v0, v3}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@060f │ │ +028adc: 5523 7e03 |0006: iget-boolean v3, v2, Lutil/TimoutNotificator;.threadAvailable:Z // field@037e │ │ +028ae0: 3903 1600 |0008: if-nez v3, 001e // +0016 │ │ +028ae4: 7100 8d05 0000 |000a: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@058d │ │ +028aea: 0b00 |000d: move-result-wide v0 │ │ +028aec: 5a20 7a03 |000e: iput-wide v0, v2, Lutil/TimoutNotificator;.curTime:J // field@037a │ │ +028af0: 1213 |0010: const/4 v3, #int 1 // #1 │ │ +028af2: 5c23 7e03 |0011: iput-boolean v3, v2, Lutil/TimoutNotificator;.threadAvailable:Z // field@037e │ │ +028af6: 2200 2a01 |0013: new-instance v0, Ljava/lang/Thread; // type@012a │ │ +028afa: 7020 9005 2000 |0015: invoke-direct {v0, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ +028b00: 6e20 9405 3000 |0018: invoke-virtual {v0, v3}, Ljava/lang/Thread;.setDaemon:(Z)V // method@0594 │ │ +028b06: 6e10 9605 0000 |001b: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@0596 │ │ +028b0c: 1e02 |001e: monitor-exit v2 │ │ +028b0e: 0e00 |001f: return-void │ │ +028b10: 0d03 |0020: move-exception v3 │ │ +028b12: 1e02 |0021: monitor-exit v2 │ │ +028b14: 2703 |0022: throw v3 │ │ catches : 1 │ │ 0x0001 - 0x001e │ │ -> 0x0020 │ │ positions : │ │ 0x0001 line=50 │ │ 0x0006 line=52 │ │ 0x000a line=53 │ │ @@ -30782,85 +30782,85 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 10 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 125 16-bit code units │ │ -028b28: |[028b28] util.TimoutNotificator.run:()V │ │ -028b38: 2200 6601 |0000: new-instance v0, Ljava/util/Vector; // type@0166 │ │ -028b3c: 7010 5606 0000 |0002: invoke-direct {v0}, Ljava/util/Vector;.:()V // method@0656 │ │ -028b42: 1d09 |0005: monitor-enter v9 │ │ -028b44: 6e10 6206 0000 |0006: invoke-virtual {v0}, Ljava/util/Vector;.removeAllElements:()V // method@0662 │ │ -028b4a: 7100 8d05 0000 |0009: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@058d │ │ -028b50: 0b01 |000c: move-result-wide v1 │ │ -028b52: 5a91 7a03 |000d: iput-wide v1, v9, Lutil/TimoutNotificator;.curTime:J // field@037a │ │ -028b56: 1601 e803 |000f: const-wide/16 v1, #int 1000 // #3e8 │ │ -028b5a: 6e30 5605 1902 |0011: invoke-virtual {v9, v1, v2}, Ljava/lang/Object;.wait:(J)V // method@0556 │ │ -028b60: 2805 |0014: goto 0019 // +0005 │ │ -028b62: 0d03 |0015: move-exception v3 │ │ -028b64: 6e10 4505 0300 |0016: invoke-virtual {v3}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@0545 │ │ -028b6a: 5393 7a03 |0019: iget-wide v3, v9, Lutil/TimoutNotificator;.curTime:J // field@037a │ │ -028b6e: bb13 |001b: add-long/2addr v3, v1 │ │ -028b70: 5a93 7a03 |001c: iput-wide v3, v9, Lutil/TimoutNotificator;.curTime:J // field@037a │ │ -028b74: 5591 7d03 |001e: iget-boolean v1, v9, Lutil/TimoutNotificator;.stopped:Z // field@037d │ │ -028b78: 1202 |0020: const/4 v2, #int 0 // #0 │ │ -028b7a: 3901 2b00 |0021: if-nez v1, 004c // +002b │ │ -028b7e: 5491 7c03 |0023: iget-object v1, v9, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@037c │ │ -028b82: 2323 b201 |0025: new-array v3, v2, [Lutil/TimeoutListener; // type@01b2 │ │ -028b86: 6e20 1606 3100 |0027: invoke-virtual {v1, v3}, Ljava/util/HashSet;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0616 │ │ -028b8c: 0c01 |002a: move-result-object v1 │ │ -028b8e: 1f01 b201 |002b: check-cast v1, [Lutil/TimeoutListener; // type@01b2 │ │ -028b92: 1203 |002d: const/4 v3, #int 0 // #0 │ │ -028b94: 2114 |002e: array-length v4, v1 │ │ -028b96: 3543 1d00 |002f: if-ge v3, v4, 004c // +001d │ │ -028b9a: 4604 0103 |0031: aget-object v4, v1, v3 │ │ -028b9e: 7210 5a07 0400 |0033: invoke-interface {v4}, Lutil/TimeoutListener;.getTimoutTime:()J // method@075a │ │ -028ba4: 0b04 |0036: move-result-wide v4 │ │ -028ba6: 5396 7a03 |0037: iget-wide v6, v9, Lutil/TimoutNotificator;.curTime:J // field@037a │ │ -028baa: 3108 0604 |0039: cmp-long v8, v6, v4 │ │ -028bae: 3d08 0e00 |003b: if-lez v8, 0049 // +000e │ │ -028bb2: 5494 7c03 |003d: iget-object v4, v9, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@037c │ │ -028bb6: 4605 0103 |003f: aget-object v5, v1, v3 │ │ -028bba: 6e20 1406 5400 |0041: invoke-virtual {v4, v5}, Ljava/util/HashSet;.remove:(Ljava/lang/Object;)Z // method@0614 │ │ -028bc0: 4604 0103 |0044: aget-object v4, v1, v3 │ │ -028bc4: 6e20 5806 4000 |0046: invoke-virtual {v0, v4}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0658 │ │ -028bca: d803 0301 |0049: add-int/lit8 v3, v3, #int 1 // #01 │ │ -028bce: 28e3 |004b: goto 002e // -001d │ │ -028bd0: 5491 7c03 |004c: iget-object v1, v9, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@037c │ │ -028bd4: 6e10 1206 0100 |004e: invoke-virtual {v1}, Ljava/util/HashSet;.isEmpty:()Z // method@0612 │ │ -028bda: 0a01 |0051: move-result v1 │ │ -028bdc: 3901 0900 |0052: if-nez v1, 005b // +0009 │ │ -028be0: 5591 7d03 |0054: iget-boolean v1, v9, Lutil/TimoutNotificator;.stopped:Z // field@037d │ │ -028be4: 3801 0300 |0056: if-eqz v1, 0059 // +0003 │ │ -028be8: 2803 |0058: goto 005b // +0003 │ │ -028bea: 1201 |0059: const/4 v1, #int 0 // #0 │ │ -028bec: 2802 |005a: goto 005c // +0002 │ │ -028bee: 1211 |005b: const/4 v1, #int 1 // #1 │ │ -028bf0: 3801 0400 |005c: if-eqz v1, 0060 // +0004 │ │ -028bf4: 5c92 7e03 |005e: iput-boolean v2, v9, Lutil/TimoutNotificator;.threadAvailable:Z // field@037e │ │ -028bf8: 1e09 |0060: monitor-exit v9 │ │ -028bfa: 2323 b201 |0061: new-array v3, v2, [Lutil/TimeoutListener; // type@01b2 │ │ -028bfe: 6e20 6406 3000 |0063: invoke-virtual {v0, v3}, Ljava/util/Vector;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0664 │ │ -028c04: 0c03 |0066: move-result-object v3 │ │ -028c06: 1f03 b201 |0067: check-cast v3, [Lutil/TimeoutListener; // type@01b2 │ │ -028c0a: 2134 |0069: array-length v4, v3 │ │ -028c0c: 3542 0a00 |006a: if-ge v2, v4, 0074 // +000a │ │ -028c10: 4604 0302 |006c: aget-object v4, v3, v2 │ │ -028c14: 7210 5b07 0400 |006e: invoke-interface {v4}, Lutil/TimeoutListener;.timeoutNotification:()V // method@075b │ │ -028c1a: d802 0201 |0071: add-int/lit8 v2, v2, #int 1 // #01 │ │ -028c1e: 28f6 |0073: goto 0069 // -000a │ │ -028c20: 3901 0300 |0074: if-nez v1, 0077 // +0003 │ │ -028c24: 288f |0076: goto 0005 // -0071 │ │ -028c26: 0e00 |0077: return-void │ │ -028c28: 0d00 |0078: move-exception v0 │ │ -028c2a: 1e09 |0079: monitor-exit v9 │ │ -028c2c: 2802 |007a: goto 007c // +0002 │ │ -028c2e: 2700 |007b: throw v0 │ │ -028c30: 28ff |007c: goto 007b // -0001 │ │ +028b24: |[028b24] util.TimoutNotificator.run:()V │ │ +028b34: 2200 6601 |0000: new-instance v0, Ljava/util/Vector; // type@0166 │ │ +028b38: 7010 5606 0000 |0002: invoke-direct {v0}, Ljava/util/Vector;.:()V // method@0656 │ │ +028b3e: 1d09 |0005: monitor-enter v9 │ │ +028b40: 6e10 6206 0000 |0006: invoke-virtual {v0}, Ljava/util/Vector;.removeAllElements:()V // method@0662 │ │ +028b46: 7100 8d05 0000 |0009: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@058d │ │ +028b4c: 0b01 |000c: move-result-wide v1 │ │ +028b4e: 5a91 7a03 |000d: iput-wide v1, v9, Lutil/TimoutNotificator;.curTime:J // field@037a │ │ +028b52: 1601 e803 |000f: const-wide/16 v1, #int 1000 // #3e8 │ │ +028b56: 6e30 5605 1902 |0011: invoke-virtual {v9, v1, v2}, Ljava/lang/Object;.wait:(J)V // method@0556 │ │ +028b5c: 2805 |0014: goto 0019 // +0005 │ │ +028b5e: 0d03 |0015: move-exception v3 │ │ +028b60: 6e10 4505 0300 |0016: invoke-virtual {v3}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@0545 │ │ +028b66: 5393 7a03 |0019: iget-wide v3, v9, Lutil/TimoutNotificator;.curTime:J // field@037a │ │ +028b6a: bb13 |001b: add-long/2addr v3, v1 │ │ +028b6c: 5a93 7a03 |001c: iput-wide v3, v9, Lutil/TimoutNotificator;.curTime:J // field@037a │ │ +028b70: 5591 7d03 |001e: iget-boolean v1, v9, Lutil/TimoutNotificator;.stopped:Z // field@037d │ │ +028b74: 1202 |0020: const/4 v2, #int 0 // #0 │ │ +028b76: 3901 2b00 |0021: if-nez v1, 004c // +002b │ │ +028b7a: 5491 7c03 |0023: iget-object v1, v9, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@037c │ │ +028b7e: 2323 b201 |0025: new-array v3, v2, [Lutil/TimeoutListener; // type@01b2 │ │ +028b82: 6e20 1606 3100 |0027: invoke-virtual {v1, v3}, Ljava/util/HashSet;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0616 │ │ +028b88: 0c01 |002a: move-result-object v1 │ │ +028b8a: 1f01 b201 |002b: check-cast v1, [Lutil/TimeoutListener; // type@01b2 │ │ +028b8e: 1203 |002d: const/4 v3, #int 0 // #0 │ │ +028b90: 2114 |002e: array-length v4, v1 │ │ +028b92: 3543 1d00 |002f: if-ge v3, v4, 004c // +001d │ │ +028b96: 4604 0103 |0031: aget-object v4, v1, v3 │ │ +028b9a: 7210 5a07 0400 |0033: invoke-interface {v4}, Lutil/TimeoutListener;.getTimoutTime:()J // method@075a │ │ +028ba0: 0b04 |0036: move-result-wide v4 │ │ +028ba2: 5396 7a03 |0037: iget-wide v6, v9, Lutil/TimoutNotificator;.curTime:J // field@037a │ │ +028ba6: 3108 0604 |0039: cmp-long v8, v6, v4 │ │ +028baa: 3d08 0e00 |003b: if-lez v8, 0049 // +000e │ │ +028bae: 5494 7c03 |003d: iget-object v4, v9, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@037c │ │ +028bb2: 4605 0103 |003f: aget-object v5, v1, v3 │ │ +028bb6: 6e20 1406 5400 |0041: invoke-virtual {v4, v5}, Ljava/util/HashSet;.remove:(Ljava/lang/Object;)Z // method@0614 │ │ +028bbc: 4604 0103 |0044: aget-object v4, v1, v3 │ │ +028bc0: 6e20 5806 4000 |0046: invoke-virtual {v0, v4}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0658 │ │ +028bc6: d803 0301 |0049: add-int/lit8 v3, v3, #int 1 // #01 │ │ +028bca: 28e3 |004b: goto 002e // -001d │ │ +028bcc: 5491 7c03 |004c: iget-object v1, v9, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@037c │ │ +028bd0: 6e10 1206 0100 |004e: invoke-virtual {v1}, Ljava/util/HashSet;.isEmpty:()Z // method@0612 │ │ +028bd6: 0a01 |0051: move-result v1 │ │ +028bd8: 3901 0900 |0052: if-nez v1, 005b // +0009 │ │ +028bdc: 5591 7d03 |0054: iget-boolean v1, v9, Lutil/TimoutNotificator;.stopped:Z // field@037d │ │ +028be0: 3801 0300 |0056: if-eqz v1, 0059 // +0003 │ │ +028be4: 2803 |0058: goto 005b // +0003 │ │ +028be6: 1201 |0059: const/4 v1, #int 0 // #0 │ │ +028be8: 2802 |005a: goto 005c // +0002 │ │ +028bea: 1211 |005b: const/4 v1, #int 1 // #1 │ │ +028bec: 3801 0400 |005c: if-eqz v1, 0060 // +0004 │ │ +028bf0: 5c92 7e03 |005e: iput-boolean v2, v9, Lutil/TimoutNotificator;.threadAvailable:Z // field@037e │ │ +028bf4: 1e09 |0060: monitor-exit v9 │ │ +028bf6: 2323 b201 |0061: new-array v3, v2, [Lutil/TimeoutListener; // type@01b2 │ │ +028bfa: 6e20 6406 3000 |0063: invoke-virtual {v0, v3}, Ljava/util/Vector;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0664 │ │ +028c00: 0c03 |0066: move-result-object v3 │ │ +028c02: 1f03 b201 |0067: check-cast v3, [Lutil/TimeoutListener; // type@01b2 │ │ +028c06: 2134 |0069: array-length v4, v3 │ │ +028c08: 3542 0a00 |006a: if-ge v2, v4, 0074 // +000a │ │ +028c0c: 4604 0302 |006c: aget-object v4, v3, v2 │ │ +028c10: 7210 5b07 0400 |006e: invoke-interface {v4}, Lutil/TimeoutListener;.timeoutNotification:()V // method@075b │ │ +028c16: d802 0201 |0071: add-int/lit8 v2, v2, #int 1 // #01 │ │ +028c1a: 28f6 |0073: goto 0069 // -000a │ │ +028c1c: 3901 0300 |0074: if-nez v1, 0077 // +0003 │ │ +028c20: 288f |0076: goto 0005 // -0071 │ │ +028c22: 0e00 |0077: return-void │ │ +028c24: 0d00 |0078: move-exception v0 │ │ +028c26: 1e09 |0079: monitor-exit v9 │ │ +028c28: 2802 |007a: goto 007c // +0002 │ │ +028c2a: 2700 |007b: throw v0 │ │ +028c2c: 28ff |007c: goto 007b // -0001 │ │ catches : 4 │ │ 0x0006 - 0x000f │ │ -> 0x0078 │ │ 0x0011 - 0x0014 │ │ Ljava/lang/InterruptedException; -> 0x0015 │ │ -> 0x0078 │ │ 0x0016 - 0x0061 │ │ @@ -30897,24 +30897,24 @@ │ │ type : '()V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 12 16-bit code units │ │ -028c5c: |[028c5c] util.TimoutNotificator.shutdown:()V │ │ -028c6c: 1d01 |0000: monitor-enter v1 │ │ -028c6e: 1210 |0001: const/4 v0, #int 1 // #1 │ │ -028c70: 5c10 7d03 |0002: iput-boolean v0, v1, Lutil/TimoutNotificator;.stopped:Z // field@037d │ │ -028c74: 6e10 5305 0100 |0004: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ -028c7a: 1e01 |0007: monitor-exit v1 │ │ -028c7c: 0e00 |0008: return-void │ │ -028c7e: 0d00 |0009: move-exception v0 │ │ -028c80: 1e01 |000a: monitor-exit v1 │ │ -028c82: 2700 |000b: throw v0 │ │ +028c58: |[028c58] util.TimoutNotificator.shutdown:()V │ │ +028c68: 1d01 |0000: monitor-enter v1 │ │ +028c6a: 1210 |0001: const/4 v0, #int 1 // #1 │ │ +028c6c: 5c10 7d03 |0002: iput-boolean v0, v1, Lutil/TimoutNotificator;.stopped:Z // field@037d │ │ +028c70: 6e10 5305 0100 |0004: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ +028c76: 1e01 |0007: monitor-exit v1 │ │ +028c78: 0e00 |0008: return-void │ │ +028c7a: 0d00 |0009: move-exception v0 │ │ +028c7c: 1e01 |000a: monitor-exit v1 │ │ +028c7e: 2700 |000b: throw v0 │ │ catches : 1 │ │ 0x0002 - 0x0007 │ │ -> 0x0009 │ │ positions : │ │ 0x0002 line=101 │ │ 0x0004 line=102 │ │ 0x0007 line=103 │ │ @@ -30926,23 +30926,23 @@ │ │ type : '(Lutil/TimeoutListener;)V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 11 16-bit code units │ │ -028c90: |[028c90] util.TimoutNotificator.unregister:(Lutil/TimeoutListener;)V │ │ -028ca0: 1d01 |0000: monitor-enter v1 │ │ -028ca2: 5410 7c03 |0001: iget-object v0, v1, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@037c │ │ -028ca6: 6e20 1406 2000 |0003: invoke-virtual {v0, v2}, Ljava/util/HashSet;.remove:(Ljava/lang/Object;)Z // method@0614 │ │ -028cac: 1e01 |0006: monitor-exit v1 │ │ -028cae: 0e00 |0007: return-void │ │ -028cb0: 0d02 |0008: move-exception v2 │ │ -028cb2: 1e01 |0009: monitor-exit v1 │ │ -028cb4: 2702 |000a: throw v2 │ │ +028c8c: |[028c8c] util.TimoutNotificator.unregister:(Lutil/TimeoutListener;)V │ │ +028c9c: 1d01 |0000: monitor-enter v1 │ │ +028c9e: 5410 7c03 |0001: iget-object v0, v1, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@037c │ │ +028ca2: 6e20 1406 2000 |0003: invoke-virtual {v0, v2}, Ljava/util/HashSet;.remove:(Ljava/lang/Object;)Z // method@0614 │ │ +028ca8: 1e01 |0006: monitor-exit v1 │ │ +028caa: 0e00 |0007: return-void │ │ +028cac: 0d02 |0008: move-exception v2 │ │ +028cae: 1e01 |0009: monitor-exit v1 │ │ +028cb0: 2702 |000a: throw v2 │ │ catches : 1 │ │ 0x0001 - 0x0006 │ │ -> 0x0008 │ │ positions : │ │ 0x0001 line=113 │ │ 0x0006 line=115 │ │ locals : │ │ @@ -31006,17 +31006,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -029398: |[029398] util.Utils.:()V │ │ -0293a8: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -0293ae: 0e00 |0003: return-void │ │ +029394: |[029394] util.Utils.:()V │ │ +0293a4: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +0293aa: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=51 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lutil/Utils; │ │ │ │ #1 : (in Lutil/Utils;) │ │ @@ -31024,33 +31024,33 @@ │ │ type : '([Ljava/lang/Object;[Ljava/lang/Object;)Z' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 26 16-bit code units │ │ -028cc4: |[028cc4] util.Utils.arrayEqual:([Ljava/lang/Object;[Ljava/lang/Object;)Z │ │ -028cd4: 2140 |0000: array-length v0, v4 │ │ -028cd6: 2151 |0001: array-length v1, v5 │ │ -028cd8: 1202 |0002: const/4 v2, #int 0 // #0 │ │ -028cda: 3210 0300 |0003: if-eq v0, v1, 0006 // +0003 │ │ -028cde: 0f02 |0005: return v2 │ │ -028ce0: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -028ce2: 2141 |0007: array-length v1, v4 │ │ -028ce4: 3510 1000 |0008: if-ge v0, v1, 0018 // +0010 │ │ -028ce8: 4601 0400 |000a: aget-object v1, v4, v0 │ │ -028cec: 4603 0500 |000c: aget-object v3, v5, v0 │ │ -028cf0: 6e20 5005 3100 |000e: invoke-virtual {v1, v3}, Ljava/lang/Object;.equals:(Ljava/lang/Object;)Z // method@0550 │ │ -028cf6: 0a01 |0011: move-result v1 │ │ -028cf8: 3901 0300 |0012: if-nez v1, 0015 // +0003 │ │ -028cfc: 0f02 |0014: return v2 │ │ -028cfe: d800 0001 |0015: add-int/lit8 v0, v0, #int 1 // #01 │ │ -028d02: 28f0 |0017: goto 0007 // -0010 │ │ -028d04: 1214 |0018: const/4 v4, #int 1 // #1 │ │ -028d06: 0f04 |0019: return v4 │ │ +028cc0: |[028cc0] util.Utils.arrayEqual:([Ljava/lang/Object;[Ljava/lang/Object;)Z │ │ +028cd0: 2140 |0000: array-length v0, v4 │ │ +028cd2: 2151 |0001: array-length v1, v5 │ │ +028cd4: 1202 |0002: const/4 v2, #int 0 // #0 │ │ +028cd6: 3210 0300 |0003: if-eq v0, v1, 0006 // +0003 │ │ +028cda: 0f02 |0005: return v2 │ │ +028cdc: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +028cde: 2141 |0007: array-length v1, v4 │ │ +028ce0: 3510 1000 |0008: if-ge v0, v1, 0018 // +0010 │ │ +028ce4: 4601 0400 |000a: aget-object v1, v4, v0 │ │ +028ce8: 4603 0500 |000c: aget-object v3, v5, v0 │ │ +028cec: 6e20 5005 3100 |000e: invoke-virtual {v1, v3}, Ljava/lang/Object;.equals:(Ljava/lang/Object;)Z // method@0550 │ │ +028cf2: 0a01 |0011: move-result v1 │ │ +028cf4: 3901 0300 |0012: if-nez v1, 0015 // +0003 │ │ +028cf8: 0f02 |0014: return v2 │ │ +028cfa: d800 0001 |0015: add-int/lit8 v0, v0, #int 1 // #01 │ │ +028cfe: 28f0 |0017: goto 0007 // -0010 │ │ +028d00: 1214 |0018: const/4 v4, #int 1 // #1 │ │ +028d02: 0f04 |0019: return v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=119 │ │ 0x0007 line=122 │ │ 0x000a line=123 │ │ locals : │ │ 0x0000 - 0x001a reg=4 (null) [Ljava/lang/Object; │ │ @@ -31061,34 +31061,34 @@ │ │ type : '([B)I' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 30 16-bit code units │ │ -028e7c: |[028e7c] util.Utils.byteArrayToInt:([B)I │ │ -028e8c: 1230 |0000: const/4 v0, #int 3 // #3 │ │ -028e8e: 4800 0200 |0001: aget-byte v0, v2, v0 │ │ -028e92: d500 ff00 |0003: and-int/lit16 v0, v0, #int 255 // #00ff │ │ -028e96: 1221 |0005: const/4 v1, #int 2 // #2 │ │ -028e98: 4801 0201 |0006: aget-byte v1, v2, v1 │ │ -028e9c: d511 ff00 |0008: and-int/lit16 v1, v1, #int 255 // #00ff │ │ -028ea0: e001 0108 |000a: shl-int/lit8 v1, v1, #int 8 // #08 │ │ -028ea4: b610 |000c: or-int/2addr v0, v1 │ │ -028ea6: 1211 |000d: const/4 v1, #int 1 // #1 │ │ -028ea8: 4801 0201 |000e: aget-byte v1, v2, v1 │ │ -028eac: d511 ff00 |0010: and-int/lit16 v1, v1, #int 255 // #00ff │ │ -028eb0: e001 0110 |0012: shl-int/lit8 v1, v1, #int 16 // #10 │ │ -028eb4: b610 |0014: or-int/2addr v0, v1 │ │ -028eb6: 1201 |0015: const/4 v1, #int 0 // #0 │ │ -028eb8: 4802 0201 |0016: aget-byte v2, v2, v1 │ │ -028ebc: d522 ff00 |0018: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -028ec0: e002 0218 |001a: shl-int/lit8 v2, v2, #int 24 // #18 │ │ -028ec4: b602 |001c: or-int/2addr v2, v0 │ │ -028ec6: 0f02 |001d: return v2 │ │ +028e78: |[028e78] util.Utils.byteArrayToInt:([B)I │ │ +028e88: 1230 |0000: const/4 v0, #int 3 // #3 │ │ +028e8a: 4800 0200 |0001: aget-byte v0, v2, v0 │ │ +028e8e: d500 ff00 |0003: and-int/lit16 v0, v0, #int 255 // #00ff │ │ +028e92: 1221 |0005: const/4 v1, #int 2 // #2 │ │ +028e94: 4801 0201 |0006: aget-byte v1, v2, v1 │ │ +028e98: d511 ff00 |0008: and-int/lit16 v1, v1, #int 255 // #00ff │ │ +028e9c: e001 0108 |000a: shl-int/lit8 v1, v1, #int 8 // #08 │ │ +028ea0: b610 |000c: or-int/2addr v0, v1 │ │ +028ea2: 1211 |000d: const/4 v1, #int 1 // #1 │ │ +028ea4: 4801 0201 |000e: aget-byte v1, v2, v1 │ │ +028ea8: d511 ff00 |0010: and-int/lit16 v1, v1, #int 255 // #00ff │ │ +028eac: e001 0110 |0012: shl-int/lit8 v1, v1, #int 16 // #10 │ │ +028eb0: b610 |0014: or-int/2addr v0, v1 │ │ +028eb2: 1201 |0015: const/4 v1, #int 0 // #0 │ │ +028eb4: 4802 0201 |0016: aget-byte v2, v2, v1 │ │ +028eb8: d522 ff00 |0018: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +028ebc: e002 0218 |001a: shl-int/lit8 v2, v2, #int 24 // #18 │ │ +028ec0: b602 |001c: or-int/2addr v2, v0 │ │ +028ec2: 0f02 |001d: return v2 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=54 │ │ locals : │ │ 0x0000 - 0x001e reg=2 (null) [B │ │ │ │ #3 : (in Lutil/Utils;) │ │ @@ -31096,68 +31096,68 @@ │ │ type : '([BI)J' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 83 16-bit code units │ │ -029270: |[029270] util.Utils.byteArrayToLong:([BI)J │ │ -029280: d800 0607 |0000: add-int/lit8 v0, v6, #int 7 // #07 │ │ -029284: 4800 0500 |0002: aget-byte v0, v5, v0 │ │ -029288: d500 ff00 |0004: and-int/lit16 v0, v0, #int 255 // #00ff │ │ -02928c: 8100 |0006: int-to-long v0, v0 │ │ -02928e: d802 0606 |0007: add-int/lit8 v2, v6, #int 6 // #06 │ │ -029292: 4802 0502 |0009: aget-byte v2, v5, v2 │ │ -029296: d522 ff00 |000b: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -02929a: 8122 |000d: int-to-long v2, v2 │ │ -02929c: 1304 0800 |000e: const/16 v4, #int 8 // #8 │ │ -0292a0: c342 |0010: shl-long/2addr v2, v4 │ │ -0292a2: c120 |0011: or-long/2addr v0, v2 │ │ -0292a4: d802 0605 |0012: add-int/lit8 v2, v6, #int 5 // #05 │ │ -0292a8: 4802 0502 |0014: aget-byte v2, v5, v2 │ │ -0292ac: d522 ff00 |0016: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -0292b0: 8122 |0018: int-to-long v2, v2 │ │ -0292b2: 1304 1000 |0019: const/16 v4, #int 16 // #10 │ │ -0292b6: c342 |001b: shl-long/2addr v2, v4 │ │ -0292b8: c120 |001c: or-long/2addr v0, v2 │ │ -0292ba: d802 0604 |001d: add-int/lit8 v2, v6, #int 4 // #04 │ │ -0292be: 4802 0502 |001f: aget-byte v2, v5, v2 │ │ -0292c2: d522 ff00 |0021: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -0292c6: 8122 |0023: int-to-long v2, v2 │ │ -0292c8: 1304 1800 |0024: const/16 v4, #int 24 // #18 │ │ -0292cc: c342 |0026: shl-long/2addr v2, v4 │ │ -0292ce: c120 |0027: or-long/2addr v0, v2 │ │ -0292d0: d802 0603 |0028: add-int/lit8 v2, v6, #int 3 // #03 │ │ -0292d4: 4802 0502 |002a: aget-byte v2, v5, v2 │ │ -0292d8: d522 ff00 |002c: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -0292dc: 8122 |002e: int-to-long v2, v2 │ │ -0292de: 1304 2000 |002f: const/16 v4, #int 32 // #20 │ │ -0292e2: c342 |0031: shl-long/2addr v2, v4 │ │ -0292e4: c120 |0032: or-long/2addr v0, v2 │ │ -0292e6: d802 0602 |0033: add-int/lit8 v2, v6, #int 2 // #02 │ │ -0292ea: 4802 0502 |0035: aget-byte v2, v5, v2 │ │ -0292ee: d522 ff00 |0037: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -0292f2: 8122 |0039: int-to-long v2, v2 │ │ -0292f4: 1304 2800 |003a: const/16 v4, #int 40 // #28 │ │ -0292f8: c342 |003c: shl-long/2addr v2, v4 │ │ -0292fa: c120 |003d: or-long/2addr v0, v2 │ │ -0292fc: d802 0601 |003e: add-int/lit8 v2, v6, #int 1 // #01 │ │ -029300: 4802 0502 |0040: aget-byte v2, v5, v2 │ │ -029304: d522 ff00 |0042: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -029308: 8122 |0044: int-to-long v2, v2 │ │ -02930a: 1304 3000 |0045: const/16 v4, #int 48 // #30 │ │ -02930e: c342 |0047: shl-long/2addr v2, v4 │ │ -029310: c120 |0048: or-long/2addr v0, v2 │ │ -029312: 4805 0506 |0049: aget-byte v5, v5, v6 │ │ -029316: d555 ff00 |004b: and-int/lit16 v5, v5, #int 255 // #00ff │ │ -02931a: 8155 |004d: int-to-long v5, v5 │ │ -02931c: 1302 3800 |004e: const/16 v2, #int 56 // #38 │ │ -029320: c325 |0050: shl-long/2addr v5, v2 │ │ -029322: c105 |0051: or-long/2addr v5, v0 │ │ -029324: 1005 |0052: return-wide v5 │ │ +02926c: |[02926c] util.Utils.byteArrayToLong:([BI)J │ │ +02927c: d800 0607 |0000: add-int/lit8 v0, v6, #int 7 // #07 │ │ +029280: 4800 0500 |0002: aget-byte v0, v5, v0 │ │ +029284: d500 ff00 |0004: and-int/lit16 v0, v0, #int 255 // #00ff │ │ +029288: 8100 |0006: int-to-long v0, v0 │ │ +02928a: d802 0606 |0007: add-int/lit8 v2, v6, #int 6 // #06 │ │ +02928e: 4802 0502 |0009: aget-byte v2, v5, v2 │ │ +029292: d522 ff00 |000b: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +029296: 8122 |000d: int-to-long v2, v2 │ │ +029298: 1304 0800 |000e: const/16 v4, #int 8 // #8 │ │ +02929c: c342 |0010: shl-long/2addr v2, v4 │ │ +02929e: c120 |0011: or-long/2addr v0, v2 │ │ +0292a0: d802 0605 |0012: add-int/lit8 v2, v6, #int 5 // #05 │ │ +0292a4: 4802 0502 |0014: aget-byte v2, v5, v2 │ │ +0292a8: d522 ff00 |0016: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +0292ac: 8122 |0018: int-to-long v2, v2 │ │ +0292ae: 1304 1000 |0019: const/16 v4, #int 16 // #10 │ │ +0292b2: c342 |001b: shl-long/2addr v2, v4 │ │ +0292b4: c120 |001c: or-long/2addr v0, v2 │ │ +0292b6: d802 0604 |001d: add-int/lit8 v2, v6, #int 4 // #04 │ │ +0292ba: 4802 0502 |001f: aget-byte v2, v5, v2 │ │ +0292be: d522 ff00 |0021: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +0292c2: 8122 |0023: int-to-long v2, v2 │ │ +0292c4: 1304 1800 |0024: const/16 v4, #int 24 // #18 │ │ +0292c8: c342 |0026: shl-long/2addr v2, v4 │ │ +0292ca: c120 |0027: or-long/2addr v0, v2 │ │ +0292cc: d802 0603 |0028: add-int/lit8 v2, v6, #int 3 // #03 │ │ +0292d0: 4802 0502 |002a: aget-byte v2, v5, v2 │ │ +0292d4: d522 ff00 |002c: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +0292d8: 8122 |002e: int-to-long v2, v2 │ │ +0292da: 1304 2000 |002f: const/16 v4, #int 32 // #20 │ │ +0292de: c342 |0031: shl-long/2addr v2, v4 │ │ +0292e0: c120 |0032: or-long/2addr v0, v2 │ │ +0292e2: d802 0602 |0033: add-int/lit8 v2, v6, #int 2 // #02 │ │ +0292e6: 4802 0502 |0035: aget-byte v2, v5, v2 │ │ +0292ea: d522 ff00 |0037: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +0292ee: 8122 |0039: int-to-long v2, v2 │ │ +0292f0: 1304 2800 |003a: const/16 v4, #int 40 // #28 │ │ +0292f4: c342 |003c: shl-long/2addr v2, v4 │ │ +0292f6: c120 |003d: or-long/2addr v0, v2 │ │ +0292f8: d802 0601 |003e: add-int/lit8 v2, v6, #int 1 // #01 │ │ +0292fc: 4802 0502 |0040: aget-byte v2, v5, v2 │ │ +029300: d522 ff00 |0042: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +029304: 8122 |0044: int-to-long v2, v2 │ │ +029306: 1304 3000 |0045: const/16 v4, #int 48 // #30 │ │ +02930a: c342 |0047: shl-long/2addr v2, v4 │ │ +02930c: c120 |0048: or-long/2addr v0, v2 │ │ +02930e: 4805 0506 |0049: aget-byte v5, v5, v6 │ │ +029312: d555 ff00 |004b: and-int/lit16 v5, v5, #int 255 // #00ff │ │ +029316: 8155 |004d: int-to-long v5, v5 │ │ +029318: 1302 3800 |004e: const/16 v2, #int 56 // #38 │ │ +02931c: c325 |0050: shl-long/2addr v5, v2 │ │ +02931e: c105 |0051: or-long/2addr v5, v0 │ │ +029320: 1005 |0052: return-wide v5 │ │ catches : (none) │ │ positions : │ │ 0x0002 line=94 │ │ locals : │ │ 0x0000 - 0x0053 reg=5 (null) [B │ │ 0x0000 - 0x0053 reg=6 (null) I │ │ │ │ @@ -31166,19 +31166,19 @@ │ │ type : '(Ljava/net/Socket;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -0293b0: |[0293b0] util.Utils.closeSocket:(Ljava/net/Socket;)V │ │ -0293c0: 6e10 cb05 0000 |0000: invoke-virtual {v0}, Ljava/net/Socket;.shutdownOutput:()V // method@05cb │ │ -0293c6: 6e10 ca05 0000 |0003: invoke-virtual {v0}, Ljava/net/Socket;.shutdownInput:()V // method@05ca │ │ -0293cc: 6e10 c405 0000 |0006: invoke-virtual {v0}, Ljava/net/Socket;.close:()V // method@05c4 │ │ -0293d2: 0e00 |0009: return-void │ │ +0293ac: |[0293ac] util.Utils.closeSocket:(Ljava/net/Socket;)V │ │ +0293bc: 6e10 cb05 0000 |0000: invoke-virtual {v0}, Ljava/net/Socket;.shutdownOutput:()V // method@05cb │ │ +0293c2: 6e10 ca05 0000 |0003: invoke-virtual {v0}, Ljava/net/Socket;.shutdownInput:()V // method@05ca │ │ +0293c8: 6e10 c405 0000 |0006: invoke-virtual {v0}, Ljava/net/Socket;.close:()V // method@05c4 │ │ +0293ce: 0e00 |0009: return-void │ │ catches : 3 │ │ 0x0000 - 0x0003 │ │ Ljava/io/IOException; -> 0x0003 │ │ 0x0003 - 0x0006 │ │ Ljava/io/IOException; -> 0x0006 │ │ 0x0006 - 0x0009 │ │ Ljava/io/IOException; -> 0x0009 │ │ @@ -31194,30 +31194,30 @@ │ │ type : '(Ljava/io/File;Ljava/io/File;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 34 16-bit code units │ │ -0293fc: |[0293fc] util.Utils.copyFile:(Ljava/io/File;Ljava/io/File;)V │ │ -02940c: 6e10 e304 0300 |0000: invoke-virtual {v3}, Ljava/io/File;.getParentFile:()Ljava/io/File; // method@04e3 │ │ -029412: 0c00 |0003: move-result-object v0 │ │ -029414: 3800 0500 |0004: if-eqz v0, 0009 // +0005 │ │ -029418: 6e10 eb04 0000 |0006: invoke-virtual {v0}, Ljava/io/File;.mkdirs:()Z // method@04eb │ │ -02941e: 2200 ed00 |0009: new-instance v0, Ljava/io/BufferedInputStream; // type@00ed │ │ -029422: 2201 f800 |000b: new-instance v1, Ljava/io/FileInputStream; // type@00f8 │ │ -029426: 7020 ed04 2100 |000d: invoke-direct {v1, v2}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@04ed │ │ -02942c: 7020 ad04 1000 |0010: invoke-direct {v0, v1}, Ljava/io/BufferedInputStream;.:(Ljava/io/InputStream;)V // method@04ad │ │ -029432: 2202 ee00 |0013: new-instance v2, Ljava/io/BufferedOutputStream; // type@00ee │ │ -029436: 2201 fa00 |0015: new-instance v1, Ljava/io/FileOutputStream; // type@00fa │ │ -02943a: 7020 f304 3100 |0017: invoke-direct {v1, v3}, Ljava/io/FileOutputStream;.:(Ljava/io/File;)V // method@04f3 │ │ -029440: 7020 af04 1200 |001a: invoke-direct {v2, v1}, Ljava/io/BufferedOutputStream;.:(Ljava/io/OutputStream;)V // method@04af │ │ -029446: 1213 |001d: const/4 v3, #int 1 // #1 │ │ -029448: 7130 6e07 2003 |001e: invoke-static {v0, v2, v3}, Lutil/Utils;.copyFully:(Ljava/io/InputStream;Ljava/io/OutputStream;Z)V // method@076e │ │ -02944e: 0e00 |0021: return-void │ │ +0293f8: |[0293f8] util.Utils.copyFile:(Ljava/io/File;Ljava/io/File;)V │ │ +029408: 6e10 e304 0300 |0000: invoke-virtual {v3}, Ljava/io/File;.getParentFile:()Ljava/io/File; // method@04e3 │ │ +02940e: 0c00 |0003: move-result-object v0 │ │ +029410: 3800 0500 |0004: if-eqz v0, 0009 // +0005 │ │ +029414: 6e10 eb04 0000 |0006: invoke-virtual {v0}, Ljava/io/File;.mkdirs:()Z // method@04eb │ │ +02941a: 2200 ed00 |0009: new-instance v0, Ljava/io/BufferedInputStream; // type@00ed │ │ +02941e: 2201 f800 |000b: new-instance v1, Ljava/io/FileInputStream; // type@00f8 │ │ +029422: 7020 ed04 2100 |000d: invoke-direct {v1, v2}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@04ed │ │ +029428: 7020 ad04 1000 |0010: invoke-direct {v0, v1}, Ljava/io/BufferedInputStream;.:(Ljava/io/InputStream;)V // method@04ad │ │ +02942e: 2202 ee00 |0013: new-instance v2, Ljava/io/BufferedOutputStream; // type@00ee │ │ +029432: 2201 fa00 |0015: new-instance v1, Ljava/io/FileOutputStream; // type@00fa │ │ +029436: 7020 f304 3100 |0017: invoke-direct {v1, v3}, Ljava/io/FileOutputStream;.:(Ljava/io/File;)V // method@04f3 │ │ +02943c: 7020 af04 1200 |001a: invoke-direct {v2, v1}, Ljava/io/BufferedOutputStream;.:(Ljava/io/OutputStream;)V // method@04af │ │ +029442: 1213 |001d: const/4 v3, #int 1 // #1 │ │ +029444: 7130 6e07 2003 |001e: invoke-static {v0, v2, v3}, Lutil/Utils;.copyFully:(Ljava/io/InputStream;Ljava/io/OutputStream;Z)V // method@076e │ │ +02944a: 0e00 |0021: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=338 │ │ 0x0006 line=340 │ │ 0x0009 line=341 │ │ 0x0013 line=342 │ │ 0x001e line=343 │ │ @@ -31230,29 +31230,29 @@ │ │ type : '(Ljava/io/InputStream;Ljava/io/OutputStream;Z)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 6 │ │ ins : 3 │ │ outs : 4 │ │ insns size : 28 16-bit code units │ │ -029450: |[029450] util.Utils.copyFully:(Ljava/io/InputStream;Ljava/io/OutputStream;Z)V │ │ -029460: 1300 0004 |0000: const/16 v0, #int 1024 // #400 │ │ -029464: 2300 9901 |0002: new-array v0, v0, [B // type@0199 │ │ -029468: 6e20 0505 0300 |0004: invoke-virtual {v3, v0}, Ljava/io/InputStream;.read:([B)I // method@0505 │ │ -02946e: 0a01 |0007: move-result v1 │ │ -029470: 12f2 |0008: const/4 v2, #int -1 // #ff │ │ -029472: 3221 0700 |0009: if-eq v1, v2, 0010 // +0007 │ │ -029476: 1202 |000b: const/4 v2, #int 0 // #0 │ │ -029478: 6e40 1305 0412 |000c: invoke-virtual {v4, v0, v2, v1}, Ljava/io/OutputStream;.write:([BII)V // method@0513 │ │ -02947e: 28f5 |000f: goto 0004 // -000b │ │ -029480: 6e10 1005 0400 |0010: invoke-virtual {v4}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ -029486: 3805 0800 |0013: if-eqz v5, 001b // +0008 │ │ -02948a: 6e10 0f05 0400 |0015: invoke-virtual {v4}, Ljava/io/OutputStream;.close:()V // method@050f │ │ -029490: 6e10 0305 0300 |0018: invoke-virtual {v3}, Ljava/io/InputStream;.close:()V // method@0503 │ │ -029496: 0e00 |001b: return-void │ │ +02944c: |[02944c] util.Utils.copyFully:(Ljava/io/InputStream;Ljava/io/OutputStream;Z)V │ │ +02945c: 1300 0004 |0000: const/16 v0, #int 1024 // #400 │ │ +029460: 2300 9901 |0002: new-array v0, v0, [B // type@0199 │ │ +029464: 6e20 0505 0300 |0004: invoke-virtual {v3, v0}, Ljava/io/InputStream;.read:([B)I // method@0505 │ │ +02946a: 0a01 |0007: move-result v1 │ │ +02946c: 12f2 |0008: const/4 v2, #int -1 // #ff │ │ +02946e: 3221 0700 |0009: if-eq v1, v2, 0010 // +0007 │ │ +029472: 1202 |000b: const/4 v2, #int 0 // #0 │ │ +029474: 6e40 1305 0412 |000c: invoke-virtual {v4, v0, v2, v1}, Ljava/io/OutputStream;.write:([BII)V // method@0513 │ │ +02947a: 28f5 |000f: goto 0004 // -000b │ │ +02947c: 6e10 1005 0400 |0010: invoke-virtual {v4}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ +029482: 3805 0800 |0013: if-eqz v5, 001b // +0008 │ │ +029486: 6e10 0f05 0400 |0015: invoke-virtual {v4}, Ljava/io/OutputStream;.close:()V // method@050f │ │ +02948c: 6e10 0305 0300 |0018: invoke-virtual {v3}, Ljava/io/InputStream;.close:()V // method@0503 │ │ +029492: 0e00 |001b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=323 │ │ 0x0004 line=326 │ │ 0x000c line=327 │ │ 0x0010 line=329 │ │ 0x0015 line=331 │ │ @@ -31267,43 +31267,43 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 55 16-bit code units │ │ -029498: |[029498] util.Utils.deleteFolder:(Ljava/lang/String;)V │ │ -0294a8: 2200 f600 |0000: new-instance v0, Ljava/io/File; // type@00f6 │ │ -0294ac: 7020 da04 3000 |0002: invoke-direct {v0, v3}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ -0294b2: 6e10 e004 0000 |0005: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@04e0 │ │ -0294b8: 0a03 |0008: move-result v3 │ │ -0294ba: 3803 2d00 |0009: if-eqz v3, 0036 // +002d │ │ -0294be: 6e10 e504 0000 |000b: invoke-virtual {v0}, Ljava/io/File;.isDirectory:()Z // method@04e5 │ │ -0294c4: 0a03 |000e: move-result v3 │ │ -0294c6: 3803 2700 |000f: if-eqz v3, 0036 // +0027 │ │ -0294ca: 6e10 e904 0000 |0011: invoke-virtual {v0}, Ljava/io/File;.listFiles:()[Ljava/io/File; // method@04e9 │ │ -0294d0: 0c03 |0014: move-result-object v3 │ │ -0294d2: 1201 |0015: const/4 v1, #int 0 // #0 │ │ -0294d4: 2132 |0016: array-length v2, v3 │ │ -0294d6: 3521 1c00 |0017: if-ge v1, v2, 0033 // +001c │ │ -0294da: 4602 0301 |0019: aget-object v2, v3, v1 │ │ -0294de: 6e10 e504 0200 |001b: invoke-virtual {v2}, Ljava/io/File;.isDirectory:()Z // method@04e5 │ │ -0294e4: 0a02 |001e: move-result v2 │ │ -0294e6: 3802 0c00 |001f: if-eqz v2, 002b // +000c │ │ -0294ea: 4602 0301 |0021: aget-object v2, v3, v1 │ │ -0294ee: 6e10 e104 0200 |0023: invoke-virtual {v2}, Ljava/io/File;.getAbsolutePath:()Ljava/lang/String; // method@04e1 │ │ -0294f4: 0c02 |0026: move-result-object v2 │ │ -0294f6: 7110 6f07 0200 |0027: invoke-static {v2}, Lutil/Utils;.deleteFolder:(Ljava/lang/String;)V // method@076f │ │ -0294fc: 2806 |002a: goto 0030 // +0006 │ │ -0294fe: 4602 0301 |002b: aget-object v2, v3, v1 │ │ -029502: 6e10 de04 0200 |002d: invoke-virtual {v2}, Ljava/io/File;.delete:()Z // method@04de │ │ -029508: d801 0101 |0030: add-int/lit8 v1, v1, #int 1 // #01 │ │ -02950c: 28e4 |0032: goto 0016 // -001c │ │ -02950e: 6e10 de04 0000 |0033: invoke-virtual {v0}, Ljava/io/File;.delete:()Z // method@04de │ │ -029514: 0e00 |0036: return-void │ │ +029494: |[029494] util.Utils.deleteFolder:(Ljava/lang/String;)V │ │ +0294a4: 2200 f600 |0000: new-instance v0, Ljava/io/File; // type@00f6 │ │ +0294a8: 7020 da04 3000 |0002: invoke-direct {v0, v3}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ +0294ae: 6e10 e004 0000 |0005: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@04e0 │ │ +0294b4: 0a03 |0008: move-result v3 │ │ +0294b6: 3803 2d00 |0009: if-eqz v3, 0036 // +002d │ │ +0294ba: 6e10 e504 0000 |000b: invoke-virtual {v0}, Ljava/io/File;.isDirectory:()Z // method@04e5 │ │ +0294c0: 0a03 |000e: move-result v3 │ │ +0294c2: 3803 2700 |000f: if-eqz v3, 0036 // +0027 │ │ +0294c6: 6e10 e904 0000 |0011: invoke-virtual {v0}, Ljava/io/File;.listFiles:()[Ljava/io/File; // method@04e9 │ │ +0294cc: 0c03 |0014: move-result-object v3 │ │ +0294ce: 1201 |0015: const/4 v1, #int 0 // #0 │ │ +0294d0: 2132 |0016: array-length v2, v3 │ │ +0294d2: 3521 1c00 |0017: if-ge v1, v2, 0033 // +001c │ │ +0294d6: 4602 0301 |0019: aget-object v2, v3, v1 │ │ +0294da: 6e10 e504 0200 |001b: invoke-virtual {v2}, Ljava/io/File;.isDirectory:()Z // method@04e5 │ │ +0294e0: 0a02 |001e: move-result v2 │ │ +0294e2: 3802 0c00 |001f: if-eqz v2, 002b // +000c │ │ +0294e6: 4602 0301 |0021: aget-object v2, v3, v1 │ │ +0294ea: 6e10 e104 0200 |0023: invoke-virtual {v2}, Ljava/io/File;.getAbsolutePath:()Ljava/lang/String; // method@04e1 │ │ +0294f0: 0c02 |0026: move-result-object v2 │ │ +0294f2: 7110 6f07 0200 |0027: invoke-static {v2}, Lutil/Utils;.deleteFolder:(Ljava/lang/String;)V // method@076f │ │ +0294f8: 2806 |002a: goto 0030 // +0006 │ │ +0294fa: 4602 0301 |002b: aget-object v2, v3, v1 │ │ +0294fe: 6e10 de04 0200 |002d: invoke-virtual {v2}, Ljava/io/File;.delete:()Z // method@04de │ │ +029504: d801 0101 |0030: add-int/lit8 v1, v1, #int 1 // #01 │ │ +029508: 28e4 |0032: goto 0016 // -001c │ │ +02950a: 6e10 de04 0000 |0033: invoke-virtual {v0}, Ljava/io/File;.delete:()Z // method@04de │ │ +029510: 0e00 |0036: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=308 │ │ 0x0005 line=309 │ │ 0x0011 line=311 │ │ 0x0016 line=312 │ │ 0x0019 line=313 │ │ @@ -31318,26 +31318,26 @@ │ │ type : '([B)Ljava/lang/Object;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 22 16-bit code units │ │ -029044: |[029044] util.Utils.deserializeObject:([B)Ljava/lang/Object; │ │ -029054: 2200 f100 |0000: new-instance v0, Ljava/io/ByteArrayInputStream; // type@00f1 │ │ -029058: 7020 ba04 1000 |0002: invoke-direct {v0, v1}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04ba │ │ -02905e: 2201 fe00 |0005: new-instance v1, Ljava/io/ObjectInputStream; // type@00fe │ │ -029062: 7020 0805 0100 |0007: invoke-direct {v1, v0}, Ljava/io/ObjectInputStream;.:(Ljava/io/InputStream;)V // method@0508 │ │ -029068: 6e10 0905 0100 |000a: invoke-virtual {v1}, Ljava/io/ObjectInputStream;.readObject:()Ljava/lang/Object; // method@0509 │ │ -02906e: 0c01 |000d: move-result-object v1 │ │ -029070: 1101 |000e: return-object v1 │ │ -029072: 0d01 |000f: move-exception v1 │ │ -029074: 2200 fb00 |0010: new-instance v0, Ljava/io/IOException; // type@00fb │ │ -029078: 7020 fd04 1000 |0012: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@04fd │ │ -02907e: 2700 |0015: throw v0 │ │ +029040: |[029040] util.Utils.deserializeObject:([B)Ljava/lang/Object; │ │ +029050: 2200 f100 |0000: new-instance v0, Ljava/io/ByteArrayInputStream; // type@00f1 │ │ +029054: 7020 ba04 1000 |0002: invoke-direct {v0, v1}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04ba │ │ +02905a: 2201 fe00 |0005: new-instance v1, Ljava/io/ObjectInputStream; // type@00fe │ │ +02905e: 7020 0805 0100 |0007: invoke-direct {v1, v0}, Ljava/io/ObjectInputStream;.:(Ljava/io/InputStream;)V // method@0508 │ │ +029064: 6e10 0905 0100 |000a: invoke-virtual {v1}, Ljava/io/ObjectInputStream;.readObject:()Ljava/lang/Object; // method@0509 │ │ +02906a: 0c01 |000d: move-result-object v1 │ │ +02906c: 1101 |000e: return-object v1 │ │ +02906e: 0d01 |000f: move-exception v1 │ │ +029070: 2200 fb00 |0010: new-instance v0, Ljava/io/IOException; // type@00fb │ │ +029074: 7020 fd04 1000 |0012: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@04fd │ │ +02907a: 2700 |0015: throw v0 │ │ catches : 1 │ │ 0x000a - 0x000e │ │ Ljava/lang/ClassNotFoundException; -> 0x000f │ │ positions : │ │ 0x0000 line=271 │ │ 0x0005 line=272 │ │ 0x000a line=274 │ │ @@ -31350,43 +31350,43 @@ │ │ type : '(Ljava/lang/String;)J' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 47 16-bit code units │ │ -029328: |[029328] util.Utils.getLongStringHash:(Ljava/lang/String;)J │ │ -029338: 6e10 7005 0600 |0000: invoke-virtual {v6}, Ljava/lang/String;.length:()I // method@0570 │ │ -02933e: 0a00 |0003: move-result v0 │ │ -029340: 6e10 6905 0600 |0004: invoke-virtual {v6}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -029346: 0c06 |0007: move-result-object v6 │ │ -029348: 1201 |0008: const/4 v1, #int 0 // #0 │ │ -02934a: 1202 |0009: const/4 v2, #int 0 // #0 │ │ -02934c: 1203 |000a: const/4 v3, #int 0 // #0 │ │ -02934e: 3501 1700 |000b: if-ge v1, v0, 0022 // +0017 │ │ -029352: da02 021f |000d: mul-int/lit8 v2, v2, #int 31 // #1f │ │ -029356: 4804 0601 |000f: aget-byte v4, v6, v1 │ │ -02935a: d544 ff00 |0011: and-int/lit16 v4, v4, #int 255 // #00ff │ │ -02935e: b042 |0013: add-int/2addr v2, v4 │ │ -029360: da03 031f |0014: mul-int/lit8 v3, v3, #int 31 // #1f │ │ -029364: 9104 0001 |0016: sub-int v4, v0, v1 │ │ -029368: d804 04ff |0018: add-int/lit8 v4, v4, #int -1 // #ff │ │ -02936c: 4804 0604 |001a: aget-byte v4, v6, v4 │ │ -029370: d544 ff00 |001c: and-int/lit16 v4, v4, #int 255 // #00ff │ │ -029374: b043 |001e: add-int/2addr v3, v4 │ │ -029376: d801 0101 |001f: add-int/lit8 v1, v1, #int 1 // #01 │ │ -02937a: 28ea |0021: goto 000b // -0016 │ │ -02937c: 8120 |0022: int-to-long v0, v2 │ │ -02937e: 1306 2000 |0023: const/16 v6, #int 32 // #20 │ │ -029382: c360 |0025: shl-long/2addr v0, v6 │ │ -029384: 8132 |0026: int-to-long v2, v3 │ │ -029386: 1804 ffff ffff 0000 0000 |0027: const-wide v4, #double 2.122e-314 // #00000000ffffffff │ │ -029390: c042 |002c: and-long/2addr v2, v4 │ │ -029392: c120 |002d: or-long/2addr v0, v2 │ │ -029394: 1000 |002e: return-wide v0 │ │ +029324: |[029324] util.Utils.getLongStringHash:(Ljava/lang/String;)J │ │ +029334: 6e10 7005 0600 |0000: invoke-virtual {v6}, Ljava/lang/String;.length:()I // method@0570 │ │ +02933a: 0a00 |0003: move-result v0 │ │ +02933c: 6e10 6905 0600 |0004: invoke-virtual {v6}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +029342: 0c06 |0007: move-result-object v6 │ │ +029344: 1201 |0008: const/4 v1, #int 0 // #0 │ │ +029346: 1202 |0009: const/4 v2, #int 0 // #0 │ │ +029348: 1203 |000a: const/4 v3, #int 0 // #0 │ │ +02934a: 3501 1700 |000b: if-ge v1, v0, 0022 // +0017 │ │ +02934e: da02 021f |000d: mul-int/lit8 v2, v2, #int 31 // #1f │ │ +029352: 4804 0601 |000f: aget-byte v4, v6, v1 │ │ +029356: d544 ff00 |0011: and-int/lit16 v4, v4, #int 255 // #00ff │ │ +02935a: b042 |0013: add-int/2addr v2, v4 │ │ +02935c: da03 031f |0014: mul-int/lit8 v3, v3, #int 31 // #1f │ │ +029360: 9104 0001 |0016: sub-int v4, v0, v1 │ │ +029364: d804 04ff |0018: add-int/lit8 v4, v4, #int -1 // #ff │ │ +029368: 4804 0604 |001a: aget-byte v4, v6, v4 │ │ +02936c: d544 ff00 |001c: and-int/lit16 v4, v4, #int 255 // #00ff │ │ +029370: b043 |001e: add-int/2addr v3, v4 │ │ +029372: d801 0101 |001f: add-int/lit8 v1, v1, #int 1 // #01 │ │ +029376: 28ea |0021: goto 000b // -0016 │ │ +029378: 8120 |0022: int-to-long v0, v2 │ │ +02937a: 1306 2000 |0023: const/16 v6, #int 32 // #20 │ │ +02937e: c360 |0025: shl-long/2addr v0, v6 │ │ +029380: 8132 |0026: int-to-long v2, v3 │ │ +029382: 1804 ffff ffff 0000 0000 |0027: const-wide v4, #double 2.122e-314 // #00000000ffffffff │ │ +02938c: c042 |002c: and-long/2addr v2, v4 │ │ +02938e: c120 |002d: or-long/2addr v0, v2 │ │ +029390: 1000 |002e: return-wide v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=108 │ │ 0x0004 line=109 │ │ 0x000f line=111 │ │ 0x001a line=112 │ │ locals : │ │ @@ -31397,30 +31397,30 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 4 │ │ ins : 0 │ │ outs : 3 │ │ insns size : 31 16-bit code units │ │ -029090: |[029090] util.Utils.getServerTime:()Ljava/lang/String; │ │ -0290a0: 7100 fb05 0000 |0000: invoke-static {}, Ljava/util/Calendar;.getInstance:()Ljava/util/Calendar; // method@05fb │ │ -0290a6: 0c00 |0003: move-result-object v0 │ │ -0290a8: 2201 4b01 |0004: new-instance v1, Ljava/text/SimpleDateFormat; // type@014b │ │ -0290ac: 1a02 7401 |0006: const-string v2, "EEE, dd MMM yyyy HH:mm:ss z" // string@0174 │ │ -0290b0: 6203 2103 |0008: sget-object v3, Ljava/util/Locale;.US:Ljava/util/Locale; // field@0321 │ │ -0290b4: 7030 f105 2103 |000a: invoke-direct {v1, v2, v3}, Ljava/text/SimpleDateFormat;.:(Ljava/lang/String;Ljava/util/Locale;)V // method@05f1 │ │ -0290ba: 1a02 b001 |000d: const-string v2, "GMT" // string@01b0 │ │ -0290be: 7110 4806 0200 |000f: invoke-static {v2}, Ljava/util/TimeZone;.getTimeZone:(Ljava/lang/String;)Ljava/util/TimeZone; // method@0648 │ │ -0290c4: 0c02 |0012: move-result-object v2 │ │ -0290c6: 6e20 f305 2100 |0013: invoke-virtual {v1, v2}, Ljava/text/SimpleDateFormat;.setTimeZone:(Ljava/util/TimeZone;)V // method@05f3 │ │ -0290cc: 6e10 fc05 0000 |0016: invoke-virtual {v0}, Ljava/util/Calendar;.getTime:()Ljava/util/Date; // method@05fc │ │ -0290d2: 0c00 |0019: move-result-object v0 │ │ -0290d4: 6e20 f205 0100 |001a: invoke-virtual {v1, v0}, Ljava/text/SimpleDateFormat;.format:(Ljava/util/Date;)Ljava/lang/String; // method@05f2 │ │ -0290da: 0c00 |001d: move-result-object v0 │ │ -0290dc: 1100 |001e: return-object v0 │ │ +02908c: |[02908c] util.Utils.getServerTime:()Ljava/lang/String; │ │ +02909c: 7100 fb05 0000 |0000: invoke-static {}, Ljava/util/Calendar;.getInstance:()Ljava/util/Calendar; // method@05fb │ │ +0290a2: 0c00 |0003: move-result-object v0 │ │ +0290a4: 2201 4b01 |0004: new-instance v1, Ljava/text/SimpleDateFormat; // type@014b │ │ +0290a8: 1a02 7401 |0006: const-string v2, "EEE, dd MMM yyyy HH:mm:ss z" // string@0174 │ │ +0290ac: 6203 2103 |0008: sget-object v3, Ljava/util/Locale;.US:Ljava/util/Locale; // field@0321 │ │ +0290b0: 7030 f105 2103 |000a: invoke-direct {v1, v2, v3}, Ljava/text/SimpleDateFormat;.:(Ljava/lang/String;Ljava/util/Locale;)V // method@05f1 │ │ +0290b6: 1a02 b001 |000d: const-string v2, "GMT" // string@01b0 │ │ +0290ba: 7110 4806 0200 |000f: invoke-static {v2}, Ljava/util/TimeZone;.getTimeZone:(Ljava/lang/String;)Ljava/util/TimeZone; // method@0648 │ │ +0290c0: 0c02 |0012: move-result-object v2 │ │ +0290c2: 6e20 f305 2100 |0013: invoke-virtual {v1, v2}, Ljava/text/SimpleDateFormat;.setTimeZone:(Ljava/util/TimeZone;)V // method@05f3 │ │ +0290c8: 6e10 fc05 0000 |0016: invoke-virtual {v0}, Ljava/util/Calendar;.getTime:()Ljava/util/Date; // method@05fc │ │ +0290ce: 0c00 |0019: move-result-object v0 │ │ +0290d0: 6e20 f205 0100 |001a: invoke-virtual {v1, v0}, Ljava/text/SimpleDateFormat;.format:(Ljava/util/Date;)Ljava/lang/String; // method@05f2 │ │ +0290d6: 0c00 |001d: move-result-object v0 │ │ +0290d8: 1100 |001e: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=281 │ │ 0x0004 line=282 │ │ 0x000d line=283 │ │ 0x0016 line=284 │ │ locals : │ │ @@ -31430,37 +31430,37 @@ │ │ type : '(I)[B' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 34 16-bit code units │ │ -028d08: |[028d08] util.Utils.intToByteArray:(I)[B │ │ -028d18: e100 0518 |0000: shr-int/lit8 v0, v5, #int 24 // #18 │ │ -028d1c: d500 ff00 |0002: and-int/lit16 v0, v0, #int 255 // #00ff │ │ -028d20: 8d00 |0004: int-to-byte v0, v0 │ │ -028d22: e101 0510 |0005: shr-int/lit8 v1, v5, #int 16 // #10 │ │ -028d26: d511 ff00 |0007: and-int/lit16 v1, v1, #int 255 // #00ff │ │ -028d2a: 8d11 |0009: int-to-byte v1, v1 │ │ -028d2c: e102 0508 |000a: shr-int/lit8 v2, v5, #int 8 // #08 │ │ -028d30: d522 ff00 |000c: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -028d34: 8d22 |000e: int-to-byte v2, v2 │ │ -028d36: d555 ff00 |000f: and-int/lit16 v5, v5, #int 255 // #00ff │ │ -028d3a: 8d55 |0011: int-to-byte v5, v5 │ │ -028d3c: 1243 |0012: const/4 v3, #int 4 // #4 │ │ -028d3e: 2333 9901 |0013: new-array v3, v3, [B // type@0199 │ │ -028d42: 1204 |0015: const/4 v4, #int 0 // #0 │ │ -028d44: 4f00 0304 |0016: aput-byte v0, v3, v4 │ │ -028d48: 1210 |0018: const/4 v0, #int 1 // #1 │ │ -028d4a: 4f01 0300 |0019: aput-byte v1, v3, v0 │ │ -028d4e: 1220 |001b: const/4 v0, #int 2 // #2 │ │ -028d50: 4f02 0300 |001c: aput-byte v2, v3, v0 │ │ -028d54: 1230 |001e: const/4 v0, #int 3 // #3 │ │ -028d56: 4f05 0300 |001f: aput-byte v5, v3, v0 │ │ -028d5a: 1103 |0021: return-object v3 │ │ +028d04: |[028d04] util.Utils.intToByteArray:(I)[B │ │ +028d14: e100 0518 |0000: shr-int/lit8 v0, v5, #int 24 // #18 │ │ +028d18: d500 ff00 |0002: and-int/lit16 v0, v0, #int 255 // #00ff │ │ +028d1c: 8d00 |0004: int-to-byte v0, v0 │ │ +028d1e: e101 0510 |0005: shr-int/lit8 v1, v5, #int 16 // #10 │ │ +028d22: d511 ff00 |0007: and-int/lit16 v1, v1, #int 255 // #00ff │ │ +028d26: 8d11 |0009: int-to-byte v1, v1 │ │ +028d28: e102 0508 |000a: shr-int/lit8 v2, v5, #int 8 // #08 │ │ +028d2c: d522 ff00 |000c: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +028d30: 8d22 |000e: int-to-byte v2, v2 │ │ +028d32: d555 ff00 |000f: and-int/lit16 v5, v5, #int 255 // #00ff │ │ +028d36: 8d55 |0011: int-to-byte v5, v5 │ │ +028d38: 1243 |0012: const/4 v3, #int 4 // #4 │ │ +028d3a: 2333 9901 |0013: new-array v3, v3, [B // type@0199 │ │ +028d3e: 1204 |0015: const/4 v4, #int 0 // #0 │ │ +028d40: 4f00 0304 |0016: aput-byte v0, v3, v4 │ │ +028d44: 1210 |0018: const/4 v0, #int 1 // #1 │ │ +028d46: 4f01 0300 |0019: aput-byte v1, v3, v0 │ │ +028d4a: 1220 |001b: const/4 v0, #int 2 // #2 │ │ +028d4c: 4f02 0300 |001c: aput-byte v2, v3, v0 │ │ +028d50: 1230 |001e: const/4 v0, #int 3 // #3 │ │ +028d52: 4f05 0300 |001f: aput-byte v5, v3, v0 │ │ +028d56: 1103 |0021: return-object v3 │ │ catches : (none) │ │ positions : │ │ 0x0013 line=61 │ │ locals : │ │ 0x0000 - 0x0022 reg=5 (null) I │ │ │ │ #12 : (in Lutil/Utils;) │ │ @@ -31468,63 +31468,63 @@ │ │ type : '(J)[B' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 11 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 71 16-bit code units │ │ -028d5c: |[028d5c] util.Utils.longToByteArray:(J)[B │ │ -028d6c: 1300 3800 |0000: const/16 v0, #int 56 // #38 │ │ -028d70: a400 0900 |0002: shr-long v0, v9, v0 │ │ -028d74: 8401 |0004: long-to-int v1, v0 │ │ -028d76: 8d10 |0005: int-to-byte v0, v1 │ │ -028d78: 1301 3000 |0006: const/16 v1, #int 48 // #30 │ │ -028d7c: a401 0901 |0008: shr-long v1, v9, v1 │ │ -028d80: 8412 |000a: long-to-int v2, v1 │ │ -028d82: 8d21 |000b: int-to-byte v1, v2 │ │ -028d84: 1302 2800 |000c: const/16 v2, #int 40 // #28 │ │ -028d88: a402 0902 |000e: shr-long v2, v9, v2 │ │ -028d8c: 8423 |0010: long-to-int v3, v2 │ │ -028d8e: 8d32 |0011: int-to-byte v2, v3 │ │ -028d90: 1303 2000 |0012: const/16 v3, #int 32 // #20 │ │ -028d94: a403 0903 |0014: shr-long v3, v9, v3 │ │ -028d98: 8434 |0016: long-to-int v4, v3 │ │ -028d9a: 8d43 |0017: int-to-byte v3, v4 │ │ -028d9c: 1304 1800 |0018: const/16 v4, #int 24 // #18 │ │ -028da0: a404 0904 |001a: shr-long v4, v9, v4 │ │ -028da4: 8445 |001c: long-to-int v5, v4 │ │ -028da6: 8d54 |001d: int-to-byte v4, v5 │ │ -028da8: 1305 1000 |001e: const/16 v5, #int 16 // #10 │ │ -028dac: a405 0905 |0020: shr-long v5, v9, v5 │ │ -028db0: 8456 |0022: long-to-int v6, v5 │ │ -028db2: 8d65 |0023: int-to-byte v5, v6 │ │ -028db4: 1306 0800 |0024: const/16 v6, #int 8 // #8 │ │ -028db8: a407 0906 |0026: shr-long v7, v9, v6 │ │ -028dbc: 8478 |0028: long-to-int v8, v7 │ │ -028dbe: 8d87 |0029: int-to-byte v7, v8 │ │ -028dc0: 849a |002a: long-to-int v10, v9 │ │ -028dc2: 8da9 |002b: int-to-byte v9, v10 │ │ -028dc4: 236a 9901 |002c: new-array v10, v6, [B // type@0199 │ │ -028dc8: 1206 |002e: const/4 v6, #int 0 // #0 │ │ -028dca: 4f00 0a06 |002f: aput-byte v0, v10, v6 │ │ -028dce: 1210 |0031: const/4 v0, #int 1 // #1 │ │ -028dd0: 4f01 0a00 |0032: aput-byte v1, v10, v0 │ │ -028dd4: 1220 |0034: const/4 v0, #int 2 // #2 │ │ -028dd6: 4f02 0a00 |0035: aput-byte v2, v10, v0 │ │ -028dda: 1230 |0037: const/4 v0, #int 3 // #3 │ │ -028ddc: 4f03 0a00 |0038: aput-byte v3, v10, v0 │ │ -028de0: 1240 |003a: const/4 v0, #int 4 // #4 │ │ -028de2: 4f04 0a00 |003b: aput-byte v4, v10, v0 │ │ -028de6: 1250 |003d: const/4 v0, #int 5 // #5 │ │ -028de8: 4f05 0a00 |003e: aput-byte v5, v10, v0 │ │ -028dec: 1260 |0040: const/4 v0, #int 6 // #6 │ │ -028dee: 4f07 0a00 |0041: aput-byte v7, v10, v0 │ │ -028df2: 1270 |0043: const/4 v0, #int 7 // #7 │ │ -028df4: 4f09 0a00 |0044: aput-byte v9, v10, v0 │ │ -028df8: 110a |0046: return-object v10 │ │ +028d58: |[028d58] util.Utils.longToByteArray:(J)[B │ │ +028d68: 1300 3800 |0000: const/16 v0, #int 56 // #38 │ │ +028d6c: a400 0900 |0002: shr-long v0, v9, v0 │ │ +028d70: 8401 |0004: long-to-int v1, v0 │ │ +028d72: 8d10 |0005: int-to-byte v0, v1 │ │ +028d74: 1301 3000 |0006: const/16 v1, #int 48 // #30 │ │ +028d78: a401 0901 |0008: shr-long v1, v9, v1 │ │ +028d7c: 8412 |000a: long-to-int v2, v1 │ │ +028d7e: 8d21 |000b: int-to-byte v1, v2 │ │ +028d80: 1302 2800 |000c: const/16 v2, #int 40 // #28 │ │ +028d84: a402 0902 |000e: shr-long v2, v9, v2 │ │ +028d88: 8423 |0010: long-to-int v3, v2 │ │ +028d8a: 8d32 |0011: int-to-byte v2, v3 │ │ +028d8c: 1303 2000 |0012: const/16 v3, #int 32 // #20 │ │ +028d90: a403 0903 |0014: shr-long v3, v9, v3 │ │ +028d94: 8434 |0016: long-to-int v4, v3 │ │ +028d96: 8d43 |0017: int-to-byte v3, v4 │ │ +028d98: 1304 1800 |0018: const/16 v4, #int 24 // #18 │ │ +028d9c: a404 0904 |001a: shr-long v4, v9, v4 │ │ +028da0: 8445 |001c: long-to-int v5, v4 │ │ +028da2: 8d54 |001d: int-to-byte v4, v5 │ │ +028da4: 1305 1000 |001e: const/16 v5, #int 16 // #10 │ │ +028da8: a405 0905 |0020: shr-long v5, v9, v5 │ │ +028dac: 8456 |0022: long-to-int v6, v5 │ │ +028dae: 8d65 |0023: int-to-byte v5, v6 │ │ +028db0: 1306 0800 |0024: const/16 v6, #int 8 // #8 │ │ +028db4: a407 0906 |0026: shr-long v7, v9, v6 │ │ +028db8: 8478 |0028: long-to-int v8, v7 │ │ +028dba: 8d87 |0029: int-to-byte v7, v8 │ │ +028dbc: 849a |002a: long-to-int v10, v9 │ │ +028dbe: 8da9 |002b: int-to-byte v9, v10 │ │ +028dc0: 236a 9901 |002c: new-array v10, v6, [B // type@0199 │ │ +028dc4: 1206 |002e: const/4 v6, #int 0 // #0 │ │ +028dc6: 4f00 0a06 |002f: aput-byte v0, v10, v6 │ │ +028dca: 1210 |0031: const/4 v0, #int 1 // #1 │ │ +028dcc: 4f01 0a00 |0032: aput-byte v1, v10, v0 │ │ +028dd0: 1220 |0034: const/4 v0, #int 2 // #2 │ │ +028dd2: 4f02 0a00 |0035: aput-byte v2, v10, v0 │ │ +028dd6: 1230 |0037: const/4 v0, #int 3 // #3 │ │ +028dd8: 4f03 0a00 |0038: aput-byte v3, v10, v0 │ │ +028ddc: 1240 |003a: const/4 v0, #int 4 // #4 │ │ +028dde: 4f04 0a00 |003b: aput-byte v4, v10, v0 │ │ +028de2: 1250 |003d: const/4 v0, #int 5 // #5 │ │ +028de4: 4f05 0a00 |003e: aput-byte v5, v10, v0 │ │ +028de8: 1260 |0040: const/4 v0, #int 6 // #6 │ │ +028dea: 4f07 0a00 |0041: aput-byte v7, v10, v0 │ │ +028dee: 1270 |0043: const/4 v0, #int 7 // #7 │ │ +028df0: 4f09 0a00 |0044: aput-byte v9, v10, v0 │ │ +028df4: 110a |0046: return-object v10 │ │ catches : (none) │ │ positions : │ │ 0x002c line=70 │ │ locals : │ │ 0x0000 - 0x0047 reg=9 (null) J │ │ │ │ #13 : (in Lutil/Utils;) │ │ @@ -31532,51 +31532,51 @@ │ │ type : '(Ljava/io/File;Ljava/io/File;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 10 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 75 16-bit code units │ │ -029518: |[029518] util.Utils.moveFileTree:(Ljava/io/File;Ljava/io/File;)V │ │ -029528: 6e10 e504 0800 |0000: invoke-virtual {v8}, Ljava/io/File;.isDirectory:()Z // method@04e5 │ │ -02952e: 0a00 |0003: move-result v0 │ │ -029530: 3800 4000 |0004: if-eqz v0, 0044 // +0040 │ │ -029534: 6e10 e904 0800 |0006: invoke-virtual {v8}, Ljava/io/File;.listFiles:()[Ljava/io/File; // method@04e9 │ │ -02953a: 0c00 |0009: move-result-object v0 │ │ -02953c: 3800 2600 |000a: if-eqz v0, 0030 // +0026 │ │ -029540: 2101 |000c: array-length v1, v0 │ │ -029542: 1202 |000d: const/4 v2, #int 0 // #0 │ │ -029544: 3512 3c00 |000e: if-ge v2, v1, 004a // +003c │ │ -029548: 4603 0002 |0010: aget-object v3, v0, v2 │ │ -02954c: 2204 f600 |0012: new-instance v4, Ljava/io/File; // type@00f6 │ │ -029550: 6e10 e404 0300 |0014: invoke-virtual {v3}, Ljava/io/File;.getPath:()Ljava/lang/String; // method@04e4 │ │ -029556: 0c05 |0017: move-result-object v5 │ │ -029558: 6e10 e404 0800 |0018: invoke-virtual {v8}, Ljava/io/File;.getPath:()Ljava/lang/String; // method@04e4 │ │ -02955e: 0c06 |001b: move-result-object v6 │ │ -029560: 6e10 e404 0900 |001c: invoke-virtual {v9}, Ljava/io/File;.getPath:()Ljava/lang/String; // method@04e4 │ │ -029566: 0c07 |001f: move-result-object v7 │ │ -029568: 6e30 7105 6507 |0020: invoke-virtual {v5, v6, v7}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0571 │ │ -02956e: 0c05 |0023: move-result-object v5 │ │ -029570: 7020 da04 5400 |0024: invoke-direct {v4, v5}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ -029576: 7120 7507 4300 |0027: invoke-static {v3, v4}, Lutil/Utils;.moveFileTree:(Ljava/io/File;Ljava/io/File;)V // method@0775 │ │ -02957c: 6e10 de04 0800 |002a: invoke-virtual {v8}, Ljava/io/File;.delete:()Z // method@04de │ │ -029582: d802 0201 |002d: add-int/lit8 v2, v2, #int 1 // #01 │ │ -029586: 28df |002f: goto 000e // -0021 │ │ -029588: 2209 fb00 |0030: new-instance v9, Ljava/io/IOException; // type@00fb │ │ -02958c: 2200 2801 |0032: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ -029590: 1a01 da01 |0034: const-string v1, "IOError occured while trying to move " // string@01da │ │ -029594: 7020 8405 1000 |0036: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -02959a: 6e20 8805 8000 |0039: invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ -0295a0: 6e10 8b05 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0295a6: 0c08 |003f: move-result-object v8 │ │ -0295a8: 7020 fb04 8900 |0040: invoke-direct {v9, v8}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -0295ae: 2709 |0043: throw v9 │ │ -0295b0: 7120 6d07 9800 |0044: invoke-static {v8, v9}, Lutil/Utils;.copyFile:(Ljava/io/File;Ljava/io/File;)V // method@076d │ │ -0295b6: 6e10 de04 0800 |0047: invoke-virtual {v8}, Ljava/io/File;.delete:()Z // method@04de │ │ -0295bc: 0e00 |004a: return-void │ │ +029514: |[029514] util.Utils.moveFileTree:(Ljava/io/File;Ljava/io/File;)V │ │ +029524: 6e10 e504 0800 |0000: invoke-virtual {v8}, Ljava/io/File;.isDirectory:()Z // method@04e5 │ │ +02952a: 0a00 |0003: move-result v0 │ │ +02952c: 3800 4000 |0004: if-eqz v0, 0044 // +0040 │ │ +029530: 6e10 e904 0800 |0006: invoke-virtual {v8}, Ljava/io/File;.listFiles:()[Ljava/io/File; // method@04e9 │ │ +029536: 0c00 |0009: move-result-object v0 │ │ +029538: 3800 2600 |000a: if-eqz v0, 0030 // +0026 │ │ +02953c: 2101 |000c: array-length v1, v0 │ │ +02953e: 1202 |000d: const/4 v2, #int 0 // #0 │ │ +029540: 3512 3c00 |000e: if-ge v2, v1, 004a // +003c │ │ +029544: 4603 0002 |0010: aget-object v3, v0, v2 │ │ +029548: 2204 f600 |0012: new-instance v4, Ljava/io/File; // type@00f6 │ │ +02954c: 6e10 e404 0300 |0014: invoke-virtual {v3}, Ljava/io/File;.getPath:()Ljava/lang/String; // method@04e4 │ │ +029552: 0c05 |0017: move-result-object v5 │ │ +029554: 6e10 e404 0800 |0018: invoke-virtual {v8}, Ljava/io/File;.getPath:()Ljava/lang/String; // method@04e4 │ │ +02955a: 0c06 |001b: move-result-object v6 │ │ +02955c: 6e10 e404 0900 |001c: invoke-virtual {v9}, Ljava/io/File;.getPath:()Ljava/lang/String; // method@04e4 │ │ +029562: 0c07 |001f: move-result-object v7 │ │ +029564: 6e30 7105 6507 |0020: invoke-virtual {v5, v6, v7}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0571 │ │ +02956a: 0c05 |0023: move-result-object v5 │ │ +02956c: 7020 da04 5400 |0024: invoke-direct {v4, v5}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ +029572: 7120 7507 4300 |0027: invoke-static {v3, v4}, Lutil/Utils;.moveFileTree:(Ljava/io/File;Ljava/io/File;)V // method@0775 │ │ +029578: 6e10 de04 0800 |002a: invoke-virtual {v8}, Ljava/io/File;.delete:()Z // method@04de │ │ +02957e: d802 0201 |002d: add-int/lit8 v2, v2, #int 1 // #01 │ │ +029582: 28df |002f: goto 000e // -0021 │ │ +029584: 2209 fb00 |0030: new-instance v9, Ljava/io/IOException; // type@00fb │ │ +029588: 2200 2801 |0032: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ +02958c: 1a01 da01 |0034: const-string v1, "IOError occured while trying to move " // string@01da │ │ +029590: 7020 8405 1000 |0036: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +029596: 6e20 8805 8000 |0039: invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ +02959c: 6e10 8b05 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0295a2: 0c08 |003f: move-result-object v8 │ │ +0295a4: 7020 fb04 8900 |0040: invoke-direct {v9, v8}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +0295aa: 2709 |0043: throw v9 │ │ +0295ac: 7120 6d07 9800 |0044: invoke-static {v8, v9}, Lutil/Utils;.copyFile:(Ljava/io/File;Ljava/io/File;)V // method@076d │ │ +0295b2: 6e10 de04 0800 |0047: invoke-virtual {v8}, Ljava/io/File;.delete:()Z // method@04de │ │ +0295b8: 0e00 |004a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=348 │ │ 0x0006 line=349 │ │ 0x000c line=352 │ │ 0x0012 line=353 │ │ 0x002a line=354 │ │ @@ -31592,56 +31592,56 @@ │ │ type : '(Ljava/lang/String;)[Ljava/lang/String;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 78 16-bit code units │ │ -0291b4: |[0291b4] util.Utils.parseURI:(Ljava/lang/String;)[Ljava/lang/String; │ │ -0291c4: 1270 |0000: const/4 v0, #int 7 // #7 │ │ -0291c6: 6e20 7605 0500 |0001: invoke-virtual {v5, v0}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@0576 │ │ -0291cc: 0c00 |0004: move-result-object v0 │ │ -0291ce: 1301 2f00 |0005: const/16 v1, #int 47 // #2f │ │ -0291d2: 6e20 6b05 1000 |0007: invoke-virtual {v0, v1}, Ljava/lang/String;.indexOf:(I)I // method@056b │ │ -0291d8: 0a01 |000a: move-result v1 │ │ -0291da: 12f2 |000b: const/4 v2, #int -1 // #ff │ │ -0291dc: 3321 0600 |000c: if-ne v1, v2, 0012 // +0006 │ │ -0291e0: 6e10 7005 0000 |000e: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0570 │ │ -0291e6: 0a01 |0011: move-result v1 │ │ -0291e8: 1202 |0012: const/4 v2, #int 0 // #0 │ │ -0291ea: 6e30 7705 2001 |0013: invoke-virtual {v0, v2, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@0577 │ │ -0291f0: 0c03 |0016: move-result-object v3 │ │ -0291f2: 6e10 7005 0000 |0017: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0570 │ │ -0291f8: 0a04 |001a: move-result v4 │ │ -0291fa: 3341 0500 |001b: if-ne v1, v4, 0020 // +0005 │ │ -0291fe: 1a00 6000 |001d: const-string v0, "/" // string@0060 │ │ -029202: 2805 |001f: goto 0024 // +0005 │ │ -029204: 6e20 7605 1000 |0020: invoke-virtual {v0, v1}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@0576 │ │ -02920a: 0c00 |0023: move-result-object v0 │ │ -02920c: 1221 |0024: const/4 v1, #int 2 // #2 │ │ -02920e: 2311 a901 |0025: new-array v1, v1, [Ljava/lang/String; // type@01a9 │ │ -029212: 4d03 0102 |0027: aput-object v3, v1, v2 │ │ -029216: 1212 |0029: const/4 v2, #int 1 // #1 │ │ -029218: 4d00 0102 |002a: aput-object v0, v1, v2 │ │ -02921c: 1101 |002c: return-object v1 │ │ -02921e: 0d00 |002d: move-exception v0 │ │ -029220: 2201 fb00 |002e: new-instance v1, Ljava/io/IOException; // type@00fb │ │ -029224: 2202 2801 |0030: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -029228: 1a03 0201 |0032: const-string v3, "Cannot parse URI '" // string@0102 │ │ -02922c: 7020 8405 3200 |0034: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -029232: 6e20 8905 5200 |0037: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -029238: 1a05 4200 |003a: const-string v5, "'! - " // string@0042 │ │ -02923c: 6e20 8905 5200 |003c: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -029242: 6e10 3b05 0000 |003f: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@053b │ │ -029248: 0c05 |0042: move-result-object v5 │ │ -02924a: 6e20 8905 5200 |0043: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -029250: 6e10 8b05 0200 |0046: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -029256: 0c05 |0049: move-result-object v5 │ │ -029258: 7020 fb04 5100 |004a: invoke-direct {v1, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -02925e: 2701 |004d: throw v1 │ │ +0291b0: |[0291b0] util.Utils.parseURI:(Ljava/lang/String;)[Ljava/lang/String; │ │ +0291c0: 1270 |0000: const/4 v0, #int 7 // #7 │ │ +0291c2: 6e20 7605 0500 |0001: invoke-virtual {v5, v0}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@0576 │ │ +0291c8: 0c00 |0004: move-result-object v0 │ │ +0291ca: 1301 2f00 |0005: const/16 v1, #int 47 // #2f │ │ +0291ce: 6e20 6b05 1000 |0007: invoke-virtual {v0, v1}, Ljava/lang/String;.indexOf:(I)I // method@056b │ │ +0291d4: 0a01 |000a: move-result v1 │ │ +0291d6: 12f2 |000b: const/4 v2, #int -1 // #ff │ │ +0291d8: 3321 0600 |000c: if-ne v1, v2, 0012 // +0006 │ │ +0291dc: 6e10 7005 0000 |000e: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0570 │ │ +0291e2: 0a01 |0011: move-result v1 │ │ +0291e4: 1202 |0012: const/4 v2, #int 0 // #0 │ │ +0291e6: 6e30 7705 2001 |0013: invoke-virtual {v0, v2, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@0577 │ │ +0291ec: 0c03 |0016: move-result-object v3 │ │ +0291ee: 6e10 7005 0000 |0017: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0570 │ │ +0291f4: 0a04 |001a: move-result v4 │ │ +0291f6: 3341 0500 |001b: if-ne v1, v4, 0020 // +0005 │ │ +0291fa: 1a00 6000 |001d: const-string v0, "/" // string@0060 │ │ +0291fe: 2805 |001f: goto 0024 // +0005 │ │ +029200: 6e20 7605 1000 |0020: invoke-virtual {v0, v1}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@0576 │ │ +029206: 0c00 |0023: move-result-object v0 │ │ +029208: 1221 |0024: const/4 v1, #int 2 // #2 │ │ +02920a: 2311 a901 |0025: new-array v1, v1, [Ljava/lang/String; // type@01a9 │ │ +02920e: 4d03 0102 |0027: aput-object v3, v1, v2 │ │ +029212: 1212 |0029: const/4 v2, #int 1 // #1 │ │ +029214: 4d00 0102 |002a: aput-object v0, v1, v2 │ │ +029218: 1101 |002c: return-object v1 │ │ +02921a: 0d00 |002d: move-exception v0 │ │ +02921c: 2201 fb00 |002e: new-instance v1, Ljava/io/IOException; // type@00fb │ │ +029220: 2202 2801 |0030: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +029224: 1a03 0201 |0032: const-string v3, "Cannot parse URI '" // string@0102 │ │ +029228: 7020 8405 3200 |0034: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +02922e: 6e20 8905 5200 |0037: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +029234: 1a05 4200 |003a: const-string v5, "'! - " // string@0042 │ │ +029238: 6e20 8905 5200 |003c: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02923e: 6e10 3b05 0000 |003f: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@053b │ │ +029244: 0c05 |0042: move-result-object v5 │ │ +029246: 6e20 8905 5200 |0043: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02924c: 6e10 8b05 0200 |0046: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +029252: 0c05 |0049: move-result-object v5 │ │ +029254: 7020 fb04 5100 |004a: invoke-direct {v1, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +02925a: 2701 |004d: throw v1 │ │ catches : 1 │ │ 0x0001 - 0x002c │ │ Ljava/lang/Exception; -> 0x002d │ │ positions : │ │ 0x0001 line=291 │ │ 0x0007 line=292 │ │ 0x000e line=294 │ │ @@ -31659,28 +31659,28 @@ │ │ type : '(Ljava/io/InputStream;I)[B' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 24 16-bit code units │ │ -028dfc: |[028dfc] util.Utils.readFully:(Ljava/io/InputStream;I)[B │ │ -028e0c: 2200 f200 |0000: new-instance v0, Ljava/io/ByteArrayOutputStream; // type@00f2 │ │ -028e10: 7010 bf04 0000 |0002: invoke-direct {v0}, Ljava/io/ByteArrayOutputStream;.:()V // method@04bf │ │ -028e16: 2361 9901 |0005: new-array v1, v6, [B // type@0199 │ │ -028e1a: 1202 |0007: const/4 v2, #int 0 // #0 │ │ -028e1c: 6e40 0605 1562 |0008: invoke-virtual {v5, v1, v2, v6}, Ljava/io/InputStream;.read:([BII)I // method@0506 │ │ -028e22: 0a03 |000b: move-result v3 │ │ -028e24: 12f4 |000c: const/4 v4, #int -1 // #ff │ │ -028e26: 3243 0600 |000d: if-eq v3, v4, 0013 // +0006 │ │ -028e2a: 6e40 c804 1032 |000f: invoke-virtual {v0, v1, v2, v3}, Ljava/io/ByteArrayOutputStream;.write:([BII)V // method@04c8 │ │ -028e30: 28f5 |0012: goto 0007 // -000b │ │ -028e32: 6e10 c504 0000 |0013: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.toByteArray:()[B // method@04c5 │ │ -028e38: 0c05 |0016: move-result-object v5 │ │ -028e3a: 1105 |0017: return-object v5 │ │ +028df8: |[028df8] util.Utils.readFully:(Ljava/io/InputStream;I)[B │ │ +028e08: 2200 f200 |0000: new-instance v0, Ljava/io/ByteArrayOutputStream; // type@00f2 │ │ +028e0c: 7010 bf04 0000 |0002: invoke-direct {v0}, Ljava/io/ByteArrayOutputStream;.:()V // method@04bf │ │ +028e12: 2361 9901 |0005: new-array v1, v6, [B // type@0199 │ │ +028e16: 1202 |0007: const/4 v2, #int 0 // #0 │ │ +028e18: 6e40 0605 1562 |0008: invoke-virtual {v5, v1, v2, v6}, Ljava/io/InputStream;.read:([BII)I // method@0506 │ │ +028e1e: 0a03 |000b: move-result v3 │ │ +028e20: 12f4 |000c: const/4 v4, #int -1 // #ff │ │ +028e22: 3243 0600 |000d: if-eq v3, v4, 0013 // +0006 │ │ +028e26: 6e40 c804 1032 |000f: invoke-virtual {v0, v1, v2, v3}, Ljava/io/ByteArrayOutputStream;.write:([BII)V // method@04c8 │ │ +028e2c: 28f5 |0012: goto 0007 // -000b │ │ +028e2e: 6e10 c504 0000 |0013: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.toByteArray:()[B // method@04c5 │ │ +028e34: 0c05 |0016: move-result-object v5 │ │ +028e36: 1105 |0017: return-object v5 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=252 │ │ 0x0005 line=254 │ │ 0x0008 line=255 │ │ 0x000f line=256 │ │ 0x0013 line=257 │ │ @@ -31693,83 +31693,83 @@ │ │ type : '(Ljava/io/InputStream;[BZZ)I' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 8 │ │ ins : 4 │ │ outs : 2 │ │ insns size : 126 16-bit code units │ │ -028ec8: |[028ec8] util.Utils.readLineBytesFromStream:(Ljava/io/InputStream;[BZZ)I │ │ -028ed8: 6e10 0405 0400 |0000: invoke-virtual {v4}, Ljava/io/InputStream;.read:()I // method@0504 │ │ -028ede: 0a00 |0003: move-result v0 │ │ -028ee0: 12f1 |0004: const/4 v1, #int -1 // #ff │ │ -028ee2: 3807 1100 |0005: if-eqz v7, 0016 // +0011 │ │ -028ee6: 1302 2300 |0007: const/16 v2, #int 35 // #23 │ │ -028eea: 3320 0d00 |0009: if-ne v0, v2, 0016 // +000d │ │ -028eee: 7110 7d07 0400 |000b: invoke-static {v4}, Lutil/Utils;.skipLine:(Ljava/io/InputStream;)I // method@077d │ │ -028ef4: 0a00 |000e: move-result v0 │ │ -028ef6: 3210 f5ff |000f: if-eq v0, v1, 0004 // -000b │ │ -028efa: 6e10 0405 0400 |0011: invoke-virtual {v4}, Ljava/io/InputStream;.read:()I // method@0504 │ │ -028f00: 0a00 |0014: move-result v0 │ │ -028f02: 28ef |0015: goto 0004 // -0011 │ │ -028f04: 3310 0300 |0016: if-ne v0, v1, 0019 // +0003 │ │ -028f08: 0f01 |0018: return v1 │ │ -028f0a: 2157 |0019: array-length v7, v5 │ │ -028f0c: 3807 5a00 |001a: if-eqz v7, 0074 // +005a │ │ -028f10: 1207 |001c: const/4 v7, #int 0 // #0 │ │ -028f12: 8d02 |001d: int-to-byte v2, v0 │ │ -028f14: 4f02 0507 |001e: aput-byte v2, v5, v7 │ │ -028f18: 1217 |0020: const/4 v7, #int 1 // #1 │ │ -028f1a: 3210 5200 |0021: if-eq v0, v1, 0073 // +0052 │ │ -028f1e: 1302 0a00 |0023: const/16 v2, #int 10 // #a │ │ -028f22: 3220 4e00 |0025: if-eq v0, v2, 0073 // +004e │ │ -028f26: 3210 faff |0027: if-eq v0, v1, 0021 // -0006 │ │ -028f2a: 3220 f8ff |0029: if-eq v0, v2, 0021 // -0008 │ │ -028f2e: 6e10 0405 0400 |002b: invoke-virtual {v4}, Ljava/io/InputStream;.read:()I // method@0504 │ │ -028f34: 0a00 |002e: move-result v0 │ │ -028f36: 3210 f8ff |002f: if-eq v0, v1, 0027 // -0008 │ │ -028f3a: 2153 |0031: array-length v3, v5 │ │ -028f3c: 3237 3900 |0032: if-eq v7, v3, 006b // +0039 │ │ -028f40: 3806 3100 |0034: if-eqz v6, 0065 // +0031 │ │ -028f44: 1303 2000 |0036: const/16 v3, #int 32 // #20 │ │ -028f48: 3530 2d00 |0038: if-ge v0, v3, 0065 // +002d │ │ -028f4c: 1303 0900 |003a: const/16 v3, #int 9 // #9 │ │ -028f50: 3530 2900 |003c: if-ge v0, v3, 0065 // +0029 │ │ -028f54: 1303 0d00 |003e: const/16 v3, #int 13 // #d │ │ -028f58: 3630 0300 |0040: if-gt v0, v3, 0043 // +0003 │ │ -028f5c: 2823 |0042: goto 0065 // +0023 │ │ -028f5e: 2204 fb00 |0043: new-instance v4, Ljava/io/IOException; // type@00fb │ │ -028f62: 2205 2801 |0045: new-instance v5, Ljava/lang/StringBuilder; // type@0128 │ │ -028f66: 1a06 f203 |0047: const-string v6, "Non printable character: " // string@03f2 │ │ -028f6a: 7020 8405 6500 |0049: invoke-direct {v5, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -028f70: 6e20 8605 0500 |004c: invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -028f76: 1a06 4300 |004f: const-string v6, "(" // string@0043 │ │ -028f7a: 6e20 8905 6500 |0051: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -028f80: 8e06 |0054: int-to-char v6, v0 │ │ -028f82: 6e20 8505 6500 |0055: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@0585 │ │ -028f88: 1a06 4800 |0058: const-string v6, ")" // string@0048 │ │ -028f8c: 6e20 8905 6500 |005a: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -028f92: 6e10 8b05 0500 |005d: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -028f98: 0c05 |0060: move-result-object v5 │ │ -028f9a: 7020 fb04 5400 |0061: invoke-direct {v4, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -028fa0: 2704 |0064: throw v4 │ │ -028fa2: 8d03 |0065: int-to-byte v3, v0 │ │ -028fa4: 4f03 0507 |0066: aput-byte v3, v5, v7 │ │ -028fa8: d807 0701 |0068: add-int/lit8 v7, v7, #int 1 // #01 │ │ -028fac: 28bd |006a: goto 0027 // -0043 │ │ -028fae: 2204 fb00 |006b: new-instance v4, Ljava/io/IOException; // type@00fb │ │ -028fb2: 1a05 df00 |006d: const-string v5, "Buffer overflow!" // string@00df │ │ -028fb6: 7020 fb04 5400 |006f: invoke-direct {v4, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -028fbc: 2704 |0072: throw v4 │ │ -028fbe: 0f07 |0073: return v7 │ │ -028fc0: 2204 fb00 |0074: new-instance v4, Ljava/io/IOException; // type@00fb │ │ -028fc4: 1a05 dd00 |0076: const-string v5, "Buffer Overflow!" // string@00dd │ │ -028fc8: 7020 fb04 5400 |0078: invoke-direct {v4, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -028fce: 2802 |007b: goto 007d // +0002 │ │ -028fd0: 2704 |007c: throw v4 │ │ -028fd2: 28ff |007d: goto 007c // -0001 │ │ +028ec4: |[028ec4] util.Utils.readLineBytesFromStream:(Ljava/io/InputStream;[BZZ)I │ │ +028ed4: 6e10 0405 0400 |0000: invoke-virtual {v4}, Ljava/io/InputStream;.read:()I // method@0504 │ │ +028eda: 0a00 |0003: move-result v0 │ │ +028edc: 12f1 |0004: const/4 v1, #int -1 // #ff │ │ +028ede: 3807 1100 |0005: if-eqz v7, 0016 // +0011 │ │ +028ee2: 1302 2300 |0007: const/16 v2, #int 35 // #23 │ │ +028ee6: 3320 0d00 |0009: if-ne v0, v2, 0016 // +000d │ │ +028eea: 7110 7d07 0400 |000b: invoke-static {v4}, Lutil/Utils;.skipLine:(Ljava/io/InputStream;)I // method@077d │ │ +028ef0: 0a00 |000e: move-result v0 │ │ +028ef2: 3210 f5ff |000f: if-eq v0, v1, 0004 // -000b │ │ +028ef6: 6e10 0405 0400 |0011: invoke-virtual {v4}, Ljava/io/InputStream;.read:()I // method@0504 │ │ +028efc: 0a00 |0014: move-result v0 │ │ +028efe: 28ef |0015: goto 0004 // -0011 │ │ +028f00: 3310 0300 |0016: if-ne v0, v1, 0019 // +0003 │ │ +028f04: 0f01 |0018: return v1 │ │ +028f06: 2157 |0019: array-length v7, v5 │ │ +028f08: 3807 5a00 |001a: if-eqz v7, 0074 // +005a │ │ +028f0c: 1207 |001c: const/4 v7, #int 0 // #0 │ │ +028f0e: 8d02 |001d: int-to-byte v2, v0 │ │ +028f10: 4f02 0507 |001e: aput-byte v2, v5, v7 │ │ +028f14: 1217 |0020: const/4 v7, #int 1 // #1 │ │ +028f16: 3210 5200 |0021: if-eq v0, v1, 0073 // +0052 │ │ +028f1a: 1302 0a00 |0023: const/16 v2, #int 10 // #a │ │ +028f1e: 3220 4e00 |0025: if-eq v0, v2, 0073 // +004e │ │ +028f22: 3210 faff |0027: if-eq v0, v1, 0021 // -0006 │ │ +028f26: 3220 f8ff |0029: if-eq v0, v2, 0021 // -0008 │ │ +028f2a: 6e10 0405 0400 |002b: invoke-virtual {v4}, Ljava/io/InputStream;.read:()I // method@0504 │ │ +028f30: 0a00 |002e: move-result v0 │ │ +028f32: 3210 f8ff |002f: if-eq v0, v1, 0027 // -0008 │ │ +028f36: 2153 |0031: array-length v3, v5 │ │ +028f38: 3237 3900 |0032: if-eq v7, v3, 006b // +0039 │ │ +028f3c: 3806 3100 |0034: if-eqz v6, 0065 // +0031 │ │ +028f40: 1303 2000 |0036: const/16 v3, #int 32 // #20 │ │ +028f44: 3530 2d00 |0038: if-ge v0, v3, 0065 // +002d │ │ +028f48: 1303 0900 |003a: const/16 v3, #int 9 // #9 │ │ +028f4c: 3530 2900 |003c: if-ge v0, v3, 0065 // +0029 │ │ +028f50: 1303 0d00 |003e: const/16 v3, #int 13 // #d │ │ +028f54: 3630 0300 |0040: if-gt v0, v3, 0043 // +0003 │ │ +028f58: 2823 |0042: goto 0065 // +0023 │ │ +028f5a: 2204 fb00 |0043: new-instance v4, Ljava/io/IOException; // type@00fb │ │ +028f5e: 2205 2801 |0045: new-instance v5, Ljava/lang/StringBuilder; // type@0128 │ │ +028f62: 1a06 f203 |0047: const-string v6, "Non printable character: " // string@03f2 │ │ +028f66: 7020 8405 6500 |0049: invoke-direct {v5, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +028f6c: 6e20 8605 0500 |004c: invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +028f72: 1a06 4300 |004f: const-string v6, "(" // string@0043 │ │ +028f76: 6e20 8905 6500 |0051: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +028f7c: 8e06 |0054: int-to-char v6, v0 │ │ +028f7e: 6e20 8505 6500 |0055: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@0585 │ │ +028f84: 1a06 4800 |0058: const-string v6, ")" // string@0048 │ │ +028f88: 6e20 8905 6500 |005a: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +028f8e: 6e10 8b05 0500 |005d: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +028f94: 0c05 |0060: move-result-object v5 │ │ +028f96: 7020 fb04 5400 |0061: invoke-direct {v4, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +028f9c: 2704 |0064: throw v4 │ │ +028f9e: 8d03 |0065: int-to-byte v3, v0 │ │ +028fa0: 4f03 0507 |0066: aput-byte v3, v5, v7 │ │ +028fa4: d807 0701 |0068: add-int/lit8 v7, v7, #int 1 // #01 │ │ +028fa8: 28bd |006a: goto 0027 // -0043 │ │ +028faa: 2204 fb00 |006b: new-instance v4, Ljava/io/IOException; // type@00fb │ │ +028fae: 1a05 df00 |006d: const-string v5, "Buffer overflow!" // string@00df │ │ +028fb2: 7020 fb04 5400 |006f: invoke-direct {v4, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +028fb8: 2704 |0072: throw v4 │ │ +028fba: 0f07 |0073: return v7 │ │ +028fbc: 2204 fb00 |0074: new-instance v4, Ljava/io/IOException; // type@00fb │ │ +028fc0: 1a05 dd00 |0076: const-string v5, "Buffer Overflow!" // string@00dd │ │ +028fc4: 7020 fb04 5400 |0078: invoke-direct {v4, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +028fca: 2802 |007b: goto 007d // +0002 │ │ +028fcc: 2704 |007c: throw v4 │ │ +028fce: 28ff |007d: goto 007c // -0001 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=187 │ │ 0x000b line=190 │ │ 0x0011 line=193 │ │ 0x0019 line=199 │ │ 0x001e line=202 │ │ @@ -31790,19 +31790,19 @@ │ │ type : '(Ljava/io/InputStream;)Ljava/lang/String;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -0290e0: |[0290e0] util.Utils.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; │ │ -0290f0: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -0290f2: 7120 7a07 0100 |0001: invoke-static {v1, v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@077a │ │ -0290f8: 0c01 |0004: move-result-object v1 │ │ -0290fa: 1101 |0005: return-object v1 │ │ +0290dc: |[0290dc] util.Utils.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; │ │ +0290ec: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +0290ee: 7120 7a07 0100 |0001: invoke-static {v1, v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@077a │ │ +0290f4: 0c01 |0004: move-result-object v1 │ │ +0290f6: 1101 |0005: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=247 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 (null) Ljava/io/InputStream; │ │ │ │ #18 : (in Lutil/Utils;) │ │ @@ -31810,57 +31810,57 @@ │ │ type : '(Ljava/io/InputStream;Z)Ljava/lang/String;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 11 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 69 16-bit code units │ │ -0290fc: |[0290fc] util.Utils.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; │ │ -02910c: 2200 2701 |0000: new-instance v0, Ljava/lang/StringBuffer; // type@0127 │ │ -029110: 7010 7d05 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuffer;.:()V // method@057d │ │ -029116: 1201 |0005: const/4 v1, #int 0 // #0 │ │ -029118: 12f2 |0006: const/4 v2, #int -1 // #ff │ │ -02911a: 1203 |0007: const/4 v3, #int 0 // #0 │ │ -02911c: 12f4 |0008: const/4 v4, #int -1 // #ff │ │ -02911e: 1205 |0009: const/4 v5, #int 0 // #0 │ │ -029120: 1206 |000a: const/4 v6, #int 0 // #0 │ │ -029122: 1307 0d00 |000b: const/16 v7, #int 13 // #d │ │ -029126: 3903 2000 |000d: if-nez v3, 002d // +0020 │ │ -02912a: 6e10 0405 0900 |000f: invoke-virtual {v9}, Ljava/io/InputStream;.read:()I // method@0504 │ │ -029130: 0a04 |0012: move-result v4 │ │ -029132: 8d43 |0013: int-to-byte v3, v4 │ │ -029134: 3224 0d00 |0014: if-eq v4, v2, 0021 // +000d │ │ -029138: 1308 0a00 |0016: const/16 v8, #int 10 // #a │ │ -02913c: 3383 0700 |0018: if-ne v3, v8, 001f // +0007 │ │ -029140: 380a 0700 |001a: if-eqz v10, 0021 // +0007 │ │ -029144: 3376 0300 |001c: if-ne v6, v7, 001f // +0003 │ │ -029148: 2803 |001e: goto 0021 // +0003 │ │ -02914a: 1207 |001f: const/4 v7, #int 0 // #0 │ │ -02914c: 2802 |0020: goto 0022 // +0002 │ │ -02914e: 1217 |0021: const/4 v7, #int 1 // #1 │ │ -029150: 3907 0900 |0022: if-nez v7, 002b // +0009 │ │ -029154: 8e36 |0024: int-to-char v6, v3 │ │ -029156: 6e20 7f05 6000 |0025: invoke-virtual {v0, v6}, Ljava/lang/StringBuffer;.append:(C)Ljava/lang/StringBuffer; // method@057f │ │ -02915c: d805 0501 |0028: add-int/lit8 v5, v5, #int 1 // #01 │ │ -029160: 0136 |002a: move v6, v3 │ │ -029162: 0173 |002b: move v3, v7 │ │ -029164: 28df |002c: goto 000b // -0021 │ │ -029166: 3324 0d00 |002d: if-ne v4, v2, 003a // +000d │ │ -02916a: 3805 0300 |002f: if-eqz v5, 0032 // +0003 │ │ -02916e: 2809 |0031: goto 003a // +0009 │ │ -029170: 2209 f500 |0032: new-instance v9, Ljava/io/EOFException; // type@00f5 │ │ -029174: 1a0a 6104 |0034: const-string v10, "Stream is closed!" // string@0461 │ │ -029178: 7020 d904 a900 |0036: invoke-direct {v9, v10}, Ljava/io/EOFException;.:(Ljava/lang/String;)V // method@04d9 │ │ -02917e: 2709 |0039: throw v9 │ │ -029180: 3d05 0600 |003a: if-lez v5, 0040 // +0006 │ │ -029184: 3376 0400 |003c: if-ne v6, v7, 0040 // +0004 │ │ -029188: d805 05ff |003e: add-int/lit8 v5, v5, #int -1 // #ff │ │ -02918c: 6e30 8105 1005 |0040: invoke-virtual {v0, v1, v5}, Ljava/lang/StringBuffer;.substring:(II)Ljava/lang/String; // method@0581 │ │ -029192: 0c09 |0043: move-result-object v9 │ │ -029194: 1109 |0044: return-object v9 │ │ +0290f8: |[0290f8] util.Utils.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; │ │ +029108: 2200 2701 |0000: new-instance v0, Ljava/lang/StringBuffer; // type@0127 │ │ +02910c: 7010 7d05 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuffer;.:()V // method@057d │ │ +029112: 1201 |0005: const/4 v1, #int 0 // #0 │ │ +029114: 12f2 |0006: const/4 v2, #int -1 // #ff │ │ +029116: 1203 |0007: const/4 v3, #int 0 // #0 │ │ +029118: 12f4 |0008: const/4 v4, #int -1 // #ff │ │ +02911a: 1205 |0009: const/4 v5, #int 0 // #0 │ │ +02911c: 1206 |000a: const/4 v6, #int 0 // #0 │ │ +02911e: 1307 0d00 |000b: const/16 v7, #int 13 // #d │ │ +029122: 3903 2000 |000d: if-nez v3, 002d // +0020 │ │ +029126: 6e10 0405 0900 |000f: invoke-virtual {v9}, Ljava/io/InputStream;.read:()I // method@0504 │ │ +02912c: 0a04 |0012: move-result v4 │ │ +02912e: 8d43 |0013: int-to-byte v3, v4 │ │ +029130: 3224 0d00 |0014: if-eq v4, v2, 0021 // +000d │ │ +029134: 1308 0a00 |0016: const/16 v8, #int 10 // #a │ │ +029138: 3383 0700 |0018: if-ne v3, v8, 001f // +0007 │ │ +02913c: 380a 0700 |001a: if-eqz v10, 0021 // +0007 │ │ +029140: 3376 0300 |001c: if-ne v6, v7, 001f // +0003 │ │ +029144: 2803 |001e: goto 0021 // +0003 │ │ +029146: 1207 |001f: const/4 v7, #int 0 // #0 │ │ +029148: 2802 |0020: goto 0022 // +0002 │ │ +02914a: 1217 |0021: const/4 v7, #int 1 // #1 │ │ +02914c: 3907 0900 |0022: if-nez v7, 002b // +0009 │ │ +029150: 8e36 |0024: int-to-char v6, v3 │ │ +029152: 6e20 7f05 6000 |0025: invoke-virtual {v0, v6}, Ljava/lang/StringBuffer;.append:(C)Ljava/lang/StringBuffer; // method@057f │ │ +029158: d805 0501 |0028: add-int/lit8 v5, v5, #int 1 // #01 │ │ +02915c: 0136 |002a: move v6, v3 │ │ +02915e: 0173 |002b: move v3, v7 │ │ +029160: 28df |002c: goto 000b // -0021 │ │ +029162: 3324 0d00 |002d: if-ne v4, v2, 003a // +000d │ │ +029166: 3805 0300 |002f: if-eqz v5, 0032 // +0003 │ │ +02916a: 2809 |0031: goto 003a // +0009 │ │ +02916c: 2209 f500 |0032: new-instance v9, Ljava/io/EOFException; // type@00f5 │ │ +029170: 1a0a 6104 |0034: const-string v10, "Stream is closed!" // string@0461 │ │ +029174: 7020 d904 a900 |0036: invoke-direct {v9, v10}, Ljava/io/EOFException;.:(Ljava/lang/String;)V // method@04d9 │ │ +02917a: 2709 |0039: throw v9 │ │ +02917c: 3d05 0600 |003a: if-lez v5, 0040 // +0006 │ │ +029180: 3376 0400 |003c: if-ne v6, v7, 0040 // +0004 │ │ +029184: d805 05ff |003e: add-int/lit8 v5, v5, #int -1 // #ff │ │ +029188: 6e30 8105 1005 |0040: invoke-virtual {v0, v1, v5}, Ljava/lang/StringBuffer;.substring:(II)Ljava/lang/String; // method@0581 │ │ +02918e: 0c09 |0043: move-result-object v9 │ │ +029190: 1109 |0044: return-object v9 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=161 │ │ 0x000f line=166 │ │ 0x0025 line=170 │ │ 0x0032 line=177 │ │ 0x0040 line=182 │ │ @@ -31873,19 +31873,19 @@ │ │ type : '(Ljava/io/InputStream;)Ljava/lang/String;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -029198: |[029198] util.Utils.readLineFromStreamRN:(Ljava/io/InputStream;)Ljava/lang/String; │ │ -0291a8: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -0291aa: 7120 7a07 0100 |0001: invoke-static {v1, v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@077a │ │ -0291b0: 0c01 |0004: move-result-object v1 │ │ -0291b2: 1101 |0005: return-object v1 │ │ +029194: |[029194] util.Utils.readLineFromStreamRN:(Ljava/io/InputStream;)Ljava/lang/String; │ │ +0291a4: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +0291a6: 7120 7a07 0100 |0001: invoke-static {v1, v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@077a │ │ +0291ac: 0c01 |0004: move-result-object v1 │ │ +0291ae: 1101 |0005: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=243 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 (null) Ljava/io/InputStream; │ │ │ │ #20 : (in Lutil/Utils;) │ │ @@ -31893,25 +31893,25 @@ │ │ type : '(Ljava/lang/Object;)[B' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 24 16-bit code units │ │ -028e3c: |[028e3c] util.Utils.serializeObject:(Ljava/lang/Object;)[B │ │ -028e4c: 2200 f200 |0000: new-instance v0, Ljava/io/ByteArrayOutputStream; // type@00f2 │ │ -028e50: 7010 bf04 0000 |0002: invoke-direct {v0}, Ljava/io/ByteArrayOutputStream;.:()V // method@04bf │ │ -028e56: 2201 ff00 |0005: new-instance v1, Ljava/io/ObjectOutputStream; // type@00ff │ │ -028e5a: 7020 0a05 0100 |0007: invoke-direct {v1, v0}, Ljava/io/ObjectOutputStream;.:(Ljava/io/OutputStream;)V // method@050a │ │ -028e60: 6e20 0d05 2100 |000a: invoke-virtual {v1, v2}, Ljava/io/ObjectOutputStream;.writeObject:(Ljava/lang/Object;)V // method@050d │ │ -028e66: 6e10 0c05 0100 |000d: invoke-virtual {v1}, Ljava/io/ObjectOutputStream;.flush:()V // method@050c │ │ -028e6c: 6e10 0b05 0100 |0010: invoke-virtual {v1}, Ljava/io/ObjectOutputStream;.close:()V // method@050b │ │ -028e72: 6e10 c504 0000 |0013: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.toByteArray:()[B // method@04c5 │ │ -028e78: 0c02 |0016: move-result-object v2 │ │ -028e7a: 1102 |0017: return-object v2 │ │ +028e38: |[028e38] util.Utils.serializeObject:(Ljava/lang/Object;)[B │ │ +028e48: 2200 f200 |0000: new-instance v0, Ljava/io/ByteArrayOutputStream; // type@00f2 │ │ +028e4c: 7010 bf04 0000 |0002: invoke-direct {v0}, Ljava/io/ByteArrayOutputStream;.:()V // method@04bf │ │ +028e52: 2201 ff00 |0005: new-instance v1, Ljava/io/ObjectOutputStream; // type@00ff │ │ +028e56: 7020 0a05 0100 |0007: invoke-direct {v1, v0}, Ljava/io/ObjectOutputStream;.:(Ljava/io/OutputStream;)V // method@050a │ │ +028e5c: 6e20 0d05 2100 |000a: invoke-virtual {v1, v2}, Ljava/io/ObjectOutputStream;.writeObject:(Ljava/lang/Object;)V // method@050d │ │ +028e62: 6e10 0c05 0100 |000d: invoke-virtual {v1}, Ljava/io/ObjectOutputStream;.flush:()V // method@050c │ │ +028e68: 6e10 0b05 0100 |0010: invoke-virtual {v1}, Ljava/io/ObjectOutputStream;.close:()V // method@050b │ │ +028e6e: 6e10 c504 0000 |0013: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.toByteArray:()[B // method@04c5 │ │ +028e74: 0c02 |0016: move-result-object v2 │ │ +028e76: 1102 |0017: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=262 │ │ 0x0005 line=263 │ │ 0x000a line=264 │ │ 0x000d line=265 │ │ 0x0010 line=266 │ │ @@ -31924,24 +31924,24 @@ │ │ type : '(Ljava/io/InputStream;)I' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 14 16-bit code units │ │ -028fd4: |[028fd4] util.Utils.skipLine:(Ljava/io/InputStream;)I │ │ -028fe4: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -028fe6: 12f1 |0001: const/4 v1, #int -1 // #ff │ │ -028fe8: 3210 0b00 |0002: if-eq v0, v1, 000d // +000b │ │ -028fec: 1301 0a00 |0004: const/16 v1, #int 10 // #a │ │ -028ff0: 3210 0700 |0006: if-eq v0, v1, 000d // +0007 │ │ -028ff4: 6e10 0405 0200 |0008: invoke-virtual {v2}, Ljava/io/InputStream;.read:()I // method@0504 │ │ -028ffa: 0a00 |000b: move-result v0 │ │ -028ffc: 28f5 |000c: goto 0001 // -000b │ │ -028ffe: 0f00 |000d: return v0 │ │ +028fd0: |[028fd0] util.Utils.skipLine:(Ljava/io/InputStream;)I │ │ +028fe0: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +028fe2: 12f1 |0001: const/4 v1, #int -1 // #ff │ │ +028fe4: 3210 0b00 |0002: if-eq v0, v1, 000d // +000b │ │ +028fe8: 1301 0a00 |0004: const/16 v1, #int 10 // #a │ │ +028fec: 3210 0700 |0006: if-eq v0, v1, 000d // +0007 │ │ +028ff0: 6e10 0405 0200 |0008: invoke-virtual {v2}, Ljava/io/InputStream;.read:()I // method@0504 │ │ +028ff6: 0a00 |000b: move-result v0 │ │ +028ff8: 28f5 |000c: goto 0001 // -000b │ │ +028ffa: 0f00 |000d: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0008 line=230 │ │ locals : │ │ 0x0000 - 0x000e reg=2 (null) Ljava/io/InputStream; │ │ │ │ #22 : (in Lutil/Utils;) │ │ @@ -31949,29 +31949,29 @@ │ │ type : '(Ljava/io/InputStream;I)I' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 25 16-bit code units │ │ -029000: |[029000] util.Utils.skipWhitespace:(Ljava/io/InputStream;I)I │ │ -029010: 12f0 |0000: const/4 v0, #int -1 // #ff │ │ -029012: 3202 1700 |0001: if-eq v2, v0, 0018 // +0017 │ │ -029016: 1300 0a00 |0003: const/16 v0, #int 10 // #a │ │ -02901a: 3202 1300 |0005: if-eq v2, v0, 0018 // +0013 │ │ -02901e: 1300 0900 |0007: const/16 v0, #int 9 // #9 │ │ -029022: 3202 0a00 |0009: if-eq v2, v0, 0013 // +000a │ │ -029026: 1300 2000 |000b: const/16 v0, #int 32 // #20 │ │ -02902a: 3202 0600 |000d: if-eq v2, v0, 0013 // +0006 │ │ -02902e: 1300 0d00 |000f: const/16 v0, #int 13 // #d │ │ -029032: 3302 0700 |0011: if-ne v2, v0, 0018 // +0007 │ │ -029036: 6e10 0405 0100 |0013: invoke-virtual {v1}, Ljava/io/InputStream;.read:()I // method@0504 │ │ -02903c: 0a02 |0016: move-result v2 │ │ -02903e: 28e9 |0017: goto 0000 // -0017 │ │ -029040: 0f02 |0018: return v2 │ │ +028ffc: |[028ffc] util.Utils.skipWhitespace:(Ljava/io/InputStream;I)I │ │ +02900c: 12f0 |0000: const/4 v0, #int -1 // #ff │ │ +02900e: 3202 1700 |0001: if-eq v2, v0, 0018 // +0017 │ │ +029012: 1300 0a00 |0003: const/16 v0, #int 10 // #a │ │ +029016: 3202 1300 |0005: if-eq v2, v0, 0018 // +0013 │ │ +02901a: 1300 0900 |0007: const/16 v0, #int 9 // #9 │ │ +02901e: 3202 0a00 |0009: if-eq v2, v0, 0013 // +000a │ │ +029022: 1300 2000 |000b: const/16 v0, #int 32 // #20 │ │ +029026: 3202 0600 |000d: if-eq v2, v0, 0013 // +0006 │ │ +02902a: 1300 0d00 |000f: const/16 v0, #int 13 // #d │ │ +02902e: 3302 0700 |0011: if-ne v2, v0, 0018 // +0007 │ │ +029032: 6e10 0405 0100 |0013: invoke-virtual {v1}, Ljava/io/InputStream;.read:()I // method@0504 │ │ +029038: 0a02 |0016: move-result v2 │ │ +02903a: 28e9 |0017: goto 0000 // -0017 │ │ +02903c: 0f02 |0018: return v2 │ │ catches : (none) │ │ positions : │ │ 0x0013 line=237 │ │ locals : │ │ 0x0000 - 0x0019 reg=1 (null) Ljava/io/InputStream; │ │ 0x0000 - 0x0019 reg=2 (null) I │ │ │ │ @@ -31980,29 +31980,29 @@ │ │ type : '(J)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 22 16-bit code units │ │ -0295c0: |[0295c0] util.Utils.sleep:(J)V │ │ -0295d0: 2202 2001 |0000: new-instance v2, Ljava/lang/Object; // type@0120 │ │ -0295d4: 7010 4f05 0200 |0002: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@054f │ │ -0295da: 1d02 |0005: monitor-enter v2 │ │ -0295dc: 1600 6400 |0006: const-wide/16 v0, #int 100 // #64 │ │ -0295e0: 6e30 5605 0201 |0008: invoke-virtual {v2, v0, v1}, Ljava/lang/Object;.wait:(J)V // method@0556 │ │ -0295e6: 2807 |000b: goto 0012 // +0007 │ │ -0295e8: 0d03 |000c: move-exception v3 │ │ -0295ea: 2807 |000d: goto 0014 // +0007 │ │ -0295ec: 0d03 |000e: move-exception v3 │ │ -0295ee: 6e10 4505 0300 |000f: invoke-virtual {v3}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@0545 │ │ -0295f4: 1e02 |0012: monitor-exit v2 │ │ -0295f6: 0e00 |0013: return-void │ │ -0295f8: 1e02 |0014: monitor-exit v2 │ │ -0295fa: 2703 |0015: throw v3 │ │ +0295bc: |[0295bc] util.Utils.sleep:(J)V │ │ +0295cc: 2202 2001 |0000: new-instance v2, Ljava/lang/Object; // type@0120 │ │ +0295d0: 7010 4f05 0200 |0002: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@054f │ │ +0295d6: 1d02 |0005: monitor-enter v2 │ │ +0295d8: 1600 6400 |0006: const-wide/16 v0, #int 100 // #64 │ │ +0295dc: 6e30 5605 0201 |0008: invoke-virtual {v2, v0, v1}, Ljava/lang/Object;.wait:(J)V // method@0556 │ │ +0295e2: 2807 |000b: goto 0012 // +0007 │ │ +0295e4: 0d03 |000c: move-exception v3 │ │ +0295e6: 2807 |000d: goto 0014 // +0007 │ │ +0295e8: 0d03 |000e: move-exception v3 │ │ +0295ea: 6e10 4505 0300 |000f: invoke-virtual {v3}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@0545 │ │ +0295f0: 1e02 |0012: monitor-exit v2 │ │ +0295f2: 0e00 |0013: return-void │ │ +0295f4: 1e02 |0014: monitor-exit v2 │ │ +0295f6: 2703 |0015: throw v3 │ │ catches : 2 │ │ 0x0008 - 0x000b │ │ Ljava/lang/InterruptedException; -> 0x000e │ │ -> 0x000c │ │ 0x000f - 0x0015 │ │ -> 0x000c │ │ positions : │ │ @@ -32019,82 +32019,82 @@ │ │ type : '(Ljava/util/zip/ZipInputStream;Ljava/lang/String;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 141 16-bit code units │ │ -029614: |[029614] util.Utils.unzipFile:(Ljava/util/zip/ZipInputStream;Ljava/lang/String;)V │ │ -029624: 1300 0004 |0000: const/16 v0, #int 1024 // #400 │ │ -029628: 2300 9901 |0002: new-array v0, v0, [B // type@0199 │ │ -02962c: 6e10 6f06 0500 |0004: invoke-virtual {v5}, Ljava/util/zip/ZipInputStream;.getNextEntry:()Ljava/util/zip/ZipEntry; // method@066f │ │ -029632: 0c01 |0007: move-result-object v1 │ │ -029634: 3801 7e00 |0008: if-eqz v1, 0086 // +007e │ │ -029638: 2202 f600 |000a: new-instance v2, Ljava/io/File; // type@00f6 │ │ -02963c: 2203 2801 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -029640: 7010 8305 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -029646: 6e20 8905 6300 |0011: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02964c: 6204 1903 |0014: sget-object v4, Ljava/io/File;.separator:Ljava/lang/String; // field@0319 │ │ -029650: 6e20 8905 4300 |0016: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -029656: 6e10 8b05 0300 |0019: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02965c: 0c03 |001c: move-result-object v3 │ │ -02965e: 6e10 6b06 0100 |001d: invoke-virtual {v1}, Ljava/util/zip/ZipEntry;.getName:()Ljava/lang/String; // method@066b │ │ -029664: 0c04 |0020: move-result-object v4 │ │ -029666: 7030 db04 3204 |0021: invoke-direct {v2, v3, v4}, Ljava/io/File;.:(Ljava/lang/String;Ljava/lang/String;)V // method@04db │ │ -02966c: 6e10 6c06 0100 |0024: invoke-virtual {v1}, Ljava/util/zip/ZipEntry;.isDirectory:()Z // method@066c │ │ -029672: 0a01 |0027: move-result v1 │ │ -029674: 1a03 a701 |0028: const-string v3, "Failed to create directory " // string@01a7 │ │ -029678: 3801 2100 |002a: if-eqz v1, 004b // +0021 │ │ -02967c: 6e10 e504 0200 |002c: invoke-virtual {v2}, Ljava/io/File;.isDirectory:()Z // method@04e5 │ │ -029682: 0a01 |002f: move-result v1 │ │ -029684: 3901 5100 |0030: if-nez v1, 0081 // +0051 │ │ -029688: 6e10 eb04 0200 |0032: invoke-virtual {v2}, Ljava/io/File;.mkdirs:()Z // method@04eb │ │ -02968e: 0a01 |0035: move-result v1 │ │ -029690: 3801 0300 |0036: if-eqz v1, 0039 // +0003 │ │ -029694: 2849 |0038: goto 0081 // +0049 │ │ -029696: 2205 fb00 |0039: new-instance v5, Ljava/io/IOException; // type@00fb │ │ -02969a: 2206 2801 |003b: new-instance v6, Ljava/lang/StringBuilder; // type@0128 │ │ -02969e: 7020 8405 3600 |003d: invoke-direct {v6, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -0296a4: 6e20 8805 2600 |0040: invoke-virtual {v6, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ -0296aa: 6e10 8b05 0600 |0043: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0296b0: 0c06 |0046: move-result-object v6 │ │ -0296b2: 7020 fb04 6500 |0047: invoke-direct {v5, v6}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -0296b8: 2705 |004a: throw v5 │ │ -0296ba: 6e10 e304 0200 |004b: invoke-virtual {v2}, Ljava/io/File;.getParentFile:()Ljava/io/File; // method@04e3 │ │ -0296c0: 0c01 |004e: move-result-object v1 │ │ -0296c2: 6e10 e504 0100 |004f: invoke-virtual {v1}, Ljava/io/File;.isDirectory:()Z // method@04e5 │ │ -0296c8: 0a04 |0052: move-result v4 │ │ -0296ca: 3904 1b00 |0053: if-nez v4, 006e // +001b │ │ -0296ce: 6e10 eb04 0100 |0055: invoke-virtual {v1}, Ljava/io/File;.mkdirs:()Z // method@04eb │ │ -0296d4: 0a04 |0058: move-result v4 │ │ -0296d6: 3804 0300 |0059: if-eqz v4, 005c // +0003 │ │ -0296da: 2813 |005b: goto 006e // +0013 │ │ -0296dc: 2205 fb00 |005c: new-instance v5, Ljava/io/IOException; // type@00fb │ │ -0296e0: 2206 2801 |005e: new-instance v6, Ljava/lang/StringBuilder; // type@0128 │ │ -0296e4: 7020 8405 3600 |0060: invoke-direct {v6, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -0296ea: 6e20 8805 1600 |0063: invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ -0296f0: 6e10 8b05 0600 |0066: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0296f6: 0c06 |0069: move-result-object v6 │ │ -0296f8: 7020 fb04 6500 |006a: invoke-direct {v5, v6}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -0296fe: 2705 |006d: throw v5 │ │ -029700: 2201 fa00 |006e: new-instance v1, Ljava/io/FileOutputStream; // type@00fa │ │ -029704: 7020 f304 2100 |0070: invoke-direct {v1, v2}, Ljava/io/FileOutputStream;.:(Ljava/io/File;)V // method@04f3 │ │ -02970a: 6e20 7006 0500 |0073: invoke-virtual {v5, v0}, Ljava/util/zip/ZipInputStream;.read:([B)I // method@0670 │ │ -029710: 0a02 |0076: move-result v2 │ │ -029712: 3d02 0700 |0077: if-lez v2, 007e // +0007 │ │ -029716: 1203 |0079: const/4 v3, #int 0 // #0 │ │ -029718: 6e40 fa04 0123 |007a: invoke-virtual {v1, v0, v3, v2}, Ljava/io/FileOutputStream;.write:([BII)V // method@04fa │ │ -02971e: 28f6 |007d: goto 0073 // -000a │ │ -029720: 6e10 f704 0100 |007e: invoke-virtual {v1}, Ljava/io/FileOutputStream;.close:()V // method@04f7 │ │ -029726: 6e10 6f06 0500 |0081: invoke-virtual {v5}, Ljava/util/zip/ZipInputStream;.getNextEntry:()Ljava/util/zip/ZipEntry; // method@066f │ │ -02972c: 0c01 |0084: move-result-object v1 │ │ -02972e: 2883 |0085: goto 0008 // -007d │ │ -029730: 6e10 6e06 0500 |0086: invoke-virtual {v5}, Ljava/util/zip/ZipInputStream;.closeEntry:()V // method@066e │ │ -029736: 6e10 6d06 0500 |0089: invoke-virtual {v5}, Ljava/util/zip/ZipInputStream;.close:()V // method@066d │ │ -02973c: 0e00 |008c: return-void │ │ +029610: |[029610] util.Utils.unzipFile:(Ljava/util/zip/ZipInputStream;Ljava/lang/String;)V │ │ +029620: 1300 0004 |0000: const/16 v0, #int 1024 // #400 │ │ +029624: 2300 9901 |0002: new-array v0, v0, [B // type@0199 │ │ +029628: 6e10 6f06 0500 |0004: invoke-virtual {v5}, Ljava/util/zip/ZipInputStream;.getNextEntry:()Ljava/util/zip/ZipEntry; // method@066f │ │ +02962e: 0c01 |0007: move-result-object v1 │ │ +029630: 3801 7e00 |0008: if-eqz v1, 0086 // +007e │ │ +029634: 2202 f600 |000a: new-instance v2, Ljava/io/File; // type@00f6 │ │ +029638: 2203 2801 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +02963c: 7010 8305 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +029642: 6e20 8905 6300 |0011: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +029648: 6204 1903 |0014: sget-object v4, Ljava/io/File;.separator:Ljava/lang/String; // field@0319 │ │ +02964c: 6e20 8905 4300 |0016: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +029652: 6e10 8b05 0300 |0019: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +029658: 0c03 |001c: move-result-object v3 │ │ +02965a: 6e10 6b06 0100 |001d: invoke-virtual {v1}, Ljava/util/zip/ZipEntry;.getName:()Ljava/lang/String; // method@066b │ │ +029660: 0c04 |0020: move-result-object v4 │ │ +029662: 7030 db04 3204 |0021: invoke-direct {v2, v3, v4}, Ljava/io/File;.:(Ljava/lang/String;Ljava/lang/String;)V // method@04db │ │ +029668: 6e10 6c06 0100 |0024: invoke-virtual {v1}, Ljava/util/zip/ZipEntry;.isDirectory:()Z // method@066c │ │ +02966e: 0a01 |0027: move-result v1 │ │ +029670: 1a03 a701 |0028: const-string v3, "Failed to create directory " // string@01a7 │ │ +029674: 3801 2100 |002a: if-eqz v1, 004b // +0021 │ │ +029678: 6e10 e504 0200 |002c: invoke-virtual {v2}, Ljava/io/File;.isDirectory:()Z // method@04e5 │ │ +02967e: 0a01 |002f: move-result v1 │ │ +029680: 3901 5100 |0030: if-nez v1, 0081 // +0051 │ │ +029684: 6e10 eb04 0200 |0032: invoke-virtual {v2}, Ljava/io/File;.mkdirs:()Z // method@04eb │ │ +02968a: 0a01 |0035: move-result v1 │ │ +02968c: 3801 0300 |0036: if-eqz v1, 0039 // +0003 │ │ +029690: 2849 |0038: goto 0081 // +0049 │ │ +029692: 2205 fb00 |0039: new-instance v5, Ljava/io/IOException; // type@00fb │ │ +029696: 2206 2801 |003b: new-instance v6, Ljava/lang/StringBuilder; // type@0128 │ │ +02969a: 7020 8405 3600 |003d: invoke-direct {v6, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +0296a0: 6e20 8805 2600 |0040: invoke-virtual {v6, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ +0296a6: 6e10 8b05 0600 |0043: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0296ac: 0c06 |0046: move-result-object v6 │ │ +0296ae: 7020 fb04 6500 |0047: invoke-direct {v5, v6}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +0296b4: 2705 |004a: throw v5 │ │ +0296b6: 6e10 e304 0200 |004b: invoke-virtual {v2}, Ljava/io/File;.getParentFile:()Ljava/io/File; // method@04e3 │ │ +0296bc: 0c01 |004e: move-result-object v1 │ │ +0296be: 6e10 e504 0100 |004f: invoke-virtual {v1}, Ljava/io/File;.isDirectory:()Z // method@04e5 │ │ +0296c4: 0a04 |0052: move-result v4 │ │ +0296c6: 3904 1b00 |0053: if-nez v4, 006e // +001b │ │ +0296ca: 6e10 eb04 0100 |0055: invoke-virtual {v1}, Ljava/io/File;.mkdirs:()Z // method@04eb │ │ +0296d0: 0a04 |0058: move-result v4 │ │ +0296d2: 3804 0300 |0059: if-eqz v4, 005c // +0003 │ │ +0296d6: 2813 |005b: goto 006e // +0013 │ │ +0296d8: 2205 fb00 |005c: new-instance v5, Ljava/io/IOException; // type@00fb │ │ +0296dc: 2206 2801 |005e: new-instance v6, Ljava/lang/StringBuilder; // type@0128 │ │ +0296e0: 7020 8405 3600 |0060: invoke-direct {v6, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +0296e6: 6e20 8805 1600 |0063: invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ +0296ec: 6e10 8b05 0600 |0066: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0296f2: 0c06 |0069: move-result-object v6 │ │ +0296f4: 7020 fb04 6500 |006a: invoke-direct {v5, v6}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +0296fa: 2705 |006d: throw v5 │ │ +0296fc: 2201 fa00 |006e: new-instance v1, Ljava/io/FileOutputStream; // type@00fa │ │ +029700: 7020 f304 2100 |0070: invoke-direct {v1, v2}, Ljava/io/FileOutputStream;.:(Ljava/io/File;)V // method@04f3 │ │ +029706: 6e20 7006 0500 |0073: invoke-virtual {v5, v0}, Ljava/util/zip/ZipInputStream;.read:([B)I // method@0670 │ │ +02970c: 0a02 |0076: move-result v2 │ │ +02970e: 3d02 0700 |0077: if-lez v2, 007e // +0007 │ │ +029712: 1203 |0079: const/4 v3, #int 0 // #0 │ │ +029714: 6e40 fa04 0123 |007a: invoke-virtual {v1, v0, v3, v2}, Ljava/io/FileOutputStream;.write:([BII)V // method@04fa │ │ +02971a: 28f6 |007d: goto 0073 // -000a │ │ +02971c: 6e10 f704 0100 |007e: invoke-virtual {v1}, Ljava/io/FileOutputStream;.close:()V // method@04f7 │ │ +029722: 6e10 6f06 0500 |0081: invoke-virtual {v5}, Ljava/util/zip/ZipInputStream;.getNextEntry:()Ljava/util/zip/ZipEntry; // method@066f │ │ +029728: 0c01 |0084: move-result-object v1 │ │ +02972a: 2883 |0085: goto 0008 // -007d │ │ +02972c: 6e10 6e06 0500 |0086: invoke-virtual {v5}, Ljava/util/zip/ZipInputStream;.closeEntry:()V // method@066e │ │ +029732: 6e10 6d06 0500 |0089: invoke-virtual {v5}, Ljava/util/zip/ZipInputStream;.close:()V // method@066d │ │ +029738: 0e00 |008c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=393 │ │ 0x0004 line=394 │ │ 0x000a line=396 │ │ 0x0024 line=397 │ │ 0x002c line=398 │ │ @@ -32118,61 +32118,61 @@ │ │ type : '(J[BI)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 7 │ │ ins : 4 │ │ outs : 0 │ │ insns size : 75 16-bit code units │ │ -029740: |[029740] util.Utils.writeLongToByteArray:(J[BI)V │ │ -029750: 1300 3800 |0000: const/16 v0, #int 56 // #38 │ │ -029754: a400 0300 |0002: shr-long v0, v3, v0 │ │ -029758: 8401 |0004: long-to-int v1, v0 │ │ -02975a: 8d10 |0005: int-to-byte v0, v1 │ │ -02975c: 4f00 0506 |0006: aput-byte v0, v5, v6 │ │ -029760: d800 0601 |0008: add-int/lit8 v0, v6, #int 1 // #01 │ │ -029764: 1301 3000 |000a: const/16 v1, #int 48 // #30 │ │ -029768: a401 0301 |000c: shr-long v1, v3, v1 │ │ -02976c: 8412 |000e: long-to-int v2, v1 │ │ -02976e: 8d21 |000f: int-to-byte v1, v2 │ │ -029770: 4f01 0500 |0010: aput-byte v1, v5, v0 │ │ -029774: d800 0602 |0012: add-int/lit8 v0, v6, #int 2 // #02 │ │ -029778: 1301 2800 |0014: const/16 v1, #int 40 // #28 │ │ -02977c: a401 0301 |0016: shr-long v1, v3, v1 │ │ -029780: 8412 |0018: long-to-int v2, v1 │ │ -029782: 8d21 |0019: int-to-byte v1, v2 │ │ -029784: 4f01 0500 |001a: aput-byte v1, v5, v0 │ │ -029788: d800 0603 |001c: add-int/lit8 v0, v6, #int 3 // #03 │ │ -02978c: 1301 2000 |001e: const/16 v1, #int 32 // #20 │ │ -029790: a401 0301 |0020: shr-long v1, v3, v1 │ │ -029794: 8412 |0022: long-to-int v2, v1 │ │ -029796: 8d21 |0023: int-to-byte v1, v2 │ │ -029798: 4f01 0500 |0024: aput-byte v1, v5, v0 │ │ -02979c: d800 0604 |0026: add-int/lit8 v0, v6, #int 4 // #04 │ │ -0297a0: 1301 1800 |0028: const/16 v1, #int 24 // #18 │ │ -0297a4: a401 0301 |002a: shr-long v1, v3, v1 │ │ -0297a8: 8412 |002c: long-to-int v2, v1 │ │ -0297aa: 8d21 |002d: int-to-byte v1, v2 │ │ -0297ac: 4f01 0500 |002e: aput-byte v1, v5, v0 │ │ -0297b0: d800 0605 |0030: add-int/lit8 v0, v6, #int 5 // #05 │ │ -0297b4: 1301 1000 |0032: const/16 v1, #int 16 // #10 │ │ -0297b8: a401 0301 |0034: shr-long v1, v3, v1 │ │ -0297bc: 8412 |0036: long-to-int v2, v1 │ │ -0297be: 8d21 |0037: int-to-byte v1, v2 │ │ -0297c0: 4f01 0500 |0038: aput-byte v1, v5, v0 │ │ -0297c4: d800 0606 |003a: add-int/lit8 v0, v6, #int 6 // #06 │ │ -0297c8: 1301 0800 |003c: const/16 v1, #int 8 // #8 │ │ -0297cc: a401 0301 |003e: shr-long v1, v3, v1 │ │ -0297d0: 8412 |0040: long-to-int v2, v1 │ │ -0297d2: 8d21 |0041: int-to-byte v1, v2 │ │ -0297d4: 4f01 0500 |0042: aput-byte v1, v5, v0 │ │ -0297d8: d806 0607 |0044: add-int/lit8 v6, v6, #int 7 // #07 │ │ -0297dc: 8434 |0046: long-to-int v4, v3 │ │ -0297de: 8d43 |0047: int-to-byte v3, v4 │ │ -0297e0: 4f03 0506 |0048: aput-byte v3, v5, v6 │ │ -0297e4: 0e00 |004a: return-void │ │ +02973c: |[02973c] util.Utils.writeLongToByteArray:(J[BI)V │ │ +02974c: 1300 3800 |0000: const/16 v0, #int 56 // #38 │ │ +029750: a400 0300 |0002: shr-long v0, v3, v0 │ │ +029754: 8401 |0004: long-to-int v1, v0 │ │ +029756: 8d10 |0005: int-to-byte v0, v1 │ │ +029758: 4f00 0506 |0006: aput-byte v0, v5, v6 │ │ +02975c: d800 0601 |0008: add-int/lit8 v0, v6, #int 1 // #01 │ │ +029760: 1301 3000 |000a: const/16 v1, #int 48 // #30 │ │ +029764: a401 0301 |000c: shr-long v1, v3, v1 │ │ +029768: 8412 |000e: long-to-int v2, v1 │ │ +02976a: 8d21 |000f: int-to-byte v1, v2 │ │ +02976c: 4f01 0500 |0010: aput-byte v1, v5, v0 │ │ +029770: d800 0602 |0012: add-int/lit8 v0, v6, #int 2 // #02 │ │ +029774: 1301 2800 |0014: const/16 v1, #int 40 // #28 │ │ +029778: a401 0301 |0016: shr-long v1, v3, v1 │ │ +02977c: 8412 |0018: long-to-int v2, v1 │ │ +02977e: 8d21 |0019: int-to-byte v1, v2 │ │ +029780: 4f01 0500 |001a: aput-byte v1, v5, v0 │ │ +029784: d800 0603 |001c: add-int/lit8 v0, v6, #int 3 // #03 │ │ +029788: 1301 2000 |001e: const/16 v1, #int 32 // #20 │ │ +02978c: a401 0301 |0020: shr-long v1, v3, v1 │ │ +029790: 8412 |0022: long-to-int v2, v1 │ │ +029792: 8d21 |0023: int-to-byte v1, v2 │ │ +029794: 4f01 0500 |0024: aput-byte v1, v5, v0 │ │ +029798: d800 0604 |0026: add-int/lit8 v0, v6, #int 4 // #04 │ │ +02979c: 1301 1800 |0028: const/16 v1, #int 24 // #18 │ │ +0297a0: a401 0301 |002a: shr-long v1, v3, v1 │ │ +0297a4: 8412 |002c: long-to-int v2, v1 │ │ +0297a6: 8d21 |002d: int-to-byte v1, v2 │ │ +0297a8: 4f01 0500 |002e: aput-byte v1, v5, v0 │ │ +0297ac: d800 0605 |0030: add-int/lit8 v0, v6, #int 5 // #05 │ │ +0297b0: 1301 1000 |0032: const/16 v1, #int 16 // #10 │ │ +0297b4: a401 0301 |0034: shr-long v1, v3, v1 │ │ +0297b8: 8412 |0036: long-to-int v2, v1 │ │ +0297ba: 8d21 |0037: int-to-byte v1, v2 │ │ +0297bc: 4f01 0500 |0038: aput-byte v1, v5, v0 │ │ +0297c0: d800 0606 |003a: add-int/lit8 v0, v6, #int 6 // #06 │ │ +0297c4: 1301 0800 |003c: const/16 v1, #int 8 // #8 │ │ +0297c8: a401 0301 |003e: shr-long v1, v3, v1 │ │ +0297cc: 8412 |0040: long-to-int v2, v1 │ │ +0297ce: 8d21 |0041: int-to-byte v1, v2 │ │ +0297d0: 4f01 0500 |0042: aput-byte v1, v5, v0 │ │ +0297d4: d806 0607 |0044: add-int/lit8 v6, v6, #int 7 // #07 │ │ +0297d8: 8434 |0046: long-to-int v4, v3 │ │ +0297da: 8d43 |0047: int-to-byte v3, v4 │ │ +0297dc: 4f03 0506 |0048: aput-byte v3, v5, v6 │ │ +0297e0: 0e00 |004a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0006 line=83 │ │ 0x0010 line=84 │ │ 0x001a line=85 │ │ 0x0024 line=86 │ │ 0x002e line=87 │ │ @@ -32189,79 +32189,79 @@ │ │ type : '(Ljava/util/zip/ZipOutputStream;Ljava/io/File;Ljava/lang/String;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 7 │ │ ins : 3 │ │ outs : 4 │ │ insns size : 140 16-bit code units │ │ -0297e8: |[0297e8] util.Utils.zipFile:(Ljava/util/zip/ZipOutputStream;Ljava/io/File;Ljava/lang/String;)V │ │ -0297f8: 3805 8b00 |0000: if-eqz v5, 008b // +008b │ │ -0297fc: 6e10 e004 0500 |0002: invoke-virtual {v5}, Ljava/io/File;.exists:()Z // method@04e0 │ │ -029802: 0a00 |0005: move-result v0 │ │ -029804: 3900 0400 |0006: if-nez v0, 000a // +0004 │ │ -029808: 2900 8300 |0008: goto/16 008b // +0083 │ │ -02980c: 6e10 e204 0500 |000a: invoke-virtual {v5}, Ljava/io/File;.getName:()Ljava/lang/String; // method@04e2 │ │ -029812: 0c00 |000d: move-result-object v0 │ │ -029814: 3806 2000 |000e: if-eqz v6, 002e // +0020 │ │ -029818: 6e10 6d05 0600 |0010: invoke-virtual {v6}, Ljava/lang/String;.isEmpty:()Z // method@056d │ │ -02981e: 0a01 |0013: move-result v1 │ │ -029820: 3901 1a00 |0014: if-nez v1, 002e // +001a │ │ -029824: 2200 2801 |0016: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ -029828: 7010 8305 0000 |0018: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -02982e: 6e20 8905 6000 |001b: invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -029834: 1a06 6000 |001e: const-string v6, "/" // string@0060 │ │ -029838: 6e20 8905 6000 |0020: invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02983e: 6e10 e204 0500 |0023: invoke-virtual {v5}, Ljava/io/File;.getName:()Ljava/lang/String; // method@04e2 │ │ -029844: 0c06 |0026: move-result-object v6 │ │ -029846: 6e20 8905 6000 |0027: invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02984c: 6e10 8b05 0000 |002a: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -029852: 0c00 |002d: move-result-object v0 │ │ -029854: 6e10 e504 0500 |002e: invoke-virtual {v5}, Ljava/io/File;.isDirectory:()Z // method@04e5 │ │ -02985a: 0a06 |0031: move-result v6 │ │ -02985c: 1201 |0032: const/4 v1, #int 0 // #0 │ │ -02985e: 3806 2400 |0033: if-eqz v6, 0057 // +0024 │ │ -029862: 6206 1c03 |0035: sget-object v6, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@031c │ │ -029866: 2202 2801 |0037: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -02986a: 1a03 4f00 |0039: const-string v3, "+" // string@004f │ │ -02986e: 7020 8405 3200 |003b: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -029874: 6e20 8905 0200 |003e: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02987a: 6e10 8b05 0200 |0041: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -029880: 0c02 |0044: move-result-object v2 │ │ -029882: 6e20 1c05 2600 |0045: invoke-virtual {v6, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@051c │ │ -029888: 6e10 e904 0500 |0048: invoke-virtual {v5}, Ljava/io/File;.listFiles:()[Ljava/io/File; // method@04e9 │ │ -02988e: 0c05 |004b: move-result-object v5 │ │ -029890: 2156 |004c: array-length v6, v5 │ │ -029892: 3561 3e00 |004d: if-ge v1, v6, 008b // +003e │ │ -029896: 4602 0501 |004f: aget-object v2, v5, v1 │ │ -02989a: 7130 8207 2400 |0051: invoke-static {v4, v2, v0}, Lutil/Utils;.zipFile:(Ljava/util/zip/ZipOutputStream;Ljava/io/File;Ljava/lang/String;)V // method@0782 │ │ -0298a0: d801 0101 |0054: add-int/lit8 v1, v1, #int 1 // #01 │ │ -0298a4: 28f7 |0056: goto 004d // -0009 │ │ -0298a6: 6206 1c03 |0057: sget-object v6, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@031c │ │ -0298aa: 2202 2801 |0059: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -0298ae: 1a03 0e00 |005b: const-string v3, " " // string@000e │ │ -0298b2: 7020 8405 3200 |005d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -0298b8: 6e20 8905 0200 |0060: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0298be: 6e10 8b05 0200 |0063: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0298c4: 0c02 |0066: move-result-object v2 │ │ -0298c6: 6e20 1c05 2600 |0067: invoke-virtual {v6, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@051c │ │ -0298cc: 1306 0004 |006a: const/16 v6, #int 1024 // #400 │ │ -0298d0: 2366 9901 |006c: new-array v6, v6, [B // type@0199 │ │ -0298d4: 2202 f800 |006e: new-instance v2, Ljava/io/FileInputStream; // type@00f8 │ │ -0298d8: 7020 ed04 5200 |0070: invoke-direct {v2, v5}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@04ed │ │ -0298de: 2205 6b01 |0073: new-instance v5, Ljava/util/zip/ZipEntry; // type@016b │ │ -0298e2: 7020 6a06 0500 |0075: invoke-direct {v5, v0}, Ljava/util/zip/ZipEntry;.:(Ljava/lang/String;)V // method@066a │ │ -0298e8: 6e20 7206 5400 |0078: invoke-virtual {v4, v5}, Ljava/util/zip/ZipOutputStream;.putNextEntry:(Ljava/util/zip/ZipEntry;)V // method@0672 │ │ -0298ee: 6e20 f104 6200 |007b: invoke-virtual {v2, v6}, Ljava/io/FileInputStream;.read:([B)I // method@04f1 │ │ -0298f4: 0a05 |007e: move-result v5 │ │ -0298f6: 3d05 0600 |007f: if-lez v5, 0085 // +0006 │ │ -0298fa: 6e40 7306 6451 |0081: invoke-virtual {v4, v6, v1, v5}, Ljava/util/zip/ZipOutputStream;.write:([BII)V // method@0673 │ │ -029900: 28f7 |0084: goto 007b // -0009 │ │ -029902: 6e10 7106 0400 |0085: invoke-virtual {v4}, Ljava/util/zip/ZipOutputStream;.closeEntry:()V // method@0671 │ │ -029908: 6e10 f004 0200 |0088: invoke-virtual {v2}, Ljava/io/FileInputStream;.close:()V // method@04f0 │ │ -02990e: 0e00 |008b: return-void │ │ +0297e4: |[0297e4] util.Utils.zipFile:(Ljava/util/zip/ZipOutputStream;Ljava/io/File;Ljava/lang/String;)V │ │ +0297f4: 3805 8b00 |0000: if-eqz v5, 008b // +008b │ │ +0297f8: 6e10 e004 0500 |0002: invoke-virtual {v5}, Ljava/io/File;.exists:()Z // method@04e0 │ │ +0297fe: 0a00 |0005: move-result v0 │ │ +029800: 3900 0400 |0006: if-nez v0, 000a // +0004 │ │ +029804: 2900 8300 |0008: goto/16 008b // +0083 │ │ +029808: 6e10 e204 0500 |000a: invoke-virtual {v5}, Ljava/io/File;.getName:()Ljava/lang/String; // method@04e2 │ │ +02980e: 0c00 |000d: move-result-object v0 │ │ +029810: 3806 2000 |000e: if-eqz v6, 002e // +0020 │ │ +029814: 6e10 6d05 0600 |0010: invoke-virtual {v6}, Ljava/lang/String;.isEmpty:()Z // method@056d │ │ +02981a: 0a01 |0013: move-result v1 │ │ +02981c: 3901 1a00 |0014: if-nez v1, 002e // +001a │ │ +029820: 2200 2801 |0016: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ +029824: 7010 8305 0000 |0018: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +02982a: 6e20 8905 6000 |001b: invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +029830: 1a06 6000 |001e: const-string v6, "/" // string@0060 │ │ +029834: 6e20 8905 6000 |0020: invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02983a: 6e10 e204 0500 |0023: invoke-virtual {v5}, Ljava/io/File;.getName:()Ljava/lang/String; // method@04e2 │ │ +029840: 0c06 |0026: move-result-object v6 │ │ +029842: 6e20 8905 6000 |0027: invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +029848: 6e10 8b05 0000 |002a: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02984e: 0c00 |002d: move-result-object v0 │ │ +029850: 6e10 e504 0500 |002e: invoke-virtual {v5}, Ljava/io/File;.isDirectory:()Z // method@04e5 │ │ +029856: 0a06 |0031: move-result v6 │ │ +029858: 1201 |0032: const/4 v1, #int 0 // #0 │ │ +02985a: 3806 2400 |0033: if-eqz v6, 0057 // +0024 │ │ +02985e: 6206 1c03 |0035: sget-object v6, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@031c │ │ +029862: 2202 2801 |0037: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +029866: 1a03 4f00 |0039: const-string v3, "+" // string@004f │ │ +02986a: 7020 8405 3200 |003b: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +029870: 6e20 8905 0200 |003e: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +029876: 6e10 8b05 0200 |0041: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02987c: 0c02 |0044: move-result-object v2 │ │ +02987e: 6e20 1c05 2600 |0045: invoke-virtual {v6, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@051c │ │ +029884: 6e10 e904 0500 |0048: invoke-virtual {v5}, Ljava/io/File;.listFiles:()[Ljava/io/File; // method@04e9 │ │ +02988a: 0c05 |004b: move-result-object v5 │ │ +02988c: 2156 |004c: array-length v6, v5 │ │ +02988e: 3561 3e00 |004d: if-ge v1, v6, 008b // +003e │ │ +029892: 4602 0501 |004f: aget-object v2, v5, v1 │ │ +029896: 7130 8207 2400 |0051: invoke-static {v4, v2, v0}, Lutil/Utils;.zipFile:(Ljava/util/zip/ZipOutputStream;Ljava/io/File;Ljava/lang/String;)V // method@0782 │ │ +02989c: d801 0101 |0054: add-int/lit8 v1, v1, #int 1 // #01 │ │ +0298a0: 28f7 |0056: goto 004d // -0009 │ │ +0298a2: 6206 1c03 |0057: sget-object v6, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@031c │ │ +0298a6: 2202 2801 |0059: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +0298aa: 1a03 0e00 |005b: const-string v3, " " // string@000e │ │ +0298ae: 7020 8405 3200 |005d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +0298b4: 6e20 8905 0200 |0060: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0298ba: 6e10 8b05 0200 |0063: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0298c0: 0c02 |0066: move-result-object v2 │ │ +0298c2: 6e20 1c05 2600 |0067: invoke-virtual {v6, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@051c │ │ +0298c8: 1306 0004 |006a: const/16 v6, #int 1024 // #400 │ │ +0298cc: 2366 9901 |006c: new-array v6, v6, [B // type@0199 │ │ +0298d0: 2202 f800 |006e: new-instance v2, Ljava/io/FileInputStream; // type@00f8 │ │ +0298d4: 7020 ed04 5200 |0070: invoke-direct {v2, v5}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@04ed │ │ +0298da: 2205 6b01 |0073: new-instance v5, Ljava/util/zip/ZipEntry; // type@016b │ │ +0298de: 7020 6a06 0500 |0075: invoke-direct {v5, v0}, Ljava/util/zip/ZipEntry;.:(Ljava/lang/String;)V // method@066a │ │ +0298e4: 6e20 7206 5400 |0078: invoke-virtual {v4, v5}, Ljava/util/zip/ZipOutputStream;.putNextEntry:(Ljava/util/zip/ZipEntry;)V // method@0672 │ │ +0298ea: 6e20 f104 6200 |007b: invoke-virtual {v2, v6}, Ljava/io/FileInputStream;.read:([B)I // method@04f1 │ │ +0298f0: 0a05 |007e: move-result v5 │ │ +0298f2: 3d05 0600 |007f: if-lez v5, 0085 // +0006 │ │ +0298f6: 6e40 7306 6451 |0081: invoke-virtual {v4, v6, v1, v5}, Ljava/util/zip/ZipOutputStream;.write:([BII)V // method@0673 │ │ +0298fc: 28f7 |0084: goto 007b // -0009 │ │ +0298fe: 6e10 7106 0400 |0085: invoke-virtual {v4}, Ljava/util/zip/ZipOutputStream;.closeEntry:()V // method@0671 │ │ +029904: 6e10 f004 0200 |0088: invoke-virtual {v2}, Ljava/io/FileInputStream;.close:()V // method@04f0 │ │ +02990a: 0e00 |008b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=364 │ │ 0x000a line=368 │ │ 0x0010 line=369 │ │ 0x0016 line=370 │ │ 0x002e line=373 │ │ @@ -32321,18 +32321,18 @@ │ │ type : '(Ljava/net/InetSocketAddress;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 5 16-bit code units │ │ -02a7d4: |[02a7d4] util.conpool.HttpProxy.:(Ljava/net/InetSocketAddress;)V │ │ -02a7e4: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02a7e6: 7030 a407 2100 |0001: invoke-direct {v1, v2, v0}, Lutil/conpool/HttpProxy;.:(Ljava/net/InetSocketAddress;Ljava/lang/String;)V // method@07a4 │ │ -02a7ec: 0e00 |0004: return-void │ │ +02a7d0: |[02a7d0] util.conpool.HttpProxy.:(Ljava/net/InetSocketAddress;)V │ │ +02a7e0: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02a7e2: 7030 a407 2100 |0001: invoke-direct {v1, v2, v0}, Lutil/conpool/HttpProxy;.:(Ljava/net/InetSocketAddress;Ljava/lang/String;)V // method@07a4 │ │ +02a7e8: 0e00 |0004: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=46 │ │ locals : │ │ 0x0000 - 0x0005 reg=1 this Lutil/conpool/HttpProxy; │ │ 0x0000 - 0x0005 reg=2 (null) Ljava/net/InetSocketAddress; │ │ │ │ @@ -32341,20 +32341,20 @@ │ │ type : '(Ljava/net/InetSocketAddress;Ljava/lang/String;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 10 16-bit code units │ │ -02a7f0: |[02a7f0] util.conpool.HttpProxy.:(Ljava/net/InetSocketAddress;Ljava/lang/String;)V │ │ -02a800: 6200 1d03 |0000: sget-object v0, Ljava/net/Proxy$Type;.HTTP:Ljava/net/Proxy$Type; // field@031d │ │ -02a804: 7030 be05 0102 |0002: invoke-direct {v1, v0, v2}, Ljava/net/Proxy;.:(Ljava/net/Proxy$Type;Ljava/net/SocketAddress;)V // method@05be │ │ -02a80a: 5b12 9603 |0005: iput-object v2, v1, Lutil/conpool/HttpProxy;.proxyAdr:Ljava/net/InetSocketAddress; // field@0396 │ │ -02a80e: 5b13 9503 |0007: iput-object v3, v1, Lutil/conpool/HttpProxy;.authString:Ljava/lang/String; // field@0395 │ │ -02a812: 0e00 |0009: return-void │ │ +02a7ec: |[02a7ec] util.conpool.HttpProxy.:(Ljava/net/InetSocketAddress;Ljava/lang/String;)V │ │ +02a7fc: 6200 1d03 |0000: sget-object v0, Ljava/net/Proxy$Type;.HTTP:Ljava/net/Proxy$Type; // field@031d │ │ +02a800: 7030 be05 0102 |0002: invoke-direct {v1, v0, v2}, Ljava/net/Proxy;.:(Ljava/net/Proxy$Type;Ljava/net/SocketAddress;)V // method@05be │ │ +02a806: 5b12 9603 |0005: iput-object v2, v1, Lutil/conpool/HttpProxy;.proxyAdr:Ljava/net/InetSocketAddress; // field@0396 │ │ +02a80a: 5b13 9503 |0007: iput-object v3, v1, Lutil/conpool/HttpProxy;.authString:Ljava/lang/String; // field@0395 │ │ +02a80e: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=40 │ │ 0x0005 line=41 │ │ 0x0007 line=42 │ │ locals : │ │ 0x0000 - 0x000a reg=1 this Lutil/conpool/HttpProxy; │ │ @@ -32367,19 +32367,19 @@ │ │ type : '(Ljava/net/InetSocketAddress;I)Ljava/net/Socket;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 4 │ │ insns size : 6 16-bit code units │ │ -02a60c: |[02a60c] util.conpool.HttpProxy.openTunnel:(Ljava/net/InetSocketAddress;I)Ljava/net/Socket; │ │ -02a61c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02a61e: 6e40 a607 2103 |0001: invoke-virtual {v1, v2, v3, v0}, Lutil/conpool/HttpProxy;.openTunnel:(Ljava/net/InetSocketAddress;IZ)Ljava/net/Socket; // method@07a6 │ │ -02a624: 0c02 |0004: move-result-object v2 │ │ -02a626: 1102 |0005: return-object v2 │ │ +02a608: |[02a608] util.conpool.HttpProxy.openTunnel:(Ljava/net/InetSocketAddress;I)Ljava/net/Socket; │ │ +02a618: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02a61a: 6e40 a607 2103 |0001: invoke-virtual {v1, v2, v3, v0}, Lutil/conpool/HttpProxy;.openTunnel:(Ljava/net/InetSocketAddress;IZ)Ljava/net/Socket; // method@07a6 │ │ +02a620: 0c02 |0004: move-result-object v2 │ │ +02a622: 1102 |0005: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=94 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lutil/conpool/HttpProxy; │ │ 0x0000 - 0x0006 reg=2 (null) Ljava/net/InetSocketAddress; │ │ 0x0000 - 0x0006 reg=3 (null) I │ │ @@ -32389,111 +32389,111 @@ │ │ type : '(Ljava/net/InetSocketAddress;IZ)Ljava/net/Socket;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 8 │ │ ins : 4 │ │ outs : 3 │ │ insns size : 206 16-bit code units │ │ -02a628: |[02a628] util.conpool.HttpProxy.openTunnel:(Ljava/net/InetSocketAddress;IZ)Ljava/net/Socket; │ │ -02a638: 6e10 b605 0500 |0000: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05b6 │ │ -02a63e: 0c00 |0003: move-result-object v0 │ │ -02a640: 6e10 b005 0000 |0004: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05b0 │ │ -02a646: 0c00 |0007: move-result-object v0 │ │ -02a648: 1a01 6e00 |0008: const-string v1, "0.0.0.0" // string@006e │ │ -02a64c: 6e20 6705 1000 |000a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -02a652: 0a00 |000d: move-result v0 │ │ -02a654: 3900 0b00 |000e: if-nez v0, 0019 // +000b │ │ -02a658: 6e10 b605 0500 |0010: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05b6 │ │ -02a65e: 0c00 |0013: move-result-object v0 │ │ -02a660: 6e10 b005 0000 |0014: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05b0 │ │ -02a666: 0c00 |0017: move-result-object v0 │ │ -02a668: 2805 |0018: goto 001d // +0005 │ │ -02a66a: 6e10 b705 0500 |0019: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getHostName:()Ljava/lang/String; // method@05b7 │ │ -02a670: 0c00 |001c: move-result-object v0 │ │ -02a672: 2201 9501 |001d: new-instance v1, Lutil/http/HttpHeader; // type@0195 │ │ -02a676: 1212 |001f: const/4 v2, #int 1 // #1 │ │ -02a678: 7020 ca07 2100 |0020: invoke-direct {v1, v2}, Lutil/http/HttpHeader;.:(I)V // method@07ca │ │ -02a67e: 2202 2801 |0023: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -02a682: 1a03 ec00 |0025: const-string v3, "CONNECT " // string@00ec │ │ -02a686: 7020 8405 3200 |0027: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -02a68c: 6e20 8905 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02a692: 1a00 8500 |002d: const-string v0, ":" // string@0085 │ │ -02a696: 6e20 8905 0200 |002f: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02a69c: 6e10 b805 0500 |0032: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getPort:()I // method@05b8 │ │ -02a6a2: 0a00 |0035: move-result v0 │ │ -02a6a4: 6e20 8605 0200 |0036: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -02a6aa: 1a00 1400 |0039: const-string v0, " HTTP/1.1" // string@0014 │ │ -02a6ae: 6e20 8905 0200 |003b: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02a6b4: 6e10 8b05 0200 |003e: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02a6ba: 0c00 |0041: move-result-object v0 │ │ -02a6bc: 6e20 dd07 0100 |0042: invoke-virtual {v1, v0}, Lutil/http/HttpHeader;.setRequest:(Ljava/lang/String;)V // method@07dd │ │ -02a6c2: 5440 9503 |0045: iget-object v0, v4, Lutil/conpool/HttpProxy;.authString:Ljava/lang/String; // field@0395 │ │ -02a6c6: 3800 0700 |0047: if-eqz v0, 004e // +0007 │ │ -02a6ca: 1a02 1504 |0049: const-string v2, "Proxy-Authorization" // string@0415 │ │ -02a6ce: 6e30 de07 2100 |004b: invoke-virtual {v1, v2, v0}, Lutil/http/HttpHeader;.setValue:(Ljava/lang/String;Ljava/lang/String;)V // method@07de │ │ -02a6d4: 6e10 d607 0100 |004e: invoke-virtual {v1}, Lutil/http/HttpHeader;.getServerRequestHeader:()Ljava/lang/String; // method@07d6 │ │ -02a6da: 0c00 |0051: move-result-object v0 │ │ -02a6dc: 2201 3301 |0052: new-instance v1, Ljava/net/InetSocketAddress; // type@0133 │ │ -02a6e0: 6e10 b705 0500 |0054: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getHostName:()Ljava/lang/String; // method@05b7 │ │ -02a6e6: 0c05 |0057: move-result-object v5 │ │ -02a6e8: 5442 9603 |0058: iget-object v2, v4, Lutil/conpool/HttpProxy;.proxyAdr:Ljava/net/InetSocketAddress; // field@0396 │ │ -02a6ec: 6e10 b605 0200 |005a: invoke-virtual {v2}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05b6 │ │ -02a6f2: 0c02 |005d: move-result-object v2 │ │ -02a6f4: 6e10 ac05 0200 |005e: invoke-virtual {v2}, Ljava/net/InetAddress;.getAddress:()[B // method@05ac │ │ -02a6fa: 0c02 |0061: move-result-object v2 │ │ -02a6fc: 7120 ad05 2500 |0062: invoke-static {v5, v2}, Ljava/net/InetAddress;.getByAddress:(Ljava/lang/String;[B)Ljava/net/InetAddress; // method@05ad │ │ -02a702: 0c05 |0065: move-result-object v5 │ │ -02a704: 5442 9603 |0066: iget-object v2, v4, Lutil/conpool/HttpProxy;.proxyAdr:Ljava/net/InetSocketAddress; // field@0396 │ │ -02a708: 6e10 b805 0200 |0068: invoke-virtual {v2}, Ljava/net/InetSocketAddress;.getPort:()I // method@05b8 │ │ -02a70e: 0a02 |006b: move-result v2 │ │ -02a710: 7030 b405 5102 |006c: invoke-direct {v1, v5, v2}, Ljava/net/InetSocketAddress;.:(Ljava/net/InetAddress;I)V // method@05b4 │ │ -02a716: 7100 ed05 0000 |006f: invoke-static {}, Ljava/nio/channels/SocketChannel;.open:()Ljava/nio/channels/SocketChannel; // method@05ed │ │ -02a71c: 0c05 |0072: move-result-object v5 │ │ -02a71e: 6e10 ee05 0500 |0073: invoke-virtual {v5}, Ljava/nio/channels/SocketChannel;.socket:()Ljava/net/Socket; // method@05ee │ │ -02a724: 0c05 |0076: move-result-object v5 │ │ -02a726: 1202 |0077: const/4 v2, #int 0 // #0 │ │ -02a728: 3807 0900 |0078: if-eqz v7, 0081 // +0009 │ │ -02a72c: 7100 ae06 0000 |007a: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ -02a732: 0c07 |007d: move-result-object v7 │ │ -02a734: 7230 c206 5702 |007e: invoke-interface {v7, v5, v2}, Lutil/ExecutionEnvironmentInterface;.protectSocket:(Ljava/lang/Object;I)Z // method@06c2 │ │ -02a73a: 6e30 c505 1506 |0081: invoke-virtual {v5, v1, v6}, Ljava/net/Socket;.connect:(Ljava/net/SocketAddress;I)V // method@05c5 │ │ -02a740: 6e20 c905 6500 |0084: invoke-virtual {v5, v6}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05c9 │ │ -02a746: 6e10 c705 0500 |0087: invoke-virtual {v5}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05c7 │ │ -02a74c: 0c06 |008a: move-result-object v6 │ │ -02a74e: 6e10 6905 0000 |008b: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -02a754: 0c07 |008e: move-result-object v7 │ │ -02a756: 6e20 1205 7600 |008f: invoke-virtual {v6, v7}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ -02a75c: 6e10 c705 0500 |0092: invoke-virtual {v5}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05c7 │ │ -02a762: 0c06 |0095: move-result-object v6 │ │ -02a764: 6e10 1005 0600 |0096: invoke-virtual {v6}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ -02a76a: 2206 9501 |0099: new-instance v6, Lutil/http/HttpHeader; // type@0195 │ │ -02a76e: 6e10 c605 0500 |009b: invoke-virtual {v5}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05c6 │ │ -02a774: 0c07 |009e: move-result-object v7 │ │ -02a776: 1220 |009f: const/4 v0, #int 2 // #2 │ │ -02a778: 7030 cb07 7600 |00a0: invoke-direct {v6, v7, v0}, Lutil/http/HttpHeader;.:(Ljava/io/InputStream;I)V // method@07cb │ │ -02a77e: 5267 b003 |00a3: iget v7, v6, Lutil/http/HttpHeader;.responsecode:I // field@03b0 │ │ -02a782: 1300 c800 |00a5: const/16 v0, #int 200 // #c8 │ │ -02a786: 3307 0600 |00a7: if-ne v7, v0, 00ad // +0006 │ │ -02a78a: 6e20 c905 2500 |00a9: invoke-virtual {v5, v2}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05c9 │ │ -02a790: 1105 |00ac: return-object v5 │ │ -02a792: 6e10 ca05 0500 |00ad: invoke-virtual {v5}, Ljava/net/Socket;.shutdownInput:()V // method@05ca │ │ -02a798: 6e10 cb05 0500 |00b0: invoke-virtual {v5}, Ljava/net/Socket;.shutdownOutput:()V // method@05cb │ │ -02a79e: 6e10 c405 0500 |00b3: invoke-virtual {v5}, Ljava/net/Socket;.close:()V // method@05c4 │ │ -02a7a4: 2205 fb00 |00b6: new-instance v5, Ljava/io/IOException; // type@00fb │ │ -02a7a8: 2207 2801 |00b8: new-instance v7, Ljava/lang/StringBuilder; // type@0128 │ │ -02a7ac: 1a00 1404 |00ba: const-string v0, "Proxy refused Tunnel │ │ +02a624: |[02a624] util.conpool.HttpProxy.openTunnel:(Ljava/net/InetSocketAddress;IZ)Ljava/net/Socket; │ │ +02a634: 6e10 b605 0500 |0000: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05b6 │ │ +02a63a: 0c00 |0003: move-result-object v0 │ │ +02a63c: 6e10 b005 0000 |0004: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05b0 │ │ +02a642: 0c00 |0007: move-result-object v0 │ │ +02a644: 1a01 6e00 |0008: const-string v1, "0.0.0.0" // string@006e │ │ +02a648: 6e20 6705 1000 |000a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +02a64e: 0a00 |000d: move-result v0 │ │ +02a650: 3900 0b00 |000e: if-nez v0, 0019 // +000b │ │ +02a654: 6e10 b605 0500 |0010: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05b6 │ │ +02a65a: 0c00 |0013: move-result-object v0 │ │ +02a65c: 6e10 b005 0000 |0014: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05b0 │ │ +02a662: 0c00 |0017: move-result-object v0 │ │ +02a664: 2805 |0018: goto 001d // +0005 │ │ +02a666: 6e10 b705 0500 |0019: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getHostName:()Ljava/lang/String; // method@05b7 │ │ +02a66c: 0c00 |001c: move-result-object v0 │ │ +02a66e: 2201 9501 |001d: new-instance v1, Lutil/http/HttpHeader; // type@0195 │ │ +02a672: 1212 |001f: const/4 v2, #int 1 // #1 │ │ +02a674: 7020 ca07 2100 |0020: invoke-direct {v1, v2}, Lutil/http/HttpHeader;.:(I)V // method@07ca │ │ +02a67a: 2202 2801 |0023: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +02a67e: 1a03 ec00 |0025: const-string v3, "CONNECT " // string@00ec │ │ +02a682: 7020 8405 3200 |0027: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +02a688: 6e20 8905 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02a68e: 1a00 8500 |002d: const-string v0, ":" // string@0085 │ │ +02a692: 6e20 8905 0200 |002f: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02a698: 6e10 b805 0500 |0032: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getPort:()I // method@05b8 │ │ +02a69e: 0a00 |0035: move-result v0 │ │ +02a6a0: 6e20 8605 0200 |0036: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +02a6a6: 1a00 1400 |0039: const-string v0, " HTTP/1.1" // string@0014 │ │ +02a6aa: 6e20 8905 0200 |003b: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02a6b0: 6e10 8b05 0200 |003e: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02a6b6: 0c00 |0041: move-result-object v0 │ │ +02a6b8: 6e20 dd07 0100 |0042: invoke-virtual {v1, v0}, Lutil/http/HttpHeader;.setRequest:(Ljava/lang/String;)V // method@07dd │ │ +02a6be: 5440 9503 |0045: iget-object v0, v4, Lutil/conpool/HttpProxy;.authString:Ljava/lang/String; // field@0395 │ │ +02a6c2: 3800 0700 |0047: if-eqz v0, 004e // +0007 │ │ +02a6c6: 1a02 1504 |0049: const-string v2, "Proxy-Authorization" // string@0415 │ │ +02a6ca: 6e30 de07 2100 |004b: invoke-virtual {v1, v2, v0}, Lutil/http/HttpHeader;.setValue:(Ljava/lang/String;Ljava/lang/String;)V // method@07de │ │ +02a6d0: 6e10 d607 0100 |004e: invoke-virtual {v1}, Lutil/http/HttpHeader;.getServerRequestHeader:()Ljava/lang/String; // method@07d6 │ │ +02a6d6: 0c00 |0051: move-result-object v0 │ │ +02a6d8: 2201 3301 |0052: new-instance v1, Ljava/net/InetSocketAddress; // type@0133 │ │ +02a6dc: 6e10 b705 0500 |0054: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getHostName:()Ljava/lang/String; // method@05b7 │ │ +02a6e2: 0c05 |0057: move-result-object v5 │ │ +02a6e4: 5442 9603 |0058: iget-object v2, v4, Lutil/conpool/HttpProxy;.proxyAdr:Ljava/net/InetSocketAddress; // field@0396 │ │ +02a6e8: 6e10 b605 0200 |005a: invoke-virtual {v2}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05b6 │ │ +02a6ee: 0c02 |005d: move-result-object v2 │ │ +02a6f0: 6e10 ac05 0200 |005e: invoke-virtual {v2}, Ljava/net/InetAddress;.getAddress:()[B // method@05ac │ │ +02a6f6: 0c02 |0061: move-result-object v2 │ │ +02a6f8: 7120 ad05 2500 |0062: invoke-static {v5, v2}, Ljava/net/InetAddress;.getByAddress:(Ljava/lang/String;[B)Ljava/net/InetAddress; // method@05ad │ │ +02a6fe: 0c05 |0065: move-result-object v5 │ │ +02a700: 5442 9603 |0066: iget-object v2, v4, Lutil/conpool/HttpProxy;.proxyAdr:Ljava/net/InetSocketAddress; // field@0396 │ │ +02a704: 6e10 b805 0200 |0068: invoke-virtual {v2}, Ljava/net/InetSocketAddress;.getPort:()I // method@05b8 │ │ +02a70a: 0a02 |006b: move-result v2 │ │ +02a70c: 7030 b405 5102 |006c: invoke-direct {v1, v5, v2}, Ljava/net/InetSocketAddress;.:(Ljava/net/InetAddress;I)V // method@05b4 │ │ +02a712: 7100 ed05 0000 |006f: invoke-static {}, Ljava/nio/channels/SocketChannel;.open:()Ljava/nio/channels/SocketChannel; // method@05ed │ │ +02a718: 0c05 |0072: move-result-object v5 │ │ +02a71a: 6e10 ee05 0500 |0073: invoke-virtual {v5}, Ljava/nio/channels/SocketChannel;.socket:()Ljava/net/Socket; // method@05ee │ │ +02a720: 0c05 |0076: move-result-object v5 │ │ +02a722: 1202 |0077: const/4 v2, #int 0 // #0 │ │ +02a724: 3807 0900 |0078: if-eqz v7, 0081 // +0009 │ │ +02a728: 7100 ae06 0000 |007a: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ +02a72e: 0c07 |007d: move-result-object v7 │ │ +02a730: 7230 c206 5702 |007e: invoke-interface {v7, v5, v2}, Lutil/ExecutionEnvironmentInterface;.protectSocket:(Ljava/lang/Object;I)Z // method@06c2 │ │ +02a736: 6e30 c505 1506 |0081: invoke-virtual {v5, v1, v6}, Ljava/net/Socket;.connect:(Ljava/net/SocketAddress;I)V // method@05c5 │ │ +02a73c: 6e20 c905 6500 |0084: invoke-virtual {v5, v6}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05c9 │ │ +02a742: 6e10 c705 0500 |0087: invoke-virtual {v5}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05c7 │ │ +02a748: 0c06 |008a: move-result-object v6 │ │ +02a74a: 6e10 6905 0000 |008b: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +02a750: 0c07 |008e: move-result-object v7 │ │ +02a752: 6e20 1205 7600 |008f: invoke-virtual {v6, v7}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ +02a758: 6e10 c705 0500 |0092: invoke-virtual {v5}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05c7 │ │ +02a75e: 0c06 |0095: move-result-object v6 │ │ +02a760: 6e10 1005 0600 |0096: invoke-virtual {v6}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ +02a766: 2206 9501 |0099: new-instance v6, Lutil/http/HttpHeader; // type@0195 │ │ +02a76a: 6e10 c605 0500 |009b: invoke-virtual {v5}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05c6 │ │ +02a770: 0c07 |009e: move-result-object v7 │ │ +02a772: 1220 |009f: const/4 v0, #int 2 // #2 │ │ +02a774: 7030 cb07 7600 |00a0: invoke-direct {v6, v7, v0}, Lutil/http/HttpHeader;.:(Ljava/io/InputStream;I)V // method@07cb │ │ +02a77a: 5267 b003 |00a3: iget v7, v6, Lutil/http/HttpHeader;.responsecode:I // field@03b0 │ │ +02a77e: 1300 c800 |00a5: const/16 v0, #int 200 // #c8 │ │ +02a782: 3307 0600 |00a7: if-ne v7, v0, 00ad // +0006 │ │ +02a786: 6e20 c905 2500 |00a9: invoke-virtual {v5, v2}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05c9 │ │ +02a78c: 1105 |00ac: return-object v5 │ │ +02a78e: 6e10 ca05 0500 |00ad: invoke-virtual {v5}, Ljava/net/Socket;.shutdownInput:()V // method@05ca │ │ +02a794: 6e10 cb05 0500 |00b0: invoke-virtual {v5}, Ljava/net/Socket;.shutdownOutput:()V // method@05cb │ │ +02a79a: 6e10 c405 0500 |00b3: invoke-virtual {v5}, Ljava/net/Socket;.close:()V // method@05c4 │ │ +02a7a0: 2205 fb00 |00b6: new-instance v5, Ljava/io/IOException; // type@00fb │ │ +02a7a4: 2207 2801 |00b8: new-instance v7, Ljava/lang/StringBuilder; // type@0128 │ │ +02a7a8: 1a00 1404 |00ba: const-string v0, "Proxy refused Tunnel │ │ " // string@0414 │ │ -02a7b0: 7020 8405 0700 |00bc: invoke-direct {v7, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -02a7b6: 6e10 d507 0600 |00bf: invoke-virtual {v6}, Lutil/http/HttpHeader;.getResponseMessage:()Ljava/lang/String; // method@07d5 │ │ -02a7bc: 0c06 |00c2: move-result-object v6 │ │ -02a7be: 6e20 8905 6700 |00c3: invoke-virtual {v7, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02a7c4: 6e10 8b05 0700 |00c6: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02a7ca: 0c06 |00c9: move-result-object v6 │ │ -02a7cc: 7020 fb04 6500 |00ca: invoke-direct {v5, v6}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -02a7d2: 2705 |00cd: throw v5 │ │ +02a7ac: 7020 8405 0700 |00bc: invoke-direct {v7, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +02a7b2: 6e10 d507 0600 |00bf: invoke-virtual {v6}, Lutil/http/HttpHeader;.getResponseMessage:()Ljava/lang/String; // method@07d5 │ │ +02a7b8: 0c06 |00c2: move-result-object v6 │ │ +02a7ba: 6e20 8905 6700 |00c3: invoke-virtual {v7, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02a7c0: 6e10 8b05 0700 |00c6: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02a7c6: 0c06 |00c9: move-result-object v6 │ │ +02a7c8: 7020 fb04 6500 |00ca: invoke-direct {v5, v6}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +02a7ce: 2705 |00cd: throw v5 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=57 │ │ 0x0010 line=58 │ │ 0x0019 line=60 │ │ 0x001d line=62 │ │ 0x0023 line=63 │ │ @@ -32525,17 +32525,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02a814: |[02a814] util.conpool.HttpProxy.setProxyAuth:(Ljava/lang/String;)V │ │ -02a824: 5b01 9503 |0000: iput-object v1, v0, Lutil/conpool/HttpProxy;.authString:Ljava/lang/String; // field@0395 │ │ -02a828: 0e00 |0002: return-void │ │ +02a810: |[02a810] util.conpool.HttpProxy.setProxyAuth:(Ljava/lang/String;)V │ │ +02a820: 5b01 9503 |0000: iput-object v1, v0, Lutil/conpool/HttpProxy;.authString:Ljava/lang/String; // field@0395 │ │ +02a824: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=50 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Lutil/conpool/HttpProxy; │ │ 0x0000 - 0x0003 reg=1 (null) Ljava/lang/String; │ │ │ │ @@ -32586,22 +32586,22 @@ │ │ type : '(Ljava/io/InputStream;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 13 16-bit code units │ │ -02a924: |[02a924] util.conpool.PooledConnectionInputStream.:(Ljava/io/InputStream;)V │ │ -02a934: 7010 0105 0200 |0000: invoke-direct {v2}, Ljava/io/InputStream;.:()V // method@0501 │ │ -02a93a: 1210 |0003: const/4 v0, #int 1 // #1 │ │ -02a93c: 5c20 9903 |0004: iput-boolean v0, v2, Lutil/conpool/PooledConnectionInputStream;.valid:Z // field@0399 │ │ -02a940: 1600 0000 |0006: const-wide/16 v0, #int 0 // #0 │ │ -02a944: 5a20 9803 |0008: iput-wide v0, v2, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0398 │ │ -02a948: 5b23 9703 |000a: iput-object v3, v2, Lutil/conpool/PooledConnectionInputStream;.in:Ljava/io/InputStream; // field@0397 │ │ -02a94c: 0e00 |000c: return-void │ │ +02a920: |[02a920] util.conpool.PooledConnectionInputStream.:(Ljava/io/InputStream;)V │ │ +02a930: 7010 0105 0200 |0000: invoke-direct {v2}, Ljava/io/InputStream;.:()V // method@0501 │ │ +02a936: 1210 |0003: const/4 v0, #int 1 // #1 │ │ +02a938: 5c20 9903 |0004: iput-boolean v0, v2, Lutil/conpool/PooledConnectionInputStream;.valid:Z // field@0399 │ │ +02a93c: 1600 0000 |0006: const-wide/16 v0, #int 0 // #0 │ │ +02a940: 5a20 9803 |0008: iput-wide v0, v2, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0398 │ │ +02a944: 5b23 9703 |000a: iput-object v3, v2, Lutil/conpool/PooledConnectionInputStream;.in:Ljava/io/InputStream; // field@0397 │ │ +02a948: 0e00 |000c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=34 │ │ 0x0004 line=31 │ │ 0x0008 line=32 │ │ 0x000a line=35 │ │ locals : │ │ @@ -32614,32 +32614,32 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -02a950: |[02a950] util.conpool.PooledConnectionInputStream.close:()V │ │ -02a960: 0e00 |0000: return-void │ │ +02a94c: |[02a94c] util.conpool.PooledConnectionInputStream.close:()V │ │ +02a95c: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #1 : (in Lutil/conpool/PooledConnectionInputStream;) │ │ name : 'getTraffic' │ │ type : '()J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02a90c: |[02a90c] util.conpool.PooledConnectionInputStream.getTraffic:()J │ │ -02a91c: 5320 9803 |0000: iget-wide v0, v2, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0398 │ │ -02a920: 1000 |0002: return-wide v0 │ │ +02a908: |[02a908] util.conpool.PooledConnectionInputStream.getTraffic:()J │ │ +02a918: 5320 9803 |0000: iget-wide v0, v2, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0398 │ │ +02a91c: 1000 |0002: return-wide v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=75 │ │ locals : │ │ 0x0000 - 0x0003 reg=2 this Lutil/conpool/PooledConnectionInputStream; │ │ │ │ #2 : (in Lutil/conpool/PooledConnectionInputStream;) │ │ @@ -32647,18 +32647,18 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 4 16-bit code units │ │ -02a964: |[02a964] util.conpool.PooledConnectionInputStream.invalidate:()V │ │ -02a974: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02a976: 5c10 9903 |0001: iput-boolean v0, v1, Lutil/conpool/PooledConnectionInputStream;.valid:Z // field@0399 │ │ -02a97a: 0e00 |0003: return-void │ │ +02a960: |[02a960] util.conpool.PooledConnectionInputStream.invalidate:()V │ │ +02a970: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02a972: 5c10 9903 |0001: iput-boolean v0, v1, Lutil/conpool/PooledConnectionInputStream;.valid:Z // field@0399 │ │ +02a976: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=39 │ │ locals : │ │ 0x0000 - 0x0004 reg=1 this Lutil/conpool/PooledConnectionInputStream; │ │ │ │ #3 : (in Lutil/conpool/PooledConnectionInputStream;) │ │ @@ -32666,36 +32666,36 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 41 16-bit code units │ │ -02a82c: |[02a82c] util.conpool.PooledConnectionInputStream.read:()I │ │ -02a83c: 5450 9703 |0000: iget-object v0, v5, Lutil/conpool/PooledConnectionInputStream;.in:Ljava/io/InputStream; // field@0397 │ │ -02a840: 6e10 0405 0000 |0002: invoke-virtual {v0}, Ljava/io/InputStream;.read:()I // method@0504 │ │ -02a846: 0a00 |0005: move-result v0 │ │ -02a848: 5551 9903 |0006: iget-boolean v1, v5, Lutil/conpool/PooledConnectionInputStream;.valid:Z // field@0399 │ │ -02a84c: 3801 0d00 |0008: if-eqz v1, 0015 // +000d │ │ -02a850: 12f1 |000a: const/4 v1, #int -1 // #ff │ │ -02a852: 3210 0900 |000b: if-eq v0, v1, 0014 // +0009 │ │ -02a856: 5351 9803 |000d: iget-wide v1, v5, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0398 │ │ -02a85a: 1603 0100 |000f: const-wide/16 v3, #int 1 // #1 │ │ -02a85e: bb31 |0011: add-long/2addr v1, v3 │ │ -02a860: 5a51 9803 |0012: iput-wide v1, v5, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0398 │ │ -02a864: 0f00 |0014: return v0 │ │ -02a866: 2200 1801 |0015: new-instance v0, Ljava/lang/IllegalStateException; // type@0118 │ │ -02a86a: 2201 2801 |0017: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -02a86e: 1a02 ff01 |0019: const-string v2, "Invalid:" // string@01ff │ │ -02a872: 7020 8405 2100 |001b: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -02a878: 6e20 8805 5100 |001e: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ -02a87e: 6e10 8b05 0100 |0021: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02a884: 0c01 |0024: move-result-object v1 │ │ -02a886: 7020 3d05 1000 |0025: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ -02a88c: 2700 |0028: throw v0 │ │ +02a828: |[02a828] util.conpool.PooledConnectionInputStream.read:()I │ │ +02a838: 5450 9703 |0000: iget-object v0, v5, Lutil/conpool/PooledConnectionInputStream;.in:Ljava/io/InputStream; // field@0397 │ │ +02a83c: 6e10 0405 0000 |0002: invoke-virtual {v0}, Ljava/io/InputStream;.read:()I // method@0504 │ │ +02a842: 0a00 |0005: move-result v0 │ │ +02a844: 5551 9903 |0006: iget-boolean v1, v5, Lutil/conpool/PooledConnectionInputStream;.valid:Z // field@0399 │ │ +02a848: 3801 0d00 |0008: if-eqz v1, 0015 // +000d │ │ +02a84c: 12f1 |000a: const/4 v1, #int -1 // #ff │ │ +02a84e: 3210 0900 |000b: if-eq v0, v1, 0014 // +0009 │ │ +02a852: 5351 9803 |000d: iget-wide v1, v5, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0398 │ │ +02a856: 1603 0100 |000f: const-wide/16 v3, #int 1 // #1 │ │ +02a85a: bb31 |0011: add-long/2addr v1, v3 │ │ +02a85c: 5a51 9803 |0012: iput-wide v1, v5, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0398 │ │ +02a860: 0f00 |0014: return v0 │ │ +02a862: 2200 1801 |0015: new-instance v0, Ljava/lang/IllegalStateException; // type@0118 │ │ +02a866: 2201 2801 |0017: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +02a86a: 1a02 ff01 |0019: const-string v2, "Invalid:" // string@01ff │ │ +02a86e: 7020 8405 2100 |001b: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +02a874: 6e20 8805 5100 |001e: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ +02a87a: 6e10 8b05 0100 |0021: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02a880: 0c01 |0024: move-result-object v1 │ │ +02a882: 7020 3d05 1000 |0025: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ +02a888: 2700 |0028: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=44 │ │ 0x0006 line=45 │ │ 0x000d line=49 │ │ 0x0015 line=46 │ │ locals : │ │ @@ -32706,20 +32706,20 @@ │ │ type : '([B)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 7 16-bit code units │ │ -02a890: |[02a890] util.conpool.PooledConnectionInputStream.read:([B)I │ │ -02a8a0: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02a8a2: 2131 |0001: array-length v1, v3 │ │ -02a8a4: 6e40 ae07 3210 |0002: invoke-virtual {v2, v3, v0, v1}, Lutil/conpool/PooledConnectionInputStream;.read:([BII)I // method@07ae │ │ -02a8aa: 0a03 |0005: move-result v3 │ │ -02a8ac: 0f03 |0006: return v3 │ │ +02a88c: |[02a88c] util.conpool.PooledConnectionInputStream.read:([B)I │ │ +02a89c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02a89e: 2131 |0001: array-length v1, v3 │ │ +02a8a0: 6e40 ae07 3210 |0002: invoke-virtual {v2, v3, v0, v1}, Lutil/conpool/PooledConnectionInputStream;.read:([BII)I // method@07ae │ │ +02a8a6: 0a03 |0005: move-result v3 │ │ +02a8a8: 0f03 |0006: return v3 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=56 │ │ locals : │ │ 0x0000 - 0x0007 reg=2 this Lutil/conpool/PooledConnectionInputStream; │ │ 0x0000 - 0x0007 reg=3 (null) [B │ │ │ │ @@ -32728,34 +32728,34 @@ │ │ type : '([BII)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 37 16-bit code units │ │ -02a8b0: |[02a8b0] util.conpool.PooledConnectionInputStream.read:([BII)I │ │ -02a8c0: 5420 9703 |0000: iget-object v0, v2, Lutil/conpool/PooledConnectionInputStream;.in:Ljava/io/InputStream; // field@0397 │ │ -02a8c4: 6e40 0605 3054 |0002: invoke-virtual {v0, v3, v4, v5}, Ljava/io/InputStream;.read:([BII)I // method@0506 │ │ -02a8ca: 0a03 |0005: move-result v3 │ │ -02a8cc: 5524 9903 |0006: iget-boolean v4, v2, Lutil/conpool/PooledConnectionInputStream;.valid:Z // field@0399 │ │ -02a8d0: 3804 0900 |0008: if-eqz v4, 0011 // +0009 │ │ -02a8d4: 5324 9803 |000a: iget-wide v4, v2, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0398 │ │ -02a8d8: 8130 |000c: int-to-long v0, v3 │ │ -02a8da: bb04 |000d: add-long/2addr v4, v0 │ │ -02a8dc: 5a24 9803 |000e: iput-wide v4, v2, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0398 │ │ -02a8e0: 0f03 |0010: return v3 │ │ -02a8e2: 2203 1801 |0011: new-instance v3, Ljava/lang/IllegalStateException; // type@0118 │ │ -02a8e6: 2204 2801 |0013: new-instance v4, Ljava/lang/StringBuilder; // type@0128 │ │ -02a8ea: 1a05 ff01 |0015: const-string v5, "Invalid:" // string@01ff │ │ -02a8ee: 7020 8405 5400 |0017: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -02a8f4: 6e20 8805 2400 |001a: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ -02a8fa: 6e10 8b05 0400 |001d: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02a900: 0c04 |0020: move-result-object v4 │ │ -02a902: 7020 3d05 4300 |0021: invoke-direct {v3, v4}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ -02a908: 2703 |0024: throw v3 │ │ +02a8ac: |[02a8ac] util.conpool.PooledConnectionInputStream.read:([BII)I │ │ +02a8bc: 5420 9703 |0000: iget-object v0, v2, Lutil/conpool/PooledConnectionInputStream;.in:Ljava/io/InputStream; // field@0397 │ │ +02a8c0: 6e40 0605 3054 |0002: invoke-virtual {v0, v3, v4, v5}, Ljava/io/InputStream;.read:([BII)I // method@0506 │ │ +02a8c6: 0a03 |0005: move-result v3 │ │ +02a8c8: 5524 9903 |0006: iget-boolean v4, v2, Lutil/conpool/PooledConnectionInputStream;.valid:Z // field@0399 │ │ +02a8cc: 3804 0900 |0008: if-eqz v4, 0011 // +0009 │ │ +02a8d0: 5324 9803 |000a: iget-wide v4, v2, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0398 │ │ +02a8d4: 8130 |000c: int-to-long v0, v3 │ │ +02a8d6: bb04 |000d: add-long/2addr v4, v0 │ │ +02a8d8: 5a24 9803 |000e: iput-wide v4, v2, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0398 │ │ +02a8dc: 0f03 |0010: return v3 │ │ +02a8de: 2203 1801 |0011: new-instance v3, Ljava/lang/IllegalStateException; // type@0118 │ │ +02a8e2: 2204 2801 |0013: new-instance v4, Ljava/lang/StringBuilder; // type@0128 │ │ +02a8e6: 1a05 ff01 |0015: const-string v5, "Invalid:" // string@01ff │ │ +02a8ea: 7020 8405 5400 |0017: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +02a8f0: 6e20 8805 2400 |001a: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ +02a8f6: 6e10 8b05 0400 |001d: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02a8fc: 0c04 |0020: move-result-object v4 │ │ +02a8fe: 7020 3d05 4300 |0021: invoke-direct {v3, v4}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ +02a904: 2703 |0024: throw v3 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=61 │ │ 0x0006 line=62 │ │ 0x000a line=65 │ │ 0x0011 line=63 │ │ locals : │ │ @@ -32813,22 +32813,22 @@ │ │ type : '(Ljava/io/OutputStream;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 13 16-bit code units │ │ -02a994: |[02a994] util.conpool.PooledConnectionOutputStream.:(Ljava/io/OutputStream;)V │ │ -02a9a4: 7010 0e05 0200 |0000: invoke-direct {v2}, Ljava/io/OutputStream;.:()V // method@050e │ │ -02a9aa: 1210 |0003: const/4 v0, #int 1 // #1 │ │ -02a9ac: 5c20 9c03 |0004: iput-boolean v0, v2, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@039c │ │ -02a9b0: 1600 0000 |0006: const-wide/16 v0, #int 0 // #0 │ │ -02a9b4: 5a20 9b03 |0008: iput-wide v0, v2, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@039b │ │ -02a9b8: 5b23 9a03 |000a: iput-object v3, v2, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@039a │ │ -02a9bc: 0e00 |000c: return-void │ │ +02a990: |[02a990] util.conpool.PooledConnectionOutputStream.:(Ljava/io/OutputStream;)V │ │ +02a9a0: 7010 0e05 0200 |0000: invoke-direct {v2}, Ljava/io/OutputStream;.:()V // method@050e │ │ +02a9a6: 1210 |0003: const/4 v0, #int 1 // #1 │ │ +02a9a8: 5c20 9c03 |0004: iput-boolean v0, v2, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@039c │ │ +02a9ac: 1600 0000 |0006: const-wide/16 v0, #int 0 // #0 │ │ +02a9b0: 5a20 9b03 |0008: iput-wide v0, v2, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@039b │ │ +02a9b4: 5b23 9a03 |000a: iput-object v3, v2, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@039a │ │ +02a9b8: 0e00 |000c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=33 │ │ 0x0004 line=30 │ │ 0x0008 line=31 │ │ 0x000a line=34 │ │ locals : │ │ @@ -32841,44 +32841,44 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -02a9c0: |[02a9c0] util.conpool.PooledConnectionOutputStream.close:()V │ │ -02a9d0: 0e00 |0000: return-void │ │ +02a9bc: |[02a9bc] util.conpool.PooledConnectionOutputStream.close:()V │ │ +02a9cc: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #1 : (in Lutil/conpool/PooledConnectionOutputStream;) │ │ name : 'flush' │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 30 16-bit code units │ │ -02a9d4: |[02a9d4] util.conpool.PooledConnectionOutputStream.flush:()V │ │ -02a9e4: 5430 9a03 |0000: iget-object v0, v3, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@039a │ │ -02a9e8: 6e10 1005 0000 |0002: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ -02a9ee: 5530 9c03 |0005: iget-boolean v0, v3, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@039c │ │ -02a9f2: 3800 0300 |0007: if-eqz v0, 000a // +0003 │ │ -02a9f6: 0e00 |0009: return-void │ │ -02a9f8: 2200 1801 |000a: new-instance v0, Ljava/lang/IllegalStateException; // type@0118 │ │ -02a9fc: 2201 2801 |000c: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -02aa00: 1a02 ff01 |000e: const-string v2, "Invalid:" // string@01ff │ │ -02aa04: 7020 8405 2100 |0010: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -02aa0a: 6e20 8805 3100 |0013: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ -02aa10: 6e10 8b05 0100 |0016: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02aa16: 0c01 |0019: move-result-object v1 │ │ -02aa18: 7020 3d05 1000 |001a: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ -02aa1e: 2700 |001d: throw v0 │ │ +02a9d0: |[02a9d0] util.conpool.PooledConnectionOutputStream.flush:()V │ │ +02a9e0: 5430 9a03 |0000: iget-object v0, v3, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@039a │ │ +02a9e4: 6e10 1005 0000 |0002: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ +02a9ea: 5530 9c03 |0005: iget-boolean v0, v3, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@039c │ │ +02a9ee: 3800 0300 |0007: if-eqz v0, 000a // +0003 │ │ +02a9f2: 0e00 |0009: return-void │ │ +02a9f4: 2200 1801 |000a: new-instance v0, Ljava/lang/IllegalStateException; // type@0118 │ │ +02a9f8: 2201 2801 |000c: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +02a9fc: 1a02 ff01 |000e: const-string v2, "Invalid:" // string@01ff │ │ +02aa00: 7020 8405 2100 |0010: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +02aa06: 6e20 8805 3100 |0013: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ +02aa0c: 6e10 8b05 0100 |0016: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02aa12: 0c01 |0019: move-result-object v1 │ │ +02aa14: 7020 3d05 1000 |001a: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ +02aa1a: 2700 |001d: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=73 │ │ 0x0005 line=74 │ │ 0x000a line=75 │ │ locals : │ │ 0x0000 - 0x001e reg=3 this Lutil/conpool/PooledConnectionOutputStream; │ │ @@ -32888,17 +32888,17 @@ │ │ type : '()J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02a97c: |[02a97c] util.conpool.PooledConnectionOutputStream.getTraffic:()J │ │ -02a98c: 5320 9b03 |0000: iget-wide v0, v2, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@039b │ │ -02a990: 1000 |0002: return-wide v0 │ │ +02a978: |[02a978] util.conpool.PooledConnectionOutputStream.getTraffic:()J │ │ +02a988: 5320 9b03 |0000: iget-wide v0, v2, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@039b │ │ +02a98c: 1000 |0002: return-wide v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=79 │ │ locals : │ │ 0x0000 - 0x0003 reg=2 this Lutil/conpool/PooledConnectionOutputStream; │ │ │ │ #3 : (in Lutil/conpool/PooledConnectionOutputStream;) │ │ @@ -32906,18 +32906,18 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 4 16-bit code units │ │ -02aa20: |[02aa20] util.conpool.PooledConnectionOutputStream.invalidate:()V │ │ -02aa30: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02aa32: 5c10 9c03 |0001: iput-boolean v0, v1, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@039c │ │ -02aa36: 0e00 |0003: return-void │ │ +02aa1c: |[02aa1c] util.conpool.PooledConnectionOutputStream.invalidate:()V │ │ +02aa2c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02aa2e: 5c10 9c03 |0001: iput-boolean v0, v1, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@039c │ │ +02aa32: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=38 │ │ locals : │ │ 0x0000 - 0x0004 reg=1 this Lutil/conpool/PooledConnectionOutputStream; │ │ │ │ #4 : (in Lutil/conpool/PooledConnectionOutputStream;) │ │ @@ -32925,33 +32925,33 @@ │ │ type : '(I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 37 16-bit code units │ │ -02aaec: |[02aaec] util.conpool.PooledConnectionOutputStream.write:(I)V │ │ -02aafc: 5440 9a03 |0000: iget-object v0, v4, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@039a │ │ -02ab00: 6e20 1105 5000 |0002: invoke-virtual {v0, v5}, Ljava/io/OutputStream;.write:(I)V // method@0511 │ │ -02ab06: 5340 9b03 |0005: iget-wide v0, v4, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@039b │ │ -02ab0a: 1602 0100 |0007: const-wide/16 v2, #int 1 // #1 │ │ -02ab0e: bb20 |0009: add-long/2addr v0, v2 │ │ -02ab10: 5a40 9b03 |000a: iput-wide v0, v4, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@039b │ │ -02ab14: 5545 9c03 |000c: iget-boolean v5, v4, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@039c │ │ -02ab18: 3805 0300 |000e: if-eqz v5, 0011 // +0003 │ │ -02ab1c: 0e00 |0010: return-void │ │ -02ab1e: 2205 1801 |0011: new-instance v5, Ljava/lang/IllegalStateException; // type@0118 │ │ -02ab22: 2200 2801 |0013: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ -02ab26: 1a01 ff01 |0015: const-string v1, "Invalid:" // string@01ff │ │ -02ab2a: 7020 8405 1000 |0017: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -02ab30: 6e20 8805 4000 |001a: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ -02ab36: 6e10 8b05 0000 |001d: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02ab3c: 0c00 |0020: move-result-object v0 │ │ -02ab3e: 7020 3d05 0500 |0021: invoke-direct {v5, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ -02ab44: 2705 |0024: throw v5 │ │ +02aae8: |[02aae8] util.conpool.PooledConnectionOutputStream.write:(I)V │ │ +02aaf8: 5440 9a03 |0000: iget-object v0, v4, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@039a │ │ +02aafc: 6e20 1105 5000 |0002: invoke-virtual {v0, v5}, Ljava/io/OutputStream;.write:(I)V // method@0511 │ │ +02ab02: 5340 9b03 |0005: iget-wide v0, v4, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@039b │ │ +02ab06: 1602 0100 |0007: const-wide/16 v2, #int 1 // #1 │ │ +02ab0a: bb20 |0009: add-long/2addr v0, v2 │ │ +02ab0c: 5a40 9b03 |000a: iput-wide v0, v4, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@039b │ │ +02ab10: 5545 9c03 |000c: iget-boolean v5, v4, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@039c │ │ +02ab14: 3805 0300 |000e: if-eqz v5, 0011 // +0003 │ │ +02ab18: 0e00 |0010: return-void │ │ +02ab1a: 2205 1801 |0011: new-instance v5, Ljava/lang/IllegalStateException; // type@0118 │ │ +02ab1e: 2200 2801 |0013: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ +02ab22: 1a01 ff01 |0015: const-string v1, "Invalid:" // string@01ff │ │ +02ab26: 7020 8405 1000 |0017: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +02ab2c: 6e20 8805 4000 |001a: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ +02ab32: 6e10 8b05 0000 |001d: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02ab38: 0c00 |0020: move-result-object v0 │ │ +02ab3a: 7020 3d05 0500 |0021: invoke-direct {v5, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ +02ab40: 2705 |0024: throw v5 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=43 │ │ 0x0005 line=44 │ │ 0x000c line=45 │ │ 0x0011 line=46 │ │ locals : │ │ @@ -32963,34 +32963,34 @@ │ │ type : '([B)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 37 16-bit code units │ │ -02aa38: |[02aa38] util.conpool.PooledConnectionOutputStream.write:([B)V │ │ -02aa48: 5440 9a03 |0000: iget-object v0, v4, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@039a │ │ -02aa4c: 6e20 1205 5000 |0002: invoke-virtual {v0, v5}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ -02aa52: 5340 9b03 |0005: iget-wide v0, v4, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@039b │ │ -02aa56: 2155 |0007: array-length v5, v5 │ │ -02aa58: 8152 |0008: int-to-long v2, v5 │ │ -02aa5a: bb20 |0009: add-long/2addr v0, v2 │ │ -02aa5c: 5a40 9b03 |000a: iput-wide v0, v4, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@039b │ │ -02aa60: 5545 9c03 |000c: iget-boolean v5, v4, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@039c │ │ -02aa64: 3805 0300 |000e: if-eqz v5, 0011 // +0003 │ │ -02aa68: 0e00 |0010: return-void │ │ -02aa6a: 2205 1801 |0011: new-instance v5, Ljava/lang/IllegalStateException; // type@0118 │ │ -02aa6e: 2200 2801 |0013: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ -02aa72: 1a01 ff01 |0015: const-string v1, "Invalid:" // string@01ff │ │ -02aa76: 7020 8405 1000 |0017: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -02aa7c: 6e20 8805 4000 |001a: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ -02aa82: 6e10 8b05 0000 |001d: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02aa88: 0c00 |0020: move-result-object v0 │ │ -02aa8a: 7020 3d05 0500 |0021: invoke-direct {v5, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ -02aa90: 2705 |0024: throw v5 │ │ +02aa34: |[02aa34] util.conpool.PooledConnectionOutputStream.write:([B)V │ │ +02aa44: 5440 9a03 |0000: iget-object v0, v4, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@039a │ │ +02aa48: 6e20 1205 5000 |0002: invoke-virtual {v0, v5}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ +02aa4e: 5340 9b03 |0005: iget-wide v0, v4, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@039b │ │ +02aa52: 2155 |0007: array-length v5, v5 │ │ +02aa54: 8152 |0008: int-to-long v2, v5 │ │ +02aa56: bb20 |0009: add-long/2addr v0, v2 │ │ +02aa58: 5a40 9b03 |000a: iput-wide v0, v4, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@039b │ │ +02aa5c: 5545 9c03 |000c: iget-boolean v5, v4, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@039c │ │ +02aa60: 3805 0300 |000e: if-eqz v5, 0011 // +0003 │ │ +02aa64: 0e00 |0010: return-void │ │ +02aa66: 2205 1801 |0011: new-instance v5, Ljava/lang/IllegalStateException; // type@0118 │ │ +02aa6a: 2200 2801 |0013: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ +02aa6e: 1a01 ff01 |0015: const-string v1, "Invalid:" // string@01ff │ │ +02aa72: 7020 8405 1000 |0017: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +02aa78: 6e20 8805 4000 |001a: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ +02aa7e: 6e10 8b05 0000 |001d: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02aa84: 0c00 |0020: move-result-object v0 │ │ +02aa86: 7020 3d05 0500 |0021: invoke-direct {v5, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ +02aa8c: 2705 |0024: throw v5 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=51 │ │ 0x0005 line=52 │ │ 0x000c line=53 │ │ 0x0011 line=54 │ │ locals : │ │ @@ -33002,33 +33002,33 @@ │ │ type : '([BII)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 36 16-bit code units │ │ -02aa94: |[02aa94] util.conpool.PooledConnectionOutputStream.write:([BII)V │ │ -02aaa4: 5420 9a03 |0000: iget-object v0, v2, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@039a │ │ -02aaa8: 6e40 1305 3054 |0002: invoke-virtual {v0, v3, v4, v5}, Ljava/io/OutputStream;.write:([BII)V // method@0513 │ │ -02aaae: 5323 9b03 |0005: iget-wide v3, v2, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@039b │ │ -02aab2: 8150 |0007: int-to-long v0, v5 │ │ -02aab4: bb03 |0008: add-long/2addr v3, v0 │ │ -02aab6: 5a23 9b03 |0009: iput-wide v3, v2, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@039b │ │ -02aaba: 5523 9c03 |000b: iget-boolean v3, v2, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@039c │ │ -02aabe: 3803 0300 |000d: if-eqz v3, 0010 // +0003 │ │ -02aac2: 0e00 |000f: return-void │ │ -02aac4: 2203 1801 |0010: new-instance v3, Ljava/lang/IllegalStateException; // type@0118 │ │ -02aac8: 2204 2801 |0012: new-instance v4, Ljava/lang/StringBuilder; // type@0128 │ │ -02aacc: 1a05 ff01 |0014: const-string v5, "Invalid:" // string@01ff │ │ -02aad0: 7020 8405 5400 |0016: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -02aad6: 6e20 8805 2400 |0019: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ -02aadc: 6e10 8b05 0400 |001c: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02aae2: 0c04 |001f: move-result-object v4 │ │ -02aae4: 7020 3d05 4300 |0020: invoke-direct {v3, v4}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ -02aaea: 2703 |0023: throw v3 │ │ +02aa90: |[02aa90] util.conpool.PooledConnectionOutputStream.write:([BII)V │ │ +02aaa0: 5420 9a03 |0000: iget-object v0, v2, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@039a │ │ +02aaa4: 6e40 1305 3054 |0002: invoke-virtual {v0, v3, v4, v5}, Ljava/io/OutputStream;.write:([BII)V // method@0513 │ │ +02aaaa: 5323 9b03 |0005: iget-wide v3, v2, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@039b │ │ +02aaae: 8150 |0007: int-to-long v0, v5 │ │ +02aab0: bb03 |0008: add-long/2addr v3, v0 │ │ +02aab2: 5a23 9b03 |0009: iput-wide v3, v2, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@039b │ │ +02aab6: 5523 9c03 |000b: iget-boolean v3, v2, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@039c │ │ +02aaba: 3803 0300 |000d: if-eqz v3, 0010 // +0003 │ │ +02aabe: 0e00 |000f: return-void │ │ +02aac0: 2203 1801 |0010: new-instance v3, Ljava/lang/IllegalStateException; // type@0118 │ │ +02aac4: 2204 2801 |0012: new-instance v4, Ljava/lang/StringBuilder; // type@0128 │ │ +02aac8: 1a05 ff01 |0014: const-string v5, "Invalid:" // string@01ff │ │ +02aacc: 7020 8405 5400 |0016: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +02aad2: 6e20 8805 2400 |0019: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ +02aad8: 6e10 8b05 0400 |001c: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02aade: 0c04 |001f: move-result-object v4 │ │ +02aae0: 7020 3d05 4300 |0020: invoke-direct {v3, v4}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ +02aae6: 2703 |0023: throw v3 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=60 │ │ 0x0005 line=61 │ │ 0x000b line=62 │ │ 0x0010 line=63 │ │ locals : │ │ @@ -33082,25 +33082,25 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 20 16-bit code units │ │ -02acb8: |[02acb8] util.conpool.TLSSocketFactory.:()V │ │ -02acc8: 7010 7e06 0200 |0000: invoke-direct {v2}, Ljavax/net/ssl/SSLSocketFactory;.:()V // method@067e │ │ -02acce: 1a00 6a04 |0003: const-string v0, "TLS" // string@046a │ │ -02acd2: 7110 7a06 0000 |0005: invoke-static {v0}, Ljavax/net/ssl/SSLContext;.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/SSLContext; // method@067a │ │ -02acd8: 0c00 |0008: move-result-object v0 │ │ -02acda: 1201 |0009: const/4 v1, #int 0 // #0 │ │ -02acdc: 6e40 7c06 1011 |000a: invoke-virtual {v0, v1, v1, v1}, Ljavax/net/ssl/SSLContext;.init:([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V // method@067c │ │ -02ace2: 6e10 7b06 0000 |000d: invoke-virtual {v0}, Ljavax/net/ssl/SSLContext;.getSocketFactory:()Ljavax/net/ssl/SSLSocketFactory; // method@067b │ │ -02ace8: 0c00 |0010: move-result-object v0 │ │ -02acea: 5b20 9d03 |0011: iput-object v0, v2, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039d │ │ -02acee: 0e00 |0013: return-void │ │ +02acb4: |[02acb4] util.conpool.TLSSocketFactory.:()V │ │ +02acc4: 7010 7e06 0200 |0000: invoke-direct {v2}, Ljavax/net/ssl/SSLSocketFactory;.:()V // method@067e │ │ +02acca: 1a00 6a04 |0003: const-string v0, "TLS" // string@046a │ │ +02acce: 7110 7a06 0000 |0005: invoke-static {v0}, Ljavax/net/ssl/SSLContext;.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/SSLContext; // method@067a │ │ +02acd4: 0c00 |0008: move-result-object v0 │ │ +02acd6: 1201 |0009: const/4 v1, #int 0 // #0 │ │ +02acd8: 6e40 7c06 1011 |000a: invoke-virtual {v0, v1, v1, v1}, Ljavax/net/ssl/SSLContext;.init:([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V // method@067c │ │ +02acde: 6e10 7b06 0000 |000d: invoke-virtual {v0}, Ljavax/net/ssl/SSLContext;.getSocketFactory:()Ljavax/net/ssl/SSLSocketFactory; // method@067b │ │ +02ace4: 0c00 |0010: move-result-object v0 │ │ +02ace6: 5b20 9d03 |0011: iput-object v0, v2, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039d │ │ +02acea: 0e00 |0013: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=16 │ │ 0x0003 line=17 │ │ 0x000a line=18 │ │ 0x000d line=19 │ │ locals : │ │ @@ -33111,29 +33111,29 @@ │ │ type : '(Ljava/net/Socket;)Ljava/net/Socket;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 24 16-bit code units │ │ -02ac78: |[02ac78] util.conpool.TLSSocketFactory.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; │ │ -02ac88: 2050 7501 |0000: instance-of v0, v5, Ljavax/net/ssl/SSLSocket; // type@0175 │ │ -02ac8c: 3800 1500 |0002: if-eqz v0, 0017 // +0015 │ │ -02ac90: 0750 |0004: move-object v0, v5 │ │ -02ac92: 1f00 7501 |0005: check-cast v0, Ljavax/net/ssl/SSLSocket; // type@0175 │ │ -02ac96: 1221 |0007: const/4 v1, #int 2 // #2 │ │ -02ac98: 2311 a901 |0008: new-array v1, v1, [Ljava/lang/String; // type@01a9 │ │ -02ac9c: 1a02 6c04 |000a: const-string v2, "TLSv1.1" // string@046c │ │ -02aca0: 1203 |000c: const/4 v3, #int 0 // #0 │ │ -02aca2: 4d02 0103 |000d: aput-object v2, v1, v3 │ │ -02aca6: 1a02 6d04 |000f: const-string v2, "TLSv1.2" // string@046d │ │ -02acaa: 1213 |0011: const/4 v3, #int 1 // #1 │ │ -02acac: 4d02 0103 |0012: aput-object v2, v1, v3 │ │ -02acb0: 6e20 7d06 1000 |0014: invoke-virtual {v0, v1}, Ljavax/net/ssl/SSLSocket;.setEnabledProtocols:([Ljava/lang/String;)V // method@067d │ │ -02acb6: 1105 |0017: return-object v5 │ │ +02ac74: |[02ac74] util.conpool.TLSSocketFactory.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; │ │ +02ac84: 2050 7501 |0000: instance-of v0, v5, Ljavax/net/ssl/SSLSocket; // type@0175 │ │ +02ac88: 3800 1500 |0002: if-eqz v0, 0017 // +0015 │ │ +02ac8c: 0750 |0004: move-object v0, v5 │ │ +02ac8e: 1f00 7501 |0005: check-cast v0, Ljavax/net/ssl/SSLSocket; // type@0175 │ │ +02ac92: 1221 |0007: const/4 v1, #int 2 // #2 │ │ +02ac94: 2311 a901 |0008: new-array v1, v1, [Ljava/lang/String; // type@01a9 │ │ +02ac98: 1a02 6c04 |000a: const-string v2, "TLSv1.1" // string@046c │ │ +02ac9c: 1203 |000c: const/4 v3, #int 0 // #0 │ │ +02ac9e: 4d02 0103 |000d: aput-object v2, v1, v3 │ │ +02aca2: 1a02 6d04 |000f: const-string v2, "TLSv1.2" // string@046d │ │ +02aca6: 1213 |0011: const/4 v3, #int 1 // #1 │ │ +02aca8: 4d02 0103 |0012: aput-object v2, v1, v3 │ │ +02acac: 6e20 7d06 1000 |0014: invoke-virtual {v0, v1}, Ljavax/net/ssl/SSLSocket;.setEnabledProtocols:([Ljava/lang/String;)V // method@067d │ │ +02acb2: 1105 |0017: return-object v5 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=65 │ │ 0x0004 line=66 │ │ locals : │ │ 0x0000 - 0x0018 reg=4 this Lutil/conpool/TLSSocketFactory; │ │ 0x0000 - 0x0018 reg=5 (null) Ljava/net/Socket; │ │ @@ -33144,21 +33144,21 @@ │ │ type : '()Ljava/net/Socket;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 11 16-bit code units │ │ -02ab88: |[02ab88] util.conpool.TLSSocketFactory.createSocket:()Ljava/net/Socket; │ │ -02ab98: 5410 9d03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039d │ │ -02ab9c: 6e10 7f06 0000 |0002: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:()Ljava/net/Socket; // method@067f │ │ -02aba2: 0c00 |0005: move-result-object v0 │ │ -02aba4: 7020 be07 0100 |0006: invoke-direct {v1, v0}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07be │ │ -02abaa: 0c00 |0009: move-result-object v0 │ │ -02abac: 1100 |000a: return-object v0 │ │ +02ab84: |[02ab84] util.conpool.TLSSocketFactory.createSocket:()Ljava/net/Socket; │ │ +02ab94: 5410 9d03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039d │ │ +02ab98: 6e10 7f06 0000 |0002: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:()Ljava/net/Socket; // method@067f │ │ +02ab9e: 0c00 |0005: move-result-object v0 │ │ +02aba0: 7020 be07 0100 |0006: invoke-direct {v1, v0}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07be │ │ +02aba6: 0c00 |0009: move-result-object v0 │ │ +02aba8: 1100 |000a: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=34 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Lutil/conpool/TLSSocketFactory; │ │ │ │ #1 : (in Lutil/conpool/TLSSocketFactory;) │ │ @@ -33166,21 +33166,21 @@ │ │ type : '(Ljava/lang/String;I)Ljava/net/Socket;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 11 16-bit code units │ │ -02abb0: |[02abb0] util.conpool.TLSSocketFactory.createSocket:(Ljava/lang/String;I)Ljava/net/Socket; │ │ -02abc0: 5410 9d03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039d │ │ -02abc4: 6e30 8006 2003 |0002: invoke-virtual {v0, v2, v3}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:(Ljava/lang/String;I)Ljava/net/Socket; // method@0680 │ │ -02abca: 0c02 |0005: move-result-object v2 │ │ -02abcc: 7020 be07 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07be │ │ -02abd2: 0c02 |0009: move-result-object v2 │ │ -02abd4: 1102 |000a: return-object v2 │ │ +02abac: |[02abac] util.conpool.TLSSocketFactory.createSocket:(Ljava/lang/String;I)Ljava/net/Socket; │ │ +02abbc: 5410 9d03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039d │ │ +02abc0: 6e30 8006 2003 |0002: invoke-virtual {v0, v2, v3}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:(Ljava/lang/String;I)Ljava/net/Socket; // method@0680 │ │ +02abc6: 0c02 |0005: move-result-object v2 │ │ +02abc8: 7020 be07 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07be │ │ +02abce: 0c02 |0009: move-result-object v2 │ │ +02abd0: 1102 |000a: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=44 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Lutil/conpool/TLSSocketFactory; │ │ 0x0000 - 0x000b reg=2 (null) Ljava/lang/String; │ │ 0x0000 - 0x000b reg=3 (null) I │ │ @@ -33190,21 +33190,21 @@ │ │ type : '(Ljava/lang/String;ILjava/net/InetAddress;I)Ljava/net/Socket;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 5 │ │ outs : 5 │ │ insns size : 11 16-bit code units │ │ -02abd8: |[02abd8] util.conpool.TLSSocketFactory.createSocket:(Ljava/lang/String;ILjava/net/InetAddress;I)Ljava/net/Socket; │ │ -02abe8: 5410 9d03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039d │ │ -02abec: 6e55 8106 2043 |0002: invoke-virtual {v0, v2, v3, v4, v5}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:(Ljava/lang/String;ILjava/net/InetAddress;I)Ljava/net/Socket; // method@0681 │ │ -02abf2: 0c02 |0005: move-result-object v2 │ │ -02abf4: 7020 be07 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07be │ │ -02abfa: 0c02 |0009: move-result-object v2 │ │ -02abfc: 1102 |000a: return-object v2 │ │ +02abd4: |[02abd4] util.conpool.TLSSocketFactory.createSocket:(Ljava/lang/String;ILjava/net/InetAddress;I)Ljava/net/Socket; │ │ +02abe4: 5410 9d03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039d │ │ +02abe8: 6e55 8106 2043 |0002: invoke-virtual {v0, v2, v3, v4, v5}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:(Ljava/lang/String;ILjava/net/InetAddress;I)Ljava/net/Socket; // method@0681 │ │ +02abee: 0c02 |0005: move-result-object v2 │ │ +02abf0: 7020 be07 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07be │ │ +02abf6: 0c02 |0009: move-result-object v2 │ │ +02abf8: 1102 |000a: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=50 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Lutil/conpool/TLSSocketFactory; │ │ 0x0000 - 0x000b reg=2 (null) Ljava/lang/String; │ │ 0x0000 - 0x000b reg=3 (null) I │ │ @@ -33216,21 +33216,21 @@ │ │ type : '(Ljava/net/InetAddress;I)Ljava/net/Socket;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 11 16-bit code units │ │ -02ac00: |[02ac00] util.conpool.TLSSocketFactory.createSocket:(Ljava/net/InetAddress;I)Ljava/net/Socket; │ │ -02ac10: 5410 9d03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039d │ │ -02ac14: 6e30 8206 2003 |0002: invoke-virtual {v0, v2, v3}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:(Ljava/net/InetAddress;I)Ljava/net/Socket; // method@0682 │ │ -02ac1a: 0c02 |0005: move-result-object v2 │ │ -02ac1c: 7020 be07 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07be │ │ -02ac22: 0c02 |0009: move-result-object v2 │ │ -02ac24: 1102 |000a: return-object v2 │ │ +02abfc: |[02abfc] util.conpool.TLSSocketFactory.createSocket:(Ljava/net/InetAddress;I)Ljava/net/Socket; │ │ +02ac0c: 5410 9d03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039d │ │ +02ac10: 6e30 8206 2003 |0002: invoke-virtual {v0, v2, v3}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:(Ljava/net/InetAddress;I)Ljava/net/Socket; // method@0682 │ │ +02ac16: 0c02 |0005: move-result-object v2 │ │ +02ac18: 7020 be07 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07be │ │ +02ac1e: 0c02 |0009: move-result-object v2 │ │ +02ac20: 1102 |000a: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=55 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Lutil/conpool/TLSSocketFactory; │ │ 0x0000 - 0x000b reg=2 (null) Ljava/net/InetAddress; │ │ 0x0000 - 0x000b reg=3 (null) I │ │ @@ -33240,21 +33240,21 @@ │ │ type : '(Ljava/net/InetAddress;ILjava/net/InetAddress;I)Ljava/net/Socket;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 5 │ │ outs : 5 │ │ insns size : 11 16-bit code units │ │ -02ac28: |[02ac28] util.conpool.TLSSocketFactory.createSocket:(Ljava/net/InetAddress;ILjava/net/InetAddress;I)Ljava/net/Socket; │ │ -02ac38: 5410 9d03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039d │ │ -02ac3c: 6e55 8306 2043 |0002: invoke-virtual {v0, v2, v3, v4, v5}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:(Ljava/net/InetAddress;ILjava/net/InetAddress;I)Ljava/net/Socket; // method@0683 │ │ -02ac42: 0c02 |0005: move-result-object v2 │ │ -02ac44: 7020 be07 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07be │ │ -02ac4a: 0c02 |0009: move-result-object v2 │ │ -02ac4c: 1102 |000a: return-object v2 │ │ +02ac24: |[02ac24] util.conpool.TLSSocketFactory.createSocket:(Ljava/net/InetAddress;ILjava/net/InetAddress;I)Ljava/net/Socket; │ │ +02ac34: 5410 9d03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039d │ │ +02ac38: 6e55 8306 2043 |0002: invoke-virtual {v0, v2, v3, v4, v5}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:(Ljava/net/InetAddress;ILjava/net/InetAddress;I)Ljava/net/Socket; // method@0683 │ │ +02ac3e: 0c02 |0005: move-result-object v2 │ │ +02ac40: 7020 be07 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07be │ │ +02ac46: 0c02 |0009: move-result-object v2 │ │ +02ac48: 1102 |000a: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=61 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Lutil/conpool/TLSSocketFactory; │ │ 0x0000 - 0x000b reg=2 (null) Ljava/net/InetAddress; │ │ 0x0000 - 0x000b reg=3 (null) I │ │ @@ -33266,21 +33266,21 @@ │ │ type : '(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 5 │ │ outs : 5 │ │ insns size : 11 16-bit code units │ │ -02ac50: |[02ac50] util.conpool.TLSSocketFactory.createSocket:(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket; │ │ -02ac60: 5410 9d03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039d │ │ -02ac64: 6e55 8406 2043 |0002: invoke-virtual {v0, v2, v3, v4, v5}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket; // method@0684 │ │ -02ac6a: 0c02 |0005: move-result-object v2 │ │ -02ac6c: 7020 be07 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07be │ │ -02ac72: 0c02 |0009: move-result-object v2 │ │ -02ac74: 1102 |000a: return-object v2 │ │ +02ac4c: |[02ac4c] util.conpool.TLSSocketFactory.createSocket:(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket; │ │ +02ac5c: 5410 9d03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039d │ │ +02ac60: 6e55 8406 2043 |0002: invoke-virtual {v0, v2, v3, v4, v5}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket; // method@0684 │ │ +02ac66: 0c02 |0005: move-result-object v2 │ │ +02ac68: 7020 be07 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07be │ │ +02ac6e: 0c02 |0009: move-result-object v2 │ │ +02ac70: 1102 |000a: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=39 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Lutil/conpool/TLSSocketFactory; │ │ 0x0000 - 0x000b reg=2 (null) Ljava/net/Socket; │ │ 0x0000 - 0x000b reg=3 (null) Ljava/lang/String; │ │ @@ -33292,19 +33292,19 @@ │ │ type : '()[Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -02ab48: |[02ab48] util.conpool.TLSSocketFactory.getDefaultCipherSuites:()[Ljava/lang/String; │ │ -02ab58: 5410 9d03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039d │ │ -02ab5c: 6e10 8606 0000 |0002: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocketFactory;.getDefaultCipherSuites:()[Ljava/lang/String; // method@0686 │ │ -02ab62: 0c00 |0005: move-result-object v0 │ │ -02ab64: 1100 |0006: return-object v0 │ │ +02ab44: |[02ab44] util.conpool.TLSSocketFactory.getDefaultCipherSuites:()[Ljava/lang/String; │ │ +02ab54: 5410 9d03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039d │ │ +02ab58: 6e10 8606 0000 |0002: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocketFactory;.getDefaultCipherSuites:()[Ljava/lang/String; // method@0686 │ │ +02ab5e: 0c00 |0005: move-result-object v0 │ │ +02ab60: 1100 |0006: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=24 │ │ locals : │ │ 0x0000 - 0x0007 reg=1 this Lutil/conpool/TLSSocketFactory; │ │ │ │ #7 : (in Lutil/conpool/TLSSocketFactory;) │ │ @@ -33312,19 +33312,19 @@ │ │ type : '()[Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -02ab68: |[02ab68] util.conpool.TLSSocketFactory.getSupportedCipherSuites:()[Ljava/lang/String; │ │ -02ab78: 5410 9d03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039d │ │ -02ab7c: 6e10 8706 0000 |0002: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocketFactory;.getSupportedCipherSuites:()[Ljava/lang/String; // method@0687 │ │ -02ab82: 0c00 |0005: move-result-object v0 │ │ -02ab84: 1100 |0006: return-object v0 │ │ +02ab64: |[02ab64] util.conpool.TLSSocketFactory.getSupportedCipherSuites:()[Ljava/lang/String; │ │ +02ab74: 5410 9d03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039d │ │ +02ab78: 6e10 8706 0000 |0002: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocketFactory;.getSupportedCipherSuites:()[Ljava/lang/String; // method@0687 │ │ +02ab7e: 0c00 |0005: move-result-object v0 │ │ +02ab80: 1100 |0006: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=29 │ │ locals : │ │ 0x0000 - 0x0007 reg=1 this Lutil/conpool/TLSSocketFactory; │ │ │ │ source_file_idx : 1131 (TLSSocketFactory.java) │ │ @@ -33378,25 +33378,25 @@ │ │ type : '(Ljava/io/InputStream;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 19 16-bit code units │ │ -02ade0: |[02ade0] util.http.HttpChunkedInputStream.:(Ljava/io/InputStream;)V │ │ -02adf0: 7010 0105 0100 |0000: invoke-direct {v1}, Ljava/io/InputStream;.:()V // method@0501 │ │ -02adf6: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -02adf8: 5b10 a003 |0004: iput-object v0, v1, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@03a0 │ │ -02adfc: 5b10 9e03 |0006: iput-object v0, v1, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039e │ │ -02ae00: 1200 |0008: const/4 v0, #int 0 // #0 │ │ -02ae02: 5c10 9f03 |0009: iput-boolean v0, v1, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039f │ │ -02ae06: 2200 f300 |000b: new-instance v0, Ljava/io/DataInputStream; // type@00f3 │ │ -02ae0a: 7020 c904 2000 |000d: invoke-direct {v0, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04c9 │ │ -02ae10: 5b10 a003 |0010: iput-object v0, v1, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@03a0 │ │ -02ae14: 0e00 |0012: return-void │ │ +02addc: |[02addc] util.http.HttpChunkedInputStream.:(Ljava/io/InputStream;)V │ │ +02adec: 7010 0105 0100 |0000: invoke-direct {v1}, Ljava/io/InputStream;.:()V // method@0501 │ │ +02adf2: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +02adf4: 5b10 a003 |0004: iput-object v0, v1, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@03a0 │ │ +02adf8: 5b10 9e03 |0006: iput-object v0, v1, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039e │ │ +02adfc: 1200 |0008: const/4 v0, #int 0 // #0 │ │ +02adfe: 5c10 9f03 |0009: iput-boolean v0, v1, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039f │ │ +02ae02: 2200 f300 |000b: new-instance v0, Ljava/io/DataInputStream; // type@00f3 │ │ +02ae06: 7020 c904 2000 |000d: invoke-direct {v0, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04c9 │ │ +02ae0c: 5b10 a003 |0010: iput-object v0, v1, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@03a0 │ │ +02ae10: 0e00 |0012: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=18 │ │ 0x0004 line=14 │ │ 0x0006 line=15 │ │ 0x0009 line=16 │ │ 0x000b line=19 │ │ @@ -33409,51 +33409,51 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 70 16-bit code units │ │ -02ae2c: |[02ae2c] util.http.HttpChunkedInputStream.readNextChunk:()V │ │ -02ae3c: 5430 a003 |0000: iget-object v0, v3, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@03a0 │ │ -02ae40: 7110 7b07 0000 |0002: invoke-static {v0}, Lutil/Utils;.readLineFromStreamRN:(Ljava/io/InputStream;)Ljava/lang/String; // method@077b │ │ -02ae46: 0c00 |0005: move-result-object v0 │ │ -02ae48: 3800 3800 |0006: if-eqz v0, 003e // +0038 │ │ -02ae4c: 1a01 0000 |0008: const-string v1, "" // string@0000 │ │ -02ae50: 6e20 6705 1000 |000a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -02ae56: 0a01 |000d: move-result v1 │ │ -02ae58: 1212 |000e: const/4 v2, #int 1 // #1 │ │ -02ae5a: 3801 0500 |000f: if-eqz v1, 0014 // +0005 │ │ -02ae5e: 5c32 9f03 |0011: iput-boolean v2, v3, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039f │ │ -02ae62: 0e00 |0013: return-void │ │ -02ae64: 1301 1000 |0014: const/16 v1, #int 16 // #10 │ │ -02ae68: 7120 4205 1000 |0016: invoke-static {v0, v1}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;I)I // method@0542 │ │ -02ae6e: 0a00 |0019: move-result v0 │ │ -02ae70: 3800 1100 |001a: if-eqz v0, 002b // +0011 │ │ -02ae74: 2300 9901 |001c: new-array v0, v0, [B // type@0199 │ │ -02ae78: 5431 a003 |001e: iget-object v1, v3, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@03a0 │ │ -02ae7c: 6e20 cb04 0100 |0020: invoke-virtual {v1, v0}, Ljava/io/DataInputStream;.readFully:([B)V // method@04cb │ │ -02ae82: 2201 f100 |0023: new-instance v1, Ljava/io/ByteArrayInputStream; // type@00f1 │ │ -02ae86: 7020 ba04 0100 |0025: invoke-direct {v1, v0}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04ba │ │ -02ae8c: 5b31 9e03 |0028: iput-object v1, v3, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039e │ │ -02ae90: 2803 |002a: goto 002d // +0003 │ │ -02ae92: 5c32 9f03 |002b: iput-boolean v2, v3, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039f │ │ -02ae96: 5430 a003 |002d: iget-object v0, v3, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@03a0 │ │ -02ae9a: 7110 7b07 0000 |002f: invoke-static {v0}, Lutil/Utils;.readLineFromStreamRN:(Ljava/io/InputStream;)Ljava/lang/String; // method@077b │ │ -02aea0: 0e00 |0032: return-void │ │ -02aea2: 0d00 |0033: move-exception v0 │ │ -02aea4: 2201 fb00 |0034: new-instance v1, Ljava/io/IOException; // type@00fb │ │ -02aea8: 6e10 3b05 0000 |0036: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@053b │ │ -02aeae: 0c00 |0039: move-result-object v0 │ │ -02aeb0: 7020 fb04 0100 |003a: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -02aeb6: 2701 |003d: throw v1 │ │ -02aeb8: 2200 f500 |003e: new-instance v0, Ljava/io/EOFException; // type@00f5 │ │ -02aebc: 1a01 f401 |0040: const-string v1, "Invalid end of ChunkedInputStream!" // string@01f4 │ │ -02aec0: 7020 d904 1000 |0042: invoke-direct {v0, v1}, Ljava/io/EOFException;.:(Ljava/lang/String;)V // method@04d9 │ │ -02aec6: 2700 |0045: throw v0 │ │ +02ae28: |[02ae28] util.http.HttpChunkedInputStream.readNextChunk:()V │ │ +02ae38: 5430 a003 |0000: iget-object v0, v3, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@03a0 │ │ +02ae3c: 7110 7b07 0000 |0002: invoke-static {v0}, Lutil/Utils;.readLineFromStreamRN:(Ljava/io/InputStream;)Ljava/lang/String; // method@077b │ │ +02ae42: 0c00 |0005: move-result-object v0 │ │ +02ae44: 3800 3800 |0006: if-eqz v0, 003e // +0038 │ │ +02ae48: 1a01 0000 |0008: const-string v1, "" // string@0000 │ │ +02ae4c: 6e20 6705 1000 |000a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +02ae52: 0a01 |000d: move-result v1 │ │ +02ae54: 1212 |000e: const/4 v2, #int 1 // #1 │ │ +02ae56: 3801 0500 |000f: if-eqz v1, 0014 // +0005 │ │ +02ae5a: 5c32 9f03 |0011: iput-boolean v2, v3, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039f │ │ +02ae5e: 0e00 |0013: return-void │ │ +02ae60: 1301 1000 |0014: const/16 v1, #int 16 // #10 │ │ +02ae64: 7120 4205 1000 |0016: invoke-static {v0, v1}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;I)I // method@0542 │ │ +02ae6a: 0a00 |0019: move-result v0 │ │ +02ae6c: 3800 1100 |001a: if-eqz v0, 002b // +0011 │ │ +02ae70: 2300 9901 |001c: new-array v0, v0, [B // type@0199 │ │ +02ae74: 5431 a003 |001e: iget-object v1, v3, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@03a0 │ │ +02ae78: 6e20 cb04 0100 |0020: invoke-virtual {v1, v0}, Ljava/io/DataInputStream;.readFully:([B)V // method@04cb │ │ +02ae7e: 2201 f100 |0023: new-instance v1, Ljava/io/ByteArrayInputStream; // type@00f1 │ │ +02ae82: 7020 ba04 0100 |0025: invoke-direct {v1, v0}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04ba │ │ +02ae88: 5b31 9e03 |0028: iput-object v1, v3, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039e │ │ +02ae8c: 2803 |002a: goto 002d // +0003 │ │ +02ae8e: 5c32 9f03 |002b: iput-boolean v2, v3, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039f │ │ +02ae92: 5430 a003 |002d: iget-object v0, v3, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@03a0 │ │ +02ae96: 7110 7b07 0000 |002f: invoke-static {v0}, Lutil/Utils;.readLineFromStreamRN:(Ljava/io/InputStream;)Ljava/lang/String; // method@077b │ │ +02ae9c: 0e00 |0032: return-void │ │ +02ae9e: 0d00 |0033: move-exception v0 │ │ +02aea0: 2201 fb00 |0034: new-instance v1, Ljava/io/IOException; // type@00fb │ │ +02aea4: 6e10 3b05 0000 |0036: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@053b │ │ +02aeaa: 0c00 |0039: move-result-object v0 │ │ +02aeac: 7020 fb04 0100 |003a: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +02aeb2: 2701 |003d: throw v1 │ │ +02aeb4: 2200 f500 |003e: new-instance v0, Ljava/io/EOFException; // type@00f5 │ │ +02aeb8: 1a01 f401 |0040: const-string v1, "Invalid end of ChunkedInputStream!" // string@01f4 │ │ +02aebc: 7020 d904 1000 |0042: invoke-direct {v0, v1}, Ljava/io/EOFException;.:(Ljava/lang/String;)V // method@04d9 │ │ +02aec2: 2700 |0045: throw v0 │ │ catches : 1 │ │ 0x0016 - 0x001a │ │ Ljava/lang/Exception; -> 0x0033 │ │ positions : │ │ 0x0000 line=74 │ │ 0x0008 line=79 │ │ 0x0011 line=80 │ │ @@ -33474,22 +33474,22 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 11 16-bit code units │ │ -02acf0: |[02acf0] util.http.HttpChunkedInputStream.available:()I │ │ -02ad00: 5410 9e03 |0000: iget-object v0, v1, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039e │ │ -02ad04: 3800 0700 |0002: if-eqz v0, 0009 // +0007 │ │ -02ad08: 6e10 bc04 0000 |0004: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.available:()I // method@04bc │ │ -02ad0e: 0a00 |0007: move-result v0 │ │ -02ad10: 0f00 |0008: return v0 │ │ -02ad12: 1200 |0009: const/4 v0, #int 0 // #0 │ │ -02ad14: 0f00 |000a: return v0 │ │ +02acec: |[02acec] util.http.HttpChunkedInputStream.available:()I │ │ +02acfc: 5410 9e03 |0000: iget-object v0, v1, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039e │ │ +02ad00: 3800 0700 |0002: if-eqz v0, 0009 // +0007 │ │ +02ad04: 6e10 bc04 0000 |0004: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.available:()I // method@04bc │ │ +02ad0a: 0a00 |0007: move-result v0 │ │ +02ad0c: 0f00 |0008: return v0 │ │ +02ad0e: 1200 |0009: const/4 v0, #int 0 // #0 │ │ +02ad10: 0f00 |000a: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=60 │ │ 0x0004 line=61 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Lutil/http/HttpChunkedInputStream; │ │ │ │ @@ -33498,49 +33498,49 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -02ae18: |[02ae18] util.http.HttpChunkedInputStream.close:()V │ │ -02ae28: 0e00 |0000: return-void │ │ +02ae14: |[02ae14] util.http.HttpChunkedInputStream.close:()V │ │ +02ae24: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #2 : (in Lutil/http/HttpChunkedInputStream;) │ │ name : 'read' │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 34 16-bit code units │ │ -02ad18: |[02ad18] util.http.HttpChunkedInputStream.read:()I │ │ -02ad28: 6e10 c207 0200 |0000: invoke-virtual {v2}, Lutil/http/HttpChunkedInputStream;.available:()I // method@07c2 │ │ -02ad2e: 0a00 |0003: move-result v0 │ │ -02ad30: 3800 0900 |0004: if-eqz v0, 000d // +0009 │ │ -02ad34: 5420 9e03 |0006: iget-object v0, v2, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039e │ │ -02ad38: 6e10 bd04 0000 |0008: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.read:()I // method@04bd │ │ -02ad3e: 0a00 |000b: move-result v0 │ │ -02ad40: 0f00 |000c: return v0 │ │ -02ad42: 5520 9f03 |000d: iget-boolean v0, v2, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039f │ │ -02ad46: 12f1 |000f: const/4 v1, #int -1 // #ff │ │ -02ad48: 3800 0300 |0010: if-eqz v0, 0013 // +0003 │ │ -02ad4c: 0f01 |0012: return v1 │ │ -02ad4e: 7010 c707 0200 |0013: invoke-direct {v2}, Lutil/http/HttpChunkedInputStream;.readNextChunk:()V // method@07c7 │ │ -02ad54: 5520 9f03 |0016: iget-boolean v0, v2, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039f │ │ -02ad58: 3800 0300 |0018: if-eqz v0, 001b // +0003 │ │ -02ad5c: 0f01 |001a: return v1 │ │ -02ad5e: 5420 9e03 |001b: iget-object v0, v2, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039e │ │ -02ad62: 6e10 bd04 0000 |001d: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.read:()I // method@04bd │ │ -02ad68: 0a00 |0020: move-result v0 │ │ -02ad6a: 0f00 |0021: return v0 │ │ +02ad14: |[02ad14] util.http.HttpChunkedInputStream.read:()I │ │ +02ad24: 6e10 c207 0200 |0000: invoke-virtual {v2}, Lutil/http/HttpChunkedInputStream;.available:()I // method@07c2 │ │ +02ad2a: 0a00 |0003: move-result v0 │ │ +02ad2c: 3800 0900 |0004: if-eqz v0, 000d // +0009 │ │ +02ad30: 5420 9e03 |0006: iget-object v0, v2, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039e │ │ +02ad34: 6e10 bd04 0000 |0008: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.read:()I // method@04bd │ │ +02ad3a: 0a00 |000b: move-result v0 │ │ +02ad3c: 0f00 |000c: return v0 │ │ +02ad3e: 5520 9f03 |000d: iget-boolean v0, v2, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039f │ │ +02ad42: 12f1 |000f: const/4 v1, #int -1 // #ff │ │ +02ad44: 3800 0300 |0010: if-eqz v0, 0013 // +0003 │ │ +02ad48: 0f01 |0012: return v1 │ │ +02ad4a: 7010 c707 0200 |0013: invoke-direct {v2}, Lutil/http/HttpChunkedInputStream;.readNextChunk:()V // method@07c7 │ │ +02ad50: 5520 9f03 |0016: iget-boolean v0, v2, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039f │ │ +02ad54: 3800 0300 |0018: if-eqz v0, 001b // +0003 │ │ +02ad58: 0f01 |001a: return v1 │ │ +02ad5a: 5420 9e03 |001b: iget-object v0, v2, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039e │ │ +02ad5e: 6e10 bd04 0000 |001d: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.read:()I // method@04bd │ │ +02ad64: 0a00 |0020: move-result v0 │ │ +02ad66: 0f00 |0021: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=24 │ │ 0x0006 line=25 │ │ 0x000d line=26 │ │ 0x0013 line=29 │ │ 0x0016 line=31 │ │ @@ -33553,20 +33553,20 @@ │ │ type : '([B)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 7 16-bit code units │ │ -02ad6c: |[02ad6c] util.http.HttpChunkedInputStream.read:([B)I │ │ -02ad7c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02ad7e: 2131 |0001: array-length v1, v3 │ │ -02ad80: 6e40 c607 3210 |0002: invoke-virtual {v2, v3, v0, v1}, Lutil/http/HttpChunkedInputStream;.read:([BII)I // method@07c6 │ │ -02ad86: 0a03 |0005: move-result v3 │ │ -02ad88: 0f03 |0006: return v3 │ │ +02ad68: |[02ad68] util.http.HttpChunkedInputStream.read:([B)I │ │ +02ad78: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02ad7a: 2131 |0001: array-length v1, v3 │ │ +02ad7c: 6e40 c607 3210 |0002: invoke-virtual {v2, v3, v0, v1}, Lutil/http/HttpChunkedInputStream;.read:([BII)I // method@07c6 │ │ +02ad82: 0a03 |0005: move-result v3 │ │ +02ad84: 0f03 |0006: return v3 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=55 │ │ locals : │ │ 0x0000 - 0x0007 reg=2 this Lutil/http/HttpChunkedInputStream; │ │ 0x0000 - 0x0007 reg=3 (null) [B │ │ │ │ @@ -33575,34 +33575,34 @@ │ │ type : '([BII)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 34 16-bit code units │ │ -02ad8c: |[02ad8c] util.http.HttpChunkedInputStream.read:([BII)I │ │ -02ad9c: 6e10 c207 0200 |0000: invoke-virtual {v2}, Lutil/http/HttpChunkedInputStream;.available:()I // method@07c2 │ │ -02ada2: 0a00 |0003: move-result v0 │ │ -02ada4: 3800 0900 |0004: if-eqz v0, 000d // +0009 │ │ -02ada8: 5420 9e03 |0006: iget-object v0, v2, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039e │ │ -02adac: 6e40 be04 3054 |0008: invoke-virtual {v0, v3, v4, v5}, Ljava/io/ByteArrayInputStream;.read:([BII)I // method@04be │ │ -02adb2: 0a03 |000b: move-result v3 │ │ -02adb4: 0f03 |000c: return v3 │ │ -02adb6: 5520 9f03 |000d: iget-boolean v0, v2, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039f │ │ -02adba: 12f1 |000f: const/4 v1, #int -1 // #ff │ │ -02adbc: 3800 0300 |0010: if-eqz v0, 0013 // +0003 │ │ -02adc0: 0f01 |0012: return v1 │ │ -02adc2: 7010 c707 0200 |0013: invoke-direct {v2}, Lutil/http/HttpChunkedInputStream;.readNextChunk:()V // method@07c7 │ │ -02adc8: 5520 9f03 |0016: iget-boolean v0, v2, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039f │ │ -02adcc: 3800 0300 |0018: if-eqz v0, 001b // +0003 │ │ -02add0: 0f01 |001a: return v1 │ │ -02add2: 5420 9e03 |001b: iget-object v0, v2, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039e │ │ -02add6: 6e40 be04 3054 |001d: invoke-virtual {v0, v3, v4, v5}, Ljava/io/ByteArrayInputStream;.read:([BII)I // method@04be │ │ -02addc: 0a03 |0020: move-result v3 │ │ -02adde: 0f03 |0021: return v3 │ │ +02ad88: |[02ad88] util.http.HttpChunkedInputStream.read:([BII)I │ │ +02ad98: 6e10 c207 0200 |0000: invoke-virtual {v2}, Lutil/http/HttpChunkedInputStream;.available:()I // method@07c2 │ │ +02ad9e: 0a00 |0003: move-result v0 │ │ +02ada0: 3800 0900 |0004: if-eqz v0, 000d // +0009 │ │ +02ada4: 5420 9e03 |0006: iget-object v0, v2, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039e │ │ +02ada8: 6e40 be04 3054 |0008: invoke-virtual {v0, v3, v4, v5}, Ljava/io/ByteArrayInputStream;.read:([BII)I // method@04be │ │ +02adae: 0a03 |000b: move-result v3 │ │ +02adb0: 0f03 |000c: return v3 │ │ +02adb2: 5520 9f03 |000d: iget-boolean v0, v2, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039f │ │ +02adb6: 12f1 |000f: const/4 v1, #int -1 // #ff │ │ +02adb8: 3800 0300 |0010: if-eqz v0, 0013 // +0003 │ │ +02adbc: 0f01 |0012: return v1 │ │ +02adbe: 7010 c707 0200 |0013: invoke-direct {v2}, Lutil/http/HttpChunkedInputStream;.readNextChunk:()V // method@07c7 │ │ +02adc4: 5520 9f03 |0016: iget-boolean v0, v2, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039f │ │ +02adc8: 3800 0300 |0018: if-eqz v0, 001b // +0003 │ │ +02adcc: 0f01 |001a: return v1 │ │ +02adce: 5420 9e03 |001b: iget-object v0, v2, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039e │ │ +02add2: 6e40 be04 3054 |001d: invoke-virtual {v0, v3, v4, v5}, Ljava/io/ByteArrayInputStream;.read:([BII)I // method@04be │ │ +02add8: 0a03 |0020: move-result v3 │ │ +02adda: 0f03 |0021: return v3 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=40 │ │ 0x0006 line=41 │ │ 0x000d line=42 │ │ 0x0013 line=45 │ │ 0x0016 line=47 │ │ @@ -33736,165 +33736,165 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 233 16-bit code units │ │ -02b3f8: |[02b3f8] util.http.HttpHeader.:()V │ │ -02b408: 1300 2700 |0000: const/16 v0, #int 39 // #27 │ │ -02b40c: 2300 a901 |0002: new-array v0, v0, [Ljava/lang/String; // type@01a9 │ │ -02b410: 1a01 f300 |0004: const-string v1, "Cache-Control" // string@00f3 │ │ -02b414: 1202 |0006: const/4 v2, #int 0 // #0 │ │ -02b416: 4d01 0002 |0007: aput-object v1, v0, v2 │ │ -02b41a: 1a01 1901 |0009: const-string v1, "Connection" // string@0119 │ │ -02b41e: 1212 |000b: const/4 v2, #int 1 // #1 │ │ -02b420: 4d01 0002 |000c: aput-object v1, v0, v2 │ │ -02b424: 1a01 6a01 |000e: const-string v1, "Date" // string@016a │ │ -02b428: 1222 |0010: const/4 v2, #int 2 // #2 │ │ -02b42a: 4d01 0002 |0011: aput-object v1, v0, v2 │ │ -02b42e: 1a01 1204 |0013: const-string v1, "Pragma" // string@0412 │ │ -02b432: 1232 |0015: const/4 v2, #int 3 // #3 │ │ -02b434: 4d01 0002 |0016: aput-object v1, v0, v2 │ │ -02b438: 1a01 7904 |0018: const-string v1, "Trailer" // string@0479 │ │ -02b43c: 1242 |001a: const/4 v2, #int 4 // #4 │ │ -02b43e: 4d01 0002 |001b: aput-object v1, v0, v2 │ │ -02b442: 1a01 7a04 |001d: const-string v1, "Transfer-Encoding" // string@047a │ │ -02b446: 1252 |001f: const/4 v2, #int 5 // #5 │ │ -02b448: 4d01 0002 |0020: aput-object v1, v0, v2 │ │ -02b44c: 1a01 8d04 |0022: const-string v1, "Upgrade" // string@048d │ │ -02b450: 1262 |0024: const/4 v2, #int 6 // #6 │ │ -02b452: 4d01 0002 |0025: aput-object v1, v0, v2 │ │ -02b456: 1a01 d204 |0027: const-string v1, "Via" // string@04d2 │ │ -02b45a: 1272 |0029: const/4 v2, #int 7 // #7 │ │ -02b45c: 4d01 0002 |002a: aput-object v1, v0, v2 │ │ -02b460: 1a01 dc04 |002c: const-string v1, "Warning" // string@04dc │ │ -02b464: 1302 0800 |002e: const/16 v2, #int 8 // #8 │ │ -02b468: 4d01 0002 |0030: aput-object v1, v0, v2 │ │ -02b46c: 1a01 bb00 |0032: const-string v1, "Accept" // string@00bb │ │ -02b470: 1302 0900 |0034: const/16 v2, #int 9 // #9 │ │ -02b474: 4d01 0002 |0036: aput-object v1, v0, v2 │ │ -02b478: 1a01 bc00 |0038: const-string v1, "Accept-Charset" // string@00bc │ │ -02b47c: 1302 0a00 |003a: const/16 v2, #int 10 // #a │ │ -02b480: 4d01 0002 |003c: aput-object v1, v0, v2 │ │ -02b484: 1a01 bd00 |003e: const-string v1, "Accept-Encoding" // string@00bd │ │ -02b488: 1302 0b00 |0040: const/16 v2, #int 11 // #b │ │ -02b48c: 4d01 0002 |0042: aput-object v1, v0, v2 │ │ -02b490: 1a01 be00 |0044: const-string v1, "Accept-Language" // string@00be │ │ -02b494: 1302 0c00 |0046: const/16 v2, #int 12 // #c │ │ -02b498: 4d01 0002 |0048: aput-object v1, v0, v2 │ │ -02b49c: 1a01 cb00 |004a: const-string v1, "Authorization" // string@00cb │ │ -02b4a0: 1302 0d00 |004c: const/16 v2, #int 13 // #d │ │ -02b4a4: 4d01 0002 |004e: aput-object v1, v0, v2 │ │ -02b4a8: 1a01 9c01 |0050: const-string v1, "Expect" // string@019c │ │ -02b4ac: 1302 0e00 |0052: const/16 v2, #int 14 // #e │ │ -02b4b0: 4d01 0002 |0054: aput-object v1, v0, v2 │ │ -02b4b4: 1a01 af01 |0056: const-string v1, "From" // string@01af │ │ -02b4b8: 1302 0f00 |0058: const/16 v2, #int 15 // #f │ │ -02b4bc: 4d01 0002 |005a: aput-object v1, v0, v2 │ │ -02b4c0: 1a01 bd01 |005c: const-string v1, "Host" // string@01bd │ │ -02b4c4: 1302 1000 |005e: const/16 v2, #int 16 // #10 │ │ -02b4c8: 4d01 0002 |0060: aput-object v1, v0, v2 │ │ -02b4cc: 1a01 e201 |0062: const-string v1, "If-Match" // string@01e2 │ │ -02b4d0: 1302 1100 |0064: const/16 v2, #int 17 // #11 │ │ -02b4d4: 4d01 0002 |0066: aput-object v1, v0, v2 │ │ -02b4d8: 1a01 e301 |0068: const-string v1, "If-Modified-Since" // string@01e3 │ │ -02b4dc: 1302 1200 |006a: const/16 v2, #int 18 // #12 │ │ -02b4e0: 4d01 0002 |006c: aput-object v1, v0, v2 │ │ -02b4e4: 1a01 e401 |006e: const-string v1, "If-None-Match" // string@01e4 │ │ -02b4e8: 1302 1300 |0070: const/16 v2, #int 19 // #13 │ │ -02b4ec: 4d01 0002 |0072: aput-object v1, v0, v2 │ │ -02b4f0: 1a01 e501 |0074: const-string v1, "If-Range" // string@01e5 │ │ -02b4f4: 1302 1400 |0076: const/16 v2, #int 20 // #14 │ │ -02b4f8: 4d01 0002 |0078: aput-object v1, v0, v2 │ │ -02b4fc: 1a01 e601 |007a: const-string v1, "If-Unmodified-Since" // string@01e6 │ │ -02b500: 1302 1500 |007c: const/16 v2, #int 21 // #15 │ │ -02b504: 4d01 0002 |007e: aput-object v1, v0, v2 │ │ -02b508: 1a01 d903 |0080: const-string v1, "Max-Forwards" // string@03d9 │ │ -02b50c: 1302 1600 |0082: const/16 v2, #int 22 // #16 │ │ -02b510: 4d01 0002 |0084: aput-object v1, v0, v2 │ │ -02b514: 1a01 1504 |0086: const-string v1, "Proxy-Authorization" // string@0415 │ │ -02b518: 1302 1700 |0088: const/16 v2, #int 23 // #17 │ │ -02b51c: 4d01 0002 |008a: aput-object v1, v0, v2 │ │ -02b520: 1a01 1e04 |008c: const-string v1, "Range" // string@041e │ │ -02b524: 1302 1800 |008e: const/16 v2, #int 24 // #18 │ │ -02b528: 4d01 0002 |0090: aput-object v1, v0, v2 │ │ -02b52c: 1a01 2804 |0092: const-string v1, "Referer" // string@0428 │ │ -02b530: 1302 1900 |0094: const/16 v2, #int 25 // #19 │ │ -02b534: 4d01 0002 |0096: aput-object v1, v0, v2 │ │ -02b538: 1a01 6604 |0098: const-string v1, "TE" // string@0466 │ │ -02b53c: 1302 1a00 |009a: const/16 v2, #int 26 // #1a │ │ -02b540: 4d01 0002 |009c: aput-object v1, v0, v2 │ │ -02b544: 1a01 8e04 |009e: const-string v1, "User-Agent" // string@048e │ │ -02b548: 1302 1b00 |00a0: const/16 v2, #int 27 // #1b │ │ -02b54c: 4d01 0002 |00a2: aput-object v1, v0, v2 │ │ -02b550: 1a01 c400 |00a4: const-string v1, "Allow" // string@00c4 │ │ -02b554: 1302 1c00 |00a6: const/16 v2, #int 28 // #1c │ │ -02b558: 4d01 0002 |00a8: aput-object v1, v0, v2 │ │ -02b55c: 1a01 1c01 |00aa: const-string v1, "Content-Encoding" // string@011c │ │ -02b560: 1302 1d00 |00ac: const/16 v2, #int 29 // #1d │ │ -02b564: 4d01 0002 |00ae: aput-object v1, v0, v2 │ │ -02b568: 1a01 1d01 |00b0: const-string v1, "Content-Language" // string@011d │ │ -02b56c: 1302 1e00 |00b2: const/16 v2, #int 30 // #1e │ │ -02b570: 4d01 0002 |00b4: aput-object v1, v0, v2 │ │ -02b574: 1a01 1e01 |00b6: const-string v1, "Content-Length" // string@011e │ │ -02b578: 1302 1f00 |00b8: const/16 v2, #int 31 // #1f │ │ -02b57c: 4d01 0002 |00ba: aput-object v1, v0, v2 │ │ -02b580: 1a01 1f01 |00bc: const-string v1, "Content-Location" // string@011f │ │ -02b584: 1302 2000 |00be: const/16 v2, #int 32 // #20 │ │ -02b588: 4d01 0002 |00c0: aput-object v1, v0, v2 │ │ -02b58c: 1a01 2001 |00c2: const-string v1, "Content-MD5" // string@0120 │ │ -02b590: 1302 2100 |00c4: const/16 v2, #int 33 // #21 │ │ -02b594: 4d01 0002 |00c6: aput-object v1, v0, v2 │ │ -02b598: 1a01 2101 |00c8: const-string v1, "Content-Range" // string@0121 │ │ -02b59c: 1302 2200 |00ca: const/16 v2, #int 34 // #22 │ │ -02b5a0: 4d01 0002 |00cc: aput-object v1, v0, v2 │ │ -02b5a4: 1a01 2201 |00ce: const-string v1, "Content-Type" // string@0122 │ │ -02b5a8: 1302 2300 |00d0: const/16 v2, #int 35 // #23 │ │ -02b5ac: 4d01 0002 |00d2: aput-object v1, v0, v2 │ │ -02b5b0: 1a01 9d01 |00d4: const-string v1, "Expires" // string@019d │ │ -02b5b4: 1302 2400 |00d6: const/16 v2, #int 36 // #24 │ │ -02b5b8: 4d01 0002 |00d8: aput-object v1, v0, v2 │ │ -02b5bc: 1a01 9b02 |00da: const-string v1, "Last-Modified" // string@029b │ │ -02b5c0: 1302 2500 |00dc: const/16 v2, #int 37 // #25 │ │ -02b5c4: 4d01 0002 |00de: aput-object v1, v0, v2 │ │ -02b5c8: 1a01 d106 |00e0: const-string v1, "extension-header" // string@06d1 │ │ -02b5cc: 1302 2600 |00e2: const/16 v2, #int 38 // #26 │ │ -02b5d0: 4d01 0002 |00e4: aput-object v1, v0, v2 │ │ -02b5d4: 6900 af03 |00e6: sput-object v0, Lutil/http/HttpHeader;.reqparamSequence:[Ljava/lang/String; // field@03af │ │ -02b5d8: 0e00 |00e8: return-void │ │ +02b3f4: |[02b3f4] util.http.HttpHeader.:()V │ │ +02b404: 1300 2700 |0000: const/16 v0, #int 39 // #27 │ │ +02b408: 2300 a901 |0002: new-array v0, v0, [Ljava/lang/String; // type@01a9 │ │ +02b40c: 1a01 f300 |0004: const-string v1, "Cache-Control" // string@00f3 │ │ +02b410: 1202 |0006: const/4 v2, #int 0 // #0 │ │ +02b412: 4d01 0002 |0007: aput-object v1, v0, v2 │ │ +02b416: 1a01 1901 |0009: const-string v1, "Connection" // string@0119 │ │ +02b41a: 1212 |000b: const/4 v2, #int 1 // #1 │ │ +02b41c: 4d01 0002 |000c: aput-object v1, v0, v2 │ │ +02b420: 1a01 6a01 |000e: const-string v1, "Date" // string@016a │ │ +02b424: 1222 |0010: const/4 v2, #int 2 // #2 │ │ +02b426: 4d01 0002 |0011: aput-object v1, v0, v2 │ │ +02b42a: 1a01 1204 |0013: const-string v1, "Pragma" // string@0412 │ │ +02b42e: 1232 |0015: const/4 v2, #int 3 // #3 │ │ +02b430: 4d01 0002 |0016: aput-object v1, v0, v2 │ │ +02b434: 1a01 7904 |0018: const-string v1, "Trailer" // string@0479 │ │ +02b438: 1242 |001a: const/4 v2, #int 4 // #4 │ │ +02b43a: 4d01 0002 |001b: aput-object v1, v0, v2 │ │ +02b43e: 1a01 7a04 |001d: const-string v1, "Transfer-Encoding" // string@047a │ │ +02b442: 1252 |001f: const/4 v2, #int 5 // #5 │ │ +02b444: 4d01 0002 |0020: aput-object v1, v0, v2 │ │ +02b448: 1a01 8d04 |0022: const-string v1, "Upgrade" // string@048d │ │ +02b44c: 1262 |0024: const/4 v2, #int 6 // #6 │ │ +02b44e: 4d01 0002 |0025: aput-object v1, v0, v2 │ │ +02b452: 1a01 d204 |0027: const-string v1, "Via" // string@04d2 │ │ +02b456: 1272 |0029: const/4 v2, #int 7 // #7 │ │ +02b458: 4d01 0002 |002a: aput-object v1, v0, v2 │ │ +02b45c: 1a01 dc04 |002c: const-string v1, "Warning" // string@04dc │ │ +02b460: 1302 0800 |002e: const/16 v2, #int 8 // #8 │ │ +02b464: 4d01 0002 |0030: aput-object v1, v0, v2 │ │ +02b468: 1a01 bb00 |0032: const-string v1, "Accept" // string@00bb │ │ +02b46c: 1302 0900 |0034: const/16 v2, #int 9 // #9 │ │ +02b470: 4d01 0002 |0036: aput-object v1, v0, v2 │ │ +02b474: 1a01 bc00 |0038: const-string v1, "Accept-Charset" // string@00bc │ │ +02b478: 1302 0a00 |003a: const/16 v2, #int 10 // #a │ │ +02b47c: 4d01 0002 |003c: aput-object v1, v0, v2 │ │ +02b480: 1a01 bd00 |003e: const-string v1, "Accept-Encoding" // string@00bd │ │ +02b484: 1302 0b00 |0040: const/16 v2, #int 11 // #b │ │ +02b488: 4d01 0002 |0042: aput-object v1, v0, v2 │ │ +02b48c: 1a01 be00 |0044: const-string v1, "Accept-Language" // string@00be │ │ +02b490: 1302 0c00 |0046: const/16 v2, #int 12 // #c │ │ +02b494: 4d01 0002 |0048: aput-object v1, v0, v2 │ │ +02b498: 1a01 cb00 |004a: const-string v1, "Authorization" // string@00cb │ │ +02b49c: 1302 0d00 |004c: const/16 v2, #int 13 // #d │ │ +02b4a0: 4d01 0002 |004e: aput-object v1, v0, v2 │ │ +02b4a4: 1a01 9c01 |0050: const-string v1, "Expect" // string@019c │ │ +02b4a8: 1302 0e00 |0052: const/16 v2, #int 14 // #e │ │ +02b4ac: 4d01 0002 |0054: aput-object v1, v0, v2 │ │ +02b4b0: 1a01 af01 |0056: const-string v1, "From" // string@01af │ │ +02b4b4: 1302 0f00 |0058: const/16 v2, #int 15 // #f │ │ +02b4b8: 4d01 0002 |005a: aput-object v1, v0, v2 │ │ +02b4bc: 1a01 bd01 |005c: const-string v1, "Host" // string@01bd │ │ +02b4c0: 1302 1000 |005e: const/16 v2, #int 16 // #10 │ │ +02b4c4: 4d01 0002 |0060: aput-object v1, v0, v2 │ │ +02b4c8: 1a01 e201 |0062: const-string v1, "If-Match" // string@01e2 │ │ +02b4cc: 1302 1100 |0064: const/16 v2, #int 17 // #11 │ │ +02b4d0: 4d01 0002 |0066: aput-object v1, v0, v2 │ │ +02b4d4: 1a01 e301 |0068: const-string v1, "If-Modified-Since" // string@01e3 │ │ +02b4d8: 1302 1200 |006a: const/16 v2, #int 18 // #12 │ │ +02b4dc: 4d01 0002 |006c: aput-object v1, v0, v2 │ │ +02b4e0: 1a01 e401 |006e: const-string v1, "If-None-Match" // string@01e4 │ │ +02b4e4: 1302 1300 |0070: const/16 v2, #int 19 // #13 │ │ +02b4e8: 4d01 0002 |0072: aput-object v1, v0, v2 │ │ +02b4ec: 1a01 e501 |0074: const-string v1, "If-Range" // string@01e5 │ │ +02b4f0: 1302 1400 |0076: const/16 v2, #int 20 // #14 │ │ +02b4f4: 4d01 0002 |0078: aput-object v1, v0, v2 │ │ +02b4f8: 1a01 e601 |007a: const-string v1, "If-Unmodified-Since" // string@01e6 │ │ +02b4fc: 1302 1500 |007c: const/16 v2, #int 21 // #15 │ │ +02b500: 4d01 0002 |007e: aput-object v1, v0, v2 │ │ +02b504: 1a01 d903 |0080: const-string v1, "Max-Forwards" // string@03d9 │ │ +02b508: 1302 1600 |0082: const/16 v2, #int 22 // #16 │ │ +02b50c: 4d01 0002 |0084: aput-object v1, v0, v2 │ │ +02b510: 1a01 1504 |0086: const-string v1, "Proxy-Authorization" // string@0415 │ │ +02b514: 1302 1700 |0088: const/16 v2, #int 23 // #17 │ │ +02b518: 4d01 0002 |008a: aput-object v1, v0, v2 │ │ +02b51c: 1a01 1e04 |008c: const-string v1, "Range" // string@041e │ │ +02b520: 1302 1800 |008e: const/16 v2, #int 24 // #18 │ │ +02b524: 4d01 0002 |0090: aput-object v1, v0, v2 │ │ +02b528: 1a01 2804 |0092: const-string v1, "Referer" // string@0428 │ │ +02b52c: 1302 1900 |0094: const/16 v2, #int 25 // #19 │ │ +02b530: 4d01 0002 |0096: aput-object v1, v0, v2 │ │ +02b534: 1a01 6604 |0098: const-string v1, "TE" // string@0466 │ │ +02b538: 1302 1a00 |009a: const/16 v2, #int 26 // #1a │ │ +02b53c: 4d01 0002 |009c: aput-object v1, v0, v2 │ │ +02b540: 1a01 8e04 |009e: const-string v1, "User-Agent" // string@048e │ │ +02b544: 1302 1b00 |00a0: const/16 v2, #int 27 // #1b │ │ +02b548: 4d01 0002 |00a2: aput-object v1, v0, v2 │ │ +02b54c: 1a01 c400 |00a4: const-string v1, "Allow" // string@00c4 │ │ +02b550: 1302 1c00 |00a6: const/16 v2, #int 28 // #1c │ │ +02b554: 4d01 0002 |00a8: aput-object v1, v0, v2 │ │ +02b558: 1a01 1c01 |00aa: const-string v1, "Content-Encoding" // string@011c │ │ +02b55c: 1302 1d00 |00ac: const/16 v2, #int 29 // #1d │ │ +02b560: 4d01 0002 |00ae: aput-object v1, v0, v2 │ │ +02b564: 1a01 1d01 |00b0: const-string v1, "Content-Language" // string@011d │ │ +02b568: 1302 1e00 |00b2: const/16 v2, #int 30 // #1e │ │ +02b56c: 4d01 0002 |00b4: aput-object v1, v0, v2 │ │ +02b570: 1a01 1e01 |00b6: const-string v1, "Content-Length" // string@011e │ │ +02b574: 1302 1f00 |00b8: const/16 v2, #int 31 // #1f │ │ +02b578: 4d01 0002 |00ba: aput-object v1, v0, v2 │ │ +02b57c: 1a01 1f01 |00bc: const-string v1, "Content-Location" // string@011f │ │ +02b580: 1302 2000 |00be: const/16 v2, #int 32 // #20 │ │ +02b584: 4d01 0002 |00c0: aput-object v1, v0, v2 │ │ +02b588: 1a01 2001 |00c2: const-string v1, "Content-MD5" // string@0120 │ │ +02b58c: 1302 2100 |00c4: const/16 v2, #int 33 // #21 │ │ +02b590: 4d01 0002 |00c6: aput-object v1, v0, v2 │ │ +02b594: 1a01 2101 |00c8: const-string v1, "Content-Range" // string@0121 │ │ +02b598: 1302 2200 |00ca: const/16 v2, #int 34 // #22 │ │ +02b59c: 4d01 0002 |00cc: aput-object v1, v0, v2 │ │ +02b5a0: 1a01 2201 |00ce: const-string v1, "Content-Type" // string@0122 │ │ +02b5a4: 1302 2300 |00d0: const/16 v2, #int 35 // #23 │ │ +02b5a8: 4d01 0002 |00d2: aput-object v1, v0, v2 │ │ +02b5ac: 1a01 9d01 |00d4: const-string v1, "Expires" // string@019d │ │ +02b5b0: 1302 2400 |00d6: const/16 v2, #int 36 // #24 │ │ +02b5b4: 4d01 0002 |00d8: aput-object v1, v0, v2 │ │ +02b5b8: 1a01 9b02 |00da: const-string v1, "Last-Modified" // string@029b │ │ +02b5bc: 1302 2500 |00dc: const/16 v2, #int 37 // #25 │ │ +02b5c0: 4d01 0002 |00de: aput-object v1, v0, v2 │ │ +02b5c4: 1a01 d106 |00e0: const-string v1, "extension-header" // string@06d1 │ │ +02b5c8: 1302 2600 |00e2: const/16 v2, #int 38 // #26 │ │ +02b5cc: 4d01 0002 |00e4: aput-object v1, v0, v2 │ │ +02b5d0: 6900 af03 |00e6: sput-object v0, Lutil/http/HttpHeader;.reqparamSequence:[Ljava/lang/String; // field@03af │ │ +02b5d4: 0e00 |00e8: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=37 │ │ locals : │ │ │ │ #1 : (in Lutil/http/HttpHeader;) │ │ name : '' │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 24 16-bit code units │ │ -02b5dc: |[02b5dc] util.http.HttpHeader.:()V │ │ -02b5ec: 7010 4f05 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@054f │ │ -02b5f2: 1a00 0000 |0003: const-string v0, "" // string@0000 │ │ -02b5f6: 5b10 ad03 |0005: iput-object v0, v1, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03ad │ │ -02b5fa: 1240 |0007: const/4 v0, #int 4 // #4 │ │ -02b5fc: 5910 ac03 |0008: iput v0, v1, Lutil/http/HttpHeader;.protocoll:I // field@03ac │ │ -02b600: 1200 |000a: const/4 v0, #int 0 // #0 │ │ -02b602: 5910 ae03 |000b: iput v0, v1, Lutil/http/HttpHeader;.remote_port:I // field@03ae │ │ -02b606: 5c10 b103 |000d: iput-boolean v0, v1, Lutil/http/HttpHeader;.tunnelMode:Z // field@03b1 │ │ -02b60a: 12f0 |000f: const/4 v0, #int -1 // #ff │ │ -02b60c: 5910 b003 |0010: iput v0, v1, Lutil/http/HttpHeader;.responsecode:I // field@03b0 │ │ -02b610: 1200 |0012: const/4 v0, #int 0 // #0 │ │ -02b612: 5b10 a803 |0013: iput-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a8 │ │ -02b616: 5b10 a903 |0015: iput-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ -02b61a: 0e00 |0017: return-void │ │ +02b5d8: |[02b5d8] util.http.HttpHeader.:()V │ │ +02b5e8: 7010 4f05 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@054f │ │ +02b5ee: 1a00 0000 |0003: const-string v0, "" // string@0000 │ │ +02b5f2: 5b10 ad03 |0005: iput-object v0, v1, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03ad │ │ +02b5f6: 1240 |0007: const/4 v0, #int 4 // #4 │ │ +02b5f8: 5910 ac03 |0008: iput v0, v1, Lutil/http/HttpHeader;.protocoll:I // field@03ac │ │ +02b5fc: 1200 |000a: const/4 v0, #int 0 // #0 │ │ +02b5fe: 5910 ae03 |000b: iput v0, v1, Lutil/http/HttpHeader;.remote_port:I // field@03ae │ │ +02b602: 5c10 b103 |000d: iput-boolean v0, v1, Lutil/http/HttpHeader;.tunnelMode:Z // field@03b1 │ │ +02b606: 12f0 |000f: const/4 v0, #int -1 // #ff │ │ +02b608: 5910 b003 |0010: iput v0, v1, Lutil/http/HttpHeader;.responsecode:I // field@03b0 │ │ +02b60c: 1200 |0012: const/4 v0, #int 0 // #0 │ │ +02b60e: 5b10 a803 |0013: iput-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a8 │ │ +02b612: 5b10 a903 |0015: iput-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ +02b616: 0e00 |0017: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=154 │ │ 0x0003 line=50 │ │ 0x0008 line=54 │ │ 0x000b line=55 │ │ 0x000d line=57 │ │ @@ -33909,36 +33909,36 @@ │ │ type : '(I)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 40 16-bit code units │ │ -02b61c: |[02b61c] util.http.HttpHeader.:(I)V │ │ -02b62c: 7010 4f05 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@054f │ │ -02b632: 1a00 0000 |0003: const-string v0, "" // string@0000 │ │ -02b636: 5b10 ad03 |0005: iput-object v0, v1, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03ad │ │ -02b63a: 1240 |0007: const/4 v0, #int 4 // #4 │ │ -02b63c: 5910 ac03 |0008: iput v0, v1, Lutil/http/HttpHeader;.protocoll:I // field@03ac │ │ -02b640: 1200 |000a: const/4 v0, #int 0 // #0 │ │ -02b642: 5910 ae03 |000b: iput v0, v1, Lutil/http/HttpHeader;.remote_port:I // field@03ae │ │ -02b646: 5c10 b103 |000d: iput-boolean v0, v1, Lutil/http/HttpHeader;.tunnelMode:Z // field@03b1 │ │ -02b64a: 12f0 |000f: const/4 v0, #int -1 // #ff │ │ -02b64c: 5910 b003 |0010: iput v0, v1, Lutil/http/HttpHeader;.responsecode:I // field@03b0 │ │ -02b650: 1200 |0012: const/4 v0, #int 0 // #0 │ │ -02b652: 5b10 a803 |0013: iput-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a8 │ │ -02b656: 5b10 a903 |0015: iput-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ -02b65a: 2200 6601 |0017: new-instance v0, Ljava/util/Vector; // type@0166 │ │ -02b65e: 7010 5606 0000 |0019: invoke-direct {v0}, Ljava/util/Vector;.:()V // method@0656 │ │ -02b664: 5b10 a803 |001c: iput-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a8 │ │ -02b668: 2200 5401 |001e: new-instance v0, Ljava/util/HashMap; // type@0154 │ │ -02b66c: 7010 0506 0000 |0020: invoke-direct {v0}, Ljava/util/HashMap;.:()V // method@0605 │ │ -02b672: 5b10 a903 |0023: iput-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ -02b676: 5912 b203 |0025: iput v2, v1, Lutil/http/HttpHeader;.type:I // field@03b2 │ │ -02b67a: 0e00 |0027: return-void │ │ +02b618: |[02b618] util.http.HttpHeader.:(I)V │ │ +02b628: 7010 4f05 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@054f │ │ +02b62e: 1a00 0000 |0003: const-string v0, "" // string@0000 │ │ +02b632: 5b10 ad03 |0005: iput-object v0, v1, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03ad │ │ +02b636: 1240 |0007: const/4 v0, #int 4 // #4 │ │ +02b638: 5910 ac03 |0008: iput v0, v1, Lutil/http/HttpHeader;.protocoll:I // field@03ac │ │ +02b63c: 1200 |000a: const/4 v0, #int 0 // #0 │ │ +02b63e: 5910 ae03 |000b: iput v0, v1, Lutil/http/HttpHeader;.remote_port:I // field@03ae │ │ +02b642: 5c10 b103 |000d: iput-boolean v0, v1, Lutil/http/HttpHeader;.tunnelMode:Z // field@03b1 │ │ +02b646: 12f0 |000f: const/4 v0, #int -1 // #ff │ │ +02b648: 5910 b003 |0010: iput v0, v1, Lutil/http/HttpHeader;.responsecode:I // field@03b0 │ │ +02b64c: 1200 |0012: const/4 v0, #int 0 // #0 │ │ +02b64e: 5b10 a803 |0013: iput-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a8 │ │ +02b652: 5b10 a903 |0015: iput-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ +02b656: 2200 6601 |0017: new-instance v0, Ljava/util/Vector; // type@0166 │ │ +02b65a: 7010 5606 0000 |0019: invoke-direct {v0}, Ljava/util/Vector;.:()V // method@0656 │ │ +02b660: 5b10 a803 |001c: iput-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a8 │ │ +02b664: 2200 5401 |001e: new-instance v0, Ljava/util/HashMap; // type@0154 │ │ +02b668: 7010 0506 0000 |0020: invoke-direct {v0}, Ljava/util/HashMap;.:()V // method@0605 │ │ +02b66e: 5b10 a903 |0023: iput-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ +02b672: 5912 b203 |0025: iput v2, v1, Lutil/http/HttpHeader;.type:I // field@03b2 │ │ +02b676: 0e00 |0027: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=144 │ │ 0x0003 line=50 │ │ 0x0008 line=54 │ │ 0x000b line=55 │ │ 0x000d line=57 │ │ @@ -33957,227 +33957,227 @@ │ │ type : '(Ljava/io/InputStream;I)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 13 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 435 16-bit code units │ │ -02b67c: |[02b67c] util.http.HttpHeader.:(Ljava/io/InputStream;I)V │ │ -02b68c: 1a00 b601 |0000: const-string v0, "HTTP/1.1 " // string@01b6 │ │ -02b690: 7010 4f05 0a00 |0002: invoke-direct {v10}, Ljava/lang/Object;.:()V // method@054f │ │ -02b696: 1a01 0000 |0005: const-string v1, "" // string@0000 │ │ -02b69a: 5ba1 ad03 |0007: iput-object v1, v10, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03ad │ │ -02b69e: 1242 |0009: const/4 v2, #int 4 // #4 │ │ -02b6a0: 59a2 ac03 |000a: iput v2, v10, Lutil/http/HttpHeader;.protocoll:I // field@03ac │ │ -02b6a4: 1202 |000c: const/4 v2, #int 0 // #0 │ │ -02b6a6: 59a2 ae03 |000d: iput v2, v10, Lutil/http/HttpHeader;.remote_port:I // field@03ae │ │ -02b6aa: 5ca2 b103 |000f: iput-boolean v2, v10, Lutil/http/HttpHeader;.tunnelMode:Z // field@03b1 │ │ -02b6ae: 12f3 |0011: const/4 v3, #int -1 // #ff │ │ -02b6b0: 59a3 b003 |0012: iput v3, v10, Lutil/http/HttpHeader;.responsecode:I // field@03b0 │ │ -02b6b4: 1204 |0014: const/4 v4, #int 0 // #0 │ │ -02b6b6: 5ba4 a803 |0015: iput-object v4, v10, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a8 │ │ -02b6ba: 5ba4 a903 |0017: iput-object v4, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ -02b6be: 2204 6601 |0019: new-instance v4, Ljava/util/Vector; // type@0166 │ │ -02b6c2: 7010 5606 0400 |001b: invoke-direct {v4}, Ljava/util/Vector;.:()V // method@0656 │ │ -02b6c8: 5ba4 a803 |001e: iput-object v4, v10, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a8 │ │ -02b6cc: 2204 5401 |0020: new-instance v4, Ljava/util/HashMap; // type@0154 │ │ -02b6d0: 7010 0506 0400 |0022: invoke-direct {v4}, Ljava/util/HashMap;.:()V // method@0605 │ │ -02b6d6: 5ba4 a903 |0025: iput-object v4, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ -02b6da: 1214 |0027: const/4 v4, #int 1 // #1 │ │ -02b6dc: 324c 0e00 |0028: if-eq v12, v4, 0036 // +000e │ │ -02b6e0: 1225 |002a: const/4 v5, #int 2 // #2 │ │ -02b6e2: 335c 0300 |002b: if-ne v12, v5, 002e // +0003 │ │ -02b6e6: 2809 |002d: goto 0036 // +0009 │ │ -02b6e8: 220b fb00 |002e: new-instance v11, Ljava/io/IOException; // type@00fb │ │ -02b6ec: 1a0c d501 |0030: const-string v12, "INVALID TYPE!" // string@01d5 │ │ -02b6f0: 7020 fb04 cb00 |0032: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -02b6f6: 270b |0035: throw v11 │ │ -02b6f8: 59ac b203 |0036: iput v12, v10, Lutil/http/HttpHeader;.type:I // field@03b2 │ │ -02b6fc: 7120 7a07 4b00 |0038: invoke-static {v11, v4}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@077a │ │ -02b702: 0c05 |003b: move-result-object v5 │ │ -02b704: 5ba5 a703 |003c: iput-object v5, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ -02b708: 6e20 6705 1500 |003e: invoke-virtual {v5, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -02b70e: 0a05 |0041: move-result v5 │ │ -02b710: 3905 6701 |0042: if-nez v5, 01a9 // +0167 │ │ -02b714: 1a05 bd01 |0044: const-string v5, "Host" // string@01bd │ │ -02b718: 334c 0d00 |0046: if-ne v12, v4, 0053 // +000d │ │ -02b71c: 7010 da07 0a00 |0048: invoke-direct {v10}, Lutil/http/HttpHeader;.parseURI:()V // method@07da │ │ -02b722: 54a0 aa03 |004b: iget-object v0, v10, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ -02b726: 3800 4b00 |004d: if-eqz v0, 0098 // +004b │ │ -02b72a: 6e30 de07 5a00 |004f: invoke-virtual {v10, v5, v0}, Lutil/http/HttpHeader;.setValue:(Ljava/lang/String;Ljava/lang/String;)V // method@07de │ │ -02b730: 2846 |0052: goto 0098 // +0046 │ │ -02b732: 54a6 a703 |0053: iget-object v6, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ -02b736: 6e10 7005 0600 |0055: invoke-virtual {v6}, Ljava/lang/String;.length:()I // method@0570 │ │ -02b73c: 0a06 |0058: move-result v6 │ │ -02b73e: 1a07 fd01 |0059: const-string v7, "Invalid response header:" // string@01fd │ │ -02b742: 1308 0c00 |005b: const/16 v8, #int 12 // #c │ │ -02b746: 3486 3801 |005d: if-lt v6, v8, 0195 // +0138 │ │ -02b74a: 54a6 a703 |005f: iget-object v6, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ -02b74e: 6e30 7705 2608 |0061: invoke-virtual {v6, v2, v8}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@0577 │ │ -02b754: 0c06 |0064: move-result-object v6 │ │ -02b756: 6e10 7805 0600 |0065: invoke-virtual {v6}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@0578 │ │ -02b75c: 0c06 |0068: move-result-object v6 │ │ -02b75e: 1a09 0d08 |0069: const-string v9, "http/" // string@080d │ │ -02b762: 6e20 7505 9600 |006b: invoke-virtual {v6, v9}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ -02b768: 0a06 |006e: move-result v6 │ │ -02b76a: 3806 1201 |006f: if-eqz v6, 0181 // +0112 │ │ -02b76e: 54a6 a703 |0071: iget-object v6, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ -02b772: 1307 0900 |0073: const/16 v7, #int 9 // #9 │ │ -02b776: 6e30 7705 7608 |0075: invoke-virtual {v6, v7, v8}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@0577 │ │ -02b77c: 0c06 |0078: move-result-object v6 │ │ -02b77e: 7110 4105 0600 |0079: invoke-static {v6}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ -02b784: 0a06 |007c: move-result v6 │ │ -02b786: 59a6 b003 |007d: iput v6, v10, Lutil/http/HttpHeader;.responsecode:I // field@03b0 │ │ -02b78a: 2206 2801 |007f: new-instance v6, Ljava/lang/StringBuilder; // type@0128 │ │ -02b78e: 7020 8405 0600 |0081: invoke-direct {v6, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -02b794: 52a0 b003 |0084: iget v0, v10, Lutil/http/HttpHeader;.responsecode:I // field@03b0 │ │ -02b798: 6e20 8605 0600 |0086: invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -02b79e: 54a0 a703 |0089: iget-object v0, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ -02b7a2: 6e20 7605 8000 |008b: invoke-virtual {v0, v8}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@0576 │ │ -02b7a8: 0c00 |008e: move-result-object v0 │ │ -02b7aa: 6e20 8905 0600 |008f: invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02b7b0: 6e10 8b05 0600 |0092: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02b7b6: 0c00 |0095: move-result-object v0 │ │ -02b7b8: 5ba0 a703 |0096: iput-object v0, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ -02b7bc: 7120 7a07 4b00 |0098: invoke-static {v11, v4}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@077a │ │ -02b7c2: 0c00 |009b: move-result-object v0 │ │ -02b7c4: 6e20 6705 1000 |009c: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -02b7ca: 0a06 |009f: move-result v6 │ │ -02b7cc: 3906 bb00 |00a0: if-nez v6, 015b // +00bb │ │ -02b7d0: 1a06 8700 |00a2: const-string v6, ": " // string@0087 │ │ -02b7d4: 6e20 6c05 6000 |00a4: invoke-virtual {v0, v6}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@056c │ │ -02b7da: 0a06 |00a7: move-result v6 │ │ -02b7dc: 3336 3100 |00a8: if-ne v6, v3, 00d9 // +0031 │ │ -02b7e0: 1a06 8500 |00aa: const-string v6, ":" // string@0085 │ │ -02b7e4: 6e20 6c05 6000 |00ac: invoke-virtual {v0, v6}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@056c │ │ -02b7ea: 0a06 |00af: move-result v6 │ │ -02b7ec: 3236 1500 |00b0: if-eq v6, v3, 00c5 // +0015 │ │ -02b7f0: 6e30 7705 2006 |00b2: invoke-virtual {v0, v2, v6}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@0577 │ │ -02b7f6: 0c07 |00b5: move-result-object v7 │ │ -02b7f8: 6e10 7c05 0700 |00b6: invoke-virtual {v7}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -02b7fe: 0c07 |00b9: move-result-object v7 │ │ -02b800: d806 0601 |00ba: add-int/lit8 v6, v6, #int 1 // #01 │ │ -02b804: 6e20 7605 6000 |00bc: invoke-virtual {v0, v6}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@0576 │ │ -02b80a: 0c00 |00bf: move-result-object v0 │ │ -02b80c: 6e10 7c05 0000 |00c0: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -02b812: 0c00 |00c3: move-result-object v0 │ │ -02b814: 2827 |00c4: goto 00eb // +0027 │ │ -02b816: 220b fb00 |00c5: new-instance v11, Ljava/io/IOException; // type@00fb │ │ -02b81a: 220c 2801 |00c7: new-instance v12, Ljava/lang/StringBuilder; // type@0128 │ │ -02b81e: 1a01 f601 |00c9: const-string v1, "Invalid header:" // string@01f6 │ │ -02b822: 7020 8405 1c00 |00cb: invoke-direct {v12, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -02b828: 6e20 8905 0c00 |00ce: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02b82e: 6e10 8b05 0c00 |00d1: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02b834: 0c0c |00d4: move-result-object v12 │ │ -02b836: 7020 fb04 cb00 |00d5: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -02b83c: 270b |00d8: throw v11 │ │ -02b83e: 6e30 7705 2006 |00d9: invoke-virtual {v0, v2, v6}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@0577 │ │ -02b844: 0c07 |00dc: move-result-object v7 │ │ -02b846: 6e10 7c05 0700 |00dd: invoke-virtual {v7}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -02b84c: 0c07 |00e0: move-result-object v7 │ │ -02b84e: d806 0602 |00e1: add-int/lit8 v6, v6, #int 2 // #02 │ │ -02b852: 6e20 7605 6000 |00e3: invoke-virtual {v0, v6}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@0576 │ │ -02b858: 0c00 |00e6: move-result-object v0 │ │ -02b85a: 6e10 7c05 0000 |00e7: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -02b860: 0c00 |00ea: move-result-object v0 │ │ -02b862: 6e10 7a05 0700 |00eb: invoke-virtual {v7}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ -02b868: 0c06 |00ee: move-result-object v6 │ │ -02b86a: 54a8 a903 |00ef: iget-object v8, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ -02b86e: 6e20 0906 6800 |00f1: invoke-virtual {v8, v6}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0609 │ │ -02b874: 0c08 |00f4: move-result-object v8 │ │ -02b876: 1f08 2601 |00f5: check-cast v8, Ljava/lang/String; // type@0126 │ │ -02b87a: 3908 0d00 |00f7: if-nez v8, 0104 // +000d │ │ -02b87e: 54a8 a803 |00f9: iget-object v8, v10, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a8 │ │ -02b882: 6e20 5806 7800 |00fb: invoke-virtual {v8, v7}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0658 │ │ -02b888: 54a7 a903 |00fe: iget-object v7, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ -02b88c: 6e30 0a06 6700 |0100: invoke-virtual {v7, v6, v0}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@060a │ │ -02b892: 2831 |0103: goto 0134 // +0031 │ │ -02b894: 1a07 ef00 |0104: const-string v7, "CONTENT-LENGTH" // string@00ef │ │ -02b898: 6e20 6705 7600 |0106: invoke-virtual {v6, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -02b89e: 0a07 |0109: move-result v7 │ │ -02b8a0: 3907 2400 |010a: if-nez v7, 012e // +0024 │ │ -02b8a4: 1a07 b401 |010c: const-string v7, "HOST" // string@01b4 │ │ -02b8a8: 6e20 6705 7600 |010e: invoke-virtual {v6, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -02b8ae: 0a07 |0111: move-result v7 │ │ -02b8b0: 3907 2200 |0112: if-nez v7, 0134 // +0022 │ │ -02b8b4: 54a7 a903 |0114: iget-object v7, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ -02b8b8: 2209 2801 |0116: new-instance v9, Ljava/lang/StringBuilder; // type@0128 │ │ -02b8bc: 7010 8305 0900 |0118: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -02b8c2: 6e20 8905 8900 |011b: invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02b8c8: 1a08 0f05 |011e: const-string v8, "_,_" // string@050f │ │ -02b8cc: 6e20 8905 8900 |0120: invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02b8d2: 6e20 8905 0900 |0123: invoke-virtual {v9, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02b8d8: 6e10 8b05 0900 |0126: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02b8de: 0c00 |0129: move-result-object v0 │ │ -02b8e0: 6e30 0a06 6700 |012a: invoke-virtual {v7, v6, v0}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@060a │ │ -02b8e6: 2807 |012d: goto 0134 // +0007 │ │ -02b8e8: 6e20 6705 0800 |012e: invoke-virtual {v8, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -02b8ee: 0a06 |0131: move-result v6 │ │ -02b8f0: 3806 0800 |0132: if-eqz v6, 013a // +0008 │ │ -02b8f4: 7120 7a07 4b00 |0134: invoke-static {v11, v4}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@077a │ │ -02b8fa: 0c00 |0137: move-result-object v0 │ │ -02b8fc: 2900 64ff |0138: goto/16 009c // -009c │ │ -02b900: 220b fb00 |013a: new-instance v11, Ljava/io/IOException; // type@00fb │ │ -02b904: 220c 2801 |013c: new-instance v12, Ljava/lang/StringBuilder; // type@0128 │ │ -02b908: 1a01 f501 |013e: const-string v1, "Invalid header! Duplicated Content-Length with different values:" // string@01f5 │ │ -02b90c: 7020 8405 1c00 |0140: invoke-direct {v12, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -02b912: 6e20 8905 8c00 |0143: invoke-virtual {v12, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02b918: 1a01 9500 |0146: const-string v1, "<>" // string@0095 │ │ -02b91c: 6e20 8905 1c00 |0148: invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02b922: 6e20 8905 0c00 |014b: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02b928: 1a00 2a00 |014e: const-string v0, "!" // string@002a │ │ -02b92c: 6e20 8905 0c00 |0150: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02b932: 6e10 8b05 0c00 |0153: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02b938: 0c0c |0156: move-result-object v12 │ │ -02b93a: 7020 fb04 cb00 |0157: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -02b940: 270b |015a: throw v11 │ │ -02b942: 54ab aa03 |015b: iget-object v11, v10, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ -02b946: 390b 1800 |015d: if-nez v11, 0175 // +0018 │ │ -02b94a: 334c 1600 |015f: if-ne v12, v4, 0175 // +0016 │ │ -02b94e: 6e20 d807 5a00 |0161: invoke-virtual {v10, v5}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07d8 │ │ -02b954: 0c0b |0164: move-result-object v11 │ │ -02b956: 5bab aa03 |0165: iput-object v11, v10, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ -02b95a: 380b 0600 |0167: if-eqz v11, 016d // +0006 │ │ -02b95e: 7010 d907 0a00 |0169: invoke-direct {v10}, Lutil/http/HttpHeader;.parseHostEntry:()V // method@07d9 │ │ -02b964: 2809 |016c: goto 0175 // +0009 │ │ -02b966: 220b fb00 |016d: new-instance v11, Ljava/io/IOException; // type@00fb │ │ -02b96a: 1a0c d800 |016f: const-string v12, "Bad request - No host specified!" // string@00d8 │ │ -02b96e: 7020 fb04 cb00 |0171: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -02b974: 270b |0174: throw v11 │ │ -02b976: 0e00 |0175: return-void │ │ -02b978: 0d0b |0176: move-exception v11 │ │ -02b97a: 220c fb00 |0177: new-instance v12, Ljava/io/IOException; // type@00fb │ │ -02b97e: 6e10 3705 0b00 |0179: invoke-virtual {v11}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@0537 │ │ -02b984: 0c0b |017c: move-result-object v11 │ │ -02b986: 7020 fb04 bc00 |017d: invoke-direct {v12, v11}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -02b98c: 270c |0180: throw v12 │ │ -02b98e: 220b fb00 |0181: new-instance v11, Ljava/io/IOException; // type@00fb │ │ -02b992: 220c 2801 |0183: new-instance v12, Ljava/lang/StringBuilder; // type@0128 │ │ -02b996: 7020 8405 7c00 |0185: invoke-direct {v12, v7}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -02b99c: 54a0 a703 |0188: iget-object v0, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ -02b9a0: 6e20 8905 0c00 |018a: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02b9a6: 6e10 8b05 0c00 |018d: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02b9ac: 0c0c |0190: move-result-object v12 │ │ -02b9ae: 7020 fb04 cb00 |0191: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -02b9b4: 270b |0194: throw v11 │ │ -02b9b6: 220b fb00 |0195: new-instance v11, Ljava/io/IOException; // type@00fb │ │ -02b9ba: 220c 2801 |0197: new-instance v12, Ljava/lang/StringBuilder; // type@0128 │ │ -02b9be: 7020 8405 7c00 |0199: invoke-direct {v12, v7}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -02b9c4: 54a0 a703 |019c: iget-object v0, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ -02b9c8: 6e20 8905 0c00 |019e: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02b9ce: 6e10 8b05 0c00 |01a1: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02b9d4: 0c0c |01a4: move-result-object v12 │ │ -02b9d6: 7020 fb04 cb00 |01a5: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -02b9dc: 270b |01a8: throw v11 │ │ -02b9de: 220b f500 |01a9: new-instance v11, Ljava/io/EOFException; // type@00f5 │ │ -02b9e2: 1a0c c001 |01ab: const-string v12, "HttpHeader failed to read! No Data!" // string@01c0 │ │ -02b9e6: 7020 d904 cb00 |01ad: invoke-direct {v11, v12}, Ljava/io/EOFException;.:(Ljava/lang/String;)V // method@04d9 │ │ -02b9ec: 2802 |01b0: goto 01b2 // +0002 │ │ -02b9ee: 270b |01b1: throw v11 │ │ -02b9f0: 28ff |01b2: goto 01b1 // -0001 │ │ +02b678: |[02b678] util.http.HttpHeader.:(Ljava/io/InputStream;I)V │ │ +02b688: 1a00 b601 |0000: const-string v0, "HTTP/1.1 " // string@01b6 │ │ +02b68c: 7010 4f05 0a00 |0002: invoke-direct {v10}, Ljava/lang/Object;.:()V // method@054f │ │ +02b692: 1a01 0000 |0005: const-string v1, "" // string@0000 │ │ +02b696: 5ba1 ad03 |0007: iput-object v1, v10, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03ad │ │ +02b69a: 1242 |0009: const/4 v2, #int 4 // #4 │ │ +02b69c: 59a2 ac03 |000a: iput v2, v10, Lutil/http/HttpHeader;.protocoll:I // field@03ac │ │ +02b6a0: 1202 |000c: const/4 v2, #int 0 // #0 │ │ +02b6a2: 59a2 ae03 |000d: iput v2, v10, Lutil/http/HttpHeader;.remote_port:I // field@03ae │ │ +02b6a6: 5ca2 b103 |000f: iput-boolean v2, v10, Lutil/http/HttpHeader;.tunnelMode:Z // field@03b1 │ │ +02b6aa: 12f3 |0011: const/4 v3, #int -1 // #ff │ │ +02b6ac: 59a3 b003 |0012: iput v3, v10, Lutil/http/HttpHeader;.responsecode:I // field@03b0 │ │ +02b6b0: 1204 |0014: const/4 v4, #int 0 // #0 │ │ +02b6b2: 5ba4 a803 |0015: iput-object v4, v10, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a8 │ │ +02b6b6: 5ba4 a903 |0017: iput-object v4, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ +02b6ba: 2204 6601 |0019: new-instance v4, Ljava/util/Vector; // type@0166 │ │ +02b6be: 7010 5606 0400 |001b: invoke-direct {v4}, Ljava/util/Vector;.:()V // method@0656 │ │ +02b6c4: 5ba4 a803 |001e: iput-object v4, v10, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a8 │ │ +02b6c8: 2204 5401 |0020: new-instance v4, Ljava/util/HashMap; // type@0154 │ │ +02b6cc: 7010 0506 0400 |0022: invoke-direct {v4}, Ljava/util/HashMap;.:()V // method@0605 │ │ +02b6d2: 5ba4 a903 |0025: iput-object v4, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ +02b6d6: 1214 |0027: const/4 v4, #int 1 // #1 │ │ +02b6d8: 324c 0e00 |0028: if-eq v12, v4, 0036 // +000e │ │ +02b6dc: 1225 |002a: const/4 v5, #int 2 // #2 │ │ +02b6de: 335c 0300 |002b: if-ne v12, v5, 002e // +0003 │ │ +02b6e2: 2809 |002d: goto 0036 // +0009 │ │ +02b6e4: 220b fb00 |002e: new-instance v11, Ljava/io/IOException; // type@00fb │ │ +02b6e8: 1a0c d501 |0030: const-string v12, "INVALID TYPE!" // string@01d5 │ │ +02b6ec: 7020 fb04 cb00 |0032: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +02b6f2: 270b |0035: throw v11 │ │ +02b6f4: 59ac b203 |0036: iput v12, v10, Lutil/http/HttpHeader;.type:I // field@03b2 │ │ +02b6f8: 7120 7a07 4b00 |0038: invoke-static {v11, v4}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@077a │ │ +02b6fe: 0c05 |003b: move-result-object v5 │ │ +02b700: 5ba5 a703 |003c: iput-object v5, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ +02b704: 6e20 6705 1500 |003e: invoke-virtual {v5, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +02b70a: 0a05 |0041: move-result v5 │ │ +02b70c: 3905 6701 |0042: if-nez v5, 01a9 // +0167 │ │ +02b710: 1a05 bd01 |0044: const-string v5, "Host" // string@01bd │ │ +02b714: 334c 0d00 |0046: if-ne v12, v4, 0053 // +000d │ │ +02b718: 7010 da07 0a00 |0048: invoke-direct {v10}, Lutil/http/HttpHeader;.parseURI:()V // method@07da │ │ +02b71e: 54a0 aa03 |004b: iget-object v0, v10, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ +02b722: 3800 4b00 |004d: if-eqz v0, 0098 // +004b │ │ +02b726: 6e30 de07 5a00 |004f: invoke-virtual {v10, v5, v0}, Lutil/http/HttpHeader;.setValue:(Ljava/lang/String;Ljava/lang/String;)V // method@07de │ │ +02b72c: 2846 |0052: goto 0098 // +0046 │ │ +02b72e: 54a6 a703 |0053: iget-object v6, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ +02b732: 6e10 7005 0600 |0055: invoke-virtual {v6}, Ljava/lang/String;.length:()I // method@0570 │ │ +02b738: 0a06 |0058: move-result v6 │ │ +02b73a: 1a07 fd01 |0059: const-string v7, "Invalid response header:" // string@01fd │ │ +02b73e: 1308 0c00 |005b: const/16 v8, #int 12 // #c │ │ +02b742: 3486 3801 |005d: if-lt v6, v8, 0195 // +0138 │ │ +02b746: 54a6 a703 |005f: iget-object v6, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ +02b74a: 6e30 7705 2608 |0061: invoke-virtual {v6, v2, v8}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@0577 │ │ +02b750: 0c06 |0064: move-result-object v6 │ │ +02b752: 6e10 7805 0600 |0065: invoke-virtual {v6}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@0578 │ │ +02b758: 0c06 |0068: move-result-object v6 │ │ +02b75a: 1a09 0d08 |0069: const-string v9, "http/" // string@080d │ │ +02b75e: 6e20 7505 9600 |006b: invoke-virtual {v6, v9}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ +02b764: 0a06 |006e: move-result v6 │ │ +02b766: 3806 1201 |006f: if-eqz v6, 0181 // +0112 │ │ +02b76a: 54a6 a703 |0071: iget-object v6, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ +02b76e: 1307 0900 |0073: const/16 v7, #int 9 // #9 │ │ +02b772: 6e30 7705 7608 |0075: invoke-virtual {v6, v7, v8}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@0577 │ │ +02b778: 0c06 |0078: move-result-object v6 │ │ +02b77a: 7110 4105 0600 |0079: invoke-static {v6}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ +02b780: 0a06 |007c: move-result v6 │ │ +02b782: 59a6 b003 |007d: iput v6, v10, Lutil/http/HttpHeader;.responsecode:I // field@03b0 │ │ +02b786: 2206 2801 |007f: new-instance v6, Ljava/lang/StringBuilder; // type@0128 │ │ +02b78a: 7020 8405 0600 |0081: invoke-direct {v6, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +02b790: 52a0 b003 |0084: iget v0, v10, Lutil/http/HttpHeader;.responsecode:I // field@03b0 │ │ +02b794: 6e20 8605 0600 |0086: invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +02b79a: 54a0 a703 |0089: iget-object v0, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ +02b79e: 6e20 7605 8000 |008b: invoke-virtual {v0, v8}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@0576 │ │ +02b7a4: 0c00 |008e: move-result-object v0 │ │ +02b7a6: 6e20 8905 0600 |008f: invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02b7ac: 6e10 8b05 0600 |0092: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02b7b2: 0c00 |0095: move-result-object v0 │ │ +02b7b4: 5ba0 a703 |0096: iput-object v0, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ +02b7b8: 7120 7a07 4b00 |0098: invoke-static {v11, v4}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@077a │ │ +02b7be: 0c00 |009b: move-result-object v0 │ │ +02b7c0: 6e20 6705 1000 |009c: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +02b7c6: 0a06 |009f: move-result v6 │ │ +02b7c8: 3906 bb00 |00a0: if-nez v6, 015b // +00bb │ │ +02b7cc: 1a06 8700 |00a2: const-string v6, ": " // string@0087 │ │ +02b7d0: 6e20 6c05 6000 |00a4: invoke-virtual {v0, v6}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@056c │ │ +02b7d6: 0a06 |00a7: move-result v6 │ │ +02b7d8: 3336 3100 |00a8: if-ne v6, v3, 00d9 // +0031 │ │ +02b7dc: 1a06 8500 |00aa: const-string v6, ":" // string@0085 │ │ +02b7e0: 6e20 6c05 6000 |00ac: invoke-virtual {v0, v6}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@056c │ │ +02b7e6: 0a06 |00af: move-result v6 │ │ +02b7e8: 3236 1500 |00b0: if-eq v6, v3, 00c5 // +0015 │ │ +02b7ec: 6e30 7705 2006 |00b2: invoke-virtual {v0, v2, v6}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@0577 │ │ +02b7f2: 0c07 |00b5: move-result-object v7 │ │ +02b7f4: 6e10 7c05 0700 |00b6: invoke-virtual {v7}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +02b7fa: 0c07 |00b9: move-result-object v7 │ │ +02b7fc: d806 0601 |00ba: add-int/lit8 v6, v6, #int 1 // #01 │ │ +02b800: 6e20 7605 6000 |00bc: invoke-virtual {v0, v6}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@0576 │ │ +02b806: 0c00 |00bf: move-result-object v0 │ │ +02b808: 6e10 7c05 0000 |00c0: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +02b80e: 0c00 |00c3: move-result-object v0 │ │ +02b810: 2827 |00c4: goto 00eb // +0027 │ │ +02b812: 220b fb00 |00c5: new-instance v11, Ljava/io/IOException; // type@00fb │ │ +02b816: 220c 2801 |00c7: new-instance v12, Ljava/lang/StringBuilder; // type@0128 │ │ +02b81a: 1a01 f601 |00c9: const-string v1, "Invalid header:" // string@01f6 │ │ +02b81e: 7020 8405 1c00 |00cb: invoke-direct {v12, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +02b824: 6e20 8905 0c00 |00ce: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02b82a: 6e10 8b05 0c00 |00d1: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02b830: 0c0c |00d4: move-result-object v12 │ │ +02b832: 7020 fb04 cb00 |00d5: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +02b838: 270b |00d8: throw v11 │ │ +02b83a: 6e30 7705 2006 |00d9: invoke-virtual {v0, v2, v6}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@0577 │ │ +02b840: 0c07 |00dc: move-result-object v7 │ │ +02b842: 6e10 7c05 0700 |00dd: invoke-virtual {v7}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +02b848: 0c07 |00e0: move-result-object v7 │ │ +02b84a: d806 0602 |00e1: add-int/lit8 v6, v6, #int 2 // #02 │ │ +02b84e: 6e20 7605 6000 |00e3: invoke-virtual {v0, v6}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@0576 │ │ +02b854: 0c00 |00e6: move-result-object v0 │ │ +02b856: 6e10 7c05 0000 |00e7: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +02b85c: 0c00 |00ea: move-result-object v0 │ │ +02b85e: 6e10 7a05 0700 |00eb: invoke-virtual {v7}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ +02b864: 0c06 |00ee: move-result-object v6 │ │ +02b866: 54a8 a903 |00ef: iget-object v8, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ +02b86a: 6e20 0906 6800 |00f1: invoke-virtual {v8, v6}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0609 │ │ +02b870: 0c08 |00f4: move-result-object v8 │ │ +02b872: 1f08 2601 |00f5: check-cast v8, Ljava/lang/String; // type@0126 │ │ +02b876: 3908 0d00 |00f7: if-nez v8, 0104 // +000d │ │ +02b87a: 54a8 a803 |00f9: iget-object v8, v10, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a8 │ │ +02b87e: 6e20 5806 7800 |00fb: invoke-virtual {v8, v7}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0658 │ │ +02b884: 54a7 a903 |00fe: iget-object v7, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ +02b888: 6e30 0a06 6700 |0100: invoke-virtual {v7, v6, v0}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@060a │ │ +02b88e: 2831 |0103: goto 0134 // +0031 │ │ +02b890: 1a07 ef00 |0104: const-string v7, "CONTENT-LENGTH" // string@00ef │ │ +02b894: 6e20 6705 7600 |0106: invoke-virtual {v6, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +02b89a: 0a07 |0109: move-result v7 │ │ +02b89c: 3907 2400 |010a: if-nez v7, 012e // +0024 │ │ +02b8a0: 1a07 b401 |010c: const-string v7, "HOST" // string@01b4 │ │ +02b8a4: 6e20 6705 7600 |010e: invoke-virtual {v6, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +02b8aa: 0a07 |0111: move-result v7 │ │ +02b8ac: 3907 2200 |0112: if-nez v7, 0134 // +0022 │ │ +02b8b0: 54a7 a903 |0114: iget-object v7, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ +02b8b4: 2209 2801 |0116: new-instance v9, Ljava/lang/StringBuilder; // type@0128 │ │ +02b8b8: 7010 8305 0900 |0118: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +02b8be: 6e20 8905 8900 |011b: invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02b8c4: 1a08 0f05 |011e: const-string v8, "_,_" // string@050f │ │ +02b8c8: 6e20 8905 8900 |0120: invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02b8ce: 6e20 8905 0900 |0123: invoke-virtual {v9, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02b8d4: 6e10 8b05 0900 |0126: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02b8da: 0c00 |0129: move-result-object v0 │ │ +02b8dc: 6e30 0a06 6700 |012a: invoke-virtual {v7, v6, v0}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@060a │ │ +02b8e2: 2807 |012d: goto 0134 // +0007 │ │ +02b8e4: 6e20 6705 0800 |012e: invoke-virtual {v8, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +02b8ea: 0a06 |0131: move-result v6 │ │ +02b8ec: 3806 0800 |0132: if-eqz v6, 013a // +0008 │ │ +02b8f0: 7120 7a07 4b00 |0134: invoke-static {v11, v4}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@077a │ │ +02b8f6: 0c00 |0137: move-result-object v0 │ │ +02b8f8: 2900 64ff |0138: goto/16 009c // -009c │ │ +02b8fc: 220b fb00 |013a: new-instance v11, Ljava/io/IOException; // type@00fb │ │ +02b900: 220c 2801 |013c: new-instance v12, Ljava/lang/StringBuilder; // type@0128 │ │ +02b904: 1a01 f501 |013e: const-string v1, "Invalid header! Duplicated Content-Length with different values:" // string@01f5 │ │ +02b908: 7020 8405 1c00 |0140: invoke-direct {v12, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +02b90e: 6e20 8905 8c00 |0143: invoke-virtual {v12, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02b914: 1a01 9500 |0146: const-string v1, "<>" // string@0095 │ │ +02b918: 6e20 8905 1c00 |0148: invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02b91e: 6e20 8905 0c00 |014b: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02b924: 1a00 2a00 |014e: const-string v0, "!" // string@002a │ │ +02b928: 6e20 8905 0c00 |0150: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02b92e: 6e10 8b05 0c00 |0153: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02b934: 0c0c |0156: move-result-object v12 │ │ +02b936: 7020 fb04 cb00 |0157: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +02b93c: 270b |015a: throw v11 │ │ +02b93e: 54ab aa03 |015b: iget-object v11, v10, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ +02b942: 390b 1800 |015d: if-nez v11, 0175 // +0018 │ │ +02b946: 334c 1600 |015f: if-ne v12, v4, 0175 // +0016 │ │ +02b94a: 6e20 d807 5a00 |0161: invoke-virtual {v10, v5}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07d8 │ │ +02b950: 0c0b |0164: move-result-object v11 │ │ +02b952: 5bab aa03 |0165: iput-object v11, v10, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ +02b956: 380b 0600 |0167: if-eqz v11, 016d // +0006 │ │ +02b95a: 7010 d907 0a00 |0169: invoke-direct {v10}, Lutil/http/HttpHeader;.parseHostEntry:()V // method@07d9 │ │ +02b960: 2809 |016c: goto 0175 // +0009 │ │ +02b962: 220b fb00 |016d: new-instance v11, Ljava/io/IOException; // type@00fb │ │ +02b966: 1a0c d800 |016f: const-string v12, "Bad request - No host specified!" // string@00d8 │ │ +02b96a: 7020 fb04 cb00 |0171: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +02b970: 270b |0174: throw v11 │ │ +02b972: 0e00 |0175: return-void │ │ +02b974: 0d0b |0176: move-exception v11 │ │ +02b976: 220c fb00 |0177: new-instance v12, Ljava/io/IOException; // type@00fb │ │ +02b97a: 6e10 3705 0b00 |0179: invoke-virtual {v11}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@0537 │ │ +02b980: 0c0b |017c: move-result-object v11 │ │ +02b982: 7020 fb04 bc00 |017d: invoke-direct {v12, v11}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +02b988: 270c |0180: throw v12 │ │ +02b98a: 220b fb00 |0181: new-instance v11, Ljava/io/IOException; // type@00fb │ │ +02b98e: 220c 2801 |0183: new-instance v12, Ljava/lang/StringBuilder; // type@0128 │ │ +02b992: 7020 8405 7c00 |0185: invoke-direct {v12, v7}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +02b998: 54a0 a703 |0188: iget-object v0, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ +02b99c: 6e20 8905 0c00 |018a: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02b9a2: 6e10 8b05 0c00 |018d: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02b9a8: 0c0c |0190: move-result-object v12 │ │ +02b9aa: 7020 fb04 cb00 |0191: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +02b9b0: 270b |0194: throw v11 │ │ +02b9b2: 220b fb00 |0195: new-instance v11, Ljava/io/IOException; // type@00fb │ │ +02b9b6: 220c 2801 |0197: new-instance v12, Ljava/lang/StringBuilder; // type@0128 │ │ +02b9ba: 7020 8405 7c00 |0199: invoke-direct {v12, v7}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +02b9c0: 54a0 a703 |019c: iget-object v0, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ +02b9c4: 6e20 8905 0c00 |019e: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02b9ca: 6e10 8b05 0c00 |01a1: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02b9d0: 0c0c |01a4: move-result-object v12 │ │ +02b9d2: 7020 fb04 cb00 |01a5: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +02b9d8: 270b |01a8: throw v11 │ │ +02b9da: 220b f500 |01a9: new-instance v11, Ljava/io/EOFException; // type@00f5 │ │ +02b9de: 1a0c c001 |01ab: const-string v12, "HttpHeader failed to read! No Data!" // string@01c0 │ │ +02b9e2: 7020 d904 cb00 |01ad: invoke-direct {v11, v12}, Ljava/io/EOFException;.:(Ljava/lang/String;)V // method@04d9 │ │ +02b9e8: 2802 |01b0: goto 01b2 // +0002 │ │ +02b9ea: 270b |01b1: throw v11 │ │ +02b9ec: 28ff |01b2: goto 01b1 // -0001 │ │ catches : 1 │ │ 0x0071 - 0x0098 │ │ Ljava/lang/Exception; -> 0x0176 │ │ positions : │ │ 0x0002 line=67 │ │ 0x0005 line=50 │ │ 0x000a line=54 │ │ @@ -34238,21 +34238,21 @@ │ │ type : '(Ljava/lang/String;I)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 13 16-bit code units │ │ -02ba04: |[02ba04] util.http.HttpHeader.:(Ljava/lang/String;I)V │ │ -02ba14: 2200 f100 |0000: new-instance v0, Ljava/io/ByteArrayInputStream; // type@00f1 │ │ -02ba18: 6e10 6905 0200 |0002: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -02ba1e: 0c02 |0005: move-result-object v2 │ │ -02ba20: 7020 ba04 2000 |0006: invoke-direct {v0, v2}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04ba │ │ -02ba26: 7030 cb07 0103 |0009: invoke-direct {v1, v0, v3}, Lutil/http/HttpHeader;.:(Ljava/io/InputStream;I)V // method@07cb │ │ -02ba2c: 0e00 |000c: return-void │ │ +02ba00: |[02ba00] util.http.HttpHeader.:(Ljava/lang/String;I)V │ │ +02ba10: 2200 f100 |0000: new-instance v0, Ljava/io/ByteArrayInputStream; // type@00f1 │ │ +02ba14: 6e10 6905 0200 |0002: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +02ba1a: 0c02 |0005: move-result-object v2 │ │ +02ba1c: 7020 ba04 2000 |0006: invoke-direct {v0, v2}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04ba │ │ +02ba22: 7030 cb07 0103 |0009: invoke-direct {v1, v0, v3}, Lutil/http/HttpHeader;.:(Ljava/io/InputStream;I)V // method@07cb │ │ +02ba28: 0e00 |000c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=151 │ │ locals : │ │ 0x0000 - 0x000d reg=1 this Lutil/http/HttpHeader; │ │ 0x0000 - 0x000d reg=2 (null) Ljava/lang/String; │ │ 0x0000 - 0x000d reg=3 (null) I │ │ @@ -34262,79 +34262,79 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 121 16-bit code units │ │ -02ba98: |[02ba98] util.http.HttpHeader.parseHostEntry:()V │ │ -02baa8: 5250 ac03 |0000: iget v0, v5, Lutil/http/HttpHeader;.protocoll:I // field@03ac │ │ -02baac: 12f1 |0002: const/4 v1, #int -1 // #ff │ │ -02baae: 1212 |0003: const/4 v2, #int 1 // #1 │ │ -02bab0: 3320 0700 |0004: if-ne v0, v2, 000b // +0007 │ │ -02bab4: 1300 5000 |0006: const/16 v0, #int 80 // #50 │ │ -02bab8: 5950 ae03 |0008: iput v0, v5, Lutil/http/HttpHeader;.remote_port:I // field@03ae │ │ -02babc: 280b |000a: goto 0015 // +000b │ │ -02babe: 1223 |000b: const/4 v3, #int 2 // #2 │ │ -02bac0: 3330 0700 |000c: if-ne v0, v3, 0013 // +0007 │ │ -02bac4: 1300 bb01 |000e: const/16 v0, #int 443 // #1bb │ │ -02bac8: 5950 ae03 |0010: iput v0, v5, Lutil/http/HttpHeader;.remote_port:I // field@03ae │ │ -02bacc: 2803 |0012: goto 0015 // +0003 │ │ -02bace: 5951 ae03 |0013: iput v1, v5, Lutil/http/HttpHeader;.remote_port:I // field@03ae │ │ -02bad2: 5450 aa03 |0015: iget-object v0, v5, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ -02bad6: 5b50 ad03 |0017: iput-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03ad │ │ -02bada: 1a03 8500 |0019: const-string v3, ":" // string@0085 │ │ -02bade: 6e20 6f05 3000 |001b: invoke-virtual {v0, v3}, Ljava/lang/String;.lastIndexOf:(Ljava/lang/String;)I // method@056f │ │ -02bae4: 0a00 |001e: move-result v0 │ │ -02bae6: 1a03 0c05 |001f: const-string v3, "]" // string@050c │ │ -02baea: 3210 3800 |0021: if-eq v0, v1, 0059 // +0038 │ │ -02baee: 5451 aa03 |0023: iget-object v1, v5, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ -02baf2: 6e20 6605 3100 |0025: invoke-virtual {v1, v3}, Ljava/lang/String;.endsWith:(Ljava/lang/String;)Z // method@0566 │ │ -02baf8: 0a01 |0028: move-result v1 │ │ -02bafa: 3901 3000 |0029: if-nez v1, 0059 // +0030 │ │ -02bafe: 5451 aa03 |002b: iget-object v1, v5, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ -02bb02: d804 0001 |002d: add-int/lit8 v4, v0, #int 1 // #01 │ │ -02bb06: 6e20 7605 4100 |002f: invoke-virtual {v1, v4}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@0576 │ │ -02bb0c: 0c01 |0032: move-result-object v1 │ │ -02bb0e: 7110 4105 0100 |0033: invoke-static {v1}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ -02bb14: 0a01 |0036: move-result v1 │ │ -02bb16: 5951 ae03 |0037: iput v1, v5, Lutil/http/HttpHeader;.remote_port:I // field@03ae │ │ -02bb1a: 5451 aa03 |0039: iget-object v1, v5, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ -02bb1e: 1204 |003b: const/4 v4, #int 0 // #0 │ │ -02bb20: 6e30 7705 4100 |003c: invoke-virtual {v1, v4, v0}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@0577 │ │ -02bb26: 0c00 |003f: move-result-object v0 │ │ -02bb28: 5b50 ad03 |0040: iput-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03ad │ │ -02bb2c: 2817 |0042: goto 0059 // +0017 │ │ -02bb2e: 2200 fb00 |0043: new-instance v0, Ljava/io/IOException; // type@00fb │ │ -02bb32: 2201 2801 |0045: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -02bb36: 1a02 d700 |0047: const-string v2, "Bad request - Cannot parse port to int:" // string@00d7 │ │ -02bb3a: 7020 8405 2100 |0049: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -02bb40: 5452 a703 |004c: iget-object v2, v5, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ -02bb44: 6e20 8905 2100 |004e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02bb4a: 6e10 8b05 0100 |0051: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02bb50: 0c01 |0054: move-result-object v1 │ │ -02bb52: 7020 fb04 1000 |0055: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -02bb58: 2700 |0058: throw v0 │ │ -02bb5a: 5450 ad03 |0059: iget-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03ad │ │ -02bb5e: 1a01 ee04 |005b: const-string v1, "[" // string@04ee │ │ -02bb62: 6e20 7505 1000 |005d: invoke-virtual {v0, v1}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ -02bb68: 0a00 |0060: move-result v0 │ │ -02bb6a: 3800 1700 |0061: if-eqz v0, 0078 // +0017 │ │ -02bb6e: 5450 ad03 |0063: iget-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03ad │ │ -02bb72: 6e20 6605 3000 |0065: invoke-virtual {v0, v3}, Ljava/lang/String;.endsWith:(Ljava/lang/String;)Z // method@0566 │ │ -02bb78: 0a00 |0068: move-result v0 │ │ -02bb7a: 3800 0f00 |0069: if-eqz v0, 0078 // +000f │ │ -02bb7e: 5450 ad03 |006b: iget-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03ad │ │ -02bb82: 6e10 7005 0000 |006d: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0570 │ │ -02bb88: 0a01 |0070: move-result v1 │ │ -02bb8a: b121 |0071: sub-int/2addr v1, v2 │ │ -02bb8c: 6e30 7705 2001 |0072: invoke-virtual {v0, v2, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@0577 │ │ -02bb92: 0c00 |0075: move-result-object v0 │ │ -02bb94: 5b50 ad03 |0076: iput-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03ad │ │ -02bb98: 0e00 |0078: return-void │ │ +02ba94: |[02ba94] util.http.HttpHeader.parseHostEntry:()V │ │ +02baa4: 5250 ac03 |0000: iget v0, v5, Lutil/http/HttpHeader;.protocoll:I // field@03ac │ │ +02baa8: 12f1 |0002: const/4 v1, #int -1 // #ff │ │ +02baaa: 1212 |0003: const/4 v2, #int 1 // #1 │ │ +02baac: 3320 0700 |0004: if-ne v0, v2, 000b // +0007 │ │ +02bab0: 1300 5000 |0006: const/16 v0, #int 80 // #50 │ │ +02bab4: 5950 ae03 |0008: iput v0, v5, Lutil/http/HttpHeader;.remote_port:I // field@03ae │ │ +02bab8: 280b |000a: goto 0015 // +000b │ │ +02baba: 1223 |000b: const/4 v3, #int 2 // #2 │ │ +02babc: 3330 0700 |000c: if-ne v0, v3, 0013 // +0007 │ │ +02bac0: 1300 bb01 |000e: const/16 v0, #int 443 // #1bb │ │ +02bac4: 5950 ae03 |0010: iput v0, v5, Lutil/http/HttpHeader;.remote_port:I // field@03ae │ │ +02bac8: 2803 |0012: goto 0015 // +0003 │ │ +02baca: 5951 ae03 |0013: iput v1, v5, Lutil/http/HttpHeader;.remote_port:I // field@03ae │ │ +02bace: 5450 aa03 |0015: iget-object v0, v5, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ +02bad2: 5b50 ad03 |0017: iput-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03ad │ │ +02bad6: 1a03 8500 |0019: const-string v3, ":" // string@0085 │ │ +02bada: 6e20 6f05 3000 |001b: invoke-virtual {v0, v3}, Ljava/lang/String;.lastIndexOf:(Ljava/lang/String;)I // method@056f │ │ +02bae0: 0a00 |001e: move-result v0 │ │ +02bae2: 1a03 0c05 |001f: const-string v3, "]" // string@050c │ │ +02bae6: 3210 3800 |0021: if-eq v0, v1, 0059 // +0038 │ │ +02baea: 5451 aa03 |0023: iget-object v1, v5, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ +02baee: 6e20 6605 3100 |0025: invoke-virtual {v1, v3}, Ljava/lang/String;.endsWith:(Ljava/lang/String;)Z // method@0566 │ │ +02baf4: 0a01 |0028: move-result v1 │ │ +02baf6: 3901 3000 |0029: if-nez v1, 0059 // +0030 │ │ +02bafa: 5451 aa03 |002b: iget-object v1, v5, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ +02bafe: d804 0001 |002d: add-int/lit8 v4, v0, #int 1 // #01 │ │ +02bb02: 6e20 7605 4100 |002f: invoke-virtual {v1, v4}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@0576 │ │ +02bb08: 0c01 |0032: move-result-object v1 │ │ +02bb0a: 7110 4105 0100 |0033: invoke-static {v1}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ +02bb10: 0a01 |0036: move-result v1 │ │ +02bb12: 5951 ae03 |0037: iput v1, v5, Lutil/http/HttpHeader;.remote_port:I // field@03ae │ │ +02bb16: 5451 aa03 |0039: iget-object v1, v5, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ +02bb1a: 1204 |003b: const/4 v4, #int 0 // #0 │ │ +02bb1c: 6e30 7705 4100 |003c: invoke-virtual {v1, v4, v0}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@0577 │ │ +02bb22: 0c00 |003f: move-result-object v0 │ │ +02bb24: 5b50 ad03 |0040: iput-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03ad │ │ +02bb28: 2817 |0042: goto 0059 // +0017 │ │ +02bb2a: 2200 fb00 |0043: new-instance v0, Ljava/io/IOException; // type@00fb │ │ +02bb2e: 2201 2801 |0045: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +02bb32: 1a02 d700 |0047: const-string v2, "Bad request - Cannot parse port to int:" // string@00d7 │ │ +02bb36: 7020 8405 2100 |0049: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +02bb3c: 5452 a703 |004c: iget-object v2, v5, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ +02bb40: 6e20 8905 2100 |004e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02bb46: 6e10 8b05 0100 |0051: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02bb4c: 0c01 |0054: move-result-object v1 │ │ +02bb4e: 7020 fb04 1000 |0055: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +02bb54: 2700 |0058: throw v0 │ │ +02bb56: 5450 ad03 |0059: iget-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03ad │ │ +02bb5a: 1a01 ee04 |005b: const-string v1, "[" // string@04ee │ │ +02bb5e: 6e20 7505 1000 |005d: invoke-virtual {v0, v1}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ +02bb64: 0a00 |0060: move-result v0 │ │ +02bb66: 3800 1700 |0061: if-eqz v0, 0078 // +0017 │ │ +02bb6a: 5450 ad03 |0063: iget-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03ad │ │ +02bb6e: 6e20 6605 3000 |0065: invoke-virtual {v0, v3}, Ljava/lang/String;.endsWith:(Ljava/lang/String;)Z // method@0566 │ │ +02bb74: 0a00 |0068: move-result v0 │ │ +02bb76: 3800 0f00 |0069: if-eqz v0, 0078 // +000f │ │ +02bb7a: 5450 ad03 |006b: iget-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03ad │ │ +02bb7e: 6e10 7005 0000 |006d: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0570 │ │ +02bb84: 0a01 |0070: move-result v1 │ │ +02bb86: b121 |0071: sub-int/2addr v1, v2 │ │ +02bb88: 6e30 7705 2001 |0072: invoke-virtual {v0, v2, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@0577 │ │ +02bb8e: 0c00 |0075: move-result-object v0 │ │ +02bb90: 5b50 ad03 |0076: iput-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03ad │ │ +02bb94: 0e00 |0078: return-void │ │ catches : 1 │ │ 0x002b - 0x0039 │ │ Ljava/lang/NumberFormatException; -> 0x0043 │ │ positions : │ │ 0x0000 line=359 │ │ 0x0008 line=360 │ │ 0x0010 line=362 │ │ @@ -34355,111 +34355,111 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 8 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 183 16-bit code units │ │ -02bbac: |[02bbac] util.http.HttpHeader.parseURI:()V │ │ -02bbbc: 5470 a703 |0000: iget-object v0, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ -02bbc0: 1301 2000 |0002: const/16 v1, #int 32 // #20 │ │ -02bbc4: 6e20 6b05 1000 |0004: invoke-virtual {v0, v1}, Ljava/lang/String;.indexOf:(I)I // method@056b │ │ -02bbca: 0a00 |0007: move-result v0 │ │ -02bbcc: 5472 a703 |0008: iget-object v2, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ -02bbd0: 6e20 6e05 1200 |000a: invoke-virtual {v2, v1}, Ljava/lang/String;.lastIndexOf:(I)I // method@056e │ │ -02bbd6: 0a01 |000d: move-result v1 │ │ -02bbd8: 12f2 |000e: const/4 v2, #int -1 // #ff │ │ -02bbda: 3220 9200 |000f: if-eq v0, v2, 00a1 // +0092 │ │ -02bbde: 3210 9000 |0011: if-eq v0, v1, 00a1 // +0090 │ │ -02bbe2: 5473 a703 |0013: iget-object v3, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ -02bbe6: 1204 |0015: const/4 v4, #int 0 // #0 │ │ -02bbe8: 6e30 7705 4300 |0016: invoke-virtual {v3, v4, v0}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@0577 │ │ -02bbee: 0c03 |0019: move-result-object v3 │ │ -02bbf0: 5b73 ab03 |001a: iput-object v3, v7, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03ab │ │ -02bbf4: 5473 a703 |001c: iget-object v3, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ -02bbf8: 1215 |001e: const/4 v5, #int 1 // #1 │ │ -02bbfa: b050 |001f: add-int/2addr v0, v5 │ │ -02bbfc: 6e30 7705 0301 |0020: invoke-virtual {v3, v0, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@0577 │ │ -02bc02: 0c00 |0023: move-result-object v0 │ │ -02bc04: 5b70 b303 |0024: iput-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ -02bc08: 5470 ab03 |0026: iget-object v0, v7, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03ab │ │ -02bc0c: 1a01 eb00 |0028: const-string v1, "CONNECT" // string@00eb │ │ -02bc10: 6e20 6805 1000 |002a: invoke-virtual {v0, v1}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@0568 │ │ -02bc16: 0a00 |002d: move-result v0 │ │ -02bc18: 5c70 b103 |002e: iput-boolean v0, v7, Lutil/http/HttpHeader;.tunnelMode:Z // field@03b1 │ │ -02bc1c: 3900 6500 |0030: if-nez v0, 0095 // +0065 │ │ -02bc20: 5470 b303 |0032: iget-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ -02bc24: 1a01 8800 |0034: const-string v1, "://" // string@0088 │ │ -02bc28: 6e20 6c05 1000 |0036: invoke-virtual {v0, v1}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@056c │ │ -02bc2e: 0a00 |0039: move-result v0 │ │ -02bc30: 3220 5f00 |003a: if-eq v0, v2, 0099 // +005f │ │ -02bc34: 5471 b303 |003c: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ -02bc38: 6e30 7705 4100 |003e: invoke-virtual {v1, v4, v0}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@0577 │ │ -02bc3e: 0c01 |0041: move-result-object v1 │ │ -02bc40: 6e10 7805 0100 |0042: invoke-virtual {v1}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@0578 │ │ -02bc46: 0c01 |0045: move-result-object v1 │ │ -02bc48: 1a03 0c08 |0046: const-string v3, "http" // string@080c │ │ -02bc4c: 6e20 6705 3100 |0048: invoke-virtual {v1, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -02bc52: 0a03 |004b: move-result v3 │ │ -02bc54: 1236 |004c: const/4 v6, #int 3 // #3 │ │ -02bc56: 3803 0500 |004d: if-eqz v3, 0052 // +0005 │ │ -02bc5a: 5975 ac03 |004f: iput v5, v7, Lutil/http/HttpHeader;.protocoll:I // field@03ac │ │ -02bc5e: 280f |0051: goto 0060 // +000f │ │ -02bc60: 1a03 1208 |0052: const-string v3, "https" // string@0812 │ │ -02bc64: 6e20 6705 3100 |0054: invoke-virtual {v1, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -02bc6a: 0a01 |0057: move-result v1 │ │ -02bc6c: 3801 0600 |0058: if-eqz v1, 005e // +0006 │ │ -02bc70: 1221 |005a: const/4 v1, #int 2 // #2 │ │ -02bc72: 5971 ac03 |005b: iput v1, v7, Lutil/http/HttpHeader;.protocoll:I // field@03ac │ │ -02bc76: 2803 |005d: goto 0060 // +0003 │ │ -02bc78: 5976 ac03 |005e: iput v6, v7, Lutil/http/HttpHeader;.protocoll:I // field@03ac │ │ -02bc7c: 5471 b303 |0060: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ -02bc80: b060 |0062: add-int/2addr v0, v6 │ │ -02bc82: 6e20 7605 0100 |0063: invoke-virtual {v1, v0}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@0576 │ │ -02bc88: 0c00 |0066: move-result-object v0 │ │ -02bc8a: 5b70 b303 |0067: iput-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ -02bc8e: 1301 2f00 |0069: const/16 v1, #int 47 // #2f │ │ -02bc92: 6e20 6b05 1000 |006b: invoke-virtual {v0, v1}, Ljava/lang/String;.indexOf:(I)I // method@056b │ │ -02bc98: 0a00 |006e: move-result v0 │ │ -02bc9a: 3320 0800 |006f: if-ne v0, v2, 0077 // +0008 │ │ -02bc9e: 5470 b303 |0071: iget-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ -02bca2: 6e10 7005 0000 |0073: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0570 │ │ -02bca8: 0a00 |0076: move-result v0 │ │ -02bcaa: 5471 b303 |0077: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ -02bcae: 6e30 7705 4100 |0079: invoke-virtual {v1, v4, v0}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@0577 │ │ -02bcb4: 0c01 |007c: move-result-object v1 │ │ -02bcb6: 5b71 aa03 |007d: iput-object v1, v7, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ -02bcba: 5471 b303 |007f: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ -02bcbe: 6e10 7005 0100 |0081: invoke-virtual {v1}, Ljava/lang/String;.length:()I // method@0570 │ │ -02bcc4: 0a01 |0084: move-result v1 │ │ -02bcc6: 3310 0700 |0085: if-ne v0, v1, 008c // +0007 │ │ -02bcca: 1a00 6000 |0087: const-string v0, "/" // string@0060 │ │ -02bcce: 5b70 b303 |0089: iput-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ -02bcd2: 280e |008b: goto 0099 // +000e │ │ -02bcd4: 5471 b303 |008c: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ -02bcd8: 6e20 7605 0100 |008e: invoke-virtual {v1, v0}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@0576 │ │ -02bcde: 0c00 |0091: move-result-object v0 │ │ -02bce0: 5b70 b303 |0092: iput-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ -02bce4: 2805 |0094: goto 0099 // +0005 │ │ -02bce6: 5470 b303 |0095: iget-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ -02bcea: 5b70 aa03 |0097: iput-object v0, v7, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ -02bcee: 5470 aa03 |0099: iget-object v0, v7, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ -02bcf2: 3800 0500 |009b: if-eqz v0, 00a0 // +0005 │ │ -02bcf6: 7010 d907 0700 |009d: invoke-direct {v7}, Lutil/http/HttpHeader;.parseHostEntry:()V // method@07d9 │ │ -02bcfc: 0e00 |00a0: return-void │ │ -02bcfe: 2200 fb00 |00a1: new-instance v0, Ljava/io/IOException; // type@00fb │ │ -02bd02: 2201 2801 |00a3: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -02bd06: 1a02 d900 |00a5: const-string v2, "Bad request:" // string@00d9 │ │ -02bd0a: 7020 8405 2100 |00a7: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -02bd10: 5472 a703 |00aa: iget-object v2, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ -02bd14: 6e20 8905 2100 |00ac: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02bd1a: 6e10 8b05 0100 |00af: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02bd20: 0c01 |00b2: move-result-object v1 │ │ -02bd22: 7020 fb04 1000 |00b3: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -02bd28: 2700 |00b6: throw v0 │ │ +02bba8: |[02bba8] util.http.HttpHeader.parseURI:()V │ │ +02bbb8: 5470 a703 |0000: iget-object v0, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ +02bbbc: 1301 2000 |0002: const/16 v1, #int 32 // #20 │ │ +02bbc0: 6e20 6b05 1000 |0004: invoke-virtual {v0, v1}, Ljava/lang/String;.indexOf:(I)I // method@056b │ │ +02bbc6: 0a00 |0007: move-result v0 │ │ +02bbc8: 5472 a703 |0008: iget-object v2, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ +02bbcc: 6e20 6e05 1200 |000a: invoke-virtual {v2, v1}, Ljava/lang/String;.lastIndexOf:(I)I // method@056e │ │ +02bbd2: 0a01 |000d: move-result v1 │ │ +02bbd4: 12f2 |000e: const/4 v2, #int -1 // #ff │ │ +02bbd6: 3220 9200 |000f: if-eq v0, v2, 00a1 // +0092 │ │ +02bbda: 3210 9000 |0011: if-eq v0, v1, 00a1 // +0090 │ │ +02bbde: 5473 a703 |0013: iget-object v3, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ +02bbe2: 1204 |0015: const/4 v4, #int 0 // #0 │ │ +02bbe4: 6e30 7705 4300 |0016: invoke-virtual {v3, v4, v0}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@0577 │ │ +02bbea: 0c03 |0019: move-result-object v3 │ │ +02bbec: 5b73 ab03 |001a: iput-object v3, v7, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03ab │ │ +02bbf0: 5473 a703 |001c: iget-object v3, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ +02bbf4: 1215 |001e: const/4 v5, #int 1 // #1 │ │ +02bbf6: b050 |001f: add-int/2addr v0, v5 │ │ +02bbf8: 6e30 7705 0301 |0020: invoke-virtual {v3, v0, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@0577 │ │ +02bbfe: 0c00 |0023: move-result-object v0 │ │ +02bc00: 5b70 b303 |0024: iput-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ +02bc04: 5470 ab03 |0026: iget-object v0, v7, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03ab │ │ +02bc08: 1a01 eb00 |0028: const-string v1, "CONNECT" // string@00eb │ │ +02bc0c: 6e20 6805 1000 |002a: invoke-virtual {v0, v1}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@0568 │ │ +02bc12: 0a00 |002d: move-result v0 │ │ +02bc14: 5c70 b103 |002e: iput-boolean v0, v7, Lutil/http/HttpHeader;.tunnelMode:Z // field@03b1 │ │ +02bc18: 3900 6500 |0030: if-nez v0, 0095 // +0065 │ │ +02bc1c: 5470 b303 |0032: iget-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ +02bc20: 1a01 8800 |0034: const-string v1, "://" // string@0088 │ │ +02bc24: 6e20 6c05 1000 |0036: invoke-virtual {v0, v1}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@056c │ │ +02bc2a: 0a00 |0039: move-result v0 │ │ +02bc2c: 3220 5f00 |003a: if-eq v0, v2, 0099 // +005f │ │ +02bc30: 5471 b303 |003c: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ +02bc34: 6e30 7705 4100 |003e: invoke-virtual {v1, v4, v0}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@0577 │ │ +02bc3a: 0c01 |0041: move-result-object v1 │ │ +02bc3c: 6e10 7805 0100 |0042: invoke-virtual {v1}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@0578 │ │ +02bc42: 0c01 |0045: move-result-object v1 │ │ +02bc44: 1a03 0c08 |0046: const-string v3, "http" // string@080c │ │ +02bc48: 6e20 6705 3100 |0048: invoke-virtual {v1, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +02bc4e: 0a03 |004b: move-result v3 │ │ +02bc50: 1236 |004c: const/4 v6, #int 3 // #3 │ │ +02bc52: 3803 0500 |004d: if-eqz v3, 0052 // +0005 │ │ +02bc56: 5975 ac03 |004f: iput v5, v7, Lutil/http/HttpHeader;.protocoll:I // field@03ac │ │ +02bc5a: 280f |0051: goto 0060 // +000f │ │ +02bc5c: 1a03 1208 |0052: const-string v3, "https" // string@0812 │ │ +02bc60: 6e20 6705 3100 |0054: invoke-virtual {v1, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +02bc66: 0a01 |0057: move-result v1 │ │ +02bc68: 3801 0600 |0058: if-eqz v1, 005e // +0006 │ │ +02bc6c: 1221 |005a: const/4 v1, #int 2 // #2 │ │ +02bc6e: 5971 ac03 |005b: iput v1, v7, Lutil/http/HttpHeader;.protocoll:I // field@03ac │ │ +02bc72: 2803 |005d: goto 0060 // +0003 │ │ +02bc74: 5976 ac03 |005e: iput v6, v7, Lutil/http/HttpHeader;.protocoll:I // field@03ac │ │ +02bc78: 5471 b303 |0060: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ +02bc7c: b060 |0062: add-int/2addr v0, v6 │ │ +02bc7e: 6e20 7605 0100 |0063: invoke-virtual {v1, v0}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@0576 │ │ +02bc84: 0c00 |0066: move-result-object v0 │ │ +02bc86: 5b70 b303 |0067: iput-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ +02bc8a: 1301 2f00 |0069: const/16 v1, #int 47 // #2f │ │ +02bc8e: 6e20 6b05 1000 |006b: invoke-virtual {v0, v1}, Ljava/lang/String;.indexOf:(I)I // method@056b │ │ +02bc94: 0a00 |006e: move-result v0 │ │ +02bc96: 3320 0800 |006f: if-ne v0, v2, 0077 // +0008 │ │ +02bc9a: 5470 b303 |0071: iget-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ +02bc9e: 6e10 7005 0000 |0073: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0570 │ │ +02bca4: 0a00 |0076: move-result v0 │ │ +02bca6: 5471 b303 |0077: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ +02bcaa: 6e30 7705 4100 |0079: invoke-virtual {v1, v4, v0}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@0577 │ │ +02bcb0: 0c01 |007c: move-result-object v1 │ │ +02bcb2: 5b71 aa03 |007d: iput-object v1, v7, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ +02bcb6: 5471 b303 |007f: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ +02bcba: 6e10 7005 0100 |0081: invoke-virtual {v1}, Ljava/lang/String;.length:()I // method@0570 │ │ +02bcc0: 0a01 |0084: move-result v1 │ │ +02bcc2: 3310 0700 |0085: if-ne v0, v1, 008c // +0007 │ │ +02bcc6: 1a00 6000 |0087: const-string v0, "/" // string@0060 │ │ +02bcca: 5b70 b303 |0089: iput-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ +02bcce: 280e |008b: goto 0099 // +000e │ │ +02bcd0: 5471 b303 |008c: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ +02bcd4: 6e20 7605 0100 |008e: invoke-virtual {v1, v0}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@0576 │ │ +02bcda: 0c00 |0091: move-result-object v0 │ │ +02bcdc: 5b70 b303 |0092: iput-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ +02bce0: 2805 |0094: goto 0099 // +0005 │ │ +02bce2: 5470 b303 |0095: iget-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ +02bce6: 5b70 aa03 |0097: iput-object v0, v7, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ +02bcea: 5470 aa03 |0099: iget-object v0, v7, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ +02bcee: 3800 0500 |009b: if-eqz v0, 00a0 // +0005 │ │ +02bcf2: 7010 d907 0700 |009d: invoke-direct {v7}, Lutil/http/HttpHeader;.parseHostEntry:()V // method@07d9 │ │ +02bcf8: 0e00 |00a0: return-void │ │ +02bcfa: 2200 fb00 |00a1: new-instance v0, Ljava/io/IOException; // type@00fb │ │ +02bcfe: 2201 2801 |00a3: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +02bd02: 1a02 d900 |00a5: const-string v2, "Bad request:" // string@00d9 │ │ +02bd06: 7020 8405 2100 |00a7: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +02bd0c: 5472 a703 |00aa: iget-object v2, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ +02bd10: 6e20 8905 2100 |00ac: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02bd16: 6e10 8b05 0100 |00af: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02bd1c: 0c01 |00b2: move-result-object v1 │ │ +02bd1e: 7020 fb04 1000 |00b3: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +02bd24: 2700 |00b6: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=322 │ │ 0x0008 line=323 │ │ 0x0013 line=327 │ │ 0x001c line=328 │ │ 0x0026 line=329 │ │ @@ -34490,37 +34490,37 @@ │ │ type : '(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 4 │ │ outs : 2 │ │ insns size : 44 16-bit code units │ │ -02ba30: |[02ba30] util.http.HttpHeader.appendValueToHeaderString:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;)V │ │ -02ba40: 1a00 0f05 |0000: const-string v0, "_,_" // string@050f │ │ -02ba44: 6e20 7305 0600 |0002: invoke-virtual {v6, v0}, Ljava/lang/String;.split:(Ljava/lang/String;)[Ljava/lang/String; // method@0573 │ │ -02ba4a: 0c06 |0005: move-result-object v6 │ │ -02ba4c: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -02ba4e: 2161 |0007: array-length v1, v6 │ │ -02ba50: 3510 2300 |0008: if-ge v0, v1, 002b // +0023 │ │ -02ba54: 2201 2801 |000a: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -02ba58: 7010 8305 0100 |000c: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -02ba5e: 6e20 8905 5100 |000f: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02ba64: 1a02 8700 |0012: const-string v2, ": " // string@0087 │ │ -02ba68: 6e20 8905 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02ba6e: 4602 0600 |0017: aget-object v2, v6, v0 │ │ -02ba72: 6e20 8905 2100 |0019: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02ba78: 1a02 0900 |001c: const-string v2, " │ │ +02ba2c: |[02ba2c] util.http.HttpHeader.appendValueToHeaderString:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;)V │ │ +02ba3c: 1a00 0f05 |0000: const-string v0, "_,_" // string@050f │ │ +02ba40: 6e20 7305 0600 |0002: invoke-virtual {v6, v0}, Ljava/lang/String;.split:(Ljava/lang/String;)[Ljava/lang/String; // method@0573 │ │ +02ba46: 0c06 |0005: move-result-object v6 │ │ +02ba48: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +02ba4a: 2161 |0007: array-length v1, v6 │ │ +02ba4c: 3510 2300 |0008: if-ge v0, v1, 002b // +0023 │ │ +02ba50: 2201 2801 |000a: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +02ba54: 7010 8305 0100 |000c: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +02ba5a: 6e20 8905 5100 |000f: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02ba60: 1a02 8700 |0012: const-string v2, ": " // string@0087 │ │ +02ba64: 6e20 8905 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02ba6a: 4602 0600 |0017: aget-object v2, v6, v0 │ │ +02ba6e: 6e20 8905 2100 |0019: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02ba74: 1a02 0900 |001c: const-string v2, " │ │ " // string@0009 │ │ -02ba7c: 6e20 8905 2100 |001e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02ba82: 6e10 8b05 0100 |0021: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02ba88: 0c01 |0024: move-result-object v1 │ │ -02ba8a: 6e20 8005 1400 |0025: invoke-virtual {v4, v1}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@0580 │ │ -02ba90: d800 0001 |0028: add-int/lit8 v0, v0, #int 1 // #01 │ │ -02ba94: 28dd |002a: goto 0007 // -0023 │ │ -02ba96: 0e00 |002b: return-void │ │ +02ba78: 6e20 8905 2100 |001e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02ba7e: 6e10 8b05 0100 |0021: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02ba84: 0c01 |0024: move-result-object v1 │ │ +02ba86: 6e20 8005 1400 |0025: invoke-virtual {v4, v1}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@0580 │ │ +02ba8c: d800 0001 |0028: add-int/lit8 v0, v0, #int 1 // #01 │ │ +02ba90: 28dd |002a: goto 0007 // -0023 │ │ +02ba92: 0e00 |002b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=208 │ │ 0x0007 line=209 │ │ 0x000a line=210 │ │ locals : │ │ 0x0000 - 0x002c reg=3 this Lutil/http/HttpHeader; │ │ @@ -34533,27 +34533,27 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 20 16-bit code units │ │ -02aed8: |[02aed8] util.http.HttpHeader.chunkedTransfer:()Z │ │ -02aee8: 1a00 7a04 |0000: const-string v0, "Transfer-Encoding" // string@047a │ │ -02aeec: 6e20 d807 0200 |0002: invoke-virtual {v2, v0}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07d8 │ │ -02aef2: 0c00 |0005: move-result-object v0 │ │ -02aef4: 3800 0c00 |0006: if-eqz v0, 0012 // +000c │ │ -02aef8: 0701 |0008: move-object v1, v0 │ │ -02aefa: 1f01 2601 |0009: check-cast v1, Ljava/lang/String; // type@0126 │ │ -02aefe: 1a01 cd05 |000b: const-string v1, "chunked" // string@05cd │ │ -02af02: 6e20 6805 1000 |000d: invoke-virtual {v0, v1}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@0568 │ │ -02af08: 0a00 |0010: move-result v0 │ │ -02af0a: 0f00 |0011: return v0 │ │ -02af0c: 1200 |0012: const/4 v0, #int 0 // #0 │ │ -02af0e: 0f00 |0013: return v0 │ │ +02aed4: |[02aed4] util.http.HttpHeader.chunkedTransfer:()Z │ │ +02aee4: 1a00 7a04 |0000: const-string v0, "Transfer-Encoding" // string@047a │ │ +02aee8: 6e20 d807 0200 |0002: invoke-virtual {v2, v0}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07d8 │ │ +02aeee: 0c00 |0005: move-result-object v0 │ │ +02aef0: 3800 0c00 |0006: if-eqz v0, 0012 // +000c │ │ +02aef4: 0701 |0008: move-object v1, v0 │ │ +02aef6: 1f01 2601 |0009: check-cast v1, Ljava/lang/String; // type@0126 │ │ +02aefa: 1a01 cd05 |000b: const-string v1, "chunked" // string@05cd │ │ +02aefe: 6e20 6805 1000 |000d: invoke-virtual {v0, v1}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@0568 │ │ +02af04: 0a00 |0010: move-result v0 │ │ +02af06: 0f00 |0011: return v0 │ │ +02af08: 1200 |0012: const/4 v0, #int 0 // #0 │ │ +02af0a: 0f00 |0013: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=299 │ │ 0x0008 line=301 │ │ locals : │ │ 0x0000 - 0x0014 reg=2 this Lutil/http/HttpHeader; │ │ │ │ @@ -34562,18 +34562,18 @@ │ │ type : '()Ljava/lang/Object;' │ │ access : 0x1041 (PUBLIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 5 16-bit code units │ │ -02af9c: |[02af9c] util.http.HttpHeader.clone:()Ljava/lang/Object; │ │ -02afac: 6e10 d007 0100 |0000: invoke-virtual {v1}, Lutil/http/HttpHeader;.clone:()Lutil/http/HttpHeader; // method@07d0 │ │ -02afb2: 0c00 |0003: move-result-object v0 │ │ -02afb4: 1100 |0004: return-object v0 │ │ +02af98: |[02af98] util.http.HttpHeader.clone:()Ljava/lang/Object; │ │ +02afa8: 6e10 d007 0100 |0000: invoke-virtual {v1}, Lutil/http/HttpHeader;.clone:()Lutil/http/HttpHeader; // method@07d0 │ │ +02afae: 0c00 |0003: move-result-object v0 │ │ +02afb0: 1100 |0004: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=35 │ │ locals : │ │ 0x0000 - 0x0005 reg=1 this Lutil/http/HttpHeader; │ │ │ │ #3 : (in Lutil/http/HttpHeader;) │ │ @@ -34581,46 +34581,46 @@ │ │ type : '()Lutil/http/HttpHeader;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 62 16-bit code units │ │ -02b36c: |[02b36c] util.http.HttpHeader.clone:()Lutil/http/HttpHeader; │ │ -02b37c: 2200 9501 |0000: new-instance v0, Lutil/http/HttpHeader; // type@0195 │ │ -02b380: 7010 c907 0000 |0002: invoke-direct {v0}, Lutil/http/HttpHeader;.:()V // method@07c9 │ │ -02b386: 5421 ad03 |0005: iget-object v1, v2, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03ad │ │ -02b38a: 5b01 ad03 |0007: iput-object v1, v0, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03ad │ │ -02b38e: 5421 aa03 |0009: iget-object v1, v2, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ -02b392: 5b01 aa03 |000b: iput-object v1, v0, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ -02b396: 5421 b303 |000d: iget-object v1, v2, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ -02b39a: 5b01 b303 |000f: iput-object v1, v0, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ -02b39e: 5421 ab03 |0011: iget-object v1, v2, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03ab │ │ -02b3a2: 5b01 ab03 |0013: iput-object v1, v0, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03ab │ │ -02b3a6: 5221 ae03 |0015: iget v1, v2, Lutil/http/HttpHeader;.remote_port:I // field@03ae │ │ -02b3aa: 5901 ae03 |0017: iput v1, v0, Lutil/http/HttpHeader;.remote_port:I // field@03ae │ │ -02b3ae: 5521 b103 |0019: iget-boolean v1, v2, Lutil/http/HttpHeader;.tunnelMode:Z // field@03b1 │ │ -02b3b2: 5c01 b103 |001b: iput-boolean v1, v0, Lutil/http/HttpHeader;.tunnelMode:Z // field@03b1 │ │ -02b3b6: 5221 b003 |001d: iget v1, v2, Lutil/http/HttpHeader;.responsecode:I // field@03b0 │ │ -02b3ba: 5901 b003 |001f: iput v1, v0, Lutil/http/HttpHeader;.responsecode:I // field@03b0 │ │ -02b3be: 5421 a703 |0021: iget-object v1, v2, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ -02b3c2: 5b01 a703 |0023: iput-object v1, v0, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ -02b3c6: 5421 a803 |0025: iget-object v1, v2, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a8 │ │ -02b3ca: 6e10 5b06 0100 |0027: invoke-virtual {v1}, Ljava/util/Vector;.clone:()Ljava/lang/Object; // method@065b │ │ -02b3d0: 0c01 |002a: move-result-object v1 │ │ -02b3d2: 1f01 6601 |002b: check-cast v1, Ljava/util/Vector; // type@0166 │ │ -02b3d6: 5b01 a803 |002d: iput-object v1, v0, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a8 │ │ -02b3da: 5421 a903 |002f: iget-object v1, v2, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ -02b3de: 6e10 0706 0100 |0031: invoke-virtual {v1}, Ljava/util/HashMap;.clone:()Ljava/lang/Object; // method@0607 │ │ -02b3e4: 0c01 |0034: move-result-object v1 │ │ -02b3e6: 1f01 5401 |0035: check-cast v1, Ljava/util/HashMap; // type@0154 │ │ -02b3ea: 5b01 a903 |0037: iput-object v1, v0, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ -02b3ee: 5221 b203 |0039: iget v1, v2, Lutil/http/HttpHeader;.type:I // field@03b2 │ │ -02b3f2: 5901 b203 |003b: iput v1, v0, Lutil/http/HttpHeader;.type:I // field@03b2 │ │ -02b3f6: 1100 |003d: return-object v0 │ │ +02b368: |[02b368] util.http.HttpHeader.clone:()Lutil/http/HttpHeader; │ │ +02b378: 2200 9501 |0000: new-instance v0, Lutil/http/HttpHeader; // type@0195 │ │ +02b37c: 7010 c907 0000 |0002: invoke-direct {v0}, Lutil/http/HttpHeader;.:()V // method@07c9 │ │ +02b382: 5421 ad03 |0005: iget-object v1, v2, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03ad │ │ +02b386: 5b01 ad03 |0007: iput-object v1, v0, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03ad │ │ +02b38a: 5421 aa03 |0009: iget-object v1, v2, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ +02b38e: 5b01 aa03 |000b: iput-object v1, v0, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ +02b392: 5421 b303 |000d: iget-object v1, v2, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ +02b396: 5b01 b303 |000f: iput-object v1, v0, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ +02b39a: 5421 ab03 |0011: iget-object v1, v2, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03ab │ │ +02b39e: 5b01 ab03 |0013: iput-object v1, v0, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03ab │ │ +02b3a2: 5221 ae03 |0015: iget v1, v2, Lutil/http/HttpHeader;.remote_port:I // field@03ae │ │ +02b3a6: 5901 ae03 |0017: iput v1, v0, Lutil/http/HttpHeader;.remote_port:I // field@03ae │ │ +02b3aa: 5521 b103 |0019: iget-boolean v1, v2, Lutil/http/HttpHeader;.tunnelMode:Z // field@03b1 │ │ +02b3ae: 5c01 b103 |001b: iput-boolean v1, v0, Lutil/http/HttpHeader;.tunnelMode:Z // field@03b1 │ │ +02b3b2: 5221 b003 |001d: iget v1, v2, Lutil/http/HttpHeader;.responsecode:I // field@03b0 │ │ +02b3b6: 5901 b003 |001f: iput v1, v0, Lutil/http/HttpHeader;.responsecode:I // field@03b0 │ │ +02b3ba: 5421 a703 |0021: iget-object v1, v2, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ +02b3be: 5b01 a703 |0023: iput-object v1, v0, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ +02b3c2: 5421 a803 |0025: iget-object v1, v2, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a8 │ │ +02b3c6: 6e10 5b06 0100 |0027: invoke-virtual {v1}, Ljava/util/Vector;.clone:()Ljava/lang/Object; // method@065b │ │ +02b3cc: 0c01 |002a: move-result-object v1 │ │ +02b3ce: 1f01 6601 |002b: check-cast v1, Ljava/util/Vector; // type@0166 │ │ +02b3d2: 5b01 a803 |002d: iput-object v1, v0, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a8 │ │ +02b3d6: 5421 a903 |002f: iget-object v1, v2, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ +02b3da: 6e10 0706 0100 |0031: invoke-virtual {v1}, Ljava/util/HashMap;.clone:()Ljava/lang/Object; // method@0607 │ │ +02b3e0: 0c01 |0034: move-result-object v1 │ │ +02b3e2: 1f01 5401 |0035: check-cast v1, Ljava/util/HashMap; // type@0154 │ │ +02b3e6: 5b01 a903 |0037: iput-object v1, v0, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ +02b3ea: 5221 b203 |0039: iget v1, v2, Lutil/http/HttpHeader;.type:I // field@03b2 │ │ +02b3ee: 5901 b203 |003b: iput v1, v0, Lutil/http/HttpHeader;.type:I // field@03b2 │ │ +02b3f2: 1100 |003d: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=160 │ │ 0x0005 line=162 │ │ 0x0009 line=163 │ │ 0x000d line=164 │ │ 0x0011 line=165 │ │ @@ -34639,28 +34639,28 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 21 16-bit code units │ │ -02af10: |[02af10] util.http.HttpHeader.getConnectionClose:()Z │ │ -02af20: 1a00 1901 |0000: const-string v0, "Connection" // string@0119 │ │ -02af24: 6e20 d807 0300 |0002: invoke-virtual {v3, v0}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07d8 │ │ -02af2a: 0c00 |0005: move-result-object v0 │ │ -02af2c: 1211 |0006: const/4 v1, #int 1 // #1 │ │ -02af2e: 3900 0300 |0007: if-nez v0, 000a // +0003 │ │ -02af32: 0f01 |0009: return v1 │ │ -02af34: 1a02 dd05 |000a: const-string v2, "close" // string@05dd │ │ -02af38: 6e20 6805 2000 |000c: invoke-virtual {v0, v2}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@0568 │ │ -02af3e: 0a00 |000f: move-result v0 │ │ -02af40: 3800 0300 |0010: if-eqz v0, 0013 // +0003 │ │ -02af44: 0f01 |0012: return v1 │ │ -02af46: 1200 |0013: const/4 v0, #int 0 // #0 │ │ -02af48: 0f00 |0014: return v0 │ │ +02af0c: |[02af0c] util.http.HttpHeader.getConnectionClose:()Z │ │ +02af1c: 1a00 1901 |0000: const-string v0, "Connection" // string@0119 │ │ +02af20: 6e20 d807 0300 |0002: invoke-virtual {v3, v0}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07d8 │ │ +02af26: 0c00 |0005: move-result-object v0 │ │ +02af28: 1211 |0006: const/4 v1, #int 1 // #1 │ │ +02af2a: 3900 0300 |0007: if-nez v0, 000a // +0003 │ │ +02af2e: 0f01 |0009: return v1 │ │ +02af30: 1a02 dd05 |000a: const-string v2, "close" // string@05dd │ │ +02af34: 6e20 6805 2000 |000c: invoke-virtual {v0, v2}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@0568 │ │ +02af3a: 0a00 |000f: move-result v0 │ │ +02af3c: 3800 0300 |0010: if-eqz v0, 0013 // +0003 │ │ +02af40: 0f01 |0012: return v1 │ │ +02af42: 1200 |0013: const/4 v0, #int 0 // #0 │ │ +02af44: 0f00 |0014: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=288 │ │ 0x000a line=291 │ │ locals : │ │ 0x0000 - 0x0015 reg=3 this Lutil/http/HttpHeader; │ │ │ │ @@ -34669,32 +34669,32 @@ │ │ type : '()J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 30 16-bit code units │ │ -02b320: |[02b320] util.http.HttpHeader.getContentLength:()J │ │ -02b330: 5220 b003 |0000: iget v0, v2, Lutil/http/HttpHeader;.responsecode:I // field@03b0 │ │ -02b334: 1301 3001 |0002: const/16 v1, #int 304 // #130 │ │ -02b338: 3210 1700 |0004: if-eq v0, v1, 001b // +0017 │ │ -02b33c: 1301 cc00 |0006: const/16 v1, #int 204 // #cc │ │ -02b340: 3310 0300 |0008: if-ne v0, v1, 000b // +0003 │ │ -02b344: 2811 |000a: goto 001b // +0011 │ │ -02b346: 1a00 1e01 |000b: const-string v0, "Content-Length" // string@011e │ │ -02b34a: 6e20 d807 0200 |000d: invoke-virtual {v2, v0}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07d8 │ │ -02b350: 0c00 |0010: move-result-object v0 │ │ -02b352: 3800 0700 |0011: if-eqz v0, 0018 // +0007 │ │ -02b356: 7110 4705 0000 |0013: invoke-static {v0}, Ljava/lang/Long;.parseLong:(Ljava/lang/String;)J // method@0547 │ │ -02b35c: 0b00 |0016: move-result-wide v0 │ │ -02b35e: 1000 |0017: return-wide v0 │ │ -02b360: 1600 ffff |0018: const-wide/16 v0, #int -1 // #ffff │ │ -02b364: 1000 |001a: return-wide v0 │ │ -02b366: 1600 0000 |001b: const-wide/16 v0, #int 0 // #0 │ │ -02b36a: 1000 |001d: return-wide v0 │ │ +02b31c: |[02b31c] util.http.HttpHeader.getContentLength:()J │ │ +02b32c: 5220 b003 |0000: iget v0, v2, Lutil/http/HttpHeader;.responsecode:I // field@03b0 │ │ +02b330: 1301 3001 |0002: const/16 v1, #int 304 // #130 │ │ +02b334: 3210 1700 |0004: if-eq v0, v1, 001b // +0017 │ │ +02b338: 1301 cc00 |0006: const/16 v1, #int 204 // #cc │ │ +02b33c: 3310 0300 |0008: if-ne v0, v1, 000b // +0003 │ │ +02b340: 2811 |000a: goto 001b // +0011 │ │ +02b342: 1a00 1e01 |000b: const-string v0, "Content-Length" // string@011e │ │ +02b346: 6e20 d807 0200 |000d: invoke-virtual {v2, v0}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07d8 │ │ +02b34c: 0c00 |0010: move-result-object v0 │ │ +02b34e: 3800 0700 |0011: if-eqz v0, 0018 // +0007 │ │ +02b352: 7110 4705 0000 |0013: invoke-static {v0}, Ljava/lang/Long;.parseLong:(Ljava/lang/String;)J // method@0547 │ │ +02b358: 0b00 |0016: move-result-wide v0 │ │ +02b35a: 1000 |0017: return-wide v0 │ │ +02b35c: 1600 ffff |0018: const-wide/16 v0, #int -1 // #ffff │ │ +02b360: 1000 |001a: return-wide v0 │ │ +02b362: 1600 0000 |001b: const-wide/16 v0, #int 0 // #0 │ │ +02b366: 1000 |001d: return-wide v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=275 │ │ 0x000b line=278 │ │ 0x0013 line=280 │ │ locals : │ │ 0x0000 - 0x001e reg=2 this Lutil/http/HttpHeader; │ │ @@ -34704,47 +34704,47 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 66 16-bit code units │ │ -02afb8: |[02afb8] util.http.HttpHeader.getHeaderString:()Ljava/lang/String; │ │ -02afc8: 2200 2701 |0000: new-instance v0, Ljava/lang/StringBuffer; // type@0127 │ │ -02afcc: 2201 2801 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -02afd0: 7010 8305 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -02afd6: 5462 a703 |0007: iget-object v2, v6, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ -02afda: 6e20 8905 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02afe0: 1a02 0900 |000c: const-string v2, " │ │ +02afb4: |[02afb4] util.http.HttpHeader.getHeaderString:()Ljava/lang/String; │ │ +02afc4: 2200 2701 |0000: new-instance v0, Ljava/lang/StringBuffer; // type@0127 │ │ +02afc8: 2201 2801 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +02afcc: 7010 8305 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +02afd2: 5462 a703 |0007: iget-object v2, v6, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ +02afd6: 6e20 8905 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02afdc: 1a02 0900 |000c: const-string v2, " │ │ " // string@0009 │ │ -02afe4: 6e20 8905 2100 |000e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02afea: 6e10 8b05 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02aff0: 0c01 |0014: move-result-object v1 │ │ -02aff2: 7020 7e05 1000 |0015: invoke-direct {v0, v1}, Ljava/lang/StringBuffer;.:(Ljava/lang/String;)V // method@057e │ │ -02aff8: 5461 a803 |0018: iget-object v1, v6, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a8 │ │ -02affc: 6e10 5f06 0100 |001a: invoke-virtual {v1}, Ljava/util/Vector;.iterator:()Ljava/util/Iterator; // method@065f │ │ -02b002: 0c01 |001d: move-result-object v1 │ │ -02b004: 7210 1b06 0100 |001e: invoke-interface {v1}, Ljava/util/Iterator;.hasNext:()Z // method@061b │ │ -02b00a: 0a03 |0021: move-result v3 │ │ -02b00c: 3803 1800 |0022: if-eqz v3, 003a // +0018 │ │ -02b010: 7210 1c06 0100 |0024: invoke-interface {v1}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@061c │ │ -02b016: 0c03 |0027: move-result-object v3 │ │ -02b018: 1f03 2601 |0028: check-cast v3, Ljava/lang/String; // type@0126 │ │ -02b01c: 5464 a903 |002a: iget-object v4, v6, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ -02b020: 6e10 7a05 0300 |002c: invoke-virtual {v3}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ -02b026: 0c05 |002f: move-result-object v5 │ │ -02b028: 6e20 0906 5400 |0030: invoke-virtual {v4, v5}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0609 │ │ -02b02e: 0c04 |0033: move-result-object v4 │ │ -02b030: 1f04 2601 |0034: check-cast v4, Ljava/lang/String; // type@0126 │ │ -02b034: 6e40 cd07 0643 |0036: invoke-virtual {v6, v0, v3, v4}, Lutil/http/HttpHeader;.appendValueToHeaderString:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;)V // method@07cd │ │ -02b03a: 28e5 |0039: goto 001e // -001b │ │ -02b03c: 6e20 8005 2000 |003a: invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@0580 │ │ -02b042: 6e10 8205 0000 |003d: invoke-virtual {v0}, Ljava/lang/StringBuffer;.toString:()Ljava/lang/String; // method@0582 │ │ -02b048: 0c00 |0040: move-result-object v0 │ │ -02b04a: 1100 |0041: return-object v0 │ │ +02afe0: 6e20 8905 2100 |000e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02afe6: 6e10 8b05 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02afec: 0c01 |0014: move-result-object v1 │ │ +02afee: 7020 7e05 1000 |0015: invoke-direct {v0, v1}, Ljava/lang/StringBuffer;.:(Ljava/lang/String;)V // method@057e │ │ +02aff4: 5461 a803 |0018: iget-object v1, v6, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a8 │ │ +02aff8: 6e10 5f06 0100 |001a: invoke-virtual {v1}, Ljava/util/Vector;.iterator:()Ljava/util/Iterator; // method@065f │ │ +02affe: 0c01 |001d: move-result-object v1 │ │ +02b000: 7210 1b06 0100 |001e: invoke-interface {v1}, Ljava/util/Iterator;.hasNext:()Z // method@061b │ │ +02b006: 0a03 |0021: move-result v3 │ │ +02b008: 3803 1800 |0022: if-eqz v3, 003a // +0018 │ │ +02b00c: 7210 1c06 0100 |0024: invoke-interface {v1}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@061c │ │ +02b012: 0c03 |0027: move-result-object v3 │ │ +02b014: 1f03 2601 |0028: check-cast v3, Ljava/lang/String; // type@0126 │ │ +02b018: 5464 a903 |002a: iget-object v4, v6, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ +02b01c: 6e10 7a05 0300 |002c: invoke-virtual {v3}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ +02b022: 0c05 |002f: move-result-object v5 │ │ +02b024: 6e20 0906 5400 |0030: invoke-virtual {v4, v5}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0609 │ │ +02b02a: 0c04 |0033: move-result-object v4 │ │ +02b02c: 1f04 2601 |0034: check-cast v4, Ljava/lang/String; // type@0126 │ │ +02b030: 6e40 cd07 0643 |0036: invoke-virtual {v6, v0, v3, v4}, Lutil/http/HttpHeader;.appendValueToHeaderString:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;)V // method@07cd │ │ +02b036: 28e5 |0039: goto 001e // -001b │ │ +02b038: 6e20 8005 2000 |003a: invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@0580 │ │ +02b03e: 6e10 8205 0000 |003d: invoke-virtual {v0}, Ljava/lang/StringBuffer;.toString:()Ljava/lang/String; // method@0582 │ │ +02b044: 0c00 |0040: move-result-object v0 │ │ +02b046: 1100 |0041: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=215 │ │ 0x0018 line=216 │ │ 0x001e line=217 │ │ 0x0024 line=218 │ │ 0x002a line=219 │ │ @@ -34759,30 +34759,30 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 31 16-bit code units │ │ -02af4c: |[02af4c] util.http.HttpHeader.getResponseCode:()I │ │ -02af5c: 5230 b203 |0000: iget v0, v3, Lutil/http/HttpHeader;.type:I // field@03b2 │ │ -02af60: 1221 |0002: const/4 v1, #int 2 // #2 │ │ -02af62: 3310 0500 |0003: if-ne v0, v1, 0008 // +0005 │ │ -02af66: 5230 b003 |0005: iget v0, v3, Lutil/http/HttpHeader;.responsecode:I // field@03b0 │ │ -02af6a: 0f00 |0007: return v0 │ │ -02af6c: 2200 1801 |0008: new-instance v0, Ljava/lang/IllegalStateException; // type@0118 │ │ -02af70: 2201 2801 |000a: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -02af74: 7010 8305 0100 |000c: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -02af7a: 6e20 8805 3100 |000f: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ -02af80: 1a02 2000 |0012: const-string v2, " is not a response header!" // string@0020 │ │ -02af84: 6e20 8905 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02af8a: 6e10 8b05 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02af90: 0c01 |001a: move-result-object v1 │ │ -02af92: 7020 3d05 1000 |001b: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ -02af98: 2700 |001e: throw v0 │ │ +02af48: |[02af48] util.http.HttpHeader.getResponseCode:()I │ │ +02af58: 5230 b203 |0000: iget v0, v3, Lutil/http/HttpHeader;.type:I // field@03b2 │ │ +02af5c: 1221 |0002: const/4 v1, #int 2 // #2 │ │ +02af5e: 3310 0500 |0003: if-ne v0, v1, 0008 // +0005 │ │ +02af62: 5230 b003 |0005: iget v0, v3, Lutil/http/HttpHeader;.responsecode:I // field@03b0 │ │ +02af66: 0f00 |0007: return v0 │ │ +02af68: 2200 1801 |0008: new-instance v0, Ljava/lang/IllegalStateException; // type@0118 │ │ +02af6c: 2201 2801 |000a: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +02af70: 7010 8305 0100 |000c: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +02af76: 6e20 8805 3100 |000f: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ +02af7c: 1a02 2000 |0012: const-string v2, " is not a response header!" // string@0020 │ │ +02af80: 6e20 8905 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02af86: 6e10 8b05 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02af8c: 0c01 |001a: move-result-object v1 │ │ +02af8e: 7020 3d05 1000 |001b: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ +02af94: 2700 |001e: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=193 │ │ 0x0005 line=195 │ │ 0x0008 line=194 │ │ locals : │ │ 0x0000 - 0x001f reg=3 this Lutil/http/HttpHeader; │ │ @@ -34792,30 +34792,30 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 31 16-bit code units │ │ -02b04c: |[02b04c] util.http.HttpHeader.getResponseMessage:()Ljava/lang/String; │ │ -02b05c: 5230 b203 |0000: iget v0, v3, Lutil/http/HttpHeader;.type:I // field@03b2 │ │ -02b060: 1221 |0002: const/4 v1, #int 2 // #2 │ │ -02b062: 3310 0500 |0003: if-ne v0, v1, 0008 // +0005 │ │ -02b066: 5430 a703 |0005: iget-object v0, v3, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ -02b06a: 1100 |0007: return-object v0 │ │ -02b06c: 2200 1801 |0008: new-instance v0, Ljava/lang/IllegalStateException; // type@0118 │ │ -02b070: 2201 2801 |000a: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -02b074: 7010 8305 0100 |000c: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -02b07a: 6e20 8805 3100 |000f: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ -02b080: 1a02 2000 |0012: const-string v2, " is not a response header!" // string@0020 │ │ -02b084: 6e20 8905 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02b08a: 6e10 8b05 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02b090: 0c01 |001a: move-result-object v1 │ │ -02b092: 7020 3d05 1000 |001b: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ -02b098: 2700 |001e: throw v0 │ │ +02b048: |[02b048] util.http.HttpHeader.getResponseMessage:()Ljava/lang/String; │ │ +02b058: 5230 b203 |0000: iget v0, v3, Lutil/http/HttpHeader;.type:I // field@03b2 │ │ +02b05c: 1221 |0002: const/4 v1, #int 2 // #2 │ │ +02b05e: 3310 0500 |0003: if-ne v0, v1, 0008 // +0005 │ │ +02b062: 5430 a703 |0005: iget-object v0, v3, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ +02b066: 1100 |0007: return-object v0 │ │ +02b068: 2200 1801 |0008: new-instance v0, Ljava/lang/IllegalStateException; // type@0118 │ │ +02b06c: 2201 2801 |000a: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +02b070: 7010 8305 0100 |000c: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +02b076: 6e20 8805 3100 |000f: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ +02b07c: 1a02 2000 |0012: const-string v2, " is not a response header!" // string@0020 │ │ +02b080: 6e20 8905 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02b086: 6e10 8b05 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02b08c: 0c01 |001a: move-result-object v1 │ │ +02b08e: 7020 3d05 1000 |001b: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ +02b094: 2700 |001e: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=187 │ │ 0x0005 line=189 │ │ 0x0008 line=188 │ │ locals : │ │ 0x0000 - 0x001f reg=3 this Lutil/http/HttpHeader; │ │ @@ -34825,19 +34825,19 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -02b09c: |[02b09c] util.http.HttpHeader.getServerRequestHeader:()Ljava/lang/String; │ │ -02b0ac: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02b0ae: 6e20 d707 0100 |0001: invoke-virtual {v1, v0}, Lutil/http/HttpHeader;.getServerRequestHeader:(Z)Ljava/lang/String; // method@07d7 │ │ -02b0b4: 0c00 |0004: move-result-object v0 │ │ -02b0b6: 1100 |0005: return-object v0 │ │ +02b098: |[02b098] util.http.HttpHeader.getServerRequestHeader:()Ljava/lang/String; │ │ +02b0a8: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02b0aa: 6e20 d707 0100 |0001: invoke-virtual {v1, v0}, Lutil/http/HttpHeader;.getServerRequestHeader:(Z)Ljava/lang/String; // method@07d7 │ │ +02b0b0: 0c00 |0004: move-result-object v0 │ │ +02b0b2: 1100 |0005: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=270 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lutil/http/HttpHeader; │ │ │ │ #10 : (in Lutil/http/HttpHeader;) │ │ @@ -34845,134 +34845,134 @@ │ │ type : '(Z)Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 11 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 252 16-bit code units │ │ -02b0b8: |[02b0b8] util.http.HttpHeader.getServerRequestHeader:(Z)Ljava/lang/String; │ │ -02b0c8: 5490 a703 |0000: iget-object v0, v9, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ -02b0cc: 5591 b103 |0002: iget-boolean v1, v9, Lutil/http/HttpHeader;.tunnelMode:Z // field@03b1 │ │ -02b0d0: 3901 4200 |0004: if-nez v1, 0046 // +0042 │ │ -02b0d4: 1a00 1400 |0006: const-string v0, " HTTP/1.1" // string@0014 │ │ -02b0d8: 380a 2300 |0008: if-eqz v10, 002b // +0023 │ │ -02b0dc: 2201 2801 |000a: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -02b0e0: 7010 8305 0100 |000c: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -02b0e6: 5492 ab03 |000f: iget-object v2, v9, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03ab │ │ -02b0ea: 6e20 8905 2100 |0011: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02b0f0: 1a02 1f00 |0014: const-string v2, " http://" // string@001f │ │ -02b0f4: 6e20 8905 2100 |0016: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02b0fa: 5492 aa03 |0019: iget-object v2, v9, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ -02b0fe: 6e20 8905 2100 |001b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02b104: 5492 b303 |001e: iget-object v2, v9, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ -02b108: 6e20 8905 2100 |0020: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02b10e: 6e20 8905 0100 |0023: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02b114: 6e10 8b05 0100 |0026: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02b11a: 0c00 |0029: move-result-object v0 │ │ -02b11c: 281c |002a: goto 0046 // +001c │ │ -02b11e: 2201 2801 |002b: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -02b122: 7010 8305 0100 |002d: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -02b128: 5492 ab03 |0030: iget-object v2, v9, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03ab │ │ -02b12c: 6e20 8905 2100 |0032: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02b132: 1a02 0d00 |0035: const-string v2, " " // string@000d │ │ -02b136: 6e20 8905 2100 |0037: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02b13c: 5492 b303 |003a: iget-object v2, v9, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ -02b140: 6e20 8905 2100 |003c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02b146: 6e20 8905 0100 |003f: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02b14c: 6e10 8b05 0100 |0042: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02b152: 0c00 |0045: move-result-object v0 │ │ -02b154: 2201 2701 |0046: new-instance v1, Ljava/lang/StringBuffer; // type@0127 │ │ -02b158: 2202 2801 |0048: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -02b15c: 7010 8305 0200 |004a: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -02b162: 6e20 8905 0200 |004d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02b168: 1a00 0900 |0050: const-string v0, " │ │ +02b0b4: |[02b0b4] util.http.HttpHeader.getServerRequestHeader:(Z)Ljava/lang/String; │ │ +02b0c4: 5490 a703 |0000: iget-object v0, v9, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ +02b0c8: 5591 b103 |0002: iget-boolean v1, v9, Lutil/http/HttpHeader;.tunnelMode:Z // field@03b1 │ │ +02b0cc: 3901 4200 |0004: if-nez v1, 0046 // +0042 │ │ +02b0d0: 1a00 1400 |0006: const-string v0, " HTTP/1.1" // string@0014 │ │ +02b0d4: 380a 2300 |0008: if-eqz v10, 002b // +0023 │ │ +02b0d8: 2201 2801 |000a: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +02b0dc: 7010 8305 0100 |000c: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +02b0e2: 5492 ab03 |000f: iget-object v2, v9, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03ab │ │ +02b0e6: 6e20 8905 2100 |0011: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02b0ec: 1a02 1f00 |0014: const-string v2, " http://" // string@001f │ │ +02b0f0: 6e20 8905 2100 |0016: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02b0f6: 5492 aa03 |0019: iget-object v2, v9, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ +02b0fa: 6e20 8905 2100 |001b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02b100: 5492 b303 |001e: iget-object v2, v9, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ +02b104: 6e20 8905 2100 |0020: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02b10a: 6e20 8905 0100 |0023: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02b110: 6e10 8b05 0100 |0026: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02b116: 0c00 |0029: move-result-object v0 │ │ +02b118: 281c |002a: goto 0046 // +001c │ │ +02b11a: 2201 2801 |002b: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +02b11e: 7010 8305 0100 |002d: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +02b124: 5492 ab03 |0030: iget-object v2, v9, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03ab │ │ +02b128: 6e20 8905 2100 |0032: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02b12e: 1a02 0d00 |0035: const-string v2, " " // string@000d │ │ +02b132: 6e20 8905 2100 |0037: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02b138: 5492 b303 |003a: iget-object v2, v9, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b3 │ │ +02b13c: 6e20 8905 2100 |003c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02b142: 6e20 8905 0100 |003f: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02b148: 6e10 8b05 0100 |0042: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02b14e: 0c00 |0045: move-result-object v0 │ │ +02b150: 2201 2701 |0046: new-instance v1, Ljava/lang/StringBuffer; // type@0127 │ │ +02b154: 2202 2801 |0048: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +02b158: 7010 8305 0200 |004a: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +02b15e: 6e20 8905 0200 |004d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02b164: 1a00 0900 |0050: const-string v0, " │ │ " // string@0009 │ │ -02b16c: 6e20 8905 0200 |0052: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02b172: 6e10 8b05 0200 |0055: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02b178: 0c02 |0058: move-result-object v2 │ │ -02b17a: 7020 7e05 2100 |0059: invoke-direct {v1, v2}, Ljava/lang/StringBuffer;.:(Ljava/lang/String;)V // method@057e │ │ -02b180: 5492 a903 |005c: iget-object v2, v9, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ -02b184: 6e10 0706 0200 |005e: invoke-virtual {v2}, Ljava/util/HashMap;.clone:()Ljava/lang/Object; // method@0607 │ │ -02b18a: 0c02 |0061: move-result-object v2 │ │ -02b18c: 1f02 5401 |0062: check-cast v2, Ljava/util/HashMap; // type@0154 │ │ -02b190: 1203 |0064: const/4 v3, #int 0 // #0 │ │ -02b192: 6204 af03 |0065: sget-object v4, Lutil/http/HttpHeader;.reqparamSequence:[Ljava/lang/String; // field@03af │ │ -02b196: 2145 |0067: array-length v5, v4 │ │ -02b198: 1a06 8600 |0068: const-string v6, ": │ │ +02b168: 6e20 8905 0200 |0052: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02b16e: 6e10 8b05 0200 |0055: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02b174: 0c02 |0058: move-result-object v2 │ │ +02b176: 7020 7e05 2100 |0059: invoke-direct {v1, v2}, Ljava/lang/StringBuffer;.:(Ljava/lang/String;)V // method@057e │ │ +02b17c: 5492 a903 |005c: iget-object v2, v9, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ +02b180: 6e10 0706 0200 |005e: invoke-virtual {v2}, Ljava/util/HashMap;.clone:()Ljava/lang/Object; // method@0607 │ │ +02b186: 0c02 |0061: move-result-object v2 │ │ +02b188: 1f02 5401 |0062: check-cast v2, Ljava/util/HashMap; // type@0154 │ │ +02b18c: 1203 |0064: const/4 v3, #int 0 // #0 │ │ +02b18e: 6204 af03 |0065: sget-object v4, Lutil/http/HttpHeader;.reqparamSequence:[Ljava/lang/String; // field@03af │ │ +02b192: 2145 |0067: array-length v5, v4 │ │ +02b194: 1a06 8600 |0068: const-string v6, ": │ │ " // string@0086 │ │ -02b19c: 3553 3f00 |006a: if-ge v3, v5, 00a9 // +003f │ │ -02b1a0: 4604 0403 |006c: aget-object v4, v4, v3 │ │ -02b1a4: 6e10 7a05 0400 |006e: invoke-virtual {v4}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ -02b1aa: 0c05 |0071: move-result-object v5 │ │ -02b1ac: 6e20 0b06 5200 |0072: invoke-virtual {v2, v5}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@060b │ │ -02b1b2: 0c05 |0075: move-result-object v5 │ │ -02b1b4: 1f05 2601 |0076: check-cast v5, Ljava/lang/String; // type@0126 │ │ -02b1b8: 3805 2e00 |0078: if-eqz v5, 00a6 // +002e │ │ -02b1bc: 380a 1000 |007a: if-eqz v10, 008a // +0010 │ │ -02b1c0: 6e10 7a05 0400 |007c: invoke-virtual {v4}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ -02b1c6: 0c07 |007f: move-result-object v7 │ │ -02b1c8: 1a08 ee00 |0080: const-string v8, "CONNECTION" // string@00ee │ │ -02b1cc: 6e20 6705 8700 |0082: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -02b1d2: 0a07 |0085: move-result v7 │ │ -02b1d4: 3807 0400 |0086: if-eqz v7, 008a // +0004 │ │ -02b1d8: 1a04 1604 |0088: const-string v4, "Proxy-Connection" // string@0416 │ │ -02b1dc: 6e10 7005 0500 |008a: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0570 │ │ -02b1e2: 0a07 |008d: move-result v7 │ │ -02b1e4: 3d07 0600 |008e: if-lez v7, 0094 // +0006 │ │ -02b1e8: 6e40 cd07 1954 |0090: invoke-virtual {v9, v1, v4, v5}, Lutil/http/HttpHeader;.appendValueToHeaderString:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;)V // method@07cd │ │ -02b1ee: 2813 |0093: goto 00a6 // +0013 │ │ -02b1f0: 2205 2801 |0094: new-instance v5, Ljava/lang/StringBuilder; // type@0128 │ │ -02b1f4: 7010 8305 0500 |0096: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -02b1fa: 6e20 8905 4500 |0099: invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02b200: 6e20 8905 6500 |009c: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02b206: 6e10 8b05 0500 |009f: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02b20c: 0c04 |00a2: move-result-object v4 │ │ -02b20e: 6e20 8005 4100 |00a3: invoke-virtual {v1, v4}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@0580 │ │ -02b214: d803 0301 |00a6: add-int/lit8 v3, v3, #int 1 // #01 │ │ -02b218: 28bd |00a8: goto 0065 // -0043 │ │ -02b21a: 5493 a803 |00a9: iget-object v3, v9, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a8 │ │ -02b21e: 6e10 5f06 0300 |00ab: invoke-virtual {v3}, Ljava/util/Vector;.iterator:()Ljava/util/Iterator; // method@065f │ │ -02b224: 0c03 |00ae: move-result-object v3 │ │ -02b226: 7210 1b06 0300 |00af: invoke-interface {v3}, Ljava/util/Iterator;.hasNext:()Z // method@061b │ │ -02b22c: 0a04 |00b2: move-result v4 │ │ -02b22e: 3804 4100 |00b3: if-eqz v4, 00f4 // +0041 │ │ -02b232: 7210 1c06 0300 |00b5: invoke-interface {v3}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@061c │ │ -02b238: 0c04 |00b8: move-result-object v4 │ │ -02b23a: 1f04 2601 |00b9: check-cast v4, Ljava/lang/String; // type@0126 │ │ -02b23e: 6e10 7a05 0400 |00bb: invoke-virtual {v4}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ -02b244: 0c05 |00be: move-result-object v5 │ │ -02b246: 6e20 0b06 5200 |00bf: invoke-virtual {v2, v5}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@060b │ │ -02b24c: 0c05 |00c2: move-result-object v5 │ │ -02b24e: 1f05 2601 |00c3: check-cast v5, Ljava/lang/String; // type@0126 │ │ -02b252: 3805 eaff |00c5: if-eqz v5, 00af // -0016 │ │ -02b256: 390a 1000 |00c7: if-nez v10, 00d7 // +0010 │ │ -02b25a: 6e10 7a05 0400 |00c9: invoke-virtual {v4}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ -02b260: 0c07 |00cc: move-result-object v7 │ │ -02b262: 1a08 0504 |00cd: const-string v8, "PROXY-CONNECTION" // string@0405 │ │ -02b266: 6e20 6705 8700 |00cf: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -02b26c: 0a07 |00d2: move-result v7 │ │ -02b26e: 3807 0400 |00d3: if-eqz v7, 00d7 // +0004 │ │ -02b272: 1a04 1901 |00d5: const-string v4, "Connection" // string@0119 │ │ -02b276: 6e10 7005 0500 |00d7: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0570 │ │ -02b27c: 0a07 |00da: move-result v7 │ │ -02b27e: 3d07 0600 |00db: if-lez v7, 00e1 // +0006 │ │ -02b282: 6e40 cd07 1954 |00dd: invoke-virtual {v9, v1, v4, v5}, Lutil/http/HttpHeader;.appendValueToHeaderString:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;)V // method@07cd │ │ -02b288: 28cf |00e0: goto 00af // -0031 │ │ -02b28a: 2205 2801 |00e1: new-instance v5, Ljava/lang/StringBuilder; // type@0128 │ │ -02b28e: 7010 8305 0500 |00e3: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -02b294: 6e20 8905 4500 |00e6: invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02b29a: 6e20 8905 6500 |00e9: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02b2a0: 6e10 8b05 0500 |00ec: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02b2a6: 0c04 |00ef: move-result-object v4 │ │ -02b2a8: 6e20 8005 4100 |00f0: invoke-virtual {v1, v4}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@0580 │ │ -02b2ae: 28bc |00f3: goto 00af // -0044 │ │ -02b2b0: 6e20 8005 0100 |00f4: invoke-virtual {v1, v0}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@0580 │ │ -02b2b6: 6e10 8205 0100 |00f7: invoke-virtual {v1}, Ljava/lang/StringBuffer;.toString:()Ljava/lang/String; // method@0582 │ │ -02b2bc: 0c0a |00fa: move-result-object v10 │ │ -02b2be: 110a |00fb: return-object v10 │ │ +02b198: 3553 3f00 |006a: if-ge v3, v5, 00a9 // +003f │ │ +02b19c: 4604 0403 |006c: aget-object v4, v4, v3 │ │ +02b1a0: 6e10 7a05 0400 |006e: invoke-virtual {v4}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ +02b1a6: 0c05 |0071: move-result-object v5 │ │ +02b1a8: 6e20 0b06 5200 |0072: invoke-virtual {v2, v5}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@060b │ │ +02b1ae: 0c05 |0075: move-result-object v5 │ │ +02b1b0: 1f05 2601 |0076: check-cast v5, Ljava/lang/String; // type@0126 │ │ +02b1b4: 3805 2e00 |0078: if-eqz v5, 00a6 // +002e │ │ +02b1b8: 380a 1000 |007a: if-eqz v10, 008a // +0010 │ │ +02b1bc: 6e10 7a05 0400 |007c: invoke-virtual {v4}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ +02b1c2: 0c07 |007f: move-result-object v7 │ │ +02b1c4: 1a08 ee00 |0080: const-string v8, "CONNECTION" // string@00ee │ │ +02b1c8: 6e20 6705 8700 |0082: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +02b1ce: 0a07 |0085: move-result v7 │ │ +02b1d0: 3807 0400 |0086: if-eqz v7, 008a // +0004 │ │ +02b1d4: 1a04 1604 |0088: const-string v4, "Proxy-Connection" // string@0416 │ │ +02b1d8: 6e10 7005 0500 |008a: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0570 │ │ +02b1de: 0a07 |008d: move-result v7 │ │ +02b1e0: 3d07 0600 |008e: if-lez v7, 0094 // +0006 │ │ +02b1e4: 6e40 cd07 1954 |0090: invoke-virtual {v9, v1, v4, v5}, Lutil/http/HttpHeader;.appendValueToHeaderString:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;)V // method@07cd │ │ +02b1ea: 2813 |0093: goto 00a6 // +0013 │ │ +02b1ec: 2205 2801 |0094: new-instance v5, Ljava/lang/StringBuilder; // type@0128 │ │ +02b1f0: 7010 8305 0500 |0096: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +02b1f6: 6e20 8905 4500 |0099: invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02b1fc: 6e20 8905 6500 |009c: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02b202: 6e10 8b05 0500 |009f: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02b208: 0c04 |00a2: move-result-object v4 │ │ +02b20a: 6e20 8005 4100 |00a3: invoke-virtual {v1, v4}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@0580 │ │ +02b210: d803 0301 |00a6: add-int/lit8 v3, v3, #int 1 // #01 │ │ +02b214: 28bd |00a8: goto 0065 // -0043 │ │ +02b216: 5493 a803 |00a9: iget-object v3, v9, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a8 │ │ +02b21a: 6e10 5f06 0300 |00ab: invoke-virtual {v3}, Ljava/util/Vector;.iterator:()Ljava/util/Iterator; // method@065f │ │ +02b220: 0c03 |00ae: move-result-object v3 │ │ +02b222: 7210 1b06 0300 |00af: invoke-interface {v3}, Ljava/util/Iterator;.hasNext:()Z // method@061b │ │ +02b228: 0a04 |00b2: move-result v4 │ │ +02b22a: 3804 4100 |00b3: if-eqz v4, 00f4 // +0041 │ │ +02b22e: 7210 1c06 0300 |00b5: invoke-interface {v3}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@061c │ │ +02b234: 0c04 |00b8: move-result-object v4 │ │ +02b236: 1f04 2601 |00b9: check-cast v4, Ljava/lang/String; // type@0126 │ │ +02b23a: 6e10 7a05 0400 |00bb: invoke-virtual {v4}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ +02b240: 0c05 |00be: move-result-object v5 │ │ +02b242: 6e20 0b06 5200 |00bf: invoke-virtual {v2, v5}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@060b │ │ +02b248: 0c05 |00c2: move-result-object v5 │ │ +02b24a: 1f05 2601 |00c3: check-cast v5, Ljava/lang/String; // type@0126 │ │ +02b24e: 3805 eaff |00c5: if-eqz v5, 00af // -0016 │ │ +02b252: 390a 1000 |00c7: if-nez v10, 00d7 // +0010 │ │ +02b256: 6e10 7a05 0400 |00c9: invoke-virtual {v4}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ +02b25c: 0c07 |00cc: move-result-object v7 │ │ +02b25e: 1a08 0504 |00cd: const-string v8, "PROXY-CONNECTION" // string@0405 │ │ +02b262: 6e20 6705 8700 |00cf: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +02b268: 0a07 |00d2: move-result v7 │ │ +02b26a: 3807 0400 |00d3: if-eqz v7, 00d7 // +0004 │ │ +02b26e: 1a04 1901 |00d5: const-string v4, "Connection" // string@0119 │ │ +02b272: 6e10 7005 0500 |00d7: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0570 │ │ +02b278: 0a07 |00da: move-result v7 │ │ +02b27a: 3d07 0600 |00db: if-lez v7, 00e1 // +0006 │ │ +02b27e: 6e40 cd07 1954 |00dd: invoke-virtual {v9, v1, v4, v5}, Lutil/http/HttpHeader;.appendValueToHeaderString:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;)V // method@07cd │ │ +02b284: 28cf |00e0: goto 00af // -0031 │ │ +02b286: 2205 2801 |00e1: new-instance v5, Ljava/lang/StringBuilder; // type@0128 │ │ +02b28a: 7010 8305 0500 |00e3: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +02b290: 6e20 8905 4500 |00e6: invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02b296: 6e20 8905 6500 |00e9: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02b29c: 6e10 8b05 0500 |00ec: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02b2a2: 0c04 |00ef: move-result-object v4 │ │ +02b2a4: 6e20 8005 4100 |00f0: invoke-virtual {v1, v4}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@0580 │ │ +02b2aa: 28bc |00f3: goto 00af // -0044 │ │ +02b2ac: 6e20 8005 0100 |00f4: invoke-virtual {v1, v0}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@0580 │ │ +02b2b2: 6e10 8205 0100 |00f7: invoke-virtual {v1}, Ljava/lang/StringBuffer;.toString:()Ljava/lang/String; // method@0582 │ │ +02b2b8: 0c0a |00fa: move-result-object v10 │ │ +02b2ba: 110a |00fb: return-object v10 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=228 │ │ 0x0002 line=230 │ │ 0x0006 line=231 │ │ 0x000a line=232 │ │ 0x002b line=234 │ │ @@ -35006,22 +35006,22 @@ │ │ type : '(Ljava/lang/String;)Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 13 16-bit code units │ │ -02b2c0: |[02b2c0] util.http.HttpHeader.getValue:(Ljava/lang/String;)Ljava/lang/String; │ │ -02b2d0: 5410 a903 |0000: iget-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ -02b2d4: 6e10 7a05 0200 |0002: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ -02b2da: 0c02 |0005: move-result-object v2 │ │ -02b2dc: 6e20 0906 2000 |0006: invoke-virtual {v0, v2}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0609 │ │ -02b2e2: 0c02 |0009: move-result-object v2 │ │ -02b2e4: 1f02 2601 |000a: check-cast v2, Ljava/lang/String; // type@0126 │ │ -02b2e8: 1102 |000c: return-object v2 │ │ +02b2bc: |[02b2bc] util.http.HttpHeader.getValue:(Ljava/lang/String;)Ljava/lang/String; │ │ +02b2cc: 5410 a903 |0000: iget-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ +02b2d0: 6e10 7a05 0200 |0002: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ +02b2d6: 0c02 |0005: move-result-object v2 │ │ +02b2d8: 6e20 0906 2000 |0006: invoke-virtual {v0, v2}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0609 │ │ +02b2de: 0c02 |0009: move-result-object v2 │ │ +02b2e0: 1f02 2601 |000a: check-cast v2, Ljava/lang/String; // type@0126 │ │ +02b2e4: 1102 |000c: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=199 │ │ locals : │ │ 0x0000 - 0x000d reg=1 this Lutil/http/HttpHeader; │ │ 0x0000 - 0x000d reg=2 (null) Ljava/lang/String; │ │ │ │ @@ -35030,24 +35030,24 @@ │ │ type : '(Ljava/lang/String;)Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 18 16-bit code units │ │ -02b2ec: |[02b2ec] util.http.HttpHeader.removeValue:(Ljava/lang/String;)Ljava/lang/String; │ │ -02b2fc: 5410 a803 |0000: iget-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a8 │ │ -02b300: 6e20 6106 2000 |0002: invoke-virtual {v0, v2}, Ljava/util/Vector;.remove:(Ljava/lang/Object;)Z // method@0661 │ │ -02b306: 5410 a903 |0005: iget-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ -02b30a: 6e10 7a05 0200 |0007: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ -02b310: 0c02 |000a: move-result-object v2 │ │ -02b312: 6e20 0b06 2000 |000b: invoke-virtual {v0, v2}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@060b │ │ -02b318: 0c02 |000e: move-result-object v2 │ │ -02b31a: 1f02 2601 |000f: check-cast v2, Ljava/lang/String; // type@0126 │ │ -02b31e: 1102 |0011: return-object v2 │ │ +02b2e8: |[02b2e8] util.http.HttpHeader.removeValue:(Ljava/lang/String;)Ljava/lang/String; │ │ +02b2f8: 5410 a803 |0000: iget-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a8 │ │ +02b2fc: 6e20 6106 2000 |0002: invoke-virtual {v0, v2}, Ljava/util/Vector;.remove:(Ljava/lang/Object;)Z // method@0661 │ │ +02b302: 5410 a903 |0005: iget-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ +02b306: 6e10 7a05 0200 |0007: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ +02b30c: 0c02 |000a: move-result-object v2 │ │ +02b30e: 6e20 0b06 2000 |000b: invoke-virtual {v0, v2}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@060b │ │ +02b314: 0c02 |000e: move-result-object v2 │ │ +02b316: 1f02 2601 |000f: check-cast v2, Ljava/lang/String; // type@0126 │ │ +02b31a: 1102 |0011: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=203 │ │ 0x0005 line=204 │ │ locals : │ │ 0x0000 - 0x0012 reg=1 this Lutil/http/HttpHeader; │ │ 0x0000 - 0x0012 reg=2 (null) Ljava/lang/String; │ │ @@ -35057,20 +35057,20 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 11 16-bit code units │ │ -02bd2c: |[02bd2c] util.http.HttpHeader.setHostEntry:(Ljava/lang/String;)V │ │ -02bd3c: 5b12 aa03 |0000: iput-object v2, v1, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ -02bd40: 1a00 bd01 |0002: const-string v0, "Host" // string@01bd │ │ -02bd44: 6e30 de07 0102 |0004: invoke-virtual {v1, v0, v2}, Lutil/http/HttpHeader;.setValue:(Ljava/lang/String;Ljava/lang/String;)V // method@07de │ │ -02bd4a: 7010 d907 0100 |0007: invoke-direct {v1}, Lutil/http/HttpHeader;.parseHostEntry:()V // method@07d9 │ │ -02bd50: 0e00 |000a: return-void │ │ +02bd28: |[02bd28] util.http.HttpHeader.setHostEntry:(Ljava/lang/String;)V │ │ +02bd38: 5b12 aa03 |0000: iput-object v2, v1, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ +02bd3c: 1a00 bd01 |0002: const-string v0, "Host" // string@01bd │ │ +02bd40: 6e30 de07 0102 |0004: invoke-virtual {v1, v0, v2}, Lutil/http/HttpHeader;.setValue:(Ljava/lang/String;Ljava/lang/String;)V // method@07de │ │ +02bd46: 7010 d907 0100 |0007: invoke-direct {v1}, Lutil/http/HttpHeader;.parseHostEntry:()V // method@07d9 │ │ +02bd4c: 0e00 |000a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=314 │ │ 0x0002 line=315 │ │ 0x0007 line=316 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Lutil/http/HttpHeader; │ │ @@ -35081,21 +35081,21 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 13 16-bit code units │ │ -02bd54: |[02bd54] util.http.HttpHeader.setRequest:(Ljava/lang/String;)V │ │ -02bd64: 5b12 a703 |0000: iput-object v2, v1, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ -02bd68: 7010 da07 0100 |0002: invoke-direct {v1}, Lutil/http/HttpHeader;.parseURI:()V // method@07da │ │ -02bd6e: 1a02 bd01 |0005: const-string v2, "Host" // string@01bd │ │ -02bd72: 5410 aa03 |0007: iget-object v0, v1, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ -02bd76: 6e30 de07 2100 |0009: invoke-virtual {v1, v2, v0}, Lutil/http/HttpHeader;.setValue:(Ljava/lang/String;Ljava/lang/String;)V // method@07de │ │ -02bd7c: 0e00 |000c: return-void │ │ +02bd50: |[02bd50] util.http.HttpHeader.setRequest:(Ljava/lang/String;)V │ │ +02bd60: 5b12 a703 |0000: iput-object v2, v1, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a7 │ │ +02bd64: 7010 da07 0100 |0002: invoke-direct {v1}, Lutil/http/HttpHeader;.parseURI:()V // method@07da │ │ +02bd6a: 1a02 bd01 |0005: const-string v2, "Host" // string@01bd │ │ +02bd6e: 5410 aa03 |0007: iget-object v0, v1, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03aa │ │ +02bd72: 6e30 de07 2100 |0009: invoke-virtual {v1, v2, v0}, Lutil/http/HttpHeader;.setValue:(Ljava/lang/String;Ljava/lang/String;)V // method@07de │ │ +02bd78: 0e00 |000c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=181 │ │ 0x0002 line=182 │ │ 0x0005 line=183 │ │ locals : │ │ 0x0000 - 0x000d reg=1 this Lutil/http/HttpHeader; │ │ @@ -35106,25 +35106,25 @@ │ │ type : '(Ljava/lang/String;Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 21 16-bit code units │ │ -02bd80: |[02bd80] util.http.HttpHeader.setValue:(Ljava/lang/String;Ljava/lang/String;)V │ │ -02bd90: 6e20 d807 2100 |0000: invoke-virtual {v1, v2}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07d8 │ │ -02bd96: 0c00 |0003: move-result-object v0 │ │ -02bd98: 3900 0700 |0004: if-nez v0, 000b // +0007 │ │ -02bd9c: 5410 a803 |0006: iget-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a8 │ │ -02bda0: 6e20 5806 2000 |0008: invoke-virtual {v0, v2}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0658 │ │ -02bda6: 5410 a903 |000b: iget-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ -02bdaa: 6e10 7a05 0200 |000d: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ -02bdb0: 0c02 |0010: move-result-object v2 │ │ -02bdb2: 6e30 0a06 2003 |0011: invoke-virtual {v0, v2, v3}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@060a │ │ -02bdb8: 0e00 |0014: return-void │ │ +02bd7c: |[02bd7c] util.http.HttpHeader.setValue:(Ljava/lang/String;Ljava/lang/String;)V │ │ +02bd8c: 6e20 d807 2100 |0000: invoke-virtual {v1, v2}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07d8 │ │ +02bd92: 0c00 |0003: move-result-object v0 │ │ +02bd94: 3900 0700 |0004: if-nez v0, 000b // +0007 │ │ +02bd98: 5410 a803 |0006: iget-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a8 │ │ +02bd9c: 6e20 5806 2000 |0008: invoke-virtual {v0, v2}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0658 │ │ +02bda2: 5410 a903 |000b: iget-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a9 │ │ +02bda6: 6e10 7a05 0200 |000d: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@057a │ │ +02bdac: 0c02 |0010: move-result-object v2 │ │ +02bdae: 6e30 0a06 2003 |0011: invoke-virtual {v0, v2, v3}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@060a │ │ +02bdb4: 0e00 |0014: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=307 │ │ 0x0006 line=308 │ │ 0x000b line=310 │ │ locals : │ │ 0x0000 - 0x0015 reg=1 this Lutil/http/HttpHeader; │ │ @@ -42409,19 +42409,19 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 11 16-bit code units │ │ -0193d0: |[0193d0] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.:()V │ │ -0193e0: 7010 4f05 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@054f │ │ -0193e6: 1800 ffff ffff ffff ff7f |0003: const-wide v0, #double nan // #7fffffffffffffff │ │ -0193f0: 5a20 ea00 |0008: iput-wide v0, v2, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.timeout:J // field@00ea │ │ -0193f4: 0e00 |000a: return-void │ │ +0193cc: |[0193cc] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.:()V │ │ +0193dc: 7010 4f05 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@054f │ │ +0193e2: 1800 ffff ffff ffff ff7f |0003: const-wide v0, #double nan // #7fffffffffffffff │ │ +0193ec: 5a20 ea00 |0008: iput-wide v0, v2, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.timeout:J // field@00ea │ │ +0193f0: 0e00 |000a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=200 │ │ 0x0008 line=202 │ │ locals : │ │ 0x0000 - 0x000b reg=2 this Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; │ │ │ │ @@ -42430,17 +42430,17 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity$1;)V' │ │ access : 0x11000 (SYNTHETIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -0193f8: |[0193f8] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.:(Ldnsfilter/android/DNSProxyActivity$1;)V │ │ -019408: 7010 a702 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.:()V // method@02a7 │ │ -01940e: 0e00 |0003: return-void │ │ +0193f4: |[0193f4] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.:(Ldnsfilter/android/DNSProxyActivity$1;)V │ │ +019404: 7010 a702 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.:()V // method@02a7 │ │ +01940a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=200 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; │ │ 0x0000 - 0x0004 reg=1 (null) Ldnsfilter/android/DNSProxyActivity$1; │ │ │ │ @@ -42449,17 +42449,17 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;I)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -019410: |[019410] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.access$800:(Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;I)V │ │ -019420: 7020 ac02 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.setTimeout:(I)V // method@02ac │ │ -019426: 0e00 |0003: return-void │ │ +01940c: |[01940c] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.access$800:(Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;I)V │ │ +01941c: 7020 ac02 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.setTimeout:(I)V // method@02ac │ │ +019422: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=200 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; │ │ 0x0000 - 0x0004 reg=1 (null) I │ │ │ │ @@ -42468,24 +42468,24 @@ │ │ type : '(I)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 16 16-bit code units │ │ -019440: |[019440] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.setTimeout:(I)V │ │ -019450: 7100 8d05 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@058d │ │ -019456: 0b00 |0003: move-result-wide v0 │ │ -019458: 8152 |0004: int-to-long v2, v5 │ │ -01945a: bb20 |0005: add-long/2addr v0, v2 │ │ -01945c: 5a40 ea00 |0006: iput-wide v0, v4, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.timeout:J // field@00ea │ │ -019460: 7100 6207 0000 |0008: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0762 │ │ -019466: 0c05 |000b: move-result-object v5 │ │ -019468: 6e20 6407 4500 |000c: invoke-virtual {v5, v4}, Lutil/TimoutNotificator;.register:(Lutil/TimeoutListener;)V // method@0764 │ │ -01946e: 0e00 |000f: return-void │ │ +01943c: |[01943c] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.setTimeout:(I)V │ │ +01944c: 7100 8d05 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@058d │ │ +019452: 0b00 |0003: move-result-wide v0 │ │ +019454: 8152 |0004: int-to-long v2, v5 │ │ +019456: bb20 |0005: add-long/2addr v0, v2 │ │ +019458: 5a40 ea00 |0006: iput-wide v0, v4, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.timeout:J // field@00ea │ │ +01945c: 7100 6207 0000 |0008: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0762 │ │ +019462: 0c05 |000b: move-result-object v5 │ │ +019464: 6e20 6407 4500 |000c: invoke-virtual {v5, v4}, Lutil/TimoutNotificator;.register:(Lutil/TimeoutListener;)V // method@0764 │ │ +01946a: 0e00 |000f: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=211 │ │ 0x0008 line=212 │ │ locals : │ │ 0x0000 - 0x0010 reg=4 this Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; │ │ 0x0000 - 0x0010 reg=5 (null) I │ │ @@ -42496,17 +42496,17 @@ │ │ type : '()J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0193b8: |[0193b8] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.getTimoutTime:()J │ │ -0193c8: 5320 ea00 |0000: iget-wide v0, v2, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.timeout:J // field@00ea │ │ -0193cc: 1000 |0002: return-wide v0 │ │ +0193b4: |[0193b4] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.getTimoutTime:()J │ │ +0193c4: 5320 ea00 |0000: iget-wide v0, v2, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.timeout:J // field@00ea │ │ +0193c8: 1000 |0002: return-wide v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=229 │ │ locals : │ │ 0x0000 - 0x0003 reg=2 this Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; │ │ │ │ #1 : (in Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;) │ │ @@ -42514,17 +42514,17 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -019428: |[019428] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.setActivity:(Ldnsfilter/android/DNSProxyActivity;)V │ │ -019438: 5b01 e900 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.activity:Ldnsfilter/android/DNSProxyActivity; // field@00e9 │ │ -01943c: 0e00 |0002: return-void │ │ +019424: |[019424] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.setActivity:(Ldnsfilter/android/DNSProxyActivity;)V │ │ +019434: 5b01 e900 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.activity:Ldnsfilter/android/DNSProxyActivity; // field@00e9 │ │ +019438: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=207 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; │ │ 0x0000 - 0x0003 reg=1 (null) Ldnsfilter/android/DNSProxyActivity; │ │ │ │ @@ -42533,47 +42533,47 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 67 16-bit code units │ │ -019470: |[019470] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.timeoutNotification:()V │ │ -019480: 6200 f000 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -019484: 6e10 4301 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0143 │ │ -01948a: 0a00 |0005: move-result v0 │ │ -01948c: 3800 1900 |0006: if-eqz v0, 001f // +0019 │ │ -019490: 5430 e900 |0008: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.activity:Ldnsfilter/android/DNSProxyActivity; // field@00e9 │ │ -019494: 6201 1f01 |000a: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.link_field_txt:Ljava/lang/String; // field@011f │ │ -019498: 7110 b202 0100 |000c: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.access$000:(Ljava/lang/String;)Landroid/text/Spanned; // method@02b2 │ │ -01949e: 0c01 |000f: move-result-object v1 │ │ -0194a0: 6002 1e01 |0010: sget v2, Ldnsfilter/android/DNSProxyActivity;.link_field_color:I // field@011e │ │ -0194a4: 7130 b302 1002 |0012: invoke-static {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.access$100:(Ldnsfilter/android/DNSProxyActivity;Landroid/text/Spanned;I)V // method@02b3 │ │ -0194aa: 6200 1d01 |0015: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ -0194ae: 7100 8c00 0000 |0017: invoke-static {}, Landroid/text/method/LinkMovementMethod;.getInstance:()Landroid/text/method/MovementMethod; // method@008c │ │ -0194b4: 0c01 |001a: move-result-object v1 │ │ -0194b6: 6e20 f200 1000 |001b: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setMovementMethod:(Landroid/text/method/MovementMethod;)V // method@00f2 │ │ -0194bc: 2821 |001e: goto 003f // +0021 │ │ -0194be: 5430 e900 |001f: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.activity:Ldnsfilter/android/DNSProxyActivity; // field@00e9 │ │ -0194c2: 2201 2801 |0021: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -0194c6: 1a02 9b00 |0023: const-string v2, "" // string@009b │ │ -0194ca: 7020 8405 2100 |0025: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -0194d0: 6202 f000 |0028: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -0194d4: 6e20 8805 2100 |002a: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ -0194da: 1a02 9300 |002d: const-string v2, "" // string@0093 │ │ -0194de: 6e20 8905 2100 |002f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0194e4: 6e10 8b05 0100 |0032: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0194ea: 0c01 |0035: move-result-object v1 │ │ -0194ec: 7110 b202 0100 |0036: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.access$000:(Ljava/lang/String;)Landroid/text/Spanned; // method@02b2 │ │ -0194f2: 0c01 |0039: move-result-object v1 │ │ -0194f4: 6002 1e01 |003a: sget v2, Ldnsfilter/android/DNSProxyActivity;.link_field_color:I // field@011e │ │ -0194f8: 7130 b302 1002 |003c: invoke-static {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.access$100:(Ldnsfilter/android/DNSProxyActivity;Landroid/text/Spanned;I)V // method@02b3 │ │ -0194fe: 1200 |003f: const/4 v0, #int 0 // #0 │ │ -019500: 6a00 f600 |0040: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.MSG_ACTIVE:Z // field@00f6 │ │ -019504: 0e00 |0042: return-void │ │ +01946c: |[01946c] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.timeoutNotification:()V │ │ +01947c: 6200 f000 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +019480: 6e10 4301 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0143 │ │ +019486: 0a00 |0005: move-result v0 │ │ +019488: 3800 1900 |0006: if-eqz v0, 001f // +0019 │ │ +01948c: 5430 e900 |0008: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.activity:Ldnsfilter/android/DNSProxyActivity; // field@00e9 │ │ +019490: 6201 1f01 |000a: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.link_field_txt:Ljava/lang/String; // field@011f │ │ +019494: 7110 b202 0100 |000c: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.access$000:(Ljava/lang/String;)Landroid/text/Spanned; // method@02b2 │ │ +01949a: 0c01 |000f: move-result-object v1 │ │ +01949c: 6002 1e01 |0010: sget v2, Ldnsfilter/android/DNSProxyActivity;.link_field_color:I // field@011e │ │ +0194a0: 7130 b302 1002 |0012: invoke-static {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.access$100:(Ldnsfilter/android/DNSProxyActivity;Landroid/text/Spanned;I)V // method@02b3 │ │ +0194a6: 6200 1d01 |0015: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ +0194aa: 7100 8c00 0000 |0017: invoke-static {}, Landroid/text/method/LinkMovementMethod;.getInstance:()Landroid/text/method/MovementMethod; // method@008c │ │ +0194b0: 0c01 |001a: move-result-object v1 │ │ +0194b2: 6e20 f200 1000 |001b: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setMovementMethod:(Landroid/text/method/MovementMethod;)V // method@00f2 │ │ +0194b8: 2821 |001e: goto 003f // +0021 │ │ +0194ba: 5430 e900 |001f: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.activity:Ldnsfilter/android/DNSProxyActivity; // field@00e9 │ │ +0194be: 2201 2801 |0021: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +0194c2: 1a02 9b00 |0023: const-string v2, "" // string@009b │ │ +0194c6: 7020 8405 2100 |0025: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +0194cc: 6202 f000 |0028: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +0194d0: 6e20 8805 2100 |002a: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ +0194d6: 1a02 9300 |002d: const-string v2, "" // string@0093 │ │ +0194da: 6e20 8905 2100 |002f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0194e0: 6e10 8b05 0100 |0032: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0194e6: 0c01 |0035: move-result-object v1 │ │ +0194e8: 7110 b202 0100 |0036: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.access$000:(Ljava/lang/String;)Landroid/text/Spanned; // method@02b2 │ │ +0194ee: 0c01 |0039: move-result-object v1 │ │ +0194f0: 6002 1e01 |003a: sget v2, Ldnsfilter/android/DNSProxyActivity;.link_field_color:I // field@011e │ │ +0194f4: 7130 b302 1002 |003c: invoke-static {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.access$100:(Ldnsfilter/android/DNSProxyActivity;Landroid/text/Spanned;I)V // method@02b3 │ │ +0194fa: 1200 |003f: const/4 v0, #int 0 // #0 │ │ +0194fc: 6a00 f600 |0040: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.MSG_ACTIVE:Z // field@00f6 │ │ +019500: 0e00 |0042: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=217 │ │ 0x0008 line=218 │ │ 0x0015 line=219 │ │ 0x001f line=222 │ │ 0x0040 line=224 │ │ @@ -42991,35 +42991,35 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 0 │ │ outs : 2 │ │ insns size : 37 16-bit code units │ │ -019dfc: |[019dfc] dnsfilter.android.DNSProxyActivity.:()V │ │ -019e0c: 7100 3f01 0000 |0000: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -019e12: 0c00 |0003: move-result-object v0 │ │ -019e14: 6900 f000 |0004: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -019e18: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -019e1a: 6a00 3801 |0007: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ -019e1e: 1201 |0009: const/4 v1, #int 0 // #0 │ │ -019e20: 6901 fb00 |000a: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fb │ │ -019e24: 6a00 fa00 |000c: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.NO_VPN:Z // field@00fa │ │ -019e28: 6a00 f600 |000e: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.MSG_ACTIVE:Z // field@00f6 │ │ -019e2c: 6700 f200 |0010: sput v0, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00f2 │ │ -019e30: 6700 f100 |0012: sput v0, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_HEIGTH:I // field@00f1 │ │ -019e34: 2202 a900 |0014: new-instance v2, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // type@00a9 │ │ -019e38: 7020 a802 1200 |0016: invoke-direct {v2, v1}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.:(Ldnsfilter/android/DNSProxyActivity$1;)V // method@02a8 │ │ -019e3e: 6902 f700 |0019: sput-object v2, Ldnsfilter/android/DNSProxyActivity;.MsgTO:Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // field@00f7 │ │ -019e42: 6901 2601 |001b: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -019e46: 1212 |001d: const/4 v2, #int 1 // #1 │ │ -019e48: 6a02 3501 |001e: sput-boolean v2, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ -019e4c: 6a00 2701 |0020: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialogChanged:Z // field@0127 │ │ -019e50: 6901 1b01 |0022: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.initialInfoPopUpExitBtn:Landroid/widget/Button; // field@011b │ │ -019e54: 0e00 |0024: return-void │ │ +019df8: |[019df8] dnsfilter.android.DNSProxyActivity.:()V │ │ +019e08: 7100 3f01 0000 |0000: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +019e0e: 0c00 |0003: move-result-object v0 │ │ +019e10: 6900 f000 |0004: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +019e14: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +019e16: 6a00 3801 |0007: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ +019e1a: 1201 |0009: const/4 v1, #int 0 // #0 │ │ +019e1c: 6901 fb00 |000a: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fb │ │ +019e20: 6a00 fa00 |000c: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.NO_VPN:Z // field@00fa │ │ +019e24: 6a00 f600 |000e: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.MSG_ACTIVE:Z // field@00f6 │ │ +019e28: 6700 f200 |0010: sput v0, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00f2 │ │ +019e2c: 6700 f100 |0012: sput v0, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_HEIGTH:I // field@00f1 │ │ +019e30: 2202 a900 |0014: new-instance v2, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // type@00a9 │ │ +019e34: 7020 a802 1200 |0016: invoke-direct {v2, v1}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.:(Ldnsfilter/android/DNSProxyActivity$1;)V // method@02a8 │ │ +019e3a: 6902 f700 |0019: sput-object v2, Ldnsfilter/android/DNSProxyActivity;.MsgTO:Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // field@00f7 │ │ +019e3e: 6901 2601 |001b: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +019e42: 1212 |001d: const/4 v2, #int 1 // #1 │ │ +019e44: 6a02 3501 |001e: sput-boolean v2, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ +019e48: 6a00 2701 |0020: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialogChanged:Z // field@0127 │ │ +019e4c: 6901 1b01 |0022: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.initialInfoPopUpExitBtn:Landroid/widget/Button; // field@011b │ │ +019e50: 0e00 |0024: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=180 │ │ 0x0007 line=181 │ │ 0x000a line=183 │ │ 0x000c line=185 │ │ 0x000e line=187 │ │ @@ -43037,21 +43037,21 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -019e58: |[019e58] dnsfilter.android.DNSProxyActivity.:()V │ │ -019e68: 7010 0100 0100 |0000: invoke-direct {v1}, Landroid/app/Activity;.:()V // method@0001 │ │ -019e6e: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -019e70: 5b10 3201 |0004: iput-object v0, v1, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ -019e74: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -019e76: 5c10 ed00 |0007: iput-boolean v0, v1, Ldnsfilter/android/DNSProxyActivity;.ACTION_MENU_FALLBACK:Z // field@00ed │ │ -019e7a: 0e00 |0009: return-void │ │ +019e54: |[019e54] dnsfilter.android.DNSProxyActivity.:()V │ │ +019e64: 7010 0100 0100 |0000: invoke-direct {v1}, Landroid/app/Activity;.:()V // method@0001 │ │ +019e6a: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +019e6c: 5b10 3201 |0004: iput-object v0, v1, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ +019e70: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +019e72: 5c10 ed00 |0007: iput-boolean v0, v1, Ldnsfilter/android/DNSProxyActivity;.ACTION_MENU_FALLBACK:Z // field@00ed │ │ +019e76: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=94 │ │ 0x0004 line=157 │ │ 0x0007 line=167 │ │ locals : │ │ 0x0000 - 0x000a reg=1 this Ldnsfilter/android/DNSProxyActivity; │ │ @@ -43061,18 +43061,18 @@ │ │ type : '(Ljava/lang/String;)Landroid/text/Spanned;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 5 16-bit code units │ │ -019744: |[019744] dnsfilter.android.DNSProxyActivity.access$000:(Ljava/lang/String;)Landroid/text/Spanned; │ │ -019754: 7110 cb02 0000 |0000: invoke-static {v0}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02cb │ │ -01975a: 0c00 |0003: move-result-object v0 │ │ -01975c: 1100 |0004: return-object v0 │ │ +019740: |[019740] dnsfilter.android.DNSProxyActivity.access$000:(Ljava/lang/String;)Landroid/text/Spanned; │ │ +019750: 7110 cb02 0000 |0000: invoke-static {v0}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02cb │ │ +019756: 0c00 |0003: move-result-object v0 │ │ +019758: 1100 |0004: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=94 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 (null) Ljava/lang/String; │ │ │ │ #3 : (in Ldnsfilter/android/DNSProxyActivity;) │ │ @@ -43080,17 +43080,17 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity;Landroid/text/Spanned;I)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 4 16-bit code units │ │ -019e7c: |[019e7c] dnsfilter.android.DNSProxyActivity.access$100:(Ldnsfilter/android/DNSProxyActivity;Landroid/text/Spanned;I)V │ │ -019e8c: 7030 0603 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.setMessage:(Landroid/text/Spanned;I)V // method@0306 │ │ -019e92: 0e00 |0003: return-void │ │ +019e78: |[019e78] dnsfilter.android.DNSProxyActivity.access$100:(Ldnsfilter/android/DNSProxyActivity;Landroid/text/Spanned;I)V │ │ +019e88: 7030 0603 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.setMessage:(Landroid/text/Spanned;I)V // method@0306 │ │ +019e8e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=94 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x0004 reg=1 (null) Landroid/text/Spanned; │ │ 0x0000 - 0x0004 reg=2 (null) I │ │ @@ -43100,18 +43100,18 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity;Z)Ljava/lang/String;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 5 16-bit code units │ │ -019c1c: |[019c1c] dnsfilter.android.DNSProxyActivity.access$1000:(Ldnsfilter/android/DNSProxyActivity;Z)Ljava/lang/String; │ │ -019c2c: 7020 d102 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02d1 │ │ -019c32: 0c00 |0003: move-result-object v0 │ │ -019c34: 1100 |0004: return-object v0 │ │ +019c18: |[019c18] dnsfilter.android.DNSProxyActivity.access$1000:(Ldnsfilter/android/DNSProxyActivity;Z)Ljava/lang/String; │ │ +019c28: 7020 d102 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02d1 │ │ +019c2e: 0c00 |0003: move-result-object v0 │ │ +019c30: 1100 |0004: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=94 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 (null) Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x0005 reg=1 (null) Z │ │ │ │ @@ -43120,17 +43120,17 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -019e94: |[019e94] dnsfilter.android.DNSProxyActivity.access$300:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V │ │ -019ea4: 7020 bb02 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.addToLogView:(Ljava/lang/String;)V // method@02bb │ │ -019eaa: 0e00 |0003: return-void │ │ +019e90: |[019e90] dnsfilter.android.DNSProxyActivity.access$300:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V │ │ +019ea0: 7020 bb02 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.addToLogView:(Ljava/lang/String;)V // method@02bb │ │ +019ea6: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=94 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x0004 reg=1 (null) Ljava/lang/String; │ │ │ │ @@ -43139,17 +43139,17 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -019eac: |[019eac] dnsfilter.android.DNSProxyActivity.access$400:(Ldnsfilter/android/DNSProxyActivity;)V │ │ -019ebc: 7010 c002 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSProxyActivity;.checkPasscode:()V // method@02c0 │ │ -019ec2: 0e00 |0003: return-void │ │ +019ea8: |[019ea8] dnsfilter.android.DNSProxyActivity.access$400:(Ldnsfilter/android/DNSProxyActivity;)V │ │ +019eb8: 7010 c002 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSProxyActivity;.checkPasscode:()V // method@02c0 │ │ +019ebe: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=94 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/android/DNSProxyActivity; │ │ │ │ #7 : (in Ldnsfilter/android/DNSProxyActivity;) │ │ @@ -43157,17 +43157,17 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;Ljava/lang/String;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 4 16-bit code units │ │ -019ec4: |[019ec4] dnsfilter.android.DNSProxyActivity.access$500:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;Ljava/lang/String;)V │ │ -019ed4: 7030 fe02 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.persistRemoteControlConfig:(Ljava/lang/String;Ljava/lang/String;)V // method@02fe │ │ -019eda: 0e00 |0003: return-void │ │ +019ec0: |[019ec0] dnsfilter.android.DNSProxyActivity.access$500:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;Ljava/lang/String;)V │ │ +019ed0: 7030 fe02 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.persistRemoteControlConfig:(Ljava/lang/String;Ljava/lang/String;)V // method@02fe │ │ +019ed6: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=94 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x0004 reg=1 (null) Ljava/lang/String; │ │ 0x0000 - 0x0004 reg=2 (null) Ljava/lang/String; │ │ @@ -43177,17 +43177,17 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -019edc: |[019edc] dnsfilter.android.DNSProxyActivity.access$600:(Ldnsfilter/android/DNSProxyActivity;)V │ │ -019eec: 7010 d902 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSProxyActivity;.handleRemoteControl:()V // method@02d9 │ │ -019ef2: 0e00 |0003: return-void │ │ +019ed8: |[019ed8] dnsfilter.android.DNSProxyActivity.access$600:(Ldnsfilter/android/DNSProxyActivity;)V │ │ +019ee8: 7010 d902 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSProxyActivity;.handleRemoteControl:()V // method@02d9 │ │ +019eee: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=94 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/android/DNSProxyActivity; │ │ │ │ #9 : (in Ldnsfilter/android/DNSProxyActivity;) │ │ @@ -43195,34 +43195,34 @@ │ │ type : '()Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -019c04: |[019c04] dnsfilter.android.DNSProxyActivity.access$700:()Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; │ │ -019c14: 6200 f700 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.MsgTO:Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // field@00f7 │ │ -019c18: 1100 |0002: return-object v0 │ │ +019c00: |[019c00] dnsfilter.android.DNSProxyActivity.access$700:()Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; │ │ +019c10: 6200 f700 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.MsgTO:Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // field@00f7 │ │ +019c14: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=94 │ │ locals : │ │ │ │ #10 : (in Ldnsfilter/android/DNSProxyActivity;) │ │ name : 'access$900' │ │ type : '(Ldnsfilter/android/DNSProxyActivity;Ldnsfilter/ConfigurationAccess;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -019ef4: |[019ef4] dnsfilter.android.DNSProxyActivity.access$900:(Ldnsfilter/android/DNSProxyActivity;Ldnsfilter/ConfigurationAccess;)V │ │ -019f04: 7020 f202 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.onRemoteConnected:(Ldnsfilter/ConfigurationAccess;)V // method@02f2 │ │ -019f0a: 0e00 |0003: return-void │ │ +019ef0: |[019ef0] dnsfilter.android.DNSProxyActivity.access$900:(Ldnsfilter/android/DNSProxyActivity;Ldnsfilter/ConfigurationAccess;)V │ │ +019f00: 7020 f202 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.onRemoteConnected:(Ldnsfilter/ConfigurationAccess;)V // method@02f2 │ │ +019f06: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=94 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x0004 reg=1 (null) Ldnsfilter/ConfigurationAccess; │ │ │ │ @@ -43231,95 +43231,95 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 9 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 164 16-bit code units │ │ -019f0c: |[019f0c] dnsfilter.android.DNSProxyActivity.addToLogView:(Ljava/lang/String;)V │ │ -019f1c: 2200 6201 |0000: new-instance v0, Ljava/util/StringTokenizer; // type@0162 │ │ -019f20: 1a01 0200 |0002: const-string v1, " │ │ +019f08: |[019f08] dnsfilter.android.DNSProxyActivity.addToLogView:(Ljava/lang/String;)V │ │ +019f18: 2200 6201 |0000: new-instance v0, Ljava/util/StringTokenizer; // type@0162 │ │ +019f1c: 1a01 0200 |0002: const-string v1, " │ │ " // string@0002 │ │ -019f24: 7030 4306 8001 |0004: invoke-direct {v0, v8, v1}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0643 │ │ -019f2a: 6e10 4506 0000 |0007: invoke-virtual {v0}, Ljava/util/StringTokenizer;.hasMoreElements:()Z // method@0645 │ │ -019f30: 0a02 |000a: move-result v2 │ │ -019f32: 3802 9800 |000b: if-eqz v2, 00a3 // +0098 │ │ -019f36: 6e10 4706 0000 |000d: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0647 │ │ -019f3c: 0c02 |0010: move-result-object v2 │ │ -019f3e: 6203 f400 |0011: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f4 │ │ -019f42: 6e20 7505 3200 |0013: invoke-virtual {v2, v3}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ -019f48: 0a03 |0016: move-result v3 │ │ -019f4a: 6204 f900 |0017: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f9 │ │ -019f4e: 6e20 7505 4200 |0019: invoke-virtual {v2, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ -019f54: 0a04 |001c: move-result v4 │ │ -019f56: 6205 f500 |001d: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.IP_FORWARD_PREF:Ljava/lang/String; // field@00f5 │ │ -019f5a: 6e20 7505 5200 |001f: invoke-virtual {v2, v5}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ -019f60: 0a05 |0022: move-result v5 │ │ -019f62: 1a06 4400 |0023: const-string v6, "($CONTENT)" // string@0044 │ │ -019f66: 3903 2c00 |0025: if-nez v3, 0051 // +002c │ │ -019f6a: 3904 2a00 |0027: if-nez v4, 0051 // +002a │ │ -019f6e: 3805 0300 |0029: if-eqz v5, 002c // +0003 │ │ -019f72: 2826 |002b: goto 0051 // +0026 │ │ -019f74: 6e10 4506 0000 |002c: invoke-virtual {v0}, Ljava/util/StringTokenizer;.hasMoreElements:()Z // method@0645 │ │ -019f7a: 0a03 |002f: move-result v3 │ │ -019f7c: 3903 0b00 |0030: if-nez v3, 003b // +000b │ │ -019f80: 6e20 6605 1800 |0032: invoke-virtual {v8, v1}, Ljava/lang/String;.endsWith:(Ljava/lang/String;)Z // method@0566 │ │ -019f86: 0a03 |0035: move-result v3 │ │ -019f88: 3903 0500 |0036: if-nez v3, 003b // +0005 │ │ -019f8c: 1a03 0000 |0038: const-string v3, "" // string@0000 │ │ -019f90: 2802 |003a: goto 003c // +0002 │ │ -019f92: 0713 |003b: move-object v3, v1 │ │ -019f94: 6204 2001 |003c: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019f98: 6205 2501 |003e: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.normalLogFormat:Ljava/lang/String; // field@0125 │ │ -019f9c: 6e30 7105 6502 |0040: invoke-virtual {v5, v6, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0571 │ │ -019fa2: 0c02 |0043: move-result-object v2 │ │ -019fa4: 7110 cb02 0200 |0044: invoke-static {v2}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02cb │ │ -019faa: 0c02 |0047: move-result-object v2 │ │ -019fac: 6e20 c000 2400 |0048: invoke-virtual {v4, v2}, Landroid/widget/EditText;.append:(Ljava/lang/CharSequence;)V // method@00c0 │ │ -019fb2: 6202 2001 |004b: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019fb6: 6e20 c000 3200 |004d: invoke-virtual {v2, v3}, Landroid/widget/EditText;.append:(Ljava/lang/CharSequence;)V // method@00c0 │ │ -019fbc: 28b7 |0050: goto 0007 // -0049 │ │ -019fbe: 1a05 9600 |0051: const-string v5, "
" // string@0096 │ │ -019fc2: 3803 1800 |0053: if-eqz v3, 006b // +0018 │ │ -019fc6: 2203 2801 |0055: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -019fca: 7010 8305 0300 |0057: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -019fd0: 6204 1701 |005a: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.filterLogFormat:Ljava/lang/String; // field@0117 │ │ -019fd4: 6e30 7105 6402 |005c: invoke-virtual {v4, v6, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0571 │ │ -019fda: 0c02 |005f: move-result-object v2 │ │ -019fdc: 6e20 8905 2300 |0060: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -019fe2: 6e20 8905 5300 |0063: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -019fe8: 6e10 8b05 0300 |0066: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -019fee: 0c02 |0069: move-result-object v2 │ │ -019ff0: 282e |006a: goto 0098 // +002e │ │ -019ff2: 3804 1800 |006b: if-eqz v4, 0083 // +0018 │ │ -019ff6: 2203 2801 |006d: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -019ffa: 7010 8305 0300 |006f: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -01a000: 6204 fe00 |0072: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.acceptLogFormat:Ljava/lang/String; // field@00fe │ │ -01a004: 6e30 7105 6402 |0074: invoke-virtual {v4, v6, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0571 │ │ -01a00a: 0c02 |0077: move-result-object v2 │ │ -01a00c: 6e20 8905 2300 |0078: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01a012: 6e20 8905 5300 |007b: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01a018: 6e10 8b05 0300 |007e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01a01e: 0c02 |0081: move-result-object v2 │ │ -01a020: 2816 |0082: goto 0098 // +0016 │ │ -01a022: 2203 2801 |0083: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -01a026: 7010 8305 0300 |0085: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -01a02c: 6204 1901 |0088: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.fwdLogFormat:Ljava/lang/String; // field@0119 │ │ -01a030: 6e30 7105 6402 |008a: invoke-virtual {v4, v6, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0571 │ │ -01a036: 0c02 |008d: move-result-object v2 │ │ -01a038: 6e20 8905 2300 |008e: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01a03e: 6e20 8905 5300 |0091: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01a044: 6e10 8b05 0300 |0094: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01a04a: 0c02 |0097: move-result-object v2 │ │ -01a04c: 6203 2001 |0098: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01a050: 7110 cb02 0200 |009a: invoke-static {v2}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02cb │ │ -01a056: 0c02 |009d: move-result-object v2 │ │ -01a058: 6e20 c000 2300 |009e: invoke-virtual {v3, v2}, Landroid/widget/EditText;.append:(Ljava/lang/CharSequence;)V // method@00c0 │ │ -01a05e: 2900 66ff |00a1: goto/16 0007 // -009a │ │ -01a062: 0e00 |00a3: return-void │ │ +019f20: 7030 4306 8001 |0004: invoke-direct {v0, v8, v1}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0643 │ │ +019f26: 6e10 4506 0000 |0007: invoke-virtual {v0}, Ljava/util/StringTokenizer;.hasMoreElements:()Z // method@0645 │ │ +019f2c: 0a02 |000a: move-result v2 │ │ +019f2e: 3802 9800 |000b: if-eqz v2, 00a3 // +0098 │ │ +019f32: 6e10 4706 0000 |000d: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0647 │ │ +019f38: 0c02 |0010: move-result-object v2 │ │ +019f3a: 6203 f400 |0011: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f4 │ │ +019f3e: 6e20 7505 3200 |0013: invoke-virtual {v2, v3}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ +019f44: 0a03 |0016: move-result v3 │ │ +019f46: 6204 f900 |0017: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f9 │ │ +019f4a: 6e20 7505 4200 |0019: invoke-virtual {v2, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ +019f50: 0a04 |001c: move-result v4 │ │ +019f52: 6205 f500 |001d: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.IP_FORWARD_PREF:Ljava/lang/String; // field@00f5 │ │ +019f56: 6e20 7505 5200 |001f: invoke-virtual {v2, v5}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ +019f5c: 0a05 |0022: move-result v5 │ │ +019f5e: 1a06 4400 |0023: const-string v6, "($CONTENT)" // string@0044 │ │ +019f62: 3903 2c00 |0025: if-nez v3, 0051 // +002c │ │ +019f66: 3904 2a00 |0027: if-nez v4, 0051 // +002a │ │ +019f6a: 3805 0300 |0029: if-eqz v5, 002c // +0003 │ │ +019f6e: 2826 |002b: goto 0051 // +0026 │ │ +019f70: 6e10 4506 0000 |002c: invoke-virtual {v0}, Ljava/util/StringTokenizer;.hasMoreElements:()Z // method@0645 │ │ +019f76: 0a03 |002f: move-result v3 │ │ +019f78: 3903 0b00 |0030: if-nez v3, 003b // +000b │ │ +019f7c: 6e20 6605 1800 |0032: invoke-virtual {v8, v1}, Ljava/lang/String;.endsWith:(Ljava/lang/String;)Z // method@0566 │ │ +019f82: 0a03 |0035: move-result v3 │ │ +019f84: 3903 0500 |0036: if-nez v3, 003b // +0005 │ │ +019f88: 1a03 0000 |0038: const-string v3, "" // string@0000 │ │ +019f8c: 2802 |003a: goto 003c // +0002 │ │ +019f8e: 0713 |003b: move-object v3, v1 │ │ +019f90: 6204 2001 |003c: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +019f94: 6205 2501 |003e: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.normalLogFormat:Ljava/lang/String; // field@0125 │ │ +019f98: 6e30 7105 6502 |0040: invoke-virtual {v5, v6, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0571 │ │ +019f9e: 0c02 |0043: move-result-object v2 │ │ +019fa0: 7110 cb02 0200 |0044: invoke-static {v2}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02cb │ │ +019fa6: 0c02 |0047: move-result-object v2 │ │ +019fa8: 6e20 c000 2400 |0048: invoke-virtual {v4, v2}, Landroid/widget/EditText;.append:(Ljava/lang/CharSequence;)V // method@00c0 │ │ +019fae: 6202 2001 |004b: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +019fb2: 6e20 c000 3200 |004d: invoke-virtual {v2, v3}, Landroid/widget/EditText;.append:(Ljava/lang/CharSequence;)V // method@00c0 │ │ +019fb8: 28b7 |0050: goto 0007 // -0049 │ │ +019fba: 1a05 9600 |0051: const-string v5, "
" // string@0096 │ │ +019fbe: 3803 1800 |0053: if-eqz v3, 006b // +0018 │ │ +019fc2: 2203 2801 |0055: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +019fc6: 7010 8305 0300 |0057: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +019fcc: 6204 1701 |005a: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.filterLogFormat:Ljava/lang/String; // field@0117 │ │ +019fd0: 6e30 7105 6402 |005c: invoke-virtual {v4, v6, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0571 │ │ +019fd6: 0c02 |005f: move-result-object v2 │ │ +019fd8: 6e20 8905 2300 |0060: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +019fde: 6e20 8905 5300 |0063: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +019fe4: 6e10 8b05 0300 |0066: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +019fea: 0c02 |0069: move-result-object v2 │ │ +019fec: 282e |006a: goto 0098 // +002e │ │ +019fee: 3804 1800 |006b: if-eqz v4, 0083 // +0018 │ │ +019ff2: 2203 2801 |006d: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +019ff6: 7010 8305 0300 |006f: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +019ffc: 6204 fe00 |0072: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.acceptLogFormat:Ljava/lang/String; // field@00fe │ │ +01a000: 6e30 7105 6402 |0074: invoke-virtual {v4, v6, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0571 │ │ +01a006: 0c02 |0077: move-result-object v2 │ │ +01a008: 6e20 8905 2300 |0078: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01a00e: 6e20 8905 5300 |007b: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01a014: 6e10 8b05 0300 |007e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01a01a: 0c02 |0081: move-result-object v2 │ │ +01a01c: 2816 |0082: goto 0098 // +0016 │ │ +01a01e: 2203 2801 |0083: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +01a022: 7010 8305 0300 |0085: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +01a028: 6204 1901 |0088: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.fwdLogFormat:Ljava/lang/String; // field@0119 │ │ +01a02c: 6e30 7105 6402 |008a: invoke-virtual {v4, v6, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0571 │ │ +01a032: 0c02 |008d: move-result-object v2 │ │ +01a034: 6e20 8905 2300 |008e: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01a03a: 6e20 8905 5300 |0091: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01a040: 6e10 8b05 0300 |0094: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01a046: 0c02 |0097: move-result-object v2 │ │ +01a048: 6203 2001 |0098: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01a04c: 7110 cb02 0200 |009a: invoke-static {v2}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02cb │ │ +01a052: 0c02 |009d: move-result-object v2 │ │ +01a054: 6e20 c000 2300 |009e: invoke-virtual {v3, v2}, Landroid/widget/EditText;.append:(Ljava/lang/CharSequence;)V // method@00c0 │ │ +01a05a: 2900 66ff |00a1: goto/16 0007 // -009a │ │ +01a05e: 0e00 |00a3: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=245 │ │ 0x0007 line=246 │ │ 0x000d line=248 │ │ 0x0011 line=250 │ │ 0x0017 line=251 │ │ @@ -43343,33 +43343,33 @@ │ │ type : '()Z' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 34 16-bit code units │ │ -019794: |[019794] dnsfilter.android.DNSProxyActivity.checkNotificationPermission:()Z │ │ -0197a4: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -0197a8: 1301 2100 |0002: const/16 v1, #int 33 // #21 │ │ -0197ac: 3410 1c00 |0004: if-lt v0, v1, 0020 // +001c │ │ -0197b0: 1a00 5e05 |0006: const-string v0, "android.permission.POST_NOTIFICATIONS" // string@055e │ │ -0197b4: 7120 4502 0200 |0008: invoke-static {v2, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)I // method@0245 │ │ -0197ba: 0a00 |000b: move-result v0 │ │ -0197bc: 3800 1400 |000c: if-eqz v0, 0020 // +0014 │ │ -0197c0: 7100 0107 0000 |000e: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -0197c6: 0c00 |0011: move-result-object v0 │ │ -0197c8: 1a01 e303 |0012: const-string v1, "NOTIFICATION PERMISSION IS REQUIRED!" // string@03e3 │ │ -0197cc: 7220 0d07 1000 |0014: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -0197d2: 7100 0107 0000 |0017: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -0197d8: 0c00 |001a: move-result-object v0 │ │ -0197da: 7220 0e07 1000 |001b: invoke-interface {v0, v1}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ -0197e0: 1200 |001e: const/4 v0, #int 0 // #0 │ │ -0197e2: 0f00 |001f: return v0 │ │ -0197e4: 1210 |0020: const/4 v0, #int 1 // #1 │ │ -0197e6: 0f00 |0021: return v0 │ │ +019790: |[019790] dnsfilter.android.DNSProxyActivity.checkNotificationPermission:()Z │ │ +0197a0: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +0197a4: 1301 2100 |0002: const/16 v1, #int 33 // #21 │ │ +0197a8: 3410 1c00 |0004: if-lt v0, v1, 0020 // +001c │ │ +0197ac: 1a00 5e05 |0006: const-string v0, "android.permission.POST_NOTIFICATIONS" // string@055e │ │ +0197b0: 7120 4502 0200 |0008: invoke-static {v2, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)I // method@0245 │ │ +0197b6: 0a00 |000b: move-result v0 │ │ +0197b8: 3800 1400 |000c: if-eqz v0, 0020 // +0014 │ │ +0197bc: 7100 0107 0000 |000e: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +0197c2: 0c00 |0011: move-result-object v0 │ │ +0197c4: 1a01 e303 |0012: const-string v1, "NOTIFICATION PERMISSION IS REQUIRED!" // string@03e3 │ │ +0197c8: 7220 0d07 1000 |0014: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +0197ce: 7100 0107 0000 |0017: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +0197d4: 0c00 |001a: move-result-object v0 │ │ +0197d6: 7220 0e07 1000 |001b: invoke-interface {v0, v1}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ +0197dc: 1200 |001e: const/4 v0, #int 0 // #0 │ │ +0197de: 0f00 |001f: return v0 │ │ +0197e0: 1210 |0020: const/4 v0, #int 1 // #1 │ │ +0197e2: 0f00 |0021: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=938 │ │ 0x0006 line=939 │ │ 0x000e line=940 │ │ 0x0017 line=941 │ │ locals : │ │ @@ -43380,65 +43380,65 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 106 16-bit code units │ │ -01a1e8: |[01a1e8] dnsfilter.android.DNSProxyActivity.checkPasscode:()V │ │ -01a1f8: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ -01a1fc: 6201 fb00 |0002: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fb │ │ -01a200: 3801 0d00 |0004: if-eqz v1, 0011 // +000d │ │ -01a204: 6e10 1000 0100 |0006: invoke-virtual {v1}, Landroid/app/AlertDialog;.isShowing:()Z // method@0010 │ │ -01a20a: 0a01 |0009: move-result v1 │ │ -01a20c: 3801 0700 |000a: if-eqz v1, 0011 // +0007 │ │ -01a210: 6201 fb00 |000c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fb │ │ -01a214: 6e10 0f00 0100 |000e: invoke-virtual {v1}, Landroid/app/AlertDialog;.dismiss:()V // method@000f │ │ -01a21a: 6201 f000 |0011: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01a21e: 6e10 3901 0100 |0013: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@0139 │ │ -01a224: 0c01 |0016: move-result-object v1 │ │ -01a226: 3901 0800 |0017: if-nez v1, 001f // +0008 │ │ -01a22a: 1a00 8b01 |0019: const-string v0, "Error: Config is null!" // string@018b │ │ -01a22e: 6e20 e302 0500 |001b: invoke-virtual {v5, v0}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@02e3 │ │ -01a234: 0e00 |001e: return-void │ │ -01a236: 6201 f000 |001f: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01a23a: 6e10 3901 0100 |0021: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@0139 │ │ -01a240: 0c01 |0024: move-result-object v1 │ │ -01a242: 1a02 4a09 |0025: const-string v2, "passcode" // string@094a │ │ -01a246: 6e30 3606 2100 |0027: invoke-virtual {v1, v2, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -01a24c: 0c01 |002a: move-result-object v1 │ │ -01a24e: 6e10 7c05 0100 |002b: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -01a254: 0c01 |002e: move-result-object v1 │ │ -01a256: 6e20 6705 0100 |002f: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -01a25c: 0a00 |0032: move-result v0 │ │ -01a25e: 3800 0300 |0033: if-eqz v0, 0036 // +0003 │ │ -01a262: 0e00 |0035: return-void │ │ -01a264: 2200 0800 |0036: new-instance v0, Landroid/app/AlertDialog$Builder; // type@0008 │ │ -01a268: 7020 0900 5000 |0038: invoke-direct {v0, v5}, Landroid/app/AlertDialog$Builder;.:(Landroid/content/Context;)V // method@0009 │ │ -01a26e: 1202 |003b: const/4 v2, #int 0 // #0 │ │ -01a270: 6e20 0a00 2000 |003c: invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;.setCancelable:(Z)Landroid/app/AlertDialog$Builder; // method@000a │ │ -01a276: 0c00 |003f: move-result-object v0 │ │ -01a278: 1a02 0b04 |0040: const-string v2, "Passcode required!" // string@040b │ │ -01a27c: 6e20 0c00 2000 |0042: invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;.setTitle:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; // method@000c │ │ -01a282: 2202 6200 |0045: new-instance v2, Landroid/widget/EditText; // type@0062 │ │ -01a286: 7020 be00 5200 |0047: invoke-direct {v2, v5}, Landroid/widget/EditText;.:(Landroid/content/Context;)V // method@00be │ │ -01a28c: 1303 8100 |004a: const/16 v3, #int 129 // #81 │ │ -01a290: 6e20 ca00 3200 |004c: invoke-virtual {v2, v3}, Landroid/widget/EditText;.setInputType:(I)V // method@00ca │ │ -01a296: 6e20 0d00 2000 |004f: invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;.setView:(Landroid/view/View;)Landroid/app/AlertDialog$Builder; // method@000d │ │ -01a29c: 1a03 fb03 |0052: const-string v3, "OK" // string@03fb │ │ -01a2a0: 2204 a100 |0054: new-instance v4, Ldnsfilter/android/DNSProxyActivity$1; // type@00a1 │ │ -01a2a4: 7040 9702 5412 |0056: invoke-direct {v4, v5, v2, v1}, Ldnsfilter/android/DNSProxyActivity$1;.:(Ldnsfilter/android/DNSProxyActivity;Landroid/widget/EditText;Ljava/lang/String;)V // method@0297 │ │ -01a2aa: 6e30 0b00 3004 |0059: invoke-virtual {v0, v3, v4}, Landroid/app/AlertDialog$Builder;.setPositiveButton:(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000b │ │ -01a2b0: 2201 a200 |005c: new-instance v1, Ldnsfilter/android/DNSProxyActivity$2; // type@00a2 │ │ -01a2b4: 7030 9902 5100 |005e: invoke-direct {v1, v5, v0}, Ldnsfilter/android/DNSProxyActivity$2;.:(Ldnsfilter/android/DNSProxyActivity;Landroid/app/AlertDialog$Builder;)V // method@0299 │ │ -01a2ba: 6e20 0403 1500 |0061: invoke-virtual {v5, v1}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@0304 │ │ -01a2c0: 2805 |0064: goto 0069 // +0005 │ │ -01a2c2: 0d00 |0065: move-exception v0 │ │ -01a2c4: 6e20 e202 0500 |0066: invoke-virtual {v5, v0}, Ldnsfilter/android/DNSProxyActivity;.logException:(Ljava/lang/Exception;)V // method@02e2 │ │ -01a2ca: 0e00 |0069: return-void │ │ +01a1e4: |[01a1e4] dnsfilter.android.DNSProxyActivity.checkPasscode:()V │ │ +01a1f4: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ +01a1f8: 6201 fb00 |0002: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fb │ │ +01a1fc: 3801 0d00 |0004: if-eqz v1, 0011 // +000d │ │ +01a200: 6e10 1000 0100 |0006: invoke-virtual {v1}, Landroid/app/AlertDialog;.isShowing:()Z // method@0010 │ │ +01a206: 0a01 |0009: move-result v1 │ │ +01a208: 3801 0700 |000a: if-eqz v1, 0011 // +0007 │ │ +01a20c: 6201 fb00 |000c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fb │ │ +01a210: 6e10 0f00 0100 |000e: invoke-virtual {v1}, Landroid/app/AlertDialog;.dismiss:()V // method@000f │ │ +01a216: 6201 f000 |0011: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01a21a: 6e10 3901 0100 |0013: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@0139 │ │ +01a220: 0c01 |0016: move-result-object v1 │ │ +01a222: 3901 0800 |0017: if-nez v1, 001f // +0008 │ │ +01a226: 1a00 8b01 |0019: const-string v0, "Error: Config is null!" // string@018b │ │ +01a22a: 6e20 e302 0500 |001b: invoke-virtual {v5, v0}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@02e3 │ │ +01a230: 0e00 |001e: return-void │ │ +01a232: 6201 f000 |001f: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01a236: 6e10 3901 0100 |0021: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@0139 │ │ +01a23c: 0c01 |0024: move-result-object v1 │ │ +01a23e: 1a02 4a09 |0025: const-string v2, "passcode" // string@094a │ │ +01a242: 6e30 3606 2100 |0027: invoke-virtual {v1, v2, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +01a248: 0c01 |002a: move-result-object v1 │ │ +01a24a: 6e10 7c05 0100 |002b: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01a250: 0c01 |002e: move-result-object v1 │ │ +01a252: 6e20 6705 0100 |002f: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +01a258: 0a00 |0032: move-result v0 │ │ +01a25a: 3800 0300 |0033: if-eqz v0, 0036 // +0003 │ │ +01a25e: 0e00 |0035: return-void │ │ +01a260: 2200 0800 |0036: new-instance v0, Landroid/app/AlertDialog$Builder; // type@0008 │ │ +01a264: 7020 0900 5000 |0038: invoke-direct {v0, v5}, Landroid/app/AlertDialog$Builder;.:(Landroid/content/Context;)V // method@0009 │ │ +01a26a: 1202 |003b: const/4 v2, #int 0 // #0 │ │ +01a26c: 6e20 0a00 2000 |003c: invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;.setCancelable:(Z)Landroid/app/AlertDialog$Builder; // method@000a │ │ +01a272: 0c00 |003f: move-result-object v0 │ │ +01a274: 1a02 0b04 |0040: const-string v2, "Passcode required!" // string@040b │ │ +01a278: 6e20 0c00 2000 |0042: invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;.setTitle:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; // method@000c │ │ +01a27e: 2202 6200 |0045: new-instance v2, Landroid/widget/EditText; // type@0062 │ │ +01a282: 7020 be00 5200 |0047: invoke-direct {v2, v5}, Landroid/widget/EditText;.:(Landroid/content/Context;)V // method@00be │ │ +01a288: 1303 8100 |004a: const/16 v3, #int 129 // #81 │ │ +01a28c: 6e20 ca00 3200 |004c: invoke-virtual {v2, v3}, Landroid/widget/EditText;.setInputType:(I)V // method@00ca │ │ +01a292: 6e20 0d00 2000 |004f: invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;.setView:(Landroid/view/View;)Landroid/app/AlertDialog$Builder; // method@000d │ │ +01a298: 1a03 fb03 |0052: const-string v3, "OK" // string@03fb │ │ +01a29c: 2204 a100 |0054: new-instance v4, Ldnsfilter/android/DNSProxyActivity$1; // type@00a1 │ │ +01a2a0: 7040 9702 5412 |0056: invoke-direct {v4, v5, v2, v1}, Ldnsfilter/android/DNSProxyActivity$1;.:(Ldnsfilter/android/DNSProxyActivity;Landroid/widget/EditText;Ljava/lang/String;)V // method@0297 │ │ +01a2a6: 6e30 0b00 3004 |0059: invoke-virtual {v0, v3, v4}, Landroid/app/AlertDialog$Builder;.setPositiveButton:(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000b │ │ +01a2ac: 2201 a200 |005c: new-instance v1, Ldnsfilter/android/DNSProxyActivity$2; // type@00a2 │ │ +01a2b0: 7030 9902 5100 |005e: invoke-direct {v1, v5, v0}, Ldnsfilter/android/DNSProxyActivity$2;.:(Ldnsfilter/android/DNSProxyActivity;Landroid/app/AlertDialog$Builder;)V // method@0299 │ │ +01a2b6: 6e20 0403 1500 |0061: invoke-virtual {v5, v1}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@0304 │ │ +01a2bc: 2805 |0064: goto 0069 // +0005 │ │ +01a2be: 0d00 |0065: move-exception v0 │ │ +01a2c0: 6e20 e202 0500 |0066: invoke-virtual {v5, v0}, Ldnsfilter/android/DNSProxyActivity;.logException:(Ljava/lang/Exception;)V // method@02e2 │ │ +01a2c6: 0e00 |0069: return-void │ │ catches : 1 │ │ 0x0011 - 0x0064 │ │ Ljava/io/IOException; -> 0x0065 │ │ positions : │ │ 0x0000 line=642 │ │ 0x000c line=643 │ │ 0x0011 line=645 │ │ @@ -43462,34 +43462,34 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 37 16-bit code units │ │ -01a2dc: |[01a2dc] dnsfilter.android.DNSProxyActivity.closeInitialInfoPopUp:()V │ │ -01a2ec: 6200 2601 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01a2f0: 1401 1e00 057f |0002: const v1, #float 1.76788e+38 // #7f05001e │ │ -01a2f6: 6e20 1700 1000 |0005: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01a2fc: 0c00 |0008: move-result-object v0 │ │ -01a2fe: 1f00 5f00 |0009: check-cast v0, Landroid/widget/CheckBox; // type@005f │ │ -01a302: 6e10 b700 0000 |000b: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01a308: 0a00 |000e: move-result v0 │ │ -01a30a: 1211 |000f: const/4 v1, #int 1 // #1 │ │ -01a30c: b710 |0010: xor-int/2addr v0, v1 │ │ -01a30e: 6a00 3501 |0011: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ -01a312: 6200 2601 |0013: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01a316: 6e10 1600 0000 |0015: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ -01a31c: 6300 3501 |0018: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ -01a320: 3900 0a00 |001a: if-nez v0, 0024 // +000a │ │ -01a324: 6a01 2701 |001c: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.popUpDialogChanged:Z // field@0127 │ │ -01a328: 7010 fc02 0200 |001e: invoke-direct {v2}, Ldnsfilter/android/DNSProxyActivity;.persistConfig:()V // method@02fc │ │ -01a32e: 1200 |0021: const/4 v0, #int 0 // #0 │ │ -01a330: 6a00 2701 |0022: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialogChanged:Z // field@0127 │ │ -01a334: 0e00 |0024: return-void │ │ +01a2d8: |[01a2d8] dnsfilter.android.DNSProxyActivity.closeInitialInfoPopUp:()V │ │ +01a2e8: 6200 2601 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01a2ec: 1401 1e00 057f |0002: const v1, #float 1.76788e+38 // #7f05001e │ │ +01a2f2: 6e20 1700 1000 |0005: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01a2f8: 0c00 |0008: move-result-object v0 │ │ +01a2fa: 1f00 5f00 |0009: check-cast v0, Landroid/widget/CheckBox; // type@005f │ │ +01a2fe: 6e10 b700 0000 |000b: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01a304: 0a00 |000e: move-result v0 │ │ +01a306: 1211 |000f: const/4 v1, #int 1 // #1 │ │ +01a308: b710 |0010: xor-int/2addr v0, v1 │ │ +01a30a: 6a00 3501 |0011: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ +01a30e: 6200 2601 |0013: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01a312: 6e10 1600 0000 |0015: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ +01a318: 6300 3501 |0018: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ +01a31c: 3900 0a00 |001a: if-nez v0, 0024 // +000a │ │ +01a320: 6a01 2701 |001c: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.popUpDialogChanged:Z // field@0127 │ │ +01a324: 7010 fc02 0200 |001e: invoke-direct {v2}, Ldnsfilter/android/DNSProxyActivity;.persistConfig:()V // method@02fc │ │ +01a32a: 1200 |0021: const/4 v0, #int 0 // #0 │ │ +01a32c: 6a00 2701 |0022: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialogChanged:Z // field@0127 │ │ +01a330: 0e00 |0024: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=928 │ │ 0x0013 line=929 │ │ 0x0018 line=930 │ │ 0x001c line=931 │ │ 0x001e line=932 │ │ @@ -43502,21 +43502,21 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 14 16-bit code units │ │ -01a34c: |[01a34c] dnsfilter.android.DNSProxyActivity.doAsyncCheck:()V │ │ -01a35c: 2200 2a01 |0000: new-instance v0, Ljava/lang/Thread; // type@012a │ │ -01a360: 2201 a800 |0002: new-instance v1, Ldnsfilter/android/DNSProxyActivity$7; // type@00a8 │ │ -01a364: 7020 a502 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/DNSProxyActivity$7;.:(Ldnsfilter/android/DNSProxyActivity;)V // method@02a5 │ │ -01a36a: 7020 9005 1000 |0007: invoke-direct {v0, v1}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ -01a370: 6e10 9605 0000 |000a: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@0596 │ │ -01a376: 0e00 |000d: return-void │ │ +01a348: |[01a348] dnsfilter.android.DNSProxyActivity.doAsyncCheck:()V │ │ +01a358: 2200 2a01 |0000: new-instance v0, Ljava/lang/Thread; // type@012a │ │ +01a35c: 2201 a800 |0002: new-instance v1, Ldnsfilter/android/DNSProxyActivity$7; // type@00a8 │ │ +01a360: 7020 a502 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/DNSProxyActivity$7;.:(Ldnsfilter/android/DNSProxyActivity;)V // method@02a5 │ │ +01a366: 7020 9005 1000 |0007: invoke-direct {v0, v1}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ +01a36c: 6e10 9605 0000 |000a: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@0596 │ │ +01a372: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1844 │ │ 0x000a line=1862 │ │ locals : │ │ 0x0000 - 0x000e reg=2 this Ldnsfilter/android/DNSProxyActivity; │ │ │ │ @@ -43525,65 +43525,65 @@ │ │ type : '(Ljava/lang/Exception;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 8 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 109 16-bit code units │ │ -01a56c: |[01a56c] dnsfilter.android.DNSProxyActivity.dump:(Ljava/lang/Exception;)V │ │ -01a57c: 1a00 0700 |0000: const-string v0, " │ │ +01a568: |[01a568] dnsfilter.android.DNSProxyActivity.dump:(Ljava/lang/Exception;)V │ │ +01a578: 1a00 0700 |0000: const-string v0, " │ │ VERSION: 1505701 │ │ │ │ " // string@0007 │ │ -01a580: 1a01 6804 |0002: const-string v1, "TIME: " // string@0468 │ │ -01a584: 2202 0801 |0004: new-instance v2, Ljava/io/StringWriter; // type@0108 │ │ -01a588: 7010 2205 0200 |0006: invoke-direct {v2}, Ljava/io/StringWriter;.:()V // method@0522 │ │ -01a58e: 2203 0501 |0009: new-instance v3, Ljava/io/PrintWriter; // type@0105 │ │ -01a592: 7020 1d05 2300 |000b: invoke-direct {v3, v2}, Ljava/io/PrintWriter;.:(Ljava/io/Writer;)V // method@051d │ │ -01a598: 6e20 3a05 3700 |000e: invoke-virtual {v7, v3}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintWriter;)V // method@053a │ │ -01a59e: 2207 fa00 |0011: new-instance v7, Ljava/io/FileOutputStream; // type@00fa │ │ -01a5a2: 2203 2801 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -01a5a6: 7010 8305 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -01a5ac: 7100 ae06 0000 |0018: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ -01a5b2: 0c04 |001b: move-result-object v4 │ │ -01a5b4: 7210 be06 0400 |001c: invoke-interface {v4}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06be │ │ -01a5ba: 0c04 |001f: move-result-object v4 │ │ -01a5bc: 6e20 8905 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01a5c2: 1a04 6a00 |0023: const-string v4, "/dump-" // string@006a │ │ -01a5c6: 6e20 8905 4300 |0025: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01a5cc: 7100 8d05 0000 |0028: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@058d │ │ -01a5d2: 0b04 |002b: move-result-wide v4 │ │ -01a5d4: 6e30 8705 4305 |002c: invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0587 │ │ -01a5da: 1a04 5f00 |002f: const-string v4, ".txt" // string@005f │ │ -01a5de: 6e20 8905 4300 |0031: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01a5e4: 6e10 8b05 0300 |0034: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01a5ea: 0c03 |0037: move-result-object v3 │ │ -01a5ec: 7020 f604 3700 |0038: invoke-direct {v7, v3}, Ljava/io/FileOutputStream;.:(Ljava/lang/String;)V // method@04f6 │ │ -01a5f2: 2203 2801 |003b: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -01a5f6: 7020 8405 1300 |003d: invoke-direct {v3, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -01a5fc: 2201 5201 |0040: new-instance v1, Ljava/util/Date; // type@0152 │ │ -01a600: 7010 0106 0100 |0042: invoke-direct {v1}, Ljava/util/Date;.:()V // method@0601 │ │ -01a606: 6e20 8805 1300 |0045: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ -01a60c: 6e20 8905 0300 |0048: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01a612: 6e10 8b05 0300 |004b: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01a618: 0c00 |004e: move-result-object v0 │ │ -01a61a: 6e10 6905 0000 |004f: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -01a620: 0c00 |0052: move-result-object v0 │ │ -01a622: 6e20 f904 0700 |0053: invoke-virtual {v7, v0}, Ljava/io/FileOutputStream;.write:([B)V // method@04f9 │ │ -01a628: 6e10 2305 0200 |0056: invoke-virtual {v2}, Ljava/io/StringWriter;.toString:()Ljava/lang/String; // method@0523 │ │ -01a62e: 0c00 |0059: move-result-object v0 │ │ -01a630: 6e10 6905 0000 |005a: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -01a636: 0c00 |005d: move-result-object v0 │ │ -01a638: 6e20 f904 0700 |005e: invoke-virtual {v7, v0}, Ljava/io/FileOutputStream;.write:([B)V // method@04f9 │ │ -01a63e: 6e10 f804 0700 |0061: invoke-virtual {v7}, Ljava/io/FileOutputStream;.flush:()V // method@04f8 │ │ -01a644: 6e10 f704 0700 |0064: invoke-virtual {v7}, Ljava/io/FileOutputStream;.close:()V // method@04f7 │ │ -01a64a: 2805 |0067: goto 006c // +0005 │ │ -01a64c: 0d07 |0068: move-exception v7 │ │ -01a64e: 6e10 3805 0700 |0069: invoke-virtual {v7}, Ljava/lang/Exception;.printStackTrace:()V // method@0538 │ │ -01a654: 0e00 |006c: return-void │ │ +01a57c: 1a01 6804 |0002: const-string v1, "TIME: " // string@0468 │ │ +01a580: 2202 0801 |0004: new-instance v2, Ljava/io/StringWriter; // type@0108 │ │ +01a584: 7010 2205 0200 |0006: invoke-direct {v2}, Ljava/io/StringWriter;.:()V // method@0522 │ │ +01a58a: 2203 0501 |0009: new-instance v3, Ljava/io/PrintWriter; // type@0105 │ │ +01a58e: 7020 1d05 2300 |000b: invoke-direct {v3, v2}, Ljava/io/PrintWriter;.:(Ljava/io/Writer;)V // method@051d │ │ +01a594: 6e20 3a05 3700 |000e: invoke-virtual {v7, v3}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintWriter;)V // method@053a │ │ +01a59a: 2207 fa00 |0011: new-instance v7, Ljava/io/FileOutputStream; // type@00fa │ │ +01a59e: 2203 2801 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +01a5a2: 7010 8305 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +01a5a8: 7100 ae06 0000 |0018: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ +01a5ae: 0c04 |001b: move-result-object v4 │ │ +01a5b0: 7210 be06 0400 |001c: invoke-interface {v4}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06be │ │ +01a5b6: 0c04 |001f: move-result-object v4 │ │ +01a5b8: 6e20 8905 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01a5be: 1a04 6a00 |0023: const-string v4, "/dump-" // string@006a │ │ +01a5c2: 6e20 8905 4300 |0025: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01a5c8: 7100 8d05 0000 |0028: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@058d │ │ +01a5ce: 0b04 |002b: move-result-wide v4 │ │ +01a5d0: 6e30 8705 4305 |002c: invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0587 │ │ +01a5d6: 1a04 5f00 |002f: const-string v4, ".txt" // string@005f │ │ +01a5da: 6e20 8905 4300 |0031: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01a5e0: 6e10 8b05 0300 |0034: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01a5e6: 0c03 |0037: move-result-object v3 │ │ +01a5e8: 7020 f604 3700 |0038: invoke-direct {v7, v3}, Ljava/io/FileOutputStream;.:(Ljava/lang/String;)V // method@04f6 │ │ +01a5ee: 2203 2801 |003b: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +01a5f2: 7020 8405 1300 |003d: invoke-direct {v3, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +01a5f8: 2201 5201 |0040: new-instance v1, Ljava/util/Date; // type@0152 │ │ +01a5fc: 7010 0106 0100 |0042: invoke-direct {v1}, Ljava/util/Date;.:()V // method@0601 │ │ +01a602: 6e20 8805 1300 |0045: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ +01a608: 6e20 8905 0300 |0048: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01a60e: 6e10 8b05 0300 |004b: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01a614: 0c00 |004e: move-result-object v0 │ │ +01a616: 6e10 6905 0000 |004f: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +01a61c: 0c00 |0052: move-result-object v0 │ │ +01a61e: 6e20 f904 0700 |0053: invoke-virtual {v7, v0}, Ljava/io/FileOutputStream;.write:([B)V // method@04f9 │ │ +01a624: 6e10 2305 0200 |0056: invoke-virtual {v2}, Ljava/io/StringWriter;.toString:()Ljava/lang/String; // method@0523 │ │ +01a62a: 0c00 |0059: move-result-object v0 │ │ +01a62c: 6e10 6905 0000 |005a: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +01a632: 0c00 |005d: move-result-object v0 │ │ +01a634: 6e20 f904 0700 |005e: invoke-virtual {v7, v0}, Ljava/io/FileOutputStream;.write:([B)V // method@04f9 │ │ +01a63a: 6e10 f804 0700 |0061: invoke-virtual {v7}, Ljava/io/FileOutputStream;.flush:()V // method@04f8 │ │ +01a640: 6e10 f704 0700 |0064: invoke-virtual {v7}, Ljava/io/FileOutputStream;.close:()V // method@04f7 │ │ +01a646: 2805 |0067: goto 006c // +0005 │ │ +01a648: 0d07 |0068: move-exception v7 │ │ +01a64a: 6e10 3805 0700 |0069: invoke-virtual {v7}, Ljava/lang/Exception;.printStackTrace:()V // method@0538 │ │ +01a650: 0e00 |006c: return-void │ │ catches : 1 │ │ 0x0011 - 0x0067 │ │ Ljava/lang/Exception; -> 0x0068 │ │ positions : │ │ 0x0004 line=689 │ │ 0x0009 line=690 │ │ 0x0011 line=692 │ │ @@ -43601,25 +43601,25 @@ │ │ type : '(Ljava/lang/String;)Landroid/text/Spanned;' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 17 16-bit code units │ │ -019760: |[019760] dnsfilter.android.DNSProxyActivity.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; │ │ -019770: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -019774: 1301 1800 |0002: const/16 v1, #int 24 // #18 │ │ -019778: 3410 0800 |0004: if-lt v0, v1, 000c // +0008 │ │ -01977c: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -01977e: 7120 4c02 0200 |0007: invoke-static {v2, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ljava/lang/String;I)Landroid/text/Spanned; // method@024c │ │ -019784: 0c02 |000a: move-result-object v2 │ │ -019786: 1102 |000b: return-object v2 │ │ -019788: 7110 8700 0200 |000c: invoke-static {v2}, Landroid/text/Html;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@0087 │ │ -01978e: 0c02 |000f: move-result-object v2 │ │ -019790: 1102 |0010: return-object v2 │ │ +01975c: |[01975c] dnsfilter.android.DNSProxyActivity.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; │ │ +01976c: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +019770: 1301 1800 |0002: const/16 v1, #int 24 // #18 │ │ +019774: 3410 0800 |0004: if-lt v0, v1, 000c // +0008 │ │ +019778: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +01977a: 7120 4c02 0200 |0007: invoke-static {v2, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ljava/lang/String;I)Landroid/text/Spanned; // method@024c │ │ +019780: 0c02 |000a: move-result-object v2 │ │ +019782: 1102 |000b: return-object v2 │ │ +019784: 7110 8700 0200 |000c: invoke-static {v2}, Landroid/text/Html;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@0087 │ │ +01978a: 0c02 |000f: move-result-object v2 │ │ +01978c: 1102 |0010: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=236 │ │ 0x0007 line=237 │ │ 0x000c line=239 │ │ locals : │ │ 0x0000 - 0x0011 reg=2 (null) Ljava/lang/String; │ │ @@ -43629,86 +43629,86 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 136 16-bit code units │ │ -019c38: |[019c38] dnsfilter.android.DNSProxyActivity.getBackupSubFolder:()Ljava/lang/String; │ │ -019c48: 1500 057f |0000: const/high16 v0, #int 2131034112 // #7f05 │ │ -019c4c: 6e20 c902 0500 |0002: invoke-virtual {v5, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -019c52: 0c00 |0005: move-result-object v0 │ │ -019c54: 1f00 6e00 |0006: check-cast v0, Landroid/widget/TextView; // type@006e │ │ -019c58: 6e10 ef00 0000 |0008: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ -019c5e: 0c00 |000b: move-result-object v0 │ │ -019c60: 7210 2c05 0000 |000c: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ -019c66: 0c00 |000f: move-result-object v0 │ │ -019c68: 6001 3401 |0010: sget v1, Ldnsfilter/android/DNSProxyActivity;.selectedBackup:I // field@0134 │ │ -019c6c: 1a02 5a00 |0012: const-string v2, "." // string@005a │ │ -019c70: 12f3 |0014: const/4 v3, #int -1 // #ff │ │ -019c72: 3331 0c00 |0015: if-ne v1, v3, 0021 // +000c │ │ -019c76: 1a01 9800 |0017: const-string v1, "" // string@0098 │ │ -019c7a: 6e20 6705 1000 |0019: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -019c80: 0a01 |001c: move-result v1 │ │ -019c82: 3901 0300 |001d: if-nez v1, 0020 // +0003 │ │ -019c86: 2802 |001f: goto 0021 // +0002 │ │ -019c88: 1102 |0020: return-object v2 │ │ -019c8a: 6001 3401 |0021: sget v1, Ldnsfilter/android/DNSProxyActivity;.selectedBackup:I // field@0134 │ │ -019c8e: 3231 0600 |0023: if-eq v1, v3, 0029 // +0006 │ │ -019c92: 6202 0901 |0025: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.availableBackups:[Ljava/lang/String; // field@0109 │ │ -019c96: 4602 0201 |0027: aget-object v2, v2, v1 │ │ -019c9a: 6e20 6705 2000 |0029: invoke-virtual {v0, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -019ca0: 0a01 |002c: move-result v1 │ │ -019ca2: 3901 5a00 |002d: if-nez v1, 0087 // +005a │ │ -019ca6: 1201 |002f: const/4 v1, #int 0 // #0 │ │ -019ca8: 1202 |0030: const/4 v2, #int 0 // #0 │ │ -019caa: 6203 0901 |0031: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.availableBackups:[Ljava/lang/String; // field@0109 │ │ -019cae: 2134 |0033: array-length v4, v3 │ │ -019cb0: 3542 1000 |0034: if-ge v2, v4, 0044 // +0010 │ │ -019cb4: 4603 0302 |0036: aget-object v3, v3, v2 │ │ -019cb8: 6e20 6705 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -019cbe: 0a03 |003b: move-result v3 │ │ -019cc0: 3803 0500 |003c: if-eqz v3, 0041 // +0005 │ │ -019cc4: 6702 3401 |003e: sput v2, Ldnsfilter/android/DNSProxyActivity;.selectedBackup:I // field@0134 │ │ -019cc8: 1100 |0040: return-object v0 │ │ -019cca: d802 0201 |0041: add-int/lit8 v2, v2, #int 1 // #01 │ │ -019cce: 28ee |0043: goto 0031 // -0012 │ │ -019cd0: 2202 4c01 |0044: new-instance v2, Ljava/util/ArrayList; // type@014c │ │ -019cd4: 7010 f405 0200 |0046: invoke-direct {v2}, Ljava/util/ArrayList;.:()V // method@05f4 │ │ -019cda: 6203 0901 |0049: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.availableBackups:[Ljava/lang/String; // field@0109 │ │ -019cde: 7110 f905 0300 |004b: invoke-static {v3}, Ljava/util/Arrays;.asList:([Ljava/lang/Object;)Ljava/util/List; // method@05f9 │ │ -019ce4: 0c03 |004e: move-result-object v3 │ │ -019ce6: 6e20 f605 3200 |004f: invoke-virtual {v2, v3}, Ljava/util/ArrayList;.addAll:(Ljava/util/Collection;)Z // method@05f6 │ │ -019cec: 6e20 f505 0200 |0052: invoke-virtual {v2, v0}, Ljava/util/ArrayList;.add:(Ljava/lang/Object;)Z // method@05f5 │ │ -019cf2: 7110 0006 0200 |0055: invoke-static {v2}, Ljava/util/Collections;.sort:(Ljava/util/List;)V // method@0600 │ │ -019cf8: 6e10 f705 0200 |0058: invoke-virtual {v2}, Ljava/util/ArrayList;.size:()I // method@05f7 │ │ -019cfe: 0a03 |005b: move-result v3 │ │ -019d00: 2333 a901 |005c: new-array v3, v3, [Ljava/lang/String; // type@01a9 │ │ -019d04: 6e20 f805 3200 |005e: invoke-virtual {v2, v3}, Ljava/util/ArrayList;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@05f8 │ │ -019d0a: 0c02 |0061: move-result-object v2 │ │ -019d0c: 1f02 a901 |0062: check-cast v2, [Ljava/lang/String; // type@01a9 │ │ -019d10: 6902 0901 |0064: sput-object v2, Ldnsfilter/android/DNSProxyActivity;.availableBackups:[Ljava/lang/String; // field@0109 │ │ -019d14: 6202 0901 |0066: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.availableBackups:[Ljava/lang/String; // field@0109 │ │ -019d18: 2123 |0068: array-length v3, v2 │ │ -019d1a: 3531 1000 |0069: if-ge v1, v3, 0079 // +0010 │ │ -019d1e: 4602 0201 |006b: aget-object v2, v2, v1 │ │ -019d22: 6e20 6705 2000 |006d: invoke-virtual {v0, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -019d28: 0a02 |0070: move-result v2 │ │ -019d2a: 3802 0500 |0071: if-eqz v2, 0076 // +0005 │ │ -019d2e: 6701 3401 |0073: sput v1, Ldnsfilter/android/DNSProxyActivity;.selectedBackup:I // field@0134 │ │ -019d32: 1100 |0075: return-object v0 │ │ -019d34: d801 0101 |0076: add-int/lit8 v1, v1, #int 1 // #01 │ │ -019d38: 28ee |0078: goto 0066 // -0012 │ │ -019d3a: 7100 0107 0000 |0079: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -019d40: 0c01 |007c: move-result-object v1 │ │ -019d42: 2202 1601 |007d: new-instance v2, Ljava/lang/Exception; // type@0116 │ │ -019d46: 1a03 5c04 |007f: const-string v3, "Something is wrong!" // string@045c │ │ -019d4a: 7020 3605 3200 |0081: invoke-direct {v2, v3}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@0536 │ │ -019d50: 7220 0c07 2100 |0084: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -019d56: 1100 |0087: return-object v0 │ │ +019c34: |[019c34] dnsfilter.android.DNSProxyActivity.getBackupSubFolder:()Ljava/lang/String; │ │ +019c44: 1500 057f |0000: const/high16 v0, #int 2131034112 // #7f05 │ │ +019c48: 6e20 c902 0500 |0002: invoke-virtual {v5, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +019c4e: 0c00 |0005: move-result-object v0 │ │ +019c50: 1f00 6e00 |0006: check-cast v0, Landroid/widget/TextView; // type@006e │ │ +019c54: 6e10 ef00 0000 |0008: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ +019c5a: 0c00 |000b: move-result-object v0 │ │ +019c5c: 7210 2c05 0000 |000c: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ +019c62: 0c00 |000f: move-result-object v0 │ │ +019c64: 6001 3401 |0010: sget v1, Ldnsfilter/android/DNSProxyActivity;.selectedBackup:I // field@0134 │ │ +019c68: 1a02 5a00 |0012: const-string v2, "." // string@005a │ │ +019c6c: 12f3 |0014: const/4 v3, #int -1 // #ff │ │ +019c6e: 3331 0c00 |0015: if-ne v1, v3, 0021 // +000c │ │ +019c72: 1a01 9800 |0017: const-string v1, "" // string@0098 │ │ +019c76: 6e20 6705 1000 |0019: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +019c7c: 0a01 |001c: move-result v1 │ │ +019c7e: 3901 0300 |001d: if-nez v1, 0020 // +0003 │ │ +019c82: 2802 |001f: goto 0021 // +0002 │ │ +019c84: 1102 |0020: return-object v2 │ │ +019c86: 6001 3401 |0021: sget v1, Ldnsfilter/android/DNSProxyActivity;.selectedBackup:I // field@0134 │ │ +019c8a: 3231 0600 |0023: if-eq v1, v3, 0029 // +0006 │ │ +019c8e: 6202 0901 |0025: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.availableBackups:[Ljava/lang/String; // field@0109 │ │ +019c92: 4602 0201 |0027: aget-object v2, v2, v1 │ │ +019c96: 6e20 6705 2000 |0029: invoke-virtual {v0, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +019c9c: 0a01 |002c: move-result v1 │ │ +019c9e: 3901 5a00 |002d: if-nez v1, 0087 // +005a │ │ +019ca2: 1201 |002f: const/4 v1, #int 0 // #0 │ │ +019ca4: 1202 |0030: const/4 v2, #int 0 // #0 │ │ +019ca6: 6203 0901 |0031: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.availableBackups:[Ljava/lang/String; // field@0109 │ │ +019caa: 2134 |0033: array-length v4, v3 │ │ +019cac: 3542 1000 |0034: if-ge v2, v4, 0044 // +0010 │ │ +019cb0: 4603 0302 |0036: aget-object v3, v3, v2 │ │ +019cb4: 6e20 6705 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +019cba: 0a03 |003b: move-result v3 │ │ +019cbc: 3803 0500 |003c: if-eqz v3, 0041 // +0005 │ │ +019cc0: 6702 3401 |003e: sput v2, Ldnsfilter/android/DNSProxyActivity;.selectedBackup:I // field@0134 │ │ +019cc4: 1100 |0040: return-object v0 │ │ +019cc6: d802 0201 |0041: add-int/lit8 v2, v2, #int 1 // #01 │ │ +019cca: 28ee |0043: goto 0031 // -0012 │ │ +019ccc: 2202 4c01 |0044: new-instance v2, Ljava/util/ArrayList; // type@014c │ │ +019cd0: 7010 f405 0200 |0046: invoke-direct {v2}, Ljava/util/ArrayList;.:()V // method@05f4 │ │ +019cd6: 6203 0901 |0049: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.availableBackups:[Ljava/lang/String; // field@0109 │ │ +019cda: 7110 f905 0300 |004b: invoke-static {v3}, Ljava/util/Arrays;.asList:([Ljava/lang/Object;)Ljava/util/List; // method@05f9 │ │ +019ce0: 0c03 |004e: move-result-object v3 │ │ +019ce2: 6e20 f605 3200 |004f: invoke-virtual {v2, v3}, Ljava/util/ArrayList;.addAll:(Ljava/util/Collection;)Z // method@05f6 │ │ +019ce8: 6e20 f505 0200 |0052: invoke-virtual {v2, v0}, Ljava/util/ArrayList;.add:(Ljava/lang/Object;)Z // method@05f5 │ │ +019cee: 7110 0006 0200 |0055: invoke-static {v2}, Ljava/util/Collections;.sort:(Ljava/util/List;)V // method@0600 │ │ +019cf4: 6e10 f705 0200 |0058: invoke-virtual {v2}, Ljava/util/ArrayList;.size:()I // method@05f7 │ │ +019cfa: 0a03 |005b: move-result v3 │ │ +019cfc: 2333 a901 |005c: new-array v3, v3, [Ljava/lang/String; // type@01a9 │ │ +019d00: 6e20 f805 3200 |005e: invoke-virtual {v2, v3}, Ljava/util/ArrayList;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@05f8 │ │ +019d06: 0c02 |0061: move-result-object v2 │ │ +019d08: 1f02 a901 |0062: check-cast v2, [Ljava/lang/String; // type@01a9 │ │ +019d0c: 6902 0901 |0064: sput-object v2, Ldnsfilter/android/DNSProxyActivity;.availableBackups:[Ljava/lang/String; // field@0109 │ │ +019d10: 6202 0901 |0066: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.availableBackups:[Ljava/lang/String; // field@0109 │ │ +019d14: 2123 |0068: array-length v3, v2 │ │ +019d16: 3531 1000 |0069: if-ge v1, v3, 0079 // +0010 │ │ +019d1a: 4602 0201 |006b: aget-object v2, v2, v1 │ │ +019d1e: 6e20 6705 2000 |006d: invoke-virtual {v0, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +019d24: 0a02 |0070: move-result v2 │ │ +019d26: 3802 0500 |0071: if-eqz v2, 0076 // +0005 │ │ +019d2a: 6701 3401 |0073: sput v1, Ldnsfilter/android/DNSProxyActivity;.selectedBackup:I // field@0134 │ │ +019d2e: 1100 |0075: return-object v0 │ │ +019d30: d801 0101 |0076: add-int/lit8 v1, v1, #int 1 // #01 │ │ +019d34: 28ee |0078: goto 0066 // -0012 │ │ +019d36: 7100 0107 0000 |0079: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +019d3c: 0c01 |007c: move-result-object v1 │ │ +019d3e: 2202 1601 |007d: new-instance v2, Ljava/lang/Exception; // type@0116 │ │ +019d42: 1a03 5c04 |007f: const-string v3, "Something is wrong!" // string@045c │ │ +019d46: 7020 3605 3200 |0081: invoke-direct {v2, v3}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@0536 │ │ +019d4c: 7220 0c07 2100 |0084: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +019d52: 1100 |0087: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0002 line=732 │ │ 0x0010 line=733 │ │ 0x0021 line=734 │ │ 0x0025 line=735 │ │ 0x0029 line=737 │ │ @@ -43732,53 +43732,53 @@ │ │ type : '(Z)Ljava/lang/String;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 73 16-bit code units │ │ -019d58: |[019d58] dnsfilter.android.DNSProxyActivity.getSelectedText:(Z)Ljava/lang/String; │ │ -019d68: 6200 2001 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019d6c: 6e10 c400 0000 |0002: invoke-virtual {v0}, Landroid/widget/EditText;.getSelectionStart:()I // method@00c4 │ │ -019d72: 0a00 |0005: move-result v0 │ │ -019d74: 6201 2001 |0006: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019d78: 6e10 c300 0100 |0008: invoke-virtual {v1}, Landroid/widget/EditText;.getSelectionEnd:()I // method@00c3 │ │ -019d7e: 0a01 |000b: move-result v1 │ │ -019d80: 3701 3a00 |000c: if-le v1, v0, 0046 // +003a │ │ -019d84: 6202 2001 |000e: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019d88: 6e10 c500 0200 |0010: invoke-virtual {v2}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ -019d8e: 0c02 |0013: move-result-object v2 │ │ -019d90: 3805 2900 |0014: if-eqz v5, 003d // +0029 │ │ -019d94: 7220 8900 0200 |0016: invoke-interface {v2, v0}, Landroid/text/Spannable;.charAt:(I)C // method@0089 │ │ -019d9a: 0a05 |0019: move-result v5 │ │ -019d9c: 1303 0a00 |001a: const/16 v3, #int 10 // #a │ │ -019da0: 3235 0700 |001c: if-eq v5, v3, 0023 // +0007 │ │ -019da4: 3d00 0500 |001e: if-lez v0, 0023 // +0005 │ │ -019da8: d800 00ff |0020: add-int/lit8 v0, v0, #int -1 // #ff │ │ -019dac: 28f4 |0022: goto 0016 // -000c │ │ -019dae: 3800 0400 |0023: if-eqz v0, 0027 // +0004 │ │ -019db2: d800 0001 |0025: add-int/lit8 v0, v0, #int 1 // #01 │ │ -019db6: 7210 8a00 0200 |0027: invoke-interface {v2}, Landroid/text/Spannable;.length:()I // method@008a │ │ -019dbc: 0a05 |002a: move-result v5 │ │ -019dbe: d805 05ff |002b: add-int/lit8 v5, v5, #int -1 // #ff │ │ -019dc2: 3551 0b00 |002d: if-ge v1, v5, 0038 // +000b │ │ -019dc6: 7220 8900 1200 |002f: invoke-interface {v2, v1}, Landroid/text/Spannable;.charAt:(I)C // method@0089 │ │ -019dcc: 0a05 |0032: move-result v5 │ │ -019dce: 3235 0500 |0033: if-eq v5, v3, 0038 // +0005 │ │ -019dd2: d801 0101 |0035: add-int/lit8 v1, v1, #int 1 // #01 │ │ -019dd6: 28f0 |0037: goto 0027 // -0010 │ │ -019dd8: 6205 2001 |0038: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019ddc: 6e30 d000 0501 |003a: invoke-virtual {v5, v0, v1}, Landroid/widget/EditText;.setSelection:(II)V // method@00d0 │ │ -019de2: 7230 8b00 0201 |003d: invoke-interface {v2, v0, v1}, Landroid/text/Spannable;.subSequence:(II)Ljava/lang/CharSequence; // method@008b │ │ -019de8: 0c05 |0040: move-result-object v5 │ │ -019dea: 7210 2c05 0500 |0041: invoke-interface {v5}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ -019df0: 0c05 |0044: move-result-object v5 │ │ -019df2: 2803 |0045: goto 0048 // +0003 │ │ -019df4: 1a05 0000 |0046: const-string v5, "" // string@0000 │ │ -019df8: 1105 |0048: return-object v5 │ │ +019d54: |[019d54] dnsfilter.android.DNSProxyActivity.getSelectedText:(Z)Ljava/lang/String; │ │ +019d64: 6200 2001 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +019d68: 6e10 c400 0000 |0002: invoke-virtual {v0}, Landroid/widget/EditText;.getSelectionStart:()I // method@00c4 │ │ +019d6e: 0a00 |0005: move-result v0 │ │ +019d70: 6201 2001 |0006: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +019d74: 6e10 c300 0100 |0008: invoke-virtual {v1}, Landroid/widget/EditText;.getSelectionEnd:()I // method@00c3 │ │ +019d7a: 0a01 |000b: move-result v1 │ │ +019d7c: 3701 3a00 |000c: if-le v1, v0, 0046 // +003a │ │ +019d80: 6202 2001 |000e: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +019d84: 6e10 c500 0200 |0010: invoke-virtual {v2}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ +019d8a: 0c02 |0013: move-result-object v2 │ │ +019d8c: 3805 2900 |0014: if-eqz v5, 003d // +0029 │ │ +019d90: 7220 8900 0200 |0016: invoke-interface {v2, v0}, Landroid/text/Spannable;.charAt:(I)C // method@0089 │ │ +019d96: 0a05 |0019: move-result v5 │ │ +019d98: 1303 0a00 |001a: const/16 v3, #int 10 // #a │ │ +019d9c: 3235 0700 |001c: if-eq v5, v3, 0023 // +0007 │ │ +019da0: 3d00 0500 |001e: if-lez v0, 0023 // +0005 │ │ +019da4: d800 00ff |0020: add-int/lit8 v0, v0, #int -1 // #ff │ │ +019da8: 28f4 |0022: goto 0016 // -000c │ │ +019daa: 3800 0400 |0023: if-eqz v0, 0027 // +0004 │ │ +019dae: d800 0001 |0025: add-int/lit8 v0, v0, #int 1 // #01 │ │ +019db2: 7210 8a00 0200 |0027: invoke-interface {v2}, Landroid/text/Spannable;.length:()I // method@008a │ │ +019db8: 0a05 |002a: move-result v5 │ │ +019dba: d805 05ff |002b: add-int/lit8 v5, v5, #int -1 // #ff │ │ +019dbe: 3551 0b00 |002d: if-ge v1, v5, 0038 // +000b │ │ +019dc2: 7220 8900 1200 |002f: invoke-interface {v2, v1}, Landroid/text/Spannable;.charAt:(I)C // method@0089 │ │ +019dc8: 0a05 |0032: move-result v5 │ │ +019dca: 3235 0500 |0033: if-eq v5, v3, 0038 // +0005 │ │ +019dce: d801 0101 |0035: add-int/lit8 v1, v1, #int 1 // #01 │ │ +019dd2: 28f0 |0037: goto 0027 // -0010 │ │ +019dd4: 6205 2001 |0038: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +019dd8: 6e30 d000 0501 |003a: invoke-virtual {v5, v0, v1}, Landroid/widget/EditText;.setSelection:(II)V // method@00d0 │ │ +019dde: 7230 8b00 0201 |003d: invoke-interface {v2, v0, v1}, Landroid/text/Spannable;.subSequence:(II)Ljava/lang/CharSequence; // method@008b │ │ +019de4: 0c05 |0040: move-result-object v5 │ │ +019de6: 7210 2c05 0500 |0041: invoke-interface {v5}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ +019dec: 0c05 |0044: move-result-object v5 │ │ +019dee: 2803 |0045: goto 0048 // +0003 │ │ +019df0: 1a05 0000 |0046: const-string v5, "" // string@0000 │ │ +019df4: 1105 |0048: return-object v5 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1876 │ │ 0x0006 line=1877 │ │ 0x000e line=1880 │ │ 0x0016 line=1882 │ │ 0x0027 line=1886 │ │ @@ -43794,300 +43794,300 @@ │ │ type : '(Landroid/widget/CheckBox;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 12 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 638 16-bit code units │ │ -01a668: |[01a668] dnsfilter.android.DNSProxyActivity.handleAdvancedConfig:(Landroid/widget/CheckBox;)V │ │ -01a678: 1400 3c00 057f |0000: const v0, #float 1.76789e+38 // #7f05003c │ │ -01a67e: 6e20 c902 0a00 |0003: invoke-virtual {v10, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01a684: 0c00 |0006: move-result-object v0 │ │ -01a686: 1f00 5400 |0007: check-cast v0, Landroid/view/ViewGroup; // type@0054 │ │ -01a68a: 7020 ff02 0a00 |0009: invoke-direct {v10, v0}, Ldnsfilter/android/DNSProxyActivity;.prepareTransition:(Landroid/view/ViewGroup;)V // method@02ff │ │ -01a690: 1400 1300 057f |000c: const v0, #float 1.76788e+38 // #7f050013 │ │ -01a696: 6e20 c902 0a00 |000f: invoke-virtual {v10, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01a69c: 0c00 |0012: move-result-object v0 │ │ -01a69e: 1f00 6e00 |0013: check-cast v0, Landroid/widget/TextView; // type@006e │ │ -01a6a2: 1a01 0000 |0015: const-string v1, "" // string@0000 │ │ -01a6a6: 6e20 f400 1000 |0017: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01a6ac: 6200 0301 |001a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ -01a6b0: 6e10 b700 0000 |001c: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01a6b6: 0a00 |001f: move-result v0 │ │ -01a6b8: 1402 0c00 057f |0020: const v2, #float 1.76788e+38 // #7f05000c │ │ -01a6be: 1403 4800 057f |0023: const v3, #float 1.76789e+38 // #7f050048 │ │ -01a6c4: 1404 0900 057f |0026: const v4, #float 1.76788e+38 // #7f050009 │ │ -01a6ca: 1405 3400 057f |0029: const v5, #float 1.76788e+38 // #7f050034 │ │ -01a6d0: 1406 1500 057f |002c: const v6, #float 1.76788e+38 // #7f050015 │ │ -01a6d6: 1307 0800 |002f: const/16 v7, #int 8 // #8 │ │ -01a6da: 1208 |0031: const/4 v8, #int 0 // #0 │ │ -01a6dc: 3800 f401 |0032: if-eqz v0, 0226 // +01f4 │ │ -01a6e0: 7020 0903 7a00 |0034: invoke-direct {v10, v7}, Ldnsfilter/android/DNSProxyActivity;.setVisibilityForAdvCfg:(I)V // method@0309 │ │ -01a6e6: 6000 0200 |0037: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01a6ea: 1309 1500 |0039: const/16 v9, #int 21 // #15 │ │ -01a6ee: 3490 1700 |003b: if-lt v0, v9, 0052 // +0017 │ │ -01a6f2: 6200 f000 |003d: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01a6f6: 6e10 4301 0000 |003f: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0143 │ │ -01a6fc: 0a00 |0042: move-result v0 │ │ -01a6fe: 3800 0f00 |0043: if-eqz v0, 0052 // +000f │ │ -01a702: 6300 fa00 |0045: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.NO_VPN:Z // field@00fa │ │ -01a706: 3900 0b00 |0047: if-nez v0, 0052 // +000b │ │ -01a70a: 6200 0601 |0049: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01a70e: 6e20 bd00 8000 |004b: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a714: 1210 |004e: const/4 v0, #int 1 // #1 │ │ -01a716: 6a00 0801 |004f: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.appWhitelistingEnabled:Z // field@0108 │ │ -01a71a: 280d |0051: goto 005e // +000d │ │ -01a71c: 6200 0601 |0052: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01a720: 6e20 bd00 7000 |0054: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a726: 6200 0601 |0057: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01a72a: 6e20 b800 8000 |0059: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01a730: 6a08 0801 |005c: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.appWhitelistingEnabled:Z // field@0108 │ │ -01a734: 6e20 c902 2a00 |005e: invoke-virtual {v10, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01a73a: 0c00 |0061: move-result-object v0 │ │ -01a73c: 6e20 9f00 8000 |0062: invoke-virtual {v0, v8}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -01a742: 6200 1c01 |0065: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ -01a746: 6e20 bd00 8000 |0067: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a74c: 6200 2901 |006a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01a750: 6e20 bd00 8000 |006c: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a756: 6200 2801 |006f: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ -01a75a: 6e20 bd00 8000 |0071: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a760: 6200 3001 |0074: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01a764: 6e20 bd00 8000 |0076: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a76a: 6200 1501 |0079: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ -01a76e: 6e20 bd00 8000 |007b: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a774: 6200 1101 |007e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01a778: 6e20 bd00 8000 |0080: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a77e: 6200 2201 |0083: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01a782: 6e20 bd00 8000 |0085: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a788: 6200 1201 |0088: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01a78c: 6e20 bd00 8000 |008a: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a792: 6200 0c01 |008d: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01a796: 6e20 bd00 8000 |008f: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a79c: 390b 3700 |0092: if-nez v11, 00c9 // +0037 │ │ -01a7a0: 6200 1101 |0094: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01a7a4: 6e10 b700 0000 |0096: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01a7aa: 0a00 |0099: move-result v0 │ │ -01a7ac: 3800 0400 |009a: if-eqz v0, 009e // +0004 │ │ -01a7b0: 620b 1101 |009c: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01a7b4: 6200 2201 |009e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01a7b8: 6e10 b700 0000 |00a0: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01a7be: 0a00 |00a3: move-result v0 │ │ -01a7c0: 3800 0500 |00a4: if-eqz v0, 00a9 // +0005 │ │ -01a7c4: 620b 2201 |00a6: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01a7c8: 2821 |00a8: goto 00c9 // +0021 │ │ -01a7ca: 6200 1201 |00a9: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01a7ce: 6e10 b700 0000 |00ab: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01a7d4: 0a00 |00ae: move-result v0 │ │ -01a7d6: 3800 0500 |00af: if-eqz v0, 00b4 // +0005 │ │ -01a7da: 620b 1201 |00b1: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01a7de: 2816 |00b3: goto 00c9 // +0016 │ │ -01a7e0: 6200 0c01 |00b4: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01a7e4: 6e10 b700 0000 |00b6: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01a7ea: 0a00 |00b9: move-result v0 │ │ -01a7ec: 3800 0500 |00ba: if-eqz v0, 00bf // +0005 │ │ -01a7f0: 620b 0c01 |00bc: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01a7f4: 280b |00be: goto 00c9 // +000b │ │ -01a7f6: 6200 0601 |00bf: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01a7fa: 6e10 b700 0000 |00c1: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01a800: 0a00 |00c4: move-result v0 │ │ -01a802: 3800 0400 |00c5: if-eqz v0, 00c9 // +0004 │ │ -01a806: 620b 0601 |00c7: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01a80a: 6200 0301 |00c9: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ -01a80e: 320b 9600 |00cb: if-eq v11, v0, 0161 // +0096 │ │ -01a812: 380b 9400 |00cd: if-eqz v11, 0161 // +0094 │ │ -01a816: 6e10 b700 0b00 |00cf: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01a81c: 0a00 |00d2: move-result v0 │ │ -01a81e: 3800 5800 |00d3: if-eqz v0, 012b // +0058 │ │ -01a822: 6200 1c01 |00d5: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ -01a826: 6e20 bd00 7000 |00d7: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a82c: 6200 2901 |00da: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01a830: 6e20 bd00 7000 |00dc: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a836: 6200 2801 |00df: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ -01a83a: 6e20 bd00 7000 |00e1: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a840: 6200 3001 |00e4: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01a844: 6e20 bd00 7000 |00e6: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a84a: 6200 1501 |00e9: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ -01a84e: 6e20 bd00 7000 |00eb: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a854: 6200 1101 |00ee: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01a858: 320b 0a00 |00f0: if-eq v11, v0, 00fa // +000a │ │ -01a85c: 6e20 b800 8000 |00f2: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01a862: 6200 1101 |00f5: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01a866: 6e20 bd00 7000 |00f7: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a86c: 6200 2201 |00fa: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01a870: 320b 0a00 |00fc: if-eq v11, v0, 0106 // +000a │ │ -01a874: 6e20 b800 8000 |00fe: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01a87a: 6200 2201 |0101: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01a87e: 6e20 bd00 7000 |0103: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a884: 6200 1201 |0106: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01a888: 320b 0a00 |0108: if-eq v11, v0, 0112 // +000a │ │ -01a88c: 6e20 b800 8000 |010a: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01a892: 6200 1201 |010d: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01a896: 6e20 bd00 7000 |010f: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a89c: 6200 0601 |0112: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01a8a0: 320b 0a00 |0114: if-eq v11, v0, 011e // +000a │ │ -01a8a4: 6e20 b800 8000 |0116: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01a8aa: 6200 0601 |0119: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01a8ae: 6e20 bd00 7000 |011b: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a8b4: 6200 0c01 |011e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01a8b8: 320b 4100 |0120: if-eq v11, v0, 0161 // +0041 │ │ -01a8bc: 6e20 b800 8000 |0122: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01a8c2: 620b 0c01 |0125: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01a8c6: 6e20 bd00 7b00 |0127: invoke-virtual {v11, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a8cc: 2837 |012a: goto 0161 // +0037 │ │ -01a8ce: 620b 1c01 |012b: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ -01a8d2: 6e20 bd00 8b00 |012d: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a8d8: 620b 2901 |0130: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01a8dc: 6e20 bd00 8b00 |0132: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a8e2: 620b 2801 |0135: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ -01a8e6: 6e20 bd00 8b00 |0137: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a8ec: 620b 3001 |013a: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01a8f0: 6e20 bd00 8b00 |013c: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a8f6: 620b 1501 |013f: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ -01a8fa: 6e20 bd00 8b00 |0141: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a900: 620b 1101 |0144: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01a904: 6e20 bd00 8b00 |0146: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a90a: 620b 2201 |0149: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01a90e: 6e20 bd00 8b00 |014b: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a914: 620b 1201 |014e: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01a918: 6e20 bd00 8b00 |0150: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a91e: 630b 0801 |0153: sget-boolean v11, Ldnsfilter/android/DNSProxyActivity;.appWhitelistingEnabled:Z // field@0108 │ │ -01a922: 380b 0700 |0155: if-eqz v11, 015c // +0007 │ │ -01a926: 620b 0601 |0157: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01a92a: 6e20 bd00 8b00 |0159: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a930: 620b 0c01 |015c: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01a934: 6e20 bd00 8b00 |015e: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01a93a: 620b 0c01 |0161: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01a93e: 6e10 b700 0b00 |0163: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01a944: 0a0b |0166: move-result v11 │ │ -01a946: 380b 3700 |0167: if-eqz v11, 019e // +0037 │ │ -01a94a: 6e20 c902 6a00 |0169: invoke-virtual {v10, v6}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01a950: 0c0b |016c: move-result-object v11 │ │ -01a952: 6e20 9f00 8b00 |016d: invoke-virtual {v11, v8}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -01a958: 620b f000 |0170: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01a95c: 6e10 3801 0b00 |0172: invoke-virtual {v11}, Ldnsfilter/ConfigurationAccess;.getAvailableBackups:()[Ljava/lang/String; // method@0138 │ │ -01a962: 0c0b |0175: move-result-object v11 │ │ -01a964: 690b 0901 |0176: sput-object v11, Ldnsfilter/android/DNSProxyActivity;.availableBackups:[Ljava/lang/String; // field@0109 │ │ -01a968: 12fb |0178: const/4 v11, #int -1 // #ff │ │ -01a96a: 670b 3401 |0179: sput v11, Ldnsfilter/android/DNSProxyActivity;.selectedBackup:I // field@0134 │ │ -01a96e: 150b 057f |017b: const/high16 v11, #int 2131034112 // #7f05 │ │ -01a972: 6e20 c902 ba00 |017d: invoke-virtual {v10, v11}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01a978: 0c0b |0180: move-result-object v11 │ │ -01a97a: 1f0b 6e00 |0181: check-cast v11, Landroid/widget/TextView; // type@006e │ │ -01a97e: 1a00 9800 |0183: const-string v0, "" // string@0098 │ │ -01a982: 6e20 f400 0b00 |0185: invoke-virtual {v11, v0}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01a988: 281d |0188: goto 01a5 // +001d │ │ -01a98a: 0d0b |0189: move-exception v11 │ │ -01a98c: 7100 0107 0000 |018a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01a992: 0c00 |018d: move-result-object v0 │ │ -01a994: 7220 0c07 b000 |018e: invoke-interface {v0, v11}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -01a99a: 620b 0c01 |0191: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01a99e: 6e20 b800 8b00 |0193: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01a9a4: 6e20 c902 6a00 |0196: invoke-virtual {v10, v6}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01a9aa: 0c0b |0199: move-result-object v11 │ │ -01a9ac: 6e20 9f00 7b00 |019a: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -01a9b2: 2808 |019d: goto 01a5 // +0008 │ │ -01a9b4: 6e20 c902 6a00 |019e: invoke-virtual {v10, v6}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01a9ba: 0c0b |01a1: move-result-object v11 │ │ -01a9bc: 6e20 9f00 7b00 |01a2: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -01a9c2: 620b 0601 |01a5: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01a9c6: 6e10 b700 0b00 |01a7: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01a9cc: 0a0b |01aa: move-result v11 │ │ -01a9ce: 380b 0d00 |01ab: if-eqz v11, 01b8 // +000d │ │ -01a9d2: 620b 0701 |01ad: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListScroll:Landroid/widget/ScrollView; // field@0107 │ │ -01a9d6: 6e20 e000 8b00 |01af: invoke-virtual {v11, v8}, Landroid/widget/ScrollView;.setVisibility:(I)V // method@00e0 │ │ -01a9dc: 620b 0401 |01b2: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ -01a9e0: 6e10 3d02 0b00 |01b4: invoke-virtual {v11}, Ldnsfilter/android/AppSelectorView;.loadAppList:()V // method@023d │ │ -01a9e6: 280b |01b7: goto 01c2 // +000b │ │ -01a9e8: 620b 0401 |01b8: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ -01a9ec: 6e10 3902 0b00 |01ba: invoke-virtual {v11}, Ldnsfilter/android/AppSelectorView;.clear:()V // method@0239 │ │ -01a9f2: 620b 0701 |01bd: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListScroll:Landroid/widget/ScrollView; // field@0107 │ │ -01a9f6: 6e20 e000 7b00 |01bf: invoke-virtual {v11, v7}, Landroid/widget/ScrollView;.setVisibility:(I)V // method@00e0 │ │ -01a9fc: 620b 1201 |01c2: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01aa00: 6e10 b700 0b00 |01c4: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01aa06: 0a0b |01c7: move-result v11 │ │ -01aa08: 380b 0f00 |01c8: if-eqz v11, 01d7 // +000f │ │ -01aa0c: 620b 1601 |01ca: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -01aa10: 6e10 1a03 0b00 |01cc: invoke-virtual {v11}, Ldnsfilter/android/FilterConfig;.load:()V // method@031a │ │ -01aa16: 6e20 c902 5a00 |01cf: invoke-virtual {v10, v5}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01aa1c: 0c0b |01d2: move-result-object v11 │ │ -01aa1e: 6e20 9f00 8b00 |01d3: invoke-virtual {v11, v8}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -01aa24: 280d |01d6: goto 01e3 // +000d │ │ -01aa26: 6e20 c902 5a00 |01d7: invoke-virtual {v10, v5}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01aa2c: 0c0b |01da: move-result-object v11 │ │ -01aa2e: 6e20 9f00 7b00 |01db: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -01aa34: 620b 1601 |01de: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -01aa38: 6e10 1403 0b00 |01e0: invoke-virtual {v11}, Ldnsfilter/android/FilterConfig;.clear:()V // method@0314 │ │ -01aa3e: 620b 1101 |01e3: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01aa42: 6e10 b700 0b00 |01e5: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01aa48: 0a0b |01e8: move-result v11 │ │ -01aa4a: 380b 0d00 |01e9: if-eqz v11, 01f6 // +000d │ │ -01aa4e: 6e10 de02 0a00 |01eb: invoke-virtual {v10}, Ldnsfilter/android/DNSProxyActivity;.loadAdditionalHosts:()V // method@02de │ │ -01aa54: 6e20 c902 4a00 |01ee: invoke-virtual {v10, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01aa5a: 0c0b |01f1: move-result-object v11 │ │ -01aa5c: 6e20 9f00 8b00 |01f2: invoke-virtual {v11, v8}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -01aa62: 280f |01f5: goto 0204 // +000f │ │ -01aa64: 620b 0201 |01f6: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -01aa68: 6e20 d100 1b00 |01f8: invoke-virtual {v11, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ -01aa6e: 6a08 0101 |01fb: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ -01aa72: 6e20 c902 4a00 |01fd: invoke-virtual {v10, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01aa78: 0c0b |0200: move-result-object v11 │ │ -01aa7a: 6e20 9f00 7b00 |0201: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -01aa80: 620b 2201 |0204: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01aa84: 6e10 b700 0b00 |0206: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01aa8a: 0a0b |0209: move-result v11 │ │ -01aa8c: 380b 0d00 |020a: if-eqz v11, 0217 // +000d │ │ -01aa90: 6e10 e002 0a00 |020c: invoke-virtual {v10}, Ldnsfilter/android/DNSProxyActivity;.loadManuallyEditConf:()V // method@02e0 │ │ -01aa96: 6e20 c902 3a00 |020f: invoke-virtual {v10, v3}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01aa9c: 0c0b |0212: move-result-object v11 │ │ -01aa9e: 6e20 9f00 8b00 |0213: invoke-virtual {v11, v8}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -01aaa4: 2867 |0216: goto 027d // +0067 │ │ -01aaa6: 620b 2301 |0217: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ -01aaaa: 6e20 d100 1b00 |0219: invoke-virtual {v11, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ -01aab0: 6a08 2101 |021c: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ -01aab4: 6e20 c902 3a00 |021e: invoke-virtual {v10, v3}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01aaba: 0c0b |0221: move-result-object v11 │ │ -01aabc: 6e20 9f00 7b00 |0222: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -01aac2: 2858 |0225: goto 027d // +0058 │ │ -01aac4: 7020 0903 8a00 |0226: invoke-direct {v10, v8}, Ldnsfilter/android/DNSProxyActivity;.setVisibilityForAdvCfg:(I)V // method@0309 │ │ -01aaca: 6e20 c902 5a00 |0229: invoke-virtual {v10, v5}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01aad0: 0c0b |022c: move-result-object v11 │ │ -01aad2: 6e20 9f00 7b00 |022d: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -01aad8: 620b 1601 |0230: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -01aadc: 6e10 1403 0b00 |0232: invoke-virtual {v11}, Ldnsfilter/android/FilterConfig;.clear:()V // method@0314 │ │ -01aae2: 6e20 c902 4a00 |0235: invoke-virtual {v10, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01aae8: 0c0b |0238: move-result-object v11 │ │ -01aaea: 6e20 9f00 7b00 |0239: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -01aaf0: 6e20 c902 3a00 |023c: invoke-virtual {v10, v3}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01aaf6: 0c0b |023f: move-result-object v11 │ │ -01aaf8: 6e20 9f00 7b00 |0240: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -01aafe: 6e20 c902 2a00 |0243: invoke-virtual {v10, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01ab04: 0c0b |0246: move-result-object v11 │ │ -01ab06: 6e20 9f00 7b00 |0247: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -01ab0c: 620b 0601 |024a: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01ab10: 6e20 b800 8b00 |024c: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01ab16: 620b 0401 |024f: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ -01ab1a: 6e10 3902 0b00 |0251: invoke-virtual {v11}, Ldnsfilter/android/AppSelectorView;.clear:()V // method@0239 │ │ -01ab20: 6e20 c902 6a00 |0254: invoke-virtual {v10, v6}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01ab26: 0c0b |0257: move-result-object v11 │ │ -01ab28: 6e20 9f00 7b00 |0258: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -01ab2e: 620b 1201 |025b: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01ab32: 6e20 b800 8b00 |025d: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01ab38: 620b 0c01 |0260: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01ab3c: 6e20 b800 8b00 |0262: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01ab42: 620b 1101 |0265: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01ab46: 6e20 b800 8b00 |0267: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01ab4c: 620b 2201 |026a: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01ab50: 6e20 b800 8b00 |026c: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01ab56: 620b 0201 |026f: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -01ab5a: 6e20 d100 1b00 |0271: invoke-virtual {v11, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ -01ab60: 620b 2301 |0274: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ -01ab64: 6e20 d100 1b00 |0276: invoke-virtual {v11, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ -01ab6a: 6a08 0101 |0279: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ -01ab6e: 6a08 2101 |027b: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ -01ab72: 0e00 |027d: return-void │ │ +01a664: |[01a664] dnsfilter.android.DNSProxyActivity.handleAdvancedConfig:(Landroid/widget/CheckBox;)V │ │ +01a674: 1400 3c00 057f |0000: const v0, #float 1.76789e+38 // #7f05003c │ │ +01a67a: 6e20 c902 0a00 |0003: invoke-virtual {v10, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01a680: 0c00 |0006: move-result-object v0 │ │ +01a682: 1f00 5400 |0007: check-cast v0, Landroid/view/ViewGroup; // type@0054 │ │ +01a686: 7020 ff02 0a00 |0009: invoke-direct {v10, v0}, Ldnsfilter/android/DNSProxyActivity;.prepareTransition:(Landroid/view/ViewGroup;)V // method@02ff │ │ +01a68c: 1400 1300 057f |000c: const v0, #float 1.76788e+38 // #7f050013 │ │ +01a692: 6e20 c902 0a00 |000f: invoke-virtual {v10, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01a698: 0c00 |0012: move-result-object v0 │ │ +01a69a: 1f00 6e00 |0013: check-cast v0, Landroid/widget/TextView; // type@006e │ │ +01a69e: 1a01 0000 |0015: const-string v1, "" // string@0000 │ │ +01a6a2: 6e20 f400 1000 |0017: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01a6a8: 6200 0301 |001a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ +01a6ac: 6e10 b700 0000 |001c: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01a6b2: 0a00 |001f: move-result v0 │ │ +01a6b4: 1402 0c00 057f |0020: const v2, #float 1.76788e+38 // #7f05000c │ │ +01a6ba: 1403 4800 057f |0023: const v3, #float 1.76789e+38 // #7f050048 │ │ +01a6c0: 1404 0900 057f |0026: const v4, #float 1.76788e+38 // #7f050009 │ │ +01a6c6: 1405 3400 057f |0029: const v5, #float 1.76788e+38 // #7f050034 │ │ +01a6cc: 1406 1500 057f |002c: const v6, #float 1.76788e+38 // #7f050015 │ │ +01a6d2: 1307 0800 |002f: const/16 v7, #int 8 // #8 │ │ +01a6d6: 1208 |0031: const/4 v8, #int 0 // #0 │ │ +01a6d8: 3800 f401 |0032: if-eqz v0, 0226 // +01f4 │ │ +01a6dc: 7020 0903 7a00 |0034: invoke-direct {v10, v7}, Ldnsfilter/android/DNSProxyActivity;.setVisibilityForAdvCfg:(I)V // method@0309 │ │ +01a6e2: 6000 0200 |0037: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01a6e6: 1309 1500 |0039: const/16 v9, #int 21 // #15 │ │ +01a6ea: 3490 1700 |003b: if-lt v0, v9, 0052 // +0017 │ │ +01a6ee: 6200 f000 |003d: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01a6f2: 6e10 4301 0000 |003f: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0143 │ │ +01a6f8: 0a00 |0042: move-result v0 │ │ +01a6fa: 3800 0f00 |0043: if-eqz v0, 0052 // +000f │ │ +01a6fe: 6300 fa00 |0045: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.NO_VPN:Z // field@00fa │ │ +01a702: 3900 0b00 |0047: if-nez v0, 0052 // +000b │ │ +01a706: 6200 0601 |0049: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01a70a: 6e20 bd00 8000 |004b: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a710: 1210 |004e: const/4 v0, #int 1 // #1 │ │ +01a712: 6a00 0801 |004f: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.appWhitelistingEnabled:Z // field@0108 │ │ +01a716: 280d |0051: goto 005e // +000d │ │ +01a718: 6200 0601 |0052: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01a71c: 6e20 bd00 7000 |0054: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a722: 6200 0601 |0057: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01a726: 6e20 b800 8000 |0059: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01a72c: 6a08 0801 |005c: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.appWhitelistingEnabled:Z // field@0108 │ │ +01a730: 6e20 c902 2a00 |005e: invoke-virtual {v10, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01a736: 0c00 |0061: move-result-object v0 │ │ +01a738: 6e20 9f00 8000 |0062: invoke-virtual {v0, v8}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +01a73e: 6200 1c01 |0065: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ +01a742: 6e20 bd00 8000 |0067: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a748: 6200 2901 |006a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01a74c: 6e20 bd00 8000 |006c: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a752: 6200 2801 |006f: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ +01a756: 6e20 bd00 8000 |0071: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a75c: 6200 3001 |0074: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01a760: 6e20 bd00 8000 |0076: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a766: 6200 1501 |0079: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ +01a76a: 6e20 bd00 8000 |007b: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a770: 6200 1101 |007e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01a774: 6e20 bd00 8000 |0080: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a77a: 6200 2201 |0083: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01a77e: 6e20 bd00 8000 |0085: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a784: 6200 1201 |0088: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01a788: 6e20 bd00 8000 |008a: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a78e: 6200 0c01 |008d: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01a792: 6e20 bd00 8000 |008f: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a798: 390b 3700 |0092: if-nez v11, 00c9 // +0037 │ │ +01a79c: 6200 1101 |0094: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01a7a0: 6e10 b700 0000 |0096: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01a7a6: 0a00 |0099: move-result v0 │ │ +01a7a8: 3800 0400 |009a: if-eqz v0, 009e // +0004 │ │ +01a7ac: 620b 1101 |009c: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01a7b0: 6200 2201 |009e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01a7b4: 6e10 b700 0000 |00a0: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01a7ba: 0a00 |00a3: move-result v0 │ │ +01a7bc: 3800 0500 |00a4: if-eqz v0, 00a9 // +0005 │ │ +01a7c0: 620b 2201 |00a6: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01a7c4: 2821 |00a8: goto 00c9 // +0021 │ │ +01a7c6: 6200 1201 |00a9: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01a7ca: 6e10 b700 0000 |00ab: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01a7d0: 0a00 |00ae: move-result v0 │ │ +01a7d2: 3800 0500 |00af: if-eqz v0, 00b4 // +0005 │ │ +01a7d6: 620b 1201 |00b1: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01a7da: 2816 |00b3: goto 00c9 // +0016 │ │ +01a7dc: 6200 0c01 |00b4: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01a7e0: 6e10 b700 0000 |00b6: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01a7e6: 0a00 |00b9: move-result v0 │ │ +01a7e8: 3800 0500 |00ba: if-eqz v0, 00bf // +0005 │ │ +01a7ec: 620b 0c01 |00bc: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01a7f0: 280b |00be: goto 00c9 // +000b │ │ +01a7f2: 6200 0601 |00bf: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01a7f6: 6e10 b700 0000 |00c1: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01a7fc: 0a00 |00c4: move-result v0 │ │ +01a7fe: 3800 0400 |00c5: if-eqz v0, 00c9 // +0004 │ │ +01a802: 620b 0601 |00c7: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01a806: 6200 0301 |00c9: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ +01a80a: 320b 9600 |00cb: if-eq v11, v0, 0161 // +0096 │ │ +01a80e: 380b 9400 |00cd: if-eqz v11, 0161 // +0094 │ │ +01a812: 6e10 b700 0b00 |00cf: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01a818: 0a00 |00d2: move-result v0 │ │ +01a81a: 3800 5800 |00d3: if-eqz v0, 012b // +0058 │ │ +01a81e: 6200 1c01 |00d5: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ +01a822: 6e20 bd00 7000 |00d7: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a828: 6200 2901 |00da: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01a82c: 6e20 bd00 7000 |00dc: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a832: 6200 2801 |00df: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ +01a836: 6e20 bd00 7000 |00e1: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a83c: 6200 3001 |00e4: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01a840: 6e20 bd00 7000 |00e6: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a846: 6200 1501 |00e9: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ +01a84a: 6e20 bd00 7000 |00eb: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a850: 6200 1101 |00ee: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01a854: 320b 0a00 |00f0: if-eq v11, v0, 00fa // +000a │ │ +01a858: 6e20 b800 8000 |00f2: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01a85e: 6200 1101 |00f5: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01a862: 6e20 bd00 7000 |00f7: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a868: 6200 2201 |00fa: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01a86c: 320b 0a00 |00fc: if-eq v11, v0, 0106 // +000a │ │ +01a870: 6e20 b800 8000 |00fe: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01a876: 6200 2201 |0101: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01a87a: 6e20 bd00 7000 |0103: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a880: 6200 1201 |0106: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01a884: 320b 0a00 |0108: if-eq v11, v0, 0112 // +000a │ │ +01a888: 6e20 b800 8000 |010a: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01a88e: 6200 1201 |010d: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01a892: 6e20 bd00 7000 |010f: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a898: 6200 0601 |0112: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01a89c: 320b 0a00 |0114: if-eq v11, v0, 011e // +000a │ │ +01a8a0: 6e20 b800 8000 |0116: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01a8a6: 6200 0601 |0119: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01a8aa: 6e20 bd00 7000 |011b: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a8b0: 6200 0c01 |011e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01a8b4: 320b 4100 |0120: if-eq v11, v0, 0161 // +0041 │ │ +01a8b8: 6e20 b800 8000 |0122: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01a8be: 620b 0c01 |0125: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01a8c2: 6e20 bd00 7b00 |0127: invoke-virtual {v11, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a8c8: 2837 |012a: goto 0161 // +0037 │ │ +01a8ca: 620b 1c01 |012b: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ +01a8ce: 6e20 bd00 8b00 |012d: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a8d4: 620b 2901 |0130: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01a8d8: 6e20 bd00 8b00 |0132: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a8de: 620b 2801 |0135: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ +01a8e2: 6e20 bd00 8b00 |0137: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a8e8: 620b 3001 |013a: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01a8ec: 6e20 bd00 8b00 |013c: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a8f2: 620b 1501 |013f: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ +01a8f6: 6e20 bd00 8b00 |0141: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a8fc: 620b 1101 |0144: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01a900: 6e20 bd00 8b00 |0146: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a906: 620b 2201 |0149: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01a90a: 6e20 bd00 8b00 |014b: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a910: 620b 1201 |014e: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01a914: 6e20 bd00 8b00 |0150: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a91a: 630b 0801 |0153: sget-boolean v11, Ldnsfilter/android/DNSProxyActivity;.appWhitelistingEnabled:Z // field@0108 │ │ +01a91e: 380b 0700 |0155: if-eqz v11, 015c // +0007 │ │ +01a922: 620b 0601 |0157: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01a926: 6e20 bd00 8b00 |0159: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a92c: 620b 0c01 |015c: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01a930: 6e20 bd00 8b00 |015e: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01a936: 620b 0c01 |0161: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01a93a: 6e10 b700 0b00 |0163: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01a940: 0a0b |0166: move-result v11 │ │ +01a942: 380b 3700 |0167: if-eqz v11, 019e // +0037 │ │ +01a946: 6e20 c902 6a00 |0169: invoke-virtual {v10, v6}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01a94c: 0c0b |016c: move-result-object v11 │ │ +01a94e: 6e20 9f00 8b00 |016d: invoke-virtual {v11, v8}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +01a954: 620b f000 |0170: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01a958: 6e10 3801 0b00 |0172: invoke-virtual {v11}, Ldnsfilter/ConfigurationAccess;.getAvailableBackups:()[Ljava/lang/String; // method@0138 │ │ +01a95e: 0c0b |0175: move-result-object v11 │ │ +01a960: 690b 0901 |0176: sput-object v11, Ldnsfilter/android/DNSProxyActivity;.availableBackups:[Ljava/lang/String; // field@0109 │ │ +01a964: 12fb |0178: const/4 v11, #int -1 // #ff │ │ +01a966: 670b 3401 |0179: sput v11, Ldnsfilter/android/DNSProxyActivity;.selectedBackup:I // field@0134 │ │ +01a96a: 150b 057f |017b: const/high16 v11, #int 2131034112 // #7f05 │ │ +01a96e: 6e20 c902 ba00 |017d: invoke-virtual {v10, v11}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01a974: 0c0b |0180: move-result-object v11 │ │ +01a976: 1f0b 6e00 |0181: check-cast v11, Landroid/widget/TextView; // type@006e │ │ +01a97a: 1a00 9800 |0183: const-string v0, "" // string@0098 │ │ +01a97e: 6e20 f400 0b00 |0185: invoke-virtual {v11, v0}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01a984: 281d |0188: goto 01a5 // +001d │ │ +01a986: 0d0b |0189: move-exception v11 │ │ +01a988: 7100 0107 0000 |018a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01a98e: 0c00 |018d: move-result-object v0 │ │ +01a990: 7220 0c07 b000 |018e: invoke-interface {v0, v11}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +01a996: 620b 0c01 |0191: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01a99a: 6e20 b800 8b00 |0193: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01a9a0: 6e20 c902 6a00 |0196: invoke-virtual {v10, v6}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01a9a6: 0c0b |0199: move-result-object v11 │ │ +01a9a8: 6e20 9f00 7b00 |019a: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +01a9ae: 2808 |019d: goto 01a5 // +0008 │ │ +01a9b0: 6e20 c902 6a00 |019e: invoke-virtual {v10, v6}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01a9b6: 0c0b |01a1: move-result-object v11 │ │ +01a9b8: 6e20 9f00 7b00 |01a2: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +01a9be: 620b 0601 |01a5: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01a9c2: 6e10 b700 0b00 |01a7: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01a9c8: 0a0b |01aa: move-result v11 │ │ +01a9ca: 380b 0d00 |01ab: if-eqz v11, 01b8 // +000d │ │ +01a9ce: 620b 0701 |01ad: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListScroll:Landroid/widget/ScrollView; // field@0107 │ │ +01a9d2: 6e20 e000 8b00 |01af: invoke-virtual {v11, v8}, Landroid/widget/ScrollView;.setVisibility:(I)V // method@00e0 │ │ +01a9d8: 620b 0401 |01b2: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ +01a9dc: 6e10 3d02 0b00 |01b4: invoke-virtual {v11}, Ldnsfilter/android/AppSelectorView;.loadAppList:()V // method@023d │ │ +01a9e2: 280b |01b7: goto 01c2 // +000b │ │ +01a9e4: 620b 0401 |01b8: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ +01a9e8: 6e10 3902 0b00 |01ba: invoke-virtual {v11}, Ldnsfilter/android/AppSelectorView;.clear:()V // method@0239 │ │ +01a9ee: 620b 0701 |01bd: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListScroll:Landroid/widget/ScrollView; // field@0107 │ │ +01a9f2: 6e20 e000 7b00 |01bf: invoke-virtual {v11, v7}, Landroid/widget/ScrollView;.setVisibility:(I)V // method@00e0 │ │ +01a9f8: 620b 1201 |01c2: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01a9fc: 6e10 b700 0b00 |01c4: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01aa02: 0a0b |01c7: move-result v11 │ │ +01aa04: 380b 0f00 |01c8: if-eqz v11, 01d7 // +000f │ │ +01aa08: 620b 1601 |01ca: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +01aa0c: 6e10 1a03 0b00 |01cc: invoke-virtual {v11}, Ldnsfilter/android/FilterConfig;.load:()V // method@031a │ │ +01aa12: 6e20 c902 5a00 |01cf: invoke-virtual {v10, v5}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01aa18: 0c0b |01d2: move-result-object v11 │ │ +01aa1a: 6e20 9f00 8b00 |01d3: invoke-virtual {v11, v8}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +01aa20: 280d |01d6: goto 01e3 // +000d │ │ +01aa22: 6e20 c902 5a00 |01d7: invoke-virtual {v10, v5}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01aa28: 0c0b |01da: move-result-object v11 │ │ +01aa2a: 6e20 9f00 7b00 |01db: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +01aa30: 620b 1601 |01de: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +01aa34: 6e10 1403 0b00 |01e0: invoke-virtual {v11}, Ldnsfilter/android/FilterConfig;.clear:()V // method@0314 │ │ +01aa3a: 620b 1101 |01e3: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01aa3e: 6e10 b700 0b00 |01e5: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01aa44: 0a0b |01e8: move-result v11 │ │ +01aa46: 380b 0d00 |01e9: if-eqz v11, 01f6 // +000d │ │ +01aa4a: 6e10 de02 0a00 |01eb: invoke-virtual {v10}, Ldnsfilter/android/DNSProxyActivity;.loadAdditionalHosts:()V // method@02de │ │ +01aa50: 6e20 c902 4a00 |01ee: invoke-virtual {v10, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01aa56: 0c0b |01f1: move-result-object v11 │ │ +01aa58: 6e20 9f00 8b00 |01f2: invoke-virtual {v11, v8}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +01aa5e: 280f |01f5: goto 0204 // +000f │ │ +01aa60: 620b 0201 |01f6: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +01aa64: 6e20 d100 1b00 |01f8: invoke-virtual {v11, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ +01aa6a: 6a08 0101 |01fb: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ +01aa6e: 6e20 c902 4a00 |01fd: invoke-virtual {v10, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01aa74: 0c0b |0200: move-result-object v11 │ │ +01aa76: 6e20 9f00 7b00 |0201: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +01aa7c: 620b 2201 |0204: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01aa80: 6e10 b700 0b00 |0206: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01aa86: 0a0b |0209: move-result v11 │ │ +01aa88: 380b 0d00 |020a: if-eqz v11, 0217 // +000d │ │ +01aa8c: 6e10 e002 0a00 |020c: invoke-virtual {v10}, Ldnsfilter/android/DNSProxyActivity;.loadManuallyEditConf:()V // method@02e0 │ │ +01aa92: 6e20 c902 3a00 |020f: invoke-virtual {v10, v3}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01aa98: 0c0b |0212: move-result-object v11 │ │ +01aa9a: 6e20 9f00 8b00 |0213: invoke-virtual {v11, v8}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +01aaa0: 2867 |0216: goto 027d // +0067 │ │ +01aaa2: 620b 2301 |0217: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ +01aaa6: 6e20 d100 1b00 |0219: invoke-virtual {v11, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ +01aaac: 6a08 2101 |021c: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ +01aab0: 6e20 c902 3a00 |021e: invoke-virtual {v10, v3}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01aab6: 0c0b |0221: move-result-object v11 │ │ +01aab8: 6e20 9f00 7b00 |0222: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +01aabe: 2858 |0225: goto 027d // +0058 │ │ +01aac0: 7020 0903 8a00 |0226: invoke-direct {v10, v8}, Ldnsfilter/android/DNSProxyActivity;.setVisibilityForAdvCfg:(I)V // method@0309 │ │ +01aac6: 6e20 c902 5a00 |0229: invoke-virtual {v10, v5}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01aacc: 0c0b |022c: move-result-object v11 │ │ +01aace: 6e20 9f00 7b00 |022d: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +01aad4: 620b 1601 |0230: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +01aad8: 6e10 1403 0b00 |0232: invoke-virtual {v11}, Ldnsfilter/android/FilterConfig;.clear:()V // method@0314 │ │ +01aade: 6e20 c902 4a00 |0235: invoke-virtual {v10, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01aae4: 0c0b |0238: move-result-object v11 │ │ +01aae6: 6e20 9f00 7b00 |0239: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +01aaec: 6e20 c902 3a00 |023c: invoke-virtual {v10, v3}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01aaf2: 0c0b |023f: move-result-object v11 │ │ +01aaf4: 6e20 9f00 7b00 |0240: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +01aafa: 6e20 c902 2a00 |0243: invoke-virtual {v10, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01ab00: 0c0b |0246: move-result-object v11 │ │ +01ab02: 6e20 9f00 7b00 |0247: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +01ab08: 620b 0601 |024a: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01ab0c: 6e20 b800 8b00 |024c: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01ab12: 620b 0401 |024f: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ +01ab16: 6e10 3902 0b00 |0251: invoke-virtual {v11}, Ldnsfilter/android/AppSelectorView;.clear:()V // method@0239 │ │ +01ab1c: 6e20 c902 6a00 |0254: invoke-virtual {v10, v6}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01ab22: 0c0b |0257: move-result-object v11 │ │ +01ab24: 6e20 9f00 7b00 |0258: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +01ab2a: 620b 1201 |025b: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01ab2e: 6e20 b800 8b00 |025d: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01ab34: 620b 0c01 |0260: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01ab38: 6e20 b800 8b00 |0262: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01ab3e: 620b 1101 |0265: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01ab42: 6e20 b800 8b00 |0267: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01ab48: 620b 2201 |026a: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01ab4c: 6e20 b800 8b00 |026c: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01ab52: 620b 0201 |026f: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +01ab56: 6e20 d100 1b00 |0271: invoke-virtual {v11, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ +01ab5c: 620b 2301 |0274: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ +01ab60: 6e20 d100 1b00 |0276: invoke-virtual {v11, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ +01ab66: 6a08 0101 |0279: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ +01ab6a: 6a08 2101 |027b: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ +01ab6e: 0e00 |027d: return-void │ │ catches : 1 │ │ 0x0170 - 0x0188 │ │ Ljava/io/IOException; -> 0x0189 │ │ positions : │ │ 0x0003 line=1418 │ │ 0x000f line=1420 │ │ 0x001a line=1421 │ │ @@ -44207,53 +44207,53 @@ │ │ type : '(Z)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 69 16-bit code units │ │ -01ab84: |[01ab84] dnsfilter.android.DNSProxyActivity.handleBackUpIdChange:(Z)V │ │ -01ab94: 12f0 |0000: const/4 v0, #int -1 // #ff │ │ -01ab96: 3804 0e00 |0001: if-eqz v4, 000f // +000e │ │ -01ab9a: 6001 3401 |0003: sget v1, Ldnsfilter/android/DNSProxyActivity;.selectedBackup:I // field@0134 │ │ -01ab9e: 6202 0901 |0005: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.availableBackups:[Ljava/lang/String; // field@0109 │ │ -01aba2: 2122 |0007: array-length v2, v2 │ │ -01aba4: d802 02ff |0008: add-int/lit8 v2, v2, #int -1 // #ff │ │ -01aba8: 3321 0500 |000a: if-ne v1, v2, 000f // +0005 │ │ -01abac: 6700 3401 |000c: sput v0, Ldnsfilter/android/DNSProxyActivity;.selectedBackup:I // field@0134 │ │ -01abb0: 2820 |000e: goto 002e // +0020 │ │ -01abb2: 3904 0e00 |000f: if-nez v4, 001d // +000e │ │ -01abb6: 6001 3401 |0011: sget v1, Ldnsfilter/android/DNSProxyActivity;.selectedBackup:I // field@0134 │ │ -01abba: 3301 0a00 |0013: if-ne v1, v0, 001d // +000a │ │ -01abbe: 6204 0901 |0015: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.availableBackups:[Ljava/lang/String; // field@0109 │ │ -01abc2: 2144 |0017: array-length v4, v4 │ │ -01abc4: d804 04ff |0018: add-int/lit8 v4, v4, #int -1 // #ff │ │ -01abc8: 6704 3401 |001a: sput v4, Ldnsfilter/android/DNSProxyActivity;.selectedBackup:I // field@0134 │ │ -01abcc: 2812 |001c: goto 002e // +0012 │ │ -01abce: 3804 0900 |001d: if-eqz v4, 0026 // +0009 │ │ -01abd2: 6004 3401 |001f: sget v4, Ldnsfilter/android/DNSProxyActivity;.selectedBackup:I // field@0134 │ │ -01abd6: d804 0401 |0021: add-int/lit8 v4, v4, #int 1 // #01 │ │ -01abda: 6704 3401 |0023: sput v4, Ldnsfilter/android/DNSProxyActivity;.selectedBackup:I // field@0134 │ │ -01abde: 2809 |0025: goto 002e // +0009 │ │ -01abe0: 3904 0800 |0026: if-nez v4, 002e // +0008 │ │ -01abe4: 6004 3401 |0028: sget v4, Ldnsfilter/android/DNSProxyActivity;.selectedBackup:I // field@0134 │ │ -01abe8: d804 04ff |002a: add-int/lit8 v4, v4, #int -1 // #ff │ │ -01abec: 6704 3401 |002c: sput v4, Ldnsfilter/android/DNSProxyActivity;.selectedBackup:I // field@0134 │ │ -01abf0: 6004 3401 |002e: sget v4, Ldnsfilter/android/DNSProxyActivity;.selectedBackup:I // field@0134 │ │ -01abf4: 3204 0700 |0030: if-eq v4, v0, 0037 // +0007 │ │ -01abf8: 6200 0901 |0032: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.availableBackups:[Ljava/lang/String; // field@0109 │ │ -01abfc: 4604 0004 |0034: aget-object v4, v0, v4 │ │ -01ac00: 2803 |0036: goto 0039 // +0003 │ │ -01ac02: 1a04 9800 |0037: const-string v4, "" // string@0098 │ │ -01ac06: 1500 057f |0039: const/high16 v0, #int 2131034112 // #7f05 │ │ -01ac0a: 6e20 c902 0300 |003b: invoke-virtual {v3, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01ac10: 0c00 |003e: move-result-object v0 │ │ -01ac12: 1f00 6e00 |003f: check-cast v0, Landroid/widget/TextView; // type@006e │ │ -01ac16: 6e20 f400 4000 |0041: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01ac1c: 0e00 |0044: return-void │ │ +01ab80: |[01ab80] dnsfilter.android.DNSProxyActivity.handleBackUpIdChange:(Z)V │ │ +01ab90: 12f0 |0000: const/4 v0, #int -1 // #ff │ │ +01ab92: 3804 0e00 |0001: if-eqz v4, 000f // +000e │ │ +01ab96: 6001 3401 |0003: sget v1, Ldnsfilter/android/DNSProxyActivity;.selectedBackup:I // field@0134 │ │ +01ab9a: 6202 0901 |0005: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.availableBackups:[Ljava/lang/String; // field@0109 │ │ +01ab9e: 2122 |0007: array-length v2, v2 │ │ +01aba0: d802 02ff |0008: add-int/lit8 v2, v2, #int -1 // #ff │ │ +01aba4: 3321 0500 |000a: if-ne v1, v2, 000f // +0005 │ │ +01aba8: 6700 3401 |000c: sput v0, Ldnsfilter/android/DNSProxyActivity;.selectedBackup:I // field@0134 │ │ +01abac: 2820 |000e: goto 002e // +0020 │ │ +01abae: 3904 0e00 |000f: if-nez v4, 001d // +000e │ │ +01abb2: 6001 3401 |0011: sget v1, Ldnsfilter/android/DNSProxyActivity;.selectedBackup:I // field@0134 │ │ +01abb6: 3301 0a00 |0013: if-ne v1, v0, 001d // +000a │ │ +01abba: 6204 0901 |0015: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.availableBackups:[Ljava/lang/String; // field@0109 │ │ +01abbe: 2144 |0017: array-length v4, v4 │ │ +01abc0: d804 04ff |0018: add-int/lit8 v4, v4, #int -1 // #ff │ │ +01abc4: 6704 3401 |001a: sput v4, Ldnsfilter/android/DNSProxyActivity;.selectedBackup:I // field@0134 │ │ +01abc8: 2812 |001c: goto 002e // +0012 │ │ +01abca: 3804 0900 |001d: if-eqz v4, 0026 // +0009 │ │ +01abce: 6004 3401 |001f: sget v4, Ldnsfilter/android/DNSProxyActivity;.selectedBackup:I // field@0134 │ │ +01abd2: d804 0401 |0021: add-int/lit8 v4, v4, #int 1 // #01 │ │ +01abd6: 6704 3401 |0023: sput v4, Ldnsfilter/android/DNSProxyActivity;.selectedBackup:I // field@0134 │ │ +01abda: 2809 |0025: goto 002e // +0009 │ │ +01abdc: 3904 0800 |0026: if-nez v4, 002e // +0008 │ │ +01abe0: 6004 3401 |0028: sget v4, Ldnsfilter/android/DNSProxyActivity;.selectedBackup:I // field@0134 │ │ +01abe4: d804 04ff |002a: add-int/lit8 v4, v4, #int -1 // #ff │ │ +01abe8: 6704 3401 |002c: sput v4, Ldnsfilter/android/DNSProxyActivity;.selectedBackup:I // field@0134 │ │ +01abec: 6004 3401 |002e: sget v4, Ldnsfilter/android/DNSProxyActivity;.selectedBackup:I // field@0134 │ │ +01abf0: 3204 0700 |0030: if-eq v4, v0, 0037 // +0007 │ │ +01abf4: 6200 0901 |0032: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.availableBackups:[Ljava/lang/String; // field@0109 │ │ +01abf8: 4604 0004 |0034: aget-object v4, v0, v4 │ │ +01abfc: 2803 |0036: goto 0039 // +0003 │ │ +01abfe: 1a04 9800 |0037: const-string v4, "" // string@0098 │ │ +01ac02: 1500 057f |0039: const/high16 v0, #int 2131034112 // #7f05 │ │ +01ac06: 6e20 c902 0300 |003b: invoke-virtual {v3, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01ac0c: 0c00 |003e: move-result-object v0 │ │ +01ac0e: 1f00 6e00 |003f: check-cast v0, Landroid/widget/TextView; // type@006e │ │ +01ac12: 6e20 f400 4000 |0041: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01ac18: 0e00 |0044: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=1235 │ │ 0x000c line=1236 │ │ 0x0011 line=1237 │ │ 0x0015 line=1238 │ │ 0x001f line=1240 │ │ @@ -44271,89 +44271,89 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 159 16-bit code units │ │ -01ac7c: |[01ac7c] dnsfilter.android.DNSProxyActivity.handleInitialInfoPopUp:()V │ │ -01ac8c: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ -01ac90: 6201 f000 |0002: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01ac94: 6e10 3a01 0100 |0004: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@013a │ │ -01ac9a: 0c01 |0007: move-result-object v1 │ │ -01ac9c: 1a02 bb0a |0008: const-string v2, "showInitialInfoPopUp" // string@0abb │ │ -01aca0: 1a03 2f0b |000a: const-string v3, "true" // string@0b2f │ │ -01aca4: 6e30 2501 2103 |000c: invoke-virtual {v1, v2, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ -01acaa: 0c02 |000f: move-result-object v2 │ │ -01acac: 7110 2705 0200 |0010: invoke-static {v2}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -01acb2: 0a02 |0013: move-result v2 │ │ -01acb4: 6a02 3501 |0014: sput-boolean v2, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ -01acb8: 3802 8800 |0016: if-eqz v2, 009e // +0088 │ │ -01acbc: 2202 0b00 |0018: new-instance v2, Landroid/app/Dialog; // type@000b │ │ -01acc0: 1503 097f |001a: const/high16 v3, #int 2131296256 // #7f09 │ │ -01acc4: 7030 1400 5203 |001c: invoke-direct {v2, v5, v3}, Landroid/app/Dialog;.:(Landroid/content/Context;I)V // method@0014 │ │ -01acca: 6902 2601 |001f: sput-object v2, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01acce: 1403 0c00 067f |0021: const v3, #float 1.78117e+38 // #7f06000c │ │ -01acd4: 6e20 1b00 3200 |0024: invoke-virtual {v2, v3}, Landroid/app/Dialog;.setContentView:(I)V // method@001b │ │ -01acda: 6202 2601 |0027: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01acde: 1a03 3a08 |0029: const-string v3, "initialInfoPopUpTitle" // string@083a │ │ -01ace2: 6e30 2501 3100 |002b: invoke-virtual {v1, v3, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ -01ace8: 0c03 |002e: move-result-object v3 │ │ -01acea: 6e20 2100 3200 |002f: invoke-virtual {v2, v3}, Landroid/app/Dialog;.setTitle:(Ljava/lang/CharSequence;)V // method@0021 │ │ -01acf0: 6202 2601 |0032: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01acf4: 1403 3700 057f |0034: const v3, #float 1.76788e+38 // #7f050037 │ │ -01acfa: 6e20 1700 3200 |0037: invoke-virtual {v2, v3}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01ad00: 0c02 |003a: move-result-object v2 │ │ -01ad02: 1f02 6e00 |003b: check-cast v2, Landroid/widget/TextView; // type@006e │ │ -01ad06: 1a04 3908 |003d: const-string v4, "initialInfoPopUpText" // string@0839 │ │ -01ad0a: 6e30 2501 4100 |003f: invoke-virtual {v1, v4, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ -01ad10: 0c00 |0042: move-result-object v0 │ │ -01ad12: 7110 cb02 0000 |0043: invoke-static {v0}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02cb │ │ -01ad18: 0c00 |0046: move-result-object v0 │ │ -01ad1a: 6e20 f400 0200 |0047: invoke-virtual {v2, v0}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01ad20: 6200 2601 |004a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01ad24: 6e20 1700 3000 |004c: invoke-virtual {v0, v3}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01ad2a: 0c00 |004f: move-result-object v0 │ │ -01ad2c: 1f00 6e00 |0050: check-cast v0, Landroid/widget/TextView; // type@006e │ │ -01ad30: 7100 8c00 0000 |0052: invoke-static {}, Landroid/text/method/LinkMovementMethod;.getInstance:()Landroid/text/method/MovementMethod; // method@008c │ │ -01ad36: 0c01 |0055: move-result-object v1 │ │ -01ad38: 6e20 f200 1000 |0056: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setMovementMethod:(Landroid/text/method/MovementMethod;)V // method@00f2 │ │ -01ad3e: 6200 2601 |0059: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01ad42: 1401 1900 057f |005b: const v1, #float 1.76788e+38 // #7f050019 │ │ -01ad48: 6e20 1700 1000 |005e: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01ad4e: 0c00 |0061: move-result-object v0 │ │ -01ad50: 1f00 5e00 |0062: check-cast v0, Landroid/widget/Button; // type@005e │ │ -01ad54: 6900 1b01 |0064: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.initialInfoPopUpExitBtn:Landroid/widget/Button; // field@011b │ │ -01ad58: 6e20 b000 5000 |0066: invoke-virtual {v0, v5}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ -01ad5e: 6200 2601 |0069: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01ad62: 6e10 2200 0000 |006b: invoke-virtual {v0}, Landroid/app/Dialog;.show:()V // method@0022 │ │ -01ad68: 6200 2601 |006e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01ad6c: 6e10 1800 0000 |0070: invoke-virtual {v0}, Landroid/app/Dialog;.getWindow:()Landroid/view/Window; // method@0018 │ │ -01ad72: 0c00 |0073: move-result-object v0 │ │ -01ad74: 6001 f200 |0074: sget v1, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00f2 │ │ -01ad78: 6002 f100 |0076: sget v2, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_HEIGTH:I // field@00f1 │ │ -01ad7c: 7120 4d05 2100 |0078: invoke-static {v1, v2}, Ljava/lang/Math;.min:(II)I // method@054d │ │ -01ad82: 0a01 |007b: move-result v1 │ │ -01ad84: 8311 |007c: int-to-double v1, v1 │ │ -01ad86: 1803 cdcc cccc cccc ec3f |007d: const-wide v3, #double 0.9 // #3feccccccccccccd │ │ -01ad90: 7120 3205 2100 |0082: invoke-static {v1, v2}, Ljava/lang/Double;.isNaN:(D)Z // method@0532 │ │ -01ad96: ad01 0103 |0085: mul-double v1, v1, v3 │ │ -01ad9a: 8a11 |0087: double-to-int v1, v1 │ │ -01ad9c: 12e2 |0088: const/4 v2, #int -2 // #fe │ │ -01ad9e: 6e30 a500 1002 |0089: invoke-virtual {v0, v1, v2}, Landroid/view/Window;.setLayout:(II)V // method@00a5 │ │ -01ada4: 1401 0d00 0601 |008c: const v1, #float 2.46119e-38 // #0106000d │ │ -01adaa: 6e20 a400 1000 |008f: invoke-virtual {v0, v1}, Landroid/view/Window;.setBackgroundDrawableResource:(I)V // method@00a4 │ │ -01adb0: 280c |0092: goto 009e // +000c │ │ -01adb2: 0d00 |0093: move-exception v0 │ │ -01adb4: 7100 0107 0000 |0094: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01adba: 0c01 |0097: move-result-object v1 │ │ -01adbc: 7220 0c07 0100 |0098: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -01adc2: 1200 |009b: const/4 v0, #int 0 // #0 │ │ -01adc4: 6a00 3501 |009c: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ -01adc8: 0e00 |009e: return-void │ │ +01ac78: |[01ac78] dnsfilter.android.DNSProxyActivity.handleInitialInfoPopUp:()V │ │ +01ac88: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ +01ac8c: 6201 f000 |0002: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01ac90: 6e10 3a01 0100 |0004: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@013a │ │ +01ac96: 0c01 |0007: move-result-object v1 │ │ +01ac98: 1a02 bb0a |0008: const-string v2, "showInitialInfoPopUp" // string@0abb │ │ +01ac9c: 1a03 2f0b |000a: const-string v3, "true" // string@0b2f │ │ +01aca0: 6e30 2501 2103 |000c: invoke-virtual {v1, v2, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ +01aca6: 0c02 |000f: move-result-object v2 │ │ +01aca8: 7110 2705 0200 |0010: invoke-static {v2}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +01acae: 0a02 |0013: move-result v2 │ │ +01acb0: 6a02 3501 |0014: sput-boolean v2, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ +01acb4: 3802 8800 |0016: if-eqz v2, 009e // +0088 │ │ +01acb8: 2202 0b00 |0018: new-instance v2, Landroid/app/Dialog; // type@000b │ │ +01acbc: 1503 097f |001a: const/high16 v3, #int 2131296256 // #7f09 │ │ +01acc0: 7030 1400 5203 |001c: invoke-direct {v2, v5, v3}, Landroid/app/Dialog;.:(Landroid/content/Context;I)V // method@0014 │ │ +01acc6: 6902 2601 |001f: sput-object v2, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01acca: 1403 0c00 067f |0021: const v3, #float 1.78117e+38 // #7f06000c │ │ +01acd0: 6e20 1b00 3200 |0024: invoke-virtual {v2, v3}, Landroid/app/Dialog;.setContentView:(I)V // method@001b │ │ +01acd6: 6202 2601 |0027: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01acda: 1a03 3a08 |0029: const-string v3, "initialInfoPopUpTitle" // string@083a │ │ +01acde: 6e30 2501 3100 |002b: invoke-virtual {v1, v3, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ +01ace4: 0c03 |002e: move-result-object v3 │ │ +01ace6: 6e20 2100 3200 |002f: invoke-virtual {v2, v3}, Landroid/app/Dialog;.setTitle:(Ljava/lang/CharSequence;)V // method@0021 │ │ +01acec: 6202 2601 |0032: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01acf0: 1403 3700 057f |0034: const v3, #float 1.76788e+38 // #7f050037 │ │ +01acf6: 6e20 1700 3200 |0037: invoke-virtual {v2, v3}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01acfc: 0c02 |003a: move-result-object v2 │ │ +01acfe: 1f02 6e00 |003b: check-cast v2, Landroid/widget/TextView; // type@006e │ │ +01ad02: 1a04 3908 |003d: const-string v4, "initialInfoPopUpText" // string@0839 │ │ +01ad06: 6e30 2501 4100 |003f: invoke-virtual {v1, v4, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ +01ad0c: 0c00 |0042: move-result-object v0 │ │ +01ad0e: 7110 cb02 0000 |0043: invoke-static {v0}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02cb │ │ +01ad14: 0c00 |0046: move-result-object v0 │ │ +01ad16: 6e20 f400 0200 |0047: invoke-virtual {v2, v0}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01ad1c: 6200 2601 |004a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01ad20: 6e20 1700 3000 |004c: invoke-virtual {v0, v3}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01ad26: 0c00 |004f: move-result-object v0 │ │ +01ad28: 1f00 6e00 |0050: check-cast v0, Landroid/widget/TextView; // type@006e │ │ +01ad2c: 7100 8c00 0000 |0052: invoke-static {}, Landroid/text/method/LinkMovementMethod;.getInstance:()Landroid/text/method/MovementMethod; // method@008c │ │ +01ad32: 0c01 |0055: move-result-object v1 │ │ +01ad34: 6e20 f200 1000 |0056: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setMovementMethod:(Landroid/text/method/MovementMethod;)V // method@00f2 │ │ +01ad3a: 6200 2601 |0059: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01ad3e: 1401 1900 057f |005b: const v1, #float 1.76788e+38 // #7f050019 │ │ +01ad44: 6e20 1700 1000 |005e: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01ad4a: 0c00 |0061: move-result-object v0 │ │ +01ad4c: 1f00 5e00 |0062: check-cast v0, Landroid/widget/Button; // type@005e │ │ +01ad50: 6900 1b01 |0064: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.initialInfoPopUpExitBtn:Landroid/widget/Button; // field@011b │ │ +01ad54: 6e20 b000 5000 |0066: invoke-virtual {v0, v5}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ +01ad5a: 6200 2601 |0069: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01ad5e: 6e10 2200 0000 |006b: invoke-virtual {v0}, Landroid/app/Dialog;.show:()V // method@0022 │ │ +01ad64: 6200 2601 |006e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01ad68: 6e10 1800 0000 |0070: invoke-virtual {v0}, Landroid/app/Dialog;.getWindow:()Landroid/view/Window; // method@0018 │ │ +01ad6e: 0c00 |0073: move-result-object v0 │ │ +01ad70: 6001 f200 |0074: sget v1, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00f2 │ │ +01ad74: 6002 f100 |0076: sget v2, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_HEIGTH:I // field@00f1 │ │ +01ad78: 7120 4d05 2100 |0078: invoke-static {v1, v2}, Ljava/lang/Math;.min:(II)I // method@054d │ │ +01ad7e: 0a01 |007b: move-result v1 │ │ +01ad80: 8311 |007c: int-to-double v1, v1 │ │ +01ad82: 1803 cdcc cccc cccc ec3f |007d: const-wide v3, #double 0.9 // #3feccccccccccccd │ │ +01ad8c: 7120 3205 2100 |0082: invoke-static {v1, v2}, Ljava/lang/Double;.isNaN:(D)Z // method@0532 │ │ +01ad92: ad01 0103 |0085: mul-double v1, v1, v3 │ │ +01ad96: 8a11 |0087: double-to-int v1, v1 │ │ +01ad98: 12e2 |0088: const/4 v2, #int -2 // #fe │ │ +01ad9a: 6e30 a500 1002 |0089: invoke-virtual {v0, v1, v2}, Landroid/view/Window;.setLayout:(II)V // method@00a5 │ │ +01ada0: 1401 0d00 0601 |008c: const v1, #float 2.46119e-38 // #0106000d │ │ +01ada6: 6e20 a400 1000 |008f: invoke-virtual {v0, v1}, Landroid/view/Window;.setBackgroundDrawableResource:(I)V // method@00a4 │ │ +01adac: 280c |0092: goto 009e // +000c │ │ +01adae: 0d00 |0093: move-exception v0 │ │ +01adb0: 7100 0107 0000 |0094: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01adb6: 0c01 |0097: move-result-object v1 │ │ +01adb8: 7220 0c07 0100 |0098: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +01adbe: 1200 |009b: const/4 v0, #int 0 // #0 │ │ +01adc0: 6a00 3501 |009c: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ +01adc4: 0e00 |009e: return-void │ │ catches : 2 │ │ 0x0002 - 0x007c │ │ Ljava/lang/Exception; -> 0x0093 │ │ 0x0089 - 0x0092 │ │ Ljava/lang/Exception; -> 0x0093 │ │ positions : │ │ 0x0000 line=951 │ │ @@ -44379,116 +44379,116 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 210 16-bit code units │ │ -01ade4: |[01ade4] dnsfilter.android.DNSProxyActivity.handleRemoteControl:()V │ │ -01adf4: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ -01adf8: 6301 3801 |0002: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ -01adfc: 3801 0300 |0004: if-eqz v1, 0007 // +0003 │ │ -01ae00: 0e00 |0006: return-void │ │ -01ae02: 1211 |0007: const/4 v1, #int 1 // #1 │ │ -01ae04: 6a01 3801 |0008: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ -01ae08: 1201 |000a: const/4 v1, #int 0 // #0 │ │ -01ae0a: 7020 d502 1600 |000b: invoke-direct {v6, v1}, Ldnsfilter/android/DNSProxyActivity;.handleAdvancedConfig:(Landroid/widget/CheckBox;)V // method@02d5 │ │ -01ae10: 6201 f000 |000e: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01ae14: 6e10 4301 0100 |0010: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0143 │ │ -01ae1a: 0a01 |0013: move-result v1 │ │ -01ae1c: 1202 |0014: const/4 v2, #int 0 // #0 │ │ -01ae1e: 3801 7500 |0015: if-eqz v1, 008a // +0075 │ │ -01ae22: 7100 3f01 0000 |0017: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -01ae28: 0c01 |001a: move-result-object v1 │ │ -01ae2a: 6e10 3901 0100 |001b: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@0139 │ │ -01ae30: 0c01 |001e: move-result-object v1 │ │ -01ae32: 1a03 d805 |001f: const-string v3, "client_remote_ctrl_host" // string@05d8 │ │ -01ae36: 6e30 3606 3100 |0021: invoke-virtual {v1, v3, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -01ae3c: 0c01 |0024: move-result-object v1 │ │ -01ae3e: 7100 3f01 0000 |0025: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -01ae44: 0c03 |0028: move-result-object v3 │ │ -01ae46: 6e10 3901 0300 |0029: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@0139 │ │ -01ae4c: 0c03 |002c: move-result-object v3 │ │ -01ae4e: 1a04 d905 |002d: const-string v4, "client_remote_ctrl_keyphrase" // string@05d9 │ │ -01ae52: 6e30 3606 4300 |002f: invoke-virtual {v3, v4, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -01ae58: 0c03 |0032: move-result-object v3 │ │ -01ae5a: 6e20 6705 0100 |0033: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -01ae60: 0a04 |0036: move-result v4 │ │ -01ae62: 3904 3a00 |0037: if-nez v4, 0071 // +003a │ │ -01ae66: 1a04 6e00 |0039: const-string v4, "0.0.0.0" // string@006e │ │ -01ae6a: 6e20 6705 4100 |003b: invoke-virtual {v1, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -01ae70: 0a04 |003e: move-result v4 │ │ -01ae72: 3904 3200 |003f: if-nez v4, 0071 // +0032 │ │ -01ae76: 6e20 6705 0300 |0041: invoke-virtual {v3, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -01ae7c: 0a00 |0044: move-result v0 │ │ -01ae7e: 3900 2c00 |0045: if-nez v0, 0071 // +002c │ │ -01ae82: 7100 3f01 0000 |0047: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -01ae88: 0c00 |004a: move-result-object v0 │ │ -01ae8a: 6e10 3901 0000 |004b: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@0139 │ │ -01ae90: 0c00 |004e: move-result-object v0 │ │ -01ae92: 1a04 da05 |004f: const-string v4, "client_remote_ctrl_port" // string@05da │ │ -01ae96: 1a05 7d00 |0051: const-string v5, "3333" // string@007d │ │ -01ae9a: 6e30 3606 4005 |0053: invoke-virtual {v0, v4, v5}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -01aea0: 0c00 |0056: move-result-object v0 │ │ -01aea2: 7110 4105 0000 |0057: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ -01aea8: 0a00 |005a: move-result v0 │ │ -01aeaa: 2204 a500 |005b: new-instance v4, Ldnsfilter/android/DNSProxyActivity$5; // type@00a5 │ │ -01aeae: 7053 9f02 6401 |005d: invoke-direct {v4, v6, v1, v0, v3}, Ldnsfilter/android/DNSProxyActivity$5;.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;ILjava/lang/String;)V // method@029f │ │ -01aeb4: 2200 2a01 |0060: new-instance v0, Ljava/lang/Thread; // type@012a │ │ -01aeb8: 7020 9005 4000 |0062: invoke-direct {v0, v4}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ -01aebe: 6e10 9605 0000 |0065: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@0596 │ │ -01aec4: 2869 |0068: goto 00d1 // +0069 │ │ -01aec6: 2200 fb00 |0069: new-instance v0, Ljava/io/IOException; // type@00fb │ │ -01aeca: 1a01 f301 |006b: const-string v1, "Invalid connect_remote_ctrl_port" // string@01f3 │ │ -01aece: 7020 fb04 1000 |006d: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -01aed4: 2700 |0070: throw v0 │ │ -01aed6: 2200 fb00 |0071: new-instance v0, Ljava/io/IOException; // type@00fb │ │ -01aeda: 1a01 3a04 |0073: const-string v1, "Remote control not configured!" // string@043a │ │ -01aede: 7020 fb04 1000 |0075: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -01aee4: 2700 |0078: throw v0 │ │ -01aee6: 0d00 |0079: move-exception v0 │ │ -01aee8: 6e10 fe04 0000 |007a: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ -01aeee: 0c00 |007d: move-result-object v0 │ │ -01aef0: 6e20 e402 0600 |007e: invoke-virtual {v6, v0}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@02e4 │ │ -01aef6: 7100 3f01 0000 |0081: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -01aefc: 0c00 |0084: move-result-object v0 │ │ -01aefe: 6900 f000 |0085: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01af02: 6a02 3801 |0087: sput-boolean v2, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ -01af06: 2848 |0089: goto 00d1 // +0048 │ │ -01af08: 6200 f000 |008a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01af0c: 6e10 4601 0000 |008c: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.releaseConfiguration:()V // method@0146 │ │ -01af12: 7100 3f01 0000 |008f: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -01af18: 0c00 |0092: move-result-object v0 │ │ -01af1a: 6900 f000 |0093: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01af1e: 7100 0107 0000 |0095: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01af24: 0c00 |0098: move-result-object v0 │ │ -01af26: 1f00 7e01 |0099: check-cast v0, Lutil/GroupedLogger; // type@017e │ │ -01af2a: 6201 2401 |009b: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01af2e: 6e20 d106 1000 |009d: invoke-virtual {v0, v1}, Lutil/GroupedLogger;.attachLogger:(Lutil/LoggerInterface;)V // method@06d1 │ │ -01af34: 6e20 df02 2600 |00a0: invoke-virtual {v6, v2}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@02df │ │ -01af3a: 2200 2801 |00a3: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ -01af3e: 1a01 ed00 |00a5: const-string v1, "CONNECTED TO " // string@00ed │ │ -01af42: 7020 8405 1000 |00a7: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -01af48: 6201 f000 |00aa: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01af4c: 6e20 8805 1000 |00ac: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ -01af52: 6e10 8b05 0000 |00af: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01af58: 0c00 |00b2: move-result-object v0 │ │ -01af5a: 6e20 e402 0600 |00b3: invoke-virtual {v6, v0}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@02e4 │ │ -01af60: 2200 2801 |00b6: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ -01af64: 1a01 a300 |00b8: const-string v1, "=>CONNECTED to " // string@00a3 │ │ -01af68: 7020 8405 1000 |00ba: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -01af6e: 6201 f000 |00bd: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01af72: 6e20 8805 1000 |00bf: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ -01af78: 1a01 9400 |00c2: const-string v1, "<=" // string@0094 │ │ -01af7c: 6e20 8905 1000 |00c4: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01af82: 6e10 8b05 0000 |00c7: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01af88: 0c00 |00ca: move-result-object v0 │ │ -01af8a: 6e20 e302 0600 |00cb: invoke-virtual {v6, v0}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@02e3 │ │ -01af90: 7010 c002 0600 |00ce: invoke-direct {v6}, Ldnsfilter/android/DNSProxyActivity;.checkPasscode:()V // method@02c0 │ │ -01af96: 0e00 |00d1: return-void │ │ +01ade0: |[01ade0] dnsfilter.android.DNSProxyActivity.handleRemoteControl:()V │ │ +01adf0: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ +01adf4: 6301 3801 |0002: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ +01adf8: 3801 0300 |0004: if-eqz v1, 0007 // +0003 │ │ +01adfc: 0e00 |0006: return-void │ │ +01adfe: 1211 |0007: const/4 v1, #int 1 // #1 │ │ +01ae00: 6a01 3801 |0008: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ +01ae04: 1201 |000a: const/4 v1, #int 0 // #0 │ │ +01ae06: 7020 d502 1600 |000b: invoke-direct {v6, v1}, Ldnsfilter/android/DNSProxyActivity;.handleAdvancedConfig:(Landroid/widget/CheckBox;)V // method@02d5 │ │ +01ae0c: 6201 f000 |000e: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01ae10: 6e10 4301 0100 |0010: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0143 │ │ +01ae16: 0a01 |0013: move-result v1 │ │ +01ae18: 1202 |0014: const/4 v2, #int 0 // #0 │ │ +01ae1a: 3801 7500 |0015: if-eqz v1, 008a // +0075 │ │ +01ae1e: 7100 3f01 0000 |0017: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +01ae24: 0c01 |001a: move-result-object v1 │ │ +01ae26: 6e10 3901 0100 |001b: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@0139 │ │ +01ae2c: 0c01 |001e: move-result-object v1 │ │ +01ae2e: 1a03 d805 |001f: const-string v3, "client_remote_ctrl_host" // string@05d8 │ │ +01ae32: 6e30 3606 3100 |0021: invoke-virtual {v1, v3, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +01ae38: 0c01 |0024: move-result-object v1 │ │ +01ae3a: 7100 3f01 0000 |0025: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +01ae40: 0c03 |0028: move-result-object v3 │ │ +01ae42: 6e10 3901 0300 |0029: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@0139 │ │ +01ae48: 0c03 |002c: move-result-object v3 │ │ +01ae4a: 1a04 d905 |002d: const-string v4, "client_remote_ctrl_keyphrase" // string@05d9 │ │ +01ae4e: 6e30 3606 4300 |002f: invoke-virtual {v3, v4, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +01ae54: 0c03 |0032: move-result-object v3 │ │ +01ae56: 6e20 6705 0100 |0033: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +01ae5c: 0a04 |0036: move-result v4 │ │ +01ae5e: 3904 3a00 |0037: if-nez v4, 0071 // +003a │ │ +01ae62: 1a04 6e00 |0039: const-string v4, "0.0.0.0" // string@006e │ │ +01ae66: 6e20 6705 4100 |003b: invoke-virtual {v1, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +01ae6c: 0a04 |003e: move-result v4 │ │ +01ae6e: 3904 3200 |003f: if-nez v4, 0071 // +0032 │ │ +01ae72: 6e20 6705 0300 |0041: invoke-virtual {v3, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +01ae78: 0a00 |0044: move-result v0 │ │ +01ae7a: 3900 2c00 |0045: if-nez v0, 0071 // +002c │ │ +01ae7e: 7100 3f01 0000 |0047: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +01ae84: 0c00 |004a: move-result-object v0 │ │ +01ae86: 6e10 3901 0000 |004b: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@0139 │ │ +01ae8c: 0c00 |004e: move-result-object v0 │ │ +01ae8e: 1a04 da05 |004f: const-string v4, "client_remote_ctrl_port" // string@05da │ │ +01ae92: 1a05 7d00 |0051: const-string v5, "3333" // string@007d │ │ +01ae96: 6e30 3606 4005 |0053: invoke-virtual {v0, v4, v5}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +01ae9c: 0c00 |0056: move-result-object v0 │ │ +01ae9e: 7110 4105 0000 |0057: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ +01aea4: 0a00 |005a: move-result v0 │ │ +01aea6: 2204 a500 |005b: new-instance v4, Ldnsfilter/android/DNSProxyActivity$5; // type@00a5 │ │ +01aeaa: 7053 9f02 6401 |005d: invoke-direct {v4, v6, v1, v0, v3}, Ldnsfilter/android/DNSProxyActivity$5;.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;ILjava/lang/String;)V // method@029f │ │ +01aeb0: 2200 2a01 |0060: new-instance v0, Ljava/lang/Thread; // type@012a │ │ +01aeb4: 7020 9005 4000 |0062: invoke-direct {v0, v4}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ +01aeba: 6e10 9605 0000 |0065: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@0596 │ │ +01aec0: 2869 |0068: goto 00d1 // +0069 │ │ +01aec2: 2200 fb00 |0069: new-instance v0, Ljava/io/IOException; // type@00fb │ │ +01aec6: 1a01 f301 |006b: const-string v1, "Invalid connect_remote_ctrl_port" // string@01f3 │ │ +01aeca: 7020 fb04 1000 |006d: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +01aed0: 2700 |0070: throw v0 │ │ +01aed2: 2200 fb00 |0071: new-instance v0, Ljava/io/IOException; // type@00fb │ │ +01aed6: 1a01 3a04 |0073: const-string v1, "Remote control not configured!" // string@043a │ │ +01aeda: 7020 fb04 1000 |0075: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +01aee0: 2700 |0078: throw v0 │ │ +01aee2: 0d00 |0079: move-exception v0 │ │ +01aee4: 6e10 fe04 0000 |007a: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ +01aeea: 0c00 |007d: move-result-object v0 │ │ +01aeec: 6e20 e402 0600 |007e: invoke-virtual {v6, v0}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@02e4 │ │ +01aef2: 7100 3f01 0000 |0081: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +01aef8: 0c00 |0084: move-result-object v0 │ │ +01aefa: 6900 f000 |0085: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01aefe: 6a02 3801 |0087: sput-boolean v2, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ +01af02: 2848 |0089: goto 00d1 // +0048 │ │ +01af04: 6200 f000 |008a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01af08: 6e10 4601 0000 |008c: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.releaseConfiguration:()V // method@0146 │ │ +01af0e: 7100 3f01 0000 |008f: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +01af14: 0c00 |0092: move-result-object v0 │ │ +01af16: 6900 f000 |0093: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01af1a: 7100 0107 0000 |0095: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01af20: 0c00 |0098: move-result-object v0 │ │ +01af22: 1f00 7e01 |0099: check-cast v0, Lutil/GroupedLogger; // type@017e │ │ +01af26: 6201 2401 |009b: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01af2a: 6e20 d106 1000 |009d: invoke-virtual {v0, v1}, Lutil/GroupedLogger;.attachLogger:(Lutil/LoggerInterface;)V // method@06d1 │ │ +01af30: 6e20 df02 2600 |00a0: invoke-virtual {v6, v2}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@02df │ │ +01af36: 2200 2801 |00a3: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ +01af3a: 1a01 ed00 |00a5: const-string v1, "CONNECTED TO " // string@00ed │ │ +01af3e: 7020 8405 1000 |00a7: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +01af44: 6201 f000 |00aa: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01af48: 6e20 8805 1000 |00ac: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ +01af4e: 6e10 8b05 0000 |00af: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01af54: 0c00 |00b2: move-result-object v0 │ │ +01af56: 6e20 e402 0600 |00b3: invoke-virtual {v6, v0}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@02e4 │ │ +01af5c: 2200 2801 |00b6: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ +01af60: 1a01 a300 |00b8: const-string v1, "=>CONNECTED to " // string@00a3 │ │ +01af64: 7020 8405 1000 |00ba: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +01af6a: 6201 f000 |00bd: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01af6e: 6e20 8805 1000 |00bf: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ +01af74: 1a01 9400 |00c2: const-string v1, "<=" // string@0094 │ │ +01af78: 6e20 8905 1000 |00c4: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01af7e: 6e10 8b05 0000 |00c7: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01af84: 0c00 |00ca: move-result-object v0 │ │ +01af86: 6e20 e302 0600 |00cb: invoke-virtual {v6, v0}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@02e3 │ │ +01af8c: 7010 c002 0600 |00ce: invoke-direct {v6}, Ldnsfilter/android/DNSProxyActivity;.checkPasscode:()V // method@02c0 │ │ +01af92: 0e00 |00d1: return-void │ │ catches : 3 │ │ 0x0017 - 0x0045 │ │ Ljava/io/IOException; -> 0x0079 │ │ 0x0047 - 0x005b │ │ Ljava/lang/Exception; -> 0x0069 │ │ Ljava/io/IOException; -> 0x0079 │ │ 0x005b - 0x0079 │ │ @@ -44524,40 +44524,40 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 48 16-bit code units │ │ -01afbc: |[01afbc] dnsfilter.android.DNSProxyActivity.handleRestart:()V │ │ -01afcc: 6200 f000 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01afd0: 6e10 4301 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0143 │ │ -01afd6: 0a00 |0005: move-result v0 │ │ -01afd8: 1201 |0006: const/4 v1, #int 0 // #0 │ │ -01afda: 3800 1700 |0007: if-eqz v0, 001e // +0017 │ │ -01afde: 7010 bf02 0200 |0009: invoke-direct {v2}, Ldnsfilter/android/DNSProxyActivity;.checkNotificationPermission:()Z // method@02bf │ │ -01afe4: 0a00 |000c: move-result v0 │ │ -01afe6: 3900 0300 |000d: if-nez v0, 0010 // +0003 │ │ -01afea: 0e00 |000f: return-void │ │ -01afec: 7110 9202 0100 |0010: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.stop:(Z)Z // method@0292 │ │ -01aff2: 0a00 |0013: move-result v0 │ │ -01aff4: 3900 0300 |0014: if-nez v0, 0017 // +0003 │ │ -01aff8: 0e00 |0016: return-void │ │ -01affa: 6e10 0f03 0200 |0017: invoke-virtual {v2}, Ldnsfilter/android/DNSProxyActivity;.startup:()V // method@030f │ │ -01b000: 6e20 df02 1200 |001a: invoke-virtual {v2, v1}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@02df │ │ -01b006: 2812 |001d: goto 002f // +0012 │ │ -01b008: 6200 f000 |001e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01b00c: 6e10 4801 0000 |0020: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.restart:()V // method@0148 │ │ -01b012: 6e20 df02 1200 |0023: invoke-virtual {v2, v1}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@02df │ │ -01b018: 2809 |0026: goto 002f // +0009 │ │ -01b01a: 0d00 |0027: move-exception v0 │ │ -01b01c: 7100 0107 0000 |0028: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01b022: 0c01 |002b: move-result-object v1 │ │ -01b024: 7220 0c07 0100 |002c: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -01b02a: 0e00 |002f: return-void │ │ +01afb8: |[01afb8] dnsfilter.android.DNSProxyActivity.handleRestart:()V │ │ +01afc8: 6200 f000 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01afcc: 6e10 4301 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0143 │ │ +01afd2: 0a00 |0005: move-result v0 │ │ +01afd4: 1201 |0006: const/4 v1, #int 0 // #0 │ │ +01afd6: 3800 1700 |0007: if-eqz v0, 001e // +0017 │ │ +01afda: 7010 bf02 0200 |0009: invoke-direct {v2}, Ldnsfilter/android/DNSProxyActivity;.checkNotificationPermission:()Z // method@02bf │ │ +01afe0: 0a00 |000c: move-result v0 │ │ +01afe2: 3900 0300 |000d: if-nez v0, 0010 // +0003 │ │ +01afe6: 0e00 |000f: return-void │ │ +01afe8: 7110 9202 0100 |0010: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.stop:(Z)Z // method@0292 │ │ +01afee: 0a00 |0013: move-result v0 │ │ +01aff0: 3900 0300 |0014: if-nez v0, 0017 // +0003 │ │ +01aff4: 0e00 |0016: return-void │ │ +01aff6: 6e10 0f03 0200 |0017: invoke-virtual {v2}, Ldnsfilter/android/DNSProxyActivity;.startup:()V // method@030f │ │ +01affc: 6e20 df02 1200 |001a: invoke-virtual {v2, v1}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@02df │ │ +01b002: 2812 |001d: goto 002f // +0012 │ │ +01b004: 6200 f000 |001e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01b008: 6e10 4801 0000 |0020: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.restart:()V // method@0148 │ │ +01b00e: 6e20 df02 1200 |0023: invoke-virtual {v2, v1}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@02df │ │ +01b014: 2809 |0026: goto 002f // +0009 │ │ +01b016: 0d00 |0027: move-exception v0 │ │ +01b018: 7100 0107 0000 |0028: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01b01e: 0c01 |002b: move-result-object v1 │ │ +01b020: 7220 0c07 0100 |002c: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +01b026: 0e00 |002f: return-void │ │ catches : 1 │ │ 0x001e - 0x0026 │ │ Ljava/io/IOException; -> 0x0027 │ │ positions : │ │ 0x0000 line=1585 │ │ 0x0009 line=1587 │ │ 0x0010 line=1590 │ │ @@ -44574,38 +44574,38 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 46 16-bit code units │ │ -01b03c: |[01b03c] dnsfilter.android.DNSProxyActivity.handleScrollLock:()V │ │ -01b04c: 6300 3301 |0000: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ -01b050: 3800 2100 |0002: if-eqz v0, 0023 // +0021 │ │ -01b054: 1200 |0004: const/4 v0, #int 0 // #0 │ │ -01b056: 6a00 3301 |0005: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ -01b05a: 6200 3101 |0007: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ -01b05e: 6201 fd00 |0009: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.SCROLL_PAUSE:Ljava/lang/String; // field@00fd │ │ -01b062: 6e20 f400 1000 |000b: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01b068: 6200 2001 |000e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01b06c: 6e10 c500 0000 |0010: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ -01b072: 0c01 |0013: move-result-object v1 │ │ -01b074: 7210 8600 0100 |0014: invoke-interface {v1}, Landroid/text/Editable;.length:()I // method@0086 │ │ -01b07a: 0a01 |0017: move-result v1 │ │ -01b07c: 6e20 cf00 1000 |0018: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setSelection:(I)V // method@00cf │ │ -01b082: 5420 3201 |001b: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ -01b086: 1301 8200 |001d: const/16 v1, #int 130 // #82 │ │ -01b08a: 6e20 df00 1000 |001f: invoke-virtual {v0, v1}, Landroid/widget/ScrollView;.fullScroll:(I)Z // method@00df │ │ -01b090: 280b |0022: goto 002d // +000b │ │ -01b092: 1210 |0023: const/4 v0, #int 1 // #1 │ │ -01b094: 6a00 3301 |0024: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ -01b098: 6200 3101 |0026: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ -01b09c: 6201 fc00 |0028: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.SCROLL_CONTINUE:Ljava/lang/String; // field@00fc │ │ -01b0a0: 6e20 f400 1000 |002a: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01b0a6: 0e00 |002d: return-void │ │ +01b038: |[01b038] dnsfilter.android.DNSProxyActivity.handleScrollLock:()V │ │ +01b048: 6300 3301 |0000: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ +01b04c: 3800 2100 |0002: if-eqz v0, 0023 // +0021 │ │ +01b050: 1200 |0004: const/4 v0, #int 0 // #0 │ │ +01b052: 6a00 3301 |0005: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ +01b056: 6200 3101 |0007: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ +01b05a: 6201 fd00 |0009: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.SCROLL_PAUSE:Ljava/lang/String; // field@00fd │ │ +01b05e: 6e20 f400 1000 |000b: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01b064: 6200 2001 |000e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01b068: 6e10 c500 0000 |0010: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ +01b06e: 0c01 |0013: move-result-object v1 │ │ +01b070: 7210 8600 0100 |0014: invoke-interface {v1}, Landroid/text/Editable;.length:()I // method@0086 │ │ +01b076: 0a01 |0017: move-result v1 │ │ +01b078: 6e20 cf00 1000 |0018: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setSelection:(I)V // method@00cf │ │ +01b07e: 5420 3201 |001b: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ +01b082: 1301 8200 |001d: const/16 v1, #int 130 // #82 │ │ +01b086: 6e20 df00 1000 |001f: invoke-virtual {v0, v1}, Landroid/widget/ScrollView;.fullScroll:(I)Z // method@00df │ │ +01b08c: 280b |0022: goto 002d // +000b │ │ +01b08e: 1210 |0023: const/4 v0, #int 1 // #1 │ │ +01b090: 6a00 3301 |0024: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ +01b094: 6200 3101 |0026: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ +01b098: 6201 fc00 |0028: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.SCROLL_CONTINUE:Ljava/lang/String; // field@00fc │ │ +01b09c: 6e20 f400 1000 |002a: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01b0a2: 0e00 |002d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1396 │ │ 0x0005 line=1397 │ │ 0x0007 line=1398 │ │ 0x000e line=1399 │ │ 0x001b line=1400 │ │ @@ -44619,63 +44619,63 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 100 16-bit code units │ │ -01b0e8: |[01b0e8] dnsfilter.android.DNSProxyActivity.initAppAndStartup:()V │ │ -01b0f8: 1a00 f001 |0000: const-string v0, "Initializing ..." // string@01f0 │ │ -01b0fc: 6e20 e302 0400 |0002: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@02e3 │ │ -01b102: 7100 3f01 0000 |0005: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -01b108: 0c00 |0008: move-result-object v0 │ │ -01b10a: 6e10 3a01 0000 |0009: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@013a │ │ -01b110: 0c00 |000c: move-result-object v0 │ │ -01b112: 1a01 540b |000d: const-string v1, "useActionMenuFallback" // string@0b54 │ │ -01b116: 1a02 d506 |000f: const-string v2, "false" // string@06d5 │ │ -01b11a: 6e30 2501 1002 |0011: invoke-virtual {v0, v1, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ -01b120: 0c00 |0014: move-result-object v0 │ │ -01b122: 7110 2705 0000 |0015: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -01b128: 0a00 |0018: move-result v0 │ │ -01b12a: 5c40 ed00 |0019: iput-boolean v0, v4, Ldnsfilter/android/DNSProxyActivity;.ACTION_MENU_FALLBACK:Z // field@00ed │ │ -01b12e: 281b |001b: goto 0036 // +001b │ │ -01b130: 0d00 |001c: move-exception v0 │ │ -01b132: 7100 0107 0000 |001d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01b138: 0c01 |0020: move-result-object v1 │ │ -01b13a: 2202 2801 |0021: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -01b13e: 1a03 fe00 |0023: const-string v3, "Cannot get Config for useActionMenuFallback " // string@00fe │ │ -01b142: 7020 8405 3200 |0025: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -01b148: 6e10 0005 0000 |0028: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ -01b14e: 0c00 |002b: move-result-object v0 │ │ -01b150: 6e20 8905 0200 |002c: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01b156: 6e10 8b05 0200 |002f: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01b15c: 0c00 |0032: move-result-object v0 │ │ -01b15e: 7220 0d07 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -01b164: 6300 ef00 |0036: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.BOOT_START:Z // field@00ef │ │ -01b168: 1201 |0038: const/4 v1, #int 0 // #0 │ │ -01b16a: 3800 2400 |0039: if-eqz v0, 005d // +0024 │ │ -01b16e: 7100 0107 0000 |003b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01b174: 0c00 |003e: move-result-object v0 │ │ -01b176: 2202 2801 |003f: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -01b17a: 1a03 4704 |0041: const-string v3, "Running on SDK" // string@0447 │ │ -01b17e: 7020 8405 3200 |0043: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -01b184: 6003 0200 |0046: sget v3, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01b188: 6e20 8605 3200 |0048: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -01b18e: 6e10 8b05 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01b194: 0c02 |004e: move-result-object v2 │ │ -01b196: 7220 0d07 2000 |004f: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -01b19c: 6000 0200 |0052: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01b1a0: 1302 1400 |0054: const/16 v2, #int 20 // #14 │ │ -01b1a4: 3420 0500 |0056: if-lt v0, v2, 005b // +0005 │ │ -01b1a8: 6e10 ca02 0400 |0058: invoke-virtual {v4}, Ldnsfilter/android/DNSProxyActivity;.finish:()V // method@02ca │ │ -01b1ae: 6a01 ef00 |005b: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.BOOT_START:Z // field@00ef │ │ -01b1b2: 1210 |005d: const/4 v0, #int 1 // #1 │ │ -01b1b4: 6e20 df02 0400 |005e: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@02df │ │ -01b1ba: 6a01 0501 |0061: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.appStart:Z // field@0105 │ │ -01b1be: 0e00 |0063: return-void │ │ +01b0e4: |[01b0e4] dnsfilter.android.DNSProxyActivity.initAppAndStartup:()V │ │ +01b0f4: 1a00 f001 |0000: const-string v0, "Initializing ..." // string@01f0 │ │ +01b0f8: 6e20 e302 0400 |0002: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@02e3 │ │ +01b0fe: 7100 3f01 0000 |0005: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +01b104: 0c00 |0008: move-result-object v0 │ │ +01b106: 6e10 3a01 0000 |0009: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@013a │ │ +01b10c: 0c00 |000c: move-result-object v0 │ │ +01b10e: 1a01 540b |000d: const-string v1, "useActionMenuFallback" // string@0b54 │ │ +01b112: 1a02 d506 |000f: const-string v2, "false" // string@06d5 │ │ +01b116: 6e30 2501 1002 |0011: invoke-virtual {v0, v1, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ +01b11c: 0c00 |0014: move-result-object v0 │ │ +01b11e: 7110 2705 0000 |0015: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +01b124: 0a00 |0018: move-result v0 │ │ +01b126: 5c40 ed00 |0019: iput-boolean v0, v4, Ldnsfilter/android/DNSProxyActivity;.ACTION_MENU_FALLBACK:Z // field@00ed │ │ +01b12a: 281b |001b: goto 0036 // +001b │ │ +01b12c: 0d00 |001c: move-exception v0 │ │ +01b12e: 7100 0107 0000 |001d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01b134: 0c01 |0020: move-result-object v1 │ │ +01b136: 2202 2801 |0021: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +01b13a: 1a03 fe00 |0023: const-string v3, "Cannot get Config for useActionMenuFallback " // string@00fe │ │ +01b13e: 7020 8405 3200 |0025: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +01b144: 6e10 0005 0000 |0028: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ +01b14a: 0c00 |002b: move-result-object v0 │ │ +01b14c: 6e20 8905 0200 |002c: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01b152: 6e10 8b05 0200 |002f: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01b158: 0c00 |0032: move-result-object v0 │ │ +01b15a: 7220 0d07 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +01b160: 6300 ef00 |0036: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.BOOT_START:Z // field@00ef │ │ +01b164: 1201 |0038: const/4 v1, #int 0 // #0 │ │ +01b166: 3800 2400 |0039: if-eqz v0, 005d // +0024 │ │ +01b16a: 7100 0107 0000 |003b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01b170: 0c00 |003e: move-result-object v0 │ │ +01b172: 2202 2801 |003f: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +01b176: 1a03 4704 |0041: const-string v3, "Running on SDK" // string@0447 │ │ +01b17a: 7020 8405 3200 |0043: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +01b180: 6003 0200 |0046: sget v3, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01b184: 6e20 8605 3200 |0048: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +01b18a: 6e10 8b05 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01b190: 0c02 |004e: move-result-object v2 │ │ +01b192: 7220 0d07 2000 |004f: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +01b198: 6000 0200 |0052: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01b19c: 1302 1400 |0054: const/16 v2, #int 20 // #14 │ │ +01b1a0: 3420 0500 |0056: if-lt v0, v2, 005b // +0005 │ │ +01b1a4: 6e10 ca02 0400 |0058: invoke-virtual {v4}, Ldnsfilter/android/DNSProxyActivity;.finish:()V // method@02ca │ │ +01b1aa: 6a01 ef00 |005b: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.BOOT_START:Z // field@00ef │ │ +01b1ae: 1210 |005d: const/4 v0, #int 1 // #1 │ │ +01b1b0: 6e20 df02 0400 |005e: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@02df │ │ +01b1b6: 6a01 0501 |0061: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.appStart:Z // field@0105 │ │ +01b1ba: 0e00 |0063: return-void │ │ catches : 1 │ │ 0x0005 - 0x001b │ │ Ljava/io/IOException; -> 0x001c │ │ positions : │ │ 0x0000 line=904 │ │ 0x0005 line=906 │ │ 0x001d line=908 │ │ @@ -44694,42 +44694,42 @@ │ │ type : '(Ldnsfilter/ConfigurationAccess;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 61 16-bit code units │ │ -01c480: |[01c480] dnsfilter.android.DNSProxyActivity.onRemoteConnected:(Ldnsfilter/ConfigurationAccess;)V │ │ -01c490: 6902 f000 |0000: sput-object v2, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01c494: 7100 0107 0000 |0002: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01c49a: 0c02 |0005: move-result-object v2 │ │ -01c49c: 1f02 7e01 |0006: check-cast v2, Lutil/GroupedLogger; // type@017e │ │ -01c4a0: 6200 2401 |0008: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01c4a4: 6e20 d306 0200 |000a: invoke-virtual {v2, v0}, Lutil/GroupedLogger;.detachLogger:(Lutil/LoggerInterface;)V // method@06d3 │ │ -01c4aa: 1202 |000d: const/4 v2, #int 0 // #0 │ │ -01c4ac: 6e20 df02 2100 |000e: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@02df │ │ -01c4b2: 2202 2801 |0011: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -01c4b6: 1a00 ed00 |0013: const-string v0, "CONNECTED TO " // string@00ed │ │ -01c4ba: 7020 8405 0200 |0015: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -01c4c0: 6200 f000 |0018: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01c4c4: 6e20 8805 0200 |001a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ -01c4ca: 6e10 8b05 0200 |001d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01c4d0: 0c02 |0020: move-result-object v2 │ │ -01c4d2: 6e20 e402 2100 |0021: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@02e4 │ │ -01c4d8: 2202 2801 |0024: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -01c4dc: 1a00 a300 |0026: const-string v0, "=>CONNECTED to " // string@00a3 │ │ -01c4e0: 7020 8405 0200 |0028: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -01c4e6: 6200 f000 |002b: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01c4ea: 6e20 8805 0200 |002d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ -01c4f0: 1a00 9400 |0030: const-string v0, "<=" // string@0094 │ │ -01c4f4: 6e20 8905 0200 |0032: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01c4fa: 6e10 8b05 0200 |0035: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01c500: 0c02 |0038: move-result-object v2 │ │ -01c502: 6e20 e302 2100 |0039: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@02e3 │ │ -01c508: 0e00 |003c: return-void │ │ +01c47c: |[01c47c] dnsfilter.android.DNSProxyActivity.onRemoteConnected:(Ldnsfilter/ConfigurationAccess;)V │ │ +01c48c: 6902 f000 |0000: sput-object v2, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01c490: 7100 0107 0000 |0002: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01c496: 0c02 |0005: move-result-object v2 │ │ +01c498: 1f02 7e01 |0006: check-cast v2, Lutil/GroupedLogger; // type@017e │ │ +01c49c: 6200 2401 |0008: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01c4a0: 6e20 d306 0200 |000a: invoke-virtual {v2, v0}, Lutil/GroupedLogger;.detachLogger:(Lutil/LoggerInterface;)V // method@06d3 │ │ +01c4a6: 1202 |000d: const/4 v2, #int 0 // #0 │ │ +01c4a8: 6e20 df02 2100 |000e: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@02df │ │ +01c4ae: 2202 2801 |0011: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +01c4b2: 1a00 ed00 |0013: const-string v0, "CONNECTED TO " // string@00ed │ │ +01c4b6: 7020 8405 0200 |0015: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +01c4bc: 6200 f000 |0018: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01c4c0: 6e20 8805 0200 |001a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ +01c4c6: 6e10 8b05 0200 |001d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01c4cc: 0c02 |0020: move-result-object v2 │ │ +01c4ce: 6e20 e402 2100 |0021: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@02e4 │ │ +01c4d4: 2202 2801 |0024: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +01c4d8: 1a00 a300 |0026: const-string v0, "=>CONNECTED to " // string@00a3 │ │ +01c4dc: 7020 8405 0200 |0028: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +01c4e2: 6200 f000 |002b: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01c4e6: 6e20 8805 0200 |002d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ +01c4ec: 1a00 9400 |0030: const-string v0, "<=" // string@0094 │ │ +01c4f0: 6e20 8905 0200 |0032: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01c4f6: 6e10 8b05 0200 |0035: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01c4fc: 0c02 |0038: move-result-object v2 │ │ +01c4fe: 6e20 e302 2100 |0039: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@02e3 │ │ +01c504: 0e00 |003c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1251 │ │ 0x0002 line=1252 │ │ 0x000e line=1253 │ │ 0x0011 line=1254 │ │ 0x0024 line=1255 │ │ @@ -44742,34 +44742,34 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 41 16-bit code units │ │ -01c630: |[01c630] dnsfilter.android.DNSProxyActivity.openBrowser:(Ljava/lang/String;)V │ │ -01c640: 2200 1900 |0000: new-instance v0, Landroid/content/Intent; // type@0019 │ │ -01c644: 1a01 5b05 |0002: const-string v1, "android.intent.action.VIEW" // string@055b │ │ -01c648: 7110 6100 0400 |0004: invoke-static {v4}, Landroid/net/Uri;.parse:(Ljava/lang/String;)Landroid/net/Uri; // method@0061 │ │ -01c64e: 0c02 |0007: move-result-object v2 │ │ -01c650: 7030 4000 1002 |0008: invoke-direct {v0, v1, v2}, Landroid/content/Intent;.:(Ljava/lang/String;Landroid/net/Uri;)V // method@0040 │ │ -01c656: 6e20 0b03 0300 |000b: invoke-virtual {v3, v0}, Ldnsfilter/android/DNSProxyActivity;.startActivity:(Landroid/content/Intent;)V // method@030b │ │ -01c65c: 281a |000e: goto 0028 // +001a │ │ -01c65e: 0d00 |000f: move-exception v0 │ │ -01c660: 2201 2801 |0010: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -01c664: 1a02 8701 |0012: const-string v2, "Error opening " // string@0187 │ │ -01c668: 7020 8405 2100 |0014: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -01c66e: 6e20 8905 4100 |0017: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01c674: 6e10 8b05 0100 |001a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01c67a: 0c04 |001d: move-result-object v4 │ │ -01c67c: 6e20 e402 4300 |001e: invoke-virtual {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@02e4 │ │ -01c682: 6e10 3b05 0000 |0021: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@053b │ │ -01c688: 0c04 |0024: move-result-object v4 │ │ -01c68a: 6e20 e302 4300 |0025: invoke-virtual {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@02e3 │ │ -01c690: 0e00 |0028: return-void │ │ +01c62c: |[01c62c] dnsfilter.android.DNSProxyActivity.openBrowser:(Ljava/lang/String;)V │ │ +01c63c: 2200 1900 |0000: new-instance v0, Landroid/content/Intent; // type@0019 │ │ +01c640: 1a01 5b05 |0002: const-string v1, "android.intent.action.VIEW" // string@055b │ │ +01c644: 7110 6100 0400 |0004: invoke-static {v4}, Landroid/net/Uri;.parse:(Ljava/lang/String;)Landroid/net/Uri; // method@0061 │ │ +01c64a: 0c02 |0007: move-result-object v2 │ │ +01c64c: 7030 4000 1002 |0008: invoke-direct {v0, v1, v2}, Landroid/content/Intent;.:(Ljava/lang/String;Landroid/net/Uri;)V // method@0040 │ │ +01c652: 6e20 0b03 0300 |000b: invoke-virtual {v3, v0}, Ldnsfilter/android/DNSProxyActivity;.startActivity:(Landroid/content/Intent;)V // method@030b │ │ +01c658: 281a |000e: goto 0028 // +001a │ │ +01c65a: 0d00 |000f: move-exception v0 │ │ +01c65c: 2201 2801 |0010: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +01c660: 1a02 8701 |0012: const-string v2, "Error opening " // string@0187 │ │ +01c664: 7020 8405 2100 |0014: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +01c66a: 6e20 8905 4100 |0017: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01c670: 6e10 8b05 0100 |001a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01c676: 0c04 |001d: move-result-object v4 │ │ +01c678: 6e20 e402 4300 |001e: invoke-virtual {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@02e4 │ │ +01c67e: 6e10 3b05 0000 |0021: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@053b │ │ +01c684: 0c04 |0024: move-result-object v4 │ │ +01c686: 6e20 e302 4300 |0025: invoke-virtual {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@02e3 │ │ +01c68c: 0e00 |0028: return-void │ │ catches : 1 │ │ 0x000b - 0x000e │ │ Ljava/lang/Exception; -> 0x000f │ │ positions : │ │ 0x0000 line=1224 │ │ 0x000b line=1226 │ │ 0x0010 line=1228 │ │ @@ -44783,106 +44783,106 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 8 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 203 16-bit code units │ │ -01c6a4: |[01c6a4] dnsfilter.android.DNSProxyActivity.pepareRemoteControl:()V │ │ -01c6b4: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ -01c6b8: 2201 0b00 |0002: new-instance v1, Landroid/app/Dialog; // type@000b │ │ -01c6bc: 1502 097f |0004: const/high16 v2, #int 2131296256 // #7f09 │ │ -01c6c0: 7030 1400 7102 |0006: invoke-direct {v1, v7, v2}, Landroid/app/Dialog;.:(Landroid/content/Context;I)V // method@0014 │ │ -01c6c6: 1402 0d00 067f |0009: const v2, #float 1.78117e+38 // #7f06000d │ │ -01c6cc: 6e20 1b00 2100 |000c: invoke-virtual {v1, v2}, Landroid/app/Dialog;.setContentView:(I)V // method@001b │ │ -01c6d2: 1402 5300 057f |000f: const v2, #float 1.76789e+38 // #7f050053 │ │ -01c6d8: 6e20 1700 2100 |0012: invoke-virtual {v1, v2}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01c6de: 0c02 |0015: move-result-object v2 │ │ -01c6e0: 1f02 5e00 |0016: check-cast v2, Landroid/widget/Button; // type@005e │ │ -01c6e4: 1403 5200 057f |0018: const v3, #float 1.76789e+38 // #7f050052 │ │ -01c6ea: 6e20 1700 3100 |001b: invoke-virtual {v1, v3}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01c6f0: 0c03 |001e: move-result-object v3 │ │ -01c6f2: 1f03 5e00 |001f: check-cast v3, Landroid/widget/Button; // type@005e │ │ -01c6f6: 2204 a400 |0021: new-instance v4, Ldnsfilter/android/DNSProxyActivity$4; // type@00a4 │ │ -01c6fa: 7040 9d02 7421 |0023: invoke-direct {v4, v7, v1, v2}, Ldnsfilter/android/DNSProxyActivity$4;.:(Ldnsfilter/android/DNSProxyActivity;Landroid/app/Dialog;Landroid/widget/Button;)V // method@029d │ │ -01c700: 6e20 1f00 7100 |0026: invoke-virtual {v1, v7}, Landroid/app/Dialog;.setOnKeyListener:(Landroid/content/DialogInterface$OnKeyListener;)V // method@001f │ │ -01c706: 6e10 d002 0700 |0029: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02d0 │ │ -01c70c: 0c05 |002c: move-result-object v5 │ │ -01c70e: 1406 2500 087f |002d: const v6, #float 1.80776e+38 // #7f080025 │ │ -01c714: 6e20 5100 6500 |0030: invoke-virtual {v5, v6}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0051 │ │ -01c71a: 0c05 |0033: move-result-object v5 │ │ -01c71c: 6e20 2100 5100 |0034: invoke-virtual {v1, v5}, Landroid/app/Dialog;.setTitle:(Ljava/lang/CharSequence;)V // method@0021 │ │ -01c722: 6e20 b000 4200 |0037: invoke-virtual {v2, v4}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ -01c728: 6e20 b000 4300 |003a: invoke-virtual {v3, v4}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ -01c72e: 7100 3f01 0000 |003d: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -01c734: 0c02 |0040: move-result-object v2 │ │ -01c736: 6e10 3901 0200 |0041: invoke-virtual {v2}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@0139 │ │ -01c73c: 0c02 |0044: move-result-object v2 │ │ -01c73e: 1a03 d805 |0045: const-string v3, "client_remote_ctrl_host" // string@05d8 │ │ -01c742: 6e30 3606 3200 |0047: invoke-virtual {v2, v3, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -01c748: 0c02 |004a: move-result-object v2 │ │ -01c74a: 7100 3f01 0000 |004b: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -01c750: 0c03 |004e: move-result-object v3 │ │ -01c752: 6e10 3901 0300 |004f: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@0139 │ │ -01c758: 0c03 |0052: move-result-object v3 │ │ -01c75a: 1a04 d905 |0053: const-string v4, "client_remote_ctrl_keyphrase" // string@05d9 │ │ -01c75e: 6e30 3606 4300 |0055: invoke-virtual {v3, v4, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -01c764: 0c00 |0058: move-result-object v0 │ │ -01c766: 7100 3f01 0000 |0059: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -01c76c: 0c03 |005c: move-result-object v3 │ │ -01c76e: 6e10 3901 0300 |005d: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@0139 │ │ -01c774: 0c03 |0060: move-result-object v3 │ │ -01c776: 1a04 da05 |0061: const-string v4, "client_remote_ctrl_port" // string@05da │ │ -01c77a: 1a05 7d00 |0063: const-string v5, "3333" // string@007d │ │ -01c77e: 6e30 3606 4305 |0065: invoke-virtual {v3, v4, v5}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -01c784: 0c03 |0068: move-result-object v3 │ │ -01c786: 7110 4105 0300 |0069: invoke-static {v3}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ -01c78c: 0a03 |006c: move-result v3 │ │ -01c78e: 2803 |006d: goto 0070 // +0003 │ │ -01c790: 1303 050d |006e: const/16 v3, #int 3333 // #d05 │ │ -01c794: 1404 5400 057f |0070: const v4, #float 1.76789e+38 // #7f050054 │ │ -01c79a: 6e20 1700 4100 |0073: invoke-virtual {v1, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01c7a0: 0c04 |0076: move-result-object v4 │ │ -01c7a2: 1f04 6200 |0077: check-cast v4, Landroid/widget/EditText; // type@0062 │ │ -01c7a6: 2205 2801 |0079: new-instance v5, Ljava/lang/StringBuilder; // type@0128 │ │ -01c7aa: 7010 8305 0500 |007b: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -01c7b0: 6e20 8905 2500 |007e: invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01c7b6: 1a02 8500 |0081: const-string v2, ":" // string@0085 │ │ -01c7ba: 6e20 8905 2500 |0083: invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01c7c0: 6e20 8605 3500 |0086: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -01c7c6: 6e10 8b05 0500 |0089: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01c7cc: 0c02 |008c: move-result-object v2 │ │ -01c7ce: 6e20 d100 2400 |008d: invoke-virtual {v4, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ -01c7d4: 1402 4a00 057f |0090: const v2, #float 1.76789e+38 // #7f05004a │ │ -01c7da: 6e20 1700 2100 |0093: invoke-virtual {v1, v2}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01c7e0: 0c02 |0096: move-result-object v2 │ │ -01c7e2: 1f02 6200 |0097: check-cast v2, Landroid/widget/EditText; // type@0062 │ │ -01c7e6: 6e20 d100 0200 |0099: invoke-virtual {v2, v0}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ -01c7ec: 6e10 2200 0100 |009c: invoke-virtual {v1}, Landroid/app/Dialog;.show:()V // method@0022 │ │ -01c7f2: 6e10 1800 0100 |009f: invoke-virtual {v1}, Landroid/app/Dialog;.getWindow:()Landroid/view/Window; // method@0018 │ │ -01c7f8: 0c00 |00a2: move-result-object v0 │ │ -01c7fa: 6001 f200 |00a3: sget v1, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00f2 │ │ -01c7fe: 6002 f100 |00a5: sget v2, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_HEIGTH:I // field@00f1 │ │ -01c802: 7120 4d05 2100 |00a7: invoke-static {v1, v2}, Ljava/lang/Math;.min:(II)I // method@054d │ │ -01c808: 0a01 |00aa: move-result v1 │ │ -01c80a: 8311 |00ab: int-to-double v1, v1 │ │ -01c80c: 1803 cdcc cccc cccc ec3f |00ac: const-wide v3, #double 0.9 // #3feccccccccccccd │ │ -01c816: 7120 3205 2100 |00b1: invoke-static {v1, v2}, Ljava/lang/Double;.isNaN:(D)Z // method@0532 │ │ -01c81c: ad01 0103 |00b4: mul-double v1, v1, v3 │ │ -01c820: 8a11 |00b6: double-to-int v1, v1 │ │ -01c822: 12e2 |00b7: const/4 v2, #int -2 // #fe │ │ -01c824: 6e30 a500 1002 |00b8: invoke-virtual {v0, v1, v2}, Landroid/view/Window;.setLayout:(II)V // method@00a5 │ │ -01c82a: 1401 0d00 0601 |00bb: const v1, #float 2.46119e-38 // #0106000d │ │ -01c830: 6e20 a400 1000 |00be: invoke-virtual {v0, v1}, Landroid/view/Window;.setBackgroundDrawableResource:(I)V // method@00a4 │ │ -01c836: 0e00 |00c1: return-void │ │ -01c838: 0d00 |00c2: move-exception v0 │ │ -01c83a: 7100 0107 0000 |00c3: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01c840: 0c01 |00c6: move-result-object v1 │ │ -01c842: 7220 0c07 0100 |00c7: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -01c848: 0e00 |00ca: return-void │ │ +01c6a0: |[01c6a0] dnsfilter.android.DNSProxyActivity.pepareRemoteControl:()V │ │ +01c6b0: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ +01c6b4: 2201 0b00 |0002: new-instance v1, Landroid/app/Dialog; // type@000b │ │ +01c6b8: 1502 097f |0004: const/high16 v2, #int 2131296256 // #7f09 │ │ +01c6bc: 7030 1400 7102 |0006: invoke-direct {v1, v7, v2}, Landroid/app/Dialog;.:(Landroid/content/Context;I)V // method@0014 │ │ +01c6c2: 1402 0d00 067f |0009: const v2, #float 1.78117e+38 // #7f06000d │ │ +01c6c8: 6e20 1b00 2100 |000c: invoke-virtual {v1, v2}, Landroid/app/Dialog;.setContentView:(I)V // method@001b │ │ +01c6ce: 1402 5300 057f |000f: const v2, #float 1.76789e+38 // #7f050053 │ │ +01c6d4: 6e20 1700 2100 |0012: invoke-virtual {v1, v2}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01c6da: 0c02 |0015: move-result-object v2 │ │ +01c6dc: 1f02 5e00 |0016: check-cast v2, Landroid/widget/Button; // type@005e │ │ +01c6e0: 1403 5200 057f |0018: const v3, #float 1.76789e+38 // #7f050052 │ │ +01c6e6: 6e20 1700 3100 |001b: invoke-virtual {v1, v3}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01c6ec: 0c03 |001e: move-result-object v3 │ │ +01c6ee: 1f03 5e00 |001f: check-cast v3, Landroid/widget/Button; // type@005e │ │ +01c6f2: 2204 a400 |0021: new-instance v4, Ldnsfilter/android/DNSProxyActivity$4; // type@00a4 │ │ +01c6f6: 7040 9d02 7421 |0023: invoke-direct {v4, v7, v1, v2}, Ldnsfilter/android/DNSProxyActivity$4;.:(Ldnsfilter/android/DNSProxyActivity;Landroid/app/Dialog;Landroid/widget/Button;)V // method@029d │ │ +01c6fc: 6e20 1f00 7100 |0026: invoke-virtual {v1, v7}, Landroid/app/Dialog;.setOnKeyListener:(Landroid/content/DialogInterface$OnKeyListener;)V // method@001f │ │ +01c702: 6e10 d002 0700 |0029: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02d0 │ │ +01c708: 0c05 |002c: move-result-object v5 │ │ +01c70a: 1406 2500 087f |002d: const v6, #float 1.80776e+38 // #7f080025 │ │ +01c710: 6e20 5100 6500 |0030: invoke-virtual {v5, v6}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0051 │ │ +01c716: 0c05 |0033: move-result-object v5 │ │ +01c718: 6e20 2100 5100 |0034: invoke-virtual {v1, v5}, Landroid/app/Dialog;.setTitle:(Ljava/lang/CharSequence;)V // method@0021 │ │ +01c71e: 6e20 b000 4200 |0037: invoke-virtual {v2, v4}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ +01c724: 6e20 b000 4300 |003a: invoke-virtual {v3, v4}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ +01c72a: 7100 3f01 0000 |003d: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +01c730: 0c02 |0040: move-result-object v2 │ │ +01c732: 6e10 3901 0200 |0041: invoke-virtual {v2}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@0139 │ │ +01c738: 0c02 |0044: move-result-object v2 │ │ +01c73a: 1a03 d805 |0045: const-string v3, "client_remote_ctrl_host" // string@05d8 │ │ +01c73e: 6e30 3606 3200 |0047: invoke-virtual {v2, v3, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +01c744: 0c02 |004a: move-result-object v2 │ │ +01c746: 7100 3f01 0000 |004b: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +01c74c: 0c03 |004e: move-result-object v3 │ │ +01c74e: 6e10 3901 0300 |004f: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@0139 │ │ +01c754: 0c03 |0052: move-result-object v3 │ │ +01c756: 1a04 d905 |0053: const-string v4, "client_remote_ctrl_keyphrase" // string@05d9 │ │ +01c75a: 6e30 3606 4300 |0055: invoke-virtual {v3, v4, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +01c760: 0c00 |0058: move-result-object v0 │ │ +01c762: 7100 3f01 0000 |0059: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +01c768: 0c03 |005c: move-result-object v3 │ │ +01c76a: 6e10 3901 0300 |005d: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@0139 │ │ +01c770: 0c03 |0060: move-result-object v3 │ │ +01c772: 1a04 da05 |0061: const-string v4, "client_remote_ctrl_port" // string@05da │ │ +01c776: 1a05 7d00 |0063: const-string v5, "3333" // string@007d │ │ +01c77a: 6e30 3606 4305 |0065: invoke-virtual {v3, v4, v5}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +01c780: 0c03 |0068: move-result-object v3 │ │ +01c782: 7110 4105 0300 |0069: invoke-static {v3}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ +01c788: 0a03 |006c: move-result v3 │ │ +01c78a: 2803 |006d: goto 0070 // +0003 │ │ +01c78c: 1303 050d |006e: const/16 v3, #int 3333 // #d05 │ │ +01c790: 1404 5400 057f |0070: const v4, #float 1.76789e+38 // #7f050054 │ │ +01c796: 6e20 1700 4100 |0073: invoke-virtual {v1, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01c79c: 0c04 |0076: move-result-object v4 │ │ +01c79e: 1f04 6200 |0077: check-cast v4, Landroid/widget/EditText; // type@0062 │ │ +01c7a2: 2205 2801 |0079: new-instance v5, Ljava/lang/StringBuilder; // type@0128 │ │ +01c7a6: 7010 8305 0500 |007b: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +01c7ac: 6e20 8905 2500 |007e: invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01c7b2: 1a02 8500 |0081: const-string v2, ":" // string@0085 │ │ +01c7b6: 6e20 8905 2500 |0083: invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01c7bc: 6e20 8605 3500 |0086: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +01c7c2: 6e10 8b05 0500 |0089: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01c7c8: 0c02 |008c: move-result-object v2 │ │ +01c7ca: 6e20 d100 2400 |008d: invoke-virtual {v4, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ +01c7d0: 1402 4a00 057f |0090: const v2, #float 1.76789e+38 // #7f05004a │ │ +01c7d6: 6e20 1700 2100 |0093: invoke-virtual {v1, v2}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01c7dc: 0c02 |0096: move-result-object v2 │ │ +01c7de: 1f02 6200 |0097: check-cast v2, Landroid/widget/EditText; // type@0062 │ │ +01c7e2: 6e20 d100 0200 |0099: invoke-virtual {v2, v0}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ +01c7e8: 6e10 2200 0100 |009c: invoke-virtual {v1}, Landroid/app/Dialog;.show:()V // method@0022 │ │ +01c7ee: 6e10 1800 0100 |009f: invoke-virtual {v1}, Landroid/app/Dialog;.getWindow:()Landroid/view/Window; // method@0018 │ │ +01c7f4: 0c00 |00a2: move-result-object v0 │ │ +01c7f6: 6001 f200 |00a3: sget v1, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00f2 │ │ +01c7fa: 6002 f100 |00a5: sget v2, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_HEIGTH:I // field@00f1 │ │ +01c7fe: 7120 4d05 2100 |00a7: invoke-static {v1, v2}, Ljava/lang/Math;.min:(II)I // method@054d │ │ +01c804: 0a01 |00aa: move-result v1 │ │ +01c806: 8311 |00ab: int-to-double v1, v1 │ │ +01c808: 1803 cdcc cccc cccc ec3f |00ac: const-wide v3, #double 0.9 // #3feccccccccccccd │ │ +01c812: 7120 3205 2100 |00b1: invoke-static {v1, v2}, Ljava/lang/Double;.isNaN:(D)Z // method@0532 │ │ +01c818: ad01 0103 |00b4: mul-double v1, v1, v3 │ │ +01c81c: 8a11 |00b6: double-to-int v1, v1 │ │ +01c81e: 12e2 |00b7: const/4 v2, #int -2 // #fe │ │ +01c820: 6e30 a500 1002 |00b8: invoke-virtual {v0, v1, v2}, Landroid/view/Window;.setLayout:(II)V // method@00a5 │ │ +01c826: 1401 0d00 0601 |00bb: const v1, #float 2.46119e-38 // #0106000d │ │ +01c82c: 6e20 a400 1000 |00be: invoke-virtual {v0, v1}, Landroid/view/Window;.setBackgroundDrawableResource:(I)V // method@00a4 │ │ +01c832: 0e00 |00c1: return-void │ │ +01c834: 0d00 |00c2: move-exception v0 │ │ +01c836: 7100 0107 0000 |00c3: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01c83c: 0c01 |00c6: move-result-object v1 │ │ +01c83e: 7220 0c07 0100 |00c7: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +01c844: 0e00 |00ca: return-void │ │ catches : 2 │ │ 0x003d - 0x0059 │ │ Ljava/lang/Exception; -> 0x00c2 │ │ 0x0059 - 0x006d │ │ Ljava/lang/Exception; -> 0x006e │ │ positions : │ │ 0x0000 line=1279 │ │ @@ -44912,254 +44912,254 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 17 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 513 16-bit code units │ │ -01c868: |[01c868] dnsfilter.android.DNSProxyActivity.persistConfig:()V │ │ -01c878: 1a00 bb0a |0000: const-string v0, "showInitialInfoPopUp" // string@0abb │ │ -01c87c: 1a01 dc06 |0002: const-string v1, "filterActive" // string@06dc │ │ -01c880: 1a02 1a0a |0004: const-string v2, "rootModeOnAndroid" // string@0a1a │ │ -01c884: 1a03 6506 |0006: const-string v3, "dnsProxyOnlyLocalRequests" // string@0665 │ │ -01c888: 1a04 6306 |0008: const-string v4, "dnsProxyOnAndroid" // string@0663 │ │ -01c88c: 1a05 6105 |000a: const-string v5, "androidKeepAwake" // string@0561 │ │ -01c890: 1a06 bb05 |000c: const-string v6, "checkCNAME" // string@05bb │ │ -01c894: 1a07 6005 |000e: const-string v7, "androidAppWhiteList" // string@0560 │ │ -01c898: 1a08 b800 |0010: const-string v8, "AUTOSTART" // string@00b8 │ │ -01c89c: 1a09 ce09 |0012: const-string v9, "reloadIntervalDays" // string@09ce │ │ -01c8a0: 1a0a 0000 |0014: const-string v10, "" // string@0000 │ │ -01c8a4: 7401 fd02 1000 |0016: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.persistManuallyEditConf:()Z // method@02fd │ │ -01c8aa: 0a0b |0019: move-result v11 │ │ -01c8ac: 380b 0300 |001a: if-eqz v11, 001d // +0003 │ │ -01c8b0: 0e00 |001c: return-void │ │ -01c8b2: 7401 fb02 1000 |001d: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.persistAdditionalHosts:()Z // method@02fb │ │ -01c8b8: 0a0b |0020: move-result v11 │ │ -01c8ba: 620c 1801 |0021: sget-object v12, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ -01c8be: 6e10 c500 0c00 |0023: invoke-virtual {v12}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ -01c8c4: 0c0c |0026: move-result-object v12 │ │ -01c8c6: 6e10 5405 0c00 |0027: invoke-virtual {v12}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ -01c8cc: 0c0c |002a: move-result-object v12 │ │ -01c8ce: 6e20 6705 ac00 |002b: invoke-virtual {v12, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -01c8d4: 0a0c |002e: move-result v12 │ │ -01c8d6: 380c 0900 |002f: if-eqz v12, 0038 // +0009 │ │ -01c8da: 620c 1801 |0031: sget-object v12, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ -01c8de: 1a0d 8300 |0033: const-string v13, "7" // string@0083 │ │ -01c8e2: 6e20 d100 dc00 |0035: invoke-virtual {v12, v13}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ -01c8e8: 7401 ce02 1000 |0038: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ -01c8ee: 0c0c |003b: move-result-object v12 │ │ -01c8f0: 620d 1601 |003c: sget-object v13, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -01c8f4: 6e10 1703 0d00 |003e: invoke-virtual {v13}, Ldnsfilter/android/FilterConfig;.getFilterEntries:()[Ldnsfilter/ConfigUtil$HostFilterList; // method@0317 │ │ -01c8fa: 0c0d |0041: move-result-object v13 │ │ -01c8fc: 6e20 2c01 dc00 |0042: invoke-virtual {v12, v13}, Ldnsfilter/ConfigUtil;.setConfiguredFilterLists:([Ldnsfilter/ConfigUtil$HostFilterList;)V // method@012c │ │ -01c902: 220c ef00 |0045: new-instance v12, Ljava/io/BufferedReader; // type@00ef │ │ -01c906: 220d fd00 |0047: new-instance v13, Ljava/io/InputStreamReader; // type@00fd │ │ -01c90a: 220e f100 |0049: new-instance v14, Ljava/io/ByteArrayInputStream; // type@00f1 │ │ -01c90e: 620f f000 |004b: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01c912: 6e10 4501 0f00 |004d: invoke-virtual {v15}, Ldnsfilter/ConfigurationAccess;.readConfig:()[B // method@0145 │ │ -01c918: 0c0f |0050: move-result-object v15 │ │ -01c91a: 7020 ba04 fe00 |0051: invoke-direct {v14, v15}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04ba │ │ -01c920: 7020 0705 ed00 |0054: invoke-direct {v13, v14}, Ljava/io/InputStreamReader;.:(Ljava/io/InputStream;)V // method@0507 │ │ -01c926: 7020 b304 dc00 |0057: invoke-direct {v12, v13}, Ljava/io/BufferedReader;.:(Ljava/io/Reader;)V // method@04b3 │ │ -01c92c: 6e10 b504 0c00 |005a: invoke-virtual {v12}, Ljava/io/BufferedReader;.readLine:()Ljava/lang/String; // method@04b5 │ │ -01c932: 0c0d |005d: move-result-object v13 │ │ -01c934: 380d 7501 |005e: if-eqz v13, 01d3 // +0175 │ │ -01c938: 6e10 7c05 0d00 |0060: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -01c93e: 0c0e |0063: move-result-object v14 │ │ -01c940: 6e20 7505 9e00 |0064: invoke-virtual {v14, v9}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ -01c946: 0a0e |0067: move-result v14 │ │ -01c948: 380e 1400 |0068: if-eqz v14, 007c // +0014 │ │ -01c94c: 7401 ce02 1000 |006a: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ -01c952: 0c0d |006d: move-result-object v13 │ │ -01c954: 620e 1801 |006e: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ -01c958: 6e10 c500 0e00 |0070: invoke-virtual {v14}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ -01c95e: 0c0e |0073: move-result-object v14 │ │ -01c960: 6e10 5405 0e00 |0074: invoke-virtual {v14}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ -01c966: 0c0e |0077: move-result-object v14 │ │ -01c968: 6e30 2e01 9d0e |0078: invoke-virtual {v13, v9, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ -01c96e: 28df |007b: goto 005a // -0021 │ │ -01c970: 6e10 7c05 0d00 |007c: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -01c976: 0c0e |007f: move-result-object v14 │ │ -01c978: 6e20 7505 8e00 |0080: invoke-virtual {v14, v8}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ -01c97e: 0a0e |0083: move-result v14 │ │ -01c980: 380e 1f00 |0084: if-eqz v14, 00a3 // +001f │ │ -01c984: 7401 ce02 1000 |0086: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ -01c98a: 0c0d |0089: move-result-object v13 │ │ -01c98c: 220e 2801 |008a: new-instance v14, Ljava/lang/StringBuilder; // type@0128 │ │ -01c990: 7010 8305 0e00 |008c: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -01c996: 620f 1401 |008f: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ -01c99a: 6e10 b700 0f00 |0091: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01c9a0: 0a0f |0094: move-result v15 │ │ -01c9a2: 6e20 8a05 fe00 |0095: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@058a │ │ -01c9a8: 6e20 8905 ae00 |0098: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01c9ae: 6e10 8b05 0e00 |009b: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01c9b4: 0c0e |009e: move-result-object v14 │ │ -01c9b6: 6e30 2e01 8d0e |009f: invoke-virtual {v13, v8, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ -01c9bc: 28b8 |00a2: goto 005a // -0048 │ │ -01c9be: 6e10 7c05 0d00 |00a3: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -01c9c4: 0c0e |00a6: move-result-object v14 │ │ -01c9c6: 6e20 7505 7e00 |00a7: invoke-virtual {v14, v7}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ -01c9cc: 0a0e |00aa: move-result v14 │ │ -01c9ce: 380e 1000 |00ab: if-eqz v14, 00bb // +0010 │ │ -01c9d2: 7401 ce02 1000 |00ad: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ -01c9d8: 0c0d |00b0: move-result-object v13 │ │ -01c9da: 620e 0401 |00b1: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ -01c9de: 6e10 3c02 0e00 |00b3: invoke-virtual {v14}, Ldnsfilter/android/AppSelectorView;.getSelectedAppPackages:()Ljava/lang/String; // method@023c │ │ -01c9e4: 0c0e |00b6: move-result-object v14 │ │ -01c9e6: 6e30 2e01 7d0e |00b7: invoke-virtual {v13, v7, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ -01c9ec: 28a0 |00ba: goto 005a // -0060 │ │ -01c9ee: 6e10 7c05 0d00 |00bb: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -01c9f4: 0c0e |00be: move-result-object v14 │ │ -01c9f6: 6e20 7505 6e00 |00bf: invoke-virtual {v14, v6}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ -01c9fc: 0a0e |00c2: move-result v14 │ │ -01c9fe: 380e 2000 |00c3: if-eqz v14, 00e3 // +0020 │ │ -01ca02: 7401 ce02 1000 |00c5: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ -01ca08: 0c0d |00c8: move-result-object v13 │ │ -01ca0a: 220e 2801 |00c9: new-instance v14, Ljava/lang/StringBuilder; // type@0128 │ │ -01ca0e: 7010 8305 0e00 |00cb: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -01ca14: 620f 1501 |00ce: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ -01ca18: 6e10 b700 0f00 |00d0: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01ca1e: 0a0f |00d3: move-result v15 │ │ -01ca20: 6e20 8a05 fe00 |00d4: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@058a │ │ -01ca26: 6e20 8905 ae00 |00d7: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01ca2c: 6e10 8b05 0e00 |00da: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01ca32: 0c0e |00dd: move-result-object v14 │ │ -01ca34: 6e30 2e01 6d0e |00de: invoke-virtual {v13, v6, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ -01ca3a: 2900 79ff |00e1: goto/16 005a // -0087 │ │ -01ca3e: 6e10 7c05 0d00 |00e3: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -01ca44: 0c0e |00e6: move-result-object v14 │ │ -01ca46: 6e20 7505 5e00 |00e7: invoke-virtual {v14, v5}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ -01ca4c: 0a0e |00ea: move-result v14 │ │ -01ca4e: 380e 2000 |00eb: if-eqz v14, 010b // +0020 │ │ -01ca52: 7401 ce02 1000 |00ed: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ -01ca58: 0c0d |00f0: move-result-object v13 │ │ -01ca5a: 220e 2801 |00f1: new-instance v14, Ljava/lang/StringBuilder; // type@0128 │ │ -01ca5e: 7010 8305 0e00 |00f3: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -01ca64: 620f 1c01 |00f6: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ -01ca68: 6e10 b700 0f00 |00f8: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01ca6e: 0a0f |00fb: move-result v15 │ │ -01ca70: 6e20 8a05 fe00 |00fc: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@058a │ │ -01ca76: 6e20 8905 ae00 |00ff: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01ca7c: 6e10 8b05 0e00 |0102: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01ca82: 0c0e |0105: move-result-object v14 │ │ -01ca84: 6e30 2e01 5d0e |0106: invoke-virtual {v13, v5, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ -01ca8a: 2900 51ff |0109: goto/16 005a // -00af │ │ -01ca8e: 6e10 7c05 0d00 |010b: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -01ca94: 0c0e |010e: move-result-object v14 │ │ -01ca96: 6e20 7505 4e00 |010f: invoke-virtual {v14, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ -01ca9c: 0a0e |0112: move-result v14 │ │ -01ca9e: 380e 2000 |0113: if-eqz v14, 0133 // +0020 │ │ -01caa2: 7401 ce02 1000 |0115: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ -01caa8: 0c0d |0118: move-result-object v13 │ │ -01caaa: 220e 2801 |0119: new-instance v14, Ljava/lang/StringBuilder; // type@0128 │ │ -01caae: 7010 8305 0e00 |011b: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -01cab4: 620f 2901 |011e: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01cab8: 6e10 b700 0f00 |0120: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01cabe: 0a0f |0123: move-result v15 │ │ -01cac0: 6e20 8a05 fe00 |0124: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@058a │ │ -01cac6: 6e20 8905 ae00 |0127: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01cacc: 6e10 8b05 0e00 |012a: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01cad2: 0c0e |012d: move-result-object v14 │ │ -01cad4: 6e30 2e01 4d0e |012e: invoke-virtual {v13, v4, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ -01cada: 2900 29ff |0131: goto/16 005a // -00d7 │ │ -01cade: 6e10 7c05 0d00 |0133: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -01cae4: 0c0e |0136: move-result-object v14 │ │ -01cae6: 6e20 7505 3e00 |0137: invoke-virtual {v14, v3}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ -01caec: 0a0e |013a: move-result v14 │ │ -01caee: 380e 2000 |013b: if-eqz v14, 015b // +0020 │ │ -01caf2: 7401 ce02 1000 |013d: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ -01caf8: 0c0d |0140: move-result-object v13 │ │ -01cafa: 220e 2801 |0141: new-instance v14, Ljava/lang/StringBuilder; // type@0128 │ │ -01cafe: 7010 8305 0e00 |0143: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -01cb04: 620f 2801 |0146: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ -01cb08: 6e10 b700 0f00 |0148: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01cb0e: 0a0f |014b: move-result v15 │ │ -01cb10: 6e20 8a05 fe00 |014c: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@058a │ │ -01cb16: 6e20 8905 ae00 |014f: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01cb1c: 6e10 8b05 0e00 |0152: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01cb22: 0c0e |0155: move-result-object v14 │ │ -01cb24: 6e30 2e01 3d0e |0156: invoke-virtual {v13, v3, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ -01cb2a: 2900 01ff |0159: goto/16 005a // -00ff │ │ -01cb2e: 6e10 7c05 0d00 |015b: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -01cb34: 0c0e |015e: move-result-object v14 │ │ -01cb36: 6e20 7505 2e00 |015f: invoke-virtual {v14, v2}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ -01cb3c: 0a0e |0162: move-result v14 │ │ -01cb3e: 380e 2000 |0163: if-eqz v14, 0183 // +0020 │ │ -01cb42: 7401 ce02 1000 |0165: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ -01cb48: 0c0d |0168: move-result-object v13 │ │ -01cb4a: 220e 2801 |0169: new-instance v14, Ljava/lang/StringBuilder; // type@0128 │ │ -01cb4e: 7010 8305 0e00 |016b: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -01cb54: 620f 3001 |016e: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01cb58: 6e10 b700 0f00 |0170: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01cb5e: 0a0f |0173: move-result v15 │ │ -01cb60: 6e20 8a05 fe00 |0174: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@058a │ │ -01cb66: 6e20 8905 ae00 |0177: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01cb6c: 6e10 8b05 0e00 |017a: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01cb72: 0c0e |017d: move-result-object v14 │ │ -01cb74: 6e30 2e01 2d0e |017e: invoke-virtual {v13, v2, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ -01cb7a: 2900 d9fe |0181: goto/16 005a // -0127 │ │ -01cb7e: 6e10 7c05 0d00 |0183: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -01cb84: 0c0e |0186: move-result-object v14 │ │ -01cb86: 6e20 7505 1e00 |0187: invoke-virtual {v14, v1}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ -01cb8c: 0a0e |018a: move-result v14 │ │ -01cb8e: 380e 2000 |018b: if-eqz v14, 01ab // +0020 │ │ -01cb92: 7401 ce02 1000 |018d: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ -01cb98: 0c0d |0190: move-result-object v13 │ │ -01cb9a: 220e 2801 |0191: new-instance v14, Ljava/lang/StringBuilder; // type@0128 │ │ -01cb9e: 7010 8305 0e00 |0193: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -01cba4: 620f 1301 |0196: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ -01cba8: 6e10 b700 0f00 |0198: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01cbae: 0a0f |019b: move-result v15 │ │ -01cbb0: 6e20 8a05 fe00 |019c: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@058a │ │ -01cbb6: 6e20 8905 ae00 |019f: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01cbbc: 6e10 8b05 0e00 |01a2: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01cbc2: 0c0e |01a5: move-result-object v14 │ │ -01cbc4: 6e30 2e01 1d0e |01a6: invoke-virtual {v13, v1, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ -01cbca: 2900 b1fe |01a9: goto/16 005a // -014f │ │ -01cbce: 630e 2701 |01ab: sget-boolean v14, Ldnsfilter/android/DNSProxyActivity;.popUpDialogChanged:Z // field@0127 │ │ -01cbd2: 380e adfe |01ad: if-eqz v14, 005a // -0153 │ │ -01cbd6: 6e10 7c05 0d00 |01af: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -01cbdc: 0c0d |01b2: move-result-object v13 │ │ -01cbde: 6e20 7505 0d00 |01b3: invoke-virtual {v13, v0}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ -01cbe4: 0a0d |01b6: move-result v13 │ │ -01cbe6: 380d a3fe |01b7: if-eqz v13, 005a // -015d │ │ -01cbea: 7401 ce02 1000 |01b9: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ -01cbf0: 0c0d |01bc: move-result-object v13 │ │ -01cbf2: 220e 2801 |01bd: new-instance v14, Ljava/lang/StringBuilder; // type@0128 │ │ -01cbf6: 7010 8305 0e00 |01bf: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -01cbfc: 630f 3501 |01c2: sget-boolean v15, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ -01cc00: 6e20 8a05 fe00 |01c4: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@058a │ │ -01cc06: 6e20 8905 ae00 |01c7: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01cc0c: 6e10 8b05 0e00 |01ca: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01cc12: 0c0e |01cd: move-result-object v14 │ │ -01cc14: 6e30 2e01 0d0e |01ce: invoke-virtual {v13, v0, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ -01cc1a: 2900 89fe |01d1: goto/16 005a // -0177 │ │ -01cc1e: 6e10 b404 0c00 |01d3: invoke-virtual {v12}, Ljava/io/BufferedReader;.close:()V // method@04b4 │ │ -01cc24: 390b 0a00 |01d6: if-nez v11, 01e0 // +000a │ │ -01cc28: 7401 ce02 1000 |01d8: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ -01cc2e: 0c00 |01db: move-result-object v0 │ │ -01cc30: 6e10 2b01 0000 |01dc: invoke-virtual {v0}, Ldnsfilter/ConfigUtil;.isChanged:()Z // method@012b │ │ -01cc36: 0a00 |01df: move-result v0 │ │ -01cc38: 7401 ce02 1000 |01e0: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ -01cc3e: 0c00 |01e3: move-result-object v0 │ │ -01cc40: 6e10 2b01 0000 |01e4: invoke-virtual {v0}, Ldnsfilter/ConfigUtil;.isChanged:()Z // method@012b │ │ -01cc46: 0a00 |01e7: move-result v0 │ │ -01cc48: 3800 1800 |01e8: if-eqz v0, 0200 // +0018 │ │ -01cc4c: 6200 f000 |01ea: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01cc50: 7401 ce02 1000 |01ec: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ -01cc56: 0c01 |01ef: move-result-object v1 │ │ -01cc58: 6e10 2401 0100 |01f0: invoke-virtual {v1}, Ldnsfilter/ConfigUtil;.getConfigBytes:()[B // method@0124 │ │ -01cc5e: 0c01 |01f3: move-result-object v1 │ │ -01cc60: 6e20 4d01 1000 |01f4: invoke-virtual {v0, v1}, Ldnsfilter/ConfigurationAccess;.updateConfig:([B)V // method@014d │ │ -01cc66: 2809 |01f7: goto 0200 // +0009 │ │ -01cc68: 0d00 |01f8: move-exception v0 │ │ -01cc6a: 7100 0107 0000 |01f9: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01cc70: 0c01 |01fc: move-result-object v1 │ │ -01cc72: 7220 0c07 0100 |01fd: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -01cc78: 0e00 |0200: return-void │ │ +01c864: |[01c864] dnsfilter.android.DNSProxyActivity.persistConfig:()V │ │ +01c874: 1a00 bb0a |0000: const-string v0, "showInitialInfoPopUp" // string@0abb │ │ +01c878: 1a01 dc06 |0002: const-string v1, "filterActive" // string@06dc │ │ +01c87c: 1a02 1a0a |0004: const-string v2, "rootModeOnAndroid" // string@0a1a │ │ +01c880: 1a03 6506 |0006: const-string v3, "dnsProxyOnlyLocalRequests" // string@0665 │ │ +01c884: 1a04 6306 |0008: const-string v4, "dnsProxyOnAndroid" // string@0663 │ │ +01c888: 1a05 6105 |000a: const-string v5, "androidKeepAwake" // string@0561 │ │ +01c88c: 1a06 bb05 |000c: const-string v6, "checkCNAME" // string@05bb │ │ +01c890: 1a07 6005 |000e: const-string v7, "androidAppWhiteList" // string@0560 │ │ +01c894: 1a08 b800 |0010: const-string v8, "AUTOSTART" // string@00b8 │ │ +01c898: 1a09 ce09 |0012: const-string v9, "reloadIntervalDays" // string@09ce │ │ +01c89c: 1a0a 0000 |0014: const-string v10, "" // string@0000 │ │ +01c8a0: 7401 fd02 1000 |0016: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.persistManuallyEditConf:()Z // method@02fd │ │ +01c8a6: 0a0b |0019: move-result v11 │ │ +01c8a8: 380b 0300 |001a: if-eqz v11, 001d // +0003 │ │ +01c8ac: 0e00 |001c: return-void │ │ +01c8ae: 7401 fb02 1000 |001d: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.persistAdditionalHosts:()Z // method@02fb │ │ +01c8b4: 0a0b |0020: move-result v11 │ │ +01c8b6: 620c 1801 |0021: sget-object v12, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ +01c8ba: 6e10 c500 0c00 |0023: invoke-virtual {v12}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ +01c8c0: 0c0c |0026: move-result-object v12 │ │ +01c8c2: 6e10 5405 0c00 |0027: invoke-virtual {v12}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ +01c8c8: 0c0c |002a: move-result-object v12 │ │ +01c8ca: 6e20 6705 ac00 |002b: invoke-virtual {v12, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +01c8d0: 0a0c |002e: move-result v12 │ │ +01c8d2: 380c 0900 |002f: if-eqz v12, 0038 // +0009 │ │ +01c8d6: 620c 1801 |0031: sget-object v12, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ +01c8da: 1a0d 8300 |0033: const-string v13, "7" // string@0083 │ │ +01c8de: 6e20 d100 dc00 |0035: invoke-virtual {v12, v13}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ +01c8e4: 7401 ce02 1000 |0038: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ +01c8ea: 0c0c |003b: move-result-object v12 │ │ +01c8ec: 620d 1601 |003c: sget-object v13, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +01c8f0: 6e10 1703 0d00 |003e: invoke-virtual {v13}, Ldnsfilter/android/FilterConfig;.getFilterEntries:()[Ldnsfilter/ConfigUtil$HostFilterList; // method@0317 │ │ +01c8f6: 0c0d |0041: move-result-object v13 │ │ +01c8f8: 6e20 2c01 dc00 |0042: invoke-virtual {v12, v13}, Ldnsfilter/ConfigUtil;.setConfiguredFilterLists:([Ldnsfilter/ConfigUtil$HostFilterList;)V // method@012c │ │ +01c8fe: 220c ef00 |0045: new-instance v12, Ljava/io/BufferedReader; // type@00ef │ │ +01c902: 220d fd00 |0047: new-instance v13, Ljava/io/InputStreamReader; // type@00fd │ │ +01c906: 220e f100 |0049: new-instance v14, Ljava/io/ByteArrayInputStream; // type@00f1 │ │ +01c90a: 620f f000 |004b: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01c90e: 6e10 4501 0f00 |004d: invoke-virtual {v15}, Ldnsfilter/ConfigurationAccess;.readConfig:()[B // method@0145 │ │ +01c914: 0c0f |0050: move-result-object v15 │ │ +01c916: 7020 ba04 fe00 |0051: invoke-direct {v14, v15}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04ba │ │ +01c91c: 7020 0705 ed00 |0054: invoke-direct {v13, v14}, Ljava/io/InputStreamReader;.:(Ljava/io/InputStream;)V // method@0507 │ │ +01c922: 7020 b304 dc00 |0057: invoke-direct {v12, v13}, Ljava/io/BufferedReader;.:(Ljava/io/Reader;)V // method@04b3 │ │ +01c928: 6e10 b504 0c00 |005a: invoke-virtual {v12}, Ljava/io/BufferedReader;.readLine:()Ljava/lang/String; // method@04b5 │ │ +01c92e: 0c0d |005d: move-result-object v13 │ │ +01c930: 380d 7501 |005e: if-eqz v13, 01d3 // +0175 │ │ +01c934: 6e10 7c05 0d00 |0060: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01c93a: 0c0e |0063: move-result-object v14 │ │ +01c93c: 6e20 7505 9e00 |0064: invoke-virtual {v14, v9}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ +01c942: 0a0e |0067: move-result v14 │ │ +01c944: 380e 1400 |0068: if-eqz v14, 007c // +0014 │ │ +01c948: 7401 ce02 1000 |006a: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ +01c94e: 0c0d |006d: move-result-object v13 │ │ +01c950: 620e 1801 |006e: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ +01c954: 6e10 c500 0e00 |0070: invoke-virtual {v14}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ +01c95a: 0c0e |0073: move-result-object v14 │ │ +01c95c: 6e10 5405 0e00 |0074: invoke-virtual {v14}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ +01c962: 0c0e |0077: move-result-object v14 │ │ +01c964: 6e30 2e01 9d0e |0078: invoke-virtual {v13, v9, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ +01c96a: 28df |007b: goto 005a // -0021 │ │ +01c96c: 6e10 7c05 0d00 |007c: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01c972: 0c0e |007f: move-result-object v14 │ │ +01c974: 6e20 7505 8e00 |0080: invoke-virtual {v14, v8}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ +01c97a: 0a0e |0083: move-result v14 │ │ +01c97c: 380e 1f00 |0084: if-eqz v14, 00a3 // +001f │ │ +01c980: 7401 ce02 1000 |0086: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ +01c986: 0c0d |0089: move-result-object v13 │ │ +01c988: 220e 2801 |008a: new-instance v14, Ljava/lang/StringBuilder; // type@0128 │ │ +01c98c: 7010 8305 0e00 |008c: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +01c992: 620f 1401 |008f: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ +01c996: 6e10 b700 0f00 |0091: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01c99c: 0a0f |0094: move-result v15 │ │ +01c99e: 6e20 8a05 fe00 |0095: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@058a │ │ +01c9a4: 6e20 8905 ae00 |0098: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01c9aa: 6e10 8b05 0e00 |009b: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01c9b0: 0c0e |009e: move-result-object v14 │ │ +01c9b2: 6e30 2e01 8d0e |009f: invoke-virtual {v13, v8, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ +01c9b8: 28b8 |00a2: goto 005a // -0048 │ │ +01c9ba: 6e10 7c05 0d00 |00a3: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01c9c0: 0c0e |00a6: move-result-object v14 │ │ +01c9c2: 6e20 7505 7e00 |00a7: invoke-virtual {v14, v7}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ +01c9c8: 0a0e |00aa: move-result v14 │ │ +01c9ca: 380e 1000 |00ab: if-eqz v14, 00bb // +0010 │ │ +01c9ce: 7401 ce02 1000 |00ad: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ +01c9d4: 0c0d |00b0: move-result-object v13 │ │ +01c9d6: 620e 0401 |00b1: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ +01c9da: 6e10 3c02 0e00 |00b3: invoke-virtual {v14}, Ldnsfilter/android/AppSelectorView;.getSelectedAppPackages:()Ljava/lang/String; // method@023c │ │ +01c9e0: 0c0e |00b6: move-result-object v14 │ │ +01c9e2: 6e30 2e01 7d0e |00b7: invoke-virtual {v13, v7, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ +01c9e8: 28a0 |00ba: goto 005a // -0060 │ │ +01c9ea: 6e10 7c05 0d00 |00bb: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01c9f0: 0c0e |00be: move-result-object v14 │ │ +01c9f2: 6e20 7505 6e00 |00bf: invoke-virtual {v14, v6}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ +01c9f8: 0a0e |00c2: move-result v14 │ │ +01c9fa: 380e 2000 |00c3: if-eqz v14, 00e3 // +0020 │ │ +01c9fe: 7401 ce02 1000 |00c5: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ +01ca04: 0c0d |00c8: move-result-object v13 │ │ +01ca06: 220e 2801 |00c9: new-instance v14, Ljava/lang/StringBuilder; // type@0128 │ │ +01ca0a: 7010 8305 0e00 |00cb: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +01ca10: 620f 1501 |00ce: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ +01ca14: 6e10 b700 0f00 |00d0: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01ca1a: 0a0f |00d3: move-result v15 │ │ +01ca1c: 6e20 8a05 fe00 |00d4: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@058a │ │ +01ca22: 6e20 8905 ae00 |00d7: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01ca28: 6e10 8b05 0e00 |00da: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01ca2e: 0c0e |00dd: move-result-object v14 │ │ +01ca30: 6e30 2e01 6d0e |00de: invoke-virtual {v13, v6, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ +01ca36: 2900 79ff |00e1: goto/16 005a // -0087 │ │ +01ca3a: 6e10 7c05 0d00 |00e3: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01ca40: 0c0e |00e6: move-result-object v14 │ │ +01ca42: 6e20 7505 5e00 |00e7: invoke-virtual {v14, v5}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ +01ca48: 0a0e |00ea: move-result v14 │ │ +01ca4a: 380e 2000 |00eb: if-eqz v14, 010b // +0020 │ │ +01ca4e: 7401 ce02 1000 |00ed: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ +01ca54: 0c0d |00f0: move-result-object v13 │ │ +01ca56: 220e 2801 |00f1: new-instance v14, Ljava/lang/StringBuilder; // type@0128 │ │ +01ca5a: 7010 8305 0e00 |00f3: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +01ca60: 620f 1c01 |00f6: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ +01ca64: 6e10 b700 0f00 |00f8: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01ca6a: 0a0f |00fb: move-result v15 │ │ +01ca6c: 6e20 8a05 fe00 |00fc: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@058a │ │ +01ca72: 6e20 8905 ae00 |00ff: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01ca78: 6e10 8b05 0e00 |0102: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01ca7e: 0c0e |0105: move-result-object v14 │ │ +01ca80: 6e30 2e01 5d0e |0106: invoke-virtual {v13, v5, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ +01ca86: 2900 51ff |0109: goto/16 005a // -00af │ │ +01ca8a: 6e10 7c05 0d00 |010b: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01ca90: 0c0e |010e: move-result-object v14 │ │ +01ca92: 6e20 7505 4e00 |010f: invoke-virtual {v14, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ +01ca98: 0a0e |0112: move-result v14 │ │ +01ca9a: 380e 2000 |0113: if-eqz v14, 0133 // +0020 │ │ +01ca9e: 7401 ce02 1000 |0115: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ +01caa4: 0c0d |0118: move-result-object v13 │ │ +01caa6: 220e 2801 |0119: new-instance v14, Ljava/lang/StringBuilder; // type@0128 │ │ +01caaa: 7010 8305 0e00 |011b: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +01cab0: 620f 2901 |011e: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01cab4: 6e10 b700 0f00 |0120: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01caba: 0a0f |0123: move-result v15 │ │ +01cabc: 6e20 8a05 fe00 |0124: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@058a │ │ +01cac2: 6e20 8905 ae00 |0127: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01cac8: 6e10 8b05 0e00 |012a: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01cace: 0c0e |012d: move-result-object v14 │ │ +01cad0: 6e30 2e01 4d0e |012e: invoke-virtual {v13, v4, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ +01cad6: 2900 29ff |0131: goto/16 005a // -00d7 │ │ +01cada: 6e10 7c05 0d00 |0133: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01cae0: 0c0e |0136: move-result-object v14 │ │ +01cae2: 6e20 7505 3e00 |0137: invoke-virtual {v14, v3}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ +01cae8: 0a0e |013a: move-result v14 │ │ +01caea: 380e 2000 |013b: if-eqz v14, 015b // +0020 │ │ +01caee: 7401 ce02 1000 |013d: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ +01caf4: 0c0d |0140: move-result-object v13 │ │ +01caf6: 220e 2801 |0141: new-instance v14, Ljava/lang/StringBuilder; // type@0128 │ │ +01cafa: 7010 8305 0e00 |0143: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +01cb00: 620f 2801 |0146: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ +01cb04: 6e10 b700 0f00 |0148: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01cb0a: 0a0f |014b: move-result v15 │ │ +01cb0c: 6e20 8a05 fe00 |014c: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@058a │ │ +01cb12: 6e20 8905 ae00 |014f: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01cb18: 6e10 8b05 0e00 |0152: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01cb1e: 0c0e |0155: move-result-object v14 │ │ +01cb20: 6e30 2e01 3d0e |0156: invoke-virtual {v13, v3, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ +01cb26: 2900 01ff |0159: goto/16 005a // -00ff │ │ +01cb2a: 6e10 7c05 0d00 |015b: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01cb30: 0c0e |015e: move-result-object v14 │ │ +01cb32: 6e20 7505 2e00 |015f: invoke-virtual {v14, v2}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ +01cb38: 0a0e |0162: move-result v14 │ │ +01cb3a: 380e 2000 |0163: if-eqz v14, 0183 // +0020 │ │ +01cb3e: 7401 ce02 1000 |0165: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ +01cb44: 0c0d |0168: move-result-object v13 │ │ +01cb46: 220e 2801 |0169: new-instance v14, Ljava/lang/StringBuilder; // type@0128 │ │ +01cb4a: 7010 8305 0e00 |016b: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +01cb50: 620f 3001 |016e: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01cb54: 6e10 b700 0f00 |0170: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01cb5a: 0a0f |0173: move-result v15 │ │ +01cb5c: 6e20 8a05 fe00 |0174: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@058a │ │ +01cb62: 6e20 8905 ae00 |0177: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01cb68: 6e10 8b05 0e00 |017a: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01cb6e: 0c0e |017d: move-result-object v14 │ │ +01cb70: 6e30 2e01 2d0e |017e: invoke-virtual {v13, v2, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ +01cb76: 2900 d9fe |0181: goto/16 005a // -0127 │ │ +01cb7a: 6e10 7c05 0d00 |0183: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01cb80: 0c0e |0186: move-result-object v14 │ │ +01cb82: 6e20 7505 1e00 |0187: invoke-virtual {v14, v1}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ +01cb88: 0a0e |018a: move-result v14 │ │ +01cb8a: 380e 2000 |018b: if-eqz v14, 01ab // +0020 │ │ +01cb8e: 7401 ce02 1000 |018d: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ +01cb94: 0c0d |0190: move-result-object v13 │ │ +01cb96: 220e 2801 |0191: new-instance v14, Ljava/lang/StringBuilder; // type@0128 │ │ +01cb9a: 7010 8305 0e00 |0193: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +01cba0: 620f 1301 |0196: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ +01cba4: 6e10 b700 0f00 |0198: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01cbaa: 0a0f |019b: move-result v15 │ │ +01cbac: 6e20 8a05 fe00 |019c: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@058a │ │ +01cbb2: 6e20 8905 ae00 |019f: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01cbb8: 6e10 8b05 0e00 |01a2: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01cbbe: 0c0e |01a5: move-result-object v14 │ │ +01cbc0: 6e30 2e01 1d0e |01a6: invoke-virtual {v13, v1, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ +01cbc6: 2900 b1fe |01a9: goto/16 005a // -014f │ │ +01cbca: 630e 2701 |01ab: sget-boolean v14, Ldnsfilter/android/DNSProxyActivity;.popUpDialogChanged:Z // field@0127 │ │ +01cbce: 380e adfe |01ad: if-eqz v14, 005a // -0153 │ │ +01cbd2: 6e10 7c05 0d00 |01af: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01cbd8: 0c0d |01b2: move-result-object v13 │ │ +01cbda: 6e20 7505 0d00 |01b3: invoke-virtual {v13, v0}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ +01cbe0: 0a0d |01b6: move-result v13 │ │ +01cbe2: 380d a3fe |01b7: if-eqz v13, 005a // -015d │ │ +01cbe6: 7401 ce02 1000 |01b9: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ +01cbec: 0c0d |01bc: move-result-object v13 │ │ +01cbee: 220e 2801 |01bd: new-instance v14, Ljava/lang/StringBuilder; // type@0128 │ │ +01cbf2: 7010 8305 0e00 |01bf: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +01cbf8: 630f 3501 |01c2: sget-boolean v15, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ +01cbfc: 6e20 8a05 fe00 |01c4: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@058a │ │ +01cc02: 6e20 8905 ae00 |01c7: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01cc08: 6e10 8b05 0e00 |01ca: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01cc0e: 0c0e |01cd: move-result-object v14 │ │ +01cc10: 6e30 2e01 0d0e |01ce: invoke-virtual {v13, v0, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ +01cc16: 2900 89fe |01d1: goto/16 005a // -0177 │ │ +01cc1a: 6e10 b404 0c00 |01d3: invoke-virtual {v12}, Ljava/io/BufferedReader;.close:()V // method@04b4 │ │ +01cc20: 390b 0a00 |01d6: if-nez v11, 01e0 // +000a │ │ +01cc24: 7401 ce02 1000 |01d8: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ +01cc2a: 0c00 |01db: move-result-object v0 │ │ +01cc2c: 6e10 2b01 0000 |01dc: invoke-virtual {v0}, Ldnsfilter/ConfigUtil;.isChanged:()Z // method@012b │ │ +01cc32: 0a00 |01df: move-result v0 │ │ +01cc34: 7401 ce02 1000 |01e0: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ +01cc3a: 0c00 |01e3: move-result-object v0 │ │ +01cc3c: 6e10 2b01 0000 |01e4: invoke-virtual {v0}, Ldnsfilter/ConfigUtil;.isChanged:()Z // method@012b │ │ +01cc42: 0a00 |01e7: move-result v0 │ │ +01cc44: 3800 1800 |01e8: if-eqz v0, 0200 // +0018 │ │ +01cc48: 6200 f000 |01ea: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01cc4c: 7401 ce02 1000 |01ec: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ +01cc52: 0c01 |01ef: move-result-object v1 │ │ +01cc54: 6e10 2401 0100 |01f0: invoke-virtual {v1}, Ldnsfilter/ConfigUtil;.getConfigBytes:()[B // method@0124 │ │ +01cc5a: 0c01 |01f3: move-result-object v1 │ │ +01cc5c: 6e20 4d01 1000 |01f4: invoke-virtual {v0, v1}, Ldnsfilter/ConfigurationAccess;.updateConfig:([B)V // method@014d │ │ +01cc62: 2809 |01f7: goto 0200 // +0009 │ │ +01cc64: 0d00 |01f8: move-exception v0 │ │ +01cc66: 7100 0107 0000 |01f9: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01cc6c: 0c01 |01fc: move-result-object v1 │ │ +01cc6e: 7220 0c07 0100 |01fd: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +01cc74: 0e00 |0200: return-void │ │ catches : 1 │ │ 0x0016 - 0x01f7 │ │ Ljava/lang/Exception; -> 0x01f8 │ │ positions : │ │ 0x0000 line=1062 │ │ 0x001d line=1065 │ │ 0x0021 line=1067 │ │ @@ -45200,63 +45200,63 @@ │ │ type : '(Ljava/lang/String;Ljava/lang/String;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 101 16-bit code units │ │ -01cc8c: |[01cc8c] dnsfilter.android.DNSProxyActivity.persistRemoteControlConfig:(Ljava/lang/String;Ljava/lang/String;)V │ │ -01cc9c: 1a00 8500 |0000: const-string v0, ":" // string@0085 │ │ -01cca0: 6e20 6c05 0400 |0002: invoke-virtual {v4, v0}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@056c │ │ -01cca6: 0a01 |0005: move-result v1 │ │ -01cca8: 1202 |0006: const/4 v2, #int 0 // #0 │ │ -01ccaa: 6e30 7705 2401 |0007: invoke-virtual {v4, v2, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@0577 │ │ -01ccb0: 0c01 |000a: move-result-object v1 │ │ -01ccb2: 6e20 6c05 0400 |000b: invoke-virtual {v4, v0}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@056c │ │ -01ccb8: 0a00 |000e: move-result v0 │ │ -01ccba: d800 0001 |000f: add-int/lit8 v0, v0, #int 1 // #01 │ │ -01ccbe: 6e20 7605 0400 |0011: invoke-virtual {v4, v0}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@0576 │ │ -01ccc4: 0c04 |0014: move-result-object v4 │ │ -01ccc6: 7110 4105 0400 |0015: invoke-static {v4}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ -01cccc: 0a04 |0018: move-result v4 │ │ -01ccce: 6e10 ce02 0300 |0019: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ -01ccd4: 0c00 |001c: move-result-object v0 │ │ -01ccd6: 1a02 d805 |001d: const-string v2, "client_remote_ctrl_host" // string@05d8 │ │ -01ccda: 6e30 2e01 2001 |001f: invoke-virtual {v0, v2, v1}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ -01cce0: 6e10 ce02 0300 |0022: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ -01cce6: 0c00 |0025: move-result-object v0 │ │ -01cce8: 2201 2801 |0026: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -01ccec: 7010 8305 0100 |0028: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -01ccf2: 6e20 8605 4100 |002b: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -01ccf8: 1a04 0000 |002e: const-string v4, "" // string@0000 │ │ -01ccfc: 6e20 8905 4100 |0030: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01cd02: 6e10 8b05 0100 |0033: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01cd08: 0c04 |0036: move-result-object v4 │ │ -01cd0a: 1a01 da05 |0037: const-string v1, "client_remote_ctrl_port" // string@05da │ │ -01cd0e: 6e30 2e01 1004 |0039: invoke-virtual {v0, v1, v4}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ -01cd14: 6e10 ce02 0300 |003c: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ -01cd1a: 0c04 |003f: move-result-object v4 │ │ -01cd1c: 1a00 d905 |0040: const-string v0, "client_remote_ctrl_keyphrase" // string@05d9 │ │ -01cd20: 6e30 2e01 0405 |0042: invoke-virtual {v4, v0, v5}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ -01cd26: 6e10 ce02 0300 |0045: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ -01cd2c: 0c04 |0048: move-result-object v4 │ │ -01cd2e: 6e10 2b01 0400 |0049: invoke-virtual {v4}, Ldnsfilter/ConfigUtil;.isChanged:()Z // method@012b │ │ -01cd34: 0a04 |004c: move-result v4 │ │ -01cd36: 3804 0f00 |004d: if-eqz v4, 005c // +000f │ │ -01cd3a: 6204 f000 |004f: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01cd3e: 6e10 ce02 0300 |0051: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ -01cd44: 0c05 |0054: move-result-object v5 │ │ -01cd46: 6e10 2401 0500 |0055: invoke-virtual {v5}, Ldnsfilter/ConfigUtil;.getConfigBytes:()[B // method@0124 │ │ -01cd4c: 0c05 |0058: move-result-object v5 │ │ -01cd4e: 6e20 4d01 5400 |0059: invoke-virtual {v4, v5}, Ldnsfilter/ConfigurationAccess;.updateConfig:([B)V // method@014d │ │ -01cd54: 0e00 |005c: return-void │ │ -01cd56: 2204 1601 |005d: new-instance v4, Ljava/lang/Exception; // type@0116 │ │ -01cd5a: 1a05 6f01 |005f: const-string v5, "Destination needed in format "host:port"!" // string@016f │ │ -01cd5e: 7020 3605 5400 |0061: invoke-direct {v4, v5}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@0536 │ │ -01cd64: 2704 |0064: throw v4 │ │ +01cc88: |[01cc88] dnsfilter.android.DNSProxyActivity.persistRemoteControlConfig:(Ljava/lang/String;Ljava/lang/String;)V │ │ +01cc98: 1a00 8500 |0000: const-string v0, ":" // string@0085 │ │ +01cc9c: 6e20 6c05 0400 |0002: invoke-virtual {v4, v0}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@056c │ │ +01cca2: 0a01 |0005: move-result v1 │ │ +01cca4: 1202 |0006: const/4 v2, #int 0 // #0 │ │ +01cca6: 6e30 7705 2401 |0007: invoke-virtual {v4, v2, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@0577 │ │ +01ccac: 0c01 |000a: move-result-object v1 │ │ +01ccae: 6e20 6c05 0400 |000b: invoke-virtual {v4, v0}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@056c │ │ +01ccb4: 0a00 |000e: move-result v0 │ │ +01ccb6: d800 0001 |000f: add-int/lit8 v0, v0, #int 1 // #01 │ │ +01ccba: 6e20 7605 0400 |0011: invoke-virtual {v4, v0}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@0576 │ │ +01ccc0: 0c04 |0014: move-result-object v4 │ │ +01ccc2: 7110 4105 0400 |0015: invoke-static {v4}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ +01ccc8: 0a04 |0018: move-result v4 │ │ +01ccca: 6e10 ce02 0300 |0019: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ +01ccd0: 0c00 |001c: move-result-object v0 │ │ +01ccd2: 1a02 d805 |001d: const-string v2, "client_remote_ctrl_host" // string@05d8 │ │ +01ccd6: 6e30 2e01 2001 |001f: invoke-virtual {v0, v2, v1}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ +01ccdc: 6e10 ce02 0300 |0022: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ +01cce2: 0c00 |0025: move-result-object v0 │ │ +01cce4: 2201 2801 |0026: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +01cce8: 7010 8305 0100 |0028: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +01ccee: 6e20 8605 4100 |002b: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +01ccf4: 1a04 0000 |002e: const-string v4, "" // string@0000 │ │ +01ccf8: 6e20 8905 4100 |0030: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01ccfe: 6e10 8b05 0100 |0033: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01cd04: 0c04 |0036: move-result-object v4 │ │ +01cd06: 1a01 da05 |0037: const-string v1, "client_remote_ctrl_port" // string@05da │ │ +01cd0a: 6e30 2e01 1004 |0039: invoke-virtual {v0, v1, v4}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ +01cd10: 6e10 ce02 0300 |003c: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ +01cd16: 0c04 |003f: move-result-object v4 │ │ +01cd18: 1a00 d905 |0040: const-string v0, "client_remote_ctrl_keyphrase" // string@05d9 │ │ +01cd1c: 6e30 2e01 0405 |0042: invoke-virtual {v4, v0, v5}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ +01cd22: 6e10 ce02 0300 |0045: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ +01cd28: 0c04 |0048: move-result-object v4 │ │ +01cd2a: 6e10 2b01 0400 |0049: invoke-virtual {v4}, Ldnsfilter/ConfigUtil;.isChanged:()Z // method@012b │ │ +01cd30: 0a04 |004c: move-result v4 │ │ +01cd32: 3804 0f00 |004d: if-eqz v4, 005c // +000f │ │ +01cd36: 6204 f000 |004f: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01cd3a: 6e10 ce02 0300 |0051: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ +01cd40: 0c05 |0054: move-result-object v5 │ │ +01cd42: 6e10 2401 0500 |0055: invoke-virtual {v5}, Ldnsfilter/ConfigUtil;.getConfigBytes:()[B // method@0124 │ │ +01cd48: 0c05 |0058: move-result-object v5 │ │ +01cd4a: 6e20 4d01 5400 |0059: invoke-virtual {v4, v5}, Ldnsfilter/ConfigurationAccess;.updateConfig:([B)V // method@014d │ │ +01cd50: 0e00 |005c: return-void │ │ +01cd52: 2204 1601 |005d: new-instance v4, Ljava/lang/Exception; // type@0116 │ │ +01cd56: 1a05 6f01 |005f: const-string v5, "Destination needed in format "host:port"!" // string@016f │ │ +01cd5a: 7020 3605 5400 |0061: invoke-direct {v4, v5}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@0536 │ │ +01cd60: 2704 |0064: throw v4 │ │ catches : 1 │ │ 0x0002 - 0x0019 │ │ Ljava/lang/Exception; -> 0x005d │ │ positions : │ │ 0x0000 line=1263 │ │ 0x000b line=1264 │ │ 0x0019 line=1269 │ │ @@ -45275,20 +45275,20 @@ │ │ type : '(Landroid/view/ViewGroup;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -01cd78: |[01cd78] dnsfilter.android.DNSProxyActivity.prepareTransition:(Landroid/view/ViewGroup;)V │ │ -01cd88: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01cd8c: 1301 1300 |0002: const/16 v1, #int 19 // #13 │ │ -01cd90: 3410 0500 |0004: if-lt v0, v1, 0009 // +0005 │ │ -01cd94: 7110 5002 0300 |0006: invoke-static {v3}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/view/ViewGroup;)V // method@0250 │ │ -01cd9a: 0e00 |0009: return-void │ │ +01cd74: |[01cd74] dnsfilter.android.DNSProxyActivity.prepareTransition:(Landroid/view/ViewGroup;)V │ │ +01cd84: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01cd88: 1301 1300 |0002: const/16 v1, #int 19 // #13 │ │ +01cd8c: 3410 0500 |0004: if-lt v0, v1, 0009 // +0005 │ │ +01cd90: 7110 5002 0300 |0006: invoke-static {v3}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/view/ViewGroup;)V // method@0250 │ │ +01cd96: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1571 │ │ 0x0006 line=1572 │ │ locals : │ │ 0x0000 - 0x000a reg=2 this Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x000a reg=3 (null) Landroid/view/ViewGroup; │ │ @@ -45298,24 +45298,24 @@ │ │ type : '()V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 2 │ │ ins : 0 │ │ outs : 2 │ │ insns size : 17 16-bit code units │ │ -01cd9c: |[01cd9c] dnsfilter.android.DNSProxyActivity.reloadLocalConfig:()V │ │ -01cdac: 6200 f300 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.INSTANCE:Ldnsfilter/android/DNSProxyActivity; // field@00f3 │ │ -01cdb0: 3800 0e00 |0002: if-eqz v0, 0010 // +000e │ │ -01cdb4: 6201 f000 |0004: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01cdb8: 6e10 4301 0100 |0006: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0143 │ │ -01cdbe: 0a01 |0009: move-result v1 │ │ -01cdc0: 3801 0600 |000a: if-eqz v1, 0010 // +0006 │ │ -01cdc4: 1201 |000c: const/4 v1, #int 0 // #0 │ │ -01cdc6: 6e20 df02 1000 |000d: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@02df │ │ -01cdcc: 0e00 |0010: return-void │ │ +01cd98: |[01cd98] dnsfilter.android.DNSProxyActivity.reloadLocalConfig:()V │ │ +01cda8: 6200 f300 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.INSTANCE:Ldnsfilter/android/DNSProxyActivity; // field@00f3 │ │ +01cdac: 3800 0e00 |0002: if-eqz v0, 0010 // +000e │ │ +01cdb0: 6201 f000 |0004: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01cdb4: 6e10 4301 0100 |0006: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0143 │ │ +01cdba: 0a01 |0009: move-result v1 │ │ +01cdbc: 3801 0600 |000a: if-eqz v1, 0010 // +0006 │ │ +01cdc0: 1201 |000c: const/4 v1, #int 0 // #0 │ │ +01cdc2: 6e20 df02 1000 |000d: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@02df │ │ +01cdc8: 0e00 |0010: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=195 │ │ 0x0004 line=196 │ │ 0x000d line=197 │ │ locals : │ │ │ │ @@ -45324,19 +45324,19 @@ │ │ type : '(Landroid/text/Spanned;I)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 4 │ │ insns size : 9 16-bit code units │ │ -01ce88: |[01ce88] dnsfilter.android.DNSProxyActivity.setMessage:(Landroid/text/Spanned;I)V │ │ -01ce98: 2200 a600 |0000: new-instance v0, Ldnsfilter/android/DNSProxyActivity$6; // type@00a6 │ │ -01ce9c: 7040 a102 1023 |0002: invoke-direct {v0, v1, v3, v2}, Ldnsfilter/android/DNSProxyActivity$6;.:(Ldnsfilter/android/DNSProxyActivity;ILandroid/text/Spanned;)V // method@02a1 │ │ -01cea2: 6e20 0403 0100 |0005: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@0304 │ │ -01cea8: 0e00 |0008: return-void │ │ +01ce84: |[01ce84] dnsfilter.android.DNSProxyActivity.setMessage:(Landroid/text/Spanned;I)V │ │ +01ce94: 2200 a600 |0000: new-instance v0, Ldnsfilter/android/DNSProxyActivity$6; // type@00a6 │ │ +01ce98: 7040 a102 1023 |0002: invoke-direct {v0, v1, v3, v2}, Ldnsfilter/android/DNSProxyActivity$6;.:(Ldnsfilter/android/DNSProxyActivity;ILandroid/text/Spanned;)V // method@02a1 │ │ +01ce9e: 6e20 0403 0100 |0005: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@0304 │ │ +01cea4: 0e00 |0008: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1687 │ │ locals : │ │ 0x0000 - 0x0009 reg=1 this Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x0009 reg=2 (null) Landroid/text/Spanned; │ │ 0x0000 - 0x0009 reg=3 (null) I │ │ @@ -45346,30 +45346,30 @@ │ │ type : '(I)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 36 16-bit code units │ │ -01ceac: |[01ceac] dnsfilter.android.DNSProxyActivity.setVisibilityForAdvCfg:(I)V │ │ -01cebc: 6200 1301 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ -01cec0: 6e20 bd00 2000 |0002: invoke-virtual {v0, v2}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01cec6: 6200 1401 |0005: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ -01ceca: 6e20 bd00 2000 |0007: invoke-virtual {v0, v2}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ -01ced0: 1400 5b00 057f |000a: const v0, #float 1.76789e+38 // #7f05005b │ │ -01ced6: 6e20 c902 0100 |000d: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01cedc: 0c00 |0010: move-result-object v0 │ │ -01cede: 6e20 9f00 2000 |0011: invoke-virtual {v0, v2}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -01cee4: 5410 2a01 |0014: iget-object v0, v1, Ldnsfilter/android/DNSProxyActivity;.reloadFilterBtn:Landroid/widget/Button; // field@012a │ │ -01cee8: 6e20 b100 2000 |0016: invoke-virtual {v0, v2}, Landroid/widget/Button;.setVisibility:(I)V // method@00b1 │ │ -01ceee: 5410 3601 |0019: iget-object v0, v1, Ldnsfilter/android/DNSProxyActivity;.startBtn:Landroid/widget/Button; // field@0136 │ │ -01cef2: 6e20 b100 2000 |001b: invoke-virtual {v0, v2}, Landroid/widget/Button;.setVisibility:(I)V // method@00b1 │ │ -01cef8: 5410 3701 |001e: iget-object v0, v1, Ldnsfilter/android/DNSProxyActivity;.stopBtn:Landroid/widget/Button; // field@0137 │ │ -01cefc: 6e20 b100 2000 |0020: invoke-virtual {v0, v2}, Landroid/widget/Button;.setVisibility:(I)V // method@00b1 │ │ -01cf02: 0e00 |0023: return-void │ │ +01cea8: |[01cea8] dnsfilter.android.DNSProxyActivity.setVisibilityForAdvCfg:(I)V │ │ +01ceb8: 6200 1301 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ +01cebc: 6e20 bd00 2000 |0002: invoke-virtual {v0, v2}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01cec2: 6200 1401 |0005: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ +01cec6: 6e20 bd00 2000 |0007: invoke-virtual {v0, v2}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00bd │ │ +01cecc: 1400 5b00 057f |000a: const v0, #float 1.76789e+38 // #7f05005b │ │ +01ced2: 6e20 c902 0100 |000d: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01ced8: 0c00 |0010: move-result-object v0 │ │ +01ceda: 6e20 9f00 2000 |0011: invoke-virtual {v0, v2}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +01cee0: 5410 2a01 |0014: iget-object v0, v1, Ldnsfilter/android/DNSProxyActivity;.reloadFilterBtn:Landroid/widget/Button; // field@012a │ │ +01cee4: 6e20 b100 2000 |0016: invoke-virtual {v0, v2}, Landroid/widget/Button;.setVisibility:(I)V // method@00b1 │ │ +01ceea: 5410 3601 |0019: iget-object v0, v1, Ldnsfilter/android/DNSProxyActivity;.startBtn:Landroid/widget/Button; // field@0136 │ │ +01ceee: 6e20 b100 2000 |001b: invoke-virtual {v0, v2}, Landroid/widget/Button;.setVisibility:(I)V // method@00b1 │ │ +01cef4: 5410 3701 |001e: iget-object v0, v1, Ldnsfilter/android/DNSProxyActivity;.stopBtn:Landroid/widget/Button; // field@0137 │ │ +01cef8: 6e20 b100 2000 |0020: invoke-virtual {v0, v2}, Landroid/widget/Button;.setVisibility:(I)V // method@00b1 │ │ +01cefe: 0e00 |0023: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1408 │ │ 0x0005 line=1409 │ │ 0x000d line=1410 │ │ 0x0014 line=1411 │ │ 0x0019 line=1412 │ │ @@ -45383,20 +45383,20 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 11 16-bit code units │ │ -01cff4: |[01cff4] dnsfilter.android.DNSProxyActivity.startSvc:()V │ │ -01d004: 2200 1900 |0000: new-instance v0, Landroid/content/Intent; // type@0019 │ │ -01d008: 1c01 a000 |0002: const-class v1, Ldnsfilter/android/DNSFilterService; // type@00a0 │ │ -01d00c: 7030 3f00 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@003f │ │ -01d012: 6e20 0d03 0200 |0007: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.startService:(Landroid/content/Intent;)Landroid/content/ComponentName; // method@030d │ │ -01d018: 0e00 |000a: return-void │ │ +01cff0: |[01cff0] dnsfilter.android.DNSProxyActivity.startSvc:()V │ │ +01d000: 2200 1900 |0000: new-instance v0, Landroid/content/Intent; // type@0019 │ │ +01d004: 1c01 a000 |0002: const-class v1, Ldnsfilter/android/DNSFilterService; // type@00a0 │ │ +01d008: 7030 3f00 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@003f │ │ +01d00e: 6e20 0d03 0200 |0007: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.startService:(Landroid/content/Intent;)Landroid/content/ComponentName; // method@030d │ │ +01d014: 0e00 |000a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1644 │ │ locals : │ │ 0x0000 - 0x000b reg=2 this Ldnsfilter/android/DNSProxyActivity; │ │ │ │ Virtual methods - │ │ @@ -45405,28 +45405,28 @@ │ │ type : '(Landroid/text/Editable;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 23 16-bit code units │ │ -01a064: |[01a064] dnsfilter.android.DNSProxyActivity.afterTextChanged:(Landroid/text/Editable;)V │ │ -01a074: 6200 0201 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -01a078: 6e10 c200 0000 |0002: invoke-virtual {v0}, Landroid/widget/EditText;.getEditableText:()Landroid/text/Editable; // method@00c2 │ │ -01a07e: 0c00 |0005: move-result-object v0 │ │ -01a080: 1211 |0006: const/4 v1, #int 1 // #1 │ │ -01a082: 3303 0500 |0007: if-ne v3, v0, 000c // +0005 │ │ -01a086: 6a01 0101 |0009: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ -01a08a: 280b |000b: goto 0016 // +000b │ │ -01a08c: 6200 2301 |000c: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ -01a090: 6e10 c200 0000 |000e: invoke-virtual {v0}, Landroid/widget/EditText;.getEditableText:()Landroid/text/Editable; // method@00c2 │ │ -01a096: 0c00 |0011: move-result-object v0 │ │ -01a098: 3303 0400 |0012: if-ne v3, v0, 0016 // +0004 │ │ -01a09c: 6a01 2101 |0014: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ -01a0a0: 0e00 |0016: return-void │ │ +01a060: |[01a060] dnsfilter.android.DNSProxyActivity.afterTextChanged:(Landroid/text/Editable;)V │ │ +01a070: 6200 0201 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +01a074: 6e10 c200 0000 |0002: invoke-virtual {v0}, Landroid/widget/EditText;.getEditableText:()Landroid/text/Editable; // method@00c2 │ │ +01a07a: 0c00 |0005: move-result-object v0 │ │ +01a07c: 1211 |0006: const/4 v1, #int 1 // #1 │ │ +01a07e: 3303 0500 |0007: if-ne v3, v0, 000c // +0005 │ │ +01a082: 6a01 0101 |0009: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ +01a086: 280b |000b: goto 0016 // +000b │ │ +01a088: 6200 2301 |000c: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ +01a08c: 6e10 c200 0000 |000e: invoke-virtual {v0}, Landroid/widget/EditText;.getEditableText:()Landroid/text/Editable; // method@00c2 │ │ +01a092: 0c00 |0011: move-result-object v0 │ │ +01a094: 3303 0400 |0012: if-ne v3, v0, 0016 // +0004 │ │ +01a098: 6a01 2101 |0014: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ +01a09c: 0e00 |0016: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1708 │ │ 0x0009 line=1709 │ │ 0x000c line=1710 │ │ 0x0014 line=1711 │ │ locals : │ │ @@ -45438,80 +45438,80 @@ │ │ type : '(Ljava/lang/String;Z)V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 7 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 136 16-bit code units │ │ -01a0a4: |[01a0a4] dnsfilter.android.DNSProxyActivity.applyCopiedHosts:(Ljava/lang/String;Z)V │ │ -01a0b4: 1400 1c00 057f |0000: const v0, #float 1.76788e+38 // #7f05001c │ │ -01a0ba: 6e20 c902 0400 |0003: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01a0c0: 0c00 |0006: move-result-object v0 │ │ -01a0c2: 1301 0800 |0007: const/16 v1, #int 8 // #8 │ │ -01a0c6: 6e20 9f00 1000 |0009: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -01a0cc: 2200 6201 |000c: new-instance v0, Ljava/util/StringTokenizer; // type@0162 │ │ -01a0d0: 1a01 0200 |000e: const-string v1, " │ │ +01a0a0: |[01a0a0] dnsfilter.android.DNSProxyActivity.applyCopiedHosts:(Ljava/lang/String;Z)V │ │ +01a0b0: 1400 1c00 057f |0000: const v0, #float 1.76788e+38 // #7f05001c │ │ +01a0b6: 6e20 c902 0400 |0003: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01a0bc: 0c00 |0006: move-result-object v0 │ │ +01a0be: 1301 0800 |0007: const/16 v1, #int 8 // #8 │ │ +01a0c2: 6e20 9f00 1000 |0009: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +01a0c8: 2200 6201 |000c: new-instance v0, Ljava/util/StringTokenizer; // type@0162 │ │ +01a0cc: 1a01 0200 |000e: const-string v1, " │ │ " // string@0002 │ │ -01a0d4: 7030 4306 5001 |0010: invoke-direct {v0, v5, v1}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0643 │ │ -01a0da: 1a05 0000 |0013: const-string v5, "" // string@0000 │ │ -01a0de: 6e10 4606 0000 |0015: invoke-virtual {v0}, Ljava/util/StringTokenizer;.hasMoreTokens:()Z // method@0646 │ │ -01a0e4: 0a02 |0018: move-result v2 │ │ -01a0e6: 3802 5c00 |0019: if-eqz v2, 0075 // +005c │ │ -01a0ea: 6e10 4706 0000 |001b: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0647 │ │ -01a0f0: 0c02 |001e: move-result-object v2 │ │ -01a0f2: 6203 f400 |001f: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f4 │ │ -01a0f6: 6e20 7505 3200 |0021: invoke-virtual {v2, v3}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ -01a0fc: 0a03 |0024: move-result v3 │ │ -01a0fe: 3803 2400 |0025: if-eqz v3, 0049 // +0024 │ │ -01a102: 3906 2200 |0027: if-nez v6, 0049 // +0022 │ │ -01a106: 2203 2801 |0029: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -01a10a: 7010 8305 0300 |002b: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -01a110: 6e20 8905 5300 |002e: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01a116: 6205 f400 |0031: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f4 │ │ -01a11a: 6e10 7005 0500 |0033: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0570 │ │ -01a120: 0a05 |0036: move-result v5 │ │ -01a122: 6e20 7605 5200 |0037: invoke-virtual {v2, v5}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@0576 │ │ -01a128: 0c05 |003a: move-result-object v5 │ │ -01a12a: 6e10 7c05 0500 |003b: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -01a130: 0c05 |003e: move-result-object v5 │ │ -01a132: 6e20 8905 5300 |003f: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01a138: 6e20 8905 1300 |0042: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01a13e: 6e10 8b05 0300 |0045: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01a144: 0c05 |0048: move-result-object v5 │ │ -01a146: 6203 f900 |0049: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f9 │ │ -01a14a: 6e20 7505 3200 |004b: invoke-virtual {v2, v3}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ -01a150: 0a03 |004e: move-result v3 │ │ -01a152: 3803 c6ff |004f: if-eqz v3, 0015 // -003a │ │ -01a156: 1213 |0051: const/4 v3, #int 1 // #1 │ │ -01a158: 3336 c3ff |0052: if-ne v6, v3, 0015 // -003d │ │ -01a15c: 2203 2801 |0054: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -01a160: 7010 8305 0300 |0056: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -01a166: 6e20 8905 5300 |0059: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01a16c: 6205 f900 |005c: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f9 │ │ -01a170: 6e10 7005 0500 |005e: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0570 │ │ -01a176: 0a05 |0061: move-result v5 │ │ -01a178: 6e20 7605 5200 |0062: invoke-virtual {v2, v5}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@0576 │ │ -01a17e: 0c05 |0065: move-result-object v5 │ │ -01a180: 6e10 7c05 0500 |0066: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -01a186: 0c05 |0069: move-result-object v5 │ │ -01a188: 6e20 8905 5300 |006a: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01a18e: 6e20 8905 1300 |006d: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01a194: 6e10 8b05 0300 |0070: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01a19a: 0c05 |0073: move-result-object v5 │ │ -01a19c: 28a1 |0074: goto 0015 // -005f │ │ -01a19e: 6200 f000 |0075: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01a1a2: 6e10 7c05 0500 |0077: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -01a1a8: 0c05 |007a: move-result-object v5 │ │ -01a1aa: 6e30 4f01 5006 |007b: invoke-virtual {v0, v5, v6}, Ldnsfilter/ConfigurationAccess;.updateFilter:(Ljava/lang/String;Z)V // method@014f │ │ -01a1b0: 2809 |007e: goto 0087 // +0009 │ │ -01a1b2: 0d05 |007f: move-exception v5 │ │ -01a1b4: 7100 0107 0000 |0080: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01a1ba: 0c06 |0083: move-result-object v6 │ │ -01a1bc: 7220 0c07 5600 |0084: invoke-interface {v6, v5}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -01a1c2: 0e00 |0087: return-void │ │ +01a0d0: 7030 4306 5001 |0010: invoke-direct {v0, v5, v1}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0643 │ │ +01a0d6: 1a05 0000 |0013: const-string v5, "" // string@0000 │ │ +01a0da: 6e10 4606 0000 |0015: invoke-virtual {v0}, Ljava/util/StringTokenizer;.hasMoreTokens:()Z // method@0646 │ │ +01a0e0: 0a02 |0018: move-result v2 │ │ +01a0e2: 3802 5c00 |0019: if-eqz v2, 0075 // +005c │ │ +01a0e6: 6e10 4706 0000 |001b: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0647 │ │ +01a0ec: 0c02 |001e: move-result-object v2 │ │ +01a0ee: 6203 f400 |001f: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f4 │ │ +01a0f2: 6e20 7505 3200 |0021: invoke-virtual {v2, v3}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ +01a0f8: 0a03 |0024: move-result v3 │ │ +01a0fa: 3803 2400 |0025: if-eqz v3, 0049 // +0024 │ │ +01a0fe: 3906 2200 |0027: if-nez v6, 0049 // +0022 │ │ +01a102: 2203 2801 |0029: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +01a106: 7010 8305 0300 |002b: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +01a10c: 6e20 8905 5300 |002e: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01a112: 6205 f400 |0031: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f4 │ │ +01a116: 6e10 7005 0500 |0033: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0570 │ │ +01a11c: 0a05 |0036: move-result v5 │ │ +01a11e: 6e20 7605 5200 |0037: invoke-virtual {v2, v5}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@0576 │ │ +01a124: 0c05 |003a: move-result-object v5 │ │ +01a126: 6e10 7c05 0500 |003b: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01a12c: 0c05 |003e: move-result-object v5 │ │ +01a12e: 6e20 8905 5300 |003f: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01a134: 6e20 8905 1300 |0042: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01a13a: 6e10 8b05 0300 |0045: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01a140: 0c05 |0048: move-result-object v5 │ │ +01a142: 6203 f900 |0049: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f9 │ │ +01a146: 6e20 7505 3200 |004b: invoke-virtual {v2, v3}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ +01a14c: 0a03 |004e: move-result v3 │ │ +01a14e: 3803 c6ff |004f: if-eqz v3, 0015 // -003a │ │ +01a152: 1213 |0051: const/4 v3, #int 1 // #1 │ │ +01a154: 3336 c3ff |0052: if-ne v6, v3, 0015 // -003d │ │ +01a158: 2203 2801 |0054: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +01a15c: 7010 8305 0300 |0056: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +01a162: 6e20 8905 5300 |0059: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01a168: 6205 f900 |005c: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f9 │ │ +01a16c: 6e10 7005 0500 |005e: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0570 │ │ +01a172: 0a05 |0061: move-result v5 │ │ +01a174: 6e20 7605 5200 |0062: invoke-virtual {v2, v5}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@0576 │ │ +01a17a: 0c05 |0065: move-result-object v5 │ │ +01a17c: 6e10 7c05 0500 |0066: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01a182: 0c05 |0069: move-result-object v5 │ │ +01a184: 6e20 8905 5300 |006a: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01a18a: 6e20 8905 1300 |006d: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01a190: 6e10 8b05 0300 |0070: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01a196: 0c05 |0073: move-result-object v5 │ │ +01a198: 28a1 |0074: goto 0015 // -005f │ │ +01a19a: 6200 f000 |0075: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01a19e: 6e10 7c05 0500 |0077: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01a1a4: 0c05 |007a: move-result-object v5 │ │ +01a1a6: 6e30 4f01 5006 |007b: invoke-virtual {v0, v5, v6}, Ldnsfilter/ConfigurationAccess;.updateFilter:(Ljava/lang/String;Z)V // method@014f │ │ +01a1ac: 2809 |007e: goto 0087 // +0009 │ │ +01a1ae: 0d05 |007f: move-exception v5 │ │ +01a1b0: 7100 0107 0000 |0080: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01a1b6: 0c06 |0083: move-result-object v6 │ │ +01a1b8: 7220 0c07 5600 |0084: invoke-interface {v6, v5}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +01a1be: 0e00 |0087: return-void │ │ catches : 1 │ │ 0x0075 - 0x007e │ │ Ljava/io/IOException; -> 0x007f │ │ positions : │ │ 0x0003 line=882 │ │ 0x000c line=884 │ │ 0x0013 line=885 │ │ @@ -45533,75 +45533,75 @@ │ │ type : '(Ljava/lang/CharSequence;III)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 5 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -01a1d4: |[01a1d4] dnsfilter.android.DNSProxyActivity.beforeTextChanged:(Ljava/lang/CharSequence;III)V │ │ -01a1e4: 0e00 |0000: return-void │ │ +01a1d0: |[01a1d0] dnsfilter.android.DNSProxyActivity.beforeTextChanged:(Ljava/lang/CharSequence;III)V │ │ +01a1e0: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #3 : (in Ldnsfilter/android/DNSProxyActivity;) │ │ name : 'closeLogger' │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -01a338: |[01a338] dnsfilter.android.DNSProxyActivity.closeLogger:()V │ │ -01a348: 0e00 |0000: return-void │ │ +01a334: |[01a334] dnsfilter.android.DNSProxyActivity.closeLogger:()V │ │ +01a344: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #4 : (in Ldnsfilter/android/DNSProxyActivity;) │ │ name : 'doBackup' │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 65 16-bit code units │ │ -01a378: |[01a378] dnsfilter.android.DNSProxyActivity.doBackup:()V │ │ -01a388: 1400 1300 057f |0000: const v0, #float 1.76788e+38 // #7f050013 │ │ -01a38e: 6e20 c902 0400 |0003: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01a394: 0c00 |0006: move-result-object v0 │ │ -01a396: 1f00 6e00 |0007: check-cast v0, Landroid/widget/TextView; // type@006e │ │ -01a39a: 6201 f000 |0009: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01a39e: 7010 cd02 0400 |000b: invoke-direct {v4}, Ldnsfilter/android/DNSProxyActivity;.getBackupSubFolder:()Ljava/lang/String; // method@02cd │ │ -01a3a4: 0c02 |000e: move-result-object v2 │ │ -01a3a6: 6e20 3401 2100 |000f: invoke-virtual {v1, v2}, Ldnsfilter/ConfigurationAccess;.doBackup:(Ljava/lang/String;)V // method@0134 │ │ -01a3ac: 1a01 3500 |0012: const-string v1, "#43A047" // string@0035 │ │ -01a3b0: 7110 5400 0100 |0014: invoke-static {v1}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@0054 │ │ -01a3b6: 0a01 |0017: move-result v1 │ │ -01a3b8: 6e20 f500 1000 |0018: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setTextColor:(I)V // method@00f5 │ │ -01a3be: 1a01 d300 |001b: const-string v1, "Backup success!" // string@00d3 │ │ -01a3c2: 6e20 f400 1000 |001d: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01a3c8: 2820 |0020: goto 0040 // +0020 │ │ -01a3ca: 0d01 |0021: move-exception v1 │ │ -01a3cc: 1a02 3700 |0022: const-string v2, "#E53935" // string@0037 │ │ -01a3d0: 7110 5400 0200 |0024: invoke-static {v2}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@0054 │ │ -01a3d6: 0a02 |0027: move-result v2 │ │ -01a3d8: 6e20 f500 2000 |0028: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setTextColor:(I)V // method@00f5 │ │ -01a3de: 2202 2801 |002b: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -01a3e2: 1a03 d200 |002d: const-string v3, "Backup failed! " // string@00d2 │ │ -01a3e6: 7020 8405 3200 |002f: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -01a3ec: 6e10 fe04 0100 |0032: invoke-virtual {v1}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ -01a3f2: 0c01 |0035: move-result-object v1 │ │ -01a3f4: 6e20 8905 1200 |0036: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01a3fa: 6e10 8b05 0200 |0039: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01a400: 0c01 |003c: move-result-object v1 │ │ -01a402: 6e20 f400 1000 |003d: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01a408: 0e00 |0040: return-void │ │ +01a374: |[01a374] dnsfilter.android.DNSProxyActivity.doBackup:()V │ │ +01a384: 1400 1300 057f |0000: const v0, #float 1.76788e+38 // #7f050013 │ │ +01a38a: 6e20 c902 0400 |0003: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01a390: 0c00 |0006: move-result-object v0 │ │ +01a392: 1f00 6e00 |0007: check-cast v0, Landroid/widget/TextView; // type@006e │ │ +01a396: 6201 f000 |0009: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01a39a: 7010 cd02 0400 |000b: invoke-direct {v4}, Ldnsfilter/android/DNSProxyActivity;.getBackupSubFolder:()Ljava/lang/String; // method@02cd │ │ +01a3a0: 0c02 |000e: move-result-object v2 │ │ +01a3a2: 6e20 3401 2100 |000f: invoke-virtual {v1, v2}, Ldnsfilter/ConfigurationAccess;.doBackup:(Ljava/lang/String;)V // method@0134 │ │ +01a3a8: 1a01 3500 |0012: const-string v1, "#43A047" // string@0035 │ │ +01a3ac: 7110 5400 0100 |0014: invoke-static {v1}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@0054 │ │ +01a3b2: 0a01 |0017: move-result v1 │ │ +01a3b4: 6e20 f500 1000 |0018: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setTextColor:(I)V // method@00f5 │ │ +01a3ba: 1a01 d300 |001b: const-string v1, "Backup success!" // string@00d3 │ │ +01a3be: 6e20 f400 1000 |001d: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01a3c4: 2820 |0020: goto 0040 // +0020 │ │ +01a3c6: 0d01 |0021: move-exception v1 │ │ +01a3c8: 1a02 3700 |0022: const-string v2, "#E53935" // string@0037 │ │ +01a3cc: 7110 5400 0200 |0024: invoke-static {v2}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@0054 │ │ +01a3d2: 0a02 |0027: move-result v2 │ │ +01a3d4: 6e20 f500 2000 |0028: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setTextColor:(I)V // method@00f5 │ │ +01a3da: 2202 2801 |002b: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +01a3de: 1a03 d200 |002d: const-string v3, "Backup failed! " // string@00d2 │ │ +01a3e2: 7020 8405 3200 |002f: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +01a3e8: 6e10 fe04 0100 |0032: invoke-virtual {v1}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ +01a3ee: 0c01 |0035: move-result-object v1 │ │ +01a3f0: 6e20 8905 1200 |0036: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01a3f6: 6e10 8b05 0200 |0039: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01a3fc: 0c01 |003c: move-result-object v1 │ │ +01a3fe: 6e20 f400 1000 |003d: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01a404: 0e00 |0040: return-void │ │ catches : 1 │ │ 0x0009 - 0x0020 │ │ Ljava/io/IOException; -> 0x0021 │ │ positions : │ │ 0x0003 line=776 │ │ 0x0009 line=778 │ │ 0x0012 line=779 │ │ @@ -45616,47 +45616,47 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 69 16-bit code units │ │ -01a41c: |[01a41c] dnsfilter.android.DNSProxyActivity.doRestore:()V │ │ -01a42c: 1400 1300 057f |0000: const v0, #float 1.76788e+38 // #7f050013 │ │ -01a432: 6e20 c902 0400 |0003: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01a438: 0c00 |0006: move-result-object v0 │ │ -01a43a: 1f00 6e00 |0007: check-cast v0, Landroid/widget/TextView; // type@006e │ │ -01a43e: 6201 f000 |0009: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01a442: 7010 cd02 0400 |000b: invoke-direct {v4}, Ldnsfilter/android/DNSProxyActivity;.getBackupSubFolder:()Ljava/lang/String; // method@02cd │ │ -01a448: 0c02 |000e: move-result-object v2 │ │ -01a44a: 6e20 3501 2100 |000f: invoke-virtual {v1, v2}, Ldnsfilter/ConfigurationAccess;.doRestore:(Ljava/lang/String;)V // method@0135 │ │ -01a450: 1a01 3500 |0012: const-string v1, "#43A047" // string@0035 │ │ -01a454: 7110 5400 0100 |0014: invoke-static {v1}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@0054 │ │ -01a45a: 0a01 |0017: move-result v1 │ │ -01a45c: 6e20 f500 1000 |0018: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setTextColor:(I)V // method@00f5 │ │ -01a462: 1201 |001b: const/4 v1, #int 0 // #0 │ │ -01a464: 6e20 df02 1400 |001c: invoke-virtual {v4, v1}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@02df │ │ -01a46a: 1a01 4304 |001f: const-string v1, "Restore success!" // string@0443 │ │ -01a46e: 6e20 f400 1000 |0021: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01a474: 2820 |0024: goto 0044 // +0020 │ │ -01a476: 0d01 |0025: move-exception v1 │ │ -01a478: 1a02 3700 |0026: const-string v2, "#E53935" // string@0037 │ │ -01a47c: 7110 5400 0200 |0028: invoke-static {v2}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@0054 │ │ -01a482: 0a02 |002b: move-result v2 │ │ -01a484: 6e20 f500 2000 |002c: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setTextColor:(I)V // method@00f5 │ │ -01a48a: 2202 2801 |002f: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -01a48e: 1a03 4204 |0031: const-string v3, "Restore failed! " // string@0442 │ │ -01a492: 7020 8405 3200 |0033: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -01a498: 6e10 fe04 0100 |0036: invoke-virtual {v1}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ -01a49e: 0c01 |0039: move-result-object v1 │ │ -01a4a0: 6e20 8905 1200 |003a: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01a4a6: 6e10 8b05 0200 |003d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01a4ac: 0c01 |0040: move-result-object v1 │ │ -01a4ae: 6e20 f400 1000 |0041: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01a4b4: 0e00 |0044: return-void │ │ +01a418: |[01a418] dnsfilter.android.DNSProxyActivity.doRestore:()V │ │ +01a428: 1400 1300 057f |0000: const v0, #float 1.76788e+38 // #7f050013 │ │ +01a42e: 6e20 c902 0400 |0003: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01a434: 0c00 |0006: move-result-object v0 │ │ +01a436: 1f00 6e00 |0007: check-cast v0, Landroid/widget/TextView; // type@006e │ │ +01a43a: 6201 f000 |0009: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01a43e: 7010 cd02 0400 |000b: invoke-direct {v4}, Ldnsfilter/android/DNSProxyActivity;.getBackupSubFolder:()Ljava/lang/String; // method@02cd │ │ +01a444: 0c02 |000e: move-result-object v2 │ │ +01a446: 6e20 3501 2100 |000f: invoke-virtual {v1, v2}, Ldnsfilter/ConfigurationAccess;.doRestore:(Ljava/lang/String;)V // method@0135 │ │ +01a44c: 1a01 3500 |0012: const-string v1, "#43A047" // string@0035 │ │ +01a450: 7110 5400 0100 |0014: invoke-static {v1}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@0054 │ │ +01a456: 0a01 |0017: move-result v1 │ │ +01a458: 6e20 f500 1000 |0018: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setTextColor:(I)V // method@00f5 │ │ +01a45e: 1201 |001b: const/4 v1, #int 0 // #0 │ │ +01a460: 6e20 df02 1400 |001c: invoke-virtual {v4, v1}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@02df │ │ +01a466: 1a01 4304 |001f: const-string v1, "Restore success!" // string@0443 │ │ +01a46a: 6e20 f400 1000 |0021: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01a470: 2820 |0024: goto 0044 // +0020 │ │ +01a472: 0d01 |0025: move-exception v1 │ │ +01a474: 1a02 3700 |0026: const-string v2, "#E53935" // string@0037 │ │ +01a478: 7110 5400 0200 |0028: invoke-static {v2}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@0054 │ │ +01a47e: 0a02 |002b: move-result v2 │ │ +01a480: 6e20 f500 2000 |002c: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setTextColor:(I)V // method@00f5 │ │ +01a486: 2202 2801 |002f: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +01a48a: 1a03 4204 |0031: const-string v3, "Restore failed! " // string@0442 │ │ +01a48e: 7020 8405 3200 |0033: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +01a494: 6e10 fe04 0100 |0036: invoke-virtual {v1}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ +01a49a: 0c01 |0039: move-result-object v1 │ │ +01a49c: 6e20 8905 1200 |003a: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01a4a2: 6e10 8b05 0200 |003d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01a4a8: 0c01 |0040: move-result-object v1 │ │ +01a4aa: 6e20 f400 1000 |0041: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01a4b0: 0e00 |0044: return-void │ │ catches : 1 │ │ 0x0009 - 0x0024 │ │ Ljava/io/IOException; -> 0x0025 │ │ positions : │ │ 0x0003 line=801 │ │ 0x0009 line=803 │ │ 0x0012 line=804 │ │ @@ -45672,45 +45672,45 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 65 16-bit code units │ │ -01a4c8: |[01a4c8] dnsfilter.android.DNSProxyActivity.doRestoreDefaults:()V │ │ -01a4d8: 1400 1300 057f |0000: const v0, #float 1.76788e+38 // #7f050013 │ │ -01a4de: 6e20 c902 0400 |0003: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01a4e4: 0c00 |0006: move-result-object v0 │ │ -01a4e6: 1f00 6e00 |0007: check-cast v0, Landroid/widget/TextView; // type@006e │ │ -01a4ea: 6201 f000 |0009: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01a4ee: 6e10 3601 0100 |000b: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.doRestoreDefaults:()V // method@0136 │ │ -01a4f4: 1a01 3500 |000e: const-string v1, "#43A047" // string@0035 │ │ -01a4f8: 7110 5400 0100 |0010: invoke-static {v1}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@0054 │ │ -01a4fe: 0a01 |0013: move-result v1 │ │ -01a500: 6e20 f500 1000 |0014: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setTextColor:(I)V // method@00f5 │ │ -01a506: 1201 |0017: const/4 v1, #int 0 // #0 │ │ -01a508: 6e20 df02 1400 |0018: invoke-virtual {v4, v1}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@02df │ │ -01a50e: 1a01 4304 |001b: const-string v1, "Restore success!" // string@0443 │ │ -01a512: 6e20 f400 1000 |001d: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01a518: 2820 |0020: goto 0040 // +0020 │ │ -01a51a: 0d01 |0021: move-exception v1 │ │ -01a51c: 1a02 3700 |0022: const-string v2, "#E53935" // string@0037 │ │ -01a520: 7110 5400 0200 |0024: invoke-static {v2}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@0054 │ │ -01a526: 0a02 |0027: move-result v2 │ │ -01a528: 6e20 f500 2000 |0028: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setTextColor:(I)V // method@00f5 │ │ -01a52e: 2202 2801 |002b: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -01a532: 1a03 4204 |002d: const-string v3, "Restore failed! " // string@0442 │ │ -01a536: 7020 8405 3200 |002f: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -01a53c: 6e10 fe04 0100 |0032: invoke-virtual {v1}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ -01a542: 0c01 |0035: move-result-object v1 │ │ -01a544: 6e20 8905 1200 |0036: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01a54a: 6e10 8b05 0200 |0039: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01a550: 0c01 |003c: move-result-object v1 │ │ -01a552: 6e20 f400 1000 |003d: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01a558: 0e00 |0040: return-void │ │ +01a4c4: |[01a4c4] dnsfilter.android.DNSProxyActivity.doRestoreDefaults:()V │ │ +01a4d4: 1400 1300 057f |0000: const v0, #float 1.76788e+38 // #7f050013 │ │ +01a4da: 6e20 c902 0400 |0003: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01a4e0: 0c00 |0006: move-result-object v0 │ │ +01a4e2: 1f00 6e00 |0007: check-cast v0, Landroid/widget/TextView; // type@006e │ │ +01a4e6: 6201 f000 |0009: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01a4ea: 6e10 3601 0100 |000b: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.doRestoreDefaults:()V // method@0136 │ │ +01a4f0: 1a01 3500 |000e: const-string v1, "#43A047" // string@0035 │ │ +01a4f4: 7110 5400 0100 |0010: invoke-static {v1}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@0054 │ │ +01a4fa: 0a01 |0013: move-result v1 │ │ +01a4fc: 6e20 f500 1000 |0014: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setTextColor:(I)V // method@00f5 │ │ +01a502: 1201 |0017: const/4 v1, #int 0 // #0 │ │ +01a504: 6e20 df02 1400 |0018: invoke-virtual {v4, v1}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@02df │ │ +01a50a: 1a01 4304 |001b: const-string v1, "Restore success!" // string@0443 │ │ +01a50e: 6e20 f400 1000 |001d: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01a514: 2820 |0020: goto 0040 // +0020 │ │ +01a516: 0d01 |0021: move-exception v1 │ │ +01a518: 1a02 3700 |0022: const-string v2, "#E53935" // string@0037 │ │ +01a51c: 7110 5400 0200 |0024: invoke-static {v2}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@0054 │ │ +01a522: 0a02 |0027: move-result v2 │ │ +01a524: 6e20 f500 2000 |0028: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setTextColor:(I)V // method@00f5 │ │ +01a52a: 2202 2801 |002b: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +01a52e: 1a03 4204 |002d: const-string v3, "Restore failed! " // string@0442 │ │ +01a532: 7020 8405 3200 |002f: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +01a538: 6e10 fe04 0100 |0032: invoke-virtual {v1}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ +01a53e: 0c01 |0035: move-result-object v1 │ │ +01a540: 6e20 8905 1200 |0036: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01a546: 6e10 8b05 0200 |0039: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01a54c: 0c01 |003c: move-result-object v1 │ │ +01a54e: 6e20 f400 1000 |003d: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01a554: 0e00 |0040: return-void │ │ catches : 1 │ │ 0x0009 - 0x0020 │ │ Ljava/io/IOException; -> 0x0021 │ │ positions : │ │ 0x0003 line=788 │ │ 0x0009 line=790 │ │ 0x000e line=791 │ │ @@ -45726,25 +45726,25 @@ │ │ type : '()Ldnsfilter/ConfigUtil;' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 17 16-bit code units │ │ -019bc0: |[019bc0] dnsfilter.android.DNSProxyActivity.getConfig:()Ldnsfilter/ConfigUtil; │ │ -019bd0: 6200 f000 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -019bd4: 6e10 3a01 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@013a │ │ -019bda: 0c00 |0005: move-result-object v0 │ │ -019bdc: 1100 |0006: return-object v0 │ │ -019bde: 0d00 |0007: move-exception v0 │ │ -019be0: 7100 0107 0000 |0008: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -019be6: 0c01 |000b: move-result-object v1 │ │ -019be8: 7220 0c07 0100 |000c: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -019bee: 1200 |000f: const/4 v0, #int 0 // #0 │ │ -019bf0: 1100 |0010: return-object v0 │ │ +019bbc: |[019bbc] dnsfilter.android.DNSProxyActivity.getConfig:()Ldnsfilter/ConfigUtil; │ │ +019bcc: 6200 f000 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +019bd0: 6e10 3a01 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@013a │ │ +019bd6: 0c00 |0005: move-result-object v0 │ │ +019bd8: 1100 |0006: return-object v0 │ │ +019bda: 0d00 |0007: move-exception v0 │ │ +019bdc: 7100 0107 0000 |0008: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +019be2: 0c01 |000b: move-result-object v1 │ │ +019be4: 7220 0c07 0100 |000c: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +019bea: 1200 |000f: const/4 v0, #int 0 // #0 │ │ +019bec: 1100 |0010: return-object v0 │ │ catches : 1 │ │ 0x0000 - 0x0006 │ │ Ljava/lang/Exception; -> 0x0007 │ │ positions : │ │ 0x0000 line=705 │ │ 0x0008 line=707 │ │ locals : │ │ @@ -45755,31 +45755,31 @@ │ │ type : '()V' │ │ access : 0x20004 (PROTECTED DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 31 16-bit code units │ │ -01ac20: |[01ac20] dnsfilter.android.DNSProxyActivity.handleExitApp:()V │ │ -01ac30: 1d03 |0000: monitor-enter v3 │ │ -01ac32: 1210 |0001: const/4 v0, #int 1 // #1 │ │ -01ac34: 7110 9202 0000 |0002: invoke-static {v0}, Ldnsfilter/android/DNSFilterService;.stop:(Z)Z // method@0292 │ │ -01ac3a: 2201 1900 |0005: new-instance v1, Landroid/content/Intent; // type@0019 │ │ -01ac3e: 1c02 ab00 |0007: const-class v2, Ldnsfilter/android/DNSProxyActivity; // type@00ab │ │ -01ac42: 7030 3f00 3102 |0009: invoke-direct {v1, v3, v2}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@003f │ │ -01ac48: 1402 0080 0010 |000c: const v2, #float 2.53422e-29 // #10008000 │ │ -01ac4e: 6e20 4100 2100 |000f: invoke-virtual {v1, v2}, Landroid/content/Intent;.addFlags:(I)Landroid/content/Intent; // method@0041 │ │ -01ac54: 1a02 5204 |0012: const-string v2, "SHOULD_FINISH" // string@0452 │ │ -01ac58: 6e30 4500 2100 |0014: invoke-virtual {v1, v2, v0}, Landroid/content/Intent;.putExtra:(Ljava/lang/String;Z)Landroid/content/Intent; // method@0045 │ │ -01ac5e: 6e20 0b03 1300 |0017: invoke-virtual {v3, v1}, Ldnsfilter/android/DNSProxyActivity;.startActivity:(Landroid/content/Intent;)V // method@030b │ │ -01ac64: 1e03 |001a: monitor-exit v3 │ │ -01ac66: 0e00 |001b: return-void │ │ -01ac68: 0d00 |001c: move-exception v0 │ │ -01ac6a: 1e03 |001d: monitor-exit v3 │ │ -01ac6c: 2700 |001e: throw v0 │ │ +01ac1c: |[01ac1c] dnsfilter.android.DNSProxyActivity.handleExitApp:()V │ │ +01ac2c: 1d03 |0000: monitor-enter v3 │ │ +01ac2e: 1210 |0001: const/4 v0, #int 1 // #1 │ │ +01ac30: 7110 9202 0000 |0002: invoke-static {v0}, Ldnsfilter/android/DNSFilterService;.stop:(Z)Z // method@0292 │ │ +01ac36: 2201 1900 |0005: new-instance v1, Landroid/content/Intent; // type@0019 │ │ +01ac3a: 1c02 ab00 |0007: const-class v2, Ldnsfilter/android/DNSProxyActivity; // type@00ab │ │ +01ac3e: 7030 3f00 3102 |0009: invoke-direct {v1, v3, v2}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@003f │ │ +01ac44: 1402 0080 0010 |000c: const v2, #float 2.53422e-29 // #10008000 │ │ +01ac4a: 6e20 4100 2100 |000f: invoke-virtual {v1, v2}, Landroid/content/Intent;.addFlags:(I)Landroid/content/Intent; // method@0041 │ │ +01ac50: 1a02 5204 |0012: const-string v2, "SHOULD_FINISH" // string@0452 │ │ +01ac54: 6e30 4500 2100 |0014: invoke-virtual {v1, v2, v0}, Landroid/content/Intent;.putExtra:(Ljava/lang/String;Z)Landroid/content/Intent; // method@0045 │ │ +01ac5a: 6e20 0b03 1300 |0017: invoke-virtual {v3, v1}, Ldnsfilter/android/DNSProxyActivity;.startActivity:(Landroid/content/Intent;)V // method@030b │ │ +01ac60: 1e03 |001a: monitor-exit v3 │ │ +01ac62: 0e00 |001b: return-void │ │ +01ac64: 0d00 |001c: move-exception v0 │ │ +01ac66: 1e03 |001d: monitor-exit v3 │ │ +01ac68: 2700 |001e: throw v0 │ │ catches : 1 │ │ 0x0002 - 0x001a │ │ -> 0x001c │ │ positions : │ │ 0x0002 line=1577 │ │ 0x0005 line=1578 │ │ 0x000f line=1579 │ │ @@ -45794,23 +45794,23 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -01b0a8: |[01b0a8] dnsfilter.android.DNSProxyActivity.handlefilterReload:()V │ │ -01b0b8: 6200 f000 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01b0bc: 6e10 4b01 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.triggerUpdateFilter:()V // method@014b │ │ -01b0c2: 2809 |0005: goto 000e // +0009 │ │ -01b0c4: 0d00 |0006: move-exception v0 │ │ -01b0c6: 7100 0107 0000 |0007: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01b0cc: 0c01 |000a: move-result-object v1 │ │ -01b0ce: 7220 0c07 0100 |000b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -01b0d4: 0e00 |000e: return-void │ │ +01b0a4: |[01b0a4] dnsfilter.android.DNSProxyActivity.handlefilterReload:()V │ │ +01b0b4: 6200 f000 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01b0b8: 6e10 4b01 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.triggerUpdateFilter:()V // method@014b │ │ +01b0be: 2809 |0005: goto 000e // +0009 │ │ +01b0c0: 0d00 |0006: move-exception v0 │ │ +01b0c2: 7100 0107 0000 |0007: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01b0c8: 0c01 |000a: move-result-object v1 │ │ +01b0ca: 7220 0c07 0100 |000b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +01b0d0: 0e00 |000e: return-void │ │ catches : 1 │ │ 0x0000 - 0x0005 │ │ Ljava/lang/Exception; -> 0x0006 │ │ positions : │ │ 0x0000 line=875 │ │ 0x0007 line=877 │ │ locals : │ │ @@ -45821,47 +45821,47 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 64 16-bit code units │ │ -01b1d0: |[01b1d0] dnsfilter.android.DNSProxyActivity.loadAdditionalHosts:()V │ │ -01b1e0: 6200 f000 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01b1e4: 1501 0800 |0002: const/high16 v1, #int 524288 // #8 │ │ -01b1e8: 6e20 3701 1000 |0004: invoke-virtual {v0, v1}, Ldnsfilter/ConfigurationAccess;.getAdditionalHosts:(I)[B // method@0137 │ │ -01b1ee: 0c00 |0007: move-result-object v0 │ │ -01b1f0: 1201 |0008: const/4 v1, #int 0 // #0 │ │ -01b1f2: 3900 0f00 |0009: if-nez v0, 0018 // +000f │ │ -01b1f6: 6200 0201 |000b: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -01b1fa: 6202 ee00 |000d: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.ADDITIONAL_HOSTS_TO_LONG:Ljava/lang/String; // field@00ee │ │ -01b1fe: 6e20 d100 2000 |000f: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ -01b204: 6200 0201 |0012: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -01b208: 6e20 c800 1000 |0014: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setEnabled:(Z)V // method@00c8 │ │ -01b20e: 0e00 |0017: return-void │ │ -01b210: 6202 0201 |0018: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -01b214: 2203 2601 |001a: new-instance v3, Ljava/lang/String; // type@0126 │ │ -01b218: 7020 6105 0300 |001c: invoke-direct {v3, v0}, Ljava/lang/String;.:([B)V // method@0561 │ │ -01b21e: 6e20 d100 3200 |001f: invoke-virtual {v2, v3}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ -01b224: 6a01 0101 |0022: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ -01b228: 281b |0024: goto 003f // +001b │ │ -01b22a: 0d00 |0025: move-exception v0 │ │ -01b22c: 7100 0107 0000 |0026: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01b232: 0c01 |0029: move-result-object v1 │ │ -01b234: 2202 2801 |002a: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -01b238: 1a03 f400 |002c: const-string v3, "Can not load /PersonalDNSFilter/additionalHosts.txt! │ │ +01b1cc: |[01b1cc] dnsfilter.android.DNSProxyActivity.loadAdditionalHosts:()V │ │ +01b1dc: 6200 f000 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01b1e0: 1501 0800 |0002: const/high16 v1, #int 524288 // #8 │ │ +01b1e4: 6e20 3701 1000 |0004: invoke-virtual {v0, v1}, Ldnsfilter/ConfigurationAccess;.getAdditionalHosts:(I)[B // method@0137 │ │ +01b1ea: 0c00 |0007: move-result-object v0 │ │ +01b1ec: 1201 |0008: const/4 v1, #int 0 // #0 │ │ +01b1ee: 3900 0f00 |0009: if-nez v0, 0018 // +000f │ │ +01b1f2: 6200 0201 |000b: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +01b1f6: 6202 ee00 |000d: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.ADDITIONAL_HOSTS_TO_LONG:Ljava/lang/String; // field@00ee │ │ +01b1fa: 6e20 d100 2000 |000f: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ +01b200: 6200 0201 |0012: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +01b204: 6e20 c800 1000 |0014: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setEnabled:(Z)V // method@00c8 │ │ +01b20a: 0e00 |0017: return-void │ │ +01b20c: 6202 0201 |0018: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +01b210: 2203 2601 |001a: new-instance v3, Ljava/lang/String; // type@0126 │ │ +01b214: 7020 6105 0300 |001c: invoke-direct {v3, v0}, Ljava/lang/String;.:([B)V // method@0561 │ │ +01b21a: 6e20 d100 3200 |001f: invoke-virtual {v2, v3}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ +01b220: 6a01 0101 |0022: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ +01b224: 281b |0024: goto 003f // +001b │ │ +01b226: 0d00 |0025: move-exception v0 │ │ +01b228: 7100 0107 0000 |0026: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01b22e: 0c01 |0029: move-result-object v1 │ │ +01b230: 2202 2801 |002a: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +01b234: 1a03 f400 |002c: const-string v3, "Can not load /PersonalDNSFilter/additionalHosts.txt! │ │ " // string@00f4 │ │ -01b23c: 7020 8405 3200 |002e: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -01b242: 6e10 0005 0000 |0031: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ -01b248: 0c00 |0034: move-result-object v0 │ │ -01b24a: 6e20 8905 0200 |0035: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01b250: 6e10 8b05 0200 |0038: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01b256: 0c00 |003b: move-result-object v0 │ │ -01b258: 7220 0d07 0100 |003c: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -01b25e: 0e00 |003f: return-void │ │ +01b238: 7020 8405 3200 |002e: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +01b23e: 6e10 0005 0000 |0031: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ +01b244: 0c00 |0034: move-result-object v0 │ │ +01b246: 6e20 8905 0200 |0035: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01b24c: 6e10 8b05 0200 |0038: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01b252: 0c00 |003b: move-result-object v0 │ │ +01b254: 7220 0d07 0100 |003c: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +01b25a: 0e00 |003f: return-void │ │ catches : 1 │ │ 0x0000 - 0x0024 │ │ Ljava/io/IOException; -> 0x0025 │ │ positions : │ │ 0x0000 line=819 │ │ 0x000b line=821 │ │ 0x0012 line=822 │ │ @@ -45876,49 +45876,49 @@ │ │ type : '(Z)V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 67 16-bit code units │ │ -01b270: |[01b270] dnsfilter.android.DNSProxyActivity.loadAndApplyConfig:(Z)V │ │ -01b280: 6e10 ce02 0500 |0000: invoke-virtual {v5}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ -01b286: 0c00 |0003: move-result-object v0 │ │ -01b288: 6900 0e01 |0004: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -01b28c: 1201 |0006: const/4 v1, #int 0 // #0 │ │ -01b28e: 3800 3900 |0007: if-eqz v0, 0040 // +0039 │ │ -01b292: 1a02 6306 |0009: const-string v2, "dnsProxyOnAndroid" // string@0663 │ │ -01b296: 1a03 d506 |000b: const-string v3, "false" // string@06d5 │ │ -01b29a: 6e30 2501 2003 |000d: invoke-virtual {v0, v2, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ -01b2a0: 0c00 |0010: move-result-object v0 │ │ -01b2a2: 7110 2705 0000 |0011: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -01b2a8: 0a00 |0014: move-result v0 │ │ -01b2aa: 6202 0e01 |0015: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -01b2ae: 1a04 7c0b |0017: const-string v4, "vpnInAdditionToProxyMode" // string@0b7c │ │ -01b2b2: 6e30 2501 4203 |0019: invoke-virtual {v2, v4, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ -01b2b8: 0c02 |001c: move-result-object v2 │ │ -01b2ba: 7110 2705 0200 |001d: invoke-static {v2}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -01b2c0: 0a02 |0020: move-result v2 │ │ -01b2c2: 3800 0500 |0021: if-eqz v0, 0026 // +0005 │ │ -01b2c6: 3902 0300 |0023: if-nez v2, 0026 // +0003 │ │ -01b2ca: 1211 |0025: const/4 v1, #int 1 // #1 │ │ -01b2cc: 6a01 fa00 |0026: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.NO_VPN:Z // field@00fa │ │ -01b2d0: 2200 a300 |0028: new-instance v0, Ldnsfilter/android/DNSProxyActivity$3; // type@00a3 │ │ -01b2d4: 7020 9b02 5000 |002a: invoke-direct {v0, v5}, Ldnsfilter/android/DNSProxyActivity$3;.:(Ldnsfilter/android/DNSProxyActivity;)V // method@029b │ │ -01b2da: 6e20 0403 0500 |002d: invoke-virtual {v5, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@0304 │ │ -01b2e0: 7010 bf02 0500 |0030: invoke-direct {v5}, Ldnsfilter/android/DNSProxyActivity;.checkNotificationPermission:()Z // method@02bf │ │ -01b2e6: 0a00 |0033: move-result v0 │ │ -01b2e8: 3900 0300 |0034: if-nez v0, 0037 // +0003 │ │ -01b2ec: 0e00 |0036: return-void │ │ -01b2ee: 3806 0b00 |0037: if-eqz v6, 0042 // +000b │ │ -01b2f2: 7010 d802 0500 |0039: invoke-direct {v5}, Ldnsfilter/android/DNSProxyActivity;.handleInitialInfoPopUp:()V // method@02d8 │ │ -01b2f8: 6e10 0f03 0500 |003c: invoke-virtual {v5}, Ldnsfilter/android/DNSProxyActivity;.startup:()V // method@030f │ │ -01b2fe: 2803 |003f: goto 0042 // +0003 │ │ -01b300: 6a01 3801 |0040: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ -01b304: 0e00 |0042: return-void │ │ +01b26c: |[01b26c] dnsfilter.android.DNSProxyActivity.loadAndApplyConfig:(Z)V │ │ +01b27c: 6e10 ce02 0500 |0000: invoke-virtual {v5}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ +01b282: 0c00 |0003: move-result-object v0 │ │ +01b284: 6900 0e01 |0004: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +01b288: 1201 |0006: const/4 v1, #int 0 // #0 │ │ +01b28a: 3800 3900 |0007: if-eqz v0, 0040 // +0039 │ │ +01b28e: 1a02 6306 |0009: const-string v2, "dnsProxyOnAndroid" // string@0663 │ │ +01b292: 1a03 d506 |000b: const-string v3, "false" // string@06d5 │ │ +01b296: 6e30 2501 2003 |000d: invoke-virtual {v0, v2, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ +01b29c: 0c00 |0010: move-result-object v0 │ │ +01b29e: 7110 2705 0000 |0011: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +01b2a4: 0a00 |0014: move-result v0 │ │ +01b2a6: 6202 0e01 |0015: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +01b2aa: 1a04 7c0b |0017: const-string v4, "vpnInAdditionToProxyMode" // string@0b7c │ │ +01b2ae: 6e30 2501 4203 |0019: invoke-virtual {v2, v4, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ +01b2b4: 0c02 |001c: move-result-object v2 │ │ +01b2b6: 7110 2705 0200 |001d: invoke-static {v2}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +01b2bc: 0a02 |0020: move-result v2 │ │ +01b2be: 3800 0500 |0021: if-eqz v0, 0026 // +0005 │ │ +01b2c2: 3902 0300 |0023: if-nez v2, 0026 // +0003 │ │ +01b2c6: 1211 |0025: const/4 v1, #int 1 // #1 │ │ +01b2c8: 6a01 fa00 |0026: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.NO_VPN:Z // field@00fa │ │ +01b2cc: 2200 a300 |0028: new-instance v0, Ldnsfilter/android/DNSProxyActivity$3; // type@00a3 │ │ +01b2d0: 7020 9b02 5000 |002a: invoke-direct {v0, v5}, Ldnsfilter/android/DNSProxyActivity$3;.:(Ldnsfilter/android/DNSProxyActivity;)V // method@029b │ │ +01b2d6: 6e20 0403 0500 |002d: invoke-virtual {v5, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@0304 │ │ +01b2dc: 7010 bf02 0500 |0030: invoke-direct {v5}, Ldnsfilter/android/DNSProxyActivity;.checkNotificationPermission:()Z // method@02bf │ │ +01b2e2: 0a00 |0033: move-result v0 │ │ +01b2e4: 3900 0300 |0034: if-nez v0, 0037 // +0003 │ │ +01b2e8: 0e00 |0036: return-void │ │ +01b2ea: 3806 0b00 |0037: if-eqz v6, 0042 // +000b │ │ +01b2ee: 7010 d802 0500 |0039: invoke-direct {v5}, Ldnsfilter/android/DNSProxyActivity;.handleInitialInfoPopUp:()V // method@02d8 │ │ +01b2f4: 6e10 0f03 0500 |003c: invoke-virtual {v5}, Ldnsfilter/android/DNSProxyActivity;.startup:()V // method@030f │ │ +01b2fa: 2803 |003f: goto 0042 // +0003 │ │ +01b2fc: 6a01 3801 |0040: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ +01b300: 0e00 |0042: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=973 │ │ 0x0009 line=977 │ │ 0x0015 line=978 │ │ 0x0026 line=979 │ │ 0x0028 line=981 │ │ @@ -45936,39 +45936,39 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 47 16-bit code units │ │ -01b308: |[01b308] dnsfilter.android.DNSProxyActivity.loadManuallyEditConf:()V │ │ -01b318: 6200 f000 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01b31c: 6e10 4501 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.readConfig:()[B // method@0145 │ │ -01b322: 0c00 |0005: move-result-object v0 │ │ -01b324: 6201 2301 |0006: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ -01b328: 2202 2601 |0008: new-instance v2, Ljava/lang/String; // type@0126 │ │ -01b32c: 7020 6105 0200 |000a: invoke-direct {v2, v0}, Ljava/lang/String;.:([B)V // method@0561 │ │ -01b332: 6e20 d100 2100 |000d: invoke-virtual {v1, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ -01b338: 1200 |0010: const/4 v0, #int 0 // #0 │ │ -01b33a: 6a00 2101 |0011: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ -01b33e: 281b |0013: goto 002e // +001b │ │ -01b340: 0d00 |0014: move-exception v0 │ │ -01b342: 7100 0107 0000 |0015: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01b348: 0c01 |0018: move-result-object v1 │ │ -01b34a: 2202 2801 |0019: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -01b34e: 1a03 f500 |001b: const-string v3, "Can not load /PersonalDNSFilter/dnsfilter.conf! │ │ +01b304: |[01b304] dnsfilter.android.DNSProxyActivity.loadManuallyEditConf:()V │ │ +01b314: 6200 f000 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01b318: 6e10 4501 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.readConfig:()[B // method@0145 │ │ +01b31e: 0c00 |0005: move-result-object v0 │ │ +01b320: 6201 2301 |0006: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ +01b324: 2202 2601 |0008: new-instance v2, Ljava/lang/String; // type@0126 │ │ +01b328: 7020 6105 0200 |000a: invoke-direct {v2, v0}, Ljava/lang/String;.:([B)V // method@0561 │ │ +01b32e: 6e20 d100 2100 |000d: invoke-virtual {v1, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ +01b334: 1200 |0010: const/4 v0, #int 0 // #0 │ │ +01b336: 6a00 2101 |0011: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ +01b33a: 281b |0013: goto 002e // +001b │ │ +01b33c: 0d00 |0014: move-exception v0 │ │ +01b33e: 7100 0107 0000 |0015: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01b344: 0c01 |0018: move-result-object v1 │ │ +01b346: 2202 2801 |0019: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +01b34a: 1a03 f500 |001b: const-string v3, "Can not load /PersonalDNSFilter/dnsfilter.conf! │ │ " // string@00f5 │ │ -01b352: 7020 8405 3200 |001d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -01b358: 6e10 0005 0000 |0020: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ -01b35e: 0c00 |0023: move-result-object v0 │ │ -01b360: 6e20 8905 0200 |0024: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01b366: 6e10 8b05 0200 |0027: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01b36c: 0c00 |002a: move-result-object v0 │ │ -01b36e: 7220 0d07 0100 |002b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -01b374: 0e00 |002e: return-void │ │ +01b34e: 7020 8405 3200 |001d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +01b354: 6e10 0005 0000 |0020: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ +01b35a: 0c00 |0023: move-result-object v0 │ │ +01b35c: 6e20 8905 0200 |0024: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01b362: 6e10 8b05 0200 |0027: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01b368: 0c00 |002a: move-result-object v0 │ │ +01b36a: 7220 0d07 0100 |002b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +01b370: 0e00 |002e: return-void │ │ catches : 1 │ │ 0x0000 - 0x0013 │ │ Ljava/io/IOException; -> 0x0014 │ │ positions : │ │ 0x0000 line=834 │ │ 0x0006 line=835 │ │ 0x0011 line=836 │ │ @@ -45981,19 +45981,19 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 9 16-bit code units │ │ -01b388: |[01b388] dnsfilter.android.DNSProxyActivity.log:(Ljava/lang/String;)V │ │ -01b398: 2200 aa00 |0000: new-instance v0, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger; // type@00aa │ │ -01b39c: 7030 ae02 1002 |0002: invoke-direct {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02ae │ │ -01b3a2: 6e20 0403 0100 |0005: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@0304 │ │ -01b3a8: 0e00 |0008: return-void │ │ +01b384: |[01b384] dnsfilter.android.DNSProxyActivity.log:(Ljava/lang/String;)V │ │ +01b394: 2200 aa00 |0000: new-instance v0, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger; // type@00aa │ │ +01b398: 7030 ae02 1002 |0002: invoke-direct {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02ae │ │ +01b39e: 6e20 0403 0100 |0005: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@0304 │ │ +01b3a4: 0e00 |0008: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1675 │ │ locals : │ │ 0x0000 - 0x0009 reg=1 this Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x0009 reg=2 (null) Ljava/lang/String; │ │ │ │ @@ -46002,34 +46002,34 @@ │ │ type : '(Ljava/lang/Exception;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 43 16-bit code units │ │ -01b3ac: |[01b3ac] dnsfilter.android.DNSProxyActivity.logException:(Ljava/lang/Exception;)V │ │ -01b3bc: 2200 0801 |0000: new-instance v0, Ljava/io/StringWriter; // type@0108 │ │ -01b3c0: 7010 2205 0000 |0002: invoke-direct {v0}, Ljava/io/StringWriter;.:()V // method@0522 │ │ -01b3c6: 2201 0501 |0005: new-instance v1, Ljava/io/PrintWriter; // type@0105 │ │ -01b3ca: 7020 1d05 0100 |0007: invoke-direct {v1, v0}, Ljava/io/PrintWriter;.:(Ljava/io/Writer;)V // method@051d │ │ -01b3d0: 6e20 3a05 1300 |000a: invoke-virtual {v3, v1}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintWriter;)V // method@053a │ │ -01b3d6: 2203 aa00 |000d: new-instance v3, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger; // type@00aa │ │ -01b3da: 2201 2801 |000f: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -01b3de: 7010 8305 0100 |0011: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -01b3e4: 6e10 2305 0000 |0014: invoke-virtual {v0}, Ljava/io/StringWriter;.toString:()Ljava/lang/String; // method@0523 │ │ -01b3ea: 0c00 |0017: move-result-object v0 │ │ -01b3ec: 6e20 8905 0100 |0018: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01b3f2: 1a00 0200 |001b: const-string v0, " │ │ +01b3a8: |[01b3a8] dnsfilter.android.DNSProxyActivity.logException:(Ljava/lang/Exception;)V │ │ +01b3b8: 2200 0801 |0000: new-instance v0, Ljava/io/StringWriter; // type@0108 │ │ +01b3bc: 7010 2205 0000 |0002: invoke-direct {v0}, Ljava/io/StringWriter;.:()V // method@0522 │ │ +01b3c2: 2201 0501 |0005: new-instance v1, Ljava/io/PrintWriter; // type@0105 │ │ +01b3c6: 7020 1d05 0100 |0007: invoke-direct {v1, v0}, Ljava/io/PrintWriter;.:(Ljava/io/Writer;)V // method@051d │ │ +01b3cc: 6e20 3a05 1300 |000a: invoke-virtual {v3, v1}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintWriter;)V // method@053a │ │ +01b3d2: 2203 aa00 |000d: new-instance v3, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger; // type@00aa │ │ +01b3d6: 2201 2801 |000f: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +01b3da: 7010 8305 0100 |0011: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +01b3e0: 6e10 2305 0000 |0014: invoke-virtual {v0}, Ljava/io/StringWriter;.toString:()Ljava/lang/String; // method@0523 │ │ +01b3e6: 0c00 |0017: move-result-object v0 │ │ +01b3e8: 6e20 8905 0100 |0018: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01b3ee: 1a00 0200 |001b: const-string v0, " │ │ " // string@0002 │ │ -01b3f6: 6e20 8905 0100 |001d: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01b3fc: 6e10 8b05 0100 |0020: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01b402: 0c00 |0023: move-result-object v0 │ │ -01b404: 7030 ae02 2300 |0024: invoke-direct {v3, v2, v0}, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02ae │ │ -01b40a: 6e20 0403 3200 |0027: invoke-virtual {v2, v3}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@0304 │ │ -01b410: 0e00 |002a: return-void │ │ +01b3f2: 6e20 8905 0100 |001d: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01b3f8: 6e10 8b05 0100 |0020: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01b3fe: 0c00 |0023: move-result-object v0 │ │ +01b400: 7030 ae02 2300 |0024: invoke-direct {v3, v2, v0}, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02ae │ │ +01b406: 6e20 0403 3200 |0027: invoke-virtual {v2, v3}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@0304 │ │ +01b40c: 0e00 |002a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1668 │ │ 0x0005 line=1669 │ │ 0x000d line=1670 │ │ locals : │ │ 0x0000 - 0x002b reg=2 this Ldnsfilter/android/DNSProxyActivity; │ │ @@ -46040,27 +46040,27 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 26 16-bit code units │ │ -01b414: |[01b414] dnsfilter.android.DNSProxyActivity.logLine:(Ljava/lang/String;)V │ │ -01b424: 2200 aa00 |0000: new-instance v0, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger; // type@00aa │ │ -01b428: 2201 2801 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -01b42c: 7010 8305 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -01b432: 6e20 8905 3100 |0007: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01b438: 1a03 0200 |000a: const-string v3, " │ │ +01b410: |[01b410] dnsfilter.android.DNSProxyActivity.logLine:(Ljava/lang/String;)V │ │ +01b420: 2200 aa00 |0000: new-instance v0, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger; // type@00aa │ │ +01b424: 2201 2801 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +01b428: 7010 8305 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +01b42e: 6e20 8905 3100 |0007: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01b434: 1a03 0200 |000a: const-string v3, " │ │ " // string@0002 │ │ -01b43c: 6e20 8905 3100 |000c: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01b442: 6e10 8b05 0100 |000f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01b448: 0c03 |0012: move-result-object v3 │ │ -01b44a: 7030 ae02 2003 |0013: invoke-direct {v0, v2, v3}, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02ae │ │ -01b450: 6e20 0403 0200 |0016: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@0304 │ │ -01b456: 0e00 |0019: return-void │ │ +01b438: 6e20 8905 3100 |000c: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01b43e: 6e10 8b05 0100 |000f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01b444: 0c03 |0012: move-result-object v3 │ │ +01b446: 7030 ae02 2003 |0013: invoke-direct {v0, v2, v3}, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02ae │ │ +01b44c: 6e20 0403 0200 |0016: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@0304 │ │ +01b452: 0e00 |0019: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1663 │ │ locals : │ │ 0x0000 - 0x001a reg=2 this Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x001a reg=3 (null) Ljava/lang/String; │ │ │ │ @@ -46069,33 +46069,33 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 40 16-bit code units │ │ -01b458: |[01b458] dnsfilter.android.DNSProxyActivity.message:(Ljava/lang/String;)V │ │ -01b468: 2200 2801 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ -01b46c: 1a01 a000 |0002: const-string v1, "" // string@00a0 │ │ -01b470: 7020 8405 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -01b476: 6e20 8905 3000 |0007: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01b47c: 1a03 9200 |000a: const-string v3, "" // string@0092 │ │ -01b480: 6e20 8905 3000 |000c: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01b486: 6e10 8b05 0000 |000f: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01b48c: 0c03 |0012: move-result-object v3 │ │ -01b48e: 7110 cb02 0300 |0013: invoke-static {v3}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02cb │ │ -01b494: 0c03 |0016: move-result-object v3 │ │ -01b496: 1a00 3800 |0017: const-string v0, "#FFC107" // string@0038 │ │ -01b49a: 7110 5400 0000 |0019: invoke-static {v0}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@0054 │ │ -01b4a0: 0a00 |001c: move-result v0 │ │ -01b4a2: 7030 0603 3200 |001d: invoke-direct {v2, v3, v0}, Ldnsfilter/android/DNSProxyActivity;.setMessage:(Landroid/text/Spanned;I)V // method@0306 │ │ -01b4a8: 6203 f700 |0020: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.MsgTO:Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // field@00f7 │ │ -01b4ac: 1300 8813 |0022: const/16 v0, #int 5000 // #1388 │ │ -01b4b0: 7120 a902 0300 |0024: invoke-static {v3, v0}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.access$800:(Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;I)V // method@02a9 │ │ -01b4b6: 0e00 |0027: return-void │ │ +01b454: |[01b454] dnsfilter.android.DNSProxyActivity.message:(Ljava/lang/String;)V │ │ +01b464: 2200 2801 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ +01b468: 1a01 a000 |0002: const-string v1, "" // string@00a0 │ │ +01b46c: 7020 8405 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +01b472: 6e20 8905 3000 |0007: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01b478: 1a03 9200 |000a: const-string v3, "" // string@0092 │ │ +01b47c: 6e20 8905 3000 |000c: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01b482: 6e10 8b05 0000 |000f: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01b488: 0c03 |0012: move-result-object v3 │ │ +01b48a: 7110 cb02 0300 |0013: invoke-static {v3}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02cb │ │ +01b490: 0c03 |0016: move-result-object v3 │ │ +01b492: 1a00 3800 |0017: const-string v0, "#FFC107" // string@0038 │ │ +01b496: 7110 5400 0000 |0019: invoke-static {v0}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@0054 │ │ +01b49c: 0a00 |001c: move-result v0 │ │ +01b49e: 7030 0603 3200 |001d: invoke-direct {v2, v3, v0}, Ldnsfilter/android/DNSProxyActivity;.setMessage:(Landroid/text/Spanned;I)V // method@0306 │ │ +01b4a4: 6203 f700 |0020: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.MsgTO:Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // field@00f7 │ │ +01b4a8: 1300 8813 |0022: const/16 v0, #int 5000 // #1388 │ │ +01b4ac: 7120 a902 0300 |0024: invoke-static {v3, v0}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.access$800:(Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;I)V // method@02a9 │ │ +01b4b2: 0e00 |0027: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1681 │ │ 0x0020 line=1682 │ │ locals : │ │ 0x0000 - 0x0028 reg=2 this Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x0028 reg=3 (null) Ljava/lang/String; │ │ @@ -46105,25 +46105,25 @@ │ │ type : '(Landroid/view/ActionMode;Landroid/view/MenuItem;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 2 │ │ insns size : 18 16-bit code units │ │ -0197e8: |[0197e8] dnsfilter.android.DNSProxyActivity.onActionItemClicked:(Landroid/view/ActionMode;Landroid/view/MenuItem;)Z │ │ -0197f8: 6202 0001 |0000: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.add_filter:Landroid/view/MenuItem; // field@0100 │ │ -0197fc: 1200 |0002: const/4 v0, #int 0 // #0 │ │ -0197fe: 3323 0700 |0003: if-ne v3, v2, 000a // +0007 │ │ -019802: 1212 |0005: const/4 v2, #int 1 // #1 │ │ -019804: 6e20 e902 2100 |0006: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.onCopyFilterFromLogView:(Z)V // method@02e9 │ │ -01980a: 2808 |0009: goto 0011 // +0008 │ │ -01980c: 6202 2d01 |000a: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.remove_filter:Landroid/view/MenuItem; // field@012d │ │ -019810: 3323 0500 |000c: if-ne v3, v2, 0011 // +0005 │ │ -019814: 6e20 e902 0100 |000e: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.onCopyFilterFromLogView:(Z)V // method@02e9 │ │ -01981a: 0f00 |0011: return v0 │ │ +0197e4: |[0197e4] dnsfilter.android.DNSProxyActivity.onActionItemClicked:(Landroid/view/ActionMode;Landroid/view/MenuItem;)Z │ │ +0197f4: 6202 0001 |0000: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.add_filter:Landroid/view/MenuItem; // field@0100 │ │ +0197f8: 1200 |0002: const/4 v0, #int 0 // #0 │ │ +0197fa: 3323 0700 |0003: if-ne v3, v2, 000a // +0007 │ │ +0197fe: 1212 |0005: const/4 v2, #int 1 // #1 │ │ +019800: 6e20 e902 2100 |0006: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.onCopyFilterFromLogView:(Z)V // method@02e9 │ │ +019806: 2808 |0009: goto 0011 // +0008 │ │ +019808: 6202 2d01 |000a: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.remove_filter:Landroid/view/MenuItem; // field@012d │ │ +01980c: 3323 0500 |000c: if-ne v3, v2, 0011 // +0005 │ │ +019810: 6e20 e902 0100 |000e: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.onCopyFilterFromLogView:(Z)V // method@02e9 │ │ +019816: 0f00 |0011: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1758 │ │ 0x0006 line=1759 │ │ 0x000a line=1761 │ │ 0x000e line=1762 │ │ locals : │ │ @@ -46136,17 +46136,17 @@ │ │ type : '(Landroid/view/ActionMode;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -01b4b8: |[01b4b8] dnsfilter.android.DNSProxyActivity.onActionModeStarted:(Landroid/view/ActionMode;)V │ │ -01b4c8: 6f20 0200 1000 |0000: invoke-super {v0, v1}, Landroid/app/Activity;.onActionModeStarted:(Landroid/view/ActionMode;)V // method@0002 │ │ -01b4ce: 0e00 |0003: return-void │ │ +01b4b4: |[01b4b4] dnsfilter.android.DNSProxyActivity.onActionModeStarted:(Landroid/view/ActionMode;)V │ │ +01b4c4: 6f20 0200 1000 |0000: invoke-super {v0, v1}, Landroid/app/Activity;.onActionModeStarted:(Landroid/view/ActionMode;)V // method@0002 │ │ +01b4ca: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1786 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x0004 reg=1 (null) Landroid/view/ActionMode; │ │ │ │ @@ -46155,37 +46155,37 @@ │ │ type : '(IILandroid/content/Intent;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 39 16-bit code units │ │ -01b4d0: |[01b4d0] dnsfilter.android.DNSProxyActivity.onActivityResult:(IILandroid/content/Intent;)V │ │ -01b4e0: 6f40 0300 3254 |0000: invoke-super {v2, v3, v4, v5}, Landroid/app/Activity;.onActivityResult:(IILandroid/content/Intent;)V // method@0003 │ │ -01b4e6: 12f5 |0003: const/4 v5, #int -1 // #ff │ │ -01b4e8: 3903 0800 |0004: if-nez v3, 000c // +0008 │ │ -01b4ec: 3354 0600 |0006: if-ne v4, v5, 000c // +0006 │ │ -01b4f0: 7010 0e03 0200 |0008: invoke-direct {v2}, Ldnsfilter/android/DNSProxyActivity;.startSvc:()V // method@030e │ │ -01b4f6: 280e |000b: goto 0019 // +000e │ │ -01b4f8: 3903 0d00 |000c: if-nez v3, 0019 // +000d │ │ -01b4fc: 3254 0b00 |000e: if-eq v4, v5, 0019 // +000b │ │ -01b500: 7100 0107 0000 |0010: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01b506: 0c00 |0013: move-result-object v0 │ │ -01b508: 1a01 c804 |0014: const-string v1, "VPN confirmation dialog not accepted! │ │ +01b4cc: |[01b4cc] dnsfilter.android.DNSProxyActivity.onActivityResult:(IILandroid/content/Intent;)V │ │ +01b4dc: 6f40 0300 3254 |0000: invoke-super {v2, v3, v4, v5}, Landroid/app/Activity;.onActivityResult:(IILandroid/content/Intent;)V // method@0003 │ │ +01b4e2: 12f5 |0003: const/4 v5, #int -1 // #ff │ │ +01b4e4: 3903 0800 |0004: if-nez v3, 000c // +0008 │ │ +01b4e8: 3354 0600 |0006: if-ne v4, v5, 000c // +0006 │ │ +01b4ec: 7010 0e03 0200 |0008: invoke-direct {v2}, Ldnsfilter/android/DNSProxyActivity;.startSvc:()V // method@030e │ │ +01b4f2: 280e |000b: goto 0019 // +000e │ │ +01b4f4: 3903 0d00 |000c: if-nez v3, 0019 // +000d │ │ +01b4f8: 3254 0b00 |000e: if-eq v4, v5, 0019 // +000b │ │ +01b4fc: 7100 0107 0000 |0010: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01b502: 0c00 |0013: move-result-object v0 │ │ +01b504: 1a01 c804 |0014: const-string v1, "VPN confirmation dialog not accepted! │ │ Press restart to display dialog again! │ │ Another app might be using "Always-on VPN". │ │ Check under Settings > Network & Internet > VPN." // string@04c8 │ │ -01b50c: 7220 0d07 1000 |0016: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -01b512: 6200 5a02 |0019: sget-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.ACTIVITY_RESULT_CODE:Ljava/lang/Integer; // field@025a │ │ -01b516: 6e10 4005 0000 |001b: invoke-virtual {v0}, Ljava/lang/Integer;.intValue:()I // method@0540 │ │ -01b51c: 0a00 |001e: move-result v0 │ │ -01b51e: 3303 0700 |001f: if-ne v3, v0, 0026 // +0007 │ │ -01b522: 3354 0500 |0021: if-ne v4, v5, 0026 // +0005 │ │ -01b526: 7010 fc02 0200 |0023: invoke-direct {v2}, Ldnsfilter/android/DNSProxyActivity;.persistConfig:()V // method@02fc │ │ -01b52c: 0e00 |0026: return-void │ │ +01b508: 7220 0d07 1000 |0016: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +01b50e: 6200 5a02 |0019: sget-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.ACTIVITY_RESULT_CODE:Ljava/lang/Integer; // field@025a │ │ +01b512: 6e10 4005 0000 |001b: invoke-virtual {v0}, Ljava/lang/Integer;.intValue:()I // method@0540 │ │ +01b518: 0a00 |001e: move-result v0 │ │ +01b51a: 3303 0700 |001f: if-ne v3, v0, 0026 // +0007 │ │ +01b51e: 3354 0500 |0021: if-ne v4, v5, 0026 // +0005 │ │ +01b522: 7010 fc02 0200 |0023: invoke-direct {v2}, Ldnsfilter/android/DNSProxyActivity;.persistConfig:()V // method@02fc │ │ +01b528: 0e00 |0026: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1649 │ │ 0x0008 line=1651 │ │ 0x0010 line=1653 │ │ 0x0019 line=1656 │ │ 0x0023 line=1657 │ │ @@ -46200,167 +46200,167 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 315 16-bit code units │ │ -01b530: |[01b530] dnsfilter.android.DNSProxyActivity.onClick:(Landroid/view/View;)V │ │ -01b540: 6300 3801 |0000: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ -01b544: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -01b546: 3800 1100 |0003: if-eqz v0, 0014 // +0011 │ │ -01b54a: 6204 0301 |0005: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ -01b54e: 6e20 b800 1400 |0007: invoke-virtual {v4, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01b554: 7100 0107 0000 |000a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01b55a: 0c04 |000d: move-result-object v4 │ │ -01b55c: 1a00 1401 |000e: const-string v0, "Config switch in progress - Wait!" // string@0114 │ │ -01b560: 7220 0d07 0400 |0010: invoke-interface {v4, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -01b566: 0e00 |0013: return-void │ │ -01b568: 6200 2001 |0014: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01b56c: 1212 |0016: const/4 v2, #int 1 // #1 │ │ -01b56e: 3304 1200 |0017: if-ne v4, v0, 0029 // +0012 │ │ -01b572: 1404 1c00 057f |0019: const v4, #float 1.76788e+38 // #7f05001c │ │ -01b578: 6e20 c902 4300 |001c: invoke-virtual {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01b57e: 0c04 |001f: move-result-object v4 │ │ -01b580: 1300 0800 |0020: const/16 v0, #int 8 // #8 │ │ -01b584: 6e20 9f00 0400 |0022: invoke-virtual {v4, v0}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -01b58a: 6e20 0a03 2300 |0025: invoke-virtual {v3, v2}, Ldnsfilter/android/DNSProxyActivity;.showFilterRate:(Z)V // method@030a │ │ -01b590: 0e00 |0028: return-void │ │ -01b592: 6200 ff00 |0029: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.addFilterBtn:Landroid/widget/TextView; // field@00ff │ │ -01b596: 3304 0600 |002b: if-ne v4, v0, 0031 // +0006 │ │ -01b59a: 6e20 e902 2300 |002d: invoke-virtual {v3, v2}, Ldnsfilter/android/DNSProxyActivity;.onCopyFilterFromLogView:(Z)V // method@02e9 │ │ -01b5a0: 0e00 |0030: return-void │ │ -01b5a2: 6200 2c01 |0031: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.removeFilterBtn:Landroid/widget/TextView; // field@012c │ │ -01b5a6: 3304 0600 |0033: if-ne v4, v0, 0039 // +0006 │ │ -01b5aa: 6e20 e902 1300 |0035: invoke-virtual {v3, v1}, Ldnsfilter/android/DNSProxyActivity;.onCopyFilterFromLogView:(Z)V // method@02e9 │ │ -01b5b0: 0e00 |0038: return-void │ │ -01b5b2: 5430 1a01 |0039: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.helpBtn:Landroid/widget/Button; // field@011a │ │ -01b5b6: 3304 0800 |003b: if-ne v4, v0, 0043 // +0008 │ │ -01b5ba: 1a04 1408 |003d: const-string v4, "https://www.zenz-home.com/personaldnsfilter/help/help.php" // string@0814 │ │ -01b5be: 7020 f902 4300 |003f: invoke-direct {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.openBrowser:(Ljava/lang/String;)V // method@02f9 │ │ -01b5c4: 0e00 |0042: return-void │ │ -01b5c6: 6200 1001 |0043: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ -01b5ca: 3304 1300 |0045: if-ne v4, v0, 0058 // +0013 │ │ -01b5ce: 2204 1900 |0047: new-instance v4, Landroid/content/Intent; // type@0019 │ │ -01b5d2: 1c00 c000 |0049: const-class v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // type@00c0 │ │ -01b5d6: 7030 3f00 3400 |004b: invoke-direct {v4, v3, v0}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@003f │ │ -01b5dc: 6200 5a02 |004e: sget-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.ACTIVITY_RESULT_CODE:Ljava/lang/Integer; // field@025a │ │ -01b5e0: 6e10 4005 0000 |0050: invoke-virtual {v0}, Ljava/lang/Integer;.intValue:()I // method@0540 │ │ -01b5e6: 0a00 |0053: move-result v0 │ │ -01b5e8: 6e30 0c03 4300 |0054: invoke-virtual {v3, v4, v0}, Ldnsfilter/android/DNSProxyActivity;.startActivityForResult:(Landroid/content/Intent;I)V // method@030c │ │ -01b5ee: 0e00 |0057: return-void │ │ -01b5f0: 6200 3101 |0058: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ -01b5f4: 3304 0600 |005a: if-ne v4, v0, 0060 // +0006 │ │ -01b5f8: 7010 db02 0300 |005c: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.handleScrollLock:()V // method@02db │ │ -01b5fe: 0e00 |005f: return-void │ │ -01b600: 6200 0a01 |0060: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupBtn:Landroid/widget/Button; // field@010a │ │ -01b604: 3304 0600 |0062: if-ne v4, v0, 0068 // +0006 │ │ -01b608: 6e10 c502 0300 |0064: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.doBackup:()V // method@02c5 │ │ -01b60e: 0e00 |0067: return-void │ │ -01b610: 6200 2e01 |0068: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.restoreBtn:Landroid/widget/Button; // field@012e │ │ -01b614: 3304 0600 |006a: if-ne v4, v0, 0070 // +0006 │ │ -01b618: 6e10 c602 0300 |006c: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.doRestore:()V // method@02c6 │ │ -01b61e: 0e00 |006f: return-void │ │ -01b620: 6200 2f01 |0070: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.restoreDefaultsBtn:Landroid/widget/Button; // field@012f │ │ -01b624: 3304 0600 |0072: if-ne v4, v0, 0078 // +0006 │ │ -01b628: 6e10 c702 0300 |0074: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.doRestoreDefaults:()V // method@02c7 │ │ -01b62e: 0e00 |0077: return-void │ │ -01b630: 6200 0b01 |0078: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupDnBtn:Landroid/widget/Button; // field@010b │ │ -01b634: 3204 b800 |007a: if-eq v4, v0, 0132 // +00b8 │ │ -01b638: 6200 0d01 |007c: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupUpBtn:Landroid/widget/Button; // field@010d │ │ -01b63c: 3304 0400 |007e: if-ne v4, v0, 0082 // +0004 │ │ -01b640: 2900 b200 |0080: goto/16 0132 // +00b2 │ │ -01b644: 6200 1b01 |0082: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.initialInfoPopUpExitBtn:Landroid/widget/Button; // field@011b │ │ -01b648: 3304 0600 |0084: if-ne v4, v0, 008a // +0006 │ │ -01b64c: 7010 c202 0300 |0086: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.closeInitialInfoPopUp:()V // method@02c2 │ │ -01b652: 0e00 |0089: return-void │ │ -01b654: 6200 3001 |008a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01b658: 3304 1e00 |008c: if-ne v4, v0, 00aa // +001e │ │ -01b65c: 6e10 b700 0000 |008e: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01b662: 0a00 |0091: move-result v0 │ │ -01b664: 3800 1800 |0092: if-eqz v0, 00aa // +0018 │ │ -01b668: 6200 2901 |0094: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01b66c: 6e10 b700 0000 |0096: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01b672: 0a00 |0099: move-result v0 │ │ -01b674: 3900 1000 |009a: if-nez v0, 00aa // +0010 │ │ -01b678: 6200 2901 |009c: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01b67c: 6e20 b800 2000 |009e: invoke-virtual {v0, v2}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01b682: 7100 0107 0000 |00a1: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01b688: 0c00 |00a4: move-result-object v0 │ │ -01b68a: 1a02 7e01 |00a5: const-string v2, "Enabled also DNS proxy mode as required by root mode!" // string@017e │ │ -01b68e: 7220 0d07 2000 |00a7: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -01b694: 6200 2901 |00aa: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01b698: 3304 1e00 |00ac: if-ne v4, v0, 00ca // +001e │ │ -01b69c: 6e10 b700 0000 |00ae: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01b6a2: 0a00 |00b1: move-result v0 │ │ -01b6a4: 3900 1800 |00b2: if-nez v0, 00ca // +0018 │ │ -01b6a8: 6200 3001 |00b4: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01b6ac: 6e10 b700 0000 |00b6: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01b6b2: 0a00 |00b9: move-result v0 │ │ -01b6b4: 3800 1000 |00ba: if-eqz v0, 00ca // +0010 │ │ -01b6b8: 6200 3001 |00bc: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01b6bc: 6e20 b800 1000 |00be: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01b6c2: 7100 0107 0000 |00c1: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01b6c8: 0c00 |00c4: move-result-object v0 │ │ -01b6ca: 1a02 7201 |00c5: const-string v2, "Disabled also root mode as it requires DNS proxy mode!" // string@0172 │ │ -01b6ce: 7220 0d07 2000 |00c7: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -01b6d4: 7010 fc02 0300 |00ca: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.persistConfig:()V // method@02fc │ │ -01b6da: 5430 2b01 |00cd: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ -01b6de: 3304 1a00 |00cf: if-ne v4, v0, 00e9 // +001a │ │ -01b6e2: 6300 3801 |00d1: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ -01b6e6: 3900 1600 |00d3: if-nez v0, 00e9 // +0016 │ │ -01b6ea: 6200 0301 |00d5: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ -01b6ee: 6e20 b800 1000 |00d7: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01b6f4: 6200 f000 |00da: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01b6f8: 6e10 4301 0000 |00dc: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0143 │ │ -01b6fe: 0a00 |00df: move-result v0 │ │ -01b700: 3800 0600 |00e0: if-eqz v0, 00e6 // +0006 │ │ -01b704: 7010 fa02 0300 |00e2: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.pepareRemoteControl:()V // method@02fa │ │ -01b70a: 2804 |00e5: goto 00e9 // +0004 │ │ -01b70c: 7010 d902 0300 |00e6: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.handleRemoteControl:()V // method@02d9 │ │ -01b712: 5430 3601 |00e9: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.startBtn:Landroid/widget/Button; // field@0136 │ │ -01b716: 3204 0600 |00eb: if-eq v4, v0, 00f1 // +0006 │ │ -01b71a: 6200 1301 |00ed: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ -01b71e: 3304 0500 |00ef: if-ne v4, v0, 00f4 // +0005 │ │ -01b722: 7010 da02 0300 |00f1: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.handleRestart:()V // method@02da │ │ -01b728: 5430 3701 |00f4: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.stopBtn:Landroid/widget/Button; // field@0137 │ │ -01b72c: 3304 0500 |00f6: if-ne v4, v0, 00fb // +0005 │ │ -01b730: 6e10 d702 0300 |00f8: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.handleExitApp:()V // method@02d7 │ │ -01b736: 5430 2a01 |00fb: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.reloadFilterBtn:Landroid/widget/Button; // field@012a │ │ -01b73a: 3304 0500 |00fd: if-ne v4, v0, 0102 // +0005 │ │ -01b73e: 6e10 dc02 0300 |00ff: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.handlefilterReload:()V // method@02dc │ │ -01b744: 6200 0301 |0102: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ -01b748: 3204 1600 |0104: if-eq v4, v0, 011a // +0016 │ │ -01b74c: 6200 1101 |0106: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01b750: 3204 1200 |0108: if-eq v4, v0, 011a // +0012 │ │ -01b754: 6200 2201 |010a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01b758: 3204 0e00 |010c: if-eq v4, v0, 011a // +000e │ │ -01b75c: 6200 1201 |010e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01b760: 3204 0a00 |0110: if-eq v4, v0, 011a // +000a │ │ -01b764: 6200 0601 |0112: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01b768: 3204 0600 |0114: if-eq v4, v0, 011a // +0006 │ │ -01b76c: 6200 0c01 |0116: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01b770: 3304 0800 |0118: if-ne v4, v0, 0120 // +0008 │ │ -01b774: 0740 |011a: move-object v0, v4 │ │ -01b776: 1f00 5f00 |011b: check-cast v0, Landroid/widget/CheckBox; // type@005f │ │ -01b77a: 7020 d502 0300 |011d: invoke-direct {v3, v0}, Ldnsfilter/android/DNSProxyActivity;.handleAdvancedConfig:(Landroid/widget/CheckBox;)V // method@02d5 │ │ -01b780: 6200 1c01 |0120: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ -01b784: 3304 0f00 |0122: if-ne v4, v0, 0131 // +000f │ │ -01b788: 6e10 b700 0000 |0124: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01b78e: 0a04 |0127: move-result v4 │ │ -01b790: 3804 0600 |0128: if-eqz v4, 012e // +0006 │ │ -01b794: 6e10 0203 0300 |012a: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.remoteWakeLock:()V // method@0302 │ │ -01b79a: 2804 |012d: goto 0131 // +0004 │ │ -01b79c: 6e10 0103 0300 |012e: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.remoteReleaseWakeLock:()V // method@0301 │ │ -01b7a2: 0e00 |0131: return-void │ │ -01b7a4: 6200 0d01 |0132: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupUpBtn:Landroid/widget/Button; // field@010d │ │ -01b7a8: 3304 0300 |0134: if-ne v4, v0, 0137 // +0003 │ │ -01b7ac: 1211 |0136: const/4 v1, #int 1 // #1 │ │ -01b7ae: 7020 d602 1300 |0137: invoke-direct {v3, v1}, Ldnsfilter/android/DNSProxyActivity;.handleBackUpIdChange:(Z)V // method@02d6 │ │ -01b7b4: 0e00 |013a: return-void │ │ +01b52c: |[01b52c] dnsfilter.android.DNSProxyActivity.onClick:(Landroid/view/View;)V │ │ +01b53c: 6300 3801 |0000: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ +01b540: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +01b542: 3800 1100 |0003: if-eqz v0, 0014 // +0011 │ │ +01b546: 6204 0301 |0005: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ +01b54a: 6e20 b800 1400 |0007: invoke-virtual {v4, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01b550: 7100 0107 0000 |000a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01b556: 0c04 |000d: move-result-object v4 │ │ +01b558: 1a00 1401 |000e: const-string v0, "Config switch in progress - Wait!" // string@0114 │ │ +01b55c: 7220 0d07 0400 |0010: invoke-interface {v4, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +01b562: 0e00 |0013: return-void │ │ +01b564: 6200 2001 |0014: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01b568: 1212 |0016: const/4 v2, #int 1 // #1 │ │ +01b56a: 3304 1200 |0017: if-ne v4, v0, 0029 // +0012 │ │ +01b56e: 1404 1c00 057f |0019: const v4, #float 1.76788e+38 // #7f05001c │ │ +01b574: 6e20 c902 4300 |001c: invoke-virtual {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01b57a: 0c04 |001f: move-result-object v4 │ │ +01b57c: 1300 0800 |0020: const/16 v0, #int 8 // #8 │ │ +01b580: 6e20 9f00 0400 |0022: invoke-virtual {v4, v0}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +01b586: 6e20 0a03 2300 |0025: invoke-virtual {v3, v2}, Ldnsfilter/android/DNSProxyActivity;.showFilterRate:(Z)V // method@030a │ │ +01b58c: 0e00 |0028: return-void │ │ +01b58e: 6200 ff00 |0029: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.addFilterBtn:Landroid/widget/TextView; // field@00ff │ │ +01b592: 3304 0600 |002b: if-ne v4, v0, 0031 // +0006 │ │ +01b596: 6e20 e902 2300 |002d: invoke-virtual {v3, v2}, Ldnsfilter/android/DNSProxyActivity;.onCopyFilterFromLogView:(Z)V // method@02e9 │ │ +01b59c: 0e00 |0030: return-void │ │ +01b59e: 6200 2c01 |0031: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.removeFilterBtn:Landroid/widget/TextView; // field@012c │ │ +01b5a2: 3304 0600 |0033: if-ne v4, v0, 0039 // +0006 │ │ +01b5a6: 6e20 e902 1300 |0035: invoke-virtual {v3, v1}, Ldnsfilter/android/DNSProxyActivity;.onCopyFilterFromLogView:(Z)V // method@02e9 │ │ +01b5ac: 0e00 |0038: return-void │ │ +01b5ae: 5430 1a01 |0039: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.helpBtn:Landroid/widget/Button; // field@011a │ │ +01b5b2: 3304 0800 |003b: if-ne v4, v0, 0043 // +0008 │ │ +01b5b6: 1a04 1408 |003d: const-string v4, "https://www.zenz-home.com/personaldnsfilter/help/help.php" // string@0814 │ │ +01b5ba: 7020 f902 4300 |003f: invoke-direct {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.openBrowser:(Ljava/lang/String;)V // method@02f9 │ │ +01b5c0: 0e00 |0042: return-void │ │ +01b5c2: 6200 1001 |0043: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ +01b5c6: 3304 1300 |0045: if-ne v4, v0, 0058 // +0013 │ │ +01b5ca: 2204 1900 |0047: new-instance v4, Landroid/content/Intent; // type@0019 │ │ +01b5ce: 1c00 c000 |0049: const-class v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // type@00c0 │ │ +01b5d2: 7030 3f00 3400 |004b: invoke-direct {v4, v3, v0}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@003f │ │ +01b5d8: 6200 5a02 |004e: sget-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.ACTIVITY_RESULT_CODE:Ljava/lang/Integer; // field@025a │ │ +01b5dc: 6e10 4005 0000 |0050: invoke-virtual {v0}, Ljava/lang/Integer;.intValue:()I // method@0540 │ │ +01b5e2: 0a00 |0053: move-result v0 │ │ +01b5e4: 6e30 0c03 4300 |0054: invoke-virtual {v3, v4, v0}, Ldnsfilter/android/DNSProxyActivity;.startActivityForResult:(Landroid/content/Intent;I)V // method@030c │ │ +01b5ea: 0e00 |0057: return-void │ │ +01b5ec: 6200 3101 |0058: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ +01b5f0: 3304 0600 |005a: if-ne v4, v0, 0060 // +0006 │ │ +01b5f4: 7010 db02 0300 |005c: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.handleScrollLock:()V // method@02db │ │ +01b5fa: 0e00 |005f: return-void │ │ +01b5fc: 6200 0a01 |0060: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupBtn:Landroid/widget/Button; // field@010a │ │ +01b600: 3304 0600 |0062: if-ne v4, v0, 0068 // +0006 │ │ +01b604: 6e10 c502 0300 |0064: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.doBackup:()V // method@02c5 │ │ +01b60a: 0e00 |0067: return-void │ │ +01b60c: 6200 2e01 |0068: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.restoreBtn:Landroid/widget/Button; // field@012e │ │ +01b610: 3304 0600 |006a: if-ne v4, v0, 0070 // +0006 │ │ +01b614: 6e10 c602 0300 |006c: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.doRestore:()V // method@02c6 │ │ +01b61a: 0e00 |006f: return-void │ │ +01b61c: 6200 2f01 |0070: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.restoreDefaultsBtn:Landroid/widget/Button; // field@012f │ │ +01b620: 3304 0600 |0072: if-ne v4, v0, 0078 // +0006 │ │ +01b624: 6e10 c702 0300 |0074: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.doRestoreDefaults:()V // method@02c7 │ │ +01b62a: 0e00 |0077: return-void │ │ +01b62c: 6200 0b01 |0078: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupDnBtn:Landroid/widget/Button; // field@010b │ │ +01b630: 3204 b800 |007a: if-eq v4, v0, 0132 // +00b8 │ │ +01b634: 6200 0d01 |007c: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupUpBtn:Landroid/widget/Button; // field@010d │ │ +01b638: 3304 0400 |007e: if-ne v4, v0, 0082 // +0004 │ │ +01b63c: 2900 b200 |0080: goto/16 0132 // +00b2 │ │ +01b640: 6200 1b01 |0082: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.initialInfoPopUpExitBtn:Landroid/widget/Button; // field@011b │ │ +01b644: 3304 0600 |0084: if-ne v4, v0, 008a // +0006 │ │ +01b648: 7010 c202 0300 |0086: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.closeInitialInfoPopUp:()V // method@02c2 │ │ +01b64e: 0e00 |0089: return-void │ │ +01b650: 6200 3001 |008a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01b654: 3304 1e00 |008c: if-ne v4, v0, 00aa // +001e │ │ +01b658: 6e10 b700 0000 |008e: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01b65e: 0a00 |0091: move-result v0 │ │ +01b660: 3800 1800 |0092: if-eqz v0, 00aa // +0018 │ │ +01b664: 6200 2901 |0094: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01b668: 6e10 b700 0000 |0096: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01b66e: 0a00 |0099: move-result v0 │ │ +01b670: 3900 1000 |009a: if-nez v0, 00aa // +0010 │ │ +01b674: 6200 2901 |009c: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01b678: 6e20 b800 2000 |009e: invoke-virtual {v0, v2}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01b67e: 7100 0107 0000 |00a1: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01b684: 0c00 |00a4: move-result-object v0 │ │ +01b686: 1a02 7e01 |00a5: const-string v2, "Enabled also DNS proxy mode as required by root mode!" // string@017e │ │ +01b68a: 7220 0d07 2000 |00a7: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +01b690: 6200 2901 |00aa: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01b694: 3304 1e00 |00ac: if-ne v4, v0, 00ca // +001e │ │ +01b698: 6e10 b700 0000 |00ae: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01b69e: 0a00 |00b1: move-result v0 │ │ +01b6a0: 3900 1800 |00b2: if-nez v0, 00ca // +0018 │ │ +01b6a4: 6200 3001 |00b4: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01b6a8: 6e10 b700 0000 |00b6: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01b6ae: 0a00 |00b9: move-result v0 │ │ +01b6b0: 3800 1000 |00ba: if-eqz v0, 00ca // +0010 │ │ +01b6b4: 6200 3001 |00bc: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01b6b8: 6e20 b800 1000 |00be: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01b6be: 7100 0107 0000 |00c1: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01b6c4: 0c00 |00c4: move-result-object v0 │ │ +01b6c6: 1a02 7201 |00c5: const-string v2, "Disabled also root mode as it requires DNS proxy mode!" // string@0172 │ │ +01b6ca: 7220 0d07 2000 |00c7: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +01b6d0: 7010 fc02 0300 |00ca: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.persistConfig:()V // method@02fc │ │ +01b6d6: 5430 2b01 |00cd: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ +01b6da: 3304 1a00 |00cf: if-ne v4, v0, 00e9 // +001a │ │ +01b6de: 6300 3801 |00d1: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ +01b6e2: 3900 1600 |00d3: if-nez v0, 00e9 // +0016 │ │ +01b6e6: 6200 0301 |00d5: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ +01b6ea: 6e20 b800 1000 |00d7: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01b6f0: 6200 f000 |00da: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01b6f4: 6e10 4301 0000 |00dc: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0143 │ │ +01b6fa: 0a00 |00df: move-result v0 │ │ +01b6fc: 3800 0600 |00e0: if-eqz v0, 00e6 // +0006 │ │ +01b700: 7010 fa02 0300 |00e2: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.pepareRemoteControl:()V // method@02fa │ │ +01b706: 2804 |00e5: goto 00e9 // +0004 │ │ +01b708: 7010 d902 0300 |00e6: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.handleRemoteControl:()V // method@02d9 │ │ +01b70e: 5430 3601 |00e9: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.startBtn:Landroid/widget/Button; // field@0136 │ │ +01b712: 3204 0600 |00eb: if-eq v4, v0, 00f1 // +0006 │ │ +01b716: 6200 1301 |00ed: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ +01b71a: 3304 0500 |00ef: if-ne v4, v0, 00f4 // +0005 │ │ +01b71e: 7010 da02 0300 |00f1: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.handleRestart:()V // method@02da │ │ +01b724: 5430 3701 |00f4: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.stopBtn:Landroid/widget/Button; // field@0137 │ │ +01b728: 3304 0500 |00f6: if-ne v4, v0, 00fb // +0005 │ │ +01b72c: 6e10 d702 0300 |00f8: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.handleExitApp:()V // method@02d7 │ │ +01b732: 5430 2a01 |00fb: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.reloadFilterBtn:Landroid/widget/Button; // field@012a │ │ +01b736: 3304 0500 |00fd: if-ne v4, v0, 0102 // +0005 │ │ +01b73a: 6e10 dc02 0300 |00ff: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.handlefilterReload:()V // method@02dc │ │ +01b740: 6200 0301 |0102: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ +01b744: 3204 1600 |0104: if-eq v4, v0, 011a // +0016 │ │ +01b748: 6200 1101 |0106: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01b74c: 3204 1200 |0108: if-eq v4, v0, 011a // +0012 │ │ +01b750: 6200 2201 |010a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01b754: 3204 0e00 |010c: if-eq v4, v0, 011a // +000e │ │ +01b758: 6200 1201 |010e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01b75c: 3204 0a00 |0110: if-eq v4, v0, 011a // +000a │ │ +01b760: 6200 0601 |0112: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01b764: 3204 0600 |0114: if-eq v4, v0, 011a // +0006 │ │ +01b768: 6200 0c01 |0116: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01b76c: 3304 0800 |0118: if-ne v4, v0, 0120 // +0008 │ │ +01b770: 0740 |011a: move-object v0, v4 │ │ +01b772: 1f00 5f00 |011b: check-cast v0, Landroid/widget/CheckBox; // type@005f │ │ +01b776: 7020 d502 0300 |011d: invoke-direct {v3, v0}, Ldnsfilter/android/DNSProxyActivity;.handleAdvancedConfig:(Landroid/widget/CheckBox;)V // method@02d5 │ │ +01b77c: 6200 1c01 |0120: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ +01b780: 3304 0f00 |0122: if-ne v4, v0, 0131 // +000f │ │ +01b784: 6e10 b700 0000 |0124: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01b78a: 0a04 |0127: move-result v4 │ │ +01b78c: 3804 0600 |0128: if-eqz v4, 012e // +0006 │ │ +01b790: 6e10 0203 0300 |012a: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.remoteWakeLock:()V // method@0302 │ │ +01b796: 2804 |012d: goto 0131 // +0004 │ │ +01b798: 6e10 0103 0300 |012e: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.remoteReleaseWakeLock:()V // method@0301 │ │ +01b79e: 0e00 |0131: return-void │ │ +01b7a0: 6200 0d01 |0132: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupUpBtn:Landroid/widget/Button; // field@010d │ │ +01b7a4: 3304 0300 |0134: if-ne v4, v0, 0137 // +0003 │ │ +01b7a8: 1211 |0136: const/4 v1, #int 1 // #1 │ │ +01b7aa: 7020 d602 1300 |0137: invoke-direct {v3, v1}, Ldnsfilter/android/DNSProxyActivity;.handleBackUpIdChange:(Z)V // method@02d6 │ │ +01b7b0: 0e00 |013a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1137 │ │ 0x0005 line=1138 │ │ 0x000a line=1139 │ │ 0x0014 line=1143 │ │ 0x001c line=1144 │ │ @@ -46419,24 +46419,24 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 18 16-bit code units │ │ -01b7b8: |[01b7b8] dnsfilter.android.DNSProxyActivity.onCopyFilterFromLogView:(Z)V │ │ -01b7c8: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -01b7ca: 7020 d102 0200 |0001: invoke-direct {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02d1 │ │ -01b7d0: 0c00 |0004: move-result-object v0 │ │ -01b7d2: 6201 2001 |0005: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01b7d6: 6e10 c100 0100 |0007: invoke-virtual {v1}, Landroid/widget/EditText;.clearFocus:()V // method@00c1 │ │ -01b7dc: 6e10 7c05 0000 |000a: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -01b7e2: 0c00 |000d: move-result-object v0 │ │ -01b7e4: 6e30 bd02 0203 |000e: invoke-virtual {v2, v0, v3}, Ldnsfilter/android/DNSProxyActivity;.applyCopiedHosts:(Ljava/lang/String;Z)V // method@02bd │ │ -01b7ea: 0e00 |0011: return-void │ │ +01b7b4: |[01b7b4] dnsfilter.android.DNSProxyActivity.onCopyFilterFromLogView:(Z)V │ │ +01b7c4: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +01b7c6: 7020 d102 0200 |0001: invoke-direct {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02d1 │ │ +01b7cc: 0c00 |0004: move-result-object v0 │ │ +01b7ce: 6201 2001 |0005: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01b7d2: 6e10 c100 0100 |0007: invoke-virtual {v1}, Landroid/widget/EditText;.clearFocus:()V // method@00c1 │ │ +01b7d8: 6e10 7c05 0000 |000a: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01b7de: 0c00 |000d: move-result-object v0 │ │ +01b7e0: 6e30 bd02 0203 |000e: invoke-virtual {v2, v0, v3}, Ldnsfilter/android/DNSProxyActivity;.applyCopiedHosts:(Ljava/lang/String;Z)V // method@02bd │ │ +01b7e6: 0e00 |0011: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=1913 │ │ 0x0005 line=1916 │ │ 0x000a line=1918 │ │ locals : │ │ 0x0000 - 0x0012 reg=2 this Ldnsfilter/android/DNSProxyActivity; │ │ @@ -46447,718 +46447,718 @@ │ │ type : '(Landroid/os/Bundle;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 15 │ │ ins : 2 │ │ outs : 6 │ │ insns size : 1490 16-bit code units │ │ -01b7ec: |[01b7ec] dnsfilter.android.DNSProxyActivity.onCreate:(Landroid/os/Bundle;)V │ │ -01b7fc: 1a00 5e05 |0000: const-string v0, "android.permission.POST_NOTIFICATIONS" // string@055e │ │ -01b800: 1a01 880b |0002: const-string v1, "window" // string@0b88 │ │ -01b804: 1a02 0000 |0004: const-string v2, "" // string@0000 │ │ -01b808: 1a03 bc08 |0006: const-string v3, "logcat -d -f" // string@08bc │ │ -01b80c: 1a04 5e09 |0008: const-string v4, "personalDNSfilter V" // string@095e │ │ -01b810: 2205 3900 |000a: new-instance v5, Landroid/os/StrictMode$ThreadPolicy$Builder; // type@0039 │ │ -01b814: 7010 8300 0500 |000c: invoke-direct {v5}, Landroid/os/StrictMode$ThreadPolicy$Builder;.:()V // method@0083 │ │ -01b81a: 6e10 8400 0500 |000f: invoke-virtual {v5}, Landroid/os/StrictMode$ThreadPolicy$Builder;.build:()Landroid/os/StrictMode$ThreadPolicy; // method@0084 │ │ -01b820: 0c05 |0012: move-result-object v5 │ │ -01b822: 7110 8500 0500 |0013: invoke-static {v5}, Landroid/os/StrictMode;.setThreadPolicy:(Landroid/os/StrictMode$ThreadPolicy;)V // method@0085 │ │ -01b828: 6f20 0400 ed00 |0016: invoke-super {v13, v14}, Landroid/app/Activity;.onCreate:(Landroid/os/Bundle;)V // method@0004 │ │ -01b82e: 6e10 cf02 0d00 |0019: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getIntent:()Landroid/content/Intent; // method@02cf │ │ -01b834: 0c0e |001c: move-result-object v14 │ │ -01b836: 1a05 5204 |001d: const-string v5, "SHOULD_FINISH" // string@0452 │ │ -01b83a: 1206 |001f: const/4 v6, #int 0 // #0 │ │ -01b83c: 6e30 4300 5e06 |0020: invoke-virtual {v14, v5, v6}, Landroid/content/Intent;.getBooleanExtra:(Ljava/lang/String;Z)Z // method@0043 │ │ -01b842: 0a0e |0023: move-result v14 │ │ -01b844: 380e 0800 |0024: if-eqz v14, 002c // +0008 │ │ -01b848: 6e10 ca02 0d00 |0026: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.finish:()V // method@02ca │ │ -01b84e: 7110 8e05 0600 |0029: invoke-static {v6}, Ljava/lang/System;.exit:(I)V // method@058e │ │ -01b854: 7110 0d02 0d00 |002c: invoke-static {v13}, Ldnsfilter/android/AndroidEnvironment;.initEnvironment:(Landroid/content/Context;)V // method@020d │ │ -01b85a: 6e20 d302 1d00 |002f: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@02d3 │ │ -01b860: 0c0e |0032: move-result-object v14 │ │ -01b862: 1f0e 5700 |0033: check-cast v14, Landroid/view/WindowManager; // type@0057 │ │ -01b866: 7210 a800 0e00 |0035: invoke-interface {v14}, Landroid/view/WindowManager;.getDefaultDisplay:()Landroid/view/Display; // method@00a8 │ │ -01b86c: 0c0e |0038: move-result-object v14 │ │ -01b86e: 6e10 8f00 0e00 |0039: invoke-virtual {v14}, Landroid/view/Display;.getWidth:()I // method@008f │ │ -01b874: 0a0e |003c: move-result v14 │ │ -01b876: 670e f200 |003d: sput v14, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00f2 │ │ -01b87a: 6e20 d302 1d00 |003f: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@02d3 │ │ -01b880: 0c0e |0042: move-result-object v14 │ │ -01b882: 1f0e 5700 |0043: check-cast v14, Landroid/view/WindowManager; // type@0057 │ │ -01b886: 7210 a800 0e00 |0045: invoke-interface {v14}, Landroid/view/WindowManager;.getDefaultDisplay:()Landroid/view/Display; // method@00a8 │ │ -01b88c: 0c0e |0048: move-result-object v14 │ │ -01b88e: 6e10 8e00 0e00 |0049: invoke-virtual {v14}, Landroid/view/Display;.getHeight:()I // method@008e │ │ -01b894: 0a0e |004c: move-result v14 │ │ -01b896: 670e f100 |004d: sput v14, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_HEIGTH:I // field@00f1 │ │ -01b89a: 620e f700 |004f: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.MsgTO:Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // field@00f7 │ │ -01b89e: 6e20 ab02 de00 |0051: invoke-virtual {v14, v13}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.setActivity:(Ldnsfilter/android/DNSProxyActivity;)V // method@02ab │ │ -01b8a4: 690d f300 |0054: sput-object v13, Ldnsfilter/android/DNSProxyActivity;.INSTANCE:Ldnsfilter/android/DNSProxyActivity; // field@00f3 │ │ -01b8a8: 600e 0200 |0056: sget v14, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01b8ac: 1301 1500 |0058: const/16 v1, #int 21 // #15 │ │ -01b8b0: 341e 2d00 |005a: if-lt v14, v1, 0087 // +002d │ │ -01b8b4: 6e10 d402 0d00 |005c: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getWindow:()Landroid/view/Window; // method@02d4 │ │ -01b8ba: 0c0e |005f: move-result-object v14 │ │ -01b8bc: 1501 0080 |0060: const/high16 v1, #int -2147483648 // #8000 │ │ -01b8c0: 6e20 a200 1e00 |0062: invoke-virtual {v14, v1}, Landroid/view/Window;.addFlags:(I)V // method@00a2 │ │ -01b8c6: 1501 0004 |0065: const/high16 v1, #int 67108864 // #400 │ │ -01b8ca: 6e20 a300 1e00 |0067: invoke-virtual {v14, v1}, Landroid/view/Window;.clearFlags:(I)V // method@00a3 │ │ -01b8d0: 6e10 d002 0d00 |006a: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02d0 │ │ -01b8d6: 0c01 |006d: move-result-object v1 │ │ -01b8d8: 1405 0600 037f |006e: const v5, #float 1.74129e+38 // #7f030006 │ │ -01b8de: 6e20 4e00 5100 |0071: invoke-virtual {v1, v5}, Landroid/content/res/Resources;.getColor:(I)I // method@004e │ │ -01b8e4: 0a01 |0074: move-result v1 │ │ -01b8e6: 7120 5102 1e00 |0075: invoke-static {v14, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/view/Window;I)V // method@0251 │ │ -01b8ec: 6e10 d402 0d00 |0078: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getWindow:()Landroid/view/Window; // method@02d4 │ │ -01b8f2: 0c0e |007b: move-result-object v14 │ │ -01b8f4: 6e10 d002 0d00 |007c: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02d0 │ │ -01b8fa: 0c01 |007f: move-result-object v1 │ │ -01b8fc: 6e20 4e00 5100 |0080: invoke-virtual {v1, v5}, Landroid/content/res/Resources;.getColor:(I)I // method@004e │ │ -01b902: 0a01 |0083: move-result v1 │ │ -01b904: 7120 5602 1e00 |0084: invoke-static {v14, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m$1:(Landroid/view/Window;I)V // method@0256 │ │ -01b90a: 140e 0b00 067f |0087: const v14, #float 1.78117e+38 // #7f06000b │ │ -01b910: 6e20 0503 ed00 |008a: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.setContentView:(I)V // method@0305 │ │ -01b916: 620e 2001 |008d: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01b91a: 1501 80bf |008f: const/high16 v1, #int -1082130432 // #bf80 │ │ -01b91e: 1205 |0091: const/4 v5, #int 0 // #0 │ │ -01b920: 380e 0d00 |0092: if-eqz v14, 009f // +000d │ │ -01b924: 6e10 c500 0e00 |0094: invoke-virtual {v14}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ -01b92a: 0c0e |0097: move-result-object v14 │ │ -01b92c: 6207 2001 |0098: sget-object v7, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01b930: 6e10 c600 0700 |009a: invoke-virtual {v7}, Landroid/widget/EditText;.getTextSize:()F // method@00c6 │ │ -01b936: 0a07 |009d: move-result v7 │ │ -01b938: 2804 |009e: goto 00a2 // +0004 │ │ -01b93a: 075e |009f: move-object v14, v5 │ │ -01b93c: 1507 80bf |00a0: const/high16 v7, #int -1082130432 // #bf80 │ │ -01b940: 1408 3f00 057f |00a2: const v8, #float 1.76789e+38 // #7f05003f │ │ -01b946: 6e20 c902 8d00 |00a5: invoke-virtual {v13, v8}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01b94c: 0c08 |00a8: move-result-object v8 │ │ -01b94e: 1f08 6200 |00a9: check-cast v8, Landroid/widget/EditText; // type@0062 │ │ -01b952: 6908 2001 |00ab: sput-object v8, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01b956: 2d01 0701 |00ad: cmpl-float v1, v7, v1 │ │ -01b95a: 3801 0500 |00af: if-eqz v1, 00b4 // +0005 │ │ -01b95e: 6e30 d200 6807 |00b1: invoke-virtual {v8, v6, v7}, Landroid/widget/EditText;.setTextSize:(IF)V // method@00d2 │ │ -01b964: 380e 0800 |00b4: if-eqz v14, 00bc // +0008 │ │ -01b968: 6201 2001 |00b6: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01b96c: 6e20 d100 e100 |00b8: invoke-virtual {v1, v14}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ -01b972: 280c |00bb: goto 00c7 // +000c │ │ -01b974: 620e 2001 |00bc: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01b978: 1a01 a100 |00be: const-string v1, "****This is personalDNSfilter V+1505701****

" // string@00a1 │ │ -01b97c: 7110 cb02 0100 |00c0: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02cb │ │ -01b982: 0c01 |00c3: move-result-object v1 │ │ -01b984: 6e20 d100 1e00 |00c4: invoke-virtual {v14, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ -01b98a: 620e 2001 |00c7: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01b98e: 6e20 cb00 5e00 |00c9: invoke-virtual {v14, v5}, Landroid/widget/EditText;.setKeyListener:(Landroid/text/method/KeyListener;)V // method@00cb │ │ -01b994: 620e 2001 |00cc: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01b998: 6e20 c700 de00 |00ce: invoke-virtual {v14, v13}, Landroid/widget/EditText;.setCustomSelectionActionModeCallback:(Landroid/view/ActionMode$Callback;)V // method@00c7 │ │ -01b99e: 620e 2001 |00d1: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01b9a2: 6e20 ce00 de00 |00d3: invoke-virtual {v14, v13}, Landroid/widget/EditText;.setOnTouchListener:(Landroid/view/View$OnTouchListener;)V // method@00ce │ │ -01b9a8: 620e 2001 |00d6: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01b9ac: 6e20 cd00 de00 |00d8: invoke-virtual {v14, v13}, Landroid/widget/EditText;.setOnFocusChangeListener:(Landroid/view/View$OnFocusChangeListener;)V // method@00cd │ │ -01b9b2: 620e 2001 |00db: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01b9b6: 6e20 cc00 de00 |00dd: invoke-virtual {v14, v13}, Landroid/widget/EditText;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00cc │ │ -01b9bc: 1a0e a200 |00e0: const-string v14, "" // string@00a2 │ │ -01b9c0: 1a01 5800 |00e2: const-string v1, "-1" // string@0058 │ │ -01b9c4: 6207 f000 |00e4: sget-object v7, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01b9c8: 6e10 4101 0700 |00e6: invoke-virtual {v7}, Ldnsfilter/ConfigurationAccess;.getVersion:()Ljava/lang/String; // method@0141 │ │ -01b9ce: 0c0e |00e9: move-result-object v14 │ │ -01b9d0: 2207 2801 |00ea: new-instance v7, Ljava/lang/StringBuilder; // type@0128 │ │ -01b9d4: 7010 8305 0700 |00ec: invoke-direct {v7}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -01b9da: 6208 f000 |00ef: sget-object v8, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01b9de: 6e10 4401 0800 |00f1: invoke-virtual {v8}, Ldnsfilter/ConfigurationAccess;.openConnectionsCount:()I // method@0144 │ │ -01b9e4: 0a08 |00f4: move-result v8 │ │ -01b9e6: 6e20 8605 8700 |00f5: invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -01b9ec: 6e20 8905 2700 |00f8: invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01b9f2: 6e10 8b05 0700 |00fb: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01b9f8: 0c01 |00fe: move-result-object v1 │ │ -01b9fa: 281a |00ff: goto 0119 // +001a │ │ -01b9fc: 0d07 |0100: move-exception v7 │ │ -01b9fe: 2208 2801 |0101: new-instance v8, Ljava/lang/StringBuilder; // type@0128 │ │ -01ba02: 7010 8305 0800 |0103: invoke-direct {v8}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -01ba08: 6e10 0005 0700 |0106: invoke-virtual {v7}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ -01ba0e: 0c07 |0109: move-result-object v7 │ │ -01ba10: 6e20 8905 7800 |010a: invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01ba16: 1a07 0200 |010d: const-string v7, " │ │ +01b7e8: |[01b7e8] dnsfilter.android.DNSProxyActivity.onCreate:(Landroid/os/Bundle;)V │ │ +01b7f8: 1a00 5e05 |0000: const-string v0, "android.permission.POST_NOTIFICATIONS" // string@055e │ │ +01b7fc: 1a01 880b |0002: const-string v1, "window" // string@0b88 │ │ +01b800: 1a02 0000 |0004: const-string v2, "" // string@0000 │ │ +01b804: 1a03 bc08 |0006: const-string v3, "logcat -d -f" // string@08bc │ │ +01b808: 1a04 5e09 |0008: const-string v4, "personalDNSfilter V" // string@095e │ │ +01b80c: 2205 3900 |000a: new-instance v5, Landroid/os/StrictMode$ThreadPolicy$Builder; // type@0039 │ │ +01b810: 7010 8300 0500 |000c: invoke-direct {v5}, Landroid/os/StrictMode$ThreadPolicy$Builder;.:()V // method@0083 │ │ +01b816: 6e10 8400 0500 |000f: invoke-virtual {v5}, Landroid/os/StrictMode$ThreadPolicy$Builder;.build:()Landroid/os/StrictMode$ThreadPolicy; // method@0084 │ │ +01b81c: 0c05 |0012: move-result-object v5 │ │ +01b81e: 7110 8500 0500 |0013: invoke-static {v5}, Landroid/os/StrictMode;.setThreadPolicy:(Landroid/os/StrictMode$ThreadPolicy;)V // method@0085 │ │ +01b824: 6f20 0400 ed00 |0016: invoke-super {v13, v14}, Landroid/app/Activity;.onCreate:(Landroid/os/Bundle;)V // method@0004 │ │ +01b82a: 6e10 cf02 0d00 |0019: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getIntent:()Landroid/content/Intent; // method@02cf │ │ +01b830: 0c0e |001c: move-result-object v14 │ │ +01b832: 1a05 5204 |001d: const-string v5, "SHOULD_FINISH" // string@0452 │ │ +01b836: 1206 |001f: const/4 v6, #int 0 // #0 │ │ +01b838: 6e30 4300 5e06 |0020: invoke-virtual {v14, v5, v6}, Landroid/content/Intent;.getBooleanExtra:(Ljava/lang/String;Z)Z // method@0043 │ │ +01b83e: 0a0e |0023: move-result v14 │ │ +01b840: 380e 0800 |0024: if-eqz v14, 002c // +0008 │ │ +01b844: 6e10 ca02 0d00 |0026: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.finish:()V // method@02ca │ │ +01b84a: 7110 8e05 0600 |0029: invoke-static {v6}, Ljava/lang/System;.exit:(I)V // method@058e │ │ +01b850: 7110 0d02 0d00 |002c: invoke-static {v13}, Ldnsfilter/android/AndroidEnvironment;.initEnvironment:(Landroid/content/Context;)V // method@020d │ │ +01b856: 6e20 d302 1d00 |002f: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@02d3 │ │ +01b85c: 0c0e |0032: move-result-object v14 │ │ +01b85e: 1f0e 5700 |0033: check-cast v14, Landroid/view/WindowManager; // type@0057 │ │ +01b862: 7210 a800 0e00 |0035: invoke-interface {v14}, Landroid/view/WindowManager;.getDefaultDisplay:()Landroid/view/Display; // method@00a8 │ │ +01b868: 0c0e |0038: move-result-object v14 │ │ +01b86a: 6e10 8f00 0e00 |0039: invoke-virtual {v14}, Landroid/view/Display;.getWidth:()I // method@008f │ │ +01b870: 0a0e |003c: move-result v14 │ │ +01b872: 670e f200 |003d: sput v14, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00f2 │ │ +01b876: 6e20 d302 1d00 |003f: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@02d3 │ │ +01b87c: 0c0e |0042: move-result-object v14 │ │ +01b87e: 1f0e 5700 |0043: check-cast v14, Landroid/view/WindowManager; // type@0057 │ │ +01b882: 7210 a800 0e00 |0045: invoke-interface {v14}, Landroid/view/WindowManager;.getDefaultDisplay:()Landroid/view/Display; // method@00a8 │ │ +01b888: 0c0e |0048: move-result-object v14 │ │ +01b88a: 6e10 8e00 0e00 |0049: invoke-virtual {v14}, Landroid/view/Display;.getHeight:()I // method@008e │ │ +01b890: 0a0e |004c: move-result v14 │ │ +01b892: 670e f100 |004d: sput v14, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_HEIGTH:I // field@00f1 │ │ +01b896: 620e f700 |004f: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.MsgTO:Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // field@00f7 │ │ +01b89a: 6e20 ab02 de00 |0051: invoke-virtual {v14, v13}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.setActivity:(Ldnsfilter/android/DNSProxyActivity;)V // method@02ab │ │ +01b8a0: 690d f300 |0054: sput-object v13, Ldnsfilter/android/DNSProxyActivity;.INSTANCE:Ldnsfilter/android/DNSProxyActivity; // field@00f3 │ │ +01b8a4: 600e 0200 |0056: sget v14, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01b8a8: 1301 1500 |0058: const/16 v1, #int 21 // #15 │ │ +01b8ac: 341e 2d00 |005a: if-lt v14, v1, 0087 // +002d │ │ +01b8b0: 6e10 d402 0d00 |005c: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getWindow:()Landroid/view/Window; // method@02d4 │ │ +01b8b6: 0c0e |005f: move-result-object v14 │ │ +01b8b8: 1501 0080 |0060: const/high16 v1, #int -2147483648 // #8000 │ │ +01b8bc: 6e20 a200 1e00 |0062: invoke-virtual {v14, v1}, Landroid/view/Window;.addFlags:(I)V // method@00a2 │ │ +01b8c2: 1501 0004 |0065: const/high16 v1, #int 67108864 // #400 │ │ +01b8c6: 6e20 a300 1e00 |0067: invoke-virtual {v14, v1}, Landroid/view/Window;.clearFlags:(I)V // method@00a3 │ │ +01b8cc: 6e10 d002 0d00 |006a: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02d0 │ │ +01b8d2: 0c01 |006d: move-result-object v1 │ │ +01b8d4: 1405 0600 037f |006e: const v5, #float 1.74129e+38 // #7f030006 │ │ +01b8da: 6e20 4e00 5100 |0071: invoke-virtual {v1, v5}, Landroid/content/res/Resources;.getColor:(I)I // method@004e │ │ +01b8e0: 0a01 |0074: move-result v1 │ │ +01b8e2: 7120 5102 1e00 |0075: invoke-static {v14, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/view/Window;I)V // method@0251 │ │ +01b8e8: 6e10 d402 0d00 |0078: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getWindow:()Landroid/view/Window; // method@02d4 │ │ +01b8ee: 0c0e |007b: move-result-object v14 │ │ +01b8f0: 6e10 d002 0d00 |007c: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02d0 │ │ +01b8f6: 0c01 |007f: move-result-object v1 │ │ +01b8f8: 6e20 4e00 5100 |0080: invoke-virtual {v1, v5}, Landroid/content/res/Resources;.getColor:(I)I // method@004e │ │ +01b8fe: 0a01 |0083: move-result v1 │ │ +01b900: 7120 5602 1e00 |0084: invoke-static {v14, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m$1:(Landroid/view/Window;I)V // method@0256 │ │ +01b906: 140e 0b00 067f |0087: const v14, #float 1.78117e+38 // #7f06000b │ │ +01b90c: 6e20 0503 ed00 |008a: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.setContentView:(I)V // method@0305 │ │ +01b912: 620e 2001 |008d: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01b916: 1501 80bf |008f: const/high16 v1, #int -1082130432 // #bf80 │ │ +01b91a: 1205 |0091: const/4 v5, #int 0 // #0 │ │ +01b91c: 380e 0d00 |0092: if-eqz v14, 009f // +000d │ │ +01b920: 6e10 c500 0e00 |0094: invoke-virtual {v14}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ +01b926: 0c0e |0097: move-result-object v14 │ │ +01b928: 6207 2001 |0098: sget-object v7, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01b92c: 6e10 c600 0700 |009a: invoke-virtual {v7}, Landroid/widget/EditText;.getTextSize:()F // method@00c6 │ │ +01b932: 0a07 |009d: move-result v7 │ │ +01b934: 2804 |009e: goto 00a2 // +0004 │ │ +01b936: 075e |009f: move-object v14, v5 │ │ +01b938: 1507 80bf |00a0: const/high16 v7, #int -1082130432 // #bf80 │ │ +01b93c: 1408 3f00 057f |00a2: const v8, #float 1.76789e+38 // #7f05003f │ │ +01b942: 6e20 c902 8d00 |00a5: invoke-virtual {v13, v8}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01b948: 0c08 |00a8: move-result-object v8 │ │ +01b94a: 1f08 6200 |00a9: check-cast v8, Landroid/widget/EditText; // type@0062 │ │ +01b94e: 6908 2001 |00ab: sput-object v8, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01b952: 2d01 0701 |00ad: cmpl-float v1, v7, v1 │ │ +01b956: 3801 0500 |00af: if-eqz v1, 00b4 // +0005 │ │ +01b95a: 6e30 d200 6807 |00b1: invoke-virtual {v8, v6, v7}, Landroid/widget/EditText;.setTextSize:(IF)V // method@00d2 │ │ +01b960: 380e 0800 |00b4: if-eqz v14, 00bc // +0008 │ │ +01b964: 6201 2001 |00b6: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01b968: 6e20 d100 e100 |00b8: invoke-virtual {v1, v14}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ +01b96e: 280c |00bb: goto 00c7 // +000c │ │ +01b970: 620e 2001 |00bc: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01b974: 1a01 a100 |00be: const-string v1, "****This is personalDNSfilter V+1505701****

" // string@00a1 │ │ +01b978: 7110 cb02 0100 |00c0: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02cb │ │ +01b97e: 0c01 |00c3: move-result-object v1 │ │ +01b980: 6e20 d100 1e00 |00c4: invoke-virtual {v14, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ +01b986: 620e 2001 |00c7: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01b98a: 6e20 cb00 5e00 |00c9: invoke-virtual {v14, v5}, Landroid/widget/EditText;.setKeyListener:(Landroid/text/method/KeyListener;)V // method@00cb │ │ +01b990: 620e 2001 |00cc: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01b994: 6e20 c700 de00 |00ce: invoke-virtual {v14, v13}, Landroid/widget/EditText;.setCustomSelectionActionModeCallback:(Landroid/view/ActionMode$Callback;)V // method@00c7 │ │ +01b99a: 620e 2001 |00d1: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01b99e: 6e20 ce00 de00 |00d3: invoke-virtual {v14, v13}, Landroid/widget/EditText;.setOnTouchListener:(Landroid/view/View$OnTouchListener;)V // method@00ce │ │ +01b9a4: 620e 2001 |00d6: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01b9a8: 6e20 cd00 de00 |00d8: invoke-virtual {v14, v13}, Landroid/widget/EditText;.setOnFocusChangeListener:(Landroid/view/View$OnFocusChangeListener;)V // method@00cd │ │ +01b9ae: 620e 2001 |00db: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01b9b2: 6e20 cc00 de00 |00dd: invoke-virtual {v14, v13}, Landroid/widget/EditText;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00cc │ │ +01b9b8: 1a0e a200 |00e0: const-string v14, "" // string@00a2 │ │ +01b9bc: 1a01 5800 |00e2: const-string v1, "-1" // string@0058 │ │ +01b9c0: 6207 f000 |00e4: sget-object v7, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01b9c4: 6e10 4101 0700 |00e6: invoke-virtual {v7}, Ldnsfilter/ConfigurationAccess;.getVersion:()Ljava/lang/String; // method@0141 │ │ +01b9ca: 0c0e |00e9: move-result-object v14 │ │ +01b9cc: 2207 2801 |00ea: new-instance v7, Ljava/lang/StringBuilder; // type@0128 │ │ +01b9d0: 7010 8305 0700 |00ec: invoke-direct {v7}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +01b9d6: 6208 f000 |00ef: sget-object v8, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01b9da: 6e10 4401 0800 |00f1: invoke-virtual {v8}, Ldnsfilter/ConfigurationAccess;.openConnectionsCount:()I // method@0144 │ │ +01b9e0: 0a08 |00f4: move-result v8 │ │ +01b9e2: 6e20 8605 8700 |00f5: invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +01b9e8: 6e20 8905 2700 |00f8: invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01b9ee: 6e10 8b05 0700 |00fb: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01b9f4: 0c01 |00fe: move-result-object v1 │ │ +01b9f6: 281a |00ff: goto 0119 // +001a │ │ +01b9f8: 0d07 |0100: move-exception v7 │ │ +01b9fa: 2208 2801 |0101: new-instance v8, Ljava/lang/StringBuilder; // type@0128 │ │ +01b9fe: 7010 8305 0800 |0103: invoke-direct {v8}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +01ba04: 6e10 0005 0700 |0106: invoke-virtual {v7}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ +01ba0a: 0c07 |0109: move-result-object v7 │ │ +01ba0c: 6e20 8905 7800 |010a: invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01ba12: 1a07 0200 |010d: const-string v7, " │ │ " // string@0002 │ │ -01ba1a: 6e20 8905 7800 |010f: invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01ba20: 6e10 8b05 0800 |0112: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01ba26: 0c07 |0115: move-result-object v7 │ │ -01ba28: 7020 bb02 7d00 |0116: invoke-direct {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.addToLogView:(Ljava/lang/String;)V // method@02bb │ │ -01ba2e: 2207 2801 |0119: new-instance v7, Ljava/lang/StringBuilder; // type@0128 │ │ -01ba32: 7020 8405 4700 |011b: invoke-direct {v7, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -01ba38: 6e20 8905 e700 |011e: invoke-virtual {v7, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01ba3e: 1a0e 0f00 |0121: const-string v14, " (Connections:" // string@000f │ │ -01ba42: 6e20 8905 e700 |0123: invoke-virtual {v7, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01ba48: 6e20 8905 1700 |0126: invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01ba4e: 1a0e 4800 |0129: const-string v14, ")" // string@0048 │ │ -01ba52: 6e20 8905 e700 |012b: invoke-virtual {v7, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01ba58: 6e10 8b05 0700 |012e: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01ba5e: 0c0e |0131: move-result-object v14 │ │ -01ba60: 6e20 0803 ed00 |0132: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.setTitle:(Ljava/lang/CharSequence;)V // method@0308 │ │ -01ba66: 620e 1601 |0135: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -01ba6a: 380e 1200 |0137: if-eqz v14, 0149 // +0012 │ │ -01ba6e: 6e10 1703 0e00 |0139: invoke-virtual {v14}, Ldnsfilter/android/FilterConfig;.getFilterEntries:()[Ldnsfilter/ConfigUtil$HostFilterList; // method@0317 │ │ -01ba74: 0c0e |013c: move-result-object v14 │ │ -01ba76: 6201 1601 |013d: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -01ba7a: 6e10 1603 0100 |013f: invoke-virtual {v1}, Ldnsfilter/android/FilterConfig;.getCurrentCategory:()Ljava/lang/String; // method@0316 │ │ -01ba80: 0c01 |0142: move-result-object v1 │ │ -01ba82: 6204 1601 |0143: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -01ba86: 6e10 1403 0400 |0145: invoke-virtual {v4}, Ldnsfilter/android/FilterConfig;.clear:()V // method@0314 │ │ -01ba8c: 2803 |0148: goto 014b // +0003 │ │ -01ba8e: 075e |0149: move-object v14, v5 │ │ -01ba90: 07e1 |014a: move-object v1, v14 │ │ -01ba92: 1404 0400 057f |014b: const v4, #float 1.76787e+38 // #7f050004 │ │ -01ba98: 6e20 c902 4d00 |014e: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01ba9e: 0c04 |0151: move-result-object v4 │ │ -01baa0: 0749 |0152: move-object v9, v4 │ │ -01baa2: 1f09 5e00 |0153: check-cast v9, Landroid/widget/Button; // type@005e │ │ -01baa6: 1404 0300 057f |0155: const v4, #float 1.76787e+38 // #7f050003 │ │ -01baac: 6e20 c902 4d00 |0158: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01bab2: 0c04 |015b: move-result-object v4 │ │ -01bab4: 074a |015c: move-object v10, v4 │ │ -01bab6: 1f0a 5e00 |015d: check-cast v10, Landroid/widget/Button; // type@005e │ │ -01baba: 1404 1700 057f |015f: const v4, #float 1.76788e+38 // #7f050017 │ │ -01bac0: 6e20 c902 4d00 |0162: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01bac6: 0c04 |0165: move-result-object v4 │ │ -01bac8: 074b |0166: move-object v11, v4 │ │ -01baca: 1f0b 6e00 |0167: check-cast v11, Landroid/widget/TextView; // type@006e │ │ -01bace: 1404 5600 057f |0169: const v4, #float 1.76789e+38 // #7f050056 │ │ -01bad4: 6e20 c902 4d00 |016c: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01bada: 0c04 |016f: move-result-object v4 │ │ -01badc: 074c |0170: move-object v12, v4 │ │ -01bade: 1f0c 5e00 |0171: check-cast v12, Landroid/widget/Button; // type@005e │ │ -01bae2: 2204 ac00 |0173: new-instance v4, Ldnsfilter/android/FilterConfig; // type@00ac │ │ -01bae6: 1407 3300 057f |0175: const v7, #float 1.76788e+38 // #7f050033 │ │ -01baec: 6e20 c902 7d00 |0178: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01baf2: 0c07 |017b: move-result-object v7 │ │ -01baf4: 0778 |017c: move-object v8, v7 │ │ -01baf6: 1f08 6c00 |017d: check-cast v8, Landroid/widget/TableLayout; // type@006c │ │ -01bafa: 0747 |017f: move-object v7, v4 │ │ -01bafc: 7606 1103 0700 |0180: invoke-direct/range {v7, v8, v9, v10, v11, v12}, Ldnsfilter/android/FilterConfig;.:(Landroid/widget/TableLayout;Landroid/widget/Button;Landroid/widget/Button;Landroid/widget/TextView;Landroid/widget/Button;)V // method@0311 │ │ -01bb02: 6904 1601 |0183: sput-object v4, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -01bb06: 380e 0a00 |0185: if-eqz v14, 018f // +000a │ │ -01bb0a: 6e20 2003 e400 |0187: invoke-virtual {v4, v14}, Ldnsfilter/android/FilterConfig;.setEntries:([Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0320 │ │ -01bb10: 620e 1601 |018a: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -01bb14: 6e20 1f03 1e00 |018c: invoke-virtual {v14, v1}, Ldnsfilter/android/FilterConfig;.setCurrentCategory:(Ljava/lang/String;)V // method@031f │ │ -01bb1a: 620e 1801 |018f: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ -01bb1e: 380e 0b00 |0191: if-eqz v14, 019c // +000b │ │ -01bb22: 6e10 c500 0e00 |0193: invoke-virtual {v14}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ -01bb28: 0c0e |0196: move-result-object v14 │ │ -01bb2a: 6e10 5405 0e00 |0197: invoke-virtual {v14}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ -01bb30: 0c0e |019a: move-result-object v14 │ │ -01bb32: 2802 |019b: goto 019d // +0002 │ │ -01bb34: 072e |019c: move-object v14, v2 │ │ -01bb36: 1401 3500 057f |019d: const v1, #float 1.76788e+38 // #7f050035 │ │ -01bb3c: 6e20 c902 1d00 |01a0: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01bb42: 0c01 |01a3: move-result-object v1 │ │ -01bb44: 1f01 6200 |01a4: check-cast v1, Landroid/widget/EditText; // type@0062 │ │ -01bb48: 6901 1801 |01a6: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ -01bb4c: 6e20 d100 e100 |01a8: invoke-virtual {v1, v14}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ -01bb52: 140e 5f00 057f |01ab: const v14, #float 1.76789e+38 // #7f05005f │ │ -01bb58: 6e20 c902 ed00 |01ae: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01bb5e: 0c0e |01b1: move-result-object v14 │ │ -01bb60: 1f0e 5e00 |01b2: check-cast v14, Landroid/widget/Button; // type@005e │ │ -01bb64: 5bde 3601 |01b4: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.startBtn:Landroid/widget/Button; // field@0136 │ │ -01bb68: 6e20 b000 de00 |01b6: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ -01bb6e: 140e 6000 057f |01b9: const v14, #float 1.76789e+38 // #7f050060 │ │ -01bb74: 6e20 c902 ed00 |01bc: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01bb7a: 0c0e |01bf: move-result-object v14 │ │ -01bb7c: 1f0e 5e00 |01c0: check-cast v14, Landroid/widget/Button; // type@005e │ │ -01bb80: 5bde 3701 |01c2: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.stopBtn:Landroid/widget/Button; // field@0137 │ │ -01bb84: 6e20 b000 de00 |01c4: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ -01bb8a: 140e 3100 057f |01c7: const v14, #float 1.76788e+38 // #7f050031 │ │ -01bb90: 6e20 c902 ed00 |01ca: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01bb96: 0c0e |01cd: move-result-object v14 │ │ -01bb98: 1f0e 5e00 |01ce: check-cast v14, Landroid/widget/Button; // type@005e │ │ -01bb9c: 5bde 2a01 |01d0: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.reloadFilterBtn:Landroid/widget/Button; // field@012a │ │ -01bba0: 6e20 b000 de00 |01d2: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ -01bba6: 140e 3600 057f |01d5: const v14, #float 1.76788e+38 // #7f050036 │ │ -01bbac: 6e20 c902 ed00 |01d8: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01bbb2: 0c0e |01db: move-result-object v14 │ │ -01bbb4: 1f0e 5e00 |01dc: check-cast v14, Landroid/widget/Button; // type@005e │ │ -01bbb8: 5bde 1a01 |01de: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.helpBtn:Landroid/widget/Button; // field@011a │ │ -01bbbc: 6e20 b000 de00 |01e0: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ -01bbc2: 140e 5100 057f |01e3: const v14, #float 1.76789e+38 // #7f050051 │ │ -01bbc8: 6e20 c902 ed00 |01e6: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01bbce: 0c0e |01e9: move-result-object v14 │ │ -01bbd0: 1f0e 5e00 |01ea: check-cast v14, Landroid/widget/Button; // type@005e │ │ -01bbd4: 5bde 2b01 |01ec: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ -01bbd8: 620e f000 |01ee: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01bbdc: 6e10 4301 0e00 |01f0: invoke-virtual {v14}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0143 │ │ -01bbe2: 0a0e |01f3: move-result v14 │ │ -01bbe4: 390e 1300 |01f4: if-nez v14, 0207 // +0013 │ │ -01bbe8: 54de 2b01 |01f6: iget-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ -01bbec: 6e10 d002 0d00 |01f8: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02d0 │ │ -01bbf2: 0c01 |01fb: move-result-object v1 │ │ -01bbf4: 1404 2b00 047f |01fc: const v4, #float 1.75459e+38 // #7f04002b │ │ -01bbfa: 6e20 5000 4100 |01ff: invoke-virtual {v1, v4}, Landroid/content/res/Resources;.getDrawable:(I)Landroid/graphics/drawable/Drawable; // method@0050 │ │ -01bc00: 0c01 |0202: move-result-object v1 │ │ -01bc02: 6e55 af00 5e15 |0203: invoke-virtual {v14, v5, v5, v1, v5}, Landroid/widget/Button;.setCompoundDrawablesWithIntrinsicBounds:(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V // method@00af │ │ -01bc08: 2811 |0206: goto 0217 // +0011 │ │ -01bc0a: 54de 2b01 |0207: iget-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ -01bc0e: 6e10 d002 0d00 |0209: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02d0 │ │ -01bc14: 0c01 |020c: move-result-object v1 │ │ -01bc16: 1404 2c00 047f |020d: const v4, #float 1.75459e+38 // #7f04002c │ │ -01bc1c: 6e20 5000 4100 |0210: invoke-virtual {v1, v4}, Landroid/content/res/Resources;.getDrawable:(I)Landroid/graphics/drawable/Drawable; // method@0050 │ │ -01bc22: 0c01 |0213: move-result-object v1 │ │ -01bc24: 6e55 af00 5e15 |0214: invoke-virtual {v14, v5, v5, v1, v5}, Landroid/widget/Button;.setCompoundDrawablesWithIntrinsicBounds:(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V // method@00af │ │ -01bc2a: 54de 2b01 |0217: iget-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ -01bc2e: 6e20 b000 de00 |0219: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ -01bc34: 140e 1200 057f |021c: const v14, #float 1.76788e+38 // #7f050012 │ │ -01bc3a: 6e20 c902 ed00 |021f: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01bc40: 0c0e |0222: move-result-object v14 │ │ -01bc42: 1f0e 5e00 |0223: check-cast v14, Landroid/widget/Button; // type@005e │ │ -01bc46: 690e 0a01 |0225: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.backupBtn:Landroid/widget/Button; // field@010a │ │ -01bc4a: 6e20 b000 de00 |0227: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ -01bc50: 140e 0500 057f |022a: const v14, #float 1.76787e+38 // #7f050005 │ │ -01bc56: 6e20 c902 ed00 |022d: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01bc5c: 0c0e |0230: move-result-object v14 │ │ -01bc5e: 1f0e 5e00 |0231: check-cast v14, Landroid/widget/Button; // type@005e │ │ -01bc62: 690e 2e01 |0233: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.restoreBtn:Landroid/widget/Button; // field@012e │ │ -01bc66: 6e20 b000 de00 |0235: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ -01bc6c: 140e 0600 057f |0238: const v14, #float 1.76787e+38 // #7f050006 │ │ -01bc72: 6e20 c902 ed00 |023b: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01bc78: 0c0e |023e: move-result-object v14 │ │ -01bc7a: 1f0e 5e00 |023f: check-cast v14, Landroid/widget/Button; // type@005e │ │ -01bc7e: 690e 2f01 |0241: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.restoreDefaultsBtn:Landroid/widget/Button; // field@012f │ │ -01bc82: 6e20 b000 de00 |0243: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ -01bc88: 140e 0100 057f |0246: const v14, #float 1.76787e+38 // #7f050001 │ │ -01bc8e: 6e20 c902 ed00 |0249: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01bc94: 0c0e |024c: move-result-object v14 │ │ -01bc96: 1f0e 5e00 |024d: check-cast v14, Landroid/widget/Button; // type@005e │ │ -01bc9a: 690e 0b01 |024f: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.backupDnBtn:Landroid/widget/Button; // field@010b │ │ -01bc9e: 6e20 b000 de00 |0251: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ -01bca4: 140e 0200 057f |0254: const v14, #float 1.76787e+38 // #7f050002 │ │ -01bcaa: 6e20 c902 ed00 |0257: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01bcb0: 0c0e |025a: move-result-object v14 │ │ -01bcb2: 1f0e 5e00 |025b: check-cast v14, Landroid/widget/Button; // type@005e │ │ -01bcb6: 690e 0d01 |025d: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.backupUpBtn:Landroid/widget/Button; // field@010d │ │ -01bcba: 6e20 b000 de00 |025f: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ -01bcc0: 140e 0800 057f |0262: const v14, #float 1.76787e+38 // #7f050008 │ │ -01bcc6: 6e20 c902 ed00 |0265: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01bccc: 0c0e |0268: move-result-object v14 │ │ -01bcce: 1f0e 6e00 |0269: check-cast v14, Landroid/widget/TextView; // type@006e │ │ -01bcd2: 690e ff00 |026b: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.addFilterBtn:Landroid/widget/TextView; // field@00ff │ │ -01bcd6: 6e20 f300 de00 |026d: invoke-virtual {v14, v13}, Landroid/widget/TextView;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00f3 │ │ -01bcdc: 140e 5500 057f |0270: const v14, #float 1.76789e+38 // #7f050055 │ │ -01bce2: 6e20 c902 ed00 |0273: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01bce8: 0c0e |0276: move-result-object v14 │ │ -01bcea: 1f0e 6e00 |0277: check-cast v14, Landroid/widget/TextView; // type@006e │ │ -01bcee: 690e 2c01 |0279: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.removeFilterBtn:Landroid/widget/TextView; // field@012c │ │ -01bcf2: 6e20 f300 de00 |027b: invoke-virtual {v14, v13}, Landroid/widget/TextView;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00f3 │ │ -01bcf8: 140e 3e00 057f |027e: const v14, #float 1.76789e+38 // #7f05003e │ │ -01bcfe: 6e20 c902 ed00 |0281: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01bd04: 0c0e |0284: move-result-object v14 │ │ -01bd06: 1f0e 6e00 |0285: check-cast v14, Landroid/widget/TextView; // type@006e │ │ -01bd0a: 690e 1d01 |0287: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ -01bd0e: 6201 1f01 |0289: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.link_field_txt:Ljava/lang/String; // field@011f │ │ -01bd12: 7110 cb02 0100 |028b: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02cb │ │ -01bd18: 0c01 |028e: move-result-object v1 │ │ -01bd1a: 6e20 f400 1e00 |028f: invoke-virtual {v14, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01bd20: 620e 1d01 |0292: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ -01bd24: 7100 8c00 0000 |0294: invoke-static {}, Landroid/text/method/LinkMovementMethod;.getInstance:()Landroid/text/method/MovementMethod; // method@008c │ │ -01bd2a: 0c01 |0297: move-result-object v1 │ │ -01bd2c: 6e20 f200 1e00 |0298: invoke-virtual {v14, v1}, Landroid/widget/TextView;.setMovementMethod:(Landroid/text/method/MovementMethod;)V // method@00f2 │ │ -01bd32: 620e 1d01 |029b: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ -01bd36: 6e10 ee00 0e00 |029d: invoke-virtual {v14}, Landroid/widget/TextView;.getBackground:()Landroid/graphics/drawable/Drawable; // method@00ee │ │ -01bd3c: 0c0e |02a0: move-result-object v14 │ │ -01bd3e: 20e1 2500 |02a1: instance-of v1, v14, Landroid/graphics/drawable/ColorDrawable; // type@0025 │ │ -01bd42: 3801 0a00 |02a3: if-eqz v1, 02ad // +000a │ │ -01bd46: 1f0e 2500 |02a5: check-cast v14, Landroid/graphics/drawable/ColorDrawable; // type@0025 │ │ -01bd4a: 6e10 5600 0e00 |02a7: invoke-virtual {v14}, Landroid/graphics/drawable/ColorDrawable;.getColor:()I // method@0056 │ │ -01bd50: 0a0e |02aa: move-result v14 │ │ -01bd52: 670e 1e01 |02ab: sput v14, Ldnsfilter/android/DNSProxyActivity;.link_field_color:I // field@011e │ │ -01bd56: 140e 5b00 057f |02ad: const v14, #float 1.76789e+38 // #7f05005b │ │ -01bd5c: 6e20 c902 ed00 |02b0: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01bd62: 0c0e |02b3: move-result-object v14 │ │ -01bd64: 1f0e 6e00 |02b4: check-cast v14, Landroid/widget/TextView; // type@006e │ │ -01bd68: 690e 3101 |02b6: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ -01bd6c: 6301 3301 |02b8: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ -01bd70: 3801 0800 |02ba: if-eqz v1, 02c2 // +0008 │ │ -01bd74: 6201 fc00 |02bc: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.SCROLL_CONTINUE:Ljava/lang/String; // field@00fc │ │ -01bd78: 6e20 f400 1e00 |02be: invoke-virtual {v14, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01bd7e: 2806 |02c1: goto 02c7 // +0006 │ │ -01bd80: 6201 fd00 |02c2: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.SCROLL_PAUSE:Ljava/lang/String; // field@00fd │ │ -01bd84: 6e20 f400 1e00 |02c4: invoke-virtual {v14, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01bd8a: 620e 3101 |02c7: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ -01bd8e: 6e20 f300 de00 |02c9: invoke-virtual {v14, v13}, Landroid/widget/TextView;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00f3 │ │ -01bd94: 140e 4000 057f |02cc: const v14, #float 1.76789e+38 // #7f050040 │ │ -01bd9a: 6e20 c902 ed00 |02cf: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01bda0: 0c0e |02d2: move-result-object v14 │ │ -01bda2: 1f0e 6900 |02d3: check-cast v14, Landroid/widget/ScrollView; // type@0069 │ │ -01bda6: 5bde 3201 |02d5: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ -01bdaa: 620e 1001 |02d7: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ -01bdae: 380e 0b00 |02d9: if-eqz v14, 02e4 // +000b │ │ -01bdb2: 6e10 ef00 0e00 |02db: invoke-virtual {v14}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ -01bdb8: 0c0e |02de: move-result-object v14 │ │ -01bdba: 7210 2c05 0e00 |02df: invoke-interface {v14}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ -01bdc0: 0c0e |02e2: move-result-object v14 │ │ -01bdc2: 2802 |02e3: goto 02e5 // +0002 │ │ -01bdc4: 072e |02e4: move-object v14, v2 │ │ -01bdc6: 1401 1f00 057f |02e5: const v1, #float 1.76788e+38 // #7f05001f │ │ -01bdcc: 6e20 c902 1d00 |02e8: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01bdd2: 0c01 |02eb: move-result-object v1 │ │ -01bdd4: 1f01 6e00 |02ec: check-cast v1, Landroid/widget/TextView; // type@006e │ │ -01bdd8: 6901 1001 |02ee: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ -01bddc: 6e20 f400 e100 |02f0: invoke-virtual {v1, v14}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01bde2: 6201 1001 |02f3: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ -01bde6: 1214 |02f5: const/4 v4, #int 1 // #1 │ │ -01bde8: 6e20 f100 4100 |02f6: invoke-virtual {v1, v4}, Landroid/widget/TextView;.setEnabled:(Z)V // method@00f1 │ │ -01bdee: 6201 1001 |02f9: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ -01bdf2: 6e20 f300 d100 |02fb: invoke-virtual {v1, v13}, Landroid/widget/TextView;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00f3 │ │ -01bdf8: 6201 1301 |02fe: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ -01bdfc: 3801 0a00 |0300: if-eqz v1, 030a // +000a │ │ -01be00: 6e10 b700 0100 |0302: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01be06: 0a01 |0305: move-result v1 │ │ -01be08: 3801 0400 |0306: if-eqz v1, 030a // +0004 │ │ -01be0c: 1211 |0308: const/4 v1, #int 1 // #1 │ │ -01be0e: 2802 |0309: goto 030b // +0002 │ │ -01be10: 1201 |030a: const/4 v1, #int 0 // #0 │ │ -01be12: 1407 2900 057f |030b: const v7, #float 1.76788e+38 // #7f050029 │ │ -01be18: 6e20 c902 7d00 |030e: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01be1e: 0c07 |0311: move-result-object v7 │ │ -01be20: 1f07 5f00 |0312: check-cast v7, Landroid/widget/CheckBox; // type@005f │ │ -01be24: 6907 1301 |0314: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ -01be28: 6e20 b800 1700 |0316: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01be2e: 6201 1301 |0319: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ -01be32: 6e20 bb00 d100 |031b: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00bb │ │ -01be38: 6201 1401 |031e: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ -01be3c: 3801 0a00 |0320: if-eqz v1, 032a // +000a │ │ -01be40: 6e10 b700 0100 |0322: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01be46: 0a01 |0325: move-result v1 │ │ -01be48: 3801 0400 |0326: if-eqz v1, 032a // +0004 │ │ -01be4c: 1211 |0328: const/4 v1, #int 1 // #1 │ │ -01be4e: 2802 |0329: goto 032b // +0002 │ │ -01be50: 1201 |032a: const/4 v1, #int 0 // #0 │ │ -01be52: 1407 2a00 057f |032b: const v7, #float 1.76788e+38 // #7f05002a │ │ -01be58: 6e20 c902 7d00 |032e: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01be5e: 0c07 |0331: move-result-object v7 │ │ -01be60: 1f07 5f00 |0332: check-cast v7, Landroid/widget/CheckBox; // type@005f │ │ -01be64: 6907 1401 |0334: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ -01be68: 6e20 b800 1700 |0336: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01be6e: 6201 1401 |0339: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ -01be72: 6e20 bb00 d100 |033b: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00bb │ │ -01be78: 6201 0c01 |033e: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01be7c: 3801 0a00 |0340: if-eqz v1, 034a // +000a │ │ -01be80: 6e10 b700 0100 |0342: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01be86: 0a01 |0345: move-result v1 │ │ -01be88: 3801 0400 |0346: if-eqz v1, 034a // +0004 │ │ -01be8c: 1211 |0348: const/4 v1, #int 1 // #1 │ │ -01be8e: 2802 |0349: goto 034b // +0002 │ │ -01be90: 1201 |034a: const/4 v1, #int 0 // #0 │ │ -01be92: 1407 1400 057f |034b: const v7, #float 1.76788e+38 // #7f050014 │ │ -01be98: 6e20 c902 7d00 |034e: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01be9e: 0c07 |0351: move-result-object v7 │ │ -01bea0: 1f07 5f00 |0352: check-cast v7, Landroid/widget/CheckBox; // type@005f │ │ -01bea4: 6907 0c01 |0354: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01bea8: 6e20 b800 1700 |0356: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01beae: 6201 0c01 |0359: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01beb2: 6e20 bb00 d100 |035b: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00bb │ │ -01beb8: 6201 0601 |035e: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01bebc: 3801 0a00 |0360: if-eqz v1, 036a // +000a │ │ -01bec0: 6e10 b700 0100 |0362: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01bec6: 0a01 |0365: move-result v1 │ │ -01bec8: 3801 0400 |0366: if-eqz v1, 036a // +0004 │ │ -01becc: 1211 |0368: const/4 v1, #int 1 // #1 │ │ -01bece: 2802 |0369: goto 036b // +0002 │ │ -01bed0: 1201 |036a: const/4 v1, #int 0 // #0 │ │ -01bed2: 1407 1000 057f |036b: const v7, #float 1.76788e+38 // #7f050010 │ │ -01bed8: 6e20 c902 7d00 |036e: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01bede: 0c07 |0371: move-result-object v7 │ │ -01bee0: 1f07 5f00 |0372: check-cast v7, Landroid/widget/CheckBox; // type@005f │ │ -01bee4: 6907 0601 |0374: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01bee8: 6e20 b800 1700 |0376: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01beee: 6201 0601 |0379: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01bef2: 6e20 bb00 d100 |037b: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00bb │ │ -01bef8: 6201 1c01 |037e: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ -01befc: 3801 0a00 |0380: if-eqz v1, 038a // +000a │ │ -01bf00: 6e10 b700 0100 |0382: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01bf06: 0a01 |0385: move-result v1 │ │ -01bf08: 3801 0400 |0386: if-eqz v1, 038a // +0004 │ │ -01bf0c: 1211 |0388: const/4 v1, #int 1 // #1 │ │ -01bf0e: 2802 |0389: goto 038b // +0002 │ │ -01bf10: 1201 |038a: const/4 v1, #int 0 // #0 │ │ -01bf12: 1407 3a00 057f |038b: const v7, #float 1.76788e+38 // #7f05003a │ │ -01bf18: 6e20 c902 7d00 |038e: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01bf1e: 0c07 |0391: move-result-object v7 │ │ -01bf20: 1f07 5f00 |0392: check-cast v7, Landroid/widget/CheckBox; // type@005f │ │ -01bf24: 6907 1c01 |0394: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ -01bf28: 6e20 b800 1700 |0396: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01bf2e: 6201 1c01 |0399: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ -01bf32: 6e20 bb00 d100 |039b: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00bb │ │ -01bf38: 6201 2901 |039e: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01bf3c: 3801 0a00 |03a0: if-eqz v1, 03aa // +000a │ │ -01bf40: 6e10 b700 0100 |03a2: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01bf46: 0a01 |03a5: move-result v1 │ │ -01bf48: 3801 0400 |03a6: if-eqz v1, 03aa // +0004 │ │ -01bf4c: 1211 |03a8: const/4 v1, #int 1 // #1 │ │ -01bf4e: 2802 |03a9: goto 03ab // +0002 │ │ -01bf50: 1201 |03aa: const/4 v1, #int 0 // #0 │ │ -01bf52: 1407 4e00 057f |03ab: const v7, #float 1.76789e+38 // #7f05004e │ │ -01bf58: 6e20 c902 7d00 |03ae: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01bf5e: 0c07 |03b1: move-result-object v7 │ │ -01bf60: 1f07 5f00 |03b2: check-cast v7, Landroid/widget/CheckBox; // type@005f │ │ -01bf64: 6907 2901 |03b4: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01bf68: 6e20 b800 1700 |03b6: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01bf6e: 6201 2901 |03b9: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01bf72: 6e20 bb00 d100 |03bb: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00bb │ │ -01bf78: 6201 2801 |03be: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ -01bf7c: 3801 0a00 |03c0: if-eqz v1, 03ca // +000a │ │ -01bf80: 6e10 b700 0100 |03c2: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01bf86: 0a01 |03c5: move-result v1 │ │ -01bf88: 3801 0400 |03c6: if-eqz v1, 03ca // +0004 │ │ -01bf8c: 1211 |03c8: const/4 v1, #int 1 // #1 │ │ -01bf8e: 2802 |03c9: goto 03cb // +0002 │ │ -01bf90: 1201 |03ca: const/4 v1, #int 0 // #0 │ │ -01bf92: 1407 4d00 057f |03cb: const v7, #float 1.76789e+38 // #7f05004d │ │ -01bf98: 6e20 c902 7d00 |03ce: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01bf9e: 0c07 |03d1: move-result-object v7 │ │ -01bfa0: 1f07 5f00 |03d2: check-cast v7, Landroid/widget/CheckBox; // type@005f │ │ -01bfa4: 6907 2801 |03d4: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ -01bfa8: 6e20 b800 1700 |03d6: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01bfae: 6201 2801 |03d9: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ -01bfb2: 6e20 bb00 d100 |03db: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00bb │ │ -01bfb8: 6201 3001 |03de: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01bfbc: 3801 0a00 |03e0: if-eqz v1, 03ea // +000a │ │ -01bfc0: 6e10 b700 0100 |03e2: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01bfc6: 0a01 |03e5: move-result v1 │ │ -01bfc8: 3801 0400 |03e6: if-eqz v1, 03ea // +0004 │ │ -01bfcc: 1211 |03e8: const/4 v1, #int 1 // #1 │ │ -01bfce: 2802 |03e9: goto 03eb // +0002 │ │ -01bfd0: 1201 |03ea: const/4 v1, #int 0 // #0 │ │ -01bfd2: 1407 5900 057f |03eb: const v7, #float 1.76789e+38 // #7f050059 │ │ -01bfd8: 6e20 c902 7d00 |03ee: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01bfde: 0c07 |03f1: move-result-object v7 │ │ -01bfe0: 1f07 5f00 |03f2: check-cast v7, Landroid/widget/CheckBox; // type@005f │ │ -01bfe4: 6907 3001 |03f4: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01bfe8: 6e20 b800 1700 |03f6: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01bfee: 6201 3001 |03f9: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01bff2: 6e20 bb00 d100 |03fb: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00bb │ │ -01bff8: 6201 1501 |03fe: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ -01bffc: 3801 0a00 |0400: if-eqz v1, 040a // +000a │ │ -01c000: 6e10 b700 0100 |0402: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01c006: 0a01 |0405: move-result v1 │ │ -01c008: 3801 0400 |0406: if-eqz v1, 040a // +0004 │ │ -01c00c: 1211 |0408: const/4 v1, #int 1 // #1 │ │ -01c00e: 2802 |0409: goto 040b // +0002 │ │ -01c010: 1201 |040a: const/4 v1, #int 0 // #0 │ │ -01c012: 1407 1800 057f |040b: const v7, #float 1.76788e+38 // #7f050018 │ │ -01c018: 6e20 c902 7d00 |040e: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01c01e: 0c07 |0411: move-result-object v7 │ │ -01c020: 1f07 5f00 |0412: check-cast v7, Landroid/widget/CheckBox; // type@005f │ │ -01c024: 6907 1501 |0414: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ -01c028: 6e20 b800 1700 |0416: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01c02e: 6201 1501 |0419: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ -01c032: 6e20 bb00 d100 |041b: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00bb │ │ -01c038: 6201 0301 |041e: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ -01c03c: 3801 0a00 |0420: if-eqz v1, 042a // +000a │ │ -01c040: 6e10 b700 0100 |0422: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01c046: 0a01 |0425: move-result v1 │ │ -01c048: 3801 0400 |0426: if-eqz v1, 042a // +0004 │ │ -01c04c: 1211 |0428: const/4 v1, #int 1 // #1 │ │ -01c04e: 2802 |0429: goto 042b // +0002 │ │ -01c050: 1201 |042a: const/4 v1, #int 0 // #0 │ │ -01c052: 1407 0d00 057f |042b: const v7, #float 1.76788e+38 // #7f05000d │ │ -01c058: 6e20 c902 7d00 |042e: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01c05e: 0c07 |0431: move-result-object v7 │ │ -01c060: 1f07 5f00 |0432: check-cast v7, Landroid/widget/CheckBox; // type@005f │ │ -01c064: 6907 0301 |0434: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ -01c068: 6e20 b800 1700 |0436: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01c06e: 6201 0301 |0439: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ -01c072: 6e20 bb00 d100 |043b: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00bb │ │ -01c078: 6201 1201 |043e: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01c07c: 3801 0a00 |0440: if-eqz v1, 044a // +000a │ │ -01c080: 6e10 b700 0100 |0442: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01c086: 0a01 |0445: move-result v1 │ │ -01c088: 3801 0400 |0446: if-eqz v1, 044a // +0004 │ │ -01c08c: 1211 |0448: const/4 v1, #int 1 // #1 │ │ -01c08e: 2802 |0449: goto 044b // +0002 │ │ -01c090: 1201 |044a: const/4 v1, #int 0 // #0 │ │ -01c092: 1407 2500 057f |044b: const v7, #float 1.76788e+38 // #7f050025 │ │ -01c098: 6e20 c902 7d00 |044e: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01c09e: 0c07 |0451: move-result-object v7 │ │ -01c0a0: 1f07 5f00 |0452: check-cast v7, Landroid/widget/CheckBox; // type@005f │ │ -01c0a4: 6907 1201 |0454: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01c0a8: 6e20 b800 1700 |0456: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01c0ae: 6201 1201 |0459: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01c0b2: 6e20 bb00 d100 |045b: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00bb │ │ -01c0b8: 6201 2201 |045e: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01c0bc: 3801 0a00 |0460: if-eqz v1, 046a // +000a │ │ -01c0c0: 6e10 b700 0100 |0462: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01c0c6: 0a01 |0465: move-result v1 │ │ -01c0c8: 3801 0400 |0466: if-eqz v1, 046a // +0004 │ │ -01c0cc: 1211 |0468: const/4 v1, #int 1 // #1 │ │ -01c0ce: 2802 |0469: goto 046b // +0002 │ │ -01c0d0: 1201 |046a: const/4 v1, #int 0 // #0 │ │ -01c0d2: 1407 4600 057f |046b: const v7, #float 1.76789e+38 // #7f050046 │ │ -01c0d8: 6e20 c902 7d00 |046e: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01c0de: 0c07 |0471: move-result-object v7 │ │ -01c0e0: 1f07 5f00 |0472: check-cast v7, Landroid/widget/CheckBox; // type@005f │ │ -01c0e4: 6907 2201 |0474: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01c0e8: 6e20 b800 1700 |0476: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01c0ee: 6201 2201 |0479: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01c0f2: 6e20 bb00 d100 |047b: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00bb │ │ -01c0f8: 6201 1101 |047e: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01c0fc: 3801 0a00 |0480: if-eqz v1, 048a // +000a │ │ -01c100: 6e10 b700 0100 |0482: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ -01c106: 0a01 |0485: move-result v1 │ │ -01c108: 3801 0400 |0486: if-eqz v1, 048a // +0004 │ │ -01c10c: 1211 |0488: const/4 v1, #int 1 // #1 │ │ -01c10e: 2802 |0489: goto 048b // +0002 │ │ -01c110: 1201 |048a: const/4 v1, #int 0 // #0 │ │ -01c112: 1407 2000 057f |048b: const v7, #float 1.76788e+38 // #7f050020 │ │ -01c118: 6e20 c902 7d00 |048e: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01c11e: 0c07 |0491: move-result-object v7 │ │ -01c120: 1f07 5f00 |0492: check-cast v7, Landroid/widget/CheckBox; // type@005f │ │ -01c124: 6907 1101 |0494: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01c128: 6e20 b800 1700 |0496: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01c12e: 6201 1101 |0499: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01c132: 6e20 bb00 d100 |049b: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00bb │ │ -01c138: 1401 0f00 057f |049e: const v1, #float 1.76788e+38 // #7f05000f │ │ -01c13e: 6e20 c902 1d00 |04a1: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01c144: 0c01 |04a4: move-result-object v1 │ │ -01c146: 1f01 6900 |04a5: check-cast v1, Landroid/widget/ScrollView; // type@0069 │ │ -01c14a: 6901 0701 |04a7: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.appWhiteListScroll:Landroid/widget/ScrollView; // field@0107 │ │ -01c14e: 6201 0401 |04a9: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ -01c152: 3801 0b00 |04ab: if-eqz v1, 04b6 // +000b │ │ -01c156: 6e10 3902 0100 |04ad: invoke-virtual {v1}, Ldnsfilter/android/AppSelectorView;.clear:()V // method@0239 │ │ -01c15c: 6201 0401 |04b0: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ -01c160: 6e10 3c02 0100 |04b2: invoke-virtual {v1}, Ldnsfilter/android/AppSelectorView;.getSelectedAppPackages:()Ljava/lang/String; // method@023c │ │ -01c166: 0c02 |04b5: move-result-object v2 │ │ -01c168: 1401 0e00 057f |04b6: const v1, #float 1.76788e+38 // #7f05000e │ │ -01c16e: 6e20 c902 1d00 |04b9: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01c174: 0c01 |04bc: move-result-object v1 │ │ -01c176: 1f01 9800 |04bd: check-cast v1, Ldnsfilter/android/AppSelectorView; // type@0098 │ │ -01c17a: 6901 0401 |04bf: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ -01c17e: 6e20 4302 2100 |04c1: invoke-virtual {v1, v2}, Ldnsfilter/android/AppSelectorView;.setSelectedApps:(Ljava/lang/String;)V // method@0243 │ │ -01c184: 6201 0201 |04c4: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -01c188: 3801 0a00 |04c6: if-eqz v1, 04d0 // +000a │ │ -01c18c: 6e10 c500 0100 |04c8: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ -01c192: 0c0e |04cb: move-result-object v14 │ │ -01c194: 6e10 5405 0e00 |04cc: invoke-virtual {v14}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ -01c19a: 0c0e |04cf: move-result-object v14 │ │ -01c19c: 1401 0b00 057f |04d0: const v1, #float 1.76788e+38 // #7f05000b │ │ -01c1a2: 6e20 c902 1d00 |04d3: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01c1a8: 0c01 |04d6: move-result-object v1 │ │ -01c1aa: 1f01 6200 |04d7: check-cast v1, Landroid/widget/EditText; // type@0062 │ │ -01c1ae: 6901 0201 |04d9: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -01c1b2: 6e20 d100 e100 |04db: invoke-virtual {v1, v14}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ -01c1b8: 6201 0201 |04de: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -01c1bc: 6e20 bf00 d100 |04e0: invoke-virtual {v1, v13}, Landroid/widget/EditText;.addTextChangedListener:(Landroid/text/TextWatcher;)V // method@00bf │ │ -01c1c2: 6201 2301 |04e3: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ -01c1c6: 3801 0a00 |04e5: if-eqz v1, 04ef // +000a │ │ -01c1ca: 6e10 c500 0100 |04e7: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ -01c1d0: 0c0e |04ea: move-result-object v14 │ │ -01c1d2: 6e10 5405 0e00 |04eb: invoke-virtual {v14}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ -01c1d8: 0c0e |04ee: move-result-object v14 │ │ -01c1da: 1401 4700 057f |04ef: const v1, #float 1.76789e+38 // #7f050047 │ │ -01c1e0: 6e20 c902 1d00 |04f2: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01c1e6: 0c01 |04f5: move-result-object v1 │ │ -01c1e8: 1f01 6200 |04f6: check-cast v1, Landroid/widget/EditText; // type@0062 │ │ -01c1ec: 6901 2301 |04f8: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ -01c1f0: 6e20 d100 e100 |04fa: invoke-virtual {v1, v14}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ -01c1f6: 620e 2301 |04fd: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ -01c1fa: 6e20 bf00 de00 |04ff: invoke-virtual {v14, v13}, Landroid/widget/EditText;.addTextChangedListener:(Landroid/text/TextWatcher;)V // method@00bf │ │ -01c200: 140e 1c00 057f |0502: const v14, #float 1.76788e+38 // #7f05001c │ │ -01c206: 6e20 c902 ed00 |0505: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01c20c: 0c0e |0508: move-result-object v14 │ │ -01c20e: 1301 0800 |0509: const/16 v1, #int 8 // #8 │ │ -01c212: 6e20 9f00 1e00 |050b: invoke-virtual {v14, v1}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -01c218: 7020 d502 5d00 |050e: invoke-direct {v13, v5}, Ldnsfilter/android/DNSProxyActivity;.handleAdvancedConfig:(Landroid/widget/CheckBox;)V // method@02d5 │ │ -01c21e: 620e 2401 |0511: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01c222: 380e 1000 |0513: if-eqz v14, 0523 // +0010 │ │ -01c226: 620e f000 |0515: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01c22a: 6e10 4301 0e00 |0517: invoke-virtual {v14}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0143 │ │ -01c230: 0a0e |051a: move-result v14 │ │ -01c232: 380e 1d00 |051b: if-eqz v14, 0538 // +001d │ │ -01c236: 620e 2401 |051d: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01c23a: 6e20 5707 de00 |051f: invoke-virtual {v14, v13}, Lutil/SuppressRepeatingsLogger;.setNestedLogger:(Lutil/LoggerInterface;)V // method@0757 │ │ -01c240: 2816 |0522: goto 0538 // +0016 │ │ -01c242: 220e 8a01 |0523: new-instance v14, Lutil/SuppressRepeatingsLogger; // type@018a │ │ -01c246: 7020 4e07 de00 |0525: invoke-direct {v14, v13}, Lutil/SuppressRepeatingsLogger;.:(Lutil/LoggerInterface;)V // method@074e │ │ -01c24c: 690e 2401 |0528: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01c250: 220e 7e01 |052a: new-instance v14, Lutil/GroupedLogger; // type@017e │ │ -01c254: 2341 b001 |052c: new-array v1, v4, [Lutil/LoggerInterface; // type@01b0 │ │ -01c258: 6202 2401 |052e: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01c25c: 4d02 0106 |0530: aput-object v2, v1, v6 │ │ -01c260: 7020 d006 1e00 |0532: invoke-direct {v14, v1}, Lutil/GroupedLogger;.:([Lutil/LoggerInterface;)V // method@06d0 │ │ -01c266: 7110 0807 0e00 |0535: invoke-static {v14}, Lutil/Logger;.setLogger:(Lutil/LoggerInterface;)V // method@0708 │ │ -01c26c: 7100 3f01 0000 |0538: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -01c272: 0c0e |053b: move-result-object v14 │ │ -01c274: 6e10 3a01 0e00 |053c: invoke-virtual {v14}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@013a │ │ -01c27a: 0c0e |053f: move-result-object v14 │ │ -01c27c: 1a01 0a07 |0540: const-string v1, "forceAndroidDisplayMode" // string@070a │ │ -01c280: 1a02 fc08 |0542: const-string v2, "none" // string@08fc │ │ -01c284: 6e30 2501 1e02 |0544: invoke-virtual {v14, v1, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ -01c28a: 0c0e |0547: move-result-object v14 │ │ -01c28c: 6e10 7c05 0e00 |0548: invoke-virtual {v14}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -01c292: 0c0e |054b: move-result-object v14 │ │ -01c294: 1a01 7009 |054c: const-string v1, "portrait" // string@0970 │ │ -01c298: 6e20 6805 1e00 |054e: invoke-virtual {v14, v1}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@0568 │ │ -01c29e: 0a01 |0551: move-result v1 │ │ -01c2a0: 3801 0600 |0552: if-eqz v1, 0558 // +0006 │ │ -01c2a4: 6e20 0703 4d00 |0554: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.setRequestedOrientation:(I)V // method@0307 │ │ -01c2aa: 281c |0557: goto 0573 // +001c │ │ -01c2ac: 1a01 8508 |0558: const-string v1, "landscape" // string@0885 │ │ -01c2b0: 6e20 6805 1e00 |055a: invoke-virtual {v14, v1}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@0568 │ │ -01c2b6: 0a0e |055d: move-result v14 │ │ -01c2b8: 380e 0600 |055e: if-eqz v14, 0564 // +0006 │ │ -01c2bc: 6e20 0703 6d00 |0560: invoke-virtual {v13, v6}, Ldnsfilter/android/DNSProxyActivity;.setRequestedOrientation:(I)V // method@0307 │ │ -01c2c2: 2810 |0563: goto 0573 // +0010 │ │ -01c2c4: 6e10 d002 0d00 |0564: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02d0 │ │ -01c2ca: 0c0e |0567: move-result-object v14 │ │ -01c2cc: 1501 027f |0568: const/high16 v1, #int 2130837504 // #7f02 │ │ -01c2d0: 6e20 4d00 1e00 |056a: invoke-virtual {v14, v1}, Landroid/content/res/Resources;.getBoolean:(I)Z // method@004d │ │ -01c2d6: 0a0e |056d: move-result v14 │ │ -01c2d8: 380e 0500 |056e: if-eqz v14, 0573 // +0005 │ │ -01c2dc: 6e20 0703 4d00 |0570: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.setRequestedOrientation:(I)V // method@0307 │ │ -01c2e2: 7100 3f01 0000 |0573: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -01c2e8: 0c0e |0576: move-result-object v14 │ │ -01c2ea: 6e10 3a01 0e00 |0577: invoke-virtual {v14}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@013a │ │ -01c2f0: 0c0e |057a: move-result-object v14 │ │ -01c2f2: 1a01 4506 |057b: const-string v1, "debug" // string@0645 │ │ -01c2f6: 1a02 d506 |057d: const-string v2, "false" // string@06d5 │ │ -01c2fa: 6e30 2501 1e02 |057f: invoke-virtual {v14, v1, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ -01c300: 0c0e |0582: move-result-object v14 │ │ -01c302: 7110 2705 0e00 |0583: invoke-static {v14}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -01c308: 0a0e |0586: move-result v14 │ │ -01c30a: 6a0e 0f01 |0587: sput-boolean v14, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ -01c30e: 380e 2200 |0589: if-eqz v14, 05ab // +0022 │ │ -01c312: 7100 5d05 0000 |058b: invoke-static {}, Ljava/lang/Runtime;.getRuntime:()Ljava/lang/Runtime; // method@055d │ │ -01c318: 0c0e |058e: move-result-object v14 │ │ -01c31a: 2201 2801 |058f: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -01c31e: 7020 8405 3100 |0591: invoke-direct {v1, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -01c324: 7100 ae06 0000 |0594: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ -01c32a: 0c02 |0597: move-result-object v2 │ │ -01c32c: 7210 be06 0200 |0598: invoke-interface {v2}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06be │ │ -01c332: 0c02 |059b: move-result-object v2 │ │ -01c334: 6e20 8905 2100 |059c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01c33a: 1a02 6200 |059f: const-string v2, "/Logcat_file.txt" // string@0062 │ │ -01c33e: 6e20 8905 2100 |05a1: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01c344: 6e10 8b05 0100 |05a4: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01c34a: 0c01 |05a7: move-result-object v1 │ │ -01c34c: 6e20 5c05 1e00 |05a8: invoke-virtual {v14, v1}, Ljava/lang/Runtime;.exec:(Ljava/lang/String;)Ljava/lang/Process; // method@055c │ │ -01c352: 630e 0501 |05ab: sget-boolean v14, Ldnsfilter/android/DNSProxyActivity;.appStart:Z // field@0105 │ │ -01c356: 380e 1a00 |05ad: if-eqz v14, 05c7 // +001a │ │ -01c35a: 600e 0200 |05af: sget v14, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01c35e: 1301 2100 |05b1: const/16 v1, #int 33 // #21 │ │ -01c362: 341e 1100 |05b3: if-lt v14, v1, 05c4 // +0011 │ │ -01c366: 7120 4502 0d00 |05b5: invoke-static {v13, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)I // method@0245 │ │ -01c36c: 0a0e |05b8: move-result v14 │ │ -01c36e: 380e 0b00 |05b9: if-eqz v14, 05c4 // +000b │ │ -01c372: 234e a901 |05bb: new-array v14, v4, [Ljava/lang/String; // type@01a9 │ │ -01c376: 4d00 0e06 |05bd: aput-object v0, v14, v6 │ │ -01c37a: 1300 6500 |05bf: const/16 v0, #int 101 // #65 │ │ -01c37e: 7130 5202 ed00 |05c1: invoke-static {v13, v14, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSProxyActivity;[Ljava/lang/String;I)V // method@0252 │ │ -01c384: 7010 dd02 0d00 |05c4: invoke-direct {v13}, Ldnsfilter/android/DNSProxyActivity;.initAppAndStartup:()V // method@02dd │ │ -01c38a: 0e00 |05c7: return-void │ │ -01c38c: 0d0e |05c8: move-exception v14 │ │ -01c38e: 7020 c802 ed00 |05c9: invoke-direct {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.dump:(Ljava/lang/Exception;)V // method@02c8 │ │ -01c394: 2200 2401 |05cc: new-instance v0, Ljava/lang/RuntimeException; // type@0124 │ │ -01c398: 7020 5e05 e000 |05ce: invoke-direct {v0, v14}, Ljava/lang/RuntimeException;.:(Ljava/lang/Throwable;)V // method@055e │ │ -01c39e: 2700 |05d1: throw v0 │ │ +01ba16: 6e20 8905 7800 |010f: invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01ba1c: 6e10 8b05 0800 |0112: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01ba22: 0c07 |0115: move-result-object v7 │ │ +01ba24: 7020 bb02 7d00 |0116: invoke-direct {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.addToLogView:(Ljava/lang/String;)V // method@02bb │ │ +01ba2a: 2207 2801 |0119: new-instance v7, Ljava/lang/StringBuilder; // type@0128 │ │ +01ba2e: 7020 8405 4700 |011b: invoke-direct {v7, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +01ba34: 6e20 8905 e700 |011e: invoke-virtual {v7, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01ba3a: 1a0e 0f00 |0121: const-string v14, " (Connections:" // string@000f │ │ +01ba3e: 6e20 8905 e700 |0123: invoke-virtual {v7, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01ba44: 6e20 8905 1700 |0126: invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01ba4a: 1a0e 4800 |0129: const-string v14, ")" // string@0048 │ │ +01ba4e: 6e20 8905 e700 |012b: invoke-virtual {v7, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01ba54: 6e10 8b05 0700 |012e: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01ba5a: 0c0e |0131: move-result-object v14 │ │ +01ba5c: 6e20 0803 ed00 |0132: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.setTitle:(Ljava/lang/CharSequence;)V // method@0308 │ │ +01ba62: 620e 1601 |0135: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +01ba66: 380e 1200 |0137: if-eqz v14, 0149 // +0012 │ │ +01ba6a: 6e10 1703 0e00 |0139: invoke-virtual {v14}, Ldnsfilter/android/FilterConfig;.getFilterEntries:()[Ldnsfilter/ConfigUtil$HostFilterList; // method@0317 │ │ +01ba70: 0c0e |013c: move-result-object v14 │ │ +01ba72: 6201 1601 |013d: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +01ba76: 6e10 1603 0100 |013f: invoke-virtual {v1}, Ldnsfilter/android/FilterConfig;.getCurrentCategory:()Ljava/lang/String; // method@0316 │ │ +01ba7c: 0c01 |0142: move-result-object v1 │ │ +01ba7e: 6204 1601 |0143: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +01ba82: 6e10 1403 0400 |0145: invoke-virtual {v4}, Ldnsfilter/android/FilterConfig;.clear:()V // method@0314 │ │ +01ba88: 2803 |0148: goto 014b // +0003 │ │ +01ba8a: 075e |0149: move-object v14, v5 │ │ +01ba8c: 07e1 |014a: move-object v1, v14 │ │ +01ba8e: 1404 0400 057f |014b: const v4, #float 1.76787e+38 // #7f050004 │ │ +01ba94: 6e20 c902 4d00 |014e: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01ba9a: 0c04 |0151: move-result-object v4 │ │ +01ba9c: 0749 |0152: move-object v9, v4 │ │ +01ba9e: 1f09 5e00 |0153: check-cast v9, Landroid/widget/Button; // type@005e │ │ +01baa2: 1404 0300 057f |0155: const v4, #float 1.76787e+38 // #7f050003 │ │ +01baa8: 6e20 c902 4d00 |0158: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01baae: 0c04 |015b: move-result-object v4 │ │ +01bab0: 074a |015c: move-object v10, v4 │ │ +01bab2: 1f0a 5e00 |015d: check-cast v10, Landroid/widget/Button; // type@005e │ │ +01bab6: 1404 1700 057f |015f: const v4, #float 1.76788e+38 // #7f050017 │ │ +01babc: 6e20 c902 4d00 |0162: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01bac2: 0c04 |0165: move-result-object v4 │ │ +01bac4: 074b |0166: move-object v11, v4 │ │ +01bac6: 1f0b 6e00 |0167: check-cast v11, Landroid/widget/TextView; // type@006e │ │ +01baca: 1404 5600 057f |0169: const v4, #float 1.76789e+38 // #7f050056 │ │ +01bad0: 6e20 c902 4d00 |016c: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01bad6: 0c04 |016f: move-result-object v4 │ │ +01bad8: 074c |0170: move-object v12, v4 │ │ +01bada: 1f0c 5e00 |0171: check-cast v12, Landroid/widget/Button; // type@005e │ │ +01bade: 2204 ac00 |0173: new-instance v4, Ldnsfilter/android/FilterConfig; // type@00ac │ │ +01bae2: 1407 3300 057f |0175: const v7, #float 1.76788e+38 // #7f050033 │ │ +01bae8: 6e20 c902 7d00 |0178: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01baee: 0c07 |017b: move-result-object v7 │ │ +01baf0: 0778 |017c: move-object v8, v7 │ │ +01baf2: 1f08 6c00 |017d: check-cast v8, Landroid/widget/TableLayout; // type@006c │ │ +01baf6: 0747 |017f: move-object v7, v4 │ │ +01baf8: 7606 1103 0700 |0180: invoke-direct/range {v7, v8, v9, v10, v11, v12}, Ldnsfilter/android/FilterConfig;.:(Landroid/widget/TableLayout;Landroid/widget/Button;Landroid/widget/Button;Landroid/widget/TextView;Landroid/widget/Button;)V // method@0311 │ │ +01bafe: 6904 1601 |0183: sput-object v4, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +01bb02: 380e 0a00 |0185: if-eqz v14, 018f // +000a │ │ +01bb06: 6e20 2003 e400 |0187: invoke-virtual {v4, v14}, Ldnsfilter/android/FilterConfig;.setEntries:([Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0320 │ │ +01bb0c: 620e 1601 |018a: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +01bb10: 6e20 1f03 1e00 |018c: invoke-virtual {v14, v1}, Ldnsfilter/android/FilterConfig;.setCurrentCategory:(Ljava/lang/String;)V // method@031f │ │ +01bb16: 620e 1801 |018f: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ +01bb1a: 380e 0b00 |0191: if-eqz v14, 019c // +000b │ │ +01bb1e: 6e10 c500 0e00 |0193: invoke-virtual {v14}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ +01bb24: 0c0e |0196: move-result-object v14 │ │ +01bb26: 6e10 5405 0e00 |0197: invoke-virtual {v14}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ +01bb2c: 0c0e |019a: move-result-object v14 │ │ +01bb2e: 2802 |019b: goto 019d // +0002 │ │ +01bb30: 072e |019c: move-object v14, v2 │ │ +01bb32: 1401 3500 057f |019d: const v1, #float 1.76788e+38 // #7f050035 │ │ +01bb38: 6e20 c902 1d00 |01a0: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01bb3e: 0c01 |01a3: move-result-object v1 │ │ +01bb40: 1f01 6200 |01a4: check-cast v1, Landroid/widget/EditText; // type@0062 │ │ +01bb44: 6901 1801 |01a6: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ +01bb48: 6e20 d100 e100 |01a8: invoke-virtual {v1, v14}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ +01bb4e: 140e 5f00 057f |01ab: const v14, #float 1.76789e+38 // #7f05005f │ │ +01bb54: 6e20 c902 ed00 |01ae: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01bb5a: 0c0e |01b1: move-result-object v14 │ │ +01bb5c: 1f0e 5e00 |01b2: check-cast v14, Landroid/widget/Button; // type@005e │ │ +01bb60: 5bde 3601 |01b4: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.startBtn:Landroid/widget/Button; // field@0136 │ │ +01bb64: 6e20 b000 de00 |01b6: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ +01bb6a: 140e 6000 057f |01b9: const v14, #float 1.76789e+38 // #7f050060 │ │ +01bb70: 6e20 c902 ed00 |01bc: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01bb76: 0c0e |01bf: move-result-object v14 │ │ +01bb78: 1f0e 5e00 |01c0: check-cast v14, Landroid/widget/Button; // type@005e │ │ +01bb7c: 5bde 3701 |01c2: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.stopBtn:Landroid/widget/Button; // field@0137 │ │ +01bb80: 6e20 b000 de00 |01c4: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ +01bb86: 140e 3100 057f |01c7: const v14, #float 1.76788e+38 // #7f050031 │ │ +01bb8c: 6e20 c902 ed00 |01ca: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01bb92: 0c0e |01cd: move-result-object v14 │ │ +01bb94: 1f0e 5e00 |01ce: check-cast v14, Landroid/widget/Button; // type@005e │ │ +01bb98: 5bde 2a01 |01d0: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.reloadFilterBtn:Landroid/widget/Button; // field@012a │ │ +01bb9c: 6e20 b000 de00 |01d2: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ +01bba2: 140e 3600 057f |01d5: const v14, #float 1.76788e+38 // #7f050036 │ │ +01bba8: 6e20 c902 ed00 |01d8: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01bbae: 0c0e |01db: move-result-object v14 │ │ +01bbb0: 1f0e 5e00 |01dc: check-cast v14, Landroid/widget/Button; // type@005e │ │ +01bbb4: 5bde 1a01 |01de: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.helpBtn:Landroid/widget/Button; // field@011a │ │ +01bbb8: 6e20 b000 de00 |01e0: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ +01bbbe: 140e 5100 057f |01e3: const v14, #float 1.76789e+38 // #7f050051 │ │ +01bbc4: 6e20 c902 ed00 |01e6: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01bbca: 0c0e |01e9: move-result-object v14 │ │ +01bbcc: 1f0e 5e00 |01ea: check-cast v14, Landroid/widget/Button; // type@005e │ │ +01bbd0: 5bde 2b01 |01ec: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ +01bbd4: 620e f000 |01ee: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01bbd8: 6e10 4301 0e00 |01f0: invoke-virtual {v14}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0143 │ │ +01bbde: 0a0e |01f3: move-result v14 │ │ +01bbe0: 390e 1300 |01f4: if-nez v14, 0207 // +0013 │ │ +01bbe4: 54de 2b01 |01f6: iget-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ +01bbe8: 6e10 d002 0d00 |01f8: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02d0 │ │ +01bbee: 0c01 |01fb: move-result-object v1 │ │ +01bbf0: 1404 2b00 047f |01fc: const v4, #float 1.75459e+38 // #7f04002b │ │ +01bbf6: 6e20 5000 4100 |01ff: invoke-virtual {v1, v4}, Landroid/content/res/Resources;.getDrawable:(I)Landroid/graphics/drawable/Drawable; // method@0050 │ │ +01bbfc: 0c01 |0202: move-result-object v1 │ │ +01bbfe: 6e55 af00 5e15 |0203: invoke-virtual {v14, v5, v5, v1, v5}, Landroid/widget/Button;.setCompoundDrawablesWithIntrinsicBounds:(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V // method@00af │ │ +01bc04: 2811 |0206: goto 0217 // +0011 │ │ +01bc06: 54de 2b01 |0207: iget-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ +01bc0a: 6e10 d002 0d00 |0209: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02d0 │ │ +01bc10: 0c01 |020c: move-result-object v1 │ │ +01bc12: 1404 2c00 047f |020d: const v4, #float 1.75459e+38 // #7f04002c │ │ +01bc18: 6e20 5000 4100 |0210: invoke-virtual {v1, v4}, Landroid/content/res/Resources;.getDrawable:(I)Landroid/graphics/drawable/Drawable; // method@0050 │ │ +01bc1e: 0c01 |0213: move-result-object v1 │ │ +01bc20: 6e55 af00 5e15 |0214: invoke-virtual {v14, v5, v5, v1, v5}, Landroid/widget/Button;.setCompoundDrawablesWithIntrinsicBounds:(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V // method@00af │ │ +01bc26: 54de 2b01 |0217: iget-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ +01bc2a: 6e20 b000 de00 |0219: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ +01bc30: 140e 1200 057f |021c: const v14, #float 1.76788e+38 // #7f050012 │ │ +01bc36: 6e20 c902 ed00 |021f: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01bc3c: 0c0e |0222: move-result-object v14 │ │ +01bc3e: 1f0e 5e00 |0223: check-cast v14, Landroid/widget/Button; // type@005e │ │ +01bc42: 690e 0a01 |0225: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.backupBtn:Landroid/widget/Button; // field@010a │ │ +01bc46: 6e20 b000 de00 |0227: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ +01bc4c: 140e 0500 057f |022a: const v14, #float 1.76787e+38 // #7f050005 │ │ +01bc52: 6e20 c902 ed00 |022d: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01bc58: 0c0e |0230: move-result-object v14 │ │ +01bc5a: 1f0e 5e00 |0231: check-cast v14, Landroid/widget/Button; // type@005e │ │ +01bc5e: 690e 2e01 |0233: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.restoreBtn:Landroid/widget/Button; // field@012e │ │ +01bc62: 6e20 b000 de00 |0235: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ +01bc68: 140e 0600 057f |0238: const v14, #float 1.76787e+38 // #7f050006 │ │ +01bc6e: 6e20 c902 ed00 |023b: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01bc74: 0c0e |023e: move-result-object v14 │ │ +01bc76: 1f0e 5e00 |023f: check-cast v14, Landroid/widget/Button; // type@005e │ │ +01bc7a: 690e 2f01 |0241: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.restoreDefaultsBtn:Landroid/widget/Button; // field@012f │ │ +01bc7e: 6e20 b000 de00 |0243: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ +01bc84: 140e 0100 057f |0246: const v14, #float 1.76787e+38 // #7f050001 │ │ +01bc8a: 6e20 c902 ed00 |0249: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01bc90: 0c0e |024c: move-result-object v14 │ │ +01bc92: 1f0e 5e00 |024d: check-cast v14, Landroid/widget/Button; // type@005e │ │ +01bc96: 690e 0b01 |024f: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.backupDnBtn:Landroid/widget/Button; // field@010b │ │ +01bc9a: 6e20 b000 de00 |0251: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ +01bca0: 140e 0200 057f |0254: const v14, #float 1.76787e+38 // #7f050002 │ │ +01bca6: 6e20 c902 ed00 |0257: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01bcac: 0c0e |025a: move-result-object v14 │ │ +01bcae: 1f0e 5e00 |025b: check-cast v14, Landroid/widget/Button; // type@005e │ │ +01bcb2: 690e 0d01 |025d: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.backupUpBtn:Landroid/widget/Button; // field@010d │ │ +01bcb6: 6e20 b000 de00 |025f: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ +01bcbc: 140e 0800 057f |0262: const v14, #float 1.76787e+38 // #7f050008 │ │ +01bcc2: 6e20 c902 ed00 |0265: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01bcc8: 0c0e |0268: move-result-object v14 │ │ +01bcca: 1f0e 6e00 |0269: check-cast v14, Landroid/widget/TextView; // type@006e │ │ +01bcce: 690e ff00 |026b: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.addFilterBtn:Landroid/widget/TextView; // field@00ff │ │ +01bcd2: 6e20 f300 de00 |026d: invoke-virtual {v14, v13}, Landroid/widget/TextView;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00f3 │ │ +01bcd8: 140e 5500 057f |0270: const v14, #float 1.76789e+38 // #7f050055 │ │ +01bcde: 6e20 c902 ed00 |0273: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01bce4: 0c0e |0276: move-result-object v14 │ │ +01bce6: 1f0e 6e00 |0277: check-cast v14, Landroid/widget/TextView; // type@006e │ │ +01bcea: 690e 2c01 |0279: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.removeFilterBtn:Landroid/widget/TextView; // field@012c │ │ +01bcee: 6e20 f300 de00 |027b: invoke-virtual {v14, v13}, Landroid/widget/TextView;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00f3 │ │ +01bcf4: 140e 3e00 057f |027e: const v14, #float 1.76789e+38 // #7f05003e │ │ +01bcfa: 6e20 c902 ed00 |0281: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01bd00: 0c0e |0284: move-result-object v14 │ │ +01bd02: 1f0e 6e00 |0285: check-cast v14, Landroid/widget/TextView; // type@006e │ │ +01bd06: 690e 1d01 |0287: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ +01bd0a: 6201 1f01 |0289: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.link_field_txt:Ljava/lang/String; // field@011f │ │ +01bd0e: 7110 cb02 0100 |028b: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02cb │ │ +01bd14: 0c01 |028e: move-result-object v1 │ │ +01bd16: 6e20 f400 1e00 |028f: invoke-virtual {v14, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01bd1c: 620e 1d01 |0292: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ +01bd20: 7100 8c00 0000 |0294: invoke-static {}, Landroid/text/method/LinkMovementMethod;.getInstance:()Landroid/text/method/MovementMethod; // method@008c │ │ +01bd26: 0c01 |0297: move-result-object v1 │ │ +01bd28: 6e20 f200 1e00 |0298: invoke-virtual {v14, v1}, Landroid/widget/TextView;.setMovementMethod:(Landroid/text/method/MovementMethod;)V // method@00f2 │ │ +01bd2e: 620e 1d01 |029b: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ +01bd32: 6e10 ee00 0e00 |029d: invoke-virtual {v14}, Landroid/widget/TextView;.getBackground:()Landroid/graphics/drawable/Drawable; // method@00ee │ │ +01bd38: 0c0e |02a0: move-result-object v14 │ │ +01bd3a: 20e1 2500 |02a1: instance-of v1, v14, Landroid/graphics/drawable/ColorDrawable; // type@0025 │ │ +01bd3e: 3801 0a00 |02a3: if-eqz v1, 02ad // +000a │ │ +01bd42: 1f0e 2500 |02a5: check-cast v14, Landroid/graphics/drawable/ColorDrawable; // type@0025 │ │ +01bd46: 6e10 5600 0e00 |02a7: invoke-virtual {v14}, Landroid/graphics/drawable/ColorDrawable;.getColor:()I // method@0056 │ │ +01bd4c: 0a0e |02aa: move-result v14 │ │ +01bd4e: 670e 1e01 |02ab: sput v14, Ldnsfilter/android/DNSProxyActivity;.link_field_color:I // field@011e │ │ +01bd52: 140e 5b00 057f |02ad: const v14, #float 1.76789e+38 // #7f05005b │ │ +01bd58: 6e20 c902 ed00 |02b0: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01bd5e: 0c0e |02b3: move-result-object v14 │ │ +01bd60: 1f0e 6e00 |02b4: check-cast v14, Landroid/widget/TextView; // type@006e │ │ +01bd64: 690e 3101 |02b6: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ +01bd68: 6301 3301 |02b8: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ +01bd6c: 3801 0800 |02ba: if-eqz v1, 02c2 // +0008 │ │ +01bd70: 6201 fc00 |02bc: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.SCROLL_CONTINUE:Ljava/lang/String; // field@00fc │ │ +01bd74: 6e20 f400 1e00 |02be: invoke-virtual {v14, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01bd7a: 2806 |02c1: goto 02c7 // +0006 │ │ +01bd7c: 6201 fd00 |02c2: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.SCROLL_PAUSE:Ljava/lang/String; // field@00fd │ │ +01bd80: 6e20 f400 1e00 |02c4: invoke-virtual {v14, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01bd86: 620e 3101 |02c7: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ +01bd8a: 6e20 f300 de00 |02c9: invoke-virtual {v14, v13}, Landroid/widget/TextView;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00f3 │ │ +01bd90: 140e 4000 057f |02cc: const v14, #float 1.76789e+38 // #7f050040 │ │ +01bd96: 6e20 c902 ed00 |02cf: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01bd9c: 0c0e |02d2: move-result-object v14 │ │ +01bd9e: 1f0e 6900 |02d3: check-cast v14, Landroid/widget/ScrollView; // type@0069 │ │ +01bda2: 5bde 3201 |02d5: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ +01bda6: 620e 1001 |02d7: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ +01bdaa: 380e 0b00 |02d9: if-eqz v14, 02e4 // +000b │ │ +01bdae: 6e10 ef00 0e00 |02db: invoke-virtual {v14}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00ef │ │ +01bdb4: 0c0e |02de: move-result-object v14 │ │ +01bdb6: 7210 2c05 0e00 |02df: invoke-interface {v14}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@052c │ │ +01bdbc: 0c0e |02e2: move-result-object v14 │ │ +01bdbe: 2802 |02e3: goto 02e5 // +0002 │ │ +01bdc0: 072e |02e4: move-object v14, v2 │ │ +01bdc2: 1401 1f00 057f |02e5: const v1, #float 1.76788e+38 // #7f05001f │ │ +01bdc8: 6e20 c902 1d00 |02e8: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01bdce: 0c01 |02eb: move-result-object v1 │ │ +01bdd0: 1f01 6e00 |02ec: check-cast v1, Landroid/widget/TextView; // type@006e │ │ +01bdd4: 6901 1001 |02ee: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ +01bdd8: 6e20 f400 e100 |02f0: invoke-virtual {v1, v14}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01bdde: 6201 1001 |02f3: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ +01bde2: 1214 |02f5: const/4 v4, #int 1 // #1 │ │ +01bde4: 6e20 f100 4100 |02f6: invoke-virtual {v1, v4}, Landroid/widget/TextView;.setEnabled:(Z)V // method@00f1 │ │ +01bdea: 6201 1001 |02f9: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ +01bdee: 6e20 f300 d100 |02fb: invoke-virtual {v1, v13}, Landroid/widget/TextView;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00f3 │ │ +01bdf4: 6201 1301 |02fe: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ +01bdf8: 3801 0a00 |0300: if-eqz v1, 030a // +000a │ │ +01bdfc: 6e10 b700 0100 |0302: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01be02: 0a01 |0305: move-result v1 │ │ +01be04: 3801 0400 |0306: if-eqz v1, 030a // +0004 │ │ +01be08: 1211 |0308: const/4 v1, #int 1 // #1 │ │ +01be0a: 2802 |0309: goto 030b // +0002 │ │ +01be0c: 1201 |030a: const/4 v1, #int 0 // #0 │ │ +01be0e: 1407 2900 057f |030b: const v7, #float 1.76788e+38 // #7f050029 │ │ +01be14: 6e20 c902 7d00 |030e: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01be1a: 0c07 |0311: move-result-object v7 │ │ +01be1c: 1f07 5f00 |0312: check-cast v7, Landroid/widget/CheckBox; // type@005f │ │ +01be20: 6907 1301 |0314: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ +01be24: 6e20 b800 1700 |0316: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01be2a: 6201 1301 |0319: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ +01be2e: 6e20 bb00 d100 |031b: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00bb │ │ +01be34: 6201 1401 |031e: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ +01be38: 3801 0a00 |0320: if-eqz v1, 032a // +000a │ │ +01be3c: 6e10 b700 0100 |0322: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01be42: 0a01 |0325: move-result v1 │ │ +01be44: 3801 0400 |0326: if-eqz v1, 032a // +0004 │ │ +01be48: 1211 |0328: const/4 v1, #int 1 // #1 │ │ +01be4a: 2802 |0329: goto 032b // +0002 │ │ +01be4c: 1201 |032a: const/4 v1, #int 0 // #0 │ │ +01be4e: 1407 2a00 057f |032b: const v7, #float 1.76788e+38 // #7f05002a │ │ +01be54: 6e20 c902 7d00 |032e: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01be5a: 0c07 |0331: move-result-object v7 │ │ +01be5c: 1f07 5f00 |0332: check-cast v7, Landroid/widget/CheckBox; // type@005f │ │ +01be60: 6907 1401 |0334: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ +01be64: 6e20 b800 1700 |0336: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01be6a: 6201 1401 |0339: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ +01be6e: 6e20 bb00 d100 |033b: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00bb │ │ +01be74: 6201 0c01 |033e: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01be78: 3801 0a00 |0340: if-eqz v1, 034a // +000a │ │ +01be7c: 6e10 b700 0100 |0342: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01be82: 0a01 |0345: move-result v1 │ │ +01be84: 3801 0400 |0346: if-eqz v1, 034a // +0004 │ │ +01be88: 1211 |0348: const/4 v1, #int 1 // #1 │ │ +01be8a: 2802 |0349: goto 034b // +0002 │ │ +01be8c: 1201 |034a: const/4 v1, #int 0 // #0 │ │ +01be8e: 1407 1400 057f |034b: const v7, #float 1.76788e+38 // #7f050014 │ │ +01be94: 6e20 c902 7d00 |034e: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01be9a: 0c07 |0351: move-result-object v7 │ │ +01be9c: 1f07 5f00 |0352: check-cast v7, Landroid/widget/CheckBox; // type@005f │ │ +01bea0: 6907 0c01 |0354: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01bea4: 6e20 b800 1700 |0356: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01beaa: 6201 0c01 |0359: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01beae: 6e20 bb00 d100 |035b: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00bb │ │ +01beb4: 6201 0601 |035e: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01beb8: 3801 0a00 |0360: if-eqz v1, 036a // +000a │ │ +01bebc: 6e10 b700 0100 |0362: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01bec2: 0a01 |0365: move-result v1 │ │ +01bec4: 3801 0400 |0366: if-eqz v1, 036a // +0004 │ │ +01bec8: 1211 |0368: const/4 v1, #int 1 // #1 │ │ +01beca: 2802 |0369: goto 036b // +0002 │ │ +01becc: 1201 |036a: const/4 v1, #int 0 // #0 │ │ +01bece: 1407 1000 057f |036b: const v7, #float 1.76788e+38 // #7f050010 │ │ +01bed4: 6e20 c902 7d00 |036e: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01beda: 0c07 |0371: move-result-object v7 │ │ +01bedc: 1f07 5f00 |0372: check-cast v7, Landroid/widget/CheckBox; // type@005f │ │ +01bee0: 6907 0601 |0374: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01bee4: 6e20 b800 1700 |0376: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01beea: 6201 0601 |0379: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01beee: 6e20 bb00 d100 |037b: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00bb │ │ +01bef4: 6201 1c01 |037e: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ +01bef8: 3801 0a00 |0380: if-eqz v1, 038a // +000a │ │ +01befc: 6e10 b700 0100 |0382: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01bf02: 0a01 |0385: move-result v1 │ │ +01bf04: 3801 0400 |0386: if-eqz v1, 038a // +0004 │ │ +01bf08: 1211 |0388: const/4 v1, #int 1 // #1 │ │ +01bf0a: 2802 |0389: goto 038b // +0002 │ │ +01bf0c: 1201 |038a: const/4 v1, #int 0 // #0 │ │ +01bf0e: 1407 3a00 057f |038b: const v7, #float 1.76788e+38 // #7f05003a │ │ +01bf14: 6e20 c902 7d00 |038e: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01bf1a: 0c07 |0391: move-result-object v7 │ │ +01bf1c: 1f07 5f00 |0392: check-cast v7, Landroid/widget/CheckBox; // type@005f │ │ +01bf20: 6907 1c01 |0394: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ +01bf24: 6e20 b800 1700 |0396: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01bf2a: 6201 1c01 |0399: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ +01bf2e: 6e20 bb00 d100 |039b: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00bb │ │ +01bf34: 6201 2901 |039e: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01bf38: 3801 0a00 |03a0: if-eqz v1, 03aa // +000a │ │ +01bf3c: 6e10 b700 0100 |03a2: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01bf42: 0a01 |03a5: move-result v1 │ │ +01bf44: 3801 0400 |03a6: if-eqz v1, 03aa // +0004 │ │ +01bf48: 1211 |03a8: const/4 v1, #int 1 // #1 │ │ +01bf4a: 2802 |03a9: goto 03ab // +0002 │ │ +01bf4c: 1201 |03aa: const/4 v1, #int 0 // #0 │ │ +01bf4e: 1407 4e00 057f |03ab: const v7, #float 1.76789e+38 // #7f05004e │ │ +01bf54: 6e20 c902 7d00 |03ae: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01bf5a: 0c07 |03b1: move-result-object v7 │ │ +01bf5c: 1f07 5f00 |03b2: check-cast v7, Landroid/widget/CheckBox; // type@005f │ │ +01bf60: 6907 2901 |03b4: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01bf64: 6e20 b800 1700 |03b6: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01bf6a: 6201 2901 |03b9: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01bf6e: 6e20 bb00 d100 |03bb: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00bb │ │ +01bf74: 6201 2801 |03be: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ +01bf78: 3801 0a00 |03c0: if-eqz v1, 03ca // +000a │ │ +01bf7c: 6e10 b700 0100 |03c2: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01bf82: 0a01 |03c5: move-result v1 │ │ +01bf84: 3801 0400 |03c6: if-eqz v1, 03ca // +0004 │ │ +01bf88: 1211 |03c8: const/4 v1, #int 1 // #1 │ │ +01bf8a: 2802 |03c9: goto 03cb // +0002 │ │ +01bf8c: 1201 |03ca: const/4 v1, #int 0 // #0 │ │ +01bf8e: 1407 4d00 057f |03cb: const v7, #float 1.76789e+38 // #7f05004d │ │ +01bf94: 6e20 c902 7d00 |03ce: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01bf9a: 0c07 |03d1: move-result-object v7 │ │ +01bf9c: 1f07 5f00 |03d2: check-cast v7, Landroid/widget/CheckBox; // type@005f │ │ +01bfa0: 6907 2801 |03d4: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ +01bfa4: 6e20 b800 1700 |03d6: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01bfaa: 6201 2801 |03d9: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ +01bfae: 6e20 bb00 d100 |03db: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00bb │ │ +01bfb4: 6201 3001 |03de: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01bfb8: 3801 0a00 |03e0: if-eqz v1, 03ea // +000a │ │ +01bfbc: 6e10 b700 0100 |03e2: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01bfc2: 0a01 |03e5: move-result v1 │ │ +01bfc4: 3801 0400 |03e6: if-eqz v1, 03ea // +0004 │ │ +01bfc8: 1211 |03e8: const/4 v1, #int 1 // #1 │ │ +01bfca: 2802 |03e9: goto 03eb // +0002 │ │ +01bfcc: 1201 |03ea: const/4 v1, #int 0 // #0 │ │ +01bfce: 1407 5900 057f |03eb: const v7, #float 1.76789e+38 // #7f050059 │ │ +01bfd4: 6e20 c902 7d00 |03ee: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01bfda: 0c07 |03f1: move-result-object v7 │ │ +01bfdc: 1f07 5f00 |03f2: check-cast v7, Landroid/widget/CheckBox; // type@005f │ │ +01bfe0: 6907 3001 |03f4: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01bfe4: 6e20 b800 1700 |03f6: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01bfea: 6201 3001 |03f9: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01bfee: 6e20 bb00 d100 |03fb: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00bb │ │ +01bff4: 6201 1501 |03fe: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ +01bff8: 3801 0a00 |0400: if-eqz v1, 040a // +000a │ │ +01bffc: 6e10 b700 0100 |0402: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01c002: 0a01 |0405: move-result v1 │ │ +01c004: 3801 0400 |0406: if-eqz v1, 040a // +0004 │ │ +01c008: 1211 |0408: const/4 v1, #int 1 // #1 │ │ +01c00a: 2802 |0409: goto 040b // +0002 │ │ +01c00c: 1201 |040a: const/4 v1, #int 0 // #0 │ │ +01c00e: 1407 1800 057f |040b: const v7, #float 1.76788e+38 // #7f050018 │ │ +01c014: 6e20 c902 7d00 |040e: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01c01a: 0c07 |0411: move-result-object v7 │ │ +01c01c: 1f07 5f00 |0412: check-cast v7, Landroid/widget/CheckBox; // type@005f │ │ +01c020: 6907 1501 |0414: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ +01c024: 6e20 b800 1700 |0416: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01c02a: 6201 1501 |0419: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ +01c02e: 6e20 bb00 d100 |041b: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00bb │ │ +01c034: 6201 0301 |041e: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ +01c038: 3801 0a00 |0420: if-eqz v1, 042a // +000a │ │ +01c03c: 6e10 b700 0100 |0422: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01c042: 0a01 |0425: move-result v1 │ │ +01c044: 3801 0400 |0426: if-eqz v1, 042a // +0004 │ │ +01c048: 1211 |0428: const/4 v1, #int 1 // #1 │ │ +01c04a: 2802 |0429: goto 042b // +0002 │ │ +01c04c: 1201 |042a: const/4 v1, #int 0 // #0 │ │ +01c04e: 1407 0d00 057f |042b: const v7, #float 1.76788e+38 // #7f05000d │ │ +01c054: 6e20 c902 7d00 |042e: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01c05a: 0c07 |0431: move-result-object v7 │ │ +01c05c: 1f07 5f00 |0432: check-cast v7, Landroid/widget/CheckBox; // type@005f │ │ +01c060: 6907 0301 |0434: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ +01c064: 6e20 b800 1700 |0436: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01c06a: 6201 0301 |0439: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ +01c06e: 6e20 bb00 d100 |043b: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00bb │ │ +01c074: 6201 1201 |043e: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01c078: 3801 0a00 |0440: if-eqz v1, 044a // +000a │ │ +01c07c: 6e10 b700 0100 |0442: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01c082: 0a01 |0445: move-result v1 │ │ +01c084: 3801 0400 |0446: if-eqz v1, 044a // +0004 │ │ +01c088: 1211 |0448: const/4 v1, #int 1 // #1 │ │ +01c08a: 2802 |0449: goto 044b // +0002 │ │ +01c08c: 1201 |044a: const/4 v1, #int 0 // #0 │ │ +01c08e: 1407 2500 057f |044b: const v7, #float 1.76788e+38 // #7f050025 │ │ +01c094: 6e20 c902 7d00 |044e: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01c09a: 0c07 |0451: move-result-object v7 │ │ +01c09c: 1f07 5f00 |0452: check-cast v7, Landroid/widget/CheckBox; // type@005f │ │ +01c0a0: 6907 1201 |0454: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01c0a4: 6e20 b800 1700 |0456: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01c0aa: 6201 1201 |0459: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01c0ae: 6e20 bb00 d100 |045b: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00bb │ │ +01c0b4: 6201 2201 |045e: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01c0b8: 3801 0a00 |0460: if-eqz v1, 046a // +000a │ │ +01c0bc: 6e10 b700 0100 |0462: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01c0c2: 0a01 |0465: move-result v1 │ │ +01c0c4: 3801 0400 |0466: if-eqz v1, 046a // +0004 │ │ +01c0c8: 1211 |0468: const/4 v1, #int 1 // #1 │ │ +01c0ca: 2802 |0469: goto 046b // +0002 │ │ +01c0cc: 1201 |046a: const/4 v1, #int 0 // #0 │ │ +01c0ce: 1407 4600 057f |046b: const v7, #float 1.76789e+38 // #7f050046 │ │ +01c0d4: 6e20 c902 7d00 |046e: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01c0da: 0c07 |0471: move-result-object v7 │ │ +01c0dc: 1f07 5f00 |0472: check-cast v7, Landroid/widget/CheckBox; // type@005f │ │ +01c0e0: 6907 2201 |0474: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01c0e4: 6e20 b800 1700 |0476: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01c0ea: 6201 2201 |0479: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01c0ee: 6e20 bb00 d100 |047b: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00bb │ │ +01c0f4: 6201 1101 |047e: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01c0f8: 3801 0a00 |0480: if-eqz v1, 048a // +000a │ │ +01c0fc: 6e10 b700 0100 |0482: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00b7 │ │ +01c102: 0a01 |0485: move-result v1 │ │ +01c104: 3801 0400 |0486: if-eqz v1, 048a // +0004 │ │ +01c108: 1211 |0488: const/4 v1, #int 1 // #1 │ │ +01c10a: 2802 |0489: goto 048b // +0002 │ │ +01c10c: 1201 |048a: const/4 v1, #int 0 // #0 │ │ +01c10e: 1407 2000 057f |048b: const v7, #float 1.76788e+38 // #7f050020 │ │ +01c114: 6e20 c902 7d00 |048e: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01c11a: 0c07 |0491: move-result-object v7 │ │ +01c11c: 1f07 5f00 |0492: check-cast v7, Landroid/widget/CheckBox; // type@005f │ │ +01c120: 6907 1101 |0494: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01c124: 6e20 b800 1700 |0496: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01c12a: 6201 1101 |0499: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01c12e: 6e20 bb00 d100 |049b: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00bb │ │ +01c134: 1401 0f00 057f |049e: const v1, #float 1.76788e+38 // #7f05000f │ │ +01c13a: 6e20 c902 1d00 |04a1: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01c140: 0c01 |04a4: move-result-object v1 │ │ +01c142: 1f01 6900 |04a5: check-cast v1, Landroid/widget/ScrollView; // type@0069 │ │ +01c146: 6901 0701 |04a7: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.appWhiteListScroll:Landroid/widget/ScrollView; // field@0107 │ │ +01c14a: 6201 0401 |04a9: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ +01c14e: 3801 0b00 |04ab: if-eqz v1, 04b6 // +000b │ │ +01c152: 6e10 3902 0100 |04ad: invoke-virtual {v1}, Ldnsfilter/android/AppSelectorView;.clear:()V // method@0239 │ │ +01c158: 6201 0401 |04b0: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ +01c15c: 6e10 3c02 0100 |04b2: invoke-virtual {v1}, Ldnsfilter/android/AppSelectorView;.getSelectedAppPackages:()Ljava/lang/String; // method@023c │ │ +01c162: 0c02 |04b5: move-result-object v2 │ │ +01c164: 1401 0e00 057f |04b6: const v1, #float 1.76788e+38 // #7f05000e │ │ +01c16a: 6e20 c902 1d00 |04b9: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01c170: 0c01 |04bc: move-result-object v1 │ │ +01c172: 1f01 9800 |04bd: check-cast v1, Ldnsfilter/android/AppSelectorView; // type@0098 │ │ +01c176: 6901 0401 |04bf: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ +01c17a: 6e20 4302 2100 |04c1: invoke-virtual {v1, v2}, Ldnsfilter/android/AppSelectorView;.setSelectedApps:(Ljava/lang/String;)V // method@0243 │ │ +01c180: 6201 0201 |04c4: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +01c184: 3801 0a00 |04c6: if-eqz v1, 04d0 // +000a │ │ +01c188: 6e10 c500 0100 |04c8: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ +01c18e: 0c0e |04cb: move-result-object v14 │ │ +01c190: 6e10 5405 0e00 |04cc: invoke-virtual {v14}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ +01c196: 0c0e |04cf: move-result-object v14 │ │ +01c198: 1401 0b00 057f |04d0: const v1, #float 1.76788e+38 // #7f05000b │ │ +01c19e: 6e20 c902 1d00 |04d3: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01c1a4: 0c01 |04d6: move-result-object v1 │ │ +01c1a6: 1f01 6200 |04d7: check-cast v1, Landroid/widget/EditText; // type@0062 │ │ +01c1aa: 6901 0201 |04d9: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +01c1ae: 6e20 d100 e100 |04db: invoke-virtual {v1, v14}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ +01c1b4: 6201 0201 |04de: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +01c1b8: 6e20 bf00 d100 |04e0: invoke-virtual {v1, v13}, Landroid/widget/EditText;.addTextChangedListener:(Landroid/text/TextWatcher;)V // method@00bf │ │ +01c1be: 6201 2301 |04e3: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ +01c1c2: 3801 0a00 |04e5: if-eqz v1, 04ef // +000a │ │ +01c1c6: 6e10 c500 0100 |04e7: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ +01c1cc: 0c0e |04ea: move-result-object v14 │ │ +01c1ce: 6e10 5405 0e00 |04eb: invoke-virtual {v14}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ +01c1d4: 0c0e |04ee: move-result-object v14 │ │ +01c1d6: 1401 4700 057f |04ef: const v1, #float 1.76789e+38 // #7f050047 │ │ +01c1dc: 6e20 c902 1d00 |04f2: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01c1e2: 0c01 |04f5: move-result-object v1 │ │ +01c1e4: 1f01 6200 |04f6: check-cast v1, Landroid/widget/EditText; // type@0062 │ │ +01c1e8: 6901 2301 |04f8: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ +01c1ec: 6e20 d100 e100 |04fa: invoke-virtual {v1, v14}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ +01c1f2: 620e 2301 |04fd: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ +01c1f6: 6e20 bf00 de00 |04ff: invoke-virtual {v14, v13}, Landroid/widget/EditText;.addTextChangedListener:(Landroid/text/TextWatcher;)V // method@00bf │ │ +01c1fc: 140e 1c00 057f |0502: const v14, #float 1.76788e+38 // #7f05001c │ │ +01c202: 6e20 c902 ed00 |0505: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01c208: 0c0e |0508: move-result-object v14 │ │ +01c20a: 1301 0800 |0509: const/16 v1, #int 8 // #8 │ │ +01c20e: 6e20 9f00 1e00 |050b: invoke-virtual {v14, v1}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +01c214: 7020 d502 5d00 |050e: invoke-direct {v13, v5}, Ldnsfilter/android/DNSProxyActivity;.handleAdvancedConfig:(Landroid/widget/CheckBox;)V // method@02d5 │ │ +01c21a: 620e 2401 |0511: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01c21e: 380e 1000 |0513: if-eqz v14, 0523 // +0010 │ │ +01c222: 620e f000 |0515: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01c226: 6e10 4301 0e00 |0517: invoke-virtual {v14}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0143 │ │ +01c22c: 0a0e |051a: move-result v14 │ │ +01c22e: 380e 1d00 |051b: if-eqz v14, 0538 // +001d │ │ +01c232: 620e 2401 |051d: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01c236: 6e20 5707 de00 |051f: invoke-virtual {v14, v13}, Lutil/SuppressRepeatingsLogger;.setNestedLogger:(Lutil/LoggerInterface;)V // method@0757 │ │ +01c23c: 2816 |0522: goto 0538 // +0016 │ │ +01c23e: 220e 8a01 |0523: new-instance v14, Lutil/SuppressRepeatingsLogger; // type@018a │ │ +01c242: 7020 4e07 de00 |0525: invoke-direct {v14, v13}, Lutil/SuppressRepeatingsLogger;.:(Lutil/LoggerInterface;)V // method@074e │ │ +01c248: 690e 2401 |0528: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01c24c: 220e 7e01 |052a: new-instance v14, Lutil/GroupedLogger; // type@017e │ │ +01c250: 2341 b001 |052c: new-array v1, v4, [Lutil/LoggerInterface; // type@01b0 │ │ +01c254: 6202 2401 |052e: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01c258: 4d02 0106 |0530: aput-object v2, v1, v6 │ │ +01c25c: 7020 d006 1e00 |0532: invoke-direct {v14, v1}, Lutil/GroupedLogger;.:([Lutil/LoggerInterface;)V // method@06d0 │ │ +01c262: 7110 0807 0e00 |0535: invoke-static {v14}, Lutil/Logger;.setLogger:(Lutil/LoggerInterface;)V // method@0708 │ │ +01c268: 7100 3f01 0000 |0538: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +01c26e: 0c0e |053b: move-result-object v14 │ │ +01c270: 6e10 3a01 0e00 |053c: invoke-virtual {v14}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@013a │ │ +01c276: 0c0e |053f: move-result-object v14 │ │ +01c278: 1a01 0a07 |0540: const-string v1, "forceAndroidDisplayMode" // string@070a │ │ +01c27c: 1a02 fc08 |0542: const-string v2, "none" // string@08fc │ │ +01c280: 6e30 2501 1e02 |0544: invoke-virtual {v14, v1, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ +01c286: 0c0e |0547: move-result-object v14 │ │ +01c288: 6e10 7c05 0e00 |0548: invoke-virtual {v14}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01c28e: 0c0e |054b: move-result-object v14 │ │ +01c290: 1a01 7009 |054c: const-string v1, "portrait" // string@0970 │ │ +01c294: 6e20 6805 1e00 |054e: invoke-virtual {v14, v1}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@0568 │ │ +01c29a: 0a01 |0551: move-result v1 │ │ +01c29c: 3801 0600 |0552: if-eqz v1, 0558 // +0006 │ │ +01c2a0: 6e20 0703 4d00 |0554: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.setRequestedOrientation:(I)V // method@0307 │ │ +01c2a6: 281c |0557: goto 0573 // +001c │ │ +01c2a8: 1a01 8508 |0558: const-string v1, "landscape" // string@0885 │ │ +01c2ac: 6e20 6805 1e00 |055a: invoke-virtual {v14, v1}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@0568 │ │ +01c2b2: 0a0e |055d: move-result v14 │ │ +01c2b4: 380e 0600 |055e: if-eqz v14, 0564 // +0006 │ │ +01c2b8: 6e20 0703 6d00 |0560: invoke-virtual {v13, v6}, Ldnsfilter/android/DNSProxyActivity;.setRequestedOrientation:(I)V // method@0307 │ │ +01c2be: 2810 |0563: goto 0573 // +0010 │ │ +01c2c0: 6e10 d002 0d00 |0564: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02d0 │ │ +01c2c6: 0c0e |0567: move-result-object v14 │ │ +01c2c8: 1501 027f |0568: const/high16 v1, #int 2130837504 // #7f02 │ │ +01c2cc: 6e20 4d00 1e00 |056a: invoke-virtual {v14, v1}, Landroid/content/res/Resources;.getBoolean:(I)Z // method@004d │ │ +01c2d2: 0a0e |056d: move-result v14 │ │ +01c2d4: 380e 0500 |056e: if-eqz v14, 0573 // +0005 │ │ +01c2d8: 6e20 0703 4d00 |0570: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.setRequestedOrientation:(I)V // method@0307 │ │ +01c2de: 7100 3f01 0000 |0573: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +01c2e4: 0c0e |0576: move-result-object v14 │ │ +01c2e6: 6e10 3a01 0e00 |0577: invoke-virtual {v14}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@013a │ │ +01c2ec: 0c0e |057a: move-result-object v14 │ │ +01c2ee: 1a01 4506 |057b: const-string v1, "debug" // string@0645 │ │ +01c2f2: 1a02 d506 |057d: const-string v2, "false" // string@06d5 │ │ +01c2f6: 6e30 2501 1e02 |057f: invoke-virtual {v14, v1, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ +01c2fc: 0c0e |0582: move-result-object v14 │ │ +01c2fe: 7110 2705 0e00 |0583: invoke-static {v14}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +01c304: 0a0e |0586: move-result v14 │ │ +01c306: 6a0e 0f01 |0587: sput-boolean v14, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ +01c30a: 380e 2200 |0589: if-eqz v14, 05ab // +0022 │ │ +01c30e: 7100 5d05 0000 |058b: invoke-static {}, Ljava/lang/Runtime;.getRuntime:()Ljava/lang/Runtime; // method@055d │ │ +01c314: 0c0e |058e: move-result-object v14 │ │ +01c316: 2201 2801 |058f: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +01c31a: 7020 8405 3100 |0591: invoke-direct {v1, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +01c320: 7100 ae06 0000 |0594: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ +01c326: 0c02 |0597: move-result-object v2 │ │ +01c328: 7210 be06 0200 |0598: invoke-interface {v2}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06be │ │ +01c32e: 0c02 |059b: move-result-object v2 │ │ +01c330: 6e20 8905 2100 |059c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01c336: 1a02 6200 |059f: const-string v2, "/Logcat_file.txt" // string@0062 │ │ +01c33a: 6e20 8905 2100 |05a1: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01c340: 6e10 8b05 0100 |05a4: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01c346: 0c01 |05a7: move-result-object v1 │ │ +01c348: 6e20 5c05 1e00 |05a8: invoke-virtual {v14, v1}, Ljava/lang/Runtime;.exec:(Ljava/lang/String;)Ljava/lang/Process; // method@055c │ │ +01c34e: 630e 0501 |05ab: sget-boolean v14, Ldnsfilter/android/DNSProxyActivity;.appStart:Z // field@0105 │ │ +01c352: 380e 1a00 |05ad: if-eqz v14, 05c7 // +001a │ │ +01c356: 600e 0200 |05af: sget v14, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01c35a: 1301 2100 |05b1: const/16 v1, #int 33 // #21 │ │ +01c35e: 341e 1100 |05b3: if-lt v14, v1, 05c4 // +0011 │ │ +01c362: 7120 4502 0d00 |05b5: invoke-static {v13, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)I // method@0245 │ │ +01c368: 0a0e |05b8: move-result v14 │ │ +01c36a: 380e 0b00 |05b9: if-eqz v14, 05c4 // +000b │ │ +01c36e: 234e a901 |05bb: new-array v14, v4, [Ljava/lang/String; // type@01a9 │ │ +01c372: 4d00 0e06 |05bd: aput-object v0, v14, v6 │ │ +01c376: 1300 6500 |05bf: const/16 v0, #int 101 // #65 │ │ +01c37a: 7130 5202 ed00 |05c1: invoke-static {v13, v14, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSProxyActivity;[Ljava/lang/String;I)V // method@0252 │ │ +01c380: 7010 dd02 0d00 |05c4: invoke-direct {v13}, Ldnsfilter/android/DNSProxyActivity;.initAppAndStartup:()V // method@02dd │ │ +01c386: 0e00 |05c7: return-void │ │ +01c388: 0d0e |05c8: move-exception v14 │ │ +01c38a: 7020 c802 ed00 |05c9: invoke-direct {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.dump:(Ljava/lang/Exception;)V // method@02c8 │ │ +01c390: 2200 2401 |05cc: new-instance v0, Ljava/lang/RuntimeException; // type@0124 │ │ +01c394: 7020 5e05 e000 |05ce: invoke-direct {v0, v14}, Ljava/lang/RuntimeException;.:(Ljava/lang/Throwable;)V // method@055e │ │ +01c39a: 2700 |05d1: throw v0 │ │ catches : 3 │ │ 0x000a - 0x00e4 │ │ Ljava/lang/Exception; -> 0x05c8 │ │ 0x00e4 - 0x00ff │ │ Ljava/io/IOException; -> 0x0100 │ │ Ljava/lang/Exception; -> 0x05c8 │ │ 0x0101 - 0x05c7 │ │ @@ -47361,49 +47361,49 @@ │ │ type : '(Landroid/view/ActionMode;Landroid/view/Menu;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 3 │ │ outs : 2 │ │ insns size : 68 16-bit code units │ │ -01981c: |[01981c] dnsfilter.android.DNSProxyActivity.onCreateActionMode:(Landroid/view/ActionMode;Landroid/view/Menu;)Z │ │ -01982c: 12f5 |0000: const/4 v5, #int -1 // #ff │ │ -01982e: 6705 f800 |0001: sput v5, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f8 │ │ -019832: 1210 |0003: const/4 v0, #int 1 // #1 │ │ -019834: 7020 d102 0400 |0004: invoke-direct {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02d1 │ │ -01983a: 0c01 |0007: move-result-object v1 │ │ -01983c: 6002 0200 |0008: sget v2, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -019840: 1303 1700 |000a: const/16 v3, #int 23 // #17 │ │ -019844: 3532 0d00 |000c: if-ge v2, v3, 0019 // +000d │ │ -019848: 1402 1c00 057f |000e: const v2, #float 1.76788e+38 // #7f05001c │ │ -01984e: 6e20 c902 2400 |0011: invoke-virtual {v4, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -019854: 0c02 |0014: move-result-object v2 │ │ -019856: 1203 |0015: const/4 v3, #int 0 // #0 │ │ -019858: 6e20 9f00 3200 |0016: invoke-virtual {v2, v3}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -01985e: 6202 f900 |0019: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f9 │ │ -019862: 6e20 6c05 2100 |001b: invoke-virtual {v1, v2}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@056c │ │ -019868: 0a02 |001e: move-result v2 │ │ -01986a: 3252 0f00 |001f: if-eq v2, v5, 002e // +000f │ │ -01986e: 1402 0500 087f |0021: const v2, #float 1.80775e+38 // #7f080005 │ │ -019874: 6e20 d202 2400 |0024: invoke-virtual {v4, v2}, Ldnsfilter/android/DNSProxyActivity;.getString:(I)Ljava/lang/String; // method@02d2 │ │ -01987a: 0c02 |0027: move-result-object v2 │ │ -01987c: 7220 9300 2600 |0028: invoke-interface {v6, v2}, Landroid/view/Menu;.add:(Ljava/lang/CharSequence;)Landroid/view/MenuItem; // method@0093 │ │ -019882: 0c02 |002b: move-result-object v2 │ │ -019884: 6902 0001 |002c: sput-object v2, Ldnsfilter/android/DNSProxyActivity;.add_filter:Landroid/view/MenuItem; // field@0100 │ │ -019888: 6202 f400 |002e: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f4 │ │ -01988c: 6e20 6c05 2100 |0030: invoke-virtual {v1, v2}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@056c │ │ -019892: 0a01 |0033: move-result v1 │ │ -019894: 3251 0f00 |0034: if-eq v1, v5, 0043 // +000f │ │ -019898: 1405 2700 087f |0036: const v5, #float 1.80776e+38 // #7f080027 │ │ -01989e: 6e20 d202 5400 |0039: invoke-virtual {v4, v5}, Ldnsfilter/android/DNSProxyActivity;.getString:(I)Ljava/lang/String; // method@02d2 │ │ -0198a4: 0c05 |003c: move-result-object v5 │ │ -0198a6: 7220 9300 5600 |003d: invoke-interface {v6, v5}, Landroid/view/Menu;.add:(Ljava/lang/CharSequence;)Landroid/view/MenuItem; // method@0093 │ │ -0198ac: 0c05 |0040: move-result-object v5 │ │ -0198ae: 6905 2d01 |0041: sput-object v5, Ldnsfilter/android/DNSProxyActivity;.remove_filter:Landroid/view/MenuItem; // field@012d │ │ -0198b2: 0f00 |0043: return v0 │ │ +019818: |[019818] dnsfilter.android.DNSProxyActivity.onCreateActionMode:(Landroid/view/ActionMode;Landroid/view/Menu;)Z │ │ +019828: 12f5 |0000: const/4 v5, #int -1 // #ff │ │ +01982a: 6705 f800 |0001: sput v5, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f8 │ │ +01982e: 1210 |0003: const/4 v0, #int 1 // #1 │ │ +019830: 7020 d102 0400 |0004: invoke-direct {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02d1 │ │ +019836: 0c01 |0007: move-result-object v1 │ │ +019838: 6002 0200 |0008: sget v2, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01983c: 1303 1700 |000a: const/16 v3, #int 23 // #17 │ │ +019840: 3532 0d00 |000c: if-ge v2, v3, 0019 // +000d │ │ +019844: 1402 1c00 057f |000e: const v2, #float 1.76788e+38 // #7f05001c │ │ +01984a: 6e20 c902 2400 |0011: invoke-virtual {v4, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +019850: 0c02 |0014: move-result-object v2 │ │ +019852: 1203 |0015: const/4 v3, #int 0 // #0 │ │ +019854: 6e20 9f00 3200 |0016: invoke-virtual {v2, v3}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +01985a: 6202 f900 |0019: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f9 │ │ +01985e: 6e20 6c05 2100 |001b: invoke-virtual {v1, v2}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@056c │ │ +019864: 0a02 |001e: move-result v2 │ │ +019866: 3252 0f00 |001f: if-eq v2, v5, 002e // +000f │ │ +01986a: 1402 0500 087f |0021: const v2, #float 1.80775e+38 // #7f080005 │ │ +019870: 6e20 d202 2400 |0024: invoke-virtual {v4, v2}, Ldnsfilter/android/DNSProxyActivity;.getString:(I)Ljava/lang/String; // method@02d2 │ │ +019876: 0c02 |0027: move-result-object v2 │ │ +019878: 7220 9300 2600 |0028: invoke-interface {v6, v2}, Landroid/view/Menu;.add:(Ljava/lang/CharSequence;)Landroid/view/MenuItem; // method@0093 │ │ +01987e: 0c02 |002b: move-result-object v2 │ │ +019880: 6902 0001 |002c: sput-object v2, Ldnsfilter/android/DNSProxyActivity;.add_filter:Landroid/view/MenuItem; // field@0100 │ │ +019884: 6202 f400 |002e: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f4 │ │ +019888: 6e20 6c05 2100 |0030: invoke-virtual {v1, v2}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@056c │ │ +01988e: 0a01 |0033: move-result v1 │ │ +019890: 3251 0f00 |0034: if-eq v1, v5, 0043 // +000f │ │ +019894: 1405 2700 087f |0036: const v5, #float 1.80776e+38 // #7f080027 │ │ +01989a: 6e20 d202 5400 |0039: invoke-virtual {v4, v5}, Ldnsfilter/android/DNSProxyActivity;.getString:(I)Ljava/lang/String; // method@02d2 │ │ +0198a0: 0c05 |003c: move-result-object v5 │ │ +0198a2: 7220 9300 5600 |003d: invoke-interface {v6, v5}, Landroid/view/Menu;.add:(Ljava/lang/CharSequence;)Landroid/view/MenuItem; // method@0093 │ │ +0198a8: 0c05 |0040: move-result-object v5 │ │ +0198aa: 6905 2d01 |0041: sput-object v5, Ldnsfilter/android/DNSProxyActivity;.remove_filter:Landroid/view/MenuItem; // field@012d │ │ +0198ae: 0f00 |0043: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=1731 │ │ 0x0004 line=1733 │ │ 0x0008 line=1735 │ │ 0x0011 line=1736 │ │ 0x0019 line=1738 │ │ @@ -47420,30 +47420,30 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 32 16-bit code units │ │ -01c3c8: |[01c3c8] dnsfilter.android.DNSProxyActivity.onDestroy:()V │ │ -01c3d8: 6f10 0500 0100 |0000: invoke-super {v1}, Landroid/app/Activity;.onDestroy:()V // method@0005 │ │ -01c3de: 6200 fb00 |0003: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fb │ │ -01c3e2: 3800 0d00 |0005: if-eqz v0, 0012 // +000d │ │ -01c3e6: 6e10 1000 0000 |0007: invoke-virtual {v0}, Landroid/app/AlertDialog;.isShowing:()Z // method@0010 │ │ -01c3ec: 0a00 |000a: move-result v0 │ │ -01c3ee: 3800 0700 |000b: if-eqz v0, 0012 // +0007 │ │ -01c3f2: 6200 fb00 |000d: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fb │ │ -01c3f6: 6e10 0f00 0000 |000f: invoke-virtual {v0}, Landroid/app/AlertDialog;.dismiss:()V // method@000f │ │ -01c3fc: 6200 2601 |0012: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01c400: 3800 0b00 |0014: if-eqz v0, 001f // +000b │ │ -01c404: 6e10 1900 0000 |0016: invoke-virtual {v0}, Landroid/app/Dialog;.isShowing:()Z // method@0019 │ │ -01c40a: 0a00 |0019: move-result v0 │ │ -01c40c: 3800 0500 |001a: if-eqz v0, 001f // +0005 │ │ -01c410: 7010 c202 0100 |001c: invoke-direct {v1}, Ldnsfilter/android/DNSProxyActivity;.closeInitialInfoPopUp:()V // method@02c2 │ │ -01c416: 0e00 |001f: return-void │ │ +01c3c4: |[01c3c4] dnsfilter.android.DNSProxyActivity.onDestroy:()V │ │ +01c3d4: 6f10 0500 0100 |0000: invoke-super {v1}, Landroid/app/Activity;.onDestroy:()V // method@0005 │ │ +01c3da: 6200 fb00 |0003: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fb │ │ +01c3de: 3800 0d00 |0005: if-eqz v0, 0012 // +000d │ │ +01c3e2: 6e10 1000 0000 |0007: invoke-virtual {v0}, Landroid/app/AlertDialog;.isShowing:()Z // method@0010 │ │ +01c3e8: 0a00 |000a: move-result v0 │ │ +01c3ea: 3800 0700 |000b: if-eqz v0, 0012 // +0007 │ │ +01c3ee: 6200 fb00 |000d: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fb │ │ +01c3f2: 6e10 0f00 0000 |000f: invoke-virtual {v0}, Landroid/app/AlertDialog;.dismiss:()V // method@000f │ │ +01c3f8: 6200 2601 |0012: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01c3fc: 3800 0b00 |0014: if-eqz v0, 001f // +000b │ │ +01c400: 6e10 1900 0000 |0016: invoke-virtual {v0}, Landroid/app/Dialog;.isShowing:()Z // method@0019 │ │ +01c406: 0a00 |0019: move-result v0 │ │ +01c408: 3800 0500 |001a: if-eqz v0, 001f // +0005 │ │ +01c40c: 7010 c202 0100 |001c: invoke-direct {v1}, Ldnsfilter/android/DNSProxyActivity;.closeInitialInfoPopUp:()V // method@02c2 │ │ +01c412: 0e00 |001f: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=621 │ │ 0x0003 line=622 │ │ 0x000d line=623 │ │ 0x0012 line=625 │ │ 0x001c line=626 │ │ @@ -47455,24 +47455,24 @@ │ │ type : '(Landroid/view/ActionMode;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 19 16-bit code units │ │ -01c418: |[01c418] dnsfilter.android.DNSProxyActivity.onDestroyActionMode:(Landroid/view/ActionMode;)V │ │ -01c428: 6002 0200 |0000: sget v2, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01c42c: 1300 1700 |0002: const/16 v0, #int 23 // #17 │ │ -01c430: 3502 0e00 |0004: if-ge v2, v0, 0012 // +000e │ │ -01c434: 1402 1c00 057f |0006: const v2, #float 1.76788e+38 // #7f05001c │ │ -01c43a: 6e20 c902 2100 |0009: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01c440: 0c02 |000c: move-result-object v2 │ │ -01c442: 1300 0800 |000d: const/16 v0, #int 8 // #8 │ │ -01c446: 6e20 9f00 0200 |000f: invoke-virtual {v2, v0}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -01c44c: 0e00 |0012: return-void │ │ +01c414: |[01c414] dnsfilter.android.DNSProxyActivity.onDestroyActionMode:(Landroid/view/ActionMode;)V │ │ +01c424: 6002 0200 |0000: sget v2, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01c428: 1300 1700 |0002: const/16 v0, #int 23 // #17 │ │ +01c42c: 3502 0e00 |0004: if-ge v2, v0, 0012 // +000e │ │ +01c430: 1402 1c00 057f |0006: const v2, #float 1.76788e+38 // #7f05001c │ │ +01c436: 6e20 c902 2100 |0009: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01c43c: 0c02 |000c: move-result-object v2 │ │ +01c43e: 1300 0800 |000d: const/16 v0, #int 8 // #8 │ │ +01c442: 6e20 9f00 0200 |000f: invoke-virtual {v2, v0}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +01c448: 0e00 |0012: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1769 │ │ 0x0009 line=1771 │ │ locals : │ │ 0x0000 - 0x0013 reg=1 this Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x0013 reg=2 (null) Landroid/view/ActionMode; │ │ @@ -47482,22 +47482,22 @@ │ │ type : '(Landroid/view/View;Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -01c450: |[01c450] dnsfilter.android.DNSProxyActivity.onFocusChange:(Landroid/view/View;Z)V │ │ -01c460: 3902 0e00 |0000: if-nez v2, 000e // +000e │ │ -01c464: 1401 1c00 057f |0002: const v1, #float 1.76788e+38 // #7f05001c │ │ -01c46a: 6e20 c902 1000 |0005: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -01c470: 0c01 |0008: move-result-object v1 │ │ -01c472: 1302 0800 |0009: const/16 v2, #int 8 // #8 │ │ -01c476: 6e20 9f00 2100 |000b: invoke-virtual {v1, v2}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -01c47c: 0e00 |000e: return-void │ │ +01c44c: |[01c44c] dnsfilter.android.DNSProxyActivity.onFocusChange:(Landroid/view/View;Z)V │ │ +01c45c: 3902 0e00 |0000: if-nez v2, 000e // +000e │ │ +01c460: 1401 1c00 057f |0002: const v1, #float 1.76788e+38 // #7f05001c │ │ +01c466: 6e20 c902 1000 |0005: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +01c46c: 0c01 |0008: move-result-object v1 │ │ +01c46e: 1302 0800 |0009: const/16 v2, #int 8 // #8 │ │ +01c472: 6e20 9f00 2100 |000b: invoke-virtual {v1, v2}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +01c478: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0005 line=1868 │ │ locals : │ │ 0x0000 - 0x000f reg=0 this Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x000f reg=1 (null) Landroid/view/View; │ │ 0x0000 - 0x000f reg=2 (null) Z │ │ @@ -47507,23 +47507,23 @@ │ │ type : '(Landroid/content/DialogInterface;ILandroid/view/KeyEvent;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 1 │ │ insns size : 14 16-bit code units │ │ -0198b4: |[0198b4] dnsfilter.android.DNSProxyActivity.onKey:(Landroid/content/DialogInterface;ILandroid/view/KeyEvent;)Z │ │ -0198c4: 1243 |0000: const/4 v3, #int 4 // #4 │ │ -0198c6: 3232 0500 |0001: if-eq v2, v3, 0006 // +0005 │ │ -0198ca: 1233 |0003: const/4 v3, #int 3 // #3 │ │ -0198cc: 3332 0800 |0004: if-ne v2, v3, 000c // +0008 │ │ -0198d0: 7210 3d00 0100 |0006: invoke-interface {v1}, Landroid/content/DialogInterface;.dismiss:()V // method@003d │ │ -0198d6: 7010 fc02 0000 |0009: invoke-direct {v0}, Ldnsfilter/android/DNSProxyActivity;.persistConfig:()V // method@02fc │ │ -0198dc: 1201 |000c: const/4 v1, #int 0 // #0 │ │ -0198de: 0f01 |000d: return v1 │ │ +0198b0: |[0198b0] dnsfilter.android.DNSProxyActivity.onKey:(Landroid/content/DialogInterface;ILandroid/view/KeyEvent;)Z │ │ +0198c0: 1243 |0000: const/4 v3, #int 4 // #4 │ │ +0198c2: 3232 0500 |0001: if-eq v2, v3, 0006 // +0005 │ │ +0198c6: 1233 |0003: const/4 v3, #int 3 // #3 │ │ +0198c8: 3332 0800 |0004: if-ne v2, v3, 000c // +0008 │ │ +0198cc: 7210 3d00 0100 |0006: invoke-interface {v1}, Landroid/content/DialogInterface;.dismiss:()V // method@003d │ │ +0198d2: 7010 fc02 0000 |0009: invoke-direct {v0}, Ldnsfilter/android/DNSProxyActivity;.persistConfig:()V // method@02fc │ │ +0198d8: 1201 |000c: const/4 v1, #int 0 // #0 │ │ +0198da: 0f01 |000d: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0006 line=1126 │ │ 0x0009 line=1127 │ │ locals : │ │ 0x0000 - 0x000e reg=0 this Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x000e reg=1 (null) Landroid/content/DialogInterface; │ │ @@ -47535,66 +47535,66 @@ │ │ type : '(Landroid/view/MenuItem;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 2 16-bit code units │ │ -0198e0: |[0198e0] dnsfilter.android.DNSProxyActivity.onMenuItemClick:(Landroid/view/MenuItem;)Z │ │ -0198f0: 1201 |0000: const/4 v1, #int 0 // #0 │ │ -0198f2: 0f01 |0001: return v1 │ │ +0198dc: |[0198dc] dnsfilter.android.DNSProxyActivity.onMenuItemClick:(Landroid/view/MenuItem;)Z │ │ +0198ec: 1201 |0000: const/4 v1, #int 0 // #0 │ │ +0198ee: 0f01 |0001: return v1 │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #29 : (in Ldnsfilter/android/DNSProxyActivity;) │ │ name : 'onPrepareActionMode' │ │ type : '(Landroid/view/ActionMode;Landroid/view/Menu;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 0 │ │ insns size : 2 16-bit code units │ │ -0198f4: |[0198f4] dnsfilter.android.DNSProxyActivity.onPrepareActionMode:(Landroid/view/ActionMode;Landroid/view/Menu;)Z │ │ -019904: 1201 |0000: const/4 v1, #int 0 // #0 │ │ -019906: 0f01 |0001: return v1 │ │ +0198f0: |[0198f0] dnsfilter.android.DNSProxyActivity.onPrepareActionMode:(Landroid/view/ActionMode;Landroid/view/Menu;)Z │ │ +019900: 1201 |0000: const/4 v1, #int 0 // #0 │ │ +019902: 0f01 |0001: return v1 │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #30 : (in Ldnsfilter/android/DNSProxyActivity;) │ │ name : 'onRequestPermissionsResult' │ │ type : '(I[Ljava/lang/String;[I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 4 │ │ outs : 2 │ │ insns size : 36 16-bit code units │ │ -01c50c: |[01c50c] dnsfilter.android.DNSProxyActivity.onRequestPermissionsResult:(I[Ljava/lang/String;[I)V │ │ -01c51c: 2142 |0000: array-length v2, v4 │ │ -01c51e: 3902 0300 |0001: if-nez v2, 0004 // +0003 │ │ -01c522: 0e00 |0003: return-void │ │ -01c524: 1202 |0004: const/4 v2, #int 0 // #0 │ │ -01c526: 4603 0302 |0005: aget-object v3, v3, v2 │ │ -01c52a: 1a00 5e05 |0007: const-string v0, "android.permission.POST_NOTIFICATIONS" // string@055e │ │ -01c52e: 6e20 6705 0300 |0009: invoke-virtual {v3, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -01c534: 0a03 |000c: move-result v3 │ │ -01c536: 3803 0d00 |000d: if-eqz v3, 001a // +000d │ │ -01c53a: 4402 0402 |000f: aget v2, v4, v2 │ │ -01c53e: 3902 0900 |0011: if-nez v2, 001a // +0009 │ │ -01c542: 7010 da02 0100 |0013: invoke-direct {v1}, Ldnsfilter/android/DNSProxyActivity;.handleRestart:()V // method@02da │ │ -01c548: 7010 d802 0100 |0016: invoke-direct {v1}, Ldnsfilter/android/DNSProxyActivity;.handleInitialInfoPopUp:()V // method@02d8 │ │ -01c54e: 280a |0019: goto 0023 // +000a │ │ -01c550: 7100 0107 0000 |001a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01c556: 0c02 |001d: move-result-object v2 │ │ -01c558: 1a03 e303 |001e: const-string v3, "NOTIFICATION PERMISSION IS REQUIRED!" // string@03e3 │ │ -01c55c: 7220 0e07 3200 |0020: invoke-interface {v2, v3}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ -01c562: 0e00 |0023: return-void │ │ +01c508: |[01c508] dnsfilter.android.DNSProxyActivity.onRequestPermissionsResult:(I[Ljava/lang/String;[I)V │ │ +01c518: 2142 |0000: array-length v2, v4 │ │ +01c51a: 3902 0300 |0001: if-nez v2, 0004 // +0003 │ │ +01c51e: 0e00 |0003: return-void │ │ +01c520: 1202 |0004: const/4 v2, #int 0 // #0 │ │ +01c522: 4603 0302 |0005: aget-object v3, v3, v2 │ │ +01c526: 1a00 5e05 |0007: const-string v0, "android.permission.POST_NOTIFICATIONS" // string@055e │ │ +01c52a: 6e20 6705 0300 |0009: invoke-virtual {v3, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +01c530: 0a03 |000c: move-result v3 │ │ +01c532: 3803 0d00 |000d: if-eqz v3, 001a // +000d │ │ +01c536: 4402 0402 |000f: aget v2, v4, v2 │ │ +01c53a: 3902 0900 |0011: if-nez v2, 001a // +0009 │ │ +01c53e: 7010 da02 0100 |0013: invoke-direct {v1}, Ldnsfilter/android/DNSProxyActivity;.handleRestart:()V // method@02da │ │ +01c544: 7010 d802 0100 |0016: invoke-direct {v1}, Ldnsfilter/android/DNSProxyActivity;.handleInitialInfoPopUp:()V // method@02d8 │ │ +01c54a: 280a |0019: goto 0023 // +000a │ │ +01c54c: 7100 0107 0000 |001a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01c552: 0c02 |001d: move-result-object v2 │ │ +01c554: 1a03 e303 |001e: const-string v3, "NOTIFICATION PERMISSION IS REQUIRED!" // string@03e3 │ │ +01c558: 7220 0e07 3200 |0020: invoke-interface {v2, v3}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ +01c55e: 0e00 |0023: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=610 │ │ 0x0005 line=612 │ │ 0x0013 line=613 │ │ 0x0016 line=614 │ │ 0x001a line=616 │ │ @@ -47609,32 +47609,32 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 37 16-bit code units │ │ -01c564: |[01c564] dnsfilter.android.DNSProxyActivity.onResume:()V │ │ -01c574: 6f10 0600 0400 |0000: invoke-super {v4}, Landroid/app/Activity;.onResume:()V // method@0006 │ │ -01c57a: 7010 c002 0400 |0003: invoke-direct {v4}, Ldnsfilter/android/DNSProxyActivity;.checkPasscode:()V // method@02c0 │ │ -01c580: 281e |0006: goto 0024 // +001e │ │ -01c582: 0d00 |0007: move-exception v0 │ │ -01c584: 6e10 3805 0000 |0008: invoke-virtual {v0}, Ljava/lang/Exception;.printStackTrace:()V // method@0538 │ │ -01c58a: 7100 0107 0000 |000b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01c590: 0c01 |000e: move-result-object v1 │ │ -01c592: 2202 2801 |000f: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -01c596: 1a03 2c09 |0011: const-string v3, "onResume() failed! " // string@092c │ │ -01c59a: 7020 8405 3200 |0013: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -01c5a0: 6e10 3b05 0000 |0016: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@053b │ │ -01c5a6: 0c00 |0019: move-result-object v0 │ │ -01c5a8: 6e20 8905 0200 |001a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01c5ae: 6e10 8b05 0200 |001d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01c5b4: 0c00 |0020: move-result-object v0 │ │ -01c5b6: 7220 0d07 0100 |0021: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -01c5bc: 0e00 |0024: return-void │ │ +01c560: |[01c560] dnsfilter.android.DNSProxyActivity.onResume:()V │ │ +01c570: 6f10 0600 0400 |0000: invoke-super {v4}, Landroid/app/Activity;.onResume:()V // method@0006 │ │ +01c576: 7010 c002 0400 |0003: invoke-direct {v4}, Ldnsfilter/android/DNSProxyActivity;.checkPasscode:()V // method@02c0 │ │ +01c57c: 281e |0006: goto 0024 // +001e │ │ +01c57e: 0d00 |0007: move-exception v0 │ │ +01c580: 6e10 3805 0000 |0008: invoke-virtual {v0}, Ljava/lang/Exception;.printStackTrace:()V // method@0538 │ │ +01c586: 7100 0107 0000 |000b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01c58c: 0c01 |000e: move-result-object v1 │ │ +01c58e: 2202 2801 |000f: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +01c592: 1a03 2c09 |0011: const-string v3, "onResume() failed! " // string@092c │ │ +01c596: 7020 8405 3200 |0013: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +01c59c: 6e10 3b05 0000 |0016: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@053b │ │ +01c5a2: 0c00 |0019: move-result-object v0 │ │ +01c5a4: 6e20 8905 0200 |001a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01c5aa: 6e10 8b05 0200 |001d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01c5b0: 0c00 |0020: move-result-object v0 │ │ +01c5b2: 7220 0d07 0100 |0021: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +01c5b8: 0e00 |0024: return-void │ │ catches : 1 │ │ 0x0000 - 0x0006 │ │ Ljava/lang/Exception; -> 0x0007 │ │ positions : │ │ 0x0000 line=632 │ │ 0x0003 line=633 │ │ 0x0008 line=635 │ │ @@ -47647,65 +47647,65 @@ │ │ type : '(Ljava/lang/CharSequence;III)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 5 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -01c5d0: |[01c5d0] dnsfilter.android.DNSProxyActivity.onTextChanged:(Ljava/lang/CharSequence;III)V │ │ -01c5e0: 0e00 |0000: return-void │ │ +01c5cc: |[01c5cc] dnsfilter.android.DNSProxyActivity.onTextChanged:(Ljava/lang/CharSequence;III)V │ │ +01c5dc: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #33 : (in Ldnsfilter/android/DNSProxyActivity;) │ │ name : 'onTouch' │ │ type : '(Landroid/view/View;Landroid/view/MotionEvent;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 68 16-bit code units │ │ -019908: |[019908] dnsfilter.android.DNSProxyActivity.onTouch:(Landroid/view/View;Landroid/view/MotionEvent;)Z │ │ -019918: 5530 ed00 |0000: iget-boolean v0, v3, Ldnsfilter/android/DNSProxyActivity;.ACTION_MENU_FALLBACK:Z // field@00ed │ │ -01991c: 3800 0700 |0002: if-eqz v0, 0009 // +0007 │ │ -019920: 6e30 f702 4305 |0004: invoke-virtual {v3, v4, v5}, Ldnsfilter/android/DNSProxyActivity;.onTouchActionMenuFallback:(Landroid/view/View;Landroid/view/MotionEvent;)Z // method@02f7 │ │ -019926: 0a04 |0007: move-result v4 │ │ -019928: 0f04 |0008: return v4 │ │ -01992a: 6004 0200 |0009: sget v4, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01992e: 1300 1700 |000b: const/16 v0, #int 23 // #17 │ │ -019932: 1201 |000d: const/4 v1, #int 0 // #0 │ │ -019934: 1212 |000e: const/4 v2, #int 1 // #1 │ │ -019936: 3504 0600 |000f: if-ge v4, v0, 0015 // +0006 │ │ -01993a: 7020 d102 2300 |0011: invoke-direct {v3, v2}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02d1 │ │ -019940: 0f01 |0014: return v1 │ │ -019942: 6e10 9400 0500 |0015: invoke-virtual {v5}, Landroid/view/MotionEvent;.getAction:()I // method@0094 │ │ -019948: 0a04 |0018: move-result v4 │ │ -01994a: 3324 2a00 |0019: if-ne v4, v2, 0043 // +002a │ │ -01994e: 7020 d102 2300 |001b: invoke-direct {v3, v2}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02d1 │ │ -019954: 0c04 |001e: move-result-object v4 │ │ -019956: 6005 f800 |001f: sget v5, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f8 │ │ -01995a: 3a05 2200 |0021: if-ltz v5, 0043 // +0022 │ │ -01995e: 1a05 0000 |0023: const-string v5, "" // string@0000 │ │ -019962: 6e20 6705 5400 |0025: invoke-virtual {v4, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -019968: 0a04 |0028: move-result v4 │ │ -01996a: 3904 1a00 |0029: if-nez v4, 0043 // +001a │ │ -01996e: 6004 f800 |002b: sget v4, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f8 │ │ -019972: 3624 0800 |002d: if-gt v4, v2, 0035 // +0008 │ │ -019976: b024 |002f: add-int/2addr v4, v2 │ │ -019978: 6704 f800 |0030: sput v4, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f8 │ │ -01997c: 7010 c402 0300 |0032: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.doAsyncCheck:()V // method@02c4 │ │ -019982: 6004 f800 |0035: sget v4, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f8 │ │ -019986: 3724 0c00 |0037: if-le v4, v2, 0043 // +000c │ │ -01998a: 1404 1c00 057f |0039: const v4, #float 1.76788e+38 // #7f05001c │ │ -019990: 6e20 c902 4300 |003c: invoke-virtual {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -019996: 0c04 |003f: move-result-object v4 │ │ -019998: 6e20 9f00 1400 |0040: invoke-virtual {v4, v1}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -01999e: 0f01 |0043: return v1 │ │ +019904: |[019904] dnsfilter.android.DNSProxyActivity.onTouch:(Landroid/view/View;Landroid/view/MotionEvent;)Z │ │ +019914: 5530 ed00 |0000: iget-boolean v0, v3, Ldnsfilter/android/DNSProxyActivity;.ACTION_MENU_FALLBACK:Z // field@00ed │ │ +019918: 3800 0700 |0002: if-eqz v0, 0009 // +0007 │ │ +01991c: 6e30 f702 4305 |0004: invoke-virtual {v3, v4, v5}, Ldnsfilter/android/DNSProxyActivity;.onTouchActionMenuFallback:(Landroid/view/View;Landroid/view/MotionEvent;)Z // method@02f7 │ │ +019922: 0a04 |0007: move-result v4 │ │ +019924: 0f04 |0008: return v4 │ │ +019926: 6004 0200 |0009: sget v4, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01992a: 1300 1700 |000b: const/16 v0, #int 23 // #17 │ │ +01992e: 1201 |000d: const/4 v1, #int 0 // #0 │ │ +019930: 1212 |000e: const/4 v2, #int 1 // #1 │ │ +019932: 3504 0600 |000f: if-ge v4, v0, 0015 // +0006 │ │ +019936: 7020 d102 2300 |0011: invoke-direct {v3, v2}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02d1 │ │ +01993c: 0f01 |0014: return v1 │ │ +01993e: 6e10 9400 0500 |0015: invoke-virtual {v5}, Landroid/view/MotionEvent;.getAction:()I // method@0094 │ │ +019944: 0a04 |0018: move-result v4 │ │ +019946: 3324 2a00 |0019: if-ne v4, v2, 0043 // +002a │ │ +01994a: 7020 d102 2300 |001b: invoke-direct {v3, v2}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02d1 │ │ +019950: 0c04 |001e: move-result-object v4 │ │ +019952: 6005 f800 |001f: sget v5, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f8 │ │ +019956: 3a05 2200 |0021: if-ltz v5, 0043 // +0022 │ │ +01995a: 1a05 0000 |0023: const-string v5, "" // string@0000 │ │ +01995e: 6e20 6705 5400 |0025: invoke-virtual {v4, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +019964: 0a04 |0028: move-result v4 │ │ +019966: 3904 1a00 |0029: if-nez v4, 0043 // +001a │ │ +01996a: 6004 f800 |002b: sget v4, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f8 │ │ +01996e: 3624 0800 |002d: if-gt v4, v2, 0035 // +0008 │ │ +019972: b024 |002f: add-int/2addr v4, v2 │ │ +019974: 6704 f800 |0030: sput v4, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f8 │ │ +019978: 7010 c402 0300 |0032: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.doAsyncCheck:()V // method@02c4 │ │ +01997e: 6004 f800 |0035: sget v4, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f8 │ │ +019982: 3724 0c00 |0037: if-le v4, v2, 0043 // +000c │ │ +019986: 1404 1c00 057f |0039: const v4, #float 1.76788e+38 // #7f05001c │ │ +01998c: 6e20 c902 4300 |003c: invoke-virtual {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +019992: 0c04 |003f: move-result-object v4 │ │ +019994: 6e20 9f00 1400 |0040: invoke-virtual {v4, v1}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +01999a: 0f01 |0043: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1814 │ │ 0x0004 line=1815 │ │ 0x0009 line=1817 │ │ 0x0011 line=1818 │ │ 0x0015 line=1822 │ │ @@ -47726,62 +47726,62 @@ │ │ type : '(Landroid/view/View;Landroid/view/MotionEvent;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 95 16-bit code units │ │ -0199a0: |[0199a0] dnsfilter.android.DNSProxyActivity.onTouchActionMenuFallback:(Landroid/view/View;Landroid/view/MotionEvent;)Z │ │ -0199b0: 6e10 9400 0400 |0000: invoke-virtual {v4}, Landroid/view/MotionEvent;.getAction:()I // method@0094 │ │ -0199b6: 0a03 |0003: move-result v3 │ │ -0199b8: 1400 1c00 057f |0004: const v0, #float 1.76788e+38 // #7f05001c │ │ -0199be: 1201 |0007: const/4 v1, #int 0 // #0 │ │ -0199c0: 3903 2300 |0008: if-nez v3, 002b // +0023 │ │ -0199c4: 6e20 c902 0200 |000a: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -0199ca: 0c03 |000d: move-result-object v3 │ │ -0199cc: 6e10 9b00 0300 |000e: invoke-virtual {v3}, Landroid/view/View;.getVisibility:()I // method@009b │ │ -0199d2: 0a03 |0011: move-result v3 │ │ -0199d4: 3903 1900 |0012: if-nez v3, 002b // +0019 │ │ -0199d8: 6e20 c902 0200 |0014: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -0199de: 0c03 |0017: move-result-object v3 │ │ -0199e0: 1304 0800 |0018: const/16 v4, #int 8 // #8 │ │ -0199e4: 6e20 9f00 4300 |001a: invoke-virtual {v3, v4}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -0199ea: 6203 2001 |001d: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -0199ee: 6e10 c500 0300 |001f: invoke-virtual {v3}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ -0199f4: 0c04 |0022: move-result-object v4 │ │ -0199f6: 7210 8600 0400 |0023: invoke-interface {v4}, Landroid/text/Editable;.length:()I // method@0086 │ │ -0199fc: 0a04 |0026: move-result v4 │ │ -0199fe: 6e20 cf00 4300 |0027: invoke-virtual {v3, v4}, Landroid/widget/EditText;.setSelection:(I)V // method@00cf │ │ -019a04: 0f01 |002a: return v1 │ │ -019a06: 6e10 9400 0400 |002b: invoke-virtual {v4}, Landroid/view/MotionEvent;.getAction:()I // method@0094 │ │ -019a0c: 0a03 |002e: move-result v3 │ │ -019a0e: 1214 |002f: const/4 v4, #int 1 // #1 │ │ -019a10: 3343 2e00 |0030: if-ne v3, v4, 005e // +002e │ │ -019a14: 7020 d102 4200 |0032: invoke-direct {v2, v4}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02d1 │ │ -019a1a: 0c03 |0035: move-result-object v3 │ │ -019a1c: 6204 f400 |0036: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f4 │ │ -019a20: 6e20 7505 4300 |0038: invoke-virtual {v3, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ -019a26: 0a04 |003b: move-result v4 │ │ -019a28: 3904 0a00 |003c: if-nez v4, 0046 // +000a │ │ -019a2c: 6204 f900 |003e: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f9 │ │ -019a30: 6e20 7505 4300 |0040: invoke-virtual {v3, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ -019a36: 0a03 |0043: move-result v3 │ │ -019a38: 3803 1a00 |0044: if-eqz v3, 005e // +001a │ │ -019a3c: 6203 2001 |0046: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019a40: 6e10 c400 0300 |0048: invoke-virtual {v3}, Landroid/widget/EditText;.getSelectionStart:()I // method@00c4 │ │ -019a46: 0a03 |004b: move-result v3 │ │ -019a48: 6204 2001 |004c: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019a4c: 6e10 c300 0400 |004e: invoke-virtual {v4}, Landroid/widget/EditText;.getSelectionEnd:()I // method@00c3 │ │ -019a52: 0a04 |0051: move-result v4 │ │ -019a54: 6e20 c902 0200 |0052: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ -019a5a: 0c00 |0055: move-result-object v0 │ │ -019a5c: 6e20 9f00 1000 |0056: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ -019a62: 6200 2001 |0059: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019a66: 6e30 d000 3004 |005b: invoke-virtual {v0, v3, v4}, Landroid/widget/EditText;.setSelection:(II)V // method@00d0 │ │ -019a6c: 0f01 |005e: return v1 │ │ +01999c: |[01999c] dnsfilter.android.DNSProxyActivity.onTouchActionMenuFallback:(Landroid/view/View;Landroid/view/MotionEvent;)Z │ │ +0199ac: 6e10 9400 0400 |0000: invoke-virtual {v4}, Landroid/view/MotionEvent;.getAction:()I // method@0094 │ │ +0199b2: 0a03 |0003: move-result v3 │ │ +0199b4: 1400 1c00 057f |0004: const v0, #float 1.76788e+38 // #7f05001c │ │ +0199ba: 1201 |0007: const/4 v1, #int 0 // #0 │ │ +0199bc: 3903 2300 |0008: if-nez v3, 002b // +0023 │ │ +0199c0: 6e20 c902 0200 |000a: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +0199c6: 0c03 |000d: move-result-object v3 │ │ +0199c8: 6e10 9b00 0300 |000e: invoke-virtual {v3}, Landroid/view/View;.getVisibility:()I // method@009b │ │ +0199ce: 0a03 |0011: move-result v3 │ │ +0199d0: 3903 1900 |0012: if-nez v3, 002b // +0019 │ │ +0199d4: 6e20 c902 0200 |0014: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +0199da: 0c03 |0017: move-result-object v3 │ │ +0199dc: 1304 0800 |0018: const/16 v4, #int 8 // #8 │ │ +0199e0: 6e20 9f00 4300 |001a: invoke-virtual {v3, v4}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +0199e6: 6203 2001 |001d: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +0199ea: 6e10 c500 0300 |001f: invoke-virtual {v3}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ +0199f0: 0c04 |0022: move-result-object v4 │ │ +0199f2: 7210 8600 0400 |0023: invoke-interface {v4}, Landroid/text/Editable;.length:()I // method@0086 │ │ +0199f8: 0a04 |0026: move-result v4 │ │ +0199fa: 6e20 cf00 4300 |0027: invoke-virtual {v3, v4}, Landroid/widget/EditText;.setSelection:(I)V // method@00cf │ │ +019a00: 0f01 |002a: return v1 │ │ +019a02: 6e10 9400 0400 |002b: invoke-virtual {v4}, Landroid/view/MotionEvent;.getAction:()I // method@0094 │ │ +019a08: 0a03 |002e: move-result v3 │ │ +019a0a: 1214 |002f: const/4 v4, #int 1 // #1 │ │ +019a0c: 3343 2e00 |0030: if-ne v3, v4, 005e // +002e │ │ +019a10: 7020 d102 4200 |0032: invoke-direct {v2, v4}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02d1 │ │ +019a16: 0c03 |0035: move-result-object v3 │ │ +019a18: 6204 f400 |0036: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f4 │ │ +019a1c: 6e20 7505 4300 |0038: invoke-virtual {v3, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ +019a22: 0a04 |003b: move-result v4 │ │ +019a24: 3904 0a00 |003c: if-nez v4, 0046 // +000a │ │ +019a28: 6204 f900 |003e: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f9 │ │ +019a2c: 6e20 7505 4300 |0040: invoke-virtual {v3, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ +019a32: 0a03 |0043: move-result v3 │ │ +019a34: 3803 1a00 |0044: if-eqz v3, 005e // +001a │ │ +019a38: 6203 2001 |0046: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +019a3c: 6e10 c400 0300 |0048: invoke-virtual {v3}, Landroid/widget/EditText;.getSelectionStart:()I // method@00c4 │ │ +019a42: 0a03 |004b: move-result v3 │ │ +019a44: 6204 2001 |004c: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +019a48: 6e10 c300 0400 |004e: invoke-virtual {v4}, Landroid/widget/EditText;.getSelectionEnd:()I // method@00c3 │ │ +019a4e: 0a04 |0051: move-result v4 │ │ +019a50: 6e20 c902 0200 |0052: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02c9 │ │ +019a56: 0c00 |0055: move-result-object v0 │ │ +019a58: 6e20 9f00 1000 |0056: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@009f │ │ +019a5e: 6200 2001 |0059: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +019a62: 6e30 d000 3004 |005b: invoke-virtual {v0, v3, v4}, Landroid/widget/EditText;.setSelection:(II)V // method@00d0 │ │ +019a68: 0f01 |005e: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1791 │ │ 0x0014 line=1792 │ │ 0x001d line=1793 │ │ 0x002b line=1796 │ │ 0x0032 line=1798 │ │ @@ -47800,29 +47800,29 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 30 16-bit code units │ │ -01c5e4: |[01c5e4] dnsfilter.android.DNSProxyActivity.onWindowFocusChanged:(Z)V │ │ -01c5f4: 6f20 0800 2100 |0000: invoke-super {v1, v2}, Landroid/app/Activity;.onWindowFocusChanged:(Z)V // method@0008 │ │ -01c5fa: 3802 1a00 |0003: if-eqz v2, 001d // +001a │ │ -01c5fe: 6302 3301 |0005: sget-boolean v2, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ -01c602: 3902 1600 |0007: if-nez v2, 001d // +0016 │ │ -01c606: 6202 2001 |0009: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01c60a: 6e10 c500 0200 |000b: invoke-virtual {v2}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ -01c610: 0c00 |000e: move-result-object v0 │ │ -01c612: 7210 8600 0000 |000f: invoke-interface {v0}, Landroid/text/Editable;.length:()I // method@0086 │ │ -01c618: 0a00 |0012: move-result v0 │ │ -01c61a: 6e20 cf00 0200 |0013: invoke-virtual {v2, v0}, Landroid/widget/EditText;.setSelection:(I)V // method@00cf │ │ -01c620: 5412 3201 |0016: iget-object v2, v1, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ -01c624: 1300 8200 |0018: const/16 v0, #int 130 // #82 │ │ -01c628: 6e20 df00 0200 |001a: invoke-virtual {v2, v0}, Landroid/widget/ScrollView;.fullScroll:(I)Z // method@00df │ │ -01c62e: 0e00 |001d: return-void │ │ +01c5e0: |[01c5e0] dnsfilter.android.DNSProxyActivity.onWindowFocusChanged:(Z)V │ │ +01c5f0: 6f20 0800 2100 |0000: invoke-super {v1, v2}, Landroid/app/Activity;.onWindowFocusChanged:(Z)V // method@0008 │ │ +01c5f6: 3802 1a00 |0003: if-eqz v2, 001d // +001a │ │ +01c5fa: 6302 3301 |0005: sget-boolean v2, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ +01c5fe: 3902 1600 |0007: if-nez v2, 001d // +0016 │ │ +01c602: 6202 2001 |0009: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01c606: 6e10 c500 0200 |000b: invoke-virtual {v2}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ +01c60c: 0c00 |000e: move-result-object v0 │ │ +01c60e: 7210 8600 0000 |000f: invoke-interface {v0}, Landroid/text/Editable;.length:()I // method@0086 │ │ +01c614: 0a00 |0012: move-result v0 │ │ +01c616: 6e20 cf00 0200 |0013: invoke-virtual {v2, v0}, Landroid/widget/EditText;.setSelection:(I)V // method@00cf │ │ +01c61c: 5412 3201 |0016: iget-object v2, v1, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ +01c620: 1300 8200 |0018: const/16 v0, #int 130 // #82 │ │ +01c624: 6e20 df00 0200 |001a: invoke-virtual {v2, v0}, Landroid/widget/ScrollView;.fullScroll:(I)Z // method@00df │ │ +01c62a: 0e00 |001d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1052 │ │ 0x0005 line=1053 │ │ 0x0009 line=1054 │ │ 0x0016 line=1055 │ │ locals : │ │ @@ -47834,50 +47834,50 @@ │ │ type : '()Z' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 69 16-bit code units │ │ -019a70: |[019a70] dnsfilter.android.DNSProxyActivity.persistAdditionalHosts:()Z │ │ -019a80: 6200 0201 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -019a84: 6e10 c500 0000 |0002: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ -019a8a: 0c00 |0005: move-result-object v0 │ │ -019a8c: 6e10 5405 0000 |0006: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ -019a92: 0c00 |0009: move-result-object v0 │ │ -019a94: 1a01 0000 |000a: const-string v1, "" // string@0000 │ │ -019a98: 6e20 6705 1000 |000c: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -019a9e: 0a01 |000f: move-result v1 │ │ -019aa0: 3901 3200 |0010: if-nez v1, 0042 // +0032 │ │ -019aa4: 6201 ee00 |0012: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.ADDITIONAL_HOSTS_TO_LONG:Ljava/lang/String; // field@00ee │ │ -019aa8: 6e20 6705 1000 |0014: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -019aae: 0a01 |0017: move-result v1 │ │ -019ab0: 3901 2a00 |0018: if-nez v1, 0042 // +002a │ │ -019ab4: 6301 0101 |001a: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ -019ab8: 3801 2600 |001c: if-eqz v1, 0042 // +0026 │ │ -019abc: 6201 f000 |001e: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -019ac0: 6e10 6905 0000 |0020: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -019ac6: 0c00 |0023: move-result-object v0 │ │ -019ac8: 6e20 4c01 0100 |0024: invoke-virtual {v1, v0}, Ldnsfilter/ConfigurationAccess;.updateAdditionalHosts:([B)V // method@014c │ │ -019ace: 281b |0027: goto 0042 // +001b │ │ -019ad0: 0d00 |0028: move-exception v0 │ │ -019ad2: 7100 0107 0000 |0029: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -019ad8: 0c01 |002c: move-result-object v1 │ │ -019ada: 2202 2801 |002d: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -019ade: 1a03 0601 |002f: const-string v3, "Cannot persistAdditionalHosts! │ │ +019a6c: |[019a6c] dnsfilter.android.DNSProxyActivity.persistAdditionalHosts:()Z │ │ +019a7c: 6200 0201 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +019a80: 6e10 c500 0000 |0002: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ +019a86: 0c00 |0005: move-result-object v0 │ │ +019a88: 6e10 5405 0000 |0006: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ +019a8e: 0c00 |0009: move-result-object v0 │ │ +019a90: 1a01 0000 |000a: const-string v1, "" // string@0000 │ │ +019a94: 6e20 6705 1000 |000c: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +019a9a: 0a01 |000f: move-result v1 │ │ +019a9c: 3901 3200 |0010: if-nez v1, 0042 // +0032 │ │ +019aa0: 6201 ee00 |0012: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.ADDITIONAL_HOSTS_TO_LONG:Ljava/lang/String; // field@00ee │ │ +019aa4: 6e20 6705 1000 |0014: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +019aaa: 0a01 |0017: move-result v1 │ │ +019aac: 3901 2a00 |0018: if-nez v1, 0042 // +002a │ │ +019ab0: 6301 0101 |001a: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ +019ab4: 3801 2600 |001c: if-eqz v1, 0042 // +0026 │ │ +019ab8: 6201 f000 |001e: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +019abc: 6e10 6905 0000 |0020: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +019ac2: 0c00 |0023: move-result-object v0 │ │ +019ac4: 6e20 4c01 0100 |0024: invoke-virtual {v1, v0}, Ldnsfilter/ConfigurationAccess;.updateAdditionalHosts:([B)V // method@014c │ │ +019aca: 281b |0027: goto 0042 // +001b │ │ +019acc: 0d00 |0028: move-exception v0 │ │ +019ace: 7100 0107 0000 |0029: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +019ad4: 0c01 |002c: move-result-object v1 │ │ +019ad6: 2202 2801 |002d: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +019ada: 1a03 0601 |002f: const-string v3, "Cannot persistAdditionalHosts! │ │ " // string@0106 │ │ -019ae2: 7020 8405 3200 |0031: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -019ae8: 6e10 0005 0000 |0034: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ -019aee: 0c00 |0037: move-result-object v0 │ │ -019af0: 6e20 8905 0200 |0038: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -019af6: 6e10 8b05 0200 |003b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -019afc: 0c00 |003e: move-result-object v0 │ │ -019afe: 7220 0d07 0100 |003f: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -019b04: 6300 0101 |0042: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ -019b08: 0f00 |0044: return v0 │ │ +019ade: 7020 8405 3200 |0031: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +019ae4: 6e10 0005 0000 |0034: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ +019aea: 0c00 |0037: move-result-object v0 │ │ +019aec: 6e20 8905 0200 |0038: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +019af2: 6e10 8b05 0200 |003b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +019af8: 0c00 |003e: move-result-object v0 │ │ +019afa: 7220 0d07 0100 |003f: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +019b00: 6300 0101 |0042: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ +019b04: 0f00 |0044: return v0 │ │ catches : 1 │ │ 0x001e - 0x0027 │ │ Ljava/io/IOException; -> 0x0028 │ │ positions : │ │ 0x0000 line=844 │ │ 0x000a line=845 │ │ 0x001a line=846 │ │ @@ -47892,48 +47892,48 @@ │ │ type : '()Z' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 65 16-bit code units │ │ -019b1c: |[019b1c] dnsfilter.android.DNSProxyActivity.persistManuallyEditConf:()Z │ │ -019b2c: 6200 2301 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ -019b30: 6e10 c500 0000 |0002: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ -019b36: 0c00 |0005: move-result-object v0 │ │ -019b38: 6e10 5405 0000 |0006: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ -019b3e: 0c00 |0009: move-result-object v0 │ │ -019b40: 1a01 0000 |000a: const-string v1, "" // string@0000 │ │ -019b44: 6e20 6705 1000 |000c: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -019b4a: 0a01 |000f: move-result v1 │ │ -019b4c: 3901 2e00 |0010: if-nez v1, 003e // +002e │ │ -019b50: 6301 2101 |0012: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ -019b54: 3801 2a00 |0014: if-eqz v1, 003e // +002a │ │ -019b58: 6201 f000 |0016: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -019b5c: 6e10 6905 0000 |0018: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -019b62: 0c00 |001b: move-result-object v0 │ │ -019b64: 6e20 4e01 0100 |001c: invoke-virtual {v1, v0}, Ldnsfilter/ConfigurationAccess;.updateConfigMergeDefaults:([B)V // method@014e │ │ -019b6a: 1200 |001f: const/4 v0, #int 0 // #0 │ │ -019b6c: 6e20 df02 0400 |0020: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@02df │ │ -019b72: 281b |0023: goto 003e // +001b │ │ -019b74: 0d00 |0024: move-exception v0 │ │ -019b76: 7100 0107 0000 |0025: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -019b7c: 0c01 |0028: move-result-object v1 │ │ -019b7e: 2202 2801 |0029: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -019b82: 1a03 0501 |002b: const-string v3, "Cannot persist manually edited config! │ │ +019b18: |[019b18] dnsfilter.android.DNSProxyActivity.persistManuallyEditConf:()Z │ │ +019b28: 6200 2301 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ +019b2c: 6e10 c500 0000 |0002: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ +019b32: 0c00 |0005: move-result-object v0 │ │ +019b34: 6e10 5405 0000 |0006: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ +019b3a: 0c00 |0009: move-result-object v0 │ │ +019b3c: 1a01 0000 |000a: const-string v1, "" // string@0000 │ │ +019b40: 6e20 6705 1000 |000c: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +019b46: 0a01 |000f: move-result v1 │ │ +019b48: 3901 2e00 |0010: if-nez v1, 003e // +002e │ │ +019b4c: 6301 2101 |0012: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ +019b50: 3801 2a00 |0014: if-eqz v1, 003e // +002a │ │ +019b54: 6201 f000 |0016: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +019b58: 6e10 6905 0000 |0018: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +019b5e: 0c00 |001b: move-result-object v0 │ │ +019b60: 6e20 4e01 0100 |001c: invoke-virtual {v1, v0}, Ldnsfilter/ConfigurationAccess;.updateConfigMergeDefaults:([B)V // method@014e │ │ +019b66: 1200 |001f: const/4 v0, #int 0 // #0 │ │ +019b68: 6e20 df02 0400 |0020: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@02df │ │ +019b6e: 281b |0023: goto 003e // +001b │ │ +019b70: 0d00 |0024: move-exception v0 │ │ +019b72: 7100 0107 0000 |0025: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +019b78: 0c01 |0028: move-result-object v1 │ │ +019b7a: 2202 2801 |0029: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +019b7e: 1a03 0501 |002b: const-string v3, "Cannot persist manually edited config! │ │ " // string@0105 │ │ -019b86: 7020 8405 3200 |002d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -019b8c: 6e10 0005 0000 |0030: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ -019b92: 0c00 |0033: move-result-object v0 │ │ -019b94: 6e20 8905 0200 |0034: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -019b9a: 6e10 8b05 0200 |0037: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -019ba0: 0c00 |003a: move-result-object v0 │ │ -019ba2: 7220 0d07 0100 |003b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -019ba8: 6300 2101 |003e: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ -019bac: 0f00 |0040: return v0 │ │ +019b82: 7020 8405 3200 |002d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +019b88: 6e10 0005 0000 |0030: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ +019b8e: 0c00 |0033: move-result-object v0 │ │ +019b90: 6e20 8905 0200 |0034: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +019b96: 6e10 8b05 0200 |0037: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +019b9c: 0c00 |003a: move-result-object v0 │ │ +019b9e: 7220 0d07 0100 |003b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +019ba4: 6300 2101 |003e: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ +019ba8: 0f00 |0040: return v0 │ │ catches : 1 │ │ 0x0016 - 0x0023 │ │ Ljava/io/IOException; -> 0x0024 │ │ positions : │ │ 0x0000 line=857 │ │ 0x000a line=858 │ │ 0x0012 line=859 │ │ @@ -47949,29 +47949,29 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 29 16-bit code units │ │ -01cdd0: |[01cdd0] dnsfilter.android.DNSProxyActivity.remoteReleaseWakeLock:()V │ │ -01cde0: 6200 f000 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01cde4: 6e10 4701 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.releaseWakeLock:()V // method@0147 │ │ -01cdea: 2817 |0005: goto 001c // +0017 │ │ -01cdec: 0d00 |0006: move-exception v0 │ │ -01cdee: 7100 0107 0000 |0007: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01cdf4: 0c01 |000a: move-result-object v1 │ │ -01cdf6: 2202 2801 |000b: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -01cdfa: 1a03 c909 |000d: const-string v3, "releaseWakeLock failed! " // string@09c9 │ │ -01cdfe: 7020 8405 3200 |000f: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -01ce04: 6e20 8805 0200 |0012: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ -01ce0a: 6e10 8b05 0200 |0015: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01ce10: 0c00 |0018: move-result-object v0 │ │ -01ce12: 7220 0d07 0100 |0019: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -01ce18: 0e00 |001c: return-void │ │ +01cdcc: |[01cdcc] dnsfilter.android.DNSProxyActivity.remoteReleaseWakeLock:()V │ │ +01cddc: 6200 f000 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01cde0: 6e10 4701 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.releaseWakeLock:()V // method@0147 │ │ +01cde6: 2817 |0005: goto 001c // +0017 │ │ +01cde8: 0d00 |0006: move-exception v0 │ │ +01cdea: 7100 0107 0000 |0007: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01cdf0: 0c01 |000a: move-result-object v1 │ │ +01cdf2: 2202 2801 |000b: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +01cdf6: 1a03 c909 |000d: const-string v3, "releaseWakeLock failed! " // string@09c9 │ │ +01cdfa: 7020 8405 3200 |000f: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +01ce00: 6e20 8805 0200 |0012: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ +01ce06: 6e10 8b05 0200 |0015: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01ce0c: 0c00 |0018: move-result-object v0 │ │ +01ce0e: 7220 0d07 0100 |0019: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +01ce14: 0e00 |001c: return-void │ │ catches : 1 │ │ 0x0000 - 0x0005 │ │ Ljava/io/IOException; -> 0x0006 │ │ positions : │ │ 0x0000 line=1931 │ │ 0x0007 line=1933 │ │ locals : │ │ @@ -47982,29 +47982,29 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 29 16-bit code units │ │ -01ce2c: |[01ce2c] dnsfilter.android.DNSProxyActivity.remoteWakeLock:()V │ │ -01ce3c: 6200 f000 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01ce40: 6e10 5001 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.wakeLock:()V // method@0150 │ │ -01ce46: 2817 |0005: goto 001c // +0017 │ │ -01ce48: 0d00 |0006: move-exception v0 │ │ -01ce4a: 7100 0107 0000 |0007: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01ce50: 0c01 |000a: move-result-object v1 │ │ -01ce52: 2202 2801 |000b: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -01ce56: 1a03 db04 |000d: const-string v3, "WakeLock failed! " // string@04db │ │ -01ce5a: 7020 8405 3200 |000f: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -01ce60: 6e20 8805 0200 |0012: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ -01ce66: 6e10 8b05 0200 |0015: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01ce6c: 0c00 |0018: move-result-object v0 │ │ -01ce6e: 7220 0d07 0100 |0019: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -01ce74: 0e00 |001c: return-void │ │ +01ce28: |[01ce28] dnsfilter.android.DNSProxyActivity.remoteWakeLock:()V │ │ +01ce38: 6200 f000 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01ce3c: 6e10 5001 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.wakeLock:()V // method@0150 │ │ +01ce42: 2817 |0005: goto 001c // +0017 │ │ +01ce44: 0d00 |0006: move-exception v0 │ │ +01ce46: 7100 0107 0000 |0007: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01ce4c: 0c01 |000a: move-result-object v1 │ │ +01ce4e: 2202 2801 |000b: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +01ce52: 1a03 db04 |000d: const-string v3, "WakeLock failed! " // string@04db │ │ +01ce56: 7020 8405 3200 |000f: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +01ce5c: 6e20 8805 0200 |0012: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ +01ce62: 6e10 8b05 0200 |0015: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01ce68: 0c00 |0018: move-result-object v0 │ │ +01ce6a: 7220 0d07 0100 |0019: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +01ce70: 0e00 |001c: return-void │ │ catches : 1 │ │ 0x0000 - 0x0005 │ │ Ljava/io/IOException; -> 0x0006 │ │ positions : │ │ 0x0000 line=1923 │ │ 0x0007 line=1925 │ │ locals : │ │ @@ -48015,62 +48015,62 @@ │ │ type : '(Z)V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 11 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 99 16-bit code units │ │ -01cf04: |[01cf04] dnsfilter.android.DNSProxyActivity.showFilterRate:(Z)V │ │ -01cf14: 6200 f000 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ -01cf18: 6e10 3d01 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getFilterStatistics:()[J // method@013d │ │ -01cf1e: 0c00 |0005: move-result-object v0 │ │ -01cf20: 1201 |0006: const/4 v1, #int 0 // #0 │ │ -01cf22: 4501 0001 |0007: aget-wide v1, v0, v1 │ │ -01cf26: 1213 |0009: const/4 v3, #int 1 // #1 │ │ -01cf28: 4504 0003 |000a: aget-wide v4, v0, v3 │ │ -01cf2c: bb41 |000c: add-long/2addr v1, v4 │ │ -01cf2e: 1606 0000 |000d: const-wide/16 v6, #int 0 // #0 │ │ -01cf32: 3108 0106 |000f: cmp-long v8, v1, v6 │ │ -01cf36: 3808 5100 |0011: if-eqz v8, 0062 // +0051 │ │ -01cf3a: 1606 6400 |0013: const-wide/16 v6, #int 100 // #64 │ │ -01cf3e: 9d04 0406 |0015: mul-long v4, v4, v6 │ │ -01cf42: be14 |0017: div-long/2addr v4, v1 │ │ -01cf44: 1a01 1700 |0018: const-string v1, " blocked)!" // string@0017 │ │ -01cf48: 1a02 3d00 |001a: const-string v2, "% (" // string@003d │ │ -01cf4c: 1a06 da00 |001c: const-string v6, "Block rate: " // string@00da │ │ -01cf50: 380a 1f00 |001e: if-eqz v10, 003d // +001f │ │ -01cf54: 620a 2401 |0020: sget-object v10, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01cf58: 2207 2801 |0022: new-instance v7, Ljava/lang/StringBuilder; // type@0128 │ │ -01cf5c: 7020 8405 6700 |0024: invoke-direct {v7, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -01cf62: 6e30 8705 4705 |0027: invoke-virtual {v7, v4, v5}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0587 │ │ -01cf68: 6e20 8905 2700 |002a: invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01cf6e: 4502 0003 |002d: aget-wide v2, v0, v3 │ │ -01cf72: 6e30 8705 2703 |002f: invoke-virtual {v7, v2, v3}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0587 │ │ -01cf78: 6e20 8905 1700 |0032: invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01cf7e: 6e10 8b05 0700 |0035: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01cf84: 0c00 |0038: move-result-object v0 │ │ -01cf86: 6e20 5507 0a00 |0039: invoke-virtual {v10, v0}, Lutil/SuppressRepeatingsLogger;.message:(Ljava/lang/String;)V // method@0755 │ │ -01cf8c: 2826 |003c: goto 0062 // +0026 │ │ -01cf8e: 620a 2401 |003d: sget-object v10, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01cf92: 2207 2801 |003f: new-instance v7, Ljava/lang/StringBuilder; // type@0128 │ │ -01cf96: 7020 8405 6700 |0041: invoke-direct {v7, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -01cf9c: 6e30 8705 4705 |0044: invoke-virtual {v7, v4, v5}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0587 │ │ -01cfa2: 6e20 8905 2700 |0047: invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01cfa8: 4502 0003 |004a: aget-wide v2, v0, v3 │ │ -01cfac: 6e30 8705 2703 |004c: invoke-virtual {v7, v2, v3}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0587 │ │ -01cfb2: 6e20 8905 1700 |004f: invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01cfb8: 6e10 8b05 0700 |0052: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01cfbe: 0c00 |0055: move-result-object v0 │ │ -01cfc0: 6e20 5407 0a00 |0056: invoke-virtual {v10, v0}, Lutil/SuppressRepeatingsLogger;.logLine:(Ljava/lang/String;)V // method@0754 │ │ -01cfc6: 2809 |0059: goto 0062 // +0009 │ │ -01cfc8: 0d0a |005a: move-exception v10 │ │ -01cfca: 7100 0107 0000 |005b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01cfd0: 0c00 |005e: move-result-object v0 │ │ -01cfd2: 7220 0c07 a000 |005f: invoke-interface {v0, v10}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -01cfd8: 0e00 |0062: return-void │ │ +01cf00: |[01cf00] dnsfilter.android.DNSProxyActivity.showFilterRate:(Z)V │ │ +01cf10: 6200 f000 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00f0 │ │ +01cf14: 6e10 3d01 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getFilterStatistics:()[J // method@013d │ │ +01cf1a: 0c00 |0005: move-result-object v0 │ │ +01cf1c: 1201 |0006: const/4 v1, #int 0 // #0 │ │ +01cf1e: 4501 0001 |0007: aget-wide v1, v0, v1 │ │ +01cf22: 1213 |0009: const/4 v3, #int 1 // #1 │ │ +01cf24: 4504 0003 |000a: aget-wide v4, v0, v3 │ │ +01cf28: bb41 |000c: add-long/2addr v1, v4 │ │ +01cf2a: 1606 0000 |000d: const-wide/16 v6, #int 0 // #0 │ │ +01cf2e: 3108 0106 |000f: cmp-long v8, v1, v6 │ │ +01cf32: 3808 5100 |0011: if-eqz v8, 0062 // +0051 │ │ +01cf36: 1606 6400 |0013: const-wide/16 v6, #int 100 // #64 │ │ +01cf3a: 9d04 0406 |0015: mul-long v4, v4, v6 │ │ +01cf3e: be14 |0017: div-long/2addr v4, v1 │ │ +01cf40: 1a01 1700 |0018: const-string v1, " blocked)!" // string@0017 │ │ +01cf44: 1a02 3d00 |001a: const-string v2, "% (" // string@003d │ │ +01cf48: 1a06 da00 |001c: const-string v6, "Block rate: " // string@00da │ │ +01cf4c: 380a 1f00 |001e: if-eqz v10, 003d // +001f │ │ +01cf50: 620a 2401 |0020: sget-object v10, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01cf54: 2207 2801 |0022: new-instance v7, Ljava/lang/StringBuilder; // type@0128 │ │ +01cf58: 7020 8405 6700 |0024: invoke-direct {v7, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +01cf5e: 6e30 8705 4705 |0027: invoke-virtual {v7, v4, v5}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0587 │ │ +01cf64: 6e20 8905 2700 |002a: invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01cf6a: 4502 0003 |002d: aget-wide v2, v0, v3 │ │ +01cf6e: 6e30 8705 2703 |002f: invoke-virtual {v7, v2, v3}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0587 │ │ +01cf74: 6e20 8905 1700 |0032: invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01cf7a: 6e10 8b05 0700 |0035: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01cf80: 0c00 |0038: move-result-object v0 │ │ +01cf82: 6e20 5507 0a00 |0039: invoke-virtual {v10, v0}, Lutil/SuppressRepeatingsLogger;.message:(Ljava/lang/String;)V // method@0755 │ │ +01cf88: 2826 |003c: goto 0062 // +0026 │ │ +01cf8a: 620a 2401 |003d: sget-object v10, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01cf8e: 2207 2801 |003f: new-instance v7, Ljava/lang/StringBuilder; // type@0128 │ │ +01cf92: 7020 8405 6700 |0041: invoke-direct {v7, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +01cf98: 6e30 8705 4705 |0044: invoke-virtual {v7, v4, v5}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0587 │ │ +01cf9e: 6e20 8905 2700 |0047: invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01cfa4: 4502 0003 |004a: aget-wide v2, v0, v3 │ │ +01cfa8: 6e30 8705 2703 |004c: invoke-virtual {v7, v2, v3}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0587 │ │ +01cfae: 6e20 8905 1700 |004f: invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01cfb4: 6e10 8b05 0700 |0052: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01cfba: 0c00 |0055: move-result-object v0 │ │ +01cfbc: 6e20 5407 0a00 |0056: invoke-virtual {v10, v0}, Lutil/SuppressRepeatingsLogger;.logLine:(Ljava/lang/String;)V // method@0754 │ │ +01cfc2: 2809 |0059: goto 0062 // +0009 │ │ +01cfc4: 0d0a |005a: move-exception v10 │ │ +01cfc6: 7100 0107 0000 |005b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01cfcc: 0c00 |005e: move-result-object v0 │ │ +01cfce: 7220 0c07 a000 |005f: invoke-interface {v0, v10}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +01cfd4: 0e00 |0062: return-void │ │ catches : 2 │ │ 0x0000 - 0x0018 │ │ Ljava/lang/Exception; -> 0x005a │ │ 0x0020 - 0x0059 │ │ Ljava/lang/Exception; -> 0x005a │ │ positions : │ │ 0x0000 line=715 │ │ @@ -48089,98 +48089,98 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 8 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 166 16-bit code units │ │ -01d01c: |[01d01c] dnsfilter.android.DNSProxyActivity.startup:()V │ │ -01d02c: 1a00 d506 |0000: const-string v0, "false" // string@06d5 │ │ -01d030: 6e10 ce02 0700 |0002: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ -01d036: 0c01 |0005: move-result-object v1 │ │ -01d038: 1a02 f209 |0006: const-string v2, "repeatingLogSuppressTime" // string@09f2 │ │ -01d03c: 1a03 7400 |0008: const-string v3, "1000" // string@0074 │ │ -01d040: 6e30 2501 2103 |000a: invoke-virtual {v1, v2, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ -01d046: 0c01 |000d: move-result-object v1 │ │ -01d048: 7110 4705 0100 |000e: invoke-static {v1}, Ljava/lang/Long;.parseLong:(Ljava/lang/String;)J // method@0547 │ │ -01d04e: 0b01 |0011: move-result-wide v1 │ │ -01d050: 6e10 ce02 0700 |0012: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ -01d056: 0c03 |0015: move-result-object v3 │ │ -01d058: 1a04 4605 |0016: const-string v4, "addLiveLogTimestamp" // string@0546 │ │ -01d05c: 6e30 2501 4300 |0018: invoke-virtual {v3, v4, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ -01d062: 0c03 |001b: move-result-object v3 │ │ -01d064: 7110 2705 0300 |001c: invoke-static {v3}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -01d06a: 0a03 |001f: move-result v3 │ │ -01d06c: 6204 2401 |0020: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01d070: 1205 |0022: const/4 v5, #int 0 // #0 │ │ -01d072: 6e20 5907 5400 |0023: invoke-virtual {v4, v5}, Lutil/SuppressRepeatingsLogger;.setTimestampFormat:(Ljava/lang/String;)V // method@0759 │ │ -01d078: 3803 1300 |0026: if-eqz v3, 0039 // +0013 │ │ -01d07c: 6e10 ce02 0700 |0028: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ -01d082: 0c03 |002b: move-result-object v3 │ │ -01d084: 1a04 a208 |002c: const-string v4, "liveLogTimeStampFormat" // string@08a2 │ │ -01d088: 1a06 0408 |002e: const-string v6, "hh:mm:ss" // string@0804 │ │ -01d08c: 6e30 2501 4306 |0030: invoke-virtual {v3, v4, v6}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ -01d092: 0c03 |0033: move-result-object v3 │ │ -01d094: 6204 2401 |0034: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01d098: 6e20 5907 3400 |0036: invoke-virtual {v4, v3}, Lutil/SuppressRepeatingsLogger;.setTimestampFormat:(Ljava/lang/String;)V // method@0759 │ │ -01d09e: 6203 2401 |0039: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01d0a2: 6e30 5807 1302 |003b: invoke-virtual {v3, v1, v2}, Lutil/SuppressRepeatingsLogger;.setSuppressTime:(J)V // method@0758 │ │ -01d0a8: 6201 c200 |003e: sget-object v1, Ldnsfilter/android/DNSFilterService;.SERVICE:Landroid/content/Intent; // field@00c2 │ │ -01d0ac: 1202 |0040: const/4 v2, #int 0 // #0 │ │ -01d0ae: 3801 1800 |0041: if-eqz v1, 0059 // +0018 │ │ -01d0b2: 7100 0107 0000 |0043: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01d0b8: 0c00 |0046: move-result-object v0 │ │ -01d0ba: 1a01 3f01 |0047: const-string v1, "DNS filter service is running!" // string@013f │ │ -01d0be: 7220 0d07 1000 |0049: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -01d0c4: 7100 0107 0000 |004c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01d0ca: 0c00 |004f: move-result-object v0 │ │ -01d0cc: 1a01 ab01 |0050: const-string v1, "Filter statistic since last restart:" // string@01ab │ │ -01d0d0: 7220 0d07 1000 |0052: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -01d0d6: 6e20 0a03 2700 |0055: invoke-virtual {v7, v2}, Ldnsfilter/android/DNSProxyActivity;.showFilterRate:(Z)V // method@030a │ │ -01d0dc: 0e00 |0058: return-void │ │ -01d0de: 6e10 ce02 0700 |0059: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ -01d0e4: 0c01 |005c: move-result-object v1 │ │ -01d0e6: 1a03 7c0b |005d: const-string v3, "vpnInAdditionToProxyMode" // string@0b7c │ │ -01d0ea: 6e30 2501 3100 |005f: invoke-virtual {v1, v3, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ -01d0f0: 0c01 |0062: move-result-object v1 │ │ -01d0f2: 7110 2705 0100 |0063: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -01d0f8: 0a01 |0066: move-result v1 │ │ -01d0fa: 3901 1400 |0067: if-nez v1, 007b // +0014 │ │ -01d0fe: 6e10 ce02 0700 |0069: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ -01d104: 0c01 |006c: move-result-object v1 │ │ -01d106: 1a03 6306 |006d: const-string v3, "dnsProxyOnAndroid" // string@0663 │ │ -01d10a: 6e30 2501 3100 |006f: invoke-virtual {v1, v3, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ -01d110: 0c00 |0072: move-result-object v0 │ │ -01d112: 7110 2705 0000 |0073: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -01d118: 0a00 |0076: move-result v0 │ │ -01d11a: 3800 0400 |0077: if-eqz v0, 007b // +0004 │ │ -01d11e: 1210 |0079: const/4 v0, #int 1 // #1 │ │ -01d120: 2802 |007a: goto 007c // +0002 │ │ -01d122: 1200 |007b: const/4 v0, #int 0 // #0 │ │ -01d124: 3900 0a00 |007c: if-nez v0, 0086 // +000a │ │ -01d128: 6e10 cc02 0700 |007e: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getApplicationContext:()Landroid/content/Context; // method@02cc │ │ -01d12e: 0c00 |0081: move-result-object v0 │ │ -01d130: 7110 7000 0000 |0082: invoke-static {v0}, Landroid/net/VpnService;.prepare:(Landroid/content/Context;)Landroid/content/Intent; // method@0070 │ │ -01d136: 0c05 |0085: move-result-object v5 │ │ -01d138: 3805 0600 |0086: if-eqz v5, 008c // +0006 │ │ -01d13c: 6e30 0c03 5702 |0088: invoke-virtual {v7, v5, v2}, Ldnsfilter/android/DNSProxyActivity;.startActivityForResult:(Landroid/content/Intent;I)V // method@030c │ │ -01d142: 281a |008b: goto 00a5 // +001a │ │ -01d144: 7010 0e03 0700 |008c: invoke-direct {v7}, Ldnsfilter/android/DNSProxyActivity;.startSvc:()V // method@030e │ │ -01d14a: 2816 |008f: goto 00a5 // +0016 │ │ -01d14c: 0d00 |0090: move-exception v0 │ │ -01d14e: 7100 0107 0000 |0091: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01d154: 0c01 |0094: move-result-object v1 │ │ -01d156: 7220 0c07 0100 |0095: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -01d15c: 280d |0098: goto 00a5 // +000d │ │ -01d15e: 7100 0107 0000 |0099: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -01d164: 0c00 |009c: move-result-object v0 │ │ -01d166: 1a01 5604 |009d: const-string v1, "Seems we are on Android 4.4 or older!" // string@0456 │ │ -01d16a: 7220 0d07 1000 |009f: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -01d170: 7010 0e03 0700 |00a2: invoke-direct {v7}, Ldnsfilter/android/DNSProxyActivity;.startSvc:()V // method@030e │ │ -01d176: 0e00 |00a5: return-void │ │ +01d018: |[01d018] dnsfilter.android.DNSProxyActivity.startup:()V │ │ +01d028: 1a00 d506 |0000: const-string v0, "false" // string@06d5 │ │ +01d02c: 6e10 ce02 0700 |0002: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ +01d032: 0c01 |0005: move-result-object v1 │ │ +01d034: 1a02 f209 |0006: const-string v2, "repeatingLogSuppressTime" // string@09f2 │ │ +01d038: 1a03 7400 |0008: const-string v3, "1000" // string@0074 │ │ +01d03c: 6e30 2501 2103 |000a: invoke-virtual {v1, v2, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ +01d042: 0c01 |000d: move-result-object v1 │ │ +01d044: 7110 4705 0100 |000e: invoke-static {v1}, Ljava/lang/Long;.parseLong:(Ljava/lang/String;)J // method@0547 │ │ +01d04a: 0b01 |0011: move-result-wide v1 │ │ +01d04c: 6e10 ce02 0700 |0012: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ +01d052: 0c03 |0015: move-result-object v3 │ │ +01d054: 1a04 4605 |0016: const-string v4, "addLiveLogTimestamp" // string@0546 │ │ +01d058: 6e30 2501 4300 |0018: invoke-virtual {v3, v4, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ +01d05e: 0c03 |001b: move-result-object v3 │ │ +01d060: 7110 2705 0300 |001c: invoke-static {v3}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +01d066: 0a03 |001f: move-result v3 │ │ +01d068: 6204 2401 |0020: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01d06c: 1205 |0022: const/4 v5, #int 0 // #0 │ │ +01d06e: 6e20 5907 5400 |0023: invoke-virtual {v4, v5}, Lutil/SuppressRepeatingsLogger;.setTimestampFormat:(Ljava/lang/String;)V // method@0759 │ │ +01d074: 3803 1300 |0026: if-eqz v3, 0039 // +0013 │ │ +01d078: 6e10 ce02 0700 |0028: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ +01d07e: 0c03 |002b: move-result-object v3 │ │ +01d080: 1a04 a208 |002c: const-string v4, "liveLogTimeStampFormat" // string@08a2 │ │ +01d084: 1a06 0408 |002e: const-string v6, "hh:mm:ss" // string@0804 │ │ +01d088: 6e30 2501 4306 |0030: invoke-virtual {v3, v4, v6}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ +01d08e: 0c03 |0033: move-result-object v3 │ │ +01d090: 6204 2401 |0034: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01d094: 6e20 5907 3400 |0036: invoke-virtual {v4, v3}, Lutil/SuppressRepeatingsLogger;.setTimestampFormat:(Ljava/lang/String;)V // method@0759 │ │ +01d09a: 6203 2401 |0039: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01d09e: 6e30 5807 1302 |003b: invoke-virtual {v3, v1, v2}, Lutil/SuppressRepeatingsLogger;.setSuppressTime:(J)V // method@0758 │ │ +01d0a4: 6201 c200 |003e: sget-object v1, Ldnsfilter/android/DNSFilterService;.SERVICE:Landroid/content/Intent; // field@00c2 │ │ +01d0a8: 1202 |0040: const/4 v2, #int 0 // #0 │ │ +01d0aa: 3801 1800 |0041: if-eqz v1, 0059 // +0018 │ │ +01d0ae: 7100 0107 0000 |0043: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01d0b4: 0c00 |0046: move-result-object v0 │ │ +01d0b6: 1a01 3f01 |0047: const-string v1, "DNS filter service is running!" // string@013f │ │ +01d0ba: 7220 0d07 1000 |0049: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +01d0c0: 7100 0107 0000 |004c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01d0c6: 0c00 |004f: move-result-object v0 │ │ +01d0c8: 1a01 ab01 |0050: const-string v1, "Filter statistic since last restart:" // string@01ab │ │ +01d0cc: 7220 0d07 1000 |0052: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +01d0d2: 6e20 0a03 2700 |0055: invoke-virtual {v7, v2}, Ldnsfilter/android/DNSProxyActivity;.showFilterRate:(Z)V // method@030a │ │ +01d0d8: 0e00 |0058: return-void │ │ +01d0da: 6e10 ce02 0700 |0059: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ +01d0e0: 0c01 |005c: move-result-object v1 │ │ +01d0e2: 1a03 7c0b |005d: const-string v3, "vpnInAdditionToProxyMode" // string@0b7c │ │ +01d0e6: 6e30 2501 3100 |005f: invoke-virtual {v1, v3, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ +01d0ec: 0c01 |0062: move-result-object v1 │ │ +01d0ee: 7110 2705 0100 |0063: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +01d0f4: 0a01 |0066: move-result v1 │ │ +01d0f6: 3901 1400 |0067: if-nez v1, 007b // +0014 │ │ +01d0fa: 6e10 ce02 0700 |0069: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02ce │ │ +01d100: 0c01 |006c: move-result-object v1 │ │ +01d102: 1a03 6306 |006d: const-string v3, "dnsProxyOnAndroid" // string@0663 │ │ +01d106: 6e30 2501 3100 |006f: invoke-virtual {v1, v3, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0125 │ │ +01d10c: 0c00 |0072: move-result-object v0 │ │ +01d10e: 7110 2705 0000 |0073: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +01d114: 0a00 |0076: move-result v0 │ │ +01d116: 3800 0400 |0077: if-eqz v0, 007b // +0004 │ │ +01d11a: 1210 |0079: const/4 v0, #int 1 // #1 │ │ +01d11c: 2802 |007a: goto 007c // +0002 │ │ +01d11e: 1200 |007b: const/4 v0, #int 0 // #0 │ │ +01d120: 3900 0a00 |007c: if-nez v0, 0086 // +000a │ │ +01d124: 6e10 cc02 0700 |007e: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getApplicationContext:()Landroid/content/Context; // method@02cc │ │ +01d12a: 0c00 |0081: move-result-object v0 │ │ +01d12c: 7110 7000 0000 |0082: invoke-static {v0}, Landroid/net/VpnService;.prepare:(Landroid/content/Context;)Landroid/content/Intent; // method@0070 │ │ +01d132: 0c05 |0085: move-result-object v5 │ │ +01d134: 3805 0600 |0086: if-eqz v5, 008c // +0006 │ │ +01d138: 6e30 0c03 5702 |0088: invoke-virtual {v7, v5, v2}, Ldnsfilter/android/DNSProxyActivity;.startActivityForResult:(Landroid/content/Intent;I)V // method@030c │ │ +01d13e: 281a |008b: goto 00a5 // +001a │ │ +01d140: 7010 0e03 0700 |008c: invoke-direct {v7}, Ldnsfilter/android/DNSProxyActivity;.startSvc:()V // method@030e │ │ +01d146: 2816 |008f: goto 00a5 // +0016 │ │ +01d148: 0d00 |0090: move-exception v0 │ │ +01d14a: 7100 0107 0000 |0091: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01d150: 0c01 |0094: move-result-object v1 │ │ +01d152: 7220 0c07 0100 |0095: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +01d158: 280d |0098: goto 00a5 // +000d │ │ +01d15a: 7100 0107 0000 |0099: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +01d160: 0c00 |009c: move-result-object v0 │ │ +01d162: 1a01 5604 |009d: const-string v1, "Seems we are on Android 4.4 or older!" // string@0456 │ │ +01d166: 7220 0d07 1000 |009f: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +01d16c: 7010 0e03 0700 |00a2: invoke-direct {v7}, Ldnsfilter/android/DNSProxyActivity;.startSvc:()V // method@030e │ │ +01d172: 0e00 |00a5: return-void │ │ catches : 1 │ │ 0x0002 - 0x008f │ │ Ljava/lang/NullPointerException; -> 0x0099 │ │ Ljava/lang/Exception; -> 0x0090 │ │ positions : │ │ 0x0000 line=1608 │ │ 0x0012 line=1609 │ │ @@ -48265,37 +48265,37 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -01e568: |[01e568] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.:()V │ │ -01e578: 1300 4501 |0000: const/16 v0, #int 325 // #145 │ │ -01e57c: 7110 4405 0000 |0002: invoke-static {v0}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0544 │ │ -01e582: 0c00 |0005: move-result-object v0 │ │ -01e584: 6900 5a02 |0006: sput-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.ACTIVITY_RESULT_CODE:Ljava/lang/Integer; // field@025a │ │ -01e588: 0e00 |0008: return-void │ │ +01e564: |[01e564] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.:()V │ │ +01e574: 1300 4501 |0000: const/16 v0, #int 325 // #145 │ │ +01e578: 7110 4405 0000 |0002: invoke-static {v0}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0544 │ │ +01e57e: 0c00 |0005: move-result-object v0 │ │ +01e580: 6900 5a02 |0006: sput-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.ACTIVITY_RESULT_CODE:Ljava/lang/Integer; // field@025a │ │ +01e584: 0e00 |0008: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=36 │ │ locals : │ │ │ │ #1 : (in Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;) │ │ name : '' │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e58c: |[01e58c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.:()V │ │ -01e59c: 7010 0100 0000 |0000: invoke-direct {v0}, Landroid/app/Activity;.:()V // method@0001 │ │ -01e5a2: 0e00 |0003: return-void │ │ +01e588: |[01e588] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.:()V │ │ +01e598: 7010 0100 0000 |0000: invoke-direct {v0}, Landroid/app/Activity;.:()V // method@0001 │ │ +01e59e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=21 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; │ │ │ │ #2 : (in Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;) │ │ @@ -48303,17 +48303,17 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -01e508: |[01e508] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$000:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; │ │ -01e518: 5400 5f02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ -01e51c: 1100 |0002: return-object v0 │ │ +01e504: |[01e504] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$000:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; │ │ +01e514: 5400 5f02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ +01e518: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=21 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; │ │ │ │ #3 : (in Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;) │ │ @@ -48321,17 +48321,17 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Landroid/widget/EditText;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -01e4f0: |[01e4f0] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$100:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Landroid/widget/EditText; │ │ -01e500: 5400 5d02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025d │ │ -01e504: 1100 |0002: return-object v0 │ │ +01e4ec: |[01e4ec] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$100:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Landroid/widget/EditText; │ │ +01e4fc: 5400 5d02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025d │ │ +01e500: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=21 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; │ │ │ │ #4 : (in Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;) │ │ @@ -48339,17 +48339,17 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -01e550: |[01e550] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; │ │ -01e560: 5400 6002 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@0260 │ │ -01e564: 1100 |0002: return-object v0 │ │ +01e54c: |[01e54c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; │ │ +01e55c: 5400 6002 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@0260 │ │ +01e560: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=21 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; │ │ │ │ #5 : (in Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;) │ │ @@ -48357,17 +48357,17 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -01e520: |[01e520] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$300:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; │ │ -01e530: 5400 5c02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSCheck:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ -01e534: 1100 |0002: return-object v0 │ │ +01e51c: |[01e51c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$300:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; │ │ +01e52c: 5400 5c02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSCheck:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ +01e530: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=21 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; │ │ │ │ #6 : (in Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;) │ │ @@ -48375,17 +48375,17 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -01e538: |[01e538] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$400:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; │ │ -01e548: 5400 6202 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@0262 │ │ -01e54c: 1100 |0002: return-object v0 │ │ +01e534: |[01e534] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$400:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; │ │ +01e544: 5400 6202 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@0262 │ │ +01e548: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=21 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; │ │ │ │ #7 : (in Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;) │ │ @@ -48393,20 +48393,20 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 11 16-bit code units │ │ -01e5a4: |[01e5a4] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureApplyNewConfigurationButton:()V │ │ -01e5b4: 5420 5b02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.applyNewConfigurationButton:Landroid/widget/ImageButton; // field@025b │ │ -01e5b8: 2201 ba00 |0002: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1; // type@00ba │ │ -01e5bc: 7020 4203 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@0342 │ │ -01e5c2: 6e20 d500 1000 |0007: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d5 │ │ -01e5c8: 0e00 |000a: return-void │ │ +01e5a0: |[01e5a0] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureApplyNewConfigurationButton:()V │ │ +01e5b0: 5420 5b02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.applyNewConfigurationButton:Landroid/widget/ImageButton; // field@025b │ │ +01e5b4: 2201 ba00 |0002: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1; // type@00ba │ │ +01e5b8: 7020 4203 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@0342 │ │ +01e5be: 6e20 d500 1000 |0007: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d5 │ │ +01e5c4: 0e00 |000a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=80 │ │ locals : │ │ 0x0000 - 0x000b reg=2 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; │ │ │ │ #8 : (in Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;) │ │ @@ -48414,21 +48414,21 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 12 16-bit code units │ │ -01e5cc: |[01e5cc] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureDNSList:()V │ │ -01e5dc: 5420 5e02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSList:Landroid/widget/ListView; // field@025e │ │ -01e5e0: 5421 6002 |0002: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@0260 │ │ -01e5e4: 7210 7003 0100 |0004: invoke-interface {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.getListAdapter:()Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // method@0370 │ │ -01e5ea: 0c01 |0007: move-result-object v1 │ │ -01e5ec: 6e20 dc00 1000 |0008: invoke-virtual {v0, v1}, Landroid/widget/ListView;.setAdapter:(Landroid/widget/ListAdapter;)V // method@00dc │ │ -01e5f2: 0e00 |000b: return-void │ │ +01e5c8: |[01e5c8] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureDNSList:()V │ │ +01e5d8: 5420 5e02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSList:Landroid/widget/ListView; // field@025e │ │ +01e5dc: 5421 6002 |0002: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@0260 │ │ +01e5e0: 7210 7003 0100 |0004: invoke-interface {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.getListAdapter:()Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // method@0370 │ │ +01e5e6: 0c01 |0007: move-result-object v1 │ │ +01e5e8: 6e20 dc00 1000 |0008: invoke-virtual {v0, v1}, Landroid/widget/ListView;.setAdapter:(Landroid/widget/ListAdapter;)V // method@00dc │ │ +01e5ee: 0e00 |000b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=99 │ │ locals : │ │ 0x0000 - 0x000c reg=2 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; │ │ │ │ #9 : (in Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;) │ │ @@ -48436,24 +48436,24 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 20 16-bit code units │ │ -01e5f4: |[01e5f4] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureManualDNSValue:()V │ │ -01e604: 5420 6002 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@0260 │ │ -01e608: 7210 6f03 0000 |0002: invoke-interface {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.getIsManualDNSServers:()Z // method@036f │ │ -01e60e: 0a00 |0005: move-result v0 │ │ -01e610: 6e20 6703 0200 |0006: invoke-virtual {v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.setManualDNSServers:(Z)V // method@0367 │ │ -01e616: 5420 5c02 |0009: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSCheck:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ -01e61a: 2201 bb00 |000b: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2; // type@00bb │ │ -01e61e: 7020 4403 2100 |000d: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@0344 │ │ -01e624: 6e20 3303 1000 |0010: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@0333 │ │ -01e62a: 0e00 |0013: return-void │ │ +01e5f0: |[01e5f0] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureManualDNSValue:()V │ │ +01e600: 5420 6002 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@0260 │ │ +01e604: 7210 6f03 0000 |0002: invoke-interface {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.getIsManualDNSServers:()Z // method@036f │ │ +01e60a: 0a00 |0005: move-result v0 │ │ +01e60c: 6e20 6703 0200 |0006: invoke-virtual {v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.setManualDNSServers:(Z)V // method@0367 │ │ +01e612: 5420 5c02 |0009: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSCheck:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ +01e616: 2201 bb00 |000b: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2; // type@00bb │ │ +01e61a: 7020 4403 2100 |000d: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@0344 │ │ +01e620: 6e20 3303 1000 |0010: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@0333 │ │ +01e626: 0e00 |0013: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=89 │ │ 0x0009 line=90 │ │ locals : │ │ 0x0000 - 0x0014 reg=2 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; │ │ │ │ @@ -48462,20 +48462,20 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 11 16-bit code units │ │ -01e62c: |[01e62c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureRawMode:()V │ │ -01e63c: 5420 5f02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ -01e640: 2201 bc00 |0002: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3; // type@00bc │ │ -01e644: 7020 4603 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@0346 │ │ -01e64a: 6e20 3303 1000 |0007: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@0333 │ │ -01e650: 0e00 |000a: return-void │ │ +01e628: |[01e628] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureRawMode:()V │ │ +01e638: 5420 5f02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ +01e63c: 2201 bc00 |0002: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3; // type@00bc │ │ +01e640: 7020 4603 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@0346 │ │ +01e646: 6e20 3303 1000 |0007: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@0333 │ │ +01e64c: 0e00 |000a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=103 │ │ locals : │ │ 0x0000 - 0x000b reg=2 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; │ │ │ │ #11 : (in Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;) │ │ @@ -48483,20 +48483,20 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 11 16-bit code units │ │ -01e654: |[01e654] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureRestoreDefaultsButton:()V │ │ -01e664: 5420 6102 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.restoreDefaultConfigurationButton:Landroid/widget/Button; // field@0261 │ │ -01e668: 2201 be00 |0002: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$5; // type@00be │ │ -01e66c: 7020 4a03 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$5;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@034a │ │ -01e672: 6e20 b000 1000 |0007: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ -01e678: 0e00 |000a: return-void │ │ +01e650: |[01e650] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureRestoreDefaultsButton:()V │ │ +01e660: 5420 6102 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.restoreDefaultConfigurationButton:Landroid/widget/Button; // field@0261 │ │ +01e664: 2201 be00 |0002: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$5; // type@00be │ │ +01e668: 7020 4a03 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$5;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@034a │ │ +01e66e: 6e20 b000 1000 |0007: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b0 │ │ +01e674: 0e00 |000a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=121 │ │ locals : │ │ 0x0000 - 0x000b reg=2 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; │ │ │ │ #12 : (in Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;) │ │ @@ -48504,20 +48504,20 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 11 16-bit code units │ │ -01e67c: |[01e67c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureShowCommentedLines:()V │ │ -01e68c: 5420 6202 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@0262 │ │ -01e690: 2201 bd00 |0002: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4; // type@00bd │ │ -01e694: 7020 4803 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@0348 │ │ -01e69a: 6e20 3303 1000 |0007: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@0333 │ │ -01e6a0: 0e00 |000a: return-void │ │ +01e678: |[01e678] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureShowCommentedLines:()V │ │ +01e688: 5420 6202 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@0262 │ │ +01e68c: 2201 bd00 |0002: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4; // type@00bd │ │ +01e690: 7020 4803 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@0348 │ │ +01e696: 6e20 3303 1000 |0007: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@0333 │ │ +01e69c: 0e00 |000a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=112 │ │ locals : │ │ 0x0000 - 0x000b reg=2 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; │ │ │ │ #13 : (in Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;) │ │ @@ -48525,51 +48525,51 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 78 16-bit code units │ │ -01e6a4: |[01e6a4] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.findViews:()V │ │ -01e6b4: 1400 4400 057f |0000: const v0, #float 1.76789e+38 // #7f050044 │ │ -01e6ba: 6e20 5b03 0100 |0003: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@035b │ │ -01e6c0: 0c00 |0006: move-result-object v0 │ │ -01e6c2: 1f00 6700 |0007: check-cast v0, Landroid/widget/ListView; // type@0067 │ │ -01e6c6: 5b10 5e02 |0009: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSList:Landroid/widget/ListView; // field@025e │ │ -01e6ca: 1400 4500 057f |000b: const v0, #float 1.76789e+38 // #7f050045 │ │ -01e6d0: 6e20 5b03 0100 |000e: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@035b │ │ -01e6d6: 0c00 |0011: move-result-object v0 │ │ -01e6d8: 1f00 ae00 |0012: check-cast v0, Ldnsfilter/android/PaddedCheckBox; // type@00ae │ │ -01e6dc: 5b10 5f02 |0014: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ -01e6e0: 1400 5e00 057f |0016: const v0, #float 1.76789e+38 // #7f05005e │ │ -01e6e6: 6e20 5b03 0100 |0019: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@035b │ │ -01e6ec: 0c00 |001c: move-result-object v0 │ │ -01e6ee: 1f00 ae00 |001d: check-cast v0, Ldnsfilter/android/PaddedCheckBox; // type@00ae │ │ -01e6f2: 5b10 6202 |001f: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@0262 │ │ -01e6f6: 1400 4300 057f |0021: const v0, #float 1.76789e+38 // #7f050043 │ │ -01e6fc: 6e20 5b03 0100 |0024: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@035b │ │ -01e702: 0c00 |0027: move-result-object v0 │ │ -01e704: 1f00 6200 |0028: check-cast v0, Landroid/widget/EditText; // type@0062 │ │ -01e708: 5b10 5d02 |002a: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025d │ │ -01e70c: 1400 4200 057f |002c: const v0, #float 1.76789e+38 // #7f050042 │ │ -01e712: 6e20 5b03 0100 |002f: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@035b │ │ -01e718: 0c00 |0032: move-result-object v0 │ │ -01e71a: 1f00 ae00 |0033: check-cast v0, Ldnsfilter/android/PaddedCheckBox; // type@00ae │ │ -01e71e: 5b10 5c02 |0035: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSCheck:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ -01e722: 1400 5600 057f |0037: const v0, #float 1.76789e+38 // #7f050056 │ │ -01e728: 6e20 5b03 0100 |003a: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@035b │ │ -01e72e: 0c00 |003d: move-result-object v0 │ │ -01e730: 1f00 5e00 |003e: check-cast v0, Landroid/widget/Button; // type@005e │ │ -01e734: 5b10 6102 |0040: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.restoreDefaultConfigurationButton:Landroid/widget/Button; // field@0261 │ │ -01e738: 1400 1100 057f |0042: const v0, #float 1.76788e+38 // #7f050011 │ │ -01e73e: 6e20 5b03 0100 |0045: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@035b │ │ -01e744: 0c00 |0048: move-result-object v0 │ │ -01e746: 1f00 6300 |0049: check-cast v0, Landroid/widget/ImageButton; // type@0063 │ │ -01e74a: 5b10 5b02 |004b: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.applyNewConfigurationButton:Landroid/widget/ImageButton; // field@025b │ │ -01e74e: 0e00 |004d: return-void │ │ +01e6a0: |[01e6a0] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.findViews:()V │ │ +01e6b0: 1400 4400 057f |0000: const v0, #float 1.76789e+38 // #7f050044 │ │ +01e6b6: 6e20 5b03 0100 |0003: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@035b │ │ +01e6bc: 0c00 |0006: move-result-object v0 │ │ +01e6be: 1f00 6700 |0007: check-cast v0, Landroid/widget/ListView; // type@0067 │ │ +01e6c2: 5b10 5e02 |0009: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSList:Landroid/widget/ListView; // field@025e │ │ +01e6c6: 1400 4500 057f |000b: const v0, #float 1.76789e+38 // #7f050045 │ │ +01e6cc: 6e20 5b03 0100 |000e: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@035b │ │ +01e6d2: 0c00 |0011: move-result-object v0 │ │ +01e6d4: 1f00 ae00 |0012: check-cast v0, Ldnsfilter/android/PaddedCheckBox; // type@00ae │ │ +01e6d8: 5b10 5f02 |0014: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ +01e6dc: 1400 5e00 057f |0016: const v0, #float 1.76789e+38 // #7f05005e │ │ +01e6e2: 6e20 5b03 0100 |0019: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@035b │ │ +01e6e8: 0c00 |001c: move-result-object v0 │ │ +01e6ea: 1f00 ae00 |001d: check-cast v0, Ldnsfilter/android/PaddedCheckBox; // type@00ae │ │ +01e6ee: 5b10 6202 |001f: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@0262 │ │ +01e6f2: 1400 4300 057f |0021: const v0, #float 1.76789e+38 // #7f050043 │ │ +01e6f8: 6e20 5b03 0100 |0024: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@035b │ │ +01e6fe: 0c00 |0027: move-result-object v0 │ │ +01e700: 1f00 6200 |0028: check-cast v0, Landroid/widget/EditText; // type@0062 │ │ +01e704: 5b10 5d02 |002a: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025d │ │ +01e708: 1400 4200 057f |002c: const v0, #float 1.76789e+38 // #7f050042 │ │ +01e70e: 6e20 5b03 0100 |002f: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@035b │ │ +01e714: 0c00 |0032: move-result-object v0 │ │ +01e716: 1f00 ae00 |0033: check-cast v0, Ldnsfilter/android/PaddedCheckBox; // type@00ae │ │ +01e71a: 5b10 5c02 |0035: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSCheck:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ +01e71e: 1400 5600 057f |0037: const v0, #float 1.76789e+38 // #7f050056 │ │ +01e724: 6e20 5b03 0100 |003a: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@035b │ │ +01e72a: 0c00 |003d: move-result-object v0 │ │ +01e72c: 1f00 5e00 |003e: check-cast v0, Landroid/widget/Button; // type@005e │ │ +01e730: 5b10 6102 |0040: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.restoreDefaultConfigurationButton:Landroid/widget/Button; // field@0261 │ │ +01e734: 1400 1100 057f |0042: const v0, #float 1.76788e+38 // #7f050011 │ │ +01e73a: 6e20 5b03 0100 |0045: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@035b │ │ +01e740: 0c00 |0048: move-result-object v0 │ │ +01e742: 1f00 6300 |0049: check-cast v0, Landroid/widget/ImageButton; // type@0063 │ │ +01e746: 5b10 5b02 |004b: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.applyNewConfigurationButton:Landroid/widget/ImageButton; // field@025b │ │ +01e74a: 0e00 |004d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=70 │ │ 0x000e line=71 │ │ 0x0019 line=72 │ │ 0x0024 line=73 │ │ 0x002f line=74 │ │ @@ -48583,42 +48583,42 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 60 16-bit code units │ │ -01e8c4: |[01e8c4] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.setupActionBar:()V │ │ -01e8d4: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01e8d8: 1301 1500 |0002: const/16 v1, #int 21 // #15 │ │ -01e8dc: 3410 2d00 |0004: if-lt v0, v1, 0031 // +002d │ │ -01e8e0: 6e10 6103 0300 |0006: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getWindow:()Landroid/view/Window; // method@0361 │ │ -01e8e6: 0c00 |0009: move-result-object v0 │ │ -01e8e8: 1501 0080 |000a: const/high16 v1, #int -2147483648 // #8000 │ │ -01e8ec: 6e20 a200 1000 |000c: invoke-virtual {v0, v1}, Landroid/view/Window;.addFlags:(I)V // method@00a2 │ │ -01e8f2: 1501 0004 |000f: const/high16 v1, #int 67108864 // #400 │ │ -01e8f6: 6e20 a300 1000 |0011: invoke-virtual {v0, v1}, Landroid/view/Window;.clearFlags:(I)V // method@00a3 │ │ -01e8fc: 6e10 6003 0300 |0014: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getResources:()Landroid/content/res/Resources; // method@0360 │ │ -01e902: 0c01 |0017: move-result-object v1 │ │ -01e904: 1402 0600 037f |0018: const v2, #float 1.74129e+38 // #7f030006 │ │ -01e90a: 6e20 4e00 2100 |001b: invoke-virtual {v1, v2}, Landroid/content/res/Resources;.getColor:(I)I // method@004e │ │ -01e910: 0a01 |001e: move-result v1 │ │ -01e912: 7120 5102 1000 |001f: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/view/Window;I)V // method@0251 │ │ -01e918: 6e10 6103 0300 |0022: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getWindow:()Landroid/view/Window; // method@0361 │ │ -01e91e: 0c00 |0025: move-result-object v0 │ │ -01e920: 6e10 6003 0300 |0026: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getResources:()Landroid/content/res/Resources; // method@0360 │ │ -01e926: 0c01 |0029: move-result-object v1 │ │ -01e928: 6e20 4e00 2100 |002a: invoke-virtual {v1, v2}, Landroid/content/res/Resources;.getColor:(I)I // method@004e │ │ -01e92e: 0a01 |002d: move-result v1 │ │ -01e930: 7120 5602 1000 |002e: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m$1:(Landroid/view/Window;I)V // method@0256 │ │ -01e936: 6e10 5e03 0300 |0031: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getActionBar:()Landroid/app/ActionBar; // method@035e │ │ -01e93c: 0c00 |0034: move-result-object v0 │ │ -01e93e: 1401 0c00 087f |0035: const v1, #float 1.80775e+38 // #7f08000c │ │ -01e944: 6e20 0000 1000 |0038: invoke-virtual {v0, v1}, Landroid/app/ActionBar;.setTitle:(I)V // method@0000 │ │ -01e94a: 0e00 |003b: return-void │ │ +01e8c0: |[01e8c0] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.setupActionBar:()V │ │ +01e8d0: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01e8d4: 1301 1500 |0002: const/16 v1, #int 21 // #15 │ │ +01e8d8: 3410 2d00 |0004: if-lt v0, v1, 0031 // +002d │ │ +01e8dc: 6e10 6103 0300 |0006: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getWindow:()Landroid/view/Window; // method@0361 │ │ +01e8e2: 0c00 |0009: move-result-object v0 │ │ +01e8e4: 1501 0080 |000a: const/high16 v1, #int -2147483648 // #8000 │ │ +01e8e8: 6e20 a200 1000 |000c: invoke-virtual {v0, v1}, Landroid/view/Window;.addFlags:(I)V // method@00a2 │ │ +01e8ee: 1501 0004 |000f: const/high16 v1, #int 67108864 // #400 │ │ +01e8f2: 6e20 a300 1000 |0011: invoke-virtual {v0, v1}, Landroid/view/Window;.clearFlags:(I)V // method@00a3 │ │ +01e8f8: 6e10 6003 0300 |0014: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getResources:()Landroid/content/res/Resources; // method@0360 │ │ +01e8fe: 0c01 |0017: move-result-object v1 │ │ +01e900: 1402 0600 037f |0018: const v2, #float 1.74129e+38 // #7f030006 │ │ +01e906: 6e20 4e00 2100 |001b: invoke-virtual {v1, v2}, Landroid/content/res/Resources;.getColor:(I)I // method@004e │ │ +01e90c: 0a01 |001e: move-result v1 │ │ +01e90e: 7120 5102 1000 |001f: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/view/Window;I)V // method@0251 │ │ +01e914: 6e10 6103 0300 |0022: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getWindow:()Landroid/view/Window; // method@0361 │ │ +01e91a: 0c00 |0025: move-result-object v0 │ │ +01e91c: 6e10 6003 0300 |0026: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getResources:()Landroid/content/res/Resources; // method@0360 │ │ +01e922: 0c01 |0029: move-result-object v1 │ │ +01e924: 6e20 4e00 2100 |002a: invoke-virtual {v1, v2}, Landroid/content/res/Resources;.getColor:(I)I // method@004e │ │ +01e92a: 0a01 |002d: move-result v1 │ │ +01e92c: 7120 5602 1000 |002e: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m$1:(Landroid/view/Window;I)V // method@0256 │ │ +01e932: 6e10 5e03 0300 |0031: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getActionBar:()Landroid/app/ActionBar; // method@035e │ │ +01e938: 0c00 |0034: move-result-object v0 │ │ +01e93a: 1401 0c00 087f |0035: const v1, #float 1.80775e+38 // #7f08000c │ │ +01e940: 6e20 0000 1000 |0038: invoke-virtual {v0, v1}, Landroid/app/ActionBar;.setTitle:(I)V // method@0000 │ │ +01e946: 0e00 |003b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=57 │ │ 0x0006 line=58 │ │ 0x000c line=59 │ │ 0x0011 line=60 │ │ 0x0014 line=61 │ │ @@ -48634,35 +48634,35 @@ │ │ type : '(Landroid/os/Bundle;)V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 51 16-bit code units │ │ -01e750: |[01e750] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.onCreate:(Landroid/os/Bundle;)V │ │ -01e760: 6f20 0400 2100 |0000: invoke-super {v1, v2}, Landroid/app/Activity;.onCreate:(Landroid/os/Bundle;)V // method@0004 │ │ -01e766: 1500 067f |0003: const/high16 v0, #int 2131099648 // #7f06 │ │ -01e76a: 6e20 6603 0100 |0005: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.setContentView:(I)V // method@0366 │ │ -01e770: 7010 6903 0100 |0008: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.setupActionBar:()V // method@0369 │ │ -01e776: 7010 5c03 0100 |000b: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViews:()V // method@035c │ │ -01e77c: 2200 c200 |000e: new-instance v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl; // type@00c2 │ │ -01e780: 7040 7803 1021 |0010: invoke-direct {v0, v1, v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;Landroid/content/Context;Landroid/os/Bundle;)V // method@0378 │ │ -01e786: 5b10 6002 |0013: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@0260 │ │ -01e78a: 7010 5703 0100 |0015: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureManualDNSValue:()V // method@0357 │ │ -01e790: 7010 5603 0100 |0018: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureDNSList:()V // method@0356 │ │ -01e796: 7010 5803 0100 |001b: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureRawMode:()V // method@0358 │ │ -01e79c: 7010 5903 0100 |001e: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureRestoreDefaultsButton:()V // method@0359 │ │ -01e7a2: 7010 5503 0100 |0021: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureApplyNewConfigurationButton:()V // method@0355 │ │ -01e7a8: 7010 5a03 0100 |0024: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureShowCommentedLines:()V // method@035a │ │ -01e7ae: 5412 6002 |0027: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@0260 │ │ -01e7b2: 5410 6202 |0029: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@0262 │ │ -01e7b6: 6e10 3103 0000 |002b: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0331 │ │ -01e7bc: 0a00 |002e: move-result v0 │ │ -01e7be: 7220 7303 0200 |002f: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedShowCommentedLinesCheckbox:(Z)V // method@0373 │ │ -01e7c4: 0e00 |0032: return-void │ │ +01e74c: |[01e74c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.onCreate:(Landroid/os/Bundle;)V │ │ +01e75c: 6f20 0400 2100 |0000: invoke-super {v1, v2}, Landroid/app/Activity;.onCreate:(Landroid/os/Bundle;)V // method@0004 │ │ +01e762: 1500 067f |0003: const/high16 v0, #int 2131099648 // #7f06 │ │ +01e766: 6e20 6603 0100 |0005: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.setContentView:(I)V // method@0366 │ │ +01e76c: 7010 6903 0100 |0008: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.setupActionBar:()V // method@0369 │ │ +01e772: 7010 5c03 0100 |000b: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViews:()V // method@035c │ │ +01e778: 2200 c200 |000e: new-instance v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl; // type@00c2 │ │ +01e77c: 7040 7803 1021 |0010: invoke-direct {v0, v1, v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;Landroid/content/Context;Landroid/os/Bundle;)V // method@0378 │ │ +01e782: 5b10 6002 |0013: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@0260 │ │ +01e786: 7010 5703 0100 |0015: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureManualDNSValue:()V // method@0357 │ │ +01e78c: 7010 5603 0100 |0018: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureDNSList:()V // method@0356 │ │ +01e792: 7010 5803 0100 |001b: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureRawMode:()V // method@0358 │ │ +01e798: 7010 5903 0100 |001e: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureRestoreDefaultsButton:()V // method@0359 │ │ +01e79e: 7010 5503 0100 |0021: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureApplyNewConfigurationButton:()V // method@0355 │ │ +01e7a4: 7010 5a03 0100 |0024: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureShowCommentedLines:()V // method@035a │ │ +01e7aa: 5412 6002 |0027: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@0260 │ │ +01e7ae: 5410 6202 |0029: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@0262 │ │ +01e7b2: 6e10 3103 0000 |002b: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0331 │ │ +01e7b8: 0a00 |002e: move-result v0 │ │ +01e7ba: 7220 7303 0200 |002f: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedShowCommentedLinesCheckbox:(Z)V // method@0373 │ │ +01e7c0: 0e00 |0032: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=39 │ │ 0x0005 line=40 │ │ 0x0008 line=42 │ │ 0x000b line=43 │ │ 0x000e line=45 │ │ @@ -48682,19 +48682,19 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -01e7c8: |[01e7c8] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.onDestroy:()V │ │ -01e7d8: 5410 6002 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@0260 │ │ -01e7dc: 7210 7403 0000 |0002: invoke-interface {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onDestroy:()V // method@0374 │ │ -01e7e2: 6f10 0500 0100 |0005: invoke-super {v1}, Landroid/app/Activity;.onDestroy:()V // method@0005 │ │ -01e7e8: 0e00 |0008: return-void │ │ +01e7c4: |[01e7c4] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.onDestroy:()V │ │ +01e7d4: 5410 6002 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@0260 │ │ +01e7d8: 7210 7403 0000 |0002: invoke-interface {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onDestroy:()V // method@0374 │ │ +01e7de: 6f10 0500 0100 |0005: invoke-super {v1}, Landroid/app/Activity;.onDestroy:()V // method@0005 │ │ +01e7e4: 0e00 |0008: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=197 │ │ 0x0005 line=198 │ │ locals : │ │ 0x0000 - 0x0009 reg=1 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; │ │ │ │ @@ -48703,30 +48703,30 @@ │ │ type : '(Landroid/os/Bundle;)V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 5 │ │ insns size : 31 16-bit code units │ │ -01e7ec: |[01e7ec] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.onSaveInstanceState:(Landroid/os/Bundle;)V │ │ -01e7fc: 5440 6002 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@0260 │ │ -01e800: 5441 5f02 |0002: iget-object v1, v4, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ -01e804: 6e10 3103 0100 |0004: invoke-virtual {v1}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0331 │ │ -01e80a: 0a01 |0007: move-result v1 │ │ -01e80c: 5442 5d02 |0008: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025d │ │ -01e810: 6e10 c500 0200 |000a: invoke-virtual {v2}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ -01e816: 0c02 |000d: move-result-object v2 │ │ -01e818: 6e10 5405 0200 |000e: invoke-virtual {v2}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ -01e81e: 0c02 |0011: move-result-object v2 │ │ -01e820: 5443 6202 |0012: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@0262 │ │ -01e824: 6e10 3103 0300 |0014: invoke-virtual {v3}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0331 │ │ -01e82a: 0a03 |0017: move-result v3 │ │ -01e82c: 7253 7603 5021 |0018: invoke-interface {v0, v5, v1, v2, v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.saveState:(Landroid/os/Bundle;ZLjava/lang/String;Z)V // method@0376 │ │ -01e832: 6f20 0700 5400 |001b: invoke-super {v4, v5}, Landroid/app/Activity;.onSaveInstanceState:(Landroid/os/Bundle;)V // method@0007 │ │ -01e838: 0e00 |001e: return-void │ │ +01e7e8: |[01e7e8] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.onSaveInstanceState:(Landroid/os/Bundle;)V │ │ +01e7f8: 5440 6002 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@0260 │ │ +01e7fc: 5441 5f02 |0002: iget-object v1, v4, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ +01e800: 6e10 3103 0100 |0004: invoke-virtual {v1}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0331 │ │ +01e806: 0a01 |0007: move-result v1 │ │ +01e808: 5442 5d02 |0008: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025d │ │ +01e80c: 6e10 c500 0200 |000a: invoke-virtual {v2}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00c5 │ │ +01e812: 0c02 |000d: move-result-object v2 │ │ +01e814: 6e10 5405 0200 |000e: invoke-virtual {v2}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ +01e81a: 0c02 |0011: move-result-object v2 │ │ +01e81c: 5443 6202 |0012: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@0262 │ │ +01e820: 6e10 3103 0300 |0014: invoke-virtual {v3}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0331 │ │ +01e826: 0a03 |0017: move-result v3 │ │ +01e828: 7253 7603 5021 |0018: invoke-interface {v0, v5, v1, v2, v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.saveState:(Landroid/os/Bundle;ZLjava/lang/String;Z)V // method@0376 │ │ +01e82e: 6f20 0700 5400 |001b: invoke-super {v4, v5}, Landroid/app/Activity;.onSaveInstanceState:(Landroid/os/Bundle;)V // method@0007 │ │ +01e834: 0e00 |001e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=186 │ │ 0x0004 line=188 │ │ 0x000a line=189 │ │ 0x0014 line=190 │ │ 0x0018 line=186 │ │ @@ -48740,36 +48740,36 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 46 16-bit code units │ │ -01e83c: |[01e83c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.resetToDefaultMode:()V │ │ -01e84c: 5430 5d02 |0000: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025d │ │ -01e850: 7110 8a03 0000 |0002: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigUtils;.hideKeyboard:(Landroid/view/View;)V // method@038a │ │ -01e856: 5430 5f02 |0005: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ -01e85a: 1201 |0007: const/4 v1, #int 0 // #0 │ │ -01e85c: 6e20 3203 1000 |0008: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setChecked:(Z)V // method@0332 │ │ -01e862: 5430 5e02 |000b: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSList:Landroid/widget/ListView; // field@025e │ │ -01e866: 6e20 dd00 1000 |000d: invoke-virtual {v0, v1}, Landroid/widget/ListView;.setVisibility:(I)V // method@00dd │ │ -01e86c: 5430 5d02 |0010: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025d │ │ -01e870: 1302 0800 |0012: const/16 v2, #int 8 // #8 │ │ -01e874: 6e20 d300 2000 |0014: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setVisibility:(I)V // method@00d3 │ │ -01e87a: 5430 5d02 |0017: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025d │ │ -01e87e: 1202 |0019: const/4 v2, #int 0 // #0 │ │ -01e880: 6e20 c900 2000 |001a: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00c9 │ │ -01e886: 5430 6202 |001d: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@0262 │ │ -01e88a: 6e20 3503 1000 |001f: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setVisibility:(I)V // method@0335 │ │ -01e890: 5430 6002 |0022: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@0260 │ │ -01e894: 5431 6202 |0024: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@0262 │ │ -01e898: 6e10 3103 0100 |0026: invoke-virtual {v1}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0331 │ │ -01e89e: 0a01 |0029: move-result v1 │ │ -01e8a0: 7220 7303 1000 |002a: invoke-interface {v0, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedShowCommentedLinesCheckbox:(Z)V // method@0373 │ │ -01e8a6: 0e00 |002d: return-void │ │ +01e838: |[01e838] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.resetToDefaultMode:()V │ │ +01e848: 5430 5d02 |0000: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025d │ │ +01e84c: 7110 8a03 0000 |0002: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigUtils;.hideKeyboard:(Landroid/view/View;)V // method@038a │ │ +01e852: 5430 5f02 |0005: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ +01e856: 1201 |0007: const/4 v1, #int 0 // #0 │ │ +01e858: 6e20 3203 1000 |0008: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setChecked:(Z)V // method@0332 │ │ +01e85e: 5430 5e02 |000b: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSList:Landroid/widget/ListView; // field@025e │ │ +01e862: 6e20 dd00 1000 |000d: invoke-virtual {v0, v1}, Landroid/widget/ListView;.setVisibility:(I)V // method@00dd │ │ +01e868: 5430 5d02 |0010: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025d │ │ +01e86c: 1302 0800 |0012: const/16 v2, #int 8 // #8 │ │ +01e870: 6e20 d300 2000 |0014: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setVisibility:(I)V // method@00d3 │ │ +01e876: 5430 5d02 |0017: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025d │ │ +01e87a: 1202 |0019: const/4 v2, #int 0 // #0 │ │ +01e87c: 6e20 c900 2000 |001a: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00c9 │ │ +01e882: 5430 6202 |001d: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@0262 │ │ +01e886: 6e20 3503 1000 |001f: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setVisibility:(I)V // method@0335 │ │ +01e88c: 5430 6002 |0022: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@0260 │ │ +01e890: 5431 6202 |0024: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@0262 │ │ +01e894: 6e10 3103 0100 |0026: invoke-virtual {v1}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0331 │ │ +01e89a: 0a01 |0029: move-result v1 │ │ +01e89c: 7220 7303 1000 |002a: invoke-interface {v0, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedShowCommentedLinesCheckbox:(Z)V // method@0373 │ │ +01e8a2: 0e00 |002d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=164 │ │ 0x0005 line=165 │ │ 0x000b line=166 │ │ 0x0010 line=167 │ │ 0x0017 line=168 │ │ @@ -48783,18 +48783,18 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -01e8a8: |[01e8a8] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.setManualDNSServers:(Z)V │ │ -01e8b8: 5410 5c02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSCheck:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ -01e8bc: 6e20 3203 2000 |0002: invoke-virtual {v0, v2}, Ldnsfilter/android/PaddedCheckBox;.setChecked:(Z)V // method@0332 │ │ -01e8c2: 0e00 |0005: return-void │ │ +01e8a4: |[01e8a4] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.setManualDNSServers:(Z)V │ │ +01e8b4: 5410 5c02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSCheck:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ +01e8b8: 6e20 3203 2000 |0002: invoke-virtual {v0, v2}, Ldnsfilter/android/PaddedCheckBox;.setChecked:(Z)V // method@0332 │ │ +01e8be: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=131 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; │ │ 0x0000 - 0x0006 reg=2 (null) Z │ │ │ │ @@ -48803,33 +48803,33 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 38 16-bit code units │ │ -01e94c: |[01e94c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.showRawMode:(Ljava/lang/String;)V │ │ -01e95c: 5420 5f02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ -01e960: 6e10 3103 0000 |0002: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0331 │ │ -01e966: 0a00 |0005: move-result v0 │ │ -01e968: 3900 0800 |0006: if-nez v0, 000e // +0008 │ │ -01e96c: 5420 5f02 |0008: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ -01e970: 1211 |000a: const/4 v1, #int 1 // #1 │ │ -01e972: 6e20 3203 1000 |000b: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setChecked:(Z)V // method@0332 │ │ -01e978: 5420 5d02 |000e: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025d │ │ -01e97c: 6e20 d100 3000 |0010: invoke-virtual {v0, v3}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ -01e982: 5423 5e02 |0013: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSList:Landroid/widget/ListView; // field@025e │ │ -01e986: 1300 0800 |0015: const/16 v0, #int 8 // #8 │ │ -01e98a: 6e20 dd00 0300 |0017: invoke-virtual {v3, v0}, Landroid/widget/ListView;.setVisibility:(I)V // method@00dd │ │ -01e990: 5423 5d02 |001a: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025d │ │ -01e994: 1201 |001c: const/4 v1, #int 0 // #0 │ │ -01e996: 6e20 d300 1300 |001d: invoke-virtual {v3, v1}, Landroid/widget/EditText;.setVisibility:(I)V // method@00d3 │ │ -01e99c: 5423 6202 |0020: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@0262 │ │ -01e9a0: 6e20 3503 0300 |0022: invoke-virtual {v3, v0}, Ldnsfilter/android/PaddedCheckBox;.setVisibility:(I)V // method@0335 │ │ -01e9a6: 0e00 |0025: return-void │ │ +01e948: |[01e948] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.showRawMode:(Ljava/lang/String;)V │ │ +01e958: 5420 5f02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ +01e95c: 6e10 3103 0000 |0002: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0331 │ │ +01e962: 0a00 |0005: move-result v0 │ │ +01e964: 3900 0800 |0006: if-nez v0, 000e // +0008 │ │ +01e968: 5420 5f02 |0008: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ +01e96c: 1211 |000a: const/4 v1, #int 1 // #1 │ │ +01e96e: 6e20 3203 1000 |000b: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setChecked:(Z)V // method@0332 │ │ +01e974: 5420 5d02 |000e: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025d │ │ +01e978: 6e20 d100 3000 |0010: invoke-virtual {v0, v3}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00d1 │ │ +01e97e: 5423 5e02 |0013: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSList:Landroid/widget/ListView; // field@025e │ │ +01e982: 1300 0800 |0015: const/16 v0, #int 8 // #8 │ │ +01e986: 6e20 dd00 0300 |0017: invoke-virtual {v3, v0}, Landroid/widget/ListView;.setVisibility:(I)V // method@00dd │ │ +01e98c: 5423 5d02 |001a: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025d │ │ +01e990: 1201 |001c: const/4 v1, #int 0 // #0 │ │ +01e992: 6e20 d300 1300 |001d: invoke-virtual {v3, v1}, Landroid/widget/EditText;.setVisibility:(I)V // method@00d3 │ │ +01e998: 5423 6202 |0020: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@0262 │ │ +01e99c: 6e20 3503 0300 |0022: invoke-virtual {v3, v0}, Ldnsfilter/android/PaddedCheckBox;.setVisibility:(I)V // method@0335 │ │ +01e9a2: 0e00 |0025: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=175 │ │ 0x0008 line=176 │ │ 0x000e line=178 │ │ 0x0013 line=179 │ │ 0x001a line=180 │ │ @@ -48843,21 +48843,21 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 12 16-bit code units │ │ -01e9a8: |[01e9a8] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.showRawModeError:(Ljava/lang/String;)V │ │ -01e9b8: 5410 5d02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025d │ │ -01e9bc: 6e20 c900 2000 |0002: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00c9 │ │ -01e9c2: 5412 5f02 |0005: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ -01e9c6: 1210 |0007: const/4 v0, #int 1 // #1 │ │ -01e9c8: 6e20 3203 0200 |0008: invoke-virtual {v2, v0}, Ldnsfilter/android/PaddedCheckBox;.setChecked:(Z)V // method@0332 │ │ -01e9ce: 0e00 |000b: return-void │ │ +01e9a4: |[01e9a4] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.showRawModeError:(Ljava/lang/String;)V │ │ +01e9b4: 5410 5d02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025d │ │ +01e9b8: 6e20 c900 2000 |0002: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00c9 │ │ +01e9be: 5412 5f02 |0005: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ +01e9c2: 1210 |0007: const/4 v0, #int 1 // #1 │ │ +01e9c4: 6e20 3203 0200 |0008: invoke-virtual {v2, v0}, Ldnsfilter/android/PaddedCheckBox;.setChecked:(Z)V // method@0332 │ │ +01e9ca: 0e00 |000b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=136 │ │ 0x0005 line=137 │ │ locals : │ │ 0x0000 - 0x000c reg=1 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; │ │ 0x0000 - 0x000c reg=2 (null) Ljava/lang/String; │ │ @@ -48867,20 +48867,20 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 9 16-bit code units │ │ -01e9d0: |[01e9d0] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.showToast:(Ljava/lang/String;)V │ │ -01e9e0: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -01e9e2: 7130 f700 2100 |0001: invoke-static {v1, v2, v0}, Landroid/widget/Toast;.makeText:(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; // method@00f7 │ │ -01e9e8: 0c02 |0004: move-result-object v2 │ │ -01e9ea: 6e10 f800 0200 |0005: invoke-virtual {v2}, Landroid/widget/Toast;.show:()V // method@00f8 │ │ -01e9f0: 0e00 |0008: return-void │ │ +01e9cc: |[01e9cc] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.showToast:(Ljava/lang/String;)V │ │ +01e9dc: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +01e9de: 7130 f700 2100 |0001: invoke-static {v1, v2, v0}, Landroid/widget/Toast;.makeText:(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; // method@00f7 │ │ +01e9e4: 0c02 |0004: move-result-object v2 │ │ +01e9e6: 6e10 f800 0200 |0005: invoke-virtual {v2}, Landroid/widget/Toast;.show:()V // method@00f8 │ │ +01e9ec: 0e00 |0008: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=142 │ │ locals : │ │ 0x0000 - 0x0009 reg=1 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; │ │ 0x0000 - 0x0009 reg=2 (null) Ljava/lang/String; │ │ │ │ @@ -48889,34 +48889,34 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 39 16-bit code units │ │ -01e9f4: |[01e9f4] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.showToastAndCloseScreen:(Ljava/lang/String;)V │ │ -01ea04: 3804 0900 |0000: if-eqz v4, 0009 // +0009 │ │ -01ea08: 6e10 6d05 0400 |0002: invoke-virtual {v4}, Ljava/lang/String;.isEmpty:()Z // method@056d │ │ -01ea0e: 0a00 |0005: move-result v0 │ │ -01ea10: 3900 0300 |0006: if-nez v0, 0009 // +0003 │ │ -01ea14: 2803 |0008: goto 000b // +0003 │ │ -01ea16: 1a04 4501 |0009: const-string v4, "DNS servers config updated" // string@0145 │ │ -01ea1a: 1200 |000b: const/4 v0, #int 0 // #0 │ │ -01ea1c: 7130 f700 4300 |000c: invoke-static {v3, v4, v0}, Landroid/widget/Toast;.makeText:(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; // method@00f7 │ │ -01ea22: 0c04 |000f: move-result-object v4 │ │ -01ea24: 6e10 f800 0400 |0010: invoke-virtual {v4}, Landroid/widget/Toast;.show:()V // method@00f8 │ │ -01ea2a: 2204 3300 |0013: new-instance v4, Landroid/os/Handler; // type@0033 │ │ -01ea2e: 6e10 5f03 0300 |0015: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getMainLooper:()Landroid/os/Looper; // method@035f │ │ -01ea34: 0c00 |0018: move-result-object v0 │ │ -01ea36: 7020 7b00 0400 |0019: invoke-direct {v4, v0}, Landroid/os/Handler;.:(Landroid/os/Looper;)V // method@007b │ │ -01ea3c: 2200 bf00 |001c: new-instance v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6; // type@00bf │ │ -01ea40: 7020 4c03 3000 |001e: invoke-direct {v0, v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@034c │ │ -01ea46: 1601 f401 |0021: const-wide/16 v1, #int 500 // #1f4 │ │ -01ea4a: 6e40 7d00 0421 |0023: invoke-virtual {v4, v0, v1, v2}, Landroid/os/Handler;.postDelayed:(Ljava/lang/Runnable;J)Z // method@007d │ │ -01ea50: 0e00 |0026: return-void │ │ +01e9f0: |[01e9f0] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.showToastAndCloseScreen:(Ljava/lang/String;)V │ │ +01ea00: 3804 0900 |0000: if-eqz v4, 0009 // +0009 │ │ +01ea04: 6e10 6d05 0400 |0002: invoke-virtual {v4}, Ljava/lang/String;.isEmpty:()Z // method@056d │ │ +01ea0a: 0a00 |0005: move-result v0 │ │ +01ea0c: 3900 0300 |0006: if-nez v0, 0009 // +0003 │ │ +01ea10: 2803 |0008: goto 000b // +0003 │ │ +01ea12: 1a04 4501 |0009: const-string v4, "DNS servers config updated" // string@0145 │ │ +01ea16: 1200 |000b: const/4 v0, #int 0 // #0 │ │ +01ea18: 7130 f700 4300 |000c: invoke-static {v3, v4, v0}, Landroid/widget/Toast;.makeText:(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; // method@00f7 │ │ +01ea1e: 0c04 |000f: move-result-object v4 │ │ +01ea20: 6e10 f800 0400 |0010: invoke-virtual {v4}, Landroid/widget/Toast;.show:()V // method@00f8 │ │ +01ea26: 2204 3300 |0013: new-instance v4, Landroid/os/Handler; // type@0033 │ │ +01ea2a: 6e10 5f03 0300 |0015: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getMainLooper:()Landroid/os/Looper; // method@035f │ │ +01ea30: 0c00 |0018: move-result-object v0 │ │ +01ea32: 7020 7b00 0400 |0019: invoke-direct {v4, v0}, Landroid/os/Handler;.:(Landroid/os/Looper;)V // method@007b │ │ +01ea38: 2200 bf00 |001c: new-instance v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6; // type@00bf │ │ +01ea3c: 7020 4c03 3000 |001e: invoke-direct {v0, v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@034c │ │ +01ea42: 1601 f401 |0021: const-wide/16 v1, #int 500 // #1f4 │ │ +01ea46: 6e40 7d00 0421 |0023: invoke-virtual {v4, v0, v1, v2}, Landroid/os/Handler;.postDelayed:(Ljava/lang/Runnable;J)Z // method@007d │ │ +01ea4c: 0e00 |0026: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=148 │ │ 0x0009 line=151 │ │ 0x0013 line=152 │ │ locals : │ │ 0x0000 - 0x0027 reg=3 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; │ │ @@ -49025,27 +49025,27 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 20 16-bit code units │ │ -01ed00: |[01ed00] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.:()V │ │ -01ed10: 1a00 9408 |0000: const-string v0, "line.separator" // string@0894 │ │ -01ed14: 7110 8f05 0000 |0002: invoke-static {v0}, Ljava/lang/System;.getProperty:(Ljava/lang/String;)Ljava/lang/String; // method@058f │ │ -01ed1a: 0c01 |0005: move-result-object v1 │ │ -01ed1c: 3901 0700 |0006: if-nez v1, 000d // +0007 │ │ -01ed20: 1a00 0200 |0008: const-string v0, " │ │ +01ecfc: |[01ecfc] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.:()V │ │ +01ed0c: 1a00 9408 |0000: const-string v0, "line.separator" // string@0894 │ │ +01ed10: 7110 8f05 0000 |0002: invoke-static {v0}, Ljava/lang/System;.getProperty:(Ljava/lang/String;)Ljava/lang/String; // method@058f │ │ +01ed16: 0c01 |0005: move-result-object v1 │ │ +01ed18: 3901 0700 |0006: if-nez v1, 000d // +0007 │ │ +01ed1c: 1a00 0200 |0008: const-string v0, " │ │ " // string@0002 │ │ -01ed24: 6900 6802 |000a: sput-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0268 │ │ -01ed28: 2807 |000c: goto 0013 // +0007 │ │ -01ed2a: 7110 8f05 0000 |000d: invoke-static {v0}, Ljava/lang/System;.getProperty:(Ljava/lang/String;)Ljava/lang/String; // method@058f │ │ -01ed30: 0c00 |0010: move-result-object v0 │ │ -01ed32: 6900 6802 |0011: sput-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0268 │ │ -01ed36: 0e00 |0013: return-void │ │ +01ed20: 6900 6802 |000a: sput-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0268 │ │ +01ed24: 2807 |000c: goto 0013 // +0007 │ │ +01ed26: 7110 8f05 0000 |000d: invoke-static {v0}, Ljava/lang/System;.getProperty:(Ljava/lang/String;)Ljava/lang/String; // method@058f │ │ +01ed2c: 0c00 |0010: move-result-object v0 │ │ +01ed2e: 6900 6802 |0011: sput-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0268 │ │ +01ed32: 0e00 |0013: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=28 │ │ 0x0008 line=29 │ │ 0x000d line=31 │ │ locals : │ │ │ │ @@ -49054,83 +49054,83 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;Landroid/content/Context;Landroid/os/Bundle;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 11 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 136 16-bit code units │ │ -01ed38: |[01ed38] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;Landroid/content/Context;Landroid/os/Bundle;)V │ │ -01ed48: 7010 4f05 0700 |0000: invoke-direct {v7}, Ljava/lang/Object;.:()V // method@054f │ │ -01ed4e: 7100 3b01 0000 |0003: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getCurrent:()Ldnsfilter/ConfigurationAccess; // method@013b │ │ -01ed54: 0c00 |0006: move-result-object v0 │ │ -01ed56: 5b70 6502 |0007: iput-object v0, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@0265 │ │ -01ed5a: 2200 d300 |0009: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer; // type@00d3 │ │ -01ed5e: 7010 cb03 0000 |000b: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.:()V // method@03cb │ │ -01ed64: 5b70 6f02 |000e: iput-object v0, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.serializer:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer; // field@026f │ │ -01ed68: 1200 |0010: const/4 v0, #int 0 // #0 │ │ -01ed6a: 5c70 6d02 |0011: iput-boolean v0, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026d │ │ -01ed6e: 7100 6706 0000 |0013: invoke-static {}, Ljava/util/concurrent/Executors;.newSingleThreadExecutor:()Ljava/util/concurrent/ExecutorService; // method@0667 │ │ -01ed74: 0c01 |0016: move-result-object v1 │ │ -01ed76: 5b71 7002 |0017: iput-object v1, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.testTasksPool:Ljava/util/concurrent/ExecutorService; // field@0270 │ │ -01ed7a: 5b78 7102 |0019: iput-object v8, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@0271 │ │ -01ed7e: 2202 4c01 |001b: new-instance v2, Ljava/util/ArrayList; // type@014c │ │ -01ed82: 7010 f405 0200 |001d: invoke-direct {v2}, Ljava/util/ArrayList;.:()V // method@05f4 │ │ -01ed88: 1213 |0020: const/4 v3, #int 1 // #1 │ │ -01ed8a: 1a04 5606 |0021: const-string v4, "detectDNS" // string@0656 │ │ -01ed8e: 1a05 d406 |0023: const-string v5, "fallbackDNS" // string@06d4 │ │ -01ed92: 380a 2100 |0025: if-eqz v10, 0046 // +0021 │ │ -01ed96: 6e20 7400 4a00 |0027: invoke-virtual {v10, v4}, Landroid/os/Bundle;.getBoolean:(Ljava/lang/String;)Z // method@0074 │ │ -01ed9c: 0a04 |002a: move-result v4 │ │ -01ed9e: 5c74 6d02 |002b: iput-boolean v4, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026d │ │ -01eda2: 1a04 6f08 |002d: const-string v4, "isRadModeDNS" // string@086f │ │ -01eda6: 6e20 7400 4a00 |002f: invoke-virtual {v10, v4}, Landroid/os/Bundle;.getBoolean:(Ljava/lang/String;)Z // method@0074 │ │ -01edac: 0a04 |0032: move-result v4 │ │ -01edae: 3804 0a00 |0033: if-eqz v4, 003d // +000a │ │ -01edb2: 6e20 7600 5a00 |0035: invoke-virtual {v10, v5}, Landroid/os/Bundle;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@0076 │ │ -01edb8: 0c04 |0038: move-result-object v4 │ │ -01edba: 7220 8d03 4800 |0039: invoke-interface {v8, v4}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showRawMode:(Ljava/lang/String;)V // method@038d │ │ -01edc0: 2833 |003c: goto 006f // +0033 │ │ -01edc2: 6e20 7600 5a00 |003d: invoke-virtual {v10, v5}, Landroid/os/Bundle;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@0076 │ │ -01edc8: 0c08 |0040: move-result-object v8 │ │ -01edca: 7020 8403 8700 |0041: invoke-direct {v7, v8}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.readDNSServerConfigFrom:(Ljava/lang/String;)Ljava/util/List; // method@0384 │ │ -01edd0: 0c02 |0044: move-result-object v2 │ │ -01edd2: 282a |0045: goto 006f // +002a │ │ -01edd4: 7010 7b03 0700 |0046: invoke-direct {v7}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.getConfig:()Ldnsfilter/ConfigUtil; // method@037b │ │ -01edda: 0c08 |0049: move-result-object v8 │ │ -01eddc: 3808 2500 |004a: if-eqz v8, 006f // +0025 │ │ -01ede0: 6e10 2a01 0800 |004c: invoke-virtual {v8}, Ldnsfilter/ConfigUtil;.getProperties:()Ljava/util/Properties; // method@012a │ │ -01ede6: 0c02 |004f: move-result-object v2 │ │ -01ede8: 1a06 0000 |0050: const-string v6, "" // string@0000 │ │ -01edec: 6e30 3606 5206 |0052: invoke-virtual {v2, v5, v6}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -01edf2: 0c02 |0055: move-result-object v2 │ │ -01edf4: 7110 8903 0200 |0056: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigUtils;.formatSerializedProperties:(Ljava/lang/String;)Ljava/lang/String; // method@0389 │ │ -01edfa: 0c02 |0059: move-result-object v2 │ │ -01edfc: 7020 8403 2700 |005a: invoke-direct {v7, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.readDNSServerConfigFrom:(Ljava/lang/String;)Ljava/util/List; // method@0384 │ │ -01ee02: 0c02 |005d: move-result-object v2 │ │ -01ee04: 6e10 2a01 0800 |005e: invoke-virtual {v8}, Ldnsfilter/ConfigUtil;.getProperties:()Ljava/util/Properties; // method@012a │ │ -01ee0a: 0c08 |0061: move-result-object v8 │ │ -01ee0c: 1a05 2f0b |0062: const-string v5, "true" // string@0b2f │ │ -01ee10: 6e30 3606 4805 |0064: invoke-virtual {v8, v4, v5}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -01ee16: 0c08 |0067: move-result-object v8 │ │ -01ee18: 7110 2705 0800 |0068: invoke-static {v8}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -01ee1e: 0a08 |006b: move-result v8 │ │ -01ee20: b738 |006c: xor-int/2addr v8, v3 │ │ -01ee22: 5c78 6d02 |006d: iput-boolean v8, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026d │ │ -01ee26: 2208 d200 |006f: new-instance v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // type@00d2 │ │ -01ee2a: 7040 ac03 9812 |0071: invoke-direct {v8, v9, v2, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.:(Landroid/content/Context;Ljava/util/List;Ljava/util/concurrent/ExecutorService;)V // method@03ac │ │ -01ee30: 5b78 6e02 |0074: iput-object v8, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026e │ │ -01ee34: 380a 0e00 |0076: if-eqz v10, 0084 // +000e │ │ -01ee38: 1a08 b60a |0078: const-string v8, "showCommentedLines" // string@0ab6 │ │ -01ee3c: 6e20 7400 8a00 |007a: invoke-virtual {v10, v8}, Landroid/os/Bundle;.getBoolean:(Ljava/lang/String;)Z // method@0074 │ │ -01ee42: 0a08 |007d: move-result v8 │ │ -01ee44: 3808 0900 |007e: if-eqz v8, 0087 // +0009 │ │ -01ee48: 6e20 8103 3700 |0080: invoke-virtual {v7, v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.onChangedShowCommentedLinesCheckbox:(Z)V // method@0381 │ │ -01ee4e: 2804 |0083: goto 0087 // +0004 │ │ -01ee50: 6e20 8103 0700 |0084: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.onChangedShowCommentedLinesCheckbox:(Z)V // method@0381 │ │ -01ee56: 0e00 |0087: return-void │ │ +01ed34: |[01ed34] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;Landroid/content/Context;Landroid/os/Bundle;)V │ │ +01ed44: 7010 4f05 0700 |0000: invoke-direct {v7}, Ljava/lang/Object;.:()V // method@054f │ │ +01ed4a: 7100 3b01 0000 |0003: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getCurrent:()Ldnsfilter/ConfigurationAccess; // method@013b │ │ +01ed50: 0c00 |0006: move-result-object v0 │ │ +01ed52: 5b70 6502 |0007: iput-object v0, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@0265 │ │ +01ed56: 2200 d300 |0009: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer; // type@00d3 │ │ +01ed5a: 7010 cb03 0000 |000b: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.:()V // method@03cb │ │ +01ed60: 5b70 6f02 |000e: iput-object v0, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.serializer:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer; // field@026f │ │ +01ed64: 1200 |0010: const/4 v0, #int 0 // #0 │ │ +01ed66: 5c70 6d02 |0011: iput-boolean v0, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026d │ │ +01ed6a: 7100 6706 0000 |0013: invoke-static {}, Ljava/util/concurrent/Executors;.newSingleThreadExecutor:()Ljava/util/concurrent/ExecutorService; // method@0667 │ │ +01ed70: 0c01 |0016: move-result-object v1 │ │ +01ed72: 5b71 7002 |0017: iput-object v1, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.testTasksPool:Ljava/util/concurrent/ExecutorService; // field@0270 │ │ +01ed76: 5b78 7102 |0019: iput-object v8, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@0271 │ │ +01ed7a: 2202 4c01 |001b: new-instance v2, Ljava/util/ArrayList; // type@014c │ │ +01ed7e: 7010 f405 0200 |001d: invoke-direct {v2}, Ljava/util/ArrayList;.:()V // method@05f4 │ │ +01ed84: 1213 |0020: const/4 v3, #int 1 // #1 │ │ +01ed86: 1a04 5606 |0021: const-string v4, "detectDNS" // string@0656 │ │ +01ed8a: 1a05 d406 |0023: const-string v5, "fallbackDNS" // string@06d4 │ │ +01ed8e: 380a 2100 |0025: if-eqz v10, 0046 // +0021 │ │ +01ed92: 6e20 7400 4a00 |0027: invoke-virtual {v10, v4}, Landroid/os/Bundle;.getBoolean:(Ljava/lang/String;)Z // method@0074 │ │ +01ed98: 0a04 |002a: move-result v4 │ │ +01ed9a: 5c74 6d02 |002b: iput-boolean v4, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026d │ │ +01ed9e: 1a04 6f08 |002d: const-string v4, "isRadModeDNS" // string@086f │ │ +01eda2: 6e20 7400 4a00 |002f: invoke-virtual {v10, v4}, Landroid/os/Bundle;.getBoolean:(Ljava/lang/String;)Z // method@0074 │ │ +01eda8: 0a04 |0032: move-result v4 │ │ +01edaa: 3804 0a00 |0033: if-eqz v4, 003d // +000a │ │ +01edae: 6e20 7600 5a00 |0035: invoke-virtual {v10, v5}, Landroid/os/Bundle;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@0076 │ │ +01edb4: 0c04 |0038: move-result-object v4 │ │ +01edb6: 7220 8d03 4800 |0039: invoke-interface {v8, v4}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showRawMode:(Ljava/lang/String;)V // method@038d │ │ +01edbc: 2833 |003c: goto 006f // +0033 │ │ +01edbe: 6e20 7600 5a00 |003d: invoke-virtual {v10, v5}, Landroid/os/Bundle;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@0076 │ │ +01edc4: 0c08 |0040: move-result-object v8 │ │ +01edc6: 7020 8403 8700 |0041: invoke-direct {v7, v8}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.readDNSServerConfigFrom:(Ljava/lang/String;)Ljava/util/List; // method@0384 │ │ +01edcc: 0c02 |0044: move-result-object v2 │ │ +01edce: 282a |0045: goto 006f // +002a │ │ +01edd0: 7010 7b03 0700 |0046: invoke-direct {v7}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.getConfig:()Ldnsfilter/ConfigUtil; // method@037b │ │ +01edd6: 0c08 |0049: move-result-object v8 │ │ +01edd8: 3808 2500 |004a: if-eqz v8, 006f // +0025 │ │ +01eddc: 6e10 2a01 0800 |004c: invoke-virtual {v8}, Ldnsfilter/ConfigUtil;.getProperties:()Ljava/util/Properties; // method@012a │ │ +01ede2: 0c02 |004f: move-result-object v2 │ │ +01ede4: 1a06 0000 |0050: const-string v6, "" // string@0000 │ │ +01ede8: 6e30 3606 5206 |0052: invoke-virtual {v2, v5, v6}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +01edee: 0c02 |0055: move-result-object v2 │ │ +01edf0: 7110 8903 0200 |0056: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigUtils;.formatSerializedProperties:(Ljava/lang/String;)Ljava/lang/String; // method@0389 │ │ +01edf6: 0c02 |0059: move-result-object v2 │ │ +01edf8: 7020 8403 2700 |005a: invoke-direct {v7, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.readDNSServerConfigFrom:(Ljava/lang/String;)Ljava/util/List; // method@0384 │ │ +01edfe: 0c02 |005d: move-result-object v2 │ │ +01ee00: 6e10 2a01 0800 |005e: invoke-virtual {v8}, Ldnsfilter/ConfigUtil;.getProperties:()Ljava/util/Properties; // method@012a │ │ +01ee06: 0c08 |0061: move-result-object v8 │ │ +01ee08: 1a05 2f0b |0062: const-string v5, "true" // string@0b2f │ │ +01ee0c: 6e30 3606 4805 |0064: invoke-virtual {v8, v4, v5}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +01ee12: 0c08 |0067: move-result-object v8 │ │ +01ee14: 7110 2705 0800 |0068: invoke-static {v8}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +01ee1a: 0a08 |006b: move-result v8 │ │ +01ee1c: b738 |006c: xor-int/2addr v8, v3 │ │ +01ee1e: 5c78 6d02 |006d: iput-boolean v8, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026d │ │ +01ee22: 2208 d200 |006f: new-instance v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // type@00d2 │ │ +01ee26: 7040 ac03 9812 |0071: invoke-direct {v8, v9, v2, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.:(Landroid/content/Context;Ljava/util/List;Ljava/util/concurrent/ExecutorService;)V // method@03ac │ │ +01ee2c: 5b78 6e02 |0074: iput-object v8, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026e │ │ +01ee30: 380a 0e00 |0076: if-eqz v10, 0084 // +000e │ │ +01ee34: 1a08 b60a |0078: const-string v8, "showCommentedLines" // string@0ab6 │ │ +01ee38: 6e20 7400 8a00 |007a: invoke-virtual {v10, v8}, Landroid/os/Bundle;.getBoolean:(Ljava/lang/String;)Z // method@0074 │ │ +01ee3e: 0a08 |007d: move-result v8 │ │ +01ee40: 3808 0900 |007e: if-eqz v8, 0087 // +0009 │ │ +01ee44: 6e20 8103 3700 |0080: invoke-virtual {v7, v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.onChangedShowCommentedLinesCheckbox:(Z)V // method@0381 │ │ +01ee4a: 2804 |0083: goto 0087 // +0004 │ │ +01ee4c: 6e20 8103 0700 |0084: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.onChangedShowCommentedLinesCheckbox:(Z)V // method@0381 │ │ +01ee52: 0e00 |0087: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=61 │ │ 0x0003 line=44 │ │ 0x0009 line=45 │ │ 0x0011 line=48 │ │ 0x0013 line=49 │ │ @@ -49160,37 +49160,37 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 44 16-bit code units │ │ -01eb48: |[01eb48] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.DNSServerEntriesToRawEntries:()Ljava/lang/String; │ │ -01eb58: 2200 2801 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ -01eb5c: 7010 8305 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -01eb62: 1201 |0005: const/4 v1, #int 0 // #0 │ │ -01eb64: 5432 6e02 |0006: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026e │ │ -01eb68: 6e10 c103 0200 |0008: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getObjectsCount:()I // method@03c1 │ │ -01eb6e: 0a02 |000b: move-result v2 │ │ -01eb70: d802 02ff |000c: add-int/lit8 v2, v2, #int -1 // #ff │ │ -01eb74: 3621 1900 |000e: if-gt v1, v2, 0027 // +0019 │ │ -01eb78: 5432 6e02 |0010: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026e │ │ -01eb7c: 6e20 be03 1200 |0012: invoke-virtual {v2, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03be │ │ -01eb82: 0c02 |0015: move-result-object v2 │ │ -01eb84: 1f02 e100 |0016: check-cast v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // type@00e1 │ │ -01eb88: 6e10 5405 0200 |0018: invoke-virtual {v2}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ -01eb8e: 0c02 |001b: move-result-object v2 │ │ -01eb90: 6e20 8905 2000 |001c: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01eb96: 6202 6802 |001f: sget-object v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0268 │ │ -01eb9a: 6e20 8905 2000 |0021: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01eba0: d801 0101 |0024: add-int/lit8 v1, v1, #int 1 // #01 │ │ -01eba4: 28e0 |0026: goto 0006 // -0020 │ │ -01eba6: 6e10 8b05 0000 |0027: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01ebac: 0c00 |002a: move-result-object v0 │ │ -01ebae: 1100 |002b: return-object v0 │ │ +01eb44: |[01eb44] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.DNSServerEntriesToRawEntries:()Ljava/lang/String; │ │ +01eb54: 2200 2801 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ +01eb58: 7010 8305 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +01eb5e: 1201 |0005: const/4 v1, #int 0 // #0 │ │ +01eb60: 5432 6e02 |0006: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026e │ │ +01eb64: 6e10 c103 0200 |0008: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getObjectsCount:()I // method@03c1 │ │ +01eb6a: 0a02 |000b: move-result v2 │ │ +01eb6c: d802 02ff |000c: add-int/lit8 v2, v2, #int -1 // #ff │ │ +01eb70: 3621 1900 |000e: if-gt v1, v2, 0027 // +0019 │ │ +01eb74: 5432 6e02 |0010: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026e │ │ +01eb78: 6e20 be03 1200 |0012: invoke-virtual {v2, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03be │ │ +01eb7e: 0c02 |0015: move-result-object v2 │ │ +01eb80: 1f02 e100 |0016: check-cast v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // type@00e1 │ │ +01eb84: 6e10 5405 0200 |0018: invoke-virtual {v2}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ +01eb8a: 0c02 |001b: move-result-object v2 │ │ +01eb8c: 6e20 8905 2000 |001c: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01eb92: 6202 6802 |001f: sget-object v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0268 │ │ +01eb96: 6e20 8905 2000 |0021: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01eb9c: d801 0101 |0024: add-int/lit8 v1, v1, #int 1 // #01 │ │ +01eba0: 28e0 |0026: goto 0006 // -0020 │ │ +01eba2: 6e10 8b05 0000 |0027: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01eba8: 0c00 |002a: move-result-object v0 │ │ +01ebaa: 1100 |002b: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=224 │ │ 0x0006 line=225 │ │ 0x0010 line=226 │ │ 0x001f line=227 │ │ 0x0027 line=230 │ │ @@ -49202,24 +49202,24 @@ │ │ type : '()Ldnsfilter/ConfigUtil;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 16 16-bit code units │ │ -01eaf0: |[01eaf0] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.getConfig:()Ldnsfilter/ConfigUtil; │ │ -01eb00: 5420 6502 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@0265 │ │ -01eb04: 6e10 3a01 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@013a │ │ -01eb0a: 0c00 |0005: move-result-object v0 │ │ -01eb0c: 1100 |0006: return-object v0 │ │ -01eb0e: 5420 7102 |0007: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@0271 │ │ -01eb12: 1a01 2401 |0009: const-string v1, "Critical error - can't load config. Try to restart application." // string@0124 │ │ -01eb16: 7220 9003 1000 |000b: invoke-interface {v0, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToastAndCloseScreen:(Ljava/lang/String;)V // method@0390 │ │ -01eb1c: 1200 |000e: const/4 v0, #int 0 // #0 │ │ -01eb1e: 1100 |000f: return-object v0 │ │ +01eaec: |[01eaec] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.getConfig:()Ldnsfilter/ConfigUtil; │ │ +01eafc: 5420 6502 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@0265 │ │ +01eb00: 6e10 3a01 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@013a │ │ +01eb06: 0c00 |0005: move-result-object v0 │ │ +01eb08: 1100 |0006: return-object v0 │ │ +01eb0a: 5420 7102 |0007: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@0271 │ │ +01eb0e: 1a01 2401 |0009: const-string v1, "Critical error - can't load config. Try to restart application." // string@0124 │ │ +01eb12: 7220 9003 1000 |000b: invoke-interface {v0, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToastAndCloseScreen:(Ljava/lang/String;)V // method@0390 │ │ +01eb18: 1200 |000e: const/4 v0, #int 0 // #0 │ │ +01eb1a: 1100 |000f: return-object v0 │ │ catches : 1 │ │ 0x0000 - 0x0006 │ │ Ljava/lang/Exception; -> 0x0007 │ │ positions : │ │ 0x0000 line=109 │ │ 0x0007 line=111 │ │ locals : │ │ @@ -49230,54 +49230,54 @@ │ │ type : '(ZLjava/lang/String;)Ljava/lang/String;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 76 16-bit code units │ │ -01ebb0: |[01ebb0] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.getDNSServerEntriesAsConfig:(ZLjava/lang/String;)Ljava/lang/String; │ │ -01ebc0: 3804 0300 |0000: if-eqz v4, 0003 // +0003 │ │ -01ebc4: 2805 |0002: goto 0007 // +0005 │ │ -01ebc6: 7010 7903 0300 |0003: invoke-direct {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.DNSServerEntriesToRawEntries:()Ljava/lang/String; // method@0379 │ │ -01ebcc: 0c05 |0006: move-result-object v5 │ │ -01ebce: 2204 6201 |0007: new-instance v4, Ljava/util/StringTokenizer; // type@0162 │ │ -01ebd2: 1a00 0200 |0009: const-string v0, " │ │ +01ebac: |[01ebac] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.getDNSServerEntriesAsConfig:(ZLjava/lang/String;)Ljava/lang/String; │ │ +01ebbc: 3804 0300 |0000: if-eqz v4, 0003 // +0003 │ │ +01ebc0: 2805 |0002: goto 0007 // +0005 │ │ +01ebc2: 7010 7903 0300 |0003: invoke-direct {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.DNSServerEntriesToRawEntries:()Ljava/lang/String; // method@0379 │ │ +01ebc8: 0c05 |0006: move-result-object v5 │ │ +01ebca: 2204 6201 |0007: new-instance v4, Ljava/util/StringTokenizer; // type@0162 │ │ +01ebce: 1a00 0200 |0009: const-string v0, " │ │ " // string@0002 │ │ -01ebd6: 7030 4306 5400 |000b: invoke-direct {v4, v5, v0}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0643 │ │ -01ebdc: 1a05 0000 |000e: const-string v5, "" // string@0000 │ │ -01ebe0: 0750 |0010: move-object v0, v5 │ │ -01ebe2: 6e10 4606 0400 |0011: invoke-virtual {v4}, Ljava/util/StringTokenizer;.hasMoreTokens:()Z // method@0646 │ │ -01ebe8: 0a01 |0014: move-result v1 │ │ -01ebea: 3801 2500 |0015: if-eqz v1, 003a // +0025 │ │ -01ebee: 6e10 4706 0400 |0017: invoke-virtual {v4}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0647 │ │ -01ebf4: 0c01 |001a: move-result-object v1 │ │ -01ebf6: 6e10 7c05 0100 |001b: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -01ebfc: 0c01 |001e: move-result-object v1 │ │ -01ebfe: 6e20 6705 5100 |001f: invoke-virtual {v1, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -01ec04: 0a02 |0022: move-result v2 │ │ -01ec06: 3902 eeff |0023: if-nez v2, 0011 // -0012 │ │ -01ec0a: 2202 2801 |0025: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -01ec0e: 7010 8305 0200 |0027: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -01ec14: 6e20 8905 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01ec1a: 6e20 8905 1200 |002d: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01ec20: 1a00 9100 |0030: const-string v0, "; " // string@0091 │ │ -01ec24: 6e20 8905 0200 |0032: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01ec2a: 6e10 8b05 0200 |0035: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01ec30: 0c00 |0038: move-result-object v0 │ │ -01ec32: 28d8 |0039: goto 0011 // -0028 │ │ -01ec34: 6e20 6705 5000 |003a: invoke-virtual {v0, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -01ec3a: 0a04 |003d: move-result v4 │ │ -01ec3c: 3904 0d00 |003e: if-nez v4, 004b // +000d │ │ -01ec40: 6e10 7005 0000 |0040: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0570 │ │ -01ec46: 0a04 |0043: move-result v4 │ │ -01ec48: d804 04fe |0044: add-int/lit8 v4, v4, #int -2 // #fe │ │ -01ec4c: 1205 |0046: const/4 v5, #int 0 // #0 │ │ -01ec4e: 6e30 7705 5004 |0047: invoke-virtual {v0, v5, v4}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@0577 │ │ -01ec54: 0c00 |004a: move-result-object v0 │ │ -01ec56: 1100 |004b: return-object v0 │ │ +01ebd2: 7030 4306 5400 |000b: invoke-direct {v4, v5, v0}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0643 │ │ +01ebd8: 1a05 0000 |000e: const-string v5, "" // string@0000 │ │ +01ebdc: 0750 |0010: move-object v0, v5 │ │ +01ebde: 6e10 4606 0400 |0011: invoke-virtual {v4}, Ljava/util/StringTokenizer;.hasMoreTokens:()Z // method@0646 │ │ +01ebe4: 0a01 |0014: move-result v1 │ │ +01ebe6: 3801 2500 |0015: if-eqz v1, 003a // +0025 │ │ +01ebea: 6e10 4706 0400 |0017: invoke-virtual {v4}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0647 │ │ +01ebf0: 0c01 |001a: move-result-object v1 │ │ +01ebf2: 6e10 7c05 0100 |001b: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01ebf8: 0c01 |001e: move-result-object v1 │ │ +01ebfa: 6e20 6705 5100 |001f: invoke-virtual {v1, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +01ec00: 0a02 |0022: move-result v2 │ │ +01ec02: 3902 eeff |0023: if-nez v2, 0011 // -0012 │ │ +01ec06: 2202 2801 |0025: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +01ec0a: 7010 8305 0200 |0027: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +01ec10: 6e20 8905 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01ec16: 6e20 8905 1200 |002d: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01ec1c: 1a00 9100 |0030: const-string v0, "; " // string@0091 │ │ +01ec20: 6e20 8905 0200 |0032: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01ec26: 6e10 8b05 0200 |0035: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01ec2c: 0c00 |0038: move-result-object v0 │ │ +01ec2e: 28d8 |0039: goto 0011 // -0028 │ │ +01ec30: 6e20 6705 5000 |003a: invoke-virtual {v0, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +01ec36: 0a04 |003d: move-result v4 │ │ +01ec38: 3904 0d00 |003e: if-nez v4, 004b // +000d │ │ +01ec3c: 6e10 7005 0000 |0040: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0570 │ │ +01ec42: 0a04 |0043: move-result v4 │ │ +01ec44: d804 04fe |0044: add-int/lit8 v4, v4, #int -2 // #fe │ │ +01ec48: 1205 |0046: const/4 v5, #int 0 // #0 │ │ +01ec4a: 6e30 7705 5004 |0047: invoke-virtual {v0, v5, v4}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@0577 │ │ +01ec50: 0c00 |004a: move-result-object v0 │ │ +01ec52: 1100 |004b: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0003 line=208 │ │ 0x0007 line=211 │ │ 0x0011 line=212 │ │ 0x0017 line=213 │ │ 0x001f line=214 │ │ @@ -49294,42 +49294,42 @@ │ │ type : '(Ljava/lang/String;Ljava/util/ArrayList;)Z' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 9 │ │ ins : 3 │ │ outs : 2 │ │ insns size : 49 16-bit code units │ │ -01ea6c: |[01ea6c] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.rawEntriesToDNSServerEntries:(Ljava/lang/String;Ljava/util/ArrayList;)Z │ │ -01ea7c: 2200 d300 |0000: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer; // type@00d3 │ │ -01ea80: 7010 cb03 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.:()V // method@03cb │ │ -01ea86: 6201 6802 |0005: sget-object v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0268 │ │ -01ea8a: 6e20 7305 1700 |0007: invoke-virtual {v7, v1}, Ljava/lang/String;.split:(Ljava/lang/String;)[Ljava/lang/String; // method@0573 │ │ -01ea90: 0c07 |000a: move-result-object v7 │ │ -01ea92: 1201 |000b: const/4 v1, #int 0 // #0 │ │ -01ea94: 2172 |000c: array-length v2, v7 │ │ -01ea96: 1203 |000d: const/4 v3, #int 0 // #0 │ │ -01ea98: 3523 1600 |000e: if-ge v3, v2, 0024 // +0016 │ │ -01ea9c: 4604 0703 |0010: aget-object v4, v7, v3 │ │ -01eaa0: 6e10 6d05 0400 |0012: invoke-virtual {v4}, Ljava/lang/String;.isEmpty:()Z // method@056d │ │ -01eaa6: 0a05 |0015: move-result v5 │ │ -01eaa8: 3905 0b00 |0016: if-nez v5, 0021 // +000b │ │ -01eaac: 6e20 cc03 4000 |0018: invoke-virtual {v0, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.deserialize:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // method@03cc │ │ -01eab2: 0c04 |001b: move-result-object v4 │ │ -01eab4: 3808 0500 |001c: if-eqz v8, 0021 // +0005 │ │ -01eab8: 6e20 f505 4800 |001e: invoke-virtual {v8, v4}, Ljava/util/ArrayList;.add:(Ljava/lang/Object;)Z // method@05f5 │ │ -01eabe: d803 0301 |0021: add-int/lit8 v3, v3, #int 1 // #01 │ │ -01eac2: 28eb |0023: goto 000e // -0015 │ │ -01eac4: 1217 |0024: const/4 v7, #int 1 // #1 │ │ -01eac6: 0f07 |0025: return v7 │ │ -01eac8: 0d07 |0026: move-exception v7 │ │ -01eaca: 5468 7102 |0027: iget-object v8, v6, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@0271 │ │ -01eace: 6e10 1104 0700 |0029: invoke-virtual {v7}, Ldnsfilter/android/dnsserverconfig/widget/NotDeserializableException;.getMessage:()Ljava/lang/String; // method@0411 │ │ -01ead4: 0c07 |002c: move-result-object v7 │ │ -01ead6: 7220 8e03 7800 |002d: invoke-interface {v8, v7}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showRawModeError:(Ljava/lang/String;)V // method@038e │ │ -01eadc: 0f01 |0030: return v1 │ │ +01ea68: |[01ea68] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.rawEntriesToDNSServerEntries:(Ljava/lang/String;Ljava/util/ArrayList;)Z │ │ +01ea78: 2200 d300 |0000: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer; // type@00d3 │ │ +01ea7c: 7010 cb03 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.:()V // method@03cb │ │ +01ea82: 6201 6802 |0005: sget-object v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0268 │ │ +01ea86: 6e20 7305 1700 |0007: invoke-virtual {v7, v1}, Ljava/lang/String;.split:(Ljava/lang/String;)[Ljava/lang/String; // method@0573 │ │ +01ea8c: 0c07 |000a: move-result-object v7 │ │ +01ea8e: 1201 |000b: const/4 v1, #int 0 // #0 │ │ +01ea90: 2172 |000c: array-length v2, v7 │ │ +01ea92: 1203 |000d: const/4 v3, #int 0 // #0 │ │ +01ea94: 3523 1600 |000e: if-ge v3, v2, 0024 // +0016 │ │ +01ea98: 4604 0703 |0010: aget-object v4, v7, v3 │ │ +01ea9c: 6e10 6d05 0400 |0012: invoke-virtual {v4}, Ljava/lang/String;.isEmpty:()Z // method@056d │ │ +01eaa2: 0a05 |0015: move-result v5 │ │ +01eaa4: 3905 0b00 |0016: if-nez v5, 0021 // +000b │ │ +01eaa8: 6e20 cc03 4000 |0018: invoke-virtual {v0, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.deserialize:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // method@03cc │ │ +01eaae: 0c04 |001b: move-result-object v4 │ │ +01eab0: 3808 0500 |001c: if-eqz v8, 0021 // +0005 │ │ +01eab4: 6e20 f505 4800 |001e: invoke-virtual {v8, v4}, Ljava/util/ArrayList;.add:(Ljava/lang/Object;)Z // method@05f5 │ │ +01eaba: d803 0301 |0021: add-int/lit8 v3, v3, #int 1 // #01 │ │ +01eabe: 28eb |0023: goto 000e // -0015 │ │ +01eac0: 1217 |0024: const/4 v7, #int 1 // #1 │ │ +01eac2: 0f07 |0025: return v7 │ │ +01eac4: 0d07 |0026: move-exception v7 │ │ +01eac6: 5468 7102 |0027: iget-object v8, v6, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@0271 │ │ +01eaca: 6e10 1104 0700 |0029: invoke-virtual {v7}, Ldnsfilter/android/dnsserverconfig/widget/NotDeserializableException;.getMessage:()Ljava/lang/String; // method@0411 │ │ +01ead0: 0c07 |002c: move-result-object v7 │ │ +01ead2: 7220 8e03 7800 |002d: invoke-interface {v8, v7}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showRawModeError:(Ljava/lang/String;)V // method@038e │ │ +01ead8: 0f01 |0030: return v1 │ │ catches : 1 │ │ 0x000c - 0x0021 │ │ Ldnsfilter/android/dnsserverconfig/widget/NotDeserializableException; -> 0x0026 │ │ positions : │ │ 0x0000 line=234 │ │ 0x0005 line=235 │ │ 0x000c line=237 │ │ @@ -49347,39 +49347,39 @@ │ │ type : '(Ljava/lang/String;)Ljava/util/List;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 46 16-bit code units │ │ -01ec58: |[01ec58] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.readDNSServerConfigFrom:(Ljava/lang/String;)Ljava/util/List; │ │ -01ec68: 2200 4c01 |0000: new-instance v0, Ljava/util/ArrayList; // type@014c │ │ -01ec6c: 7010 f405 0000 |0002: invoke-direct {v0}, Ljava/util/ArrayList;.:()V // method@05f4 │ │ -01ec72: 7010 7b03 0500 |0005: invoke-direct {v5}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.getConfig:()Ldnsfilter/ConfigUtil; // method@037b │ │ -01ec78: 0c01 |0008: move-result-object v1 │ │ -01ec7a: 3801 2400 |0009: if-eqz v1, 002d // +0024 │ │ -01ec7e: 6201 6802 |000b: sget-object v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0268 │ │ -01ec82: 6e20 7305 1600 |000d: invoke-virtual {v6, v1}, Ljava/lang/String;.split:(Ljava/lang/String;)[Ljava/lang/String; // method@0573 │ │ -01ec88: 0c06 |0010: move-result-object v6 │ │ -01ec8a: 2161 |0011: array-length v1, v6 │ │ -01ec8c: 1202 |0012: const/4 v2, #int 0 // #0 │ │ -01ec8e: 3512 1a00 |0013: if-ge v2, v1, 002d // +001a │ │ -01ec92: 4603 0602 |0015: aget-object v3, v6, v2 │ │ -01ec96: 6e10 6d05 0300 |0017: invoke-virtual {v3}, Ljava/lang/String;.isEmpty:()Z // method@056d │ │ -01ec9c: 0a04 |001a: move-result v4 │ │ -01ec9e: 3904 0f00 |001b: if-nez v4, 002a // +000f │ │ -01eca2: 5454 6f02 |001d: iget-object v4, v5, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.serializer:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer; // field@026f │ │ -01eca6: 6e10 7c05 0300 |001f: invoke-virtual {v3}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -01ecac: 0c03 |0022: move-result-object v3 │ │ -01ecae: 6e20 ce03 3400 |0023: invoke-virtual {v4, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.deserializeSafe:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // method@03ce │ │ -01ecb4: 0c03 |0026: move-result-object v3 │ │ -01ecb6: 7220 2c06 3000 |0027: invoke-interface {v0, v3}, Ljava/util/List;.add:(Ljava/lang/Object;)Z // method@062c │ │ -01ecbc: d802 0201 |002a: add-int/lit8 v2, v2, #int 1 // #01 │ │ -01ecc0: 28e7 |002c: goto 0013 // -0019 │ │ -01ecc2: 1100 |002d: return-object v0 │ │ +01ec54: |[01ec54] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.readDNSServerConfigFrom:(Ljava/lang/String;)Ljava/util/List; │ │ +01ec64: 2200 4c01 |0000: new-instance v0, Ljava/util/ArrayList; // type@014c │ │ +01ec68: 7010 f405 0000 |0002: invoke-direct {v0}, Ljava/util/ArrayList;.:()V // method@05f4 │ │ +01ec6e: 7010 7b03 0500 |0005: invoke-direct {v5}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.getConfig:()Ldnsfilter/ConfigUtil; // method@037b │ │ +01ec74: 0c01 |0008: move-result-object v1 │ │ +01ec76: 3801 2400 |0009: if-eqz v1, 002d // +0024 │ │ +01ec7a: 6201 6802 |000b: sget-object v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0268 │ │ +01ec7e: 6e20 7305 1600 |000d: invoke-virtual {v6, v1}, Ljava/lang/String;.split:(Ljava/lang/String;)[Ljava/lang/String; // method@0573 │ │ +01ec84: 0c06 |0010: move-result-object v6 │ │ +01ec86: 2161 |0011: array-length v1, v6 │ │ +01ec88: 1202 |0012: const/4 v2, #int 0 // #0 │ │ +01ec8a: 3512 1a00 |0013: if-ge v2, v1, 002d // +001a │ │ +01ec8e: 4603 0602 |0015: aget-object v3, v6, v2 │ │ +01ec92: 6e10 6d05 0300 |0017: invoke-virtual {v3}, Ljava/lang/String;.isEmpty:()Z // method@056d │ │ +01ec98: 0a04 |001a: move-result v4 │ │ +01ec9a: 3904 0f00 |001b: if-nez v4, 002a // +000f │ │ +01ec9e: 5454 6f02 |001d: iget-object v4, v5, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.serializer:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer; // field@026f │ │ +01eca2: 6e10 7c05 0300 |001f: invoke-virtual {v3}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +01eca8: 0c03 |0022: move-result-object v3 │ │ +01ecaa: 6e20 ce03 3400 |0023: invoke-virtual {v4, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.deserializeSafe:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // method@03ce │ │ +01ecb0: 0c03 |0026: move-result-object v3 │ │ +01ecb2: 7220 2c06 3000 |0027: invoke-interface {v0, v3}, Ljava/util/List;.add:(Ljava/lang/Object;)Z // method@062c │ │ +01ecb8: d802 0201 |002a: add-int/lit8 v2, v2, #int 1 // #01 │ │ +01ecbc: 28e7 |002c: goto 0013 // -0019 │ │ +01ecbe: 1100 |002d: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=93 │ │ 0x0005 line=94 │ │ 0x000b line=97 │ │ 0x0011 line=98 │ │ 0x0017 line=99 │ │ @@ -49393,25 +49393,25 @@ │ │ type : '()Ljava/util/Properties;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 22 16-bit code units │ │ -01ecc4: |[01ecc4] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.readDefaultDNSConfig:()Ljava/util/Properties; │ │ -01ecd4: 7100 ae06 0000 |0000: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ -01ecda: 0c00 |0003: move-result-object v0 │ │ -01ecdc: 1a01 7606 |0004: const-string v1, "dnsfilter.conf" // string@0676 │ │ -01ece0: 7220 bb06 1000 |0006: invoke-interface {v0, v1}, Lutil/ExecutionEnvironmentInterface;.getAsset:(Ljava/lang/String;)Ljava/io/InputStream; // method@06bb │ │ -01ece6: 0c00 |0009: move-result-object v0 │ │ -01ece8: 2201 5e01 |000a: new-instance v1, Ljava/util/Properties; // type@015e │ │ -01ecec: 7010 3206 0100 |000c: invoke-direct {v1}, Ljava/util/Properties;.:()V // method@0632 │ │ -01ecf2: 6e20 3806 0100 |000f: invoke-virtual {v1, v0}, Ljava/util/Properties;.load:(Ljava/io/InputStream;)V // method@0638 │ │ -01ecf8: 6e10 0305 0000 |0012: invoke-virtual {v0}, Ljava/io/InputStream;.close:()V // method@0503 │ │ -01ecfe: 1101 |0015: return-object v1 │ │ +01ecc0: |[01ecc0] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.readDefaultDNSConfig:()Ljava/util/Properties; │ │ +01ecd0: 7100 ae06 0000 |0000: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ +01ecd6: 0c00 |0003: move-result-object v0 │ │ +01ecd8: 1a01 7606 |0004: const-string v1, "dnsfilter.conf" // string@0676 │ │ +01ecdc: 7220 bb06 1000 |0006: invoke-interface {v0, v1}, Lutil/ExecutionEnvironmentInterface;.getAsset:(Ljava/lang/String;)Ljava/io/InputStream; // method@06bb │ │ +01ece2: 0c00 |0009: move-result-object v0 │ │ +01ece4: 2201 5e01 |000a: new-instance v1, Ljava/util/Properties; // type@015e │ │ +01ece8: 7010 3206 0100 |000c: invoke-direct {v1}, Ljava/util/Properties;.:()V // method@0632 │ │ +01ecee: 6e20 3806 0100 |000f: invoke-virtual {v1, v0}, Ljava/util/Properties;.load:(Ljava/io/InputStream;)V // method@0638 │ │ +01ecf4: 6e10 0305 0000 |0012: invoke-virtual {v0}, Ljava/io/InputStream;.close:()V // method@0503 │ │ +01ecfa: 1101 |0015: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=196 │ │ 0x000a line=197 │ │ 0x000f line=198 │ │ 0x0012 line=199 │ │ locals : │ │ @@ -49423,40 +49423,40 @@ │ │ type : '(ZLjava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 51 16-bit code units │ │ -01ee58: |[01ee58] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.applyNewConfiguration:(ZLjava/lang/String;)V │ │ -01ee68: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -01ee6a: 3804 1000 |0001: if-eqz v4, 0011 // +0010 │ │ -01ee6e: 7030 8303 5300 |0003: invoke-direct {v3, v5, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.rawEntriesToDNSServerEntries:(Ljava/lang/String;Ljava/util/ArrayList;)Z // method@0383 │ │ -01ee74: 0a01 |0006: move-result v1 │ │ -01ee76: 3901 0a00 |0007: if-nez v1, 0011 // +000a │ │ -01ee7a: 5434 7102 |0009: iget-object v4, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@0271 │ │ -01ee7e: 1a05 1f04 |000b: const-string v5, "Raw text is not possibly to convert" // string@041f │ │ -01ee82: 7220 8f03 5400 |000d: invoke-interface {v4, v5}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToast:(Ljava/lang/String;)V // method@038f │ │ -01ee88: 0e00 |0010: return-void │ │ -01ee8a: 7010 7b03 0300 |0011: invoke-direct {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.getConfig:()Ldnsfilter/ConfigUtil; // method@037b │ │ -01ee90: 0c01 |0014: move-result-object v1 │ │ -01ee92: 3801 1800 |0015: if-eqz v1, 002d // +0018 │ │ -01ee96: 1a02 d406 |0017: const-string v2, "fallbackDNS" // string@06d4 │ │ -01ee9a: 7030 7c03 4305 |0019: invoke-direct {v3, v4, v5}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.getDNSServerEntriesAsConfig:(ZLjava/lang/String;)Ljava/lang/String; // method@037c │ │ -01eea0: 0c04 |001c: move-result-object v4 │ │ -01eea2: 6e30 2e01 2104 |001d: invoke-virtual {v1, v2, v4}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ -01eea8: 5534 6d02 |0020: iget-boolean v4, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026d │ │ -01eeac: df04 0401 |0022: xor-int/lit8 v4, v4, #int 1 // #01 │ │ -01eeb0: 7110 2805 0400 |0024: invoke-static {v4}, Ljava/lang/Boolean;.toString:(Z)Ljava/lang/String; // method@0528 │ │ -01eeb6: 0c04 |0027: move-result-object v4 │ │ -01eeb8: 1a05 5606 |0028: const-string v5, "detectDNS" // string@0656 │ │ -01eebc: 6e30 2e01 5104 |002a: invoke-virtual {v1, v5, v4}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ -01eec2: 5434 7102 |002d: iget-object v4, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@0271 │ │ -01eec6: 7220 9003 0400 |002f: invoke-interface {v4, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToastAndCloseScreen:(Ljava/lang/String;)V // method@0390 │ │ -01eecc: 0e00 |0032: return-void │ │ +01ee54: |[01ee54] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.applyNewConfiguration:(ZLjava/lang/String;)V │ │ +01ee64: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +01ee66: 3804 1000 |0001: if-eqz v4, 0011 // +0010 │ │ +01ee6a: 7030 8303 5300 |0003: invoke-direct {v3, v5, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.rawEntriesToDNSServerEntries:(Ljava/lang/String;Ljava/util/ArrayList;)Z // method@0383 │ │ +01ee70: 0a01 |0006: move-result v1 │ │ +01ee72: 3901 0a00 |0007: if-nez v1, 0011 // +000a │ │ +01ee76: 5434 7102 |0009: iget-object v4, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@0271 │ │ +01ee7a: 1a05 1f04 |000b: const-string v5, "Raw text is not possibly to convert" // string@041f │ │ +01ee7e: 7220 8f03 5400 |000d: invoke-interface {v4, v5}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToast:(Ljava/lang/String;)V // method@038f │ │ +01ee84: 0e00 |0010: return-void │ │ +01ee86: 7010 7b03 0300 |0011: invoke-direct {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.getConfig:()Ldnsfilter/ConfigUtil; // method@037b │ │ +01ee8c: 0c01 |0014: move-result-object v1 │ │ +01ee8e: 3801 1800 |0015: if-eqz v1, 002d // +0018 │ │ +01ee92: 1a02 d406 |0017: const-string v2, "fallbackDNS" // string@06d4 │ │ +01ee96: 7030 7c03 4305 |0019: invoke-direct {v3, v4, v5}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.getDNSServerEntriesAsConfig:(ZLjava/lang/String;)Ljava/lang/String; // method@037c │ │ +01ee9c: 0c04 |001c: move-result-object v4 │ │ +01ee9e: 6e30 2e01 2104 |001d: invoke-virtual {v1, v2, v4}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ +01eea4: 5534 6d02 |0020: iget-boolean v4, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026d │ │ +01eea8: df04 0401 |0022: xor-int/lit8 v4, v4, #int 1 // #01 │ │ +01eeac: 7110 2805 0400 |0024: invoke-static {v4}, Ljava/lang/Boolean;.toString:(Z)Ljava/lang/String; // method@0528 │ │ +01eeb2: 0c04 |0027: move-result-object v4 │ │ +01eeb4: 1a05 5606 |0028: const-string v5, "detectDNS" // string@0656 │ │ +01eeb8: 6e30 2e01 5104 |002a: invoke-virtual {v1, v5, v4}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@012e │ │ +01eebe: 5434 7102 |002d: iget-object v4, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@0271 │ │ +01eec2: 7220 9003 0400 |002f: invoke-interface {v4, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToastAndCloseScreen:(Ljava/lang/String;)V // method@0390 │ │ +01eec8: 0e00 |0032: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=165 │ │ 0x0009 line=166 │ │ 0x0011 line=169 │ │ 0x0017 line=171 │ │ 0x0020 line=172 │ │ @@ -49471,17 +49471,17 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -01ea54: |[01ea54] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.getIsManualDNSServers:()Z │ │ -01ea64: 5510 6d02 |0000: iget-boolean v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026d │ │ -01ea68: 0f00 |0002: return v0 │ │ +01ea50: |[01ea50] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.getIsManualDNSServers:()Z │ │ +01ea60: 5510 6d02 |0000: iget-boolean v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026d │ │ +01ea64: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=58 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl; │ │ │ │ #2 : (in Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;) │ │ @@ -49489,17 +49489,17 @@ │ │ type : '()Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -01eb30: |[01eb30] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.getListAdapter:()Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ -01eb40: 5410 6e02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026e │ │ -01eb44: 1100 |0002: return-object v0 │ │ +01eb2c: |[01eb2c] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.getListAdapter:()Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ +01eb3c: 5410 6e02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026e │ │ +01eb40: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=53 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl; │ │ │ │ #3 : (in Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;) │ │ @@ -49507,52 +49507,52 @@ │ │ type : '(ZLjava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 78 16-bit code units │ │ -01eed0: |[01eed0] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.onChangedEditModeValue:(ZLjava/lang/String;)V │ │ -01eee0: 3802 3300 |0000: if-eqz v2, 0033 // +0033 │ │ -01eee4: 2202 2801 |0002: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -01eee8: 7010 8305 0200 |0004: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -01eeee: 1203 |0007: const/4 v3, #int 0 // #0 │ │ -01eef0: 5410 6e02 |0008: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026e │ │ -01eef4: 6e10 c103 0000 |000a: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getObjectsCount:()I // method@03c1 │ │ -01eefa: 0a00 |000d: move-result v0 │ │ -01eefc: d800 00ff |000e: add-int/lit8 v0, v0, #int -1 // #ff │ │ -01ef00: 3603 1900 |0010: if-gt v3, v0, 0029 // +0019 │ │ -01ef04: 5410 6e02 |0012: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026e │ │ -01ef08: 6e20 be03 3000 |0014: invoke-virtual {v0, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03be │ │ -01ef0e: 0c00 |0017: move-result-object v0 │ │ -01ef10: 1f00 e100 |0018: check-cast v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // type@00e1 │ │ -01ef14: 6e10 5405 0000 |001a: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ -01ef1a: 0c00 |001d: move-result-object v0 │ │ -01ef1c: 6e20 8905 0200 |001e: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01ef22: 6200 6802 |0021: sget-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0268 │ │ -01ef26: 6e20 8905 0200 |0023: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -01ef2c: d803 0301 |0026: add-int/lit8 v3, v3, #int 1 // #01 │ │ -01ef30: 28e0 |0028: goto 0008 // -0020 │ │ -01ef32: 5413 7102 |0029: iget-object v3, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@0271 │ │ -01ef36: 6e10 8b05 0200 |002b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -01ef3c: 0c02 |002e: move-result-object v2 │ │ -01ef3e: 7220 8d03 2300 |002f: invoke-interface {v3, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showRawMode:(Ljava/lang/String;)V // method@038d │ │ -01ef44: 281b |0032: goto 004d // +001b │ │ -01ef46: 2202 4c01 |0033: new-instance v2, Ljava/util/ArrayList; // type@014c │ │ -01ef4a: 7010 f405 0200 |0035: invoke-direct {v2}, Ljava/util/ArrayList;.:()V // method@05f4 │ │ -01ef50: 7030 8303 3102 |0038: invoke-direct {v1, v3, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.rawEntriesToDNSServerEntries:(Ljava/lang/String;Ljava/util/ArrayList;)Z // method@0383 │ │ -01ef56: 0a03 |003b: move-result v3 │ │ -01ef58: 3803 1100 |003c: if-eqz v3, 004d // +0011 │ │ -01ef5c: 5413 6e02 |003e: iget-object v3, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026e │ │ -01ef60: 6e10 b703 0300 |0040: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.clear:()V // method@03b7 │ │ -01ef66: 5413 6e02 |0043: iget-object v3, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026e │ │ -01ef6a: 6e20 b503 2300 |0045: invoke-virtual {v3, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.addAll:(Ljava/util/Collection;)V // method@03b5 │ │ -01ef70: 5412 7102 |0048: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@0271 │ │ -01ef74: 7210 8b03 0200 |004a: invoke-interface {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.resetToDefaultMode:()V // method@038b │ │ -01ef7a: 0e00 |004d: return-void │ │ +01eecc: |[01eecc] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.onChangedEditModeValue:(ZLjava/lang/String;)V │ │ +01eedc: 3802 3300 |0000: if-eqz v2, 0033 // +0033 │ │ +01eee0: 2202 2801 |0002: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +01eee4: 7010 8305 0200 |0004: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +01eeea: 1203 |0007: const/4 v3, #int 0 // #0 │ │ +01eeec: 5410 6e02 |0008: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026e │ │ +01eef0: 6e10 c103 0000 |000a: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getObjectsCount:()I // method@03c1 │ │ +01eef6: 0a00 |000d: move-result v0 │ │ +01eef8: d800 00ff |000e: add-int/lit8 v0, v0, #int -1 // #ff │ │ +01eefc: 3603 1900 |0010: if-gt v3, v0, 0029 // +0019 │ │ +01ef00: 5410 6e02 |0012: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026e │ │ +01ef04: 6e20 be03 3000 |0014: invoke-virtual {v0, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03be │ │ +01ef0a: 0c00 |0017: move-result-object v0 │ │ +01ef0c: 1f00 e100 |0018: check-cast v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // type@00e1 │ │ +01ef10: 6e10 5405 0000 |001a: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0554 │ │ +01ef16: 0c00 |001d: move-result-object v0 │ │ +01ef18: 6e20 8905 0200 |001e: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01ef1e: 6200 6802 |0021: sget-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0268 │ │ +01ef22: 6e20 8905 0200 |0023: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +01ef28: d803 0301 |0026: add-int/lit8 v3, v3, #int 1 // #01 │ │ +01ef2c: 28e0 |0028: goto 0008 // -0020 │ │ +01ef2e: 5413 7102 |0029: iget-object v3, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@0271 │ │ +01ef32: 6e10 8b05 0200 |002b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +01ef38: 0c02 |002e: move-result-object v2 │ │ +01ef3a: 7220 8d03 2300 |002f: invoke-interface {v3, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showRawMode:(Ljava/lang/String;)V // method@038d │ │ +01ef40: 281b |0032: goto 004d // +001b │ │ +01ef42: 2202 4c01 |0033: new-instance v2, Ljava/util/ArrayList; // type@014c │ │ +01ef46: 7010 f405 0200 |0035: invoke-direct {v2}, Ljava/util/ArrayList;.:()V // method@05f4 │ │ +01ef4c: 7030 8303 3102 |0038: invoke-direct {v1, v3, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.rawEntriesToDNSServerEntries:(Ljava/lang/String;Ljava/util/ArrayList;)Z // method@0383 │ │ +01ef52: 0a03 |003b: move-result v3 │ │ +01ef54: 3803 1100 |003c: if-eqz v3, 004d // +0011 │ │ +01ef58: 5413 6e02 |003e: iget-object v3, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026e │ │ +01ef5c: 6e10 b703 0300 |0040: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.clear:()V // method@03b7 │ │ +01ef62: 5413 6e02 |0043: iget-object v3, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026e │ │ +01ef66: 6e20 b503 2300 |0045: invoke-virtual {v3, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.addAll:(Ljava/util/Collection;)V // method@03b5 │ │ +01ef6c: 5412 7102 |0048: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@0271 │ │ +01ef70: 7210 8b03 0200 |004a: invoke-interface {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.resetToDefaultMode:()V // method@038b │ │ +01ef76: 0e00 |004d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=138 │ │ 0x0008 line=139 │ │ 0x0012 line=140 │ │ 0x0029 line=142 │ │ 0x0033 line=144 │ │ @@ -49570,17 +49570,17 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -01ef7c: |[01ef7c] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.onChangedManualDNSServers:(Z)V │ │ -01ef8c: 5c01 6d02 |0000: iput-boolean v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026d │ │ -01ef90: 0e00 |0002: return-void │ │ +01ef78: |[01ef78] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.onChangedManualDNSServers:(Z)V │ │ +01ef88: 5c01 6d02 |0000: iput-boolean v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026d │ │ +01ef8c: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=155 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl; │ │ 0x0000 - 0x0003 reg=1 (null) Z │ │ │ │ @@ -49589,18 +49589,18 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -01ef94: |[01ef94] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.onChangedShowCommentedLinesCheckbox:(Z)V │ │ -01efa4: 5410 6e02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026e │ │ -01efa8: 6e20 b603 2000 |0002: invoke-virtual {v0, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.changeCommentedLinesVisibility:(Z)V // method@03b6 │ │ -01efae: 0e00 |0005: return-void │ │ +01ef90: |[01ef90] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.onChangedShowCommentedLinesCheckbox:(Z)V │ │ +01efa0: 5410 6e02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026e │ │ +01efa4: 6e20 b603 2000 |0002: invoke-virtual {v0, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.changeCommentedLinesVisibility:(Z)V // method@03b6 │ │ +01efaa: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=160 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl; │ │ 0x0000 - 0x0006 reg=2 (null) Z │ │ │ │ @@ -49609,18 +49609,18 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -01efb0: |[01efb0] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.onDestroy:()V │ │ -01efc0: 5410 7002 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.testTasksPool:Ljava/util/concurrent/ExecutorService; // field@0270 │ │ -01efc4: 7210 6606 0000 |0002: invoke-interface {v0}, Ljava/util/concurrent/ExecutorService;.shutdownNow:()Ljava/util/List; // method@0666 │ │ -01efca: 0e00 |0005: return-void │ │ +01efac: |[01efac] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.onDestroy:()V │ │ +01efbc: 5410 7002 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.testTasksPool:Ljava/util/concurrent/ExecutorService; // field@0270 │ │ +01efc0: 7210 6606 0000 |0002: invoke-interface {v0}, Ljava/util/concurrent/ExecutorService;.shutdownNow:()Ljava/util/List; // method@0666 │ │ +01efc6: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=192 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl; │ │ │ │ #7 : (in Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;) │ │ @@ -49628,51 +49628,51 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 75 16-bit code units │ │ -01efcc: |[01efcc] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.resetDNSConfigToDefault:()V │ │ -01efdc: 7010 8503 0300 |0000: invoke-direct {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.readDefaultDNSConfig:()Ljava/util/Properties; // method@0385 │ │ -01efe2: 0c00 |0003: move-result-object v0 │ │ -01efe4: 1a01 d406 |0004: const-string v1, "fallbackDNS" // string@06d4 │ │ -01efe8: 1a02 0000 |0006: const-string v2, "" // string@0000 │ │ -01efec: 6e30 3606 1002 |0008: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -01eff2: 0c01 |000b: move-result-object v1 │ │ -01eff4: 7110 8903 0100 |000c: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigUtils;.formatSerializedProperties:(Ljava/lang/String;)Ljava/lang/String; // method@0389 │ │ -01effa: 0c01 |000f: move-result-object v1 │ │ -01effc: 7020 8403 1300 |0010: invoke-direct {v3, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.readDNSServerConfigFrom:(Ljava/lang/String;)Ljava/util/List; // method@0384 │ │ -01f002: 0c01 |0013: move-result-object v1 │ │ -01f004: 5432 7102 |0014: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@0271 │ │ -01f008: 7210 8b03 0200 |0016: invoke-interface {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.resetToDefaultMode:()V // method@038b │ │ -01f00e: 5432 6e02 |0019: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026e │ │ -01f012: 6e10 b703 0200 |001b: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.clear:()V // method@03b7 │ │ -01f018: 5432 6e02 |001e: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026e │ │ -01f01c: 6e20 b503 1200 |0020: invoke-virtual {v2, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.addAll:(Ljava/util/Collection;)V // method@03b5 │ │ -01f022: 5431 7102 |0023: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@0271 │ │ -01f026: 1a02 3801 |0025: const-string v2, "DNS configuration is is reset to default" // string@0138 │ │ -01f02a: 7220 8f03 2100 |0027: invoke-interface {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToast:(Ljava/lang/String;)V // method@038f │ │ -01f030: 1a01 5606 |002a: const-string v1, "detectDNS" // string@0656 │ │ -01f034: 1a02 2f0b |002c: const-string v2, "true" // string@0b2f │ │ -01f038: 6e30 3606 1002 |002e: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -01f03e: 0c00 |0031: move-result-object v0 │ │ -01f040: 7110 2705 0000 |0032: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -01f046: 0a00 |0035: move-result v0 │ │ -01f048: df00 0001 |0036: xor-int/lit8 v0, v0, #int 1 // #01 │ │ -01f04c: 5c30 6d02 |0038: iput-boolean v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026d │ │ -01f050: 5431 7102 |003a: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@0271 │ │ -01f054: 7220 8c03 0100 |003c: invoke-interface {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.setManualDNSServers:(Z)V // method@038c │ │ -01f05a: 280b |003f: goto 004a // +000b │ │ -01f05c: 0d00 |0040: move-exception v0 │ │ -01f05e: 5431 7102 |0041: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@0271 │ │ -01f062: 6e10 3705 0000 |0043: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@0537 │ │ -01f068: 0c00 |0046: move-result-object v0 │ │ -01f06a: 7220 8f03 0100 |0047: invoke-interface {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToast:(Ljava/lang/String;)V // method@038f │ │ -01f070: 0e00 |004a: return-void │ │ +01efc8: |[01efc8] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.resetDNSConfigToDefault:()V │ │ +01efd8: 7010 8503 0300 |0000: invoke-direct {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.readDefaultDNSConfig:()Ljava/util/Properties; // method@0385 │ │ +01efde: 0c00 |0003: move-result-object v0 │ │ +01efe0: 1a01 d406 |0004: const-string v1, "fallbackDNS" // string@06d4 │ │ +01efe4: 1a02 0000 |0006: const-string v2, "" // string@0000 │ │ +01efe8: 6e30 3606 1002 |0008: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +01efee: 0c01 |000b: move-result-object v1 │ │ +01eff0: 7110 8903 0100 |000c: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigUtils;.formatSerializedProperties:(Ljava/lang/String;)Ljava/lang/String; // method@0389 │ │ +01eff6: 0c01 |000f: move-result-object v1 │ │ +01eff8: 7020 8403 1300 |0010: invoke-direct {v3, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.readDNSServerConfigFrom:(Ljava/lang/String;)Ljava/util/List; // method@0384 │ │ +01effe: 0c01 |0013: move-result-object v1 │ │ +01f000: 5432 7102 |0014: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@0271 │ │ +01f004: 7210 8b03 0200 |0016: invoke-interface {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.resetToDefaultMode:()V // method@038b │ │ +01f00a: 5432 6e02 |0019: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026e │ │ +01f00e: 6e10 b703 0200 |001b: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.clear:()V // method@03b7 │ │ +01f014: 5432 6e02 |001e: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026e │ │ +01f018: 6e20 b503 1200 |0020: invoke-virtual {v2, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.addAll:(Ljava/util/Collection;)V // method@03b5 │ │ +01f01e: 5431 7102 |0023: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@0271 │ │ +01f022: 1a02 3801 |0025: const-string v2, "DNS configuration is is reset to default" // string@0138 │ │ +01f026: 7220 8f03 2100 |0027: invoke-interface {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToast:(Ljava/lang/String;)V // method@038f │ │ +01f02c: 1a01 5606 |002a: const-string v1, "detectDNS" // string@0656 │ │ +01f030: 1a02 2f0b |002c: const-string v2, "true" // string@0b2f │ │ +01f034: 6e30 3606 1002 |002e: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +01f03a: 0c00 |0031: move-result-object v0 │ │ +01f03c: 7110 2705 0000 |0032: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +01f042: 0a00 |0035: move-result v0 │ │ +01f044: df00 0001 |0036: xor-int/lit8 v0, v0, #int 1 // #01 │ │ +01f048: 5c30 6d02 |0038: iput-boolean v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026d │ │ +01f04c: 5431 7102 |003a: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@0271 │ │ +01f050: 7220 8c03 0100 |003c: invoke-interface {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.setManualDNSServers:(Z)V // method@038c │ │ +01f056: 280b |003f: goto 004a // +000b │ │ +01f058: 0d00 |0040: move-exception v0 │ │ +01f05a: 5431 7102 |0041: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@0271 │ │ +01f05e: 6e10 3705 0000 |0043: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@0537 │ │ +01f064: 0c00 |0046: move-result-object v0 │ │ +01f066: 7220 8f03 0100 |0047: invoke-interface {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToast:(Ljava/lang/String;)V // method@038f │ │ +01f06c: 0e00 |004a: return-void │ │ catches : 1 │ │ 0x0000 - 0x003f │ │ Ljava/lang/Exception; -> 0x0040 │ │ positions : │ │ 0x0000 line=119 │ │ 0x0004 line=120 │ │ 0x0008 line=121 │ │ @@ -49692,33 +49692,33 @@ │ │ type : '(Landroid/os/Bundle;ZLjava/lang/String;Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 5 │ │ outs : 3 │ │ insns size : 38 16-bit code units │ │ -01f084: |[01f084] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.saveState:(Landroid/os/Bundle;ZLjava/lang/String;Z)V │ │ -01f094: 1a00 5606 |0000: const-string v0, "detectDNS" // string@0656 │ │ -01f098: 5521 6d02 |0002: iget-boolean v1, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026d │ │ -01f09c: 6e30 7700 0301 |0004: invoke-virtual {v3, v0, v1}, Landroid/os/Bundle;.putBoolean:(Ljava/lang/String;Z)V // method@0077 │ │ -01f0a2: 1a00 6f08 |0007: const-string v0, "isRadModeDNS" // string@086f │ │ -01f0a6: 1a01 d406 |0009: const-string v1, "fallbackDNS" // string@06d4 │ │ -01f0aa: 3804 0a00 |000b: if-eqz v4, 0015 // +000a │ │ -01f0ae: 6e30 7800 1305 |000d: invoke-virtual {v3, v1, v5}, Landroid/os/Bundle;.putString:(Ljava/lang/String;Ljava/lang/String;)V // method@0078 │ │ -01f0b4: 1214 |0010: const/4 v4, #int 1 // #1 │ │ -01f0b6: 6e30 7700 0304 |0011: invoke-virtual {v3, v0, v4}, Landroid/os/Bundle;.putBoolean:(Ljava/lang/String;Z)V // method@0077 │ │ -01f0bc: 280c |0014: goto 0020 // +000c │ │ -01f0be: 7010 7903 0200 |0015: invoke-direct {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.DNSServerEntriesToRawEntries:()Ljava/lang/String; // method@0379 │ │ -01f0c4: 0c04 |0018: move-result-object v4 │ │ -01f0c6: 6e30 7800 1304 |0019: invoke-virtual {v3, v1, v4}, Landroid/os/Bundle;.putString:(Ljava/lang/String;Ljava/lang/String;)V // method@0078 │ │ -01f0cc: 1204 |001c: const/4 v4, #int 0 // #0 │ │ -01f0ce: 6e30 7700 0304 |001d: invoke-virtual {v3, v0, v4}, Landroid/os/Bundle;.putBoolean:(Ljava/lang/String;Z)V // method@0077 │ │ -01f0d4: 1a04 b60a |0020: const-string v4, "showCommentedLines" // string@0ab6 │ │ -01f0d8: 6e30 7700 4306 |0022: invoke-virtual {v3, v4, v6}, Landroid/os/Bundle;.putBoolean:(Ljava/lang/String;Z)V // method@0077 │ │ -01f0de: 0e00 |0025: return-void │ │ +01f080: |[01f080] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.saveState:(Landroid/os/Bundle;ZLjava/lang/String;Z)V │ │ +01f090: 1a00 5606 |0000: const-string v0, "detectDNS" // string@0656 │ │ +01f094: 5521 6d02 |0002: iget-boolean v1, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026d │ │ +01f098: 6e30 7700 0301 |0004: invoke-virtual {v3, v0, v1}, Landroid/os/Bundle;.putBoolean:(Ljava/lang/String;Z)V // method@0077 │ │ +01f09e: 1a00 6f08 |0007: const-string v0, "isRadModeDNS" // string@086f │ │ +01f0a2: 1a01 d406 |0009: const-string v1, "fallbackDNS" // string@06d4 │ │ +01f0a6: 3804 0a00 |000b: if-eqz v4, 0015 // +000a │ │ +01f0aa: 6e30 7800 1305 |000d: invoke-virtual {v3, v1, v5}, Landroid/os/Bundle;.putString:(Ljava/lang/String;Ljava/lang/String;)V // method@0078 │ │ +01f0b0: 1214 |0010: const/4 v4, #int 1 // #1 │ │ +01f0b2: 6e30 7700 0304 |0011: invoke-virtual {v3, v0, v4}, Landroid/os/Bundle;.putBoolean:(Ljava/lang/String;Z)V // method@0077 │ │ +01f0b8: 280c |0014: goto 0020 // +000c │ │ +01f0ba: 7010 7903 0200 |0015: invoke-direct {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.DNSServerEntriesToRawEntries:()Ljava/lang/String; // method@0379 │ │ +01f0c0: 0c04 |0018: move-result-object v4 │ │ +01f0c2: 6e30 7800 1304 |0019: invoke-virtual {v3, v1, v4}, Landroid/os/Bundle;.putString:(Ljava/lang/String;Ljava/lang/String;)V // method@0078 │ │ +01f0c8: 1204 |001c: const/4 v4, #int 0 // #0 │ │ +01f0ca: 6e30 7700 0304 |001d: invoke-virtual {v3, v0, v4}, Landroid/os/Bundle;.putBoolean:(Ljava/lang/String;Z)V // method@0077 │ │ +01f0d0: 1a04 b60a |0020: const-string v4, "showCommentedLines" // string@0ab6 │ │ +01f0d4: 6e30 7700 4306 |0022: invoke-virtual {v3, v4, v6}, Landroid/os/Bundle;.putBoolean:(Ljava/lang/String;Z)V // method@0077 │ │ +01f0da: 0e00 |0025: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=179 │ │ 0x0007 line=180 │ │ 0x000d line=181 │ │ 0x0011 line=182 │ │ 0x0015 line=184 │ │ @@ -49801,57 +49801,57 @@ │ │ type : '(Landroid/content/Context;Ljava/util/List;Ljava/util/concurrent/ExecutorService;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 7 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 90 16-bit code units │ │ -01fd20: |[01fd20] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.:(Landroid/content/Context;Ljava/util/List;Ljava/util/concurrent/ExecutorService;)V │ │ -01fd30: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -01fd32: 7040 ac00 4350 |0001: invoke-direct {v3, v4, v0, v5}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;ILjava/util/List;)V // method@00ac │ │ -01fd38: 2205 3300 |0004: new-instance v5, Landroid/os/Handler; // type@0033 │ │ -01fd3c: 7010 7a00 0500 |0006: invoke-direct {v5}, Landroid/os/Handler;.:()V // method@007a │ │ -01fd42: 5b35 9802 |0009: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.handler:Landroid/os/Handler; // field@0298 │ │ -01fd46: 2205 dd00 |000b: new-instance v5, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // type@00dd │ │ -01fd4a: 7030 ee03 4503 |000d: invoke-direct {v5, v4, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.:(Landroid/content/Context;Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;)V // method@03ee │ │ -01fd50: 5b35 9702 |0010: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.dnsServerConfigEntryView:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@0297 │ │ -01fd54: 1405 2b00 087f |0012: const v5, #float 1.80776e+38 // #7f08002b │ │ -01fd5a: 6e20 3800 5400 |0015: invoke-virtual {v4, v5}, Landroid/content/Context;.getString:(I)Ljava/lang/String; // method@0038 │ │ -01fd60: 0c05 |0018: move-result-object v5 │ │ -01fd62: 5b35 9a02 |0019: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.serverIsUnreachableMessage:Ljava/lang/String; // field@029a │ │ -01fd66: 2205 0b00 |001b: new-instance v5, Landroid/app/Dialog; // type@000b │ │ -01fd6a: 7020 1300 4500 |001d: invoke-direct {v5, v4}, Landroid/app/Dialog;.:(Landroid/content/Context;)V // method@0013 │ │ -01fd70: 5b35 9b02 |0020: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultDialog:Landroid/app/Dialog; // field@029b │ │ -01fd74: 1210 |0022: const/4 v0, #int 1 // #1 │ │ -01fd76: 6e20 1a00 0500 |0023: invoke-virtual {v5, v0}, Landroid/app/Dialog;.requestWindowFeature:(I)Z // method@001a │ │ -01fd7c: 7110 9000 0400 |0026: invoke-static {v4}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@0090 │ │ -01fd82: 0c00 |0029: move-result-object v0 │ │ -01fd84: 1401 0300 067f |002a: const v1, #float 1.78117e+38 // #7f060003 │ │ -01fd8a: 1202 |002d: const/4 v2, #int 0 // #0 │ │ -01fd8c: 6e30 9100 1002 |002e: invoke-virtual {v0, v1, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@0091 │ │ -01fd92: 0c00 |0031: move-result-object v0 │ │ -01fd94: 6e20 1c00 0500 |0032: invoke-virtual {v5, v0}, Landroid/app/Dialog;.setContentView:(Landroid/view/View;)V // method@001c │ │ -01fd9a: 1405 5700 057f |0035: const v5, #float 1.76789e+38 // #7f050057 │ │ -01fda0: 6e20 9700 5000 |0038: invoke-virtual {v0, v5}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ -01fda6: 0c05 |003b: move-result-object v5 │ │ -01fda8: 1f05 6400 |003c: check-cast v5, Landroid/widget/ImageView; // type@0064 │ │ -01fdac: 5b35 9c02 |003e: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultImage:Landroid/widget/ImageView; // field@029c │ │ -01fdb0: 1405 5800 057f |0040: const v5, #float 1.76789e+38 // #7f050058 │ │ -01fdb6: 6e20 9700 5000 |0043: invoke-virtual {v0, v5}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ -01fdbc: 0c05 |0046: move-result-object v5 │ │ -01fdbe: 1f05 6e00 |0047: check-cast v5, Landroid/widget/TextView; // type@006e │ │ -01fdc2: 5b35 9d02 |0049: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultText:Landroid/widget/TextView; // field@029d │ │ -01fdc6: 1505 017f |004b: const/high16 v5, #int 2130771968 // #7f01 │ │ -01fdca: 7120 aa00 5400 |004d: invoke-static {v4, v5}, Landroid/view/animation/AnimationUtils;.loadAnimation:(Landroid/content/Context;I)Landroid/view/animation/Animation; // method@00aa │ │ -01fdd0: 0c04 |0050: move-result-object v4 │ │ -01fdd2: 5b34 9902 |0051: iput-object v4, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.progressBarAnim:Landroid/view/animation/Animation; // field@0299 │ │ -01fdd6: 12f5 |0053: const/4 v5, #int -1 // #ff │ │ -01fdd8: 6e20 a900 5400 |0054: invoke-virtual {v4, v5}, Landroid/view/animation/Animation;.setRepeatCount:(I)V // method@00a9 │ │ -01fdde: 5b36 9e02 |0057: iput-object v6, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testTasksPool:Ljava/util/concurrent/ExecutorService; // field@029e │ │ -01fde2: 0e00 |0059: return-void │ │ +01fd1c: |[01fd1c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.:(Landroid/content/Context;Ljava/util/List;Ljava/util/concurrent/ExecutorService;)V │ │ +01fd2c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +01fd2e: 7040 ac00 4350 |0001: invoke-direct {v3, v4, v0, v5}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;ILjava/util/List;)V // method@00ac │ │ +01fd34: 2205 3300 |0004: new-instance v5, Landroid/os/Handler; // type@0033 │ │ +01fd38: 7010 7a00 0500 |0006: invoke-direct {v5}, Landroid/os/Handler;.:()V // method@007a │ │ +01fd3e: 5b35 9802 |0009: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.handler:Landroid/os/Handler; // field@0298 │ │ +01fd42: 2205 dd00 |000b: new-instance v5, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // type@00dd │ │ +01fd46: 7030 ee03 4503 |000d: invoke-direct {v5, v4, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.:(Landroid/content/Context;Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;)V // method@03ee │ │ +01fd4c: 5b35 9702 |0010: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.dnsServerConfigEntryView:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@0297 │ │ +01fd50: 1405 2b00 087f |0012: const v5, #float 1.80776e+38 // #7f08002b │ │ +01fd56: 6e20 3800 5400 |0015: invoke-virtual {v4, v5}, Landroid/content/Context;.getString:(I)Ljava/lang/String; // method@0038 │ │ +01fd5c: 0c05 |0018: move-result-object v5 │ │ +01fd5e: 5b35 9a02 |0019: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.serverIsUnreachableMessage:Ljava/lang/String; // field@029a │ │ +01fd62: 2205 0b00 |001b: new-instance v5, Landroid/app/Dialog; // type@000b │ │ +01fd66: 7020 1300 4500 |001d: invoke-direct {v5, v4}, Landroid/app/Dialog;.:(Landroid/content/Context;)V // method@0013 │ │ +01fd6c: 5b35 9b02 |0020: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultDialog:Landroid/app/Dialog; // field@029b │ │ +01fd70: 1210 |0022: const/4 v0, #int 1 // #1 │ │ +01fd72: 6e20 1a00 0500 |0023: invoke-virtual {v5, v0}, Landroid/app/Dialog;.requestWindowFeature:(I)Z // method@001a │ │ +01fd78: 7110 9000 0400 |0026: invoke-static {v4}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@0090 │ │ +01fd7e: 0c00 |0029: move-result-object v0 │ │ +01fd80: 1401 0300 067f |002a: const v1, #float 1.78117e+38 // #7f060003 │ │ +01fd86: 1202 |002d: const/4 v2, #int 0 // #0 │ │ +01fd88: 6e30 9100 1002 |002e: invoke-virtual {v0, v1, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@0091 │ │ +01fd8e: 0c00 |0031: move-result-object v0 │ │ +01fd90: 6e20 1c00 0500 |0032: invoke-virtual {v5, v0}, Landroid/app/Dialog;.setContentView:(Landroid/view/View;)V // method@001c │ │ +01fd96: 1405 5700 057f |0035: const v5, #float 1.76789e+38 // #7f050057 │ │ +01fd9c: 6e20 9700 5000 |0038: invoke-virtual {v0, v5}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ +01fda2: 0c05 |003b: move-result-object v5 │ │ +01fda4: 1f05 6400 |003c: check-cast v5, Landroid/widget/ImageView; // type@0064 │ │ +01fda8: 5b35 9c02 |003e: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultImage:Landroid/widget/ImageView; // field@029c │ │ +01fdac: 1405 5800 057f |0040: const v5, #float 1.76789e+38 // #7f050058 │ │ +01fdb2: 6e20 9700 5000 |0043: invoke-virtual {v0, v5}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ +01fdb8: 0c05 |0046: move-result-object v5 │ │ +01fdba: 1f05 6e00 |0047: check-cast v5, Landroid/widget/TextView; // type@006e │ │ +01fdbe: 5b35 9d02 |0049: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultText:Landroid/widget/TextView; // field@029d │ │ +01fdc2: 1505 017f |004b: const/high16 v5, #int 2130771968 // #7f01 │ │ +01fdc6: 7120 aa00 5400 |004d: invoke-static {v4, v5}, Landroid/view/animation/AnimationUtils;.loadAnimation:(Landroid/content/Context;I)Landroid/view/animation/Animation; // method@00aa │ │ +01fdcc: 0c04 |0050: move-result-object v4 │ │ +01fdce: 5b34 9902 |0051: iput-object v4, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.progressBarAnim:Landroid/view/animation/Animation; // field@0299 │ │ +01fdd2: 12f5 |0053: const/4 v5, #int -1 // #ff │ │ +01fdd4: 6e20 a900 5400 |0054: invoke-virtual {v4, v5}, Landroid/view/animation/Animation;.setRepeatCount:(I)V // method@00a9 │ │ +01fdda: 5b36 9e02 |0057: iput-object v6, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testTasksPool:Ljava/util/concurrent/ExecutorService; // field@029e │ │ +01fdde: 0e00 |0059: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=51 │ │ 0x0004 line=46 │ │ 0x000b line=53 │ │ 0x0015 line=54 │ │ 0x001b line=56 │ │ @@ -49875,17 +49875,17 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -01fc60: |[01fc60] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; │ │ -01fc70: 5400 9702 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.dnsServerConfigEntryView:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@0297 │ │ -01fc74: 1100 |0002: return-object v0 │ │ +01fc5c: |[01fc5c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; │ │ +01fc6c: 5400 9702 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.dnsServerConfigEntryView:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@0297 │ │ +01fc70: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=34 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ │ │ #2 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;) │ │ @@ -49893,17 +49893,17 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/os/Handler;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -01f974: |[01f974] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/os/Handler; │ │ -01f984: 5400 9802 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.handler:Landroid/os/Handler; // field@0298 │ │ -01f988: 1100 |0002: return-object v0 │ │ +01f970: |[01f970] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/os/Handler; │ │ +01f980: 5400 9802 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.handler:Landroid/os/Handler; // field@0298 │ │ +01f984: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=34 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ │ │ #3 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;) │ │ @@ -49911,17 +49911,17 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ljava/lang/String;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -01fcf0: |[01fcf0] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ljava/lang/String; │ │ -01fd00: 5400 9a02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.serverIsUnreachableMessage:Ljava/lang/String; // field@029a │ │ -01fd04: 1100 |0002: return-object v0 │ │ +01fcec: |[01fcec] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ljava/lang/String; │ │ +01fcfc: 5400 9a02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.serverIsUnreachableMessage:Ljava/lang/String; // field@029a │ │ +01fd00: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=34 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ │ │ #4 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;) │ │ @@ -49929,17 +49929,17 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ljava/util/concurrent/ExecutorService;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -01fd08: |[01fd08] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ljava/util/concurrent/ExecutorService; │ │ -01fd18: 5400 9e02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testTasksPool:Ljava/util/concurrent/ExecutorService; // field@029e │ │ -01fd1c: 1100 |0002: return-object v0 │ │ +01fd04: |[01fd04] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ljava/util/concurrent/ExecutorService; │ │ +01fd14: 5400 9e02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testTasksPool:Ljava/util/concurrent/ExecutorService; // field@029e │ │ +01fd18: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=34 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ │ │ #5 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;) │ │ @@ -49947,17 +49947,17 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/ImageView;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -01fc30: |[01fc30] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/ImageView; │ │ -01fc40: 5400 9c02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultImage:Landroid/widget/ImageView; // field@029c │ │ -01fc44: 1100 |0002: return-object v0 │ │ +01fc2c: |[01fc2c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/ImageView; │ │ +01fc3c: 5400 9c02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultImage:Landroid/widget/ImageView; // field@029c │ │ +01fc40: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=34 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ │ │ #6 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;) │ │ @@ -49965,17 +49965,17 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/TextView;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -01fc48: |[01fc48] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$600:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/TextView; │ │ -01fc58: 5400 9d02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultText:Landroid/widget/TextView; // field@029d │ │ -01fc5c: 1100 |0002: return-object v0 │ │ +01fc44: |[01fc44] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$600:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/TextView; │ │ +01fc54: 5400 9d02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultText:Landroid/widget/TextView; // field@029d │ │ +01fc58: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=34 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ │ │ #7 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;) │ │ @@ -49983,17 +49983,17 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/app/Dialog;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -01f95c: |[01f95c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/app/Dialog; │ │ -01f96c: 5400 9b02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultDialog:Landroid/app/Dialog; // field@029b │ │ -01f970: 1100 |0002: return-object v0 │ │ +01f958: |[01f958] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/app/Dialog; │ │ +01f968: 5400 9b02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultDialog:Landroid/app/Dialog; // field@029b │ │ +01f96c: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=34 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ │ │ #8 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;) │ │ @@ -50001,26 +50001,26 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;Landroid/view/View;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 2 │ │ insns size : 23 16-bit code units │ │ -01fe44: |[01fe44] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.findCommentEntryViews:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;Landroid/view/View;)V │ │ -01fe54: 1400 1a00 057f |0000: const v0, #float 1.76788e+38 // #7f05001a │ │ -01fe5a: 6e20 9700 0300 |0003: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ -01fe60: 0c00 |0006: move-result-object v0 │ │ -01fe62: 1f00 6e00 |0007: check-cast v0, Landroid/widget/TextView; // type@006e │ │ -01fe66: 5b20 8702 |0009: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.commentView:Landroid/widget/TextView; // field@0287 │ │ -01fe6a: 1400 1b00 057f |000b: const v0, #float 1.76788e+38 // #7f05001b │ │ -01fe70: 6e20 9700 0300 |000e: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ -01fe76: 0c03 |0011: move-result-object v3 │ │ -01fe78: 1f03 5400 |0012: check-cast v3, Landroid/view/ViewGroup; // type@0054 │ │ -01fe7c: 5b23 8802 |0014: iput-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.containter:Landroid/view/ViewGroup; // field@0288 │ │ -01fe80: 0e00 |0016: return-void │ │ +01fe40: |[01fe40] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.findCommentEntryViews:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;Landroid/view/View;)V │ │ +01fe50: 1400 1a00 057f |0000: const v0, #float 1.76788e+38 // #7f05001a │ │ +01fe56: 6e20 9700 0300 |0003: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ +01fe5c: 0c00 |0006: move-result-object v0 │ │ +01fe5e: 1f00 6e00 |0007: check-cast v0, Landroid/widget/TextView; // type@006e │ │ +01fe62: 5b20 8702 |0009: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.commentView:Landroid/widget/TextView; // field@0287 │ │ +01fe66: 1400 1b00 057f |000b: const v0, #float 1.76788e+38 // #7f05001b │ │ +01fe6c: 6e20 9700 0300 |000e: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ +01fe72: 0c03 |0011: move-result-object v3 │ │ +01fe74: 1f03 5400 |0012: check-cast v3, Landroid/view/ViewGroup; // type@0054 │ │ +01fe78: 5b23 8802 |0014: iput-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.containter:Landroid/view/ViewGroup; // field@0288 │ │ +01fe7c: 0e00 |0016: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=266 │ │ 0x000e line=267 │ │ locals : │ │ 0x0000 - 0x0017 reg=1 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ 0x0000 - 0x0017 reg=2 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder; │ │ @@ -50031,68 +50031,68 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/view/View;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 2 │ │ insns size : 115 16-bit code units │ │ -01fe84: |[01fe84] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.findEntryViews:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/view/View;)V │ │ -01fe94: 1400 1b00 057f |0000: const v0, #float 1.76788e+38 // #7f05001b │ │ -01fe9a: 6e20 9700 0300 |0003: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ -01fea0: 0c00 |0006: move-result-object v0 │ │ -01fea2: 1f00 6800 |0007: check-cast v0, Landroid/widget/RelativeLayout; // type@0068 │ │ -01fea6: 5b20 9102 |0009: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.root:Landroid/widget/RelativeLayout; // field@0291 │ │ -01feaa: 1400 4c00 057f |000b: const v0, #float 1.76789e+38 // #7f05004c │ │ -01feb0: 6e20 9700 0300 |000e: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ -01feb6: 0c00 |0011: move-result-object v0 │ │ -01feb8: 1f00 6e00 |0012: check-cast v0, Landroid/widget/TextView; // type@006e │ │ -01febc: 5b20 9002 |0014: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.protocolView:Landroid/widget/TextView; // field@0290 │ │ -01fec0: 1400 3800 057f |0016: const v0, #float 1.76788e+38 // #7f050038 │ │ -01fec6: 6e20 9700 0300 |0019: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ -01fecc: 0c00 |001c: move-result-object v0 │ │ -01fece: 1f00 6e00 |001d: check-cast v0, Landroid/widget/TextView; // type@006e │ │ -01fed2: 5b20 8c02 |001f: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.ipView:Landroid/widget/TextView; // field@028c │ │ -01fed6: 1400 4b00 057f |0021: const v0, #float 1.76789e+38 // #7f05004b │ │ -01fedc: 6e20 9700 0300 |0024: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ -01fee2: 0c00 |0027: move-result-object v0 │ │ -01fee4: 1f00 6e00 |0028: check-cast v0, Landroid/widget/TextView; // type@006e │ │ -01fee8: 5b20 8e02 |002a: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.portView:Landroid/widget/TextView; // field@028e │ │ -01feec: 1400 2400 057f |002c: const v0, #float 1.76788e+38 // #7f050024 │ │ -01fef2: 6e20 9700 0300 |002f: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ -01fef8: 0c00 |0032: move-result-object v0 │ │ -01fefa: 1f00 6300 |0033: check-cast v0, Landroid/widget/ImageButton; // type@0063 │ │ -01fefe: 5b20 8b02 |0035: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.editEntryButton:Landroid/widget/ImageButton; // field@028b │ │ -01ff02: 1400 3900 057f |0037: const v0, #float 1.76788e+38 // #7f050039 │ │ -01ff08: 6e20 9700 0300 |003a: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ -01ff0e: 0c00 |003d: move-result-object v0 │ │ -01ff10: 1f00 5f00 |003e: check-cast v0, Landroid/widget/CheckBox; // type@005f │ │ -01ff14: 5b20 8d02 |0040: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.isActiveEntryCheckbox:Landroid/widget/CheckBox; // field@028d │ │ -01ff18: 1400 6100 057f |0042: const v0, #float 1.76789e+38 // #7f050061 │ │ -01ff1e: 6e20 9700 0300 |0045: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ -01ff24: 0c00 |0048: move-result-object v0 │ │ -01ff26: 1f00 6300 |0049: check-cast v0, Landroid/widget/ImageButton; // type@0063 │ │ -01ff2a: 5b20 9202 |004b: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@0292 │ │ -01ff2e: 1400 6400 057f |004d: const v0, #float 1.76789e+38 // #7f050064 │ │ -01ff34: 6e20 9700 0300 |0050: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ -01ff3a: 0c00 |0053: move-result-object v0 │ │ -01ff3c: 1f00 6300 |0054: check-cast v0, Landroid/widget/ImageButton; // type@0063 │ │ -01ff40: 5b20 9302 |0056: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0293 │ │ -01ff44: 1400 6200 057f |0058: const v0, #float 1.76789e+38 // #7f050062 │ │ -01ff4a: 6e20 9700 0300 |005b: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ -01ff50: 0c00 |005e: move-result-object v0 │ │ -01ff52: 1f00 6300 |005f: check-cast v0, Landroid/widget/ImageButton; // type@0063 │ │ -01ff56: 5b20 9402 |0061: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0294 │ │ -01ff5a: 1400 6300 057f |0063: const v0, #float 1.76789e+38 // #7f050063 │ │ -01ff60: 6e20 9700 0300 |0066: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ -01ff66: 0c03 |0069: move-result-object v3 │ │ -01ff68: 1f03 6300 |006a: check-cast v3, Landroid/widget/ImageButton; // type@0063 │ │ -01ff6c: 5b23 9502 |006c: iput-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0295 │ │ -01ff70: 5413 9902 |006e: iget-object v3, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.progressBarAnim:Landroid/view/animation/Animation; // field@0299 │ │ -01ff74: 5b23 8f02 |0070: iput-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.progressBarAnim:Landroid/view/animation/Animation; // field@028f │ │ -01ff78: 0e00 |0072: return-void │ │ +01fe80: |[01fe80] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.findEntryViews:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/view/View;)V │ │ +01fe90: 1400 1b00 057f |0000: const v0, #float 1.76788e+38 // #7f05001b │ │ +01fe96: 6e20 9700 0300 |0003: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ +01fe9c: 0c00 |0006: move-result-object v0 │ │ +01fe9e: 1f00 6800 |0007: check-cast v0, Landroid/widget/RelativeLayout; // type@0068 │ │ +01fea2: 5b20 9102 |0009: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.root:Landroid/widget/RelativeLayout; // field@0291 │ │ +01fea6: 1400 4c00 057f |000b: const v0, #float 1.76789e+38 // #7f05004c │ │ +01feac: 6e20 9700 0300 |000e: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ +01feb2: 0c00 |0011: move-result-object v0 │ │ +01feb4: 1f00 6e00 |0012: check-cast v0, Landroid/widget/TextView; // type@006e │ │ +01feb8: 5b20 9002 |0014: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.protocolView:Landroid/widget/TextView; // field@0290 │ │ +01febc: 1400 3800 057f |0016: const v0, #float 1.76788e+38 // #7f050038 │ │ +01fec2: 6e20 9700 0300 |0019: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ +01fec8: 0c00 |001c: move-result-object v0 │ │ +01feca: 1f00 6e00 |001d: check-cast v0, Landroid/widget/TextView; // type@006e │ │ +01fece: 5b20 8c02 |001f: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.ipView:Landroid/widget/TextView; // field@028c │ │ +01fed2: 1400 4b00 057f |0021: const v0, #float 1.76789e+38 // #7f05004b │ │ +01fed8: 6e20 9700 0300 |0024: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ +01fede: 0c00 |0027: move-result-object v0 │ │ +01fee0: 1f00 6e00 |0028: check-cast v0, Landroid/widget/TextView; // type@006e │ │ +01fee4: 5b20 8e02 |002a: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.portView:Landroid/widget/TextView; // field@028e │ │ +01fee8: 1400 2400 057f |002c: const v0, #float 1.76788e+38 // #7f050024 │ │ +01feee: 6e20 9700 0300 |002f: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ +01fef4: 0c00 |0032: move-result-object v0 │ │ +01fef6: 1f00 6300 |0033: check-cast v0, Landroid/widget/ImageButton; // type@0063 │ │ +01fefa: 5b20 8b02 |0035: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.editEntryButton:Landroid/widget/ImageButton; // field@028b │ │ +01fefe: 1400 3900 057f |0037: const v0, #float 1.76788e+38 // #7f050039 │ │ +01ff04: 6e20 9700 0300 |003a: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ +01ff0a: 0c00 |003d: move-result-object v0 │ │ +01ff0c: 1f00 5f00 |003e: check-cast v0, Landroid/widget/CheckBox; // type@005f │ │ +01ff10: 5b20 8d02 |0040: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.isActiveEntryCheckbox:Landroid/widget/CheckBox; // field@028d │ │ +01ff14: 1400 6100 057f |0042: const v0, #float 1.76789e+38 // #7f050061 │ │ +01ff1a: 6e20 9700 0300 |0045: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ +01ff20: 0c00 |0048: move-result-object v0 │ │ +01ff22: 1f00 6300 |0049: check-cast v0, Landroid/widget/ImageButton; // type@0063 │ │ +01ff26: 5b20 9202 |004b: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@0292 │ │ +01ff2a: 1400 6400 057f |004d: const v0, #float 1.76789e+38 // #7f050064 │ │ +01ff30: 6e20 9700 0300 |0050: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ +01ff36: 0c00 |0053: move-result-object v0 │ │ +01ff38: 1f00 6300 |0054: check-cast v0, Landroid/widget/ImageButton; // type@0063 │ │ +01ff3c: 5b20 9302 |0056: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0293 │ │ +01ff40: 1400 6200 057f |0058: const v0, #float 1.76789e+38 // #7f050062 │ │ +01ff46: 6e20 9700 0300 |005b: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ +01ff4c: 0c00 |005e: move-result-object v0 │ │ +01ff4e: 1f00 6300 |005f: check-cast v0, Landroid/widget/ImageButton; // type@0063 │ │ +01ff52: 5b20 9402 |0061: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0294 │ │ +01ff56: 1400 6300 057f |0063: const v0, #float 1.76789e+38 // #7f050063 │ │ +01ff5c: 6e20 9700 0300 |0066: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ +01ff62: 0c03 |0069: move-result-object v3 │ │ +01ff64: 1f03 6300 |006a: check-cast v3, Landroid/widget/ImageButton; // type@0063 │ │ +01ff68: 5b23 9502 |006c: iput-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0295 │ │ +01ff6c: 5413 9902 |006e: iget-object v3, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.progressBarAnim:Landroid/view/animation/Animation; // field@0299 │ │ +01ff70: 5b23 8f02 |0070: iput-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.progressBarAnim:Landroid/view/animation/Animation; // field@028f │ │ +01ff74: 0e00 |0072: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=282 │ │ 0x000e line=283 │ │ 0x0019 line=284 │ │ 0x0024 line=285 │ │ 0x002f line=286 │ │ @@ -50112,30 +50112,30 @@ │ │ type : '(Landroid/view/ViewGroup;)Landroid/view/View;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 32 16-bit code units │ │ -01f98c: |[01f98c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getAddButton:(Landroid/view/ViewGroup;)Landroid/view/View; │ │ -01f99c: 6e10 bc03 0300 |0000: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getContext:()Landroid/content/Context; // method@03bc │ │ -01f9a2: 0c00 |0003: move-result-object v0 │ │ -01f9a4: 7110 9000 0000 |0004: invoke-static {v0}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@0090 │ │ -01f9aa: 0c00 |0007: move-result-object v0 │ │ -01f9ac: 1401 0700 067f |0008: const v1, #float 1.78117e+38 // #7f060007 │ │ -01f9b2: 1202 |000b: const/4 v2, #int 0 // #0 │ │ -01f9b4: 6e40 9200 1024 |000c: invoke-virtual {v0, v1, v4, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;Z)Landroid/view/View; // method@0092 │ │ -01f9ba: 0c04 |000f: move-result-object v4 │ │ -01f9bc: 1400 0a00 057f |0010: const v0, #float 1.76788e+38 // #7f05000a │ │ -01f9c2: 6e20 9700 0400 |0013: invoke-virtual {v4, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ -01f9c8: 0c00 |0016: move-result-object v0 │ │ -01f9ca: 2201 c700 |0017: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1; // type@00c7 │ │ -01f9ce: 7020 9703 3100 |0019: invoke-direct {v1, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)V // method@0397 │ │ -01f9d4: 6e20 9d00 1000 |001c: invoke-virtual {v0, v1}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@009d │ │ -01f9da: 1104 |001f: return-object v4 │ │ +01f988: |[01f988] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getAddButton:(Landroid/view/ViewGroup;)Landroid/view/View; │ │ +01f998: 6e10 bc03 0300 |0000: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getContext:()Landroid/content/Context; // method@03bc │ │ +01f99e: 0c00 |0003: move-result-object v0 │ │ +01f9a0: 7110 9000 0000 |0004: invoke-static {v0}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@0090 │ │ +01f9a6: 0c00 |0007: move-result-object v0 │ │ +01f9a8: 1401 0700 067f |0008: const v1, #float 1.78117e+38 // #7f060007 │ │ +01f9ae: 1202 |000b: const/4 v2, #int 0 // #0 │ │ +01f9b0: 6e40 9200 1024 |000c: invoke-virtual {v0, v1, v4, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;Z)Landroid/view/View; // method@0092 │ │ +01f9b6: 0c04 |000f: move-result-object v4 │ │ +01f9b8: 1400 0a00 057f |0010: const v0, #float 1.76788e+38 // #7f05000a │ │ +01f9be: 6e20 9700 0400 |0013: invoke-virtual {v4, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@0097 │ │ +01f9c4: 0c00 |0016: move-result-object v0 │ │ +01f9c6: 2201 c700 |0017: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1; // type@00c7 │ │ +01f9ca: 7020 9703 3100 |0019: invoke-direct {v1, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)V // method@0397 │ │ +01f9d0: 6e20 9d00 1000 |001c: invoke-virtual {v0, v1}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@009d │ │ +01f9d6: 1104 |001f: return-object v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=124 │ │ 0x0013 line=125 │ │ locals : │ │ 0x0000 - 0x0020 reg=3 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ 0x0000 - 0x0020 reg=4 (null) Landroid/view/ViewGroup; │ │ @@ -50145,60 +50145,60 @@ │ │ type : '(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 8 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 92 16-bit code units │ │ -01f9dc: |[01f9dc] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getCommentView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; │ │ -01f9ec: 6e20 be03 5400 |0000: invoke-virtual {v4, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03be │ │ -01f9f2: 0c05 |0003: move-result-object v5 │ │ -01f9f4: 1f05 e200 |0004: check-cast v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e2 │ │ -01f9f8: 6e10 1504 0500 |0006: invoke-virtual {v5}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:()Z // method@0415 │ │ -01f9fe: 0a00 |0009: move-result v0 │ │ -01fa00: 3900 0c00 |000a: if-nez v0, 0016 // +000c │ │ -01fa04: 2205 5300 |000c: new-instance v5, Landroid/view/View; // type@0053 │ │ -01fa08: 6e10 bc03 0400 |000e: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getContext:()Landroid/content/Context; // method@03bc │ │ -01fa0e: 0c06 |0011: move-result-object v6 │ │ -01fa10: 7020 9500 6500 |0012: invoke-direct {v5, v6}, Landroid/view/View;.:(Landroid/content/Context;)V // method@0095 │ │ -01fa16: 1105 |0015: return-object v5 │ │ -01fa18: 1200 |0016: const/4 v0, #int 0 // #0 │ │ -01fa1a: 3806 1200 |0017: if-eqz v6, 0029 // +0012 │ │ -01fa1e: 6e10 9a00 0600 |0019: invoke-virtual {v6}, Landroid/view/View;.getTag:()Ljava/lang/Object; // method@009a │ │ -01fa24: 0c01 |001c: move-result-object v1 │ │ -01fa26: 2011 d000 |001d: instance-of v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder; // type@00d0 │ │ -01fa2a: 3901 0300 |001f: if-nez v1, 0022 // +0003 │ │ -01fa2e: 2808 |0021: goto 0029 // +0008 │ │ -01fa30: 6e10 9a00 0600 |0022: invoke-virtual {v6}, Landroid/view/View;.getTag:()Ljava/lang/Object; // method@009a │ │ -01fa36: 0c07 |0025: move-result-object v7 │ │ -01fa38: 1f07 d000 |0026: check-cast v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder; // type@00d0 │ │ -01fa3c: 281b |0028: goto 0043 // +001b │ │ -01fa3e: 6e10 bc03 0400 |0029: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getContext:()Landroid/content/Context; // method@03bc │ │ -01fa44: 0c06 |002c: move-result-object v6 │ │ -01fa46: 7110 9000 0600 |002d: invoke-static {v6}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@0090 │ │ -01fa4c: 0c06 |0030: move-result-object v6 │ │ -01fa4e: 1401 0500 067f |0031: const v1, #float 1.78117e+38 // #7f060005 │ │ -01fa54: 6e40 9200 1607 |0034: invoke-virtual {v6, v1, v7, v0}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;Z)Landroid/view/View; // method@0092 │ │ -01fa5a: 0c06 |0037: move-result-object v6 │ │ -01fa5c: 2207 d000 |0038: new-instance v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder; // type@00d0 │ │ -01fa60: 7010 a803 0700 |003a: invoke-direct {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.:()V // method@03a8 │ │ -01fa66: 7030 c903 7406 |003d: invoke-direct {v4, v7, v6}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.setupNewCommentHolder:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;Landroid/view/View;)V // method@03c9 │ │ -01fa6c: 6e20 9e00 7600 |0040: invoke-virtual {v6, v7}, Landroid/view/View;.setTag:(Ljava/lang/Object;)V // method@009e │ │ -01fa72: 5b75 8902 |0043: iput-object v5, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.dnsServerCommentEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // field@0289 │ │ -01fa76: 5471 8702 |0045: iget-object v1, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.commentView:Landroid/widget/TextView; // field@0287 │ │ -01fa7a: 6e10 1804 0500 |0047: invoke-virtual {v5}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.toString:()Ljava/lang/String; // method@0418 │ │ -01fa80: 0c05 |004a: move-result-object v5 │ │ -01fa82: 1a02 3000 |004b: const-string v2, "#" // string@0030 │ │ -01fa86: 1a03 0000 |004d: const-string v3, "" // string@0000 │ │ -01fa8a: 6e30 7105 2503 |004f: invoke-virtual {v5, v2, v3}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0571 │ │ -01fa90: 0c05 |0052: move-result-object v5 │ │ -01fa92: 6e20 f400 5100 |0053: invoke-virtual {v1, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01fa98: 5475 8802 |0056: iget-object v5, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.containter:Landroid/view/ViewGroup; // field@0288 │ │ -01fa9c: 6e20 a100 0500 |0058: invoke-virtual {v5, v0}, Landroid/view/ViewGroup;.setEnabled:(Z)V // method@00a1 │ │ -01faa2: 1106 |005b: return-object v6 │ │ +01f9d8: |[01f9d8] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getCommentView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; │ │ +01f9e8: 6e20 be03 5400 |0000: invoke-virtual {v4, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03be │ │ +01f9ee: 0c05 |0003: move-result-object v5 │ │ +01f9f0: 1f05 e200 |0004: check-cast v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e2 │ │ +01f9f4: 6e10 1504 0500 |0006: invoke-virtual {v5}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:()Z // method@0415 │ │ +01f9fa: 0a00 |0009: move-result v0 │ │ +01f9fc: 3900 0c00 |000a: if-nez v0, 0016 // +000c │ │ +01fa00: 2205 5300 |000c: new-instance v5, Landroid/view/View; // type@0053 │ │ +01fa04: 6e10 bc03 0400 |000e: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getContext:()Landroid/content/Context; // method@03bc │ │ +01fa0a: 0c06 |0011: move-result-object v6 │ │ +01fa0c: 7020 9500 6500 |0012: invoke-direct {v5, v6}, Landroid/view/View;.:(Landroid/content/Context;)V // method@0095 │ │ +01fa12: 1105 |0015: return-object v5 │ │ +01fa14: 1200 |0016: const/4 v0, #int 0 // #0 │ │ +01fa16: 3806 1200 |0017: if-eqz v6, 0029 // +0012 │ │ +01fa1a: 6e10 9a00 0600 |0019: invoke-virtual {v6}, Landroid/view/View;.getTag:()Ljava/lang/Object; // method@009a │ │ +01fa20: 0c01 |001c: move-result-object v1 │ │ +01fa22: 2011 d000 |001d: instance-of v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder; // type@00d0 │ │ +01fa26: 3901 0300 |001f: if-nez v1, 0022 // +0003 │ │ +01fa2a: 2808 |0021: goto 0029 // +0008 │ │ +01fa2c: 6e10 9a00 0600 |0022: invoke-virtual {v6}, Landroid/view/View;.getTag:()Ljava/lang/Object; // method@009a │ │ +01fa32: 0c07 |0025: move-result-object v7 │ │ +01fa34: 1f07 d000 |0026: check-cast v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder; // type@00d0 │ │ +01fa38: 281b |0028: goto 0043 // +001b │ │ +01fa3a: 6e10 bc03 0400 |0029: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getContext:()Landroid/content/Context; // method@03bc │ │ +01fa40: 0c06 |002c: move-result-object v6 │ │ +01fa42: 7110 9000 0600 |002d: invoke-static {v6}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@0090 │ │ +01fa48: 0c06 |0030: move-result-object v6 │ │ +01fa4a: 1401 0500 067f |0031: const v1, #float 1.78117e+38 // #7f060005 │ │ +01fa50: 6e40 9200 1607 |0034: invoke-virtual {v6, v1, v7, v0}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;Z)Landroid/view/View; // method@0092 │ │ +01fa56: 0c06 |0037: move-result-object v6 │ │ +01fa58: 2207 d000 |0038: new-instance v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder; // type@00d0 │ │ +01fa5c: 7010 a803 0700 |003a: invoke-direct {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.:()V // method@03a8 │ │ +01fa62: 7030 c903 7406 |003d: invoke-direct {v4, v7, v6}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.setupNewCommentHolder:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;Landroid/view/View;)V // method@03c9 │ │ +01fa68: 6e20 9e00 7600 |0040: invoke-virtual {v6, v7}, Landroid/view/View;.setTag:(Ljava/lang/Object;)V // method@009e │ │ +01fa6e: 5b75 8902 |0043: iput-object v5, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.dnsServerCommentEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // field@0289 │ │ +01fa72: 5471 8702 |0045: iget-object v1, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.commentView:Landroid/widget/TextView; // field@0287 │ │ +01fa76: 6e10 1804 0500 |0047: invoke-virtual {v5}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.toString:()Ljava/lang/String; // method@0418 │ │ +01fa7c: 0c05 |004a: move-result-object v5 │ │ +01fa7e: 1a02 3000 |004b: const-string v2, "#" // string@0030 │ │ +01fa82: 1a03 0000 |004d: const-string v3, "" // string@0000 │ │ +01fa86: 6e30 7105 2503 |004f: invoke-virtual {v5, v2, v3}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0571 │ │ +01fa8c: 0c05 |0052: move-result-object v5 │ │ +01fa8e: 6e20 f400 5100 |0053: invoke-virtual {v1, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01fa94: 5475 8802 |0056: iget-object v5, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.containter:Landroid/view/ViewGroup; // field@0288 │ │ +01fa98: 6e20 a100 0500 |0058: invoke-virtual {v5, v0}, Landroid/view/ViewGroup;.setEnabled:(Z)V // method@00a1 │ │ +01fa9e: 1106 |005b: return-object v6 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=137 │ │ 0x0006 line=141 │ │ 0x000c line=142 │ │ 0x0019 line=145 │ │ 0x0022 line=152 │ │ @@ -50220,85 +50220,85 @@ │ │ type : '(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 154 16-bit code units │ │ -01faa4: |[01faa4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getItemView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; │ │ -01fab4: 6e20 be03 3200 |0000: invoke-virtual {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03be │ │ -01faba: 0c03 |0003: move-result-object v3 │ │ -01fabc: 1f03 e300 |0004: check-cast v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e3 │ │ -01fac0: 3804 1200 |0006: if-eqz v4, 0018 // +0012 │ │ -01fac4: 6e10 9a00 0400 |0008: invoke-virtual {v4}, Landroid/view/View;.getTag:()Ljava/lang/Object; // method@009a │ │ -01faca: 0c00 |000b: move-result-object v0 │ │ -01facc: 2000 d100 |000c: instance-of v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // type@00d1 │ │ -01fad0: 3900 0300 |000e: if-nez v0, 0011 // +0003 │ │ -01fad4: 2808 |0010: goto 0018 // +0008 │ │ -01fad6: 6e10 9a00 0400 |0011: invoke-virtual {v4}, Landroid/view/View;.getTag:()Ljava/lang/Object; // method@009a │ │ -01fadc: 0c05 |0014: move-result-object v5 │ │ -01fade: 1f05 d100 |0015: check-cast v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // type@00d1 │ │ -01fae2: 281c |0017: goto 0033 // +001c │ │ -01fae4: 6e10 bc03 0200 |0018: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getContext:()Landroid/content/Context; // method@03bc │ │ -01faea: 0c04 |001b: move-result-object v4 │ │ -01faec: 7110 9000 0400 |001c: invoke-static {v4}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@0090 │ │ -01faf2: 0c04 |001f: move-result-object v4 │ │ -01faf4: 1400 0600 067f |0020: const v0, #float 1.78117e+38 // #7f060006 │ │ -01fafa: 1201 |0023: const/4 v1, #int 0 // #0 │ │ -01fafc: 6e40 9200 0415 |0024: invoke-virtual {v4, v0, v5, v1}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;Z)Landroid/view/View; // method@0092 │ │ -01fb02: 0c04 |0027: move-result-object v4 │ │ -01fb04: 2205 d100 |0028: new-instance v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // type@00d1 │ │ -01fb08: 7010 a903 0500 |002a: invoke-direct {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.:()V // method@03a9 │ │ -01fb0e: 7030 ca03 5204 |002d: invoke-direct {v2, v5, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.setupNewViewHolder:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/view/View;)V // method@03ca │ │ -01fb14: 6e20 9e00 5400 |0030: invoke-virtual {v4, v5}, Landroid/view/View;.setTag:(Ljava/lang/Object;)V // method@009e │ │ -01fb1a: 5b53 8a02 |0033: iput-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@028a │ │ -01fb1e: 5450 9002 |0035: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.protocolView:Landroid/widget/TextView; // field@0290 │ │ -01fb22: 6e10 2804 0300 |0037: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getProtocol:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0428 │ │ -01fb28: 0c01 |003a: move-result-object v1 │ │ -01fb2a: 6e10 0c04 0100 |003b: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.toString:()Ljava/lang/String; // method@040c │ │ -01fb30: 0c01 |003e: move-result-object v1 │ │ -01fb32: 6e20 f400 1000 |003f: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01fb38: 5450 8c02 |0042: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.ipView:Landroid/widget/TextView; // field@028c │ │ -01fb3c: 6e10 2404 0300 |0044: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIp:()Ljava/lang/String; // method@0424 │ │ -01fb42: 0c01 |0047: move-result-object v1 │ │ -01fb44: 6e20 f400 1000 |0048: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01fb4a: 5450 8e02 |004b: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.portView:Landroid/widget/TextView; // field@028e │ │ -01fb4e: 6e10 2704 0300 |004d: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getPort:()Ljava/lang/String; // method@0427 │ │ -01fb54: 0c01 |0050: move-result-object v1 │ │ -01fb56: 6e20 f400 1000 |0051: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ -01fb5c: 5450 8d02 |0054: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.isActiveEntryCheckbox:Landroid/widget/CheckBox; // field@028d │ │ -01fb60: 2201 c600 |0056: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0; // type@00c6 │ │ -01fb64: 7030 9503 3105 |0058: invoke-direct {v1, v3, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0;.:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V // method@0395 │ │ -01fb6a: 6e20 ba00 1000 |005b: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setOnCheckedChangeListener:(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V // method@00ba │ │ -01fb70: 5450 8d02 |005e: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.isActiveEntryCheckbox:Landroid/widget/CheckBox; // field@028d │ │ -01fb74: 6e10 2504 0300 |0060: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIsActive:()Ljava/lang/Boolean; // method@0425 │ │ -01fb7a: 0c01 |0063: move-result-object v1 │ │ -01fb7c: 6e10 2505 0100 |0064: invoke-virtual {v1}, Ljava/lang/Boolean;.booleanValue:()Z // method@0525 │ │ -01fb82: 0a01 |0067: move-result v1 │ │ -01fb84: 6e20 b800 1000 |0068: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ -01fb8a: 7110 aa03 0500 |006b: invoke-static {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V // method@03aa │ │ -01fb90: 5450 9202 |006e: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@0292 │ │ -01fb94: 2201 cb00 |0070: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // type@00cb │ │ -01fb98: 7030 9f03 2103 |0072: invoke-direct {v1, v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V // method@039f │ │ -01fb9e: 6e20 d500 1000 |0075: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d5 │ │ -01fba4: 5450 9402 |0078: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0294 │ │ -01fba8: 2201 cc00 |007a: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3; // type@00cc │ │ -01fbac: 7040 a103 2153 |007c: invoke-direct {v1, v2, v3, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V // method@03a1 │ │ -01fbb2: 6e20 d500 1000 |007f: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d5 │ │ -01fbb8: 5450 9502 |0082: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0295 │ │ -01fbbc: 2201 cd00 |0084: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4; // type@00cd │ │ -01fbc0: 7040 a303 2153 |0086: invoke-direct {v1, v2, v3, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V // method@03a3 │ │ -01fbc6: 6e20 d500 1000 |0089: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d5 │ │ -01fbcc: 5455 9102 |008c: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.root:Landroid/widget/RelativeLayout; // field@0291 │ │ -01fbd0: 6e10 2504 0300 |008e: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIsActive:()Ljava/lang/Boolean; // method@0425 │ │ -01fbd6: 0c03 |0091: move-result-object v3 │ │ -01fbd8: 6e10 2505 0300 |0092: invoke-virtual {v3}, Ljava/lang/Boolean;.booleanValue:()Z // method@0525 │ │ -01fbde: 0a03 |0095: move-result v3 │ │ -01fbe0: 6e20 de00 3500 |0096: invoke-virtual {v5, v3}, Landroid/widget/RelativeLayout;.setEnabled:(Z)V // method@00de │ │ -01fbe6: 1104 |0099: return-object v4 │ │ +01faa0: |[01faa0] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getItemView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; │ │ +01fab0: 6e20 be03 3200 |0000: invoke-virtual {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03be │ │ +01fab6: 0c03 |0003: move-result-object v3 │ │ +01fab8: 1f03 e300 |0004: check-cast v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e3 │ │ +01fabc: 3804 1200 |0006: if-eqz v4, 0018 // +0012 │ │ +01fac0: 6e10 9a00 0400 |0008: invoke-virtual {v4}, Landroid/view/View;.getTag:()Ljava/lang/Object; // method@009a │ │ +01fac6: 0c00 |000b: move-result-object v0 │ │ +01fac8: 2000 d100 |000c: instance-of v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // type@00d1 │ │ +01facc: 3900 0300 |000e: if-nez v0, 0011 // +0003 │ │ +01fad0: 2808 |0010: goto 0018 // +0008 │ │ +01fad2: 6e10 9a00 0400 |0011: invoke-virtual {v4}, Landroid/view/View;.getTag:()Ljava/lang/Object; // method@009a │ │ +01fad8: 0c05 |0014: move-result-object v5 │ │ +01fada: 1f05 d100 |0015: check-cast v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // type@00d1 │ │ +01fade: 281c |0017: goto 0033 // +001c │ │ +01fae0: 6e10 bc03 0200 |0018: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getContext:()Landroid/content/Context; // method@03bc │ │ +01fae6: 0c04 |001b: move-result-object v4 │ │ +01fae8: 7110 9000 0400 |001c: invoke-static {v4}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@0090 │ │ +01faee: 0c04 |001f: move-result-object v4 │ │ +01faf0: 1400 0600 067f |0020: const v0, #float 1.78117e+38 // #7f060006 │ │ +01faf6: 1201 |0023: const/4 v1, #int 0 // #0 │ │ +01faf8: 6e40 9200 0415 |0024: invoke-virtual {v4, v0, v5, v1}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;Z)Landroid/view/View; // method@0092 │ │ +01fafe: 0c04 |0027: move-result-object v4 │ │ +01fb00: 2205 d100 |0028: new-instance v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // type@00d1 │ │ +01fb04: 7010 a903 0500 |002a: invoke-direct {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.:()V // method@03a9 │ │ +01fb0a: 7030 ca03 5204 |002d: invoke-direct {v2, v5, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.setupNewViewHolder:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/view/View;)V // method@03ca │ │ +01fb10: 6e20 9e00 5400 |0030: invoke-virtual {v4, v5}, Landroid/view/View;.setTag:(Ljava/lang/Object;)V // method@009e │ │ +01fb16: 5b53 8a02 |0033: iput-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@028a │ │ +01fb1a: 5450 9002 |0035: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.protocolView:Landroid/widget/TextView; // field@0290 │ │ +01fb1e: 6e10 2804 0300 |0037: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getProtocol:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0428 │ │ +01fb24: 0c01 |003a: move-result-object v1 │ │ +01fb26: 6e10 0c04 0100 |003b: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.toString:()Ljava/lang/String; // method@040c │ │ +01fb2c: 0c01 |003e: move-result-object v1 │ │ +01fb2e: 6e20 f400 1000 |003f: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01fb34: 5450 8c02 |0042: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.ipView:Landroid/widget/TextView; // field@028c │ │ +01fb38: 6e10 2404 0300 |0044: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIp:()Ljava/lang/String; // method@0424 │ │ +01fb3e: 0c01 |0047: move-result-object v1 │ │ +01fb40: 6e20 f400 1000 |0048: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01fb46: 5450 8e02 |004b: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.portView:Landroid/widget/TextView; // field@028e │ │ +01fb4a: 6e10 2704 0300 |004d: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getPort:()Ljava/lang/String; // method@0427 │ │ +01fb50: 0c01 |0050: move-result-object v1 │ │ +01fb52: 6e20 f400 1000 |0051: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00f4 │ │ +01fb58: 5450 8d02 |0054: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.isActiveEntryCheckbox:Landroid/widget/CheckBox; // field@028d │ │ +01fb5c: 2201 c600 |0056: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0; // type@00c6 │ │ +01fb60: 7030 9503 3105 |0058: invoke-direct {v1, v3, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0;.:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V // method@0395 │ │ +01fb66: 6e20 ba00 1000 |005b: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setOnCheckedChangeListener:(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V // method@00ba │ │ +01fb6c: 5450 8d02 |005e: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.isActiveEntryCheckbox:Landroid/widget/CheckBox; // field@028d │ │ +01fb70: 6e10 2504 0300 |0060: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIsActive:()Ljava/lang/Boolean; // method@0425 │ │ +01fb76: 0c01 |0063: move-result-object v1 │ │ +01fb78: 6e10 2505 0100 |0064: invoke-virtual {v1}, Ljava/lang/Boolean;.booleanValue:()Z // method@0525 │ │ +01fb7e: 0a01 |0067: move-result v1 │ │ +01fb80: 6e20 b800 1000 |0068: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00b8 │ │ +01fb86: 7110 aa03 0500 |006b: invoke-static {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V // method@03aa │ │ +01fb8c: 5450 9202 |006e: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@0292 │ │ +01fb90: 2201 cb00 |0070: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // type@00cb │ │ +01fb94: 7030 9f03 2103 |0072: invoke-direct {v1, v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V // method@039f │ │ +01fb9a: 6e20 d500 1000 |0075: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d5 │ │ +01fba0: 5450 9402 |0078: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0294 │ │ +01fba4: 2201 cc00 |007a: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3; // type@00cc │ │ +01fba8: 7040 a103 2153 |007c: invoke-direct {v1, v2, v3, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V // method@03a1 │ │ +01fbae: 6e20 d500 1000 |007f: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d5 │ │ +01fbb4: 5450 9502 |0082: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0295 │ │ +01fbb8: 2201 cd00 |0084: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4; // type@00cd │ │ +01fbbc: 7040 a303 2153 |0086: invoke-direct {v1, v2, v3, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V // method@03a3 │ │ +01fbc2: 6e20 d500 1000 |0089: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d5 │ │ +01fbc8: 5455 9102 |008c: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.root:Landroid/widget/RelativeLayout; // field@0291 │ │ +01fbcc: 6e10 2504 0300 |008e: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIsActive:()Ljava/lang/Boolean; // method@0425 │ │ +01fbd2: 0c03 |0091: move-result-object v3 │ │ +01fbd4: 6e10 2505 0300 |0092: invoke-virtual {v3}, Ljava/lang/Boolean;.booleanValue:()Z // method@0525 │ │ +01fbda: 0a03 |0095: move-result v3 │ │ +01fbdc: 6e20 de00 3500 |0096: invoke-virtual {v5, v3}, Landroid/widget/RelativeLayout;.setEnabled:(Z)V // method@00de │ │ +01fbe2: 1104 |0099: return-object v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=163 │ │ 0x0008 line=167 │ │ 0x0011 line=175 │ │ 0x0018 line=168 │ │ 0x0028 line=170 │ │ @@ -50326,25 +50326,25 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/widget/CompoundButton;Z)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 2 │ │ insns size : 21 16-bit code units │ │ -01ff7c: |[01ff7c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.lambda$getItemView$0:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/widget/CompoundButton;Z)V │ │ -01ff8c: 7110 2905 0300 |0000: invoke-static {v3}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@0529 │ │ -01ff92: 0c02 |0003: move-result-object v2 │ │ -01ff94: 6e20 2e04 2000 |0004: invoke-virtual {v0, v2}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setIsActive:(Ljava/lang/Boolean;)V // method@042e │ │ -01ff9a: 5411 9102 |0007: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.root:Landroid/widget/RelativeLayout; // field@0291 │ │ -01ff9e: 6e10 2504 0000 |0009: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIsActive:()Ljava/lang/Boolean; // method@0425 │ │ -01ffa4: 0c00 |000c: move-result-object v0 │ │ -01ffa6: 6e10 2505 0000 |000d: invoke-virtual {v0}, Ljava/lang/Boolean;.booleanValue:()Z // method@0525 │ │ -01ffac: 0a00 |0010: move-result v0 │ │ -01ffae: 6e20 de00 0100 |0011: invoke-virtual {v1, v0}, Landroid/widget/RelativeLayout;.setEnabled:(Z)V // method@00de │ │ -01ffb4: 0e00 |0014: return-void │ │ +01ff78: |[01ff78] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.lambda$getItemView$0:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/widget/CompoundButton;Z)V │ │ +01ff88: 7110 2905 0300 |0000: invoke-static {v3}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@0529 │ │ +01ff8e: 0c02 |0003: move-result-object v2 │ │ +01ff90: 6e20 2e04 2000 |0004: invoke-virtual {v0, v2}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setIsActive:(Ljava/lang/Boolean;)V // method@042e │ │ +01ff96: 5411 9102 |0007: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.root:Landroid/widget/RelativeLayout; // field@0291 │ │ +01ff9a: 6e10 2504 0000 |0009: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIsActive:()Ljava/lang/Boolean; // method@0425 │ │ +01ffa0: 0c00 |000c: move-result-object v0 │ │ +01ffa2: 6e10 2505 0000 |000d: invoke-virtual {v0}, Ljava/lang/Boolean;.booleanValue:()Z // method@0525 │ │ +01ffa8: 0a00 |0010: move-result v0 │ │ +01ffaa: 6e20 de00 0100 |0011: invoke-virtual {v1, v0}, Landroid/widget/RelativeLayout;.setEnabled:(Z)V // method@00de │ │ +01ffb0: 0e00 |0014: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=185 │ │ 0x0007 line=186 │ │ locals : │ │ 0x0000 - 0x0015 reg=0 (null) Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ 0x0000 - 0x0015 reg=1 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; │ │ @@ -50356,17 +50356,17 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;Landroid/view/View;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 4 16-bit code units │ │ -020000: |[020000] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.setupNewCommentHolder:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;Landroid/view/View;)V │ │ -020010: 7030 b803 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.findCommentEntryViews:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;Landroid/view/View;)V // method@03b8 │ │ -020016: 0e00 |0003: return-void │ │ +01fffc: |[01fffc] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.setupNewCommentHolder:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;Landroid/view/View;)V │ │ +02000c: 7030 b803 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.findCommentEntryViews:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;Landroid/view/View;)V // method@03b8 │ │ +020012: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=262 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ 0x0000 - 0x0004 reg=1 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder; │ │ 0x0000 - 0x0004 reg=2 (null) Landroid/view/View; │ │ @@ -50376,21 +50376,21 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/view/View;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 14 16-bit code units │ │ -020018: |[020018] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.setupNewViewHolder:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/view/View;)V │ │ -020028: 7030 b903 2103 |0000: invoke-direct {v1, v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.findEntryViews:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/view/View;)V // method@03b9 │ │ -02002e: 5423 8b02 |0003: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.editEntryButton:Landroid/widget/ImageButton; // field@028b │ │ -020032: 2200 ce00 |0005: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5; // type@00ce │ │ -020036: 7030 a503 1002 |0007: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V // method@03a5 │ │ -02003c: 6e20 d500 0300 |000a: invoke-virtual {v3, v0}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d5 │ │ -020042: 0e00 |000d: return-void │ │ +020014: |[020014] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.setupNewViewHolder:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/view/View;)V │ │ +020024: 7030 b903 2103 |0000: invoke-direct {v1, v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.findEntryViews:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/view/View;)V // method@03b9 │ │ +02002a: 5423 8b02 |0003: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.editEntryButton:Landroid/widget/ImageButton; // field@028b │ │ +02002e: 2200 ce00 |0005: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5; // type@00ce │ │ +020032: 7030 a503 1002 |0007: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V // method@03a5 │ │ +020038: 6e20 d500 0300 |000a: invoke-virtual {v3, v0}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d5 │ │ +02003e: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=271 │ │ 0x0003 line=273 │ │ locals : │ │ 0x0000 - 0x000e reg=1 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ 0x0000 - 0x000e reg=2 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; │ │ @@ -50402,36 +50402,36 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 39 16-bit code units │ │ -01fde4: |[01fde4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.changeCommentedLinesVisibility:(Z)V │ │ -01fdf4: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -01fdf6: 1201 |0001: const/4 v1, #int 0 // #0 │ │ -01fdf8: 6e10 c103 0400 |0002: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getObjectsCount:()I // method@03c1 │ │ -01fdfe: 0a02 |0005: move-result v2 │ │ -01fe00: 3520 1b00 |0006: if-ge v0, v2, 0021 // +001b │ │ -01fe04: 6e20 be03 0400 |0008: invoke-virtual {v4, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03be │ │ -01fe0a: 0c02 |000b: move-result-object v2 │ │ -01fe0c: 1f02 e100 |000c: check-cast v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // type@00e1 │ │ -01fe10: 2023 e200 |000e: instance-of v3, v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e2 │ │ -01fe14: 3803 0e00 |0010: if-eqz v3, 001e // +000e │ │ -01fe18: 1f02 e200 |0012: check-cast v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e2 │ │ -01fe1c: 6e10 1504 0200 |0014: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:()Z // method@0415 │ │ -01fe22: 0a03 |0017: move-result v3 │ │ -01fe24: 3253 0600 |0018: if-eq v3, v5, 001e // +0006 │ │ -01fe28: 6e20 1704 5200 |001a: invoke-virtual {v2, v5}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.setVisible:(Z)V // method@0417 │ │ -01fe2e: 1211 |001d: const/4 v1, #int 1 // #1 │ │ -01fe30: d800 0001 |001e: add-int/lit8 v0, v0, #int 1 // #01 │ │ -01fe34: 28e2 |0020: goto 0002 // -001e │ │ -01fe36: 3801 0500 |0021: if-eqz v1, 0026 // +0005 │ │ -01fe3a: 6e10 c403 0400 |0023: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03c4 │ │ -01fe40: 0e00 |0026: return-void │ │ +01fde0: |[01fde0] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.changeCommentedLinesVisibility:(Z)V │ │ +01fdf0: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +01fdf2: 1201 |0001: const/4 v1, #int 0 // #0 │ │ +01fdf4: 6e10 c103 0400 |0002: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getObjectsCount:()I // method@03c1 │ │ +01fdfa: 0a02 |0005: move-result v2 │ │ +01fdfc: 3520 1b00 |0006: if-ge v0, v2, 0021 // +001b │ │ +01fe00: 6e20 be03 0400 |0008: invoke-virtual {v4, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03be │ │ +01fe06: 0c02 |000b: move-result-object v2 │ │ +01fe08: 1f02 e100 |000c: check-cast v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // type@00e1 │ │ +01fe0c: 2023 e200 |000e: instance-of v3, v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e2 │ │ +01fe10: 3803 0e00 |0010: if-eqz v3, 001e // +000e │ │ +01fe14: 1f02 e200 |0012: check-cast v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e2 │ │ +01fe18: 6e10 1504 0200 |0014: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:()Z // method@0415 │ │ +01fe1e: 0a03 |0017: move-result v3 │ │ +01fe20: 3253 0600 |0018: if-eq v3, v5, 001e // +0006 │ │ +01fe24: 6e20 1704 5200 |001a: invoke-virtual {v2, v5}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.setVisible:(Z)V // method@0417 │ │ +01fe2a: 1211 |001d: const/4 v1, #int 1 // #1 │ │ +01fe2c: d800 0001 |001e: add-int/lit8 v0, v0, #int 1 // #01 │ │ +01fe30: 28e2 |0020: goto 0002 // -001e │ │ +01fe32: 3801 0500 |0021: if-eqz v1, 0026 // +0005 │ │ +01fe36: 6e10 c403 0400 |0023: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03c4 │ │ +01fe3c: 0e00 |0026: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=72 │ │ 0x0008 line=73 │ │ 0x000e line=74 │ │ 0x001a line=75 │ │ 0x0023 line=81 │ │ @@ -50444,19 +50444,19 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -01fc78: |[01fc78] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getCount:()I │ │ -01fc88: 6f10 ae00 0100 |0000: invoke-super {v1}, Landroid/widget/ArrayAdapter;.getCount:()I // method@00ae │ │ -01fc8e: 0a00 |0003: move-result v0 │ │ -01fc90: d800 0001 |0004: add-int/lit8 v0, v0, #int 1 // #01 │ │ -01fc94: 0f00 |0006: return v0 │ │ +01fc74: |[01fc74] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getCount:()I │ │ +01fc84: 6f10 ae00 0100 |0000: invoke-super {v1}, Landroid/widget/ArrayAdapter;.getCount:()I // method@00ae │ │ +01fc8a: 0a00 |0003: move-result v0 │ │ +01fc8c: d800 0001 |0004: add-int/lit8 v0, v0, #int 1 // #01 │ │ +01fc90: 0f00 |0006: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=87 │ │ locals : │ │ 0x0000 - 0x0007 reg=1 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ │ │ #2 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;) │ │ @@ -50464,29 +50464,29 @@ │ │ type : '(I)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 21 16-bit code units │ │ -01fc98: |[01fc98] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getItemViewType:(I)I │ │ -01fca8: 6f10 ae00 0200 |0000: invoke-super {v2}, Landroid/widget/ArrayAdapter;.getCount:()I // method@00ae │ │ -01fcae: 0a00 |0003: move-result v0 │ │ -01fcb0: 1211 |0004: const/4 v1, #int 1 // #1 │ │ -01fcb2: b110 |0005: sub-int/2addr v0, v1 │ │ -01fcb4: 3703 0400 |0006: if-le v3, v0, 000a // +0004 │ │ -01fcb8: 1223 |0008: const/4 v3, #int 2 // #2 │ │ -01fcba: 0f03 |0009: return v3 │ │ -01fcbc: 6e20 be03 3200 |000a: invoke-virtual {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03be │ │ -01fcc2: 0c03 |000d: move-result-object v3 │ │ -01fcc4: 2033 e200 |000e: instance-of v3, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e2 │ │ -01fcc8: 3803 0300 |0010: if-eqz v3, 0013 // +0003 │ │ -01fccc: 0f01 |0012: return v1 │ │ -01fcce: 1203 |0013: const/4 v3, #int 0 // #0 │ │ -01fcd0: 0f03 |0014: return v3 │ │ +01fc94: |[01fc94] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getItemViewType:(I)I │ │ +01fca4: 6f10 ae00 0200 |0000: invoke-super {v2}, Landroid/widget/ArrayAdapter;.getCount:()I // method@00ae │ │ +01fcaa: 0a00 |0003: move-result v0 │ │ +01fcac: 1211 |0004: const/4 v1, #int 1 // #1 │ │ +01fcae: b110 |0005: sub-int/2addr v0, v1 │ │ +01fcb0: 3703 0400 |0006: if-le v3, v0, 000a // +0004 │ │ +01fcb4: 1223 |0008: const/4 v3, #int 2 // #2 │ │ +01fcb6: 0f03 |0009: return v3 │ │ +01fcb8: 6e20 be03 3200 |000a: invoke-virtual {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03be │ │ +01fcbe: 0c03 |000d: move-result-object v3 │ │ +01fcc0: 2033 e200 |000e: instance-of v3, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e2 │ │ +01fcc4: 3803 0300 |0010: if-eqz v3, 0013 // +0003 │ │ +01fcc8: 0f01 |0012: return v1 │ │ +01fcca: 1203 |0013: const/4 v3, #int 0 // #0 │ │ +01fccc: 0f03 |0014: return v3 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=96 │ │ 0x000a line=98 │ │ locals : │ │ 0x0000 - 0x0015 reg=2 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ 0x0000 - 0x0015 reg=3 (null) I │ │ @@ -50496,18 +50496,18 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 5 16-bit code units │ │ -01fcd4: |[01fcd4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getObjectsCount:()I │ │ -01fce4: 6f10 ae00 0100 |0000: invoke-super {v1}, Landroid/widget/ArrayAdapter;.getCount:()I // method@00ae │ │ -01fcea: 0a00 |0003: move-result v0 │ │ -01fcec: 0f00 |0004: return v0 │ │ +01fcd0: |[01fcd0] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getObjectsCount:()I │ │ +01fce0: 6f10 ae00 0100 |0000: invoke-super {v1}, Landroid/widget/ArrayAdapter;.getCount:()I // method@00ae │ │ +01fce6: 0a00 |0003: move-result v0 │ │ +01fce8: 0f00 |0004: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=91 │ │ locals : │ │ 0x0000 - 0x0005 reg=1 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ │ │ #4 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;) │ │ @@ -50515,32 +50515,32 @@ │ │ type : '(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 28 16-bit code units │ │ -01fbe8: |[01fbe8] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; │ │ -01fbf8: 6e20 c003 3200 |0000: invoke-virtual {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItemViewType:(I)I // method@03c0 │ │ -01fbfe: 0a00 |0003: move-result v0 │ │ -01fc00: 3800 1300 |0004: if-eqz v0, 0017 // +0013 │ │ -01fc04: 1211 |0006: const/4 v1, #int 1 // #1 │ │ -01fc06: 3210 0b00 |0007: if-eq v0, v1, 0012 // +000b │ │ -01fc0a: 1223 |0009: const/4 v3, #int 2 // #2 │ │ -01fc0c: 3230 0300 |000a: if-eq v0, v3, 000d // +0003 │ │ -01fc10: 280f |000c: goto 001b // +000f │ │ -01fc12: 7020 ba03 5200 |000d: invoke-direct {v2, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getAddButton:(Landroid/view/ViewGroup;)Landroid/view/View; // method@03ba │ │ -01fc18: 0c04 |0010: move-result-object v4 │ │ -01fc1a: 280a |0011: goto 001b // +000a │ │ -01fc1c: 7040 bb03 3254 |0012: invoke-direct {v2, v3, v4, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getCommentView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; // method@03bb │ │ -01fc22: 0c04 |0015: move-result-object v4 │ │ -01fc24: 2805 |0016: goto 001b // +0005 │ │ -01fc26: 7040 bf03 3254 |0017: invoke-direct {v2, v3, v4, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItemView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; // method@03bf │ │ -01fc2c: 0c04 |001a: move-result-object v4 │ │ -01fc2e: 1104 |001b: return-object v4 │ │ +01fbe4: |[01fbe4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; │ │ +01fbf4: 6e20 c003 3200 |0000: invoke-virtual {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItemViewType:(I)I // method@03c0 │ │ +01fbfa: 0a00 |0003: move-result v0 │ │ +01fbfc: 3800 1300 |0004: if-eqz v0, 0017 // +0013 │ │ +01fc00: 1211 |0006: const/4 v1, #int 1 // #1 │ │ +01fc02: 3210 0b00 |0007: if-eq v0, v1, 0012 // +000b │ │ +01fc06: 1223 |0009: const/4 v3, #int 2 // #2 │ │ +01fc08: 3230 0300 |000a: if-eq v0, v3, 000d // +0003 │ │ +01fc0c: 280f |000c: goto 001b // +000f │ │ +01fc0e: 7020 ba03 5200 |000d: invoke-direct {v2, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getAddButton:(Landroid/view/ViewGroup;)Landroid/view/View; // method@03ba │ │ +01fc14: 0c04 |0010: move-result-object v4 │ │ +01fc16: 280a |0011: goto 001b // +000a │ │ +01fc18: 7040 bb03 3254 |0012: invoke-direct {v2, v3, v4, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getCommentView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; // method@03bb │ │ +01fc1e: 0c04 |0015: move-result-object v4 │ │ +01fc20: 2805 |0016: goto 001b // +0005 │ │ +01fc22: 7040 bf03 3254 |0017: invoke-direct {v2, v3, v4, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItemView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; // method@03bf │ │ +01fc28: 0c04 |001a: move-result-object v4 │ │ +01fc2a: 1104 |001b: return-object v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=108 │ │ 0x000d line=110 │ │ 0x0012 line=113 │ │ 0x0017 line=116 │ │ locals : │ │ @@ -50554,17 +50554,17 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01ffb8: |[01ffb8] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.onApplyChanges:()V │ │ -01ffc8: 6e10 c403 0000 |0000: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03c4 │ │ -01ffce: 0e00 |0003: return-void │ │ +01ffb4: |[01ffb4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.onApplyChanges:()V │ │ +01ffc4: 6e10 c403 0000 |0000: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03c4 │ │ +01ffca: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=299 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ │ │ #6 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;) │ │ @@ -50572,17 +50572,17 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -01ffd0: |[01ffd0] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.onDeleteItem:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ -01ffe0: 6e20 c803 1000 |0000: invoke-virtual {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.remove:(Ljava/lang/Object;)V // method@03c8 │ │ -01ffe6: 0e00 |0003: return-void │ │ +01ffcc: |[01ffcc] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.onDeleteItem:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ +01ffdc: 6e20 c803 1000 |0000: invoke-virtual {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.remove:(Ljava/lang/Object;)V // method@03c8 │ │ +01ffe2: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=309 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ 0x0000 - 0x0004 reg=1 (null) Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ │ │ @@ -50591,17 +50591,17 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -01ffe8: |[01ffe8] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.onNewCancelled:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ -01fff8: 6e20 c803 1000 |0000: invoke-virtual {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.remove:(Ljava/lang/Object;)V // method@03c8 │ │ -01fffe: 0e00 |0003: return-void │ │ +01ffe4: |[01ffe4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.onNewCancelled:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ +01fff4: 6e20 c803 1000 |0000: invoke-virtual {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.remove:(Ljava/lang/Object;)V // method@03c8 │ │ +01fffa: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=304 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ 0x0000 - 0x0004 reg=1 (null) Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ │ │ @@ -50638,20 +50638,20 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -02107c: |[02107c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.:(Ljava/lang/String;)V │ │ -02108c: 7010 1204 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry;.:()V // method@0412 │ │ -021092: 5b01 c702 |0003: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.comment:Ljava/lang/String; // field@02c7 │ │ -021096: 1211 |0005: const/4 v1, #int 1 // #1 │ │ -021098: 5c01 c802 |0006: iput-boolean v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:Z // field@02c8 │ │ -02109c: 0e00 |0008: return-void │ │ +021078: |[021078] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.:(Ljava/lang/String;)V │ │ +021088: 7010 1204 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry;.:()V // method@0412 │ │ +02108e: 5b01 c702 |0003: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.comment:Ljava/lang/String; // field@02c7 │ │ +021092: 1211 |0005: const/4 v1, #int 1 // #1 │ │ +021094: 5c01 c802 |0006: iput-boolean v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:Z // field@02c8 │ │ +021098: 0e00 |0008: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=15 │ │ 0x0003 line=16 │ │ 0x0006 line=17 │ │ locals : │ │ 0x0000 - 0x0009 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; │ │ @@ -50663,17 +50663,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021030: |[021030] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.getComment:()Ljava/lang/String; │ │ -021040: 5410 c702 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.comment:Ljava/lang/String; // field@02c7 │ │ -021044: 1100 |0002: return-object v0 │ │ +02102c: |[02102c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.getComment:()Ljava/lang/String; │ │ +02103c: 5410 c702 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.comment:Ljava/lang/String; // field@02c7 │ │ +021040: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=21 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; │ │ │ │ #1 : (in Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;) │ │ @@ -50681,17 +50681,17 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021018: |[021018] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.isVisible:()Z │ │ -021028: 5510 c802 |0000: iget-boolean v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:Z // field@02c8 │ │ -02102c: 0f00 |0002: return v0 │ │ +021014: |[021014] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.isVisible:()Z │ │ +021024: 5510 c802 |0000: iget-boolean v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:Z // field@02c8 │ │ +021028: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=8 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; │ │ │ │ #2 : (in Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;) │ │ @@ -50699,17 +50699,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0210a0: |[0210a0] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.setComment:(Ljava/lang/String;)V │ │ -0210b0: 5b01 c702 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.comment:Ljava/lang/String; // field@02c7 │ │ -0210b4: 0e00 |0002: return-void │ │ +02109c: |[02109c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.setComment:(Ljava/lang/String;)V │ │ +0210ac: 5b01 c702 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.comment:Ljava/lang/String; // field@02c7 │ │ +0210b0: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=25 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; │ │ 0x0000 - 0x0003 reg=1 (null) Ljava/lang/String; │ │ │ │ @@ -50718,17 +50718,17 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0210b8: |[0210b8] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.setVisible:(Z)V │ │ -0210c8: 5c01 c802 |0000: iput-boolean v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:Z // field@02c8 │ │ -0210cc: 0e00 |0002: return-void │ │ +0210b4: |[0210b4] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.setVisible:(Z)V │ │ +0210c4: 5c01 c802 |0000: iput-boolean v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:Z // field@02c8 │ │ +0210c8: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=12 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; │ │ 0x0000 - 0x0003 reg=1 (null) Z │ │ │ │ @@ -50737,23 +50737,23 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 17 16-bit code units │ │ -021048: |[021048] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.toString:()Ljava/lang/String; │ │ -021058: 2200 2801 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ -02105c: 1a01 3000 |0002: const-string v1, "#" // string@0030 │ │ -021060: 7020 8405 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -021066: 5421 c702 |0007: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.comment:Ljava/lang/String; // field@02c7 │ │ -02106a: 6e20 8905 1000 |0009: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -021070: 6e10 8b05 0000 |000c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -021076: 0c00 |000f: move-result-object v0 │ │ -021078: 1100 |0010: return-object v0 │ │ +021044: |[021044] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.toString:()Ljava/lang/String; │ │ +021054: 2200 2801 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ +021058: 1a01 3000 |0002: const-string v1, "#" // string@0030 │ │ +02105c: 7020 8405 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +021062: 5421 c702 |0007: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.comment:Ljava/lang/String; // field@02c7 │ │ +021066: 6e20 8905 1000 |0009: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02106c: 6e10 8b05 0000 |000c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +021072: 0c00 |000f: move-result-object v0 │ │ +021074: 1100 |0010: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=30 │ │ locals : │ │ 0x0000 - 0x0011 reg=2 this Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; │ │ │ │ source_file_idx : 346 (DNSServerConfigCommentedEntry.java) │ │ @@ -50864,24 +50864,24 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 15 16-bit code units │ │ -021414: |[021414] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:()V │ │ -021424: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -021426: 7110 2b05 0000 |0001: invoke-static {v0}, Ljava/lang/Byte;.valueOf:(B)Ljava/lang/Byte; // method@052b │ │ -02142c: 0c00 |0004: move-result-object v0 │ │ -02142e: 6900 ca02 |0005: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.DEFAULT_DNS_SELECTION:Ljava/lang/Byte; // field@02ca │ │ -021432: 1210 |0007: const/4 v0, #int 1 // #1 │ │ -021434: 7110 2905 0000 |0008: invoke-static {v0}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@0529 │ │ -02143a: 0c00 |000b: move-result-object v0 │ │ -02143c: 6900 cd02 |000c: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.DEFAULT_IS_ACTIVE:Ljava/lang/Boolean; // field@02cd │ │ -021440: 0e00 |000e: return-void │ │ +021410: |[021410] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:()V │ │ +021420: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +021422: 7110 2b05 0000 |0001: invoke-static {v0}, Ljava/lang/Byte;.valueOf:(B)Ljava/lang/Byte; // method@052b │ │ +021428: 0c00 |0004: move-result-object v0 │ │ +02142a: 6900 ca02 |0005: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.DEFAULT_DNS_SELECTION:Ljava/lang/Byte; // field@02ca │ │ +02142e: 1210 |0007: const/4 v0, #int 1 // #1 │ │ +021430: 7110 2905 0000 |0008: invoke-static {v0}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@0529 │ │ +021436: 0c00 |000b: move-result-object v0 │ │ +021438: 6900 cd02 |000c: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.DEFAULT_IS_ACTIVE:Ljava/lang/Boolean; // field@02cd │ │ +02143c: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=11 │ │ 0x0008 line=14 │ │ locals : │ │ │ │ #1 : (in Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;) │ │ @@ -50889,24 +50889,24 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 6 │ │ insns size : 17 16-bit code units │ │ -021444: |[021444] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:()V │ │ -021454: 7100 2104 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getDefaultDNSType:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0421 │ │ -02145a: 0c03 |0003: move-result-object v3 │ │ -02145c: 1a04 0000 |0004: const-string v4, "" // string@0000 │ │ -021460: 6205 cd02 |0006: sget-object v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.DEFAULT_IS_ACTIVE:Ljava/lang/Boolean; // field@02cd │ │ -021464: 1a01 0000 |0008: const-string v1, "" // string@0000 │ │ -021468: 1a02 8000 |000a: const-string v2, "53" // string@0080 │ │ -02146c: 0760 |000c: move-object v0, v6 │ │ -02146e: 7606 1b04 0000 |000d: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Ljava/lang/String;Ljava/lang/Boolean;)V // method@041b │ │ -021474: 0e00 |0010: return-void │ │ +021440: |[021440] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:()V │ │ +021450: 7100 2104 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getDefaultDNSType:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0421 │ │ +021456: 0c03 |0003: move-result-object v3 │ │ +021458: 1a04 0000 |0004: const-string v4, "" // string@0000 │ │ +02145c: 6205 cd02 |0006: sget-object v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.DEFAULT_IS_ACTIVE:Ljava/lang/Boolean; // field@02cd │ │ +021460: 1a01 0000 |0008: const-string v1, "" // string@0000 │ │ +021464: 1a02 8000 |000a: const-string v2, "53" // string@0080 │ │ +021468: 0760 |000c: move-object v0, v6 │ │ +02146a: 7606 1b04 0000 |000d: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Ljava/lang/String;Ljava/lang/Boolean;)V // method@041b │ │ +021470: 0e00 |0010: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=78 │ │ locals : │ │ 0x0000 - 0x0011 reg=6 this Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ │ │ #2 : (in Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;) │ │ @@ -50914,34 +50914,34 @@ │ │ type : '(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Ljava/lang/String;Ljava/lang/Boolean;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 6 │ │ ins : 6 │ │ outs : 1 │ │ insns size : 40 16-bit code units │ │ -02150c: |[02150c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Ljava/lang/String;Ljava/lang/Boolean;)V │ │ -02151c: 7010 1204 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry;.:()V // method@0412 │ │ -021522: 6e10 7c05 0100 |0003: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -021528: 0c01 |0006: move-result-object v1 │ │ -02152a: 5b01 d502 |0007: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d5 │ │ -02152e: 6e10 7c05 0200 |0009: invoke-virtual {v2}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -021534: 0c01 |000c: move-result-object v1 │ │ -021536: 5b01 d702 |000d: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d7 │ │ -02153a: 5b03 d802 |000f: iput-object v3, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d8 │ │ -02153e: 6e10 7c05 0400 |0011: invoke-virtual {v4}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -021544: 0c01 |0014: move-result-object v1 │ │ -021546: 5b01 d402 |0015: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d4 │ │ -02154a: 5b05 d602 |0017: iput-object v5, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d6 │ │ -02154e: 2201 de00 |0019: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00de │ │ -021552: 7010 fa03 0100 |001b: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:()V // method@03fa │ │ -021558: 5b01 d902 |001e: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d9 │ │ -02155c: 2201 d500 |0020: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00d5 │ │ -021560: 7010 d603 0100 |0022: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.:()V // method@03d6 │ │ -021566: 5b01 da02 |0025: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02da │ │ -02156a: 0e00 |0027: return-void │ │ +021508: |[021508] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Ljava/lang/String;Ljava/lang/Boolean;)V │ │ +021518: 7010 1204 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry;.:()V // method@0412 │ │ +02151e: 6e10 7c05 0100 |0003: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +021524: 0c01 |0006: move-result-object v1 │ │ +021526: 5b01 d502 |0007: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d5 │ │ +02152a: 6e10 7c05 0200 |0009: invoke-virtual {v2}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +021530: 0c01 |000c: move-result-object v1 │ │ +021532: 5b01 d702 |000d: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d7 │ │ +021536: 5b03 d802 |000f: iput-object v3, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d8 │ │ +02153a: 6e10 7c05 0400 |0011: invoke-virtual {v4}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +021540: 0c01 |0014: move-result-object v1 │ │ +021542: 5b01 d402 |0015: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d4 │ │ +021546: 5b05 d602 |0017: iput-object v5, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d6 │ │ +02154a: 2201 de00 |0019: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00de │ │ +02154e: 7010 fa03 0100 |001b: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:()V // method@03fa │ │ +021554: 5b01 d902 |001e: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d9 │ │ +021558: 2201 d500 |0020: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00d5 │ │ +02155c: 7010 d603 0100 |0022: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.:()V // method@03d6 │ │ +021562: 5b01 da02 |0025: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02da │ │ +021566: 0e00 |0027: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=67 │ │ 0x0003 line=68 │ │ 0x0009 line=69 │ │ 0x000f line=70 │ │ 0x0011 line=71 │ │ @@ -50961,24 +50961,24 @@ │ │ type : '(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Z)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 11 │ │ ins : 5 │ │ outs : 6 │ │ insns size : 14 16-bit code units │ │ -0214e0: |[0214e0] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Z)V │ │ -0214f0: 1a04 0000 |0000: const-string v4, "" // string@0000 │ │ -0214f4: 7110 2905 0a00 |0002: invoke-static {v10}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@0529 │ │ -0214fa: 0c05 |0005: move-result-object v5 │ │ -0214fc: 0760 |0006: move-object v0, v6 │ │ -0214fe: 0771 |0007: move-object v1, v7 │ │ -021500: 0782 |0008: move-object v2, v8 │ │ -021502: 0793 |0009: move-object v3, v9 │ │ -021504: 7606 1b04 0000 |000a: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Ljava/lang/String;Ljava/lang/Boolean;)V // method@041b │ │ -02150a: 0e00 |000d: return-void │ │ +0214dc: |[0214dc] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Z)V │ │ +0214ec: 1a04 0000 |0000: const-string v4, "" // string@0000 │ │ +0214f0: 7110 2905 0a00 |0002: invoke-static {v10}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@0529 │ │ +0214f6: 0c05 |0005: move-result-object v5 │ │ +0214f8: 0760 |0006: move-object v0, v6 │ │ +0214fa: 0771 |0007: move-object v1, v7 │ │ +0214fc: 0782 |0008: move-object v2, v8 │ │ +0214fe: 0793 |0009: move-object v3, v9 │ │ +021500: 7606 1b04 0000 |000a: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Ljava/lang/String;Ljava/lang/Boolean;)V // method@041b │ │ +021506: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=90 │ │ locals : │ │ 0x0000 - 0x000e reg=6 this Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ 0x0000 - 0x000e reg=7 (null) Ljava/lang/String; │ │ 0x0000 - 0x000e reg=8 (null) Ljava/lang/String; │ │ @@ -50990,25 +50990,25 @@ │ │ type : '(Ljava/lang/String;Ljava/lang/String;Z)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 10 │ │ ins : 4 │ │ outs : 6 │ │ insns size : 17 16-bit code units │ │ -0214ac: |[0214ac] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:(Ljava/lang/String;Ljava/lang/String;Z)V │ │ -0214bc: 7100 2104 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getDefaultDNSType:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0421 │ │ -0214c2: 0c03 |0003: move-result-object v3 │ │ -0214c4: 1a04 0000 |0004: const-string v4, "" // string@0000 │ │ -0214c8: 7110 2905 0900 |0006: invoke-static {v9}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@0529 │ │ -0214ce: 0c05 |0009: move-result-object v5 │ │ -0214d0: 0760 |000a: move-object v0, v6 │ │ -0214d2: 0771 |000b: move-object v1, v7 │ │ -0214d4: 0782 |000c: move-object v2, v8 │ │ -0214d6: 7606 1b04 0000 |000d: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Ljava/lang/String;Ljava/lang/Boolean;)V // method@041b │ │ -0214dc: 0e00 |0010: return-void │ │ +0214a8: |[0214a8] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:(Ljava/lang/String;Ljava/lang/String;Z)V │ │ +0214b8: 7100 2104 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getDefaultDNSType:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0421 │ │ +0214be: 0c03 |0003: move-result-object v3 │ │ +0214c0: 1a04 0000 |0004: const-string v4, "" // string@0000 │ │ +0214c4: 7110 2905 0900 |0006: invoke-static {v9}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@0529 │ │ +0214ca: 0c05 |0009: move-result-object v5 │ │ +0214cc: 0760 |000a: move-object v0, v6 │ │ +0214ce: 0771 |000b: move-object v1, v7 │ │ +0214d0: 0782 |000c: move-object v2, v8 │ │ +0214d2: 7606 1b04 0000 |000d: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Ljava/lang/String;Ljava/lang/Boolean;)V // method@041b │ │ +0214d8: 0e00 |0010: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=86 │ │ locals : │ │ 0x0000 - 0x0011 reg=6 this Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ 0x0000 - 0x0011 reg=7 (null) Ljava/lang/String; │ │ 0x0000 - 0x0011 reg=8 (null) Ljava/lang/String; │ │ @@ -51019,25 +51019,25 @@ │ │ type : '(Ljava/lang/String;Z)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 9 │ │ ins : 3 │ │ outs : 6 │ │ insns size : 18 16-bit code units │ │ -021478: |[021478] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:(Ljava/lang/String;Z)V │ │ -021488: 7100 2104 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getDefaultDNSType:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0421 │ │ -02148e: 0c03 |0003: move-result-object v3 │ │ -021490: 1a04 0000 |0004: const-string v4, "" // string@0000 │ │ -021494: 7110 2905 0800 |0006: invoke-static {v8}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@0529 │ │ -02149a: 0c05 |0009: move-result-object v5 │ │ -02149c: 1a02 8000 |000a: const-string v2, "53" // string@0080 │ │ -0214a0: 0760 |000c: move-object v0, v6 │ │ -0214a2: 0771 |000d: move-object v1, v7 │ │ -0214a4: 7606 1b04 0000 |000e: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Ljava/lang/String;Ljava/lang/Boolean;)V // method@041b │ │ -0214aa: 0e00 |0011: return-void │ │ +021474: |[021474] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:(Ljava/lang/String;Z)V │ │ +021484: 7100 2104 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getDefaultDNSType:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0421 │ │ +02148a: 0c03 |0003: move-result-object v3 │ │ +02148c: 1a04 0000 |0004: const-string v4, "" // string@0000 │ │ +021490: 7110 2905 0800 |0006: invoke-static {v8}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@0529 │ │ +021496: 0c05 |0009: move-result-object v5 │ │ +021498: 1a02 8000 |000a: const-string v2, "53" // string@0080 │ │ +02149c: 0760 |000c: move-object v0, v6 │ │ +02149e: 0771 |000d: move-object v1, v7 │ │ +0214a0: 7606 1b04 0000 |000e: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Ljava/lang/String;Ljava/lang/Boolean;)V // method@041b │ │ +0214a6: 0e00 |0011: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=82 │ │ locals : │ │ 0x0000 - 0x0012 reg=6 this Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ 0x0000 - 0x0012 reg=7 (null) Ljava/lang/String; │ │ 0x0000 - 0x0012 reg=8 (null) Z │ │ @@ -51047,24 +51047,24 @@ │ │ type : '(Ljava/lang/String;)Ljava/lang/String;' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 20 16-bit code units │ │ -02129c: |[02129c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getBracedIP:(Ljava/lang/String;)Ljava/lang/String; │ │ -0212ac: 2200 2801 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ -0212b0: 1a01 ee04 |0002: const-string v1, "[" // string@04ee │ │ -0212b4: 7020 8405 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -0212ba: 6e20 8905 2000 |0007: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0212c0: 1a02 0c05 |000a: const-string v2, "]" // string@050c │ │ -0212c4: 6e20 8905 2000 |000c: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0212ca: 6e10 8b05 0000 |000f: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0212d0: 0c02 |0012: move-result-object v2 │ │ -0212d2: 1102 |0013: return-object v2 │ │ +021298: |[021298] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getBracedIP:(Ljava/lang/String;)Ljava/lang/String; │ │ +0212a8: 2200 2801 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ +0212ac: 1a01 ee04 |0002: const-string v1, "[" // string@04ee │ │ +0212b0: 7020 8405 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +0212b6: 6e20 8905 2000 |0007: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0212bc: 1a02 0c05 |000a: const-string v2, "]" // string@050c │ │ +0212c0: 6e20 8905 2000 |000c: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0212c6: 6e10 8b05 0000 |000f: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0212cc: 0c02 |0012: move-result-object v2 │ │ +0212ce: 1102 |0013: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=121 │ │ locals : │ │ 0x0000 - 0x0014 reg=2 (null) Ljava/lang/String; │ │ │ │ #7 : (in Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;) │ │ @@ -51072,51 +51072,51 @@ │ │ type : '()Ldnsfilter/android/dnsserverconfig/widget/DNSType;' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 2 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 13 16-bit code units │ │ -0211c4: |[0211c4] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getDefaultDNSType:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ -0211d4: 7100 0e04 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@040e │ │ -0211da: 0c00 |0003: move-result-object v0 │ │ -0211dc: 6201 ca02 |0004: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.DEFAULT_DNS_SELECTION:Ljava/lang/Byte; // field@02ca │ │ -0211e0: 6e10 2a05 0100 |0006: invoke-virtual {v1}, Ljava/lang/Byte;.byteValue:()B // method@052a │ │ -0211e6: 0a01 |0009: move-result v1 │ │ -0211e8: 4600 0001 |000a: aget-object v0, v0, v1 │ │ -0211ec: 1100 |000c: return-object v0 │ │ +0211c0: |[0211c0] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getDefaultDNSType:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ +0211d0: 7100 0e04 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@040e │ │ +0211d6: 0c00 |0003: move-result-object v0 │ │ +0211d8: 6201 ca02 |0004: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.DEFAULT_DNS_SELECTION:Ljava/lang/Byte; // field@02ca │ │ +0211dc: 6e10 2a05 0100 |0006: invoke-virtual {v1}, Ljava/lang/Byte;.byteValue:()B // method@052a │ │ +0211e2: 0a01 |0009: move-result v1 │ │ +0211e4: 4600 0001 |000a: aget-object v0, v0, v1 │ │ +0211e8: 1100 |000c: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=179 │ │ locals : │ │ │ │ #8 : (in Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;) │ │ name : 'getEndpointAsString' │ │ type : '(Ljava/lang/String;)Ljava/lang/String;' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 27 16-bit code units │ │ -0212ec: |[0212ec] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getEndpointAsString:(Ljava/lang/String;)Ljava/lang/String; │ │ -0212fc: 3802 1800 |0000: if-eqz v2, 0018 // +0018 │ │ -021300: 6e10 6d05 0200 |0002: invoke-virtual {v2}, Ljava/lang/String;.isEmpty:()Z // method@056d │ │ -021306: 0a00 |0005: move-result v0 │ │ -021308: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ -02130c: 2810 |0008: goto 0018 // +0010 │ │ -02130e: 2200 2801 |0009: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ -021312: 1a01 8900 |000b: const-string v1, "::" // string@0089 │ │ -021316: 7020 8405 1000 |000d: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -02131c: 6e20 8905 2000 |0010: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -021322: 6e10 8b05 0000 |0013: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -021328: 0c02 |0016: move-result-object v2 │ │ -02132a: 1102 |0017: return-object v2 │ │ -02132c: 1a02 0000 |0018: const-string v2, "" // string@0000 │ │ -021330: 1102 |001a: return-object v2 │ │ +0212e8: |[0212e8] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getEndpointAsString:(Ljava/lang/String;)Ljava/lang/String; │ │ +0212f8: 3802 1800 |0000: if-eqz v2, 0018 // +0018 │ │ +0212fc: 6e10 6d05 0200 |0002: invoke-virtual {v2}, Ljava/lang/String;.isEmpty:()Z // method@056d │ │ +021302: 0a00 |0005: move-result v0 │ │ +021304: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ +021308: 2810 |0008: goto 0018 // +0010 │ │ +02130a: 2200 2801 |0009: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ +02130e: 1a01 8900 |000b: const-string v1, "::" // string@0089 │ │ +021312: 7020 8405 1000 |000d: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +021318: 6e20 8905 2000 |0010: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02131e: 6e10 8b05 0000 |0013: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +021324: 0c02 |0016: move-result-object v2 │ │ +021326: 1102 |0017: return-object v2 │ │ +021328: 1a02 0000 |0018: const-string v2, "" // string@0000 │ │ +02132c: 1102 |001a: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0002 line=125 │ │ 0x0009 line=128 │ │ 0x0018 line=126 │ │ locals : │ │ 0x0000 - 0x001b reg=2 (null) Ljava/lang/String; │ │ @@ -51126,20 +51126,20 @@ │ │ type : '(Z)Ljava/lang/String;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 8 16-bit code units │ │ -02134c: |[02134c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getIsActiveAsString:(Z)Ljava/lang/String; │ │ -02135c: 3800 0500 |0000: if-eqz v0, 0005 // +0005 │ │ -021360: 1a00 0000 |0002: const-string v0, "" // string@0000 │ │ -021364: 1100 |0004: return-object v0 │ │ -021366: 1a00 9c0b |0005: const-string v0, "~" // string@0b9c │ │ -02136a: 1100 |0007: return-object v0 │ │ +021348: |[021348] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getIsActiveAsString:(Z)Ljava/lang/String; │ │ +021358: 3800 0500 |0000: if-eqz v0, 0005 // +0005 │ │ +02135c: 1a00 0000 |0002: const-string v0, "" // string@0000 │ │ +021360: 1100 |0004: return-object v0 │ │ +021362: 1a00 9c0b |0005: const-string v0, "~" // string@0b9c │ │ +021366: 1100 |0007: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0002 line=172 │ │ 0x0005 line=174 │ │ locals : │ │ 0x0000 - 0x0008 reg=0 (null) Z │ │ │ │ @@ -51149,64 +51149,64 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 90 16-bit code units │ │ -0210d0: |[0210d0] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.equals:(Ljava/lang/Object;)Z │ │ -0210e0: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -0210e2: 3354 0300 |0001: if-ne v4, v5, 0004 // +0003 │ │ -0210e6: 0f00 |0003: return v0 │ │ -0210e8: 1201 |0004: const/4 v1, #int 0 // #0 │ │ -0210ea: 3805 5400 |0005: if-eqz v5, 0059 // +0054 │ │ -0210ee: 6e10 5105 0400 |0007: invoke-virtual {v4}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0551 │ │ -0210f4: 0c02 |000a: move-result-object v2 │ │ -0210f6: 6e10 5105 0500 |000b: invoke-virtual {v5}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0551 │ │ -0210fc: 0c03 |000e: move-result-object v3 │ │ -0210fe: 3232 0300 |000f: if-eq v2, v3, 0012 // +0003 │ │ -021102: 2848 |0011: goto 0059 // +0048 │ │ -021104: 1f05 e300 |0012: check-cast v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e3 │ │ -021108: 5442 d502 |0014: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d5 │ │ -02110c: 5453 d502 |0016: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d5 │ │ -021110: 6e20 6705 3200 |0018: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -021116: 0a02 |001b: move-result v2 │ │ -021118: 3802 3b00 |001c: if-eqz v2, 0057 // +003b │ │ -02111c: 5442 d702 |001e: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d7 │ │ -021120: 5453 d702 |0020: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d7 │ │ -021124: 6e20 6705 3200 |0022: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -02112a: 0a02 |0025: move-result v2 │ │ -02112c: 3802 3100 |0026: if-eqz v2, 0057 // +0031 │ │ -021130: 5442 d802 |0028: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d8 │ │ -021134: 5453 d802 |002a: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d8 │ │ -021138: 3332 2b00 |002c: if-ne v2, v3, 0057 // +002b │ │ -02113c: 5442 d402 |002e: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d4 │ │ -021140: 5453 d402 |0030: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d4 │ │ -021144: 6e20 6705 3200 |0032: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -02114a: 0a02 |0035: move-result v2 │ │ -02114c: 3802 2100 |0036: if-eqz v2, 0057 // +0021 │ │ -021150: 5442 d602 |0038: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d6 │ │ -021154: 5453 d602 |003a: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d6 │ │ -021158: 6e20 2605 3200 |003c: invoke-virtual {v2, v3}, Ljava/lang/Boolean;.equals:(Ljava/lang/Object;)Z // method@0526 │ │ -02115e: 0a02 |003f: move-result v2 │ │ -021160: 3802 1700 |0040: if-eqz v2, 0057 // +0017 │ │ -021164: 5442 d902 |0042: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d9 │ │ -021168: 5453 d902 |0044: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d9 │ │ -02116c: 6e20 0004 3200 |0046: invoke-virtual {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.equals:(Ljava/lang/Object;)Z // method@0400 │ │ -021172: 0a02 |0049: move-result v2 │ │ -021174: 3802 0d00 |004a: if-eqz v2, 0057 // +000d │ │ -021178: 5442 da02 |004c: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02da │ │ -02117c: 5455 da02 |004e: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02da │ │ -021180: 6e20 d703 5200 |0050: invoke-virtual {v2, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.equals:(Ljava/lang/Object;)Z // method@03d7 │ │ -021186: 0a05 |0053: move-result v5 │ │ -021188: 3805 0300 |0054: if-eqz v5, 0057 // +0003 │ │ -02118c: 2802 |0056: goto 0058 // +0002 │ │ -02118e: 1200 |0057: const/4 v0, #int 0 // #0 │ │ -021190: 0f00 |0058: return v0 │ │ -021192: 0f01 |0059: return v1 │ │ +0210cc: |[0210cc] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.equals:(Ljava/lang/Object;)Z │ │ +0210dc: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +0210de: 3354 0300 |0001: if-ne v4, v5, 0004 // +0003 │ │ +0210e2: 0f00 |0003: return v0 │ │ +0210e4: 1201 |0004: const/4 v1, #int 0 // #0 │ │ +0210e6: 3805 5400 |0005: if-eqz v5, 0059 // +0054 │ │ +0210ea: 6e10 5105 0400 |0007: invoke-virtual {v4}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0551 │ │ +0210f0: 0c02 |000a: move-result-object v2 │ │ +0210f2: 6e10 5105 0500 |000b: invoke-virtual {v5}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0551 │ │ +0210f8: 0c03 |000e: move-result-object v3 │ │ +0210fa: 3232 0300 |000f: if-eq v2, v3, 0012 // +0003 │ │ +0210fe: 2848 |0011: goto 0059 // +0048 │ │ +021100: 1f05 e300 |0012: check-cast v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e3 │ │ +021104: 5442 d502 |0014: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d5 │ │ +021108: 5453 d502 |0016: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d5 │ │ +02110c: 6e20 6705 3200 |0018: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +021112: 0a02 |001b: move-result v2 │ │ +021114: 3802 3b00 |001c: if-eqz v2, 0057 // +003b │ │ +021118: 5442 d702 |001e: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d7 │ │ +02111c: 5453 d702 |0020: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d7 │ │ +021120: 6e20 6705 3200 |0022: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +021126: 0a02 |0025: move-result v2 │ │ +021128: 3802 3100 |0026: if-eqz v2, 0057 // +0031 │ │ +02112c: 5442 d802 |0028: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d8 │ │ +021130: 5453 d802 |002a: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d8 │ │ +021134: 3332 2b00 |002c: if-ne v2, v3, 0057 // +002b │ │ +021138: 5442 d402 |002e: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d4 │ │ +02113c: 5453 d402 |0030: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d4 │ │ +021140: 6e20 6705 3200 |0032: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +021146: 0a02 |0035: move-result v2 │ │ +021148: 3802 2100 |0036: if-eqz v2, 0057 // +0021 │ │ +02114c: 5442 d602 |0038: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d6 │ │ +021150: 5453 d602 |003a: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d6 │ │ +021154: 6e20 2605 3200 |003c: invoke-virtual {v2, v3}, Ljava/lang/Boolean;.equals:(Ljava/lang/Object;)Z // method@0526 │ │ +02115a: 0a02 |003f: move-result v2 │ │ +02115c: 3802 1700 |0040: if-eqz v2, 0057 // +0017 │ │ +021160: 5442 d902 |0042: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d9 │ │ +021164: 5453 d902 |0044: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d9 │ │ +021168: 6e20 0004 3200 |0046: invoke-virtual {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.equals:(Ljava/lang/Object;)Z // method@0400 │ │ +02116e: 0a02 |0049: move-result v2 │ │ +021170: 3802 0d00 |004a: if-eqz v2, 0057 // +000d │ │ +021174: 5442 da02 |004c: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02da │ │ +021178: 5455 da02 |004e: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02da │ │ +02117c: 6e20 d703 5200 |0050: invoke-virtual {v2, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.equals:(Ljava/lang/Object;)Z // method@03d7 │ │ +021182: 0a05 |0053: move-result v5 │ │ +021184: 3805 0300 |0054: if-eqz v5, 0057 // +0003 │ │ +021188: 2802 |0056: goto 0058 // +0002 │ │ +02118a: 1200 |0057: const/4 v0, #int 0 // #0 │ │ +02118c: 0f00 |0058: return v0 │ │ +02118e: 0f01 |0059: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0007 line=139 │ │ 0x0012 line=140 │ │ 0x0014 line=141 │ │ 0x0022 line=142 │ │ 0x0032 line=144 │ │ @@ -51222,17 +51222,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0212d4: |[0212d4] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getEndpoint:()Ljava/lang/String; │ │ -0212e4: 5410 d402 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d4 │ │ -0212e8: 1100 |0002: return-object v0 │ │ +0212d0: |[0212d0] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getEndpoint:()Ljava/lang/String; │ │ +0212e0: 5410 d402 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d4 │ │ +0212e4: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=106 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ │ │ #2 : (in Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;) │ │ @@ -51240,17 +51240,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021334: |[021334] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getIp:()Ljava/lang/String; │ │ -021344: 5410 d502 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d5 │ │ -021348: 1100 |0002: return-object v0 │ │ +021330: |[021330] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getIp:()Ljava/lang/String; │ │ +021340: 5410 d502 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d5 │ │ +021344: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=94 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ │ │ #3 : (in Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;) │ │ @@ -51258,17 +51258,17 @@ │ │ type : '()Ljava/lang/Boolean;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021284: |[021284] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getIsActive:()Ljava/lang/Boolean; │ │ -021294: 5410 d602 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d6 │ │ -021298: 1100 |0002: return-object v0 │ │ +021280: |[021280] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getIsActive:()Ljava/lang/Boolean; │ │ +021290: 5410 d602 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d6 │ │ +021294: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=133 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ │ │ #4 : (in Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;) │ │ @@ -51276,17 +51276,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02136c: |[02136c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getPort:()Ljava/lang/String; │ │ -02137c: 5410 d702 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d7 │ │ -021380: 1100 |0002: return-object v0 │ │ +021368: |[021368] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getPort:()Ljava/lang/String; │ │ +021378: 5410 d702 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d7 │ │ +02137c: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=98 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ │ │ #5 : (in Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;) │ │ @@ -51294,17 +51294,17 @@ │ │ type : '()Ldnsfilter/android/dnsserverconfig/widget/DNSType;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0211f0: |[0211f0] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getProtocol:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ -021200: 5410 d802 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d8 │ │ -021204: 1100 |0002: return-object v0 │ │ +0211ec: |[0211ec] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getProtocol:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ +0211fc: 5410 d802 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d8 │ │ +021200: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=102 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ │ │ #6 : (in Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;) │ │ @@ -51312,17 +51312,17 @@ │ │ type : '()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0211ac: |[0211ac] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; │ │ -0211bc: 5410 d902 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d9 │ │ -0211c0: 1100 |0002: return-object v0 │ │ +0211a8: |[0211a8] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; │ │ +0211b8: 5410 d902 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d9 │ │ +0211bc: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=42 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ │ │ #7 : (in Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;) │ │ @@ -51330,17 +51330,17 @@ │ │ type : '()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021194: |[021194] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getValidationResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; │ │ -0211a4: 5410 da02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02da │ │ -0211a8: 1100 |0002: return-object v0 │ │ +021190: |[021190] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getValidationResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; │ │ +0211a0: 5410 da02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02da │ │ +0211a4: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=30 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ │ │ #8 : (in Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;) │ │ @@ -51348,48 +51348,48 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 11 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 54 16-bit code units │ │ -021208: |[021208] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.hashCode:()I │ │ -021218: 54a0 d502 |0000: iget-object v0, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d5 │ │ -02121c: 54a1 d702 |0002: iget-object v1, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d7 │ │ -021220: 54a2 d802 |0004: iget-object v2, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d8 │ │ -021224: 54a3 d402 |0006: iget-object v3, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d4 │ │ -021228: 54a4 d602 |0008: iget-object v4, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d6 │ │ -02122c: 54a5 d902 |000a: iget-object v5, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d9 │ │ -021230: 54a6 da02 |000c: iget-object v6, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02da │ │ -021234: 1277 |000e: const/4 v7, #int 7 // #7 │ │ -021236: 2378 a801 |000f: new-array v8, v7, [Ljava/lang/Object; // type@01a8 │ │ -02123a: 1209 |0011: const/4 v9, #int 0 // #0 │ │ -02123c: 4d00 0809 |0012: aput-object v0, v8, v9 │ │ -021240: 1210 |0014: const/4 v0, #int 1 // #1 │ │ -021242: 4d01 0800 |0015: aput-object v1, v8, v0 │ │ -021246: 1220 |0017: const/4 v0, #int 2 // #2 │ │ -021248: 4d02 0800 |0018: aput-object v2, v8, v0 │ │ -02124c: 1230 |001a: const/4 v0, #int 3 // #3 │ │ -02124e: 4d03 0800 |001b: aput-object v3, v8, v0 │ │ -021252: 1240 |001d: const/4 v0, #int 4 // #4 │ │ -021254: 4d04 0800 |001e: aput-object v4, v8, v0 │ │ -021258: 1250 |0020: const/4 v0, #int 5 // #5 │ │ -02125a: 4d05 0800 |0021: aput-object v5, v8, v0 │ │ -02125e: 1260 |0023: const/4 v0, #int 6 // #6 │ │ -021260: 4d06 0800 |0024: aput-object v6, v8, v0 │ │ -021264: 1200 |0026: const/4 v0, #int 0 // #0 │ │ -021266: 3579 0e00 |0027: if-ge v9, v7, 0035 // +000e │ │ -02126a: da00 001f |0029: mul-int/lit8 v0, v0, #int 31 // #1f │ │ -02126e: 4601 0809 |002b: aget-object v1, v8, v9 │ │ -021272: 6e10 5205 0100 |002d: invoke-virtual {v1}, Ljava/lang/Object;.hashCode:()I // method@0552 │ │ -021278: 0a01 |0030: move-result v1 │ │ -02127a: b010 |0031: add-int/2addr v0, v1 │ │ -02127c: d809 0901 |0032: add-int/lit8 v9, v9, #int 1 // #01 │ │ -021280: 28f3 |0034: goto 0027 // -000d │ │ -021282: 0f00 |0035: return v0 │ │ +021204: |[021204] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.hashCode:()I │ │ +021214: 54a0 d502 |0000: iget-object v0, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d5 │ │ +021218: 54a1 d702 |0002: iget-object v1, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d7 │ │ +02121c: 54a2 d802 |0004: iget-object v2, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d8 │ │ +021220: 54a3 d402 |0006: iget-object v3, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d4 │ │ +021224: 54a4 d602 |0008: iget-object v4, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d6 │ │ +021228: 54a5 d902 |000a: iget-object v5, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d9 │ │ +02122c: 54a6 da02 |000c: iget-object v6, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02da │ │ +021230: 1277 |000e: const/4 v7, #int 7 // #7 │ │ +021232: 2378 a801 |000f: new-array v8, v7, [Ljava/lang/Object; // type@01a8 │ │ +021236: 1209 |0011: const/4 v9, #int 0 // #0 │ │ +021238: 4d00 0809 |0012: aput-object v0, v8, v9 │ │ +02123c: 1210 |0014: const/4 v0, #int 1 // #1 │ │ +02123e: 4d01 0800 |0015: aput-object v1, v8, v0 │ │ +021242: 1220 |0017: const/4 v0, #int 2 // #2 │ │ +021244: 4d02 0800 |0018: aput-object v2, v8, v0 │ │ +021248: 1230 |001a: const/4 v0, #int 3 // #3 │ │ +02124a: 4d03 0800 |001b: aput-object v3, v8, v0 │ │ +02124e: 1240 |001d: const/4 v0, #int 4 // #4 │ │ +021250: 4d04 0800 |001e: aput-object v4, v8, v0 │ │ +021254: 1250 |0020: const/4 v0, #int 5 // #5 │ │ +021256: 4d05 0800 |0021: aput-object v5, v8, v0 │ │ +02125a: 1260 |0023: const/4 v0, #int 6 // #6 │ │ +02125c: 4d06 0800 |0024: aput-object v6, v8, v0 │ │ +021260: 1200 |0026: const/4 v0, #int 0 // #0 │ │ +021262: 3579 0e00 |0027: if-ge v9, v7, 0035 // +000e │ │ +021266: da00 001f |0029: mul-int/lit8 v0, v0, #int 31 // #1f │ │ +02126a: 4601 0809 |002b: aget-object v1, v8, v9 │ │ +02126e: 6e10 5205 0100 |002d: invoke-virtual {v1}, Ljava/lang/Object;.hashCode:()I // method@0552 │ │ +021274: 0a01 |0030: move-result v1 │ │ +021276: b010 |0031: add-int/2addr v0, v1 │ │ +021278: d809 0901 |0032: add-int/lit8 v9, v9, #int 1 // #01 │ │ +02127c: 28f3 |0034: goto 0027 // -000d │ │ +02127e: 0f00 |0035: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=162 │ │ 0x002b line=165 │ │ locals : │ │ 0x0000 - 0x0036 reg=10 this Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ │ │ @@ -51398,17 +51398,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02156c: |[02156c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setEndpoint:(Ljava/lang/String;)V │ │ -02157c: 5b01 d402 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d4 │ │ -021580: 0e00 |0002: return-void │ │ +021568: |[021568] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setEndpoint:(Ljava/lang/String;)V │ │ +021578: 5b01 d402 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d4 │ │ +02157c: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=58 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ 0x0000 - 0x0003 reg=1 (null) Ljava/lang/String; │ │ │ │ @@ -51417,17 +51417,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021584: |[021584] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setIp:(Ljava/lang/String;)V │ │ -021594: 5b01 d502 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d5 │ │ -021598: 0e00 |0002: return-void │ │ +021580: |[021580] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setIp:(Ljava/lang/String;)V │ │ +021590: 5b01 d502 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d5 │ │ +021594: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=46 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ 0x0000 - 0x0003 reg=1 (null) Ljava/lang/String; │ │ │ │ @@ -51436,17 +51436,17 @@ │ │ type : '(Ljava/lang/Boolean;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02159c: |[02159c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setIsActive:(Ljava/lang/Boolean;)V │ │ -0215ac: 5b01 d602 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d6 │ │ -0215b0: 0e00 |0002: return-void │ │ +021598: |[021598] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setIsActive:(Ljava/lang/Boolean;)V │ │ +0215a8: 5b01 d602 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d6 │ │ +0215ac: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=62 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ 0x0000 - 0x0003 reg=1 (null) Ljava/lang/Boolean; │ │ │ │ @@ -51455,17 +51455,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0215b4: |[0215b4] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setPort:(Ljava/lang/String;)V │ │ -0215c4: 5b01 d702 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d7 │ │ -0215c8: 0e00 |0002: return-void │ │ +0215b0: |[0215b0] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setPort:(Ljava/lang/String;)V │ │ +0215c0: 5b01 d702 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d7 │ │ +0215c4: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=50 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ 0x0000 - 0x0003 reg=1 (null) Ljava/lang/String; │ │ │ │ @@ -51474,17 +51474,17 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSType;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0215cc: |[0215cc] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setProtocol:(Ldnsfilter/android/dnsserverconfig/widget/DNSType;)V │ │ -0215dc: 5b01 d802 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d8 │ │ -0215e0: 0e00 |0002: return-void │ │ +0215c8: |[0215c8] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setProtocol:(Ldnsfilter/android/dnsserverconfig/widget/DNSType;)V │ │ +0215d8: 5b01 d802 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d8 │ │ +0215dc: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=54 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ 0x0000 - 0x0003 reg=1 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ │ │ @@ -51493,17 +51493,17 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0215e4: |[0215e4] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V │ │ -0215f4: 5b01 d902 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d9 │ │ -0215f8: 0e00 |0002: return-void │ │ +0215e0: |[0215e0] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V │ │ +0215f0: 5b01 d902 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d9 │ │ +0215f4: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=38 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ 0x0000 - 0x0003 reg=1 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; │ │ │ │ @@ -51512,17 +51512,17 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0215fc: |[0215fc] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setValidationResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V │ │ -02160c: 5b01 da02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02da │ │ -021610: 0e00 |0002: return-void │ │ +0215f8: |[0215f8] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setValidationResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V │ │ +021608: 5b01 da02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02da │ │ +02160c: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=34 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ 0x0000 - 0x0003 reg=1 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; │ │ │ │ @@ -51531,43 +51531,43 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 63 16-bit code units │ │ -021384: |[021384] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.toString:()Ljava/lang/String; │ │ -021394: 2200 2801 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ -021398: 7010 8305 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -02139e: 5431 d602 |0005: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d6 │ │ -0213a2: 6e10 2505 0100 |0007: invoke-virtual {v1}, Ljava/lang/Boolean;.booleanValue:()Z // method@0525 │ │ -0213a8: 0a01 |000a: move-result v1 │ │ -0213aa: 7110 2604 0100 |000b: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIsActiveAsString:(Z)Ljava/lang/String; // method@0426 │ │ -0213b0: 0c01 |000e: move-result-object v1 │ │ -0213b2: 6e20 8905 1000 |000f: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0213b8: 5431 d502 |0012: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d5 │ │ -0213bc: 7110 2004 0100 |0014: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getBracedIP:(Ljava/lang/String;)Ljava/lang/String; // method@0420 │ │ -0213c2: 0c01 |0017: move-result-object v1 │ │ -0213c4: 6e20 8905 1000 |0018: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0213ca: 1a01 8900 |001b: const-string v1, "::" // string@0089 │ │ -0213ce: 6e20 8905 1000 |001d: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0213d4: 5432 d702 |0020: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d7 │ │ -0213d8: 6e20 8905 2000 |0022: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0213de: 6e20 8905 1000 |0025: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0213e4: 5431 d802 |0028: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d8 │ │ -0213e8: 6e10 0c04 0100 |002a: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.toString:()Ljava/lang/String; // method@040c │ │ -0213ee: 0c01 |002d: move-result-object v1 │ │ -0213f0: 6e20 8905 1000 |002e: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0213f6: 5431 d402 |0031: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d4 │ │ -0213fa: 7110 2304 0100 |0033: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getEndpointAsString:(Ljava/lang/String;)Ljava/lang/String; // method@0423 │ │ -021400: 0c01 |0036: move-result-object v1 │ │ -021402: 6e20 8905 1000 |0037: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -021408: 6e10 8b05 0000 |003a: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02140e: 0c00 |003d: move-result-object v0 │ │ -021410: 1100 |003e: return-object v0 │ │ +021380: |[021380] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.toString:()Ljava/lang/String; │ │ +021390: 2200 2801 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ +021394: 7010 8305 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +02139a: 5431 d602 |0005: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d6 │ │ +02139e: 6e10 2505 0100 |0007: invoke-virtual {v1}, Ljava/lang/Boolean;.booleanValue:()Z // method@0525 │ │ +0213a4: 0a01 |000a: move-result v1 │ │ +0213a6: 7110 2604 0100 |000b: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIsActiveAsString:(Z)Ljava/lang/String; // method@0426 │ │ +0213ac: 0c01 |000e: move-result-object v1 │ │ +0213ae: 6e20 8905 1000 |000f: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0213b4: 5431 d502 |0012: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d5 │ │ +0213b8: 7110 2004 0100 |0014: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getBracedIP:(Ljava/lang/String;)Ljava/lang/String; // method@0420 │ │ +0213be: 0c01 |0017: move-result-object v1 │ │ +0213c0: 6e20 8905 1000 |0018: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0213c6: 1a01 8900 |001b: const-string v1, "::" // string@0089 │ │ +0213ca: 6e20 8905 1000 |001d: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0213d0: 5432 d702 |0020: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d7 │ │ +0213d4: 6e20 8905 2000 |0022: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0213da: 6e20 8905 1000 |0025: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0213e0: 5431 d802 |0028: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d8 │ │ +0213e4: 6e10 0c04 0100 |002a: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.toString:()Ljava/lang/String; // method@040c │ │ +0213ea: 0c01 |002d: move-result-object v1 │ │ +0213ec: 6e20 8905 1000 |002e: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0213f2: 5431 d402 |0031: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d4 │ │ +0213f6: 7110 2304 0100 |0033: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getEndpointAsString:(Ljava/lang/String;)Ljava/lang/String; // method@0423 │ │ +0213fc: 0c01 |0036: move-result-object v1 │ │ +0213fe: 6e20 8905 1000 |0037: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +021404: 6e10 8b05 0000 |003a: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02140a: 0c00 |003d: move-result-object v0 │ │ +02140c: 1100 |003e: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=111 │ │ 0x0014 line=112 │ │ 0x002a line=116 │ │ 0x0033 line=117 │ │ locals : │ │ @@ -51756,50 +51756,50 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 0 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -022510: |[022510] dnsfilter.remote.RemoteAccessClient.:()V │ │ -022520: 0e00 |0000: return-void │ │ +02250c: |[02250c] dnsfilter.remote.RemoteAccessClient.:()V │ │ +02251c: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #1 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ name : '' │ │ type : '(Lutil/LoggerInterface;Ljava/lang/String;ILjava/lang/String;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 8 │ │ ins : 5 │ │ outs : 1 │ │ insns size : 43 16-bit code units │ │ -022524: |[022524] dnsfilter.remote.RemoteAccessClient.:(Lutil/LoggerInterface;Ljava/lang/String;ILjava/lang/String;)V │ │ -022534: 7010 3301 0300 |0000: invoke-direct {v3}, Ldnsfilter/ConfigurationAccess;.:()V // method@0133 │ │ -02253a: 12f0 |0003: const/4 v0, #int -1 // #ff │ │ -02253c: 5930 ed02 |0004: iput v0, v3, Ldnsfilter/remote/RemoteAccessClient;.ctrlConId:I // field@02ed │ │ -022540: 1a01 a200 |0006: const-string v1, "" // string@00a2 │ │ -022544: 5b31 f102 |0008: iput-object v1, v3, Ldnsfilter/remote/RemoteAccessClient;.last_dns:Ljava/lang/String; // field@02f1 │ │ -022548: 5930 eb02 |000a: iput v0, v3, Ldnsfilter/remote/RemoteAccessClient;.con_cnt:I // field@02eb │ │ -02254c: 1200 |000c: const/4 v0, #int 0 // #0 │ │ -02254e: 5c30 f802 |000d: iput-boolean v0, v3, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f8 │ │ -022552: 1801 ffff ffff ffff ff7f |000f: const-wide v1, #double nan // #7fffffffffffffff │ │ -02255c: 5a31 f702 |0014: iput-wide v1, v3, Ldnsfilter/remote/RemoteAccessClient;.timeout:J // field@02f7 │ │ -022560: 5930 f602 |0016: iput v0, v3, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f6 │ │ -022564: 3904 0600 |0018: if-nez v4, 001e // +0006 │ │ -022568: 7100 0107 0000 |001a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -02256e: 0c04 |001d: move-result-object v4 │ │ -022570: 5b34 ec02 |001e: iput-object v4, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -022574: 7110 a806 0700 |0020: invoke-static {v7}, Lutil/Encryption;.init_AES:(Ljava/lang/String;)V // method@06a8 │ │ -02257a: 5b35 ef02 |0023: iput-object v5, v3, Ldnsfilter/remote/RemoteAccessClient;.host:Ljava/lang/String; // field@02ef │ │ -02257e: 5936 f302 |0025: iput v6, v3, Ldnsfilter/remote/RemoteAccessClient;.port:I // field@02f3 │ │ -022582: 7010 4304 0300 |0027: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.connect:()V // method@0443 │ │ -022588: 0e00 |002a: return-void │ │ +022520: |[022520] dnsfilter.remote.RemoteAccessClient.:(Lutil/LoggerInterface;Ljava/lang/String;ILjava/lang/String;)V │ │ +022530: 7010 3301 0300 |0000: invoke-direct {v3}, Ldnsfilter/ConfigurationAccess;.:()V // method@0133 │ │ +022536: 12f0 |0003: const/4 v0, #int -1 // #ff │ │ +022538: 5930 ed02 |0004: iput v0, v3, Ldnsfilter/remote/RemoteAccessClient;.ctrlConId:I // field@02ed │ │ +02253c: 1a01 a200 |0006: const-string v1, "" // string@00a2 │ │ +022540: 5b31 f102 |0008: iput-object v1, v3, Ldnsfilter/remote/RemoteAccessClient;.last_dns:Ljava/lang/String; // field@02f1 │ │ +022544: 5930 eb02 |000a: iput v0, v3, Ldnsfilter/remote/RemoteAccessClient;.con_cnt:I // field@02eb │ │ +022548: 1200 |000c: const/4 v0, #int 0 // #0 │ │ +02254a: 5c30 f802 |000d: iput-boolean v0, v3, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f8 │ │ +02254e: 1801 ffff ffff ffff ff7f |000f: const-wide v1, #double nan // #7fffffffffffffff │ │ +022558: 5a31 f702 |0014: iput-wide v1, v3, Ldnsfilter/remote/RemoteAccessClient;.timeout:J // field@02f7 │ │ +02255c: 5930 f602 |0016: iput v0, v3, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f6 │ │ +022560: 3904 0600 |0018: if-nez v4, 001e // +0006 │ │ +022564: 7100 0107 0000 |001a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +02256a: 0c04 |001d: move-result-object v4 │ │ +02256c: 5b34 ec02 |001e: iput-object v4, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +022570: 7110 a806 0700 |0020: invoke-static {v7}, Lutil/Encryption;.init_AES:(Ljava/lang/String;)V // method@06a8 │ │ +022576: 5b35 ef02 |0023: iput-object v5, v3, Ldnsfilter/remote/RemoteAccessClient;.host:Ljava/lang/String; // field@02ef │ │ +02257a: 5936 f302 |0025: iput v6, v3, Ldnsfilter/remote/RemoteAccessClient;.port:I // field@02f3 │ │ +02257e: 7010 4304 0300 |0027: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.connect:()V // method@0443 │ │ +022584: 0e00 |002a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=59 │ │ 0x0004 line=46 │ │ 0x0006 line=49 │ │ 0x000a line=50 │ │ 0x000d line=53 │ │ @@ -51823,18 +51823,18 @@ │ │ type : '(Ldnsfilter/remote/RemoteAccessClient;)[Ljava/lang/Object;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 5 16-bit code units │ │ -021d78: |[021d78] dnsfilter.remote.RemoteAccessClient.access$000:(Ldnsfilter/remote/RemoteAccessClient;)[Ljava/lang/Object; │ │ -021d88: 7010 5104 0000 |0000: invoke-direct {v0}, Ldnsfilter/remote/RemoteAccessClient;.initConnection:()[Ljava/lang/Object; // method@0451 │ │ -021d8e: 0c00 |0003: move-result-object v0 │ │ -021d90: 1100 |0004: return-object v0 │ │ +021d74: |[021d74] dnsfilter.remote.RemoteAccessClient.access$000:(Ldnsfilter/remote/RemoteAccessClient;)[Ljava/lang/Object; │ │ +021d84: 7010 5104 0000 |0000: invoke-direct {v0}, Ldnsfilter/remote/RemoteAccessClient;.initConnection:()[Ljava/lang/Object; // method@0451 │ │ +021d8a: 0c00 |0003: move-result-object v0 │ │ +021d8c: 1100 |0004: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=24 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 (null) Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #3 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -51842,17 +51842,17 @@ │ │ type : '(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0224f8: |[0224f8] dnsfilter.remote.RemoteAccessClient.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; │ │ -022508: 5400 ec02 |0000: iget-object v0, v0, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -02250c: 1100 |0002: return-object v0 │ │ +0224f4: |[0224f4] dnsfilter.remote.RemoteAccessClient.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; │ │ +022504: 5400 ec02 |0000: iget-object v0, v0, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +022508: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=24 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #4 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -51860,17 +51860,17 @@ │ │ type : '(Ldnsfilter/remote/RemoteAccessClient;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -02258c: |[02258c] dnsfilter.remote.RemoteAccessClient.access$200:(Ldnsfilter/remote/RemoteAccessClient;)V │ │ -02259c: 7010 4204 0000 |0000: invoke-direct {v0}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0442 │ │ -0225a2: 0e00 |0003: return-void │ │ +022588: |[022588] dnsfilter.remote.RemoteAccessClient.access$200:(Ldnsfilter/remote/RemoteAccessClient;)V │ │ +022598: 7010 4204 0000 |0000: invoke-direct {v0}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0442 │ │ +02259e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=24 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #5 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -51878,17 +51878,17 @@ │ │ type : '(Ldnsfilter/remote/RemoteAccessClient;Ljava/lang/String;)Ljava/lang/String;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021f58: |[021f58] dnsfilter.remote.RemoteAccessClient.access$302:(Ldnsfilter/remote/RemoteAccessClient;Ljava/lang/String;)Ljava/lang/String; │ │ -021f68: 5b01 f102 |0000: iput-object v1, v0, Ldnsfilter/remote/RemoteAccessClient;.last_dns:Ljava/lang/String; // field@02f1 │ │ -021f6c: 1101 |0002: return-object v1 │ │ +021f54: |[021f54] dnsfilter.remote.RemoteAccessClient.access$302:(Ldnsfilter/remote/RemoteAccessClient;Ljava/lang/String;)Ljava/lang/String; │ │ +021f64: 5b01 f102 |0000: iput-object v1, v0, Ldnsfilter/remote/RemoteAccessClient;.last_dns:Ljava/lang/String; // field@02f1 │ │ +021f68: 1101 |0002: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=24 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/remote/RemoteAccessClient; │ │ 0x0000 - 0x0003 reg=1 (null) Ljava/lang/String; │ │ │ │ @@ -51897,17 +51897,17 @@ │ │ type : '(Ldnsfilter/remote/RemoteAccessClient;I)I' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021ce8: |[021ce8] dnsfilter.remote.RemoteAccessClient.access$402:(Ldnsfilter/remote/RemoteAccessClient;I)I │ │ -021cf8: 5901 eb02 |0000: iput v1, v0, Ldnsfilter/remote/RemoteAccessClient;.con_cnt:I // field@02eb │ │ -021cfc: 0f01 |0002: return v1 │ │ +021ce4: |[021ce4] dnsfilter.remote.RemoteAccessClient.access$402:(Ldnsfilter/remote/RemoteAccessClient;I)I │ │ +021cf4: 5901 eb02 |0000: iput v1, v0, Ldnsfilter/remote/RemoteAccessClient;.con_cnt:I // field@02eb │ │ +021cf8: 0f01 |0002: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=24 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/remote/RemoteAccessClient; │ │ 0x0000 - 0x0003 reg=1 (null) I │ │ │ │ @@ -51916,17 +51916,17 @@ │ │ type : '(Ldnsfilter/remote/RemoteAccessClient;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -0225a4: |[0225a4] dnsfilter.remote.RemoteAccessClient.access$500:(Ldnsfilter/remote/RemoteAccessClient;)V │ │ -0225b4: 7010 5504 0000 |0000: invoke-direct {v0}, Ldnsfilter/remote/RemoteAccessClient;.processHeartBeat:()V // method@0455 │ │ -0225ba: 0e00 |0003: return-void │ │ +0225a0: |[0225a0] dnsfilter.remote.RemoteAccessClient.access$500:(Ldnsfilter/remote/RemoteAccessClient;)V │ │ +0225b0: 7010 5504 0000 |0000: invoke-direct {v0}, Ldnsfilter/remote/RemoteAccessClient;.processHeartBeat:()V // method@0455 │ │ +0225b6: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=24 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #8 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -51934,17 +51934,17 @@ │ │ type : '(Ldnsfilter/remote/RemoteAccessClient;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -0225bc: |[0225bc] dnsfilter.remote.RemoteAccessClient.access$600:(Ldnsfilter/remote/RemoteAccessClient;)V │ │ -0225cc: 6e10 5204 0000 |0000: invoke-virtual {v0}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0452 │ │ -0225d2: 0e00 |0003: return-void │ │ +0225b8: |[0225b8] dnsfilter.remote.RemoteAccessClient.access$600:(Ldnsfilter/remote/RemoteAccessClient;)V │ │ +0225c8: 6e10 5204 0000 |0000: invoke-virtual {v0}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0452 │ │ +0225ce: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=24 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #9 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -51952,51 +51952,51 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 68 16-bit code units │ │ -0225d4: |[0225d4] dnsfilter.remote.RemoteAccessClient.closeConnectionReconnect:()V │ │ -0225e4: 7100 6207 0000 |0000: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0762 │ │ -0225ea: 0c00 |0003: move-result-object v0 │ │ -0225ec: 6e20 6707 4000 |0004: invoke-virtual {v0, v4}, Lutil/TimoutNotificator;.unregister:(Lutil/TimeoutListener;)V // method@0767 │ │ -0225f2: 5540 f802 |0007: iget-boolean v0, v4, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f8 │ │ -0225f6: 3900 0300 |0009: if-nez v0, 000c // +0003 │ │ -0225fa: 0e00 |000b: return-void │ │ -0225fc: 6e10 5704 0400 |000c: invoke-virtual {v4}, Ldnsfilter/remote/RemoteAccessClient;.releaseConfiguration:()V // method@0457 │ │ -022602: 2200 2001 |000f: new-instance v0, Ljava/lang/Object; // type@0120 │ │ -022606: 7010 4f05 0000 |0011: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -02260c: 1d00 |0014: monitor-enter v0 │ │ -02260e: 1601 d007 |0015: const-wide/16 v1, #int 2000 // #7d0 │ │ -022612: 6e30 5605 1002 |0017: invoke-virtual {v0, v1, v2}, Ljava/lang/Object;.wait:(J)V // method@0556 │ │ -022618: 2807 |001a: goto 0021 // +0007 │ │ -02261a: 0d01 |001b: move-exception v1 │ │ -02261c: 2826 |001c: goto 0042 // +0026 │ │ -02261e: 0d01 |001d: move-exception v1 │ │ -022620: 6e10 4505 0100 |001e: invoke-virtual {v1}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@0545 │ │ -022626: 1e00 |0021: monitor-exit v0 │ │ -022628: 7010 4304 0400 |0022: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.connect:()V // method@0443 │ │ -02262e: 281c |0025: goto 0041 // +001c │ │ -022630: 0d00 |0026: move-exception v0 │ │ -022632: 5441 ec02 |0027: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -022636: 2202 2801 |0029: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -02263a: 1a03 2504 |002b: const-string v3, "Reconnect failed:" // string@0425 │ │ -02263e: 7020 8405 3200 |002d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -022644: 6e10 0005 0000 |0030: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ -02264a: 0c00 |0033: move-result-object v0 │ │ -02264c: 6e20 8905 0200 |0034: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -022652: 6e10 8b05 0200 |0037: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -022658: 0c00 |003a: move-result-object v0 │ │ -02265a: 7220 0d07 0100 |003b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -022660: 1200 |003e: const/4 v0, #int 0 // #0 │ │ -022662: 5c40 f802 |003f: iput-boolean v0, v4, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f8 │ │ -022666: 0e00 |0041: return-void │ │ -022668: 1e00 |0042: monitor-exit v0 │ │ -02266a: 2701 |0043: throw v1 │ │ +0225d0: |[0225d0] dnsfilter.remote.RemoteAccessClient.closeConnectionReconnect:()V │ │ +0225e0: 7100 6207 0000 |0000: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0762 │ │ +0225e6: 0c00 |0003: move-result-object v0 │ │ +0225e8: 6e20 6707 4000 |0004: invoke-virtual {v0, v4}, Lutil/TimoutNotificator;.unregister:(Lutil/TimeoutListener;)V // method@0767 │ │ +0225ee: 5540 f802 |0007: iget-boolean v0, v4, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f8 │ │ +0225f2: 3900 0300 |0009: if-nez v0, 000c // +0003 │ │ +0225f6: 0e00 |000b: return-void │ │ +0225f8: 6e10 5704 0400 |000c: invoke-virtual {v4}, Ldnsfilter/remote/RemoteAccessClient;.releaseConfiguration:()V // method@0457 │ │ +0225fe: 2200 2001 |000f: new-instance v0, Ljava/lang/Object; // type@0120 │ │ +022602: 7010 4f05 0000 |0011: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +022608: 1d00 |0014: monitor-enter v0 │ │ +02260a: 1601 d007 |0015: const-wide/16 v1, #int 2000 // #7d0 │ │ +02260e: 6e30 5605 1002 |0017: invoke-virtual {v0, v1, v2}, Ljava/lang/Object;.wait:(J)V // method@0556 │ │ +022614: 2807 |001a: goto 0021 // +0007 │ │ +022616: 0d01 |001b: move-exception v1 │ │ +022618: 2826 |001c: goto 0042 // +0026 │ │ +02261a: 0d01 |001d: move-exception v1 │ │ +02261c: 6e10 4505 0100 |001e: invoke-virtual {v1}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@0545 │ │ +022622: 1e00 |0021: monitor-exit v0 │ │ +022624: 7010 4304 0400 |0022: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.connect:()V // method@0443 │ │ +02262a: 281c |0025: goto 0041 // +001c │ │ +02262c: 0d00 |0026: move-exception v0 │ │ +02262e: 5441 ec02 |0027: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +022632: 2202 2801 |0029: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +022636: 1a03 2504 |002b: const-string v3, "Reconnect failed:" // string@0425 │ │ +02263a: 7020 8405 3200 |002d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +022640: 6e10 0005 0000 |0030: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ +022646: 0c00 |0033: move-result-object v0 │ │ +022648: 6e20 8905 0200 |0034: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02264e: 6e10 8b05 0200 |0037: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +022654: 0c00 |003a: move-result-object v0 │ │ +022656: 7220 0d07 0100 |003b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +02265c: 1200 |003e: const/4 v0, #int 0 // #0 │ │ +02265e: 5c40 f802 |003f: iput-boolean v0, v4, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f8 │ │ +022662: 0e00 |0041: return-void │ │ +022664: 1e00 |0042: monitor-exit v0 │ │ +022666: 2701 |0043: throw v1 │ │ catches : 4 │ │ 0x0017 - 0x001a │ │ Ljava/lang/InterruptedException; -> 0x001d │ │ -> 0x001b │ │ 0x001e - 0x0022 │ │ -> 0x001b │ │ 0x0022 - 0x0025 │ │ @@ -52024,43 +52024,43 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 53 16-bit code units │ │ -022698: |[022698] dnsfilter.remote.RemoteAccessClient.connect:()V │ │ -0226a8: 7010 5104 0400 |0000: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.initConnection:()[Ljava/lang/Object; // method@0451 │ │ -0226ae: 0c00 |0003: move-result-object v0 │ │ -0226b0: 1211 |0004: const/4 v1, #int 1 // #1 │ │ -0226b2: 4602 0001 |0005: aget-object v2, v0, v1 │ │ -0226b6: 1f02 3901 |0007: check-cast v2, Ljava/net/Socket; // type@0139 │ │ -0226ba: 5b42 ee02 |0009: iput-object v2, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlcon:Ljava/net/Socket; // field@02ee │ │ -0226be: 1223 |000b: const/4 v3, #int 2 // #2 │ │ -0226c0: 4603 0003 |000c: aget-object v3, v0, v3 │ │ -0226c4: 1f03 fc00 |000e: check-cast v3, Ljava/io/InputStream; // type@00fc │ │ -0226c8: 5b43 f002 |0010: iput-object v3, v4, Ldnsfilter/remote/RemoteAccessClient;.in:Ljava/io/InputStream; // field@02f0 │ │ -0226cc: 1233 |0012: const/4 v3, #int 3 // #3 │ │ -0226ce: 4603 0003 |0013: aget-object v3, v0, v3 │ │ -0226d2: 1f03 0001 |0015: check-cast v3, Ljava/io/OutputStream; // type@0100 │ │ -0226d6: 5b43 f202 |0017: iput-object v3, v4, Ldnsfilter/remote/RemoteAccessClient;.out:Ljava/io/OutputStream; // field@02f2 │ │ -0226da: 6003 e702 |0019: sget v3, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e7 │ │ -0226de: 6e20 c905 3200 |001b: invoke-virtual {v2, v3}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05c9 │ │ -0226e4: 1202 |001e: const/4 v2, #int 0 // #0 │ │ -0226e6: 4600 0002 |001f: aget-object v0, v0, v2 │ │ -0226ea: 1f00 1901 |0021: check-cast v0, Ljava/lang/Integer; // type@0119 │ │ -0226ee: 6e10 4005 0000 |0023: invoke-virtual {v0}, Ljava/lang/Integer;.intValue:()I // method@0540 │ │ -0226f4: 0a00 |0026: move-result v0 │ │ -0226f6: 5940 ed02 |0027: iput v0, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlConId:I // field@02ed │ │ -0226fa: 2200 e400 |0029: new-instance v0, Ldnsfilter/remote/RemoteAccessClient$RemoteStream; // type@00e4 │ │ -0226fe: 5242 ed02 |002b: iget v2, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlConId:I // field@02ed │ │ -022702: 7030 3404 4002 |002d: invoke-direct {v0, v4, v2}, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.:(Ldnsfilter/remote/RemoteAccessClient;I)V // method@0434 │ │ -022708: 5b40 f402 |0030: iput-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.remoteStream:Ldnsfilter/remote/RemoteAccessClient$RemoteStream; // field@02f4 │ │ -02270c: 5c41 f802 |0032: iput-boolean v1, v4, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f8 │ │ -022710: 0e00 |0034: return-void │ │ +022694: |[022694] dnsfilter.remote.RemoteAccessClient.connect:()V │ │ +0226a4: 7010 5104 0400 |0000: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.initConnection:()[Ljava/lang/Object; // method@0451 │ │ +0226aa: 0c00 |0003: move-result-object v0 │ │ +0226ac: 1211 |0004: const/4 v1, #int 1 // #1 │ │ +0226ae: 4602 0001 |0005: aget-object v2, v0, v1 │ │ +0226b2: 1f02 3901 |0007: check-cast v2, Ljava/net/Socket; // type@0139 │ │ +0226b6: 5b42 ee02 |0009: iput-object v2, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlcon:Ljava/net/Socket; // field@02ee │ │ +0226ba: 1223 |000b: const/4 v3, #int 2 // #2 │ │ +0226bc: 4603 0003 |000c: aget-object v3, v0, v3 │ │ +0226c0: 1f03 fc00 |000e: check-cast v3, Ljava/io/InputStream; // type@00fc │ │ +0226c4: 5b43 f002 |0010: iput-object v3, v4, Ldnsfilter/remote/RemoteAccessClient;.in:Ljava/io/InputStream; // field@02f0 │ │ +0226c8: 1233 |0012: const/4 v3, #int 3 // #3 │ │ +0226ca: 4603 0003 |0013: aget-object v3, v0, v3 │ │ +0226ce: 1f03 0001 |0015: check-cast v3, Ljava/io/OutputStream; // type@0100 │ │ +0226d2: 5b43 f202 |0017: iput-object v3, v4, Ldnsfilter/remote/RemoteAccessClient;.out:Ljava/io/OutputStream; // field@02f2 │ │ +0226d6: 6003 e702 |0019: sget v3, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e7 │ │ +0226da: 6e20 c905 3200 |001b: invoke-virtual {v2, v3}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05c9 │ │ +0226e0: 1202 |001e: const/4 v2, #int 0 // #0 │ │ +0226e2: 4600 0002 |001f: aget-object v0, v0, v2 │ │ +0226e6: 1f00 1901 |0021: check-cast v0, Ljava/lang/Integer; // type@0119 │ │ +0226ea: 6e10 4005 0000 |0023: invoke-virtual {v0}, Ljava/lang/Integer;.intValue:()I // method@0540 │ │ +0226f0: 0a00 |0026: move-result v0 │ │ +0226f2: 5940 ed02 |0027: iput v0, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlConId:I // field@02ed │ │ +0226f6: 2200 e400 |0029: new-instance v0, Ldnsfilter/remote/RemoteAccessClient$RemoteStream; // type@00e4 │ │ +0226fa: 5242 ed02 |002b: iget v2, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlConId:I // field@02ed │ │ +0226fe: 7030 3404 4002 |002d: invoke-direct {v0, v4, v2}, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.:(Ldnsfilter/remote/RemoteAccessClient;I)V // method@0434 │ │ +022704: 5b40 f402 |0030: iput-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.remoteStream:Ldnsfilter/remote/RemoteAccessClient$RemoteStream; // field@02f4 │ │ +022708: 5c41 f802 |0032: iput-boolean v1, v4, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f8 │ │ +02270c: 0e00 |0034: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=73 │ │ 0x0005 line=74 │ │ 0x000c line=75 │ │ 0x0013 line=76 │ │ 0x0019 line=77 │ │ @@ -52075,23 +52075,23 @@ │ │ type : '()Ljava/io/InputStream;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -021d18: |[021d18] dnsfilter.remote.RemoteAccessClient.getInputStream:()Ljava/io/InputStream; │ │ -021d28: 5520 f802 |0000: iget-boolean v0, v2, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f8 │ │ -021d2c: 3800 0500 |0002: if-eqz v0, 0007 // +0005 │ │ -021d30: 5420 f002 |0004: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.in:Ljava/io/InputStream; // field@02f0 │ │ -021d34: 1100 |0006: return-object v0 │ │ -021d36: 2200 fb00 |0007: new-instance v0, Ljava/io/IOException; // type@00fb │ │ -021d3a: 1a01 f303 |0009: const-string v1, "Not connected!" // string@03f3 │ │ -021d3e: 7020 fb04 1000 |000b: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -021d44: 2700 |000e: throw v0 │ │ +021d14: |[021d14] dnsfilter.remote.RemoteAccessClient.getInputStream:()Ljava/io/InputStream; │ │ +021d24: 5520 f802 |0000: iget-boolean v0, v2, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f8 │ │ +021d28: 3800 0500 |0002: if-eqz v0, 0007 // +0005 │ │ +021d2c: 5420 f002 |0004: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.in:Ljava/io/InputStream; // field@02f0 │ │ +021d30: 1100 |0006: return-object v0 │ │ +021d32: 2200 fb00 |0007: new-instance v0, Ljava/io/IOException; // type@00fb │ │ +021d36: 1a01 f303 |0009: const-string v1, "Not connected!" // string@03f3 │ │ +021d3a: 7020 fb04 1000 |000b: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +021d40: 2700 |000e: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=157 │ │ 0x0004 line=160 │ │ 0x0007 line=158 │ │ locals : │ │ 0x0000 - 0x000f reg=2 this Ldnsfilter/remote/RemoteAccessClient; │ │ @@ -52101,23 +52101,23 @@ │ │ type : '()Ljava/io/OutputStream;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -021d48: |[021d48] dnsfilter.remote.RemoteAccessClient.getOutputStream:()Ljava/io/OutputStream; │ │ -021d58: 5520 f802 |0000: iget-boolean v0, v2, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f8 │ │ -021d5c: 3800 0500 |0002: if-eqz v0, 0007 // +0005 │ │ -021d60: 5420 f202 |0004: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.out:Ljava/io/OutputStream; // field@02f2 │ │ -021d64: 1100 |0006: return-object v0 │ │ -021d66: 2200 fb00 |0007: new-instance v0, Ljava/io/IOException; // type@00fb │ │ -021d6a: 1a01 f303 |0009: const-string v1, "Not connected!" // string@03f3 │ │ -021d6e: 7020 fb04 1000 |000b: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -021d74: 2700 |000e: throw v0 │ │ +021d44: |[021d44] dnsfilter.remote.RemoteAccessClient.getOutputStream:()Ljava/io/OutputStream; │ │ +021d54: 5520 f802 |0000: iget-boolean v0, v2, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f8 │ │ +021d58: 3800 0500 |0002: if-eqz v0, 0007 // +0005 │ │ +021d5c: 5420 f202 |0004: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.out:Ljava/io/OutputStream; // field@02f2 │ │ +021d60: 1100 |0006: return-object v0 │ │ +021d62: 2200 fb00 |0007: new-instance v0, Ljava/io/IOException; // type@00fb │ │ +021d66: 1a01 f303 |0009: const-string v1, "Not connected!" // string@03f3 │ │ +021d6a: 7020 fb04 1000 |000b: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +021d70: 2700 |000e: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=164 │ │ 0x0004 line=167 │ │ 0x0007 line=165 │ │ locals : │ │ 0x0000 - 0x000f reg=2 this Ldnsfilter/remote/RemoteAccessClient; │ │ @@ -52127,109 +52127,109 @@ │ │ type : '()[Ljava/lang/Object;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 8 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 179 16-bit code units │ │ -021d94: |[021d94] dnsfilter.remote.RemoteAccessClient.initConnection:()[Ljava/lang/Object; │ │ -021da4: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -021da6: 2201 3901 |0001: new-instance v1, Ljava/net/Socket; // type@0139 │ │ -021daa: 7010 c305 0100 |0003: invoke-direct {v1}, Ljava/net/Socket;.:()V // method@05c3 │ │ -021db0: 2200 3301 |0006: new-instance v0, Ljava/net/InetSocketAddress; // type@0133 │ │ -021db4: 5472 ef02 |0008: iget-object v2, v7, Ldnsfilter/remote/RemoteAccessClient;.host:Ljava/lang/String; // field@02ef │ │ -021db8: 7110 af05 0200 |000a: invoke-static {v2}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05af │ │ -021dbe: 0c02 |000d: move-result-object v2 │ │ -021dc0: 5273 f302 |000e: iget v3, v7, Ldnsfilter/remote/RemoteAccessClient;.port:I // field@02f3 │ │ -021dc4: 7030 b405 2003 |0010: invoke-direct {v0, v2, v3}, Ljava/net/InetSocketAddress;.:(Ljava/net/InetAddress;I)V // method@05b4 │ │ -021dca: 6002 e102 |0013: sget v2, Ldnsfilter/remote/RemoteAccessClient;.CON_TIMEOUT:I // field@02e1 │ │ -021dce: 6e30 c505 0102 |0015: invoke-virtual {v1, v0, v2}, Ljava/net/Socket;.connect:(Ljava/net/SocketAddress;I)V // method@05c5 │ │ -021dd4: 6000 e702 |0018: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e7 │ │ -021dd8: 6e20 c905 0100 |001a: invoke-virtual {v1, v0}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05c9 │ │ -021dde: 6e10 c705 0100 |001d: invoke-virtual {v1}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05c7 │ │ -021de4: 0c00 |0020: move-result-object v0 │ │ -021de6: 1302 0004 |0021: const/16 v2, #int 1024 // #400 │ │ -021dea: 7120 a706 2000 |0023: invoke-static {v0, v2}, Lutil/Encryption;.getEncryptedOutputStream:(Ljava/io/OutputStream;I)Ljava/io/OutputStream; // method@06a7 │ │ -021df0: 0c00 |0026: move-result-object v0 │ │ -021df2: 6e10 c605 0100 |0027: invoke-virtual {v1}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05c6 │ │ -021df8: 0c02 |002a: move-result-object v2 │ │ -021dfa: 7110 a606 0200 |002b: invoke-static {v2}, Lutil/Encryption;.getDecryptedStream:(Ljava/io/InputStream;)Ljava/io/InputStream; // method@06a6 │ │ -021e00: 0c02 |002e: move-result-object v2 │ │ -021e02: 1a03 7a00 |002f: const-string v3, "1505701 │ │ +021d90: |[021d90] dnsfilter.remote.RemoteAccessClient.initConnection:()[Ljava/lang/Object; │ │ +021da0: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +021da2: 2201 3901 |0001: new-instance v1, Ljava/net/Socket; // type@0139 │ │ +021da6: 7010 c305 0100 |0003: invoke-direct {v1}, Ljava/net/Socket;.:()V // method@05c3 │ │ +021dac: 2200 3301 |0006: new-instance v0, Ljava/net/InetSocketAddress; // type@0133 │ │ +021db0: 5472 ef02 |0008: iget-object v2, v7, Ldnsfilter/remote/RemoteAccessClient;.host:Ljava/lang/String; // field@02ef │ │ +021db4: 7110 af05 0200 |000a: invoke-static {v2}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05af │ │ +021dba: 0c02 |000d: move-result-object v2 │ │ +021dbc: 5273 f302 |000e: iget v3, v7, Ldnsfilter/remote/RemoteAccessClient;.port:I // field@02f3 │ │ +021dc0: 7030 b405 2003 |0010: invoke-direct {v0, v2, v3}, Ljava/net/InetSocketAddress;.:(Ljava/net/InetAddress;I)V // method@05b4 │ │ +021dc6: 6002 e102 |0013: sget v2, Ldnsfilter/remote/RemoteAccessClient;.CON_TIMEOUT:I // field@02e1 │ │ +021dca: 6e30 c505 0102 |0015: invoke-virtual {v1, v0, v2}, Ljava/net/Socket;.connect:(Ljava/net/SocketAddress;I)V // method@05c5 │ │ +021dd0: 6000 e702 |0018: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e7 │ │ +021dd4: 6e20 c905 0100 |001a: invoke-virtual {v1, v0}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05c9 │ │ +021dda: 6e10 c705 0100 |001d: invoke-virtual {v1}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05c7 │ │ +021de0: 0c00 |0020: move-result-object v0 │ │ +021de2: 1302 0004 |0021: const/16 v2, #int 1024 // #400 │ │ +021de6: 7120 a706 2000 |0023: invoke-static {v0, v2}, Lutil/Encryption;.getEncryptedOutputStream:(Ljava/io/OutputStream;I)Ljava/io/OutputStream; // method@06a7 │ │ +021dec: 0c00 |0026: move-result-object v0 │ │ +021dee: 6e10 c605 0100 |0027: invoke-virtual {v1}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05c6 │ │ +021df4: 0c02 |002a: move-result-object v2 │ │ +021df6: 7110 a606 0200 |002b: invoke-static {v2}, Lutil/Encryption;.getDecryptedStream:(Ljava/io/InputStream;)Ljava/io/InputStream; // method@06a6 │ │ +021dfc: 0c02 |002e: move-result-object v2 │ │ +021dfe: 1a03 7a00 |002f: const-string v3, "1505701 │ │ new_session │ │ " // string@007a │ │ -021e06: 6e10 6905 0300 |0031: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -021e0c: 0c03 |0034: move-result-object v3 │ │ -021e0e: 6e20 1205 3000 |0035: invoke-virtual {v0, v3}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ -021e14: 6e10 1005 0000 |0038: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ -021e1a: 7110 7907 0200 |003b: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ -021e20: 0c03 |003e: move-result-object v3 │ │ -021e22: 1a04 fb03 |003f: const-string v4, "OK" // string@03fb │ │ -021e26: 6e20 6705 4300 |0041: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -021e2c: 0a04 |0044: move-result v4 │ │ -021e2e: 3804 4500 |0045: if-eqz v4, 008a // +0045 │ │ -021e32: 7110 7907 0200 |0047: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ -021e38: 0c03 |004a: move-result-object v3 │ │ -021e3a: 7110 4105 0300 |004b: invoke-static {v3}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ -021e40: 0a03 |004e: move-result v3 │ │ -021e42: 7110 7907 0200 |004f: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ -021e48: 0c04 |0052: move-result-object v4 │ │ -021e4a: 5b74 f502 |0053: iput-object v4, v7, Ldnsfilter/remote/RemoteAccessClient;.remote_version:Ljava/lang/String; // field@02f5 │ │ -021e4e: 7110 7907 0200 |0055: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ -021e54: 0c04 |0058: move-result-object v4 │ │ -021e56: 5b74 f102 |0059: iput-object v4, v7, Ldnsfilter/remote/RemoteAccessClient;.last_dns:Ljava/lang/String; // field@02f1 │ │ -021e5a: 7110 7907 0200 |005b: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ -021e60: 0c04 |005e: move-result-object v4 │ │ -021e62: 7110 4105 0400 |005f: invoke-static {v4}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ -021e68: 0a04 |0062: move-result v4 │ │ -021e6a: 5974 eb02 |0063: iput v4, v7, Ldnsfilter/remote/RemoteAccessClient;.con_cnt:I // field@02eb │ │ -021e6e: 1204 |0065: const/4 v4, #int 0 // #0 │ │ -021e70: 6e20 c905 4100 |0066: invoke-virtual {v1, v4}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05c9 │ │ -021e76: 1245 |0069: const/4 v5, #int 4 // #4 │ │ -021e78: 2355 a801 |006a: new-array v5, v5, [Ljava/lang/Object; // type@01a8 │ │ -021e7c: 7110 4405 0300 |006c: invoke-static {v3}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0544 │ │ -021e82: 0c03 |006f: move-result-object v3 │ │ -021e84: 4d03 0504 |0070: aput-object v3, v5, v4 │ │ -021e88: 1213 |0072: const/4 v3, #int 1 // #1 │ │ -021e8a: 4d01 0503 |0073: aput-object v1, v5, v3 │ │ -021e8e: 1223 |0075: const/4 v3, #int 2 // #2 │ │ -021e90: 4d02 0503 |0076: aput-object v2, v5, v3 │ │ -021e94: 1232 |0078: const/4 v2, #int 3 // #3 │ │ -021e96: 4d00 0502 |0079: aput-object v0, v5, v2 │ │ -021e9a: 1105 |007b: return-object v5 │ │ -021e9c: 0d00 |007c: move-exception v0 │ │ -021e9e: 2202 fb00 |007d: new-instance v2, Ljava/io/IOException; // type@00fb │ │ -021ea2: 7020 fd04 0200 |007f: invoke-direct {v2, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@04fd │ │ -021ea8: 2702 |0082: throw v2 │ │ -021eaa: 0d00 |0083: move-exception v0 │ │ -021eac: 2202 fb00 |0084: new-instance v2, Ljava/io/IOException; // type@00fb │ │ -021eb0: 7020 fd04 0200 |0086: invoke-direct {v2, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@04fd │ │ -021eb6: 2702 |0089: throw v2 │ │ -021eb8: 2200 fb00 |008a: new-instance v0, Ljava/io/IOException; // type@00fb │ │ -021ebc: 7020 fb04 3000 |008c: invoke-direct {v0, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -021ec2: 2700 |008f: throw v0 │ │ -021ec4: 0d00 |0090: move-exception v0 │ │ -021ec6: 2805 |0091: goto 0096 // +0005 │ │ -021ec8: 0d01 |0092: move-exception v1 │ │ -021eca: 0716 |0093: move-object v6, v1 │ │ -021ecc: 0701 |0094: move-object v1, v0 │ │ -021ece: 0760 |0095: move-object v0, v6 │ │ -021ed0: 5472 ec02 |0096: iget-object v2, v7, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -021ed4: 2203 2801 |0098: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -021ed8: 1a04 9001 |009a: const-string v4, "Exception during initConnection(): " // string@0190 │ │ -021edc: 7020 8405 4300 |009c: invoke-direct {v3, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -021ee2: 6e10 0005 0000 |009f: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ -021ee8: 0c04 |00a2: move-result-object v4 │ │ -021eea: 6e20 8905 4300 |00a3: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -021ef0: 6e10 8b05 0300 |00a6: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -021ef6: 0c03 |00a9: move-result-object v3 │ │ -021ef8: 7220 0d07 3200 |00aa: invoke-interface {v2, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -021efe: 3801 0500 |00ad: if-eqz v1, 00b2 // +0005 │ │ -021f02: 7110 6c07 0100 |00af: invoke-static {v1}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@076c │ │ -021f08: 2700 |00b2: throw v0 │ │ +021e02: 6e10 6905 0300 |0031: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +021e08: 0c03 |0034: move-result-object v3 │ │ +021e0a: 6e20 1205 3000 |0035: invoke-virtual {v0, v3}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ +021e10: 6e10 1005 0000 |0038: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ +021e16: 7110 7907 0200 |003b: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ +021e1c: 0c03 |003e: move-result-object v3 │ │ +021e1e: 1a04 fb03 |003f: const-string v4, "OK" // string@03fb │ │ +021e22: 6e20 6705 4300 |0041: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +021e28: 0a04 |0044: move-result v4 │ │ +021e2a: 3804 4500 |0045: if-eqz v4, 008a // +0045 │ │ +021e2e: 7110 7907 0200 |0047: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ +021e34: 0c03 |004a: move-result-object v3 │ │ +021e36: 7110 4105 0300 |004b: invoke-static {v3}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ +021e3c: 0a03 |004e: move-result v3 │ │ +021e3e: 7110 7907 0200 |004f: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ +021e44: 0c04 |0052: move-result-object v4 │ │ +021e46: 5b74 f502 |0053: iput-object v4, v7, Ldnsfilter/remote/RemoteAccessClient;.remote_version:Ljava/lang/String; // field@02f5 │ │ +021e4a: 7110 7907 0200 |0055: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ +021e50: 0c04 |0058: move-result-object v4 │ │ +021e52: 5b74 f102 |0059: iput-object v4, v7, Ldnsfilter/remote/RemoteAccessClient;.last_dns:Ljava/lang/String; // field@02f1 │ │ +021e56: 7110 7907 0200 |005b: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ +021e5c: 0c04 |005e: move-result-object v4 │ │ +021e5e: 7110 4105 0400 |005f: invoke-static {v4}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ +021e64: 0a04 |0062: move-result v4 │ │ +021e66: 5974 eb02 |0063: iput v4, v7, Ldnsfilter/remote/RemoteAccessClient;.con_cnt:I // field@02eb │ │ +021e6a: 1204 |0065: const/4 v4, #int 0 // #0 │ │ +021e6c: 6e20 c905 4100 |0066: invoke-virtual {v1, v4}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05c9 │ │ +021e72: 1245 |0069: const/4 v5, #int 4 // #4 │ │ +021e74: 2355 a801 |006a: new-array v5, v5, [Ljava/lang/Object; // type@01a8 │ │ +021e78: 7110 4405 0300 |006c: invoke-static {v3}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0544 │ │ +021e7e: 0c03 |006f: move-result-object v3 │ │ +021e80: 4d03 0504 |0070: aput-object v3, v5, v4 │ │ +021e84: 1213 |0072: const/4 v3, #int 1 // #1 │ │ +021e86: 4d01 0503 |0073: aput-object v1, v5, v3 │ │ +021e8a: 1223 |0075: const/4 v3, #int 2 // #2 │ │ +021e8c: 4d02 0503 |0076: aput-object v2, v5, v3 │ │ +021e90: 1232 |0078: const/4 v2, #int 3 // #3 │ │ +021e92: 4d00 0502 |0079: aput-object v0, v5, v2 │ │ +021e96: 1105 |007b: return-object v5 │ │ +021e98: 0d00 |007c: move-exception v0 │ │ +021e9a: 2202 fb00 |007d: new-instance v2, Ljava/io/IOException; // type@00fb │ │ +021e9e: 7020 fd04 0200 |007f: invoke-direct {v2, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@04fd │ │ +021ea4: 2702 |0082: throw v2 │ │ +021ea6: 0d00 |0083: move-exception v0 │ │ +021ea8: 2202 fb00 |0084: new-instance v2, Ljava/io/IOException; // type@00fb │ │ +021eac: 7020 fd04 0200 |0086: invoke-direct {v2, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@04fd │ │ +021eb2: 2702 |0089: throw v2 │ │ +021eb4: 2200 fb00 |008a: new-instance v0, Ljava/io/IOException; // type@00fb │ │ +021eb8: 7020 fb04 3000 |008c: invoke-direct {v0, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +021ebe: 2700 |008f: throw v0 │ │ +021ec0: 0d00 |0090: move-exception v0 │ │ +021ec2: 2805 |0091: goto 0096 // +0005 │ │ +021ec4: 0d01 |0092: move-exception v1 │ │ +021ec6: 0716 |0093: move-object v6, v1 │ │ +021ec8: 0701 |0094: move-object v1, v0 │ │ +021eca: 0760 |0095: move-object v0, v6 │ │ +021ecc: 5472 ec02 |0096: iget-object v2, v7, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +021ed0: 2203 2801 |0098: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +021ed4: 1a04 9001 |009a: const-string v4, "Exception during initConnection(): " // string@0190 │ │ +021ed8: 7020 8405 4300 |009c: invoke-direct {v3, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +021ede: 6e10 0005 0000 |009f: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ +021ee4: 0c04 |00a2: move-result-object v4 │ │ +021ee6: 6e20 8905 4300 |00a3: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +021eec: 6e10 8b05 0300 |00a6: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +021ef2: 0c03 |00a9: move-result-object v3 │ │ +021ef4: 7220 0d07 3200 |00aa: invoke-interface {v2, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +021efa: 3801 0500 |00ad: if-eqz v1, 00b2 // +0005 │ │ +021efe: 7110 6c07 0100 |00af: invoke-static {v1}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@076c │ │ +021f04: 2700 |00b2: throw v0 │ │ catches : 6 │ │ 0x0001 - 0x0006 │ │ Ljava/io/IOException; -> 0x0092 │ │ 0x0006 - 0x0045 │ │ Ljava/io/IOException; -> 0x0090 │ │ 0x0047 - 0x004f │ │ Ljava/lang/Exception; -> 0x0083 │ │ @@ -52271,23 +52271,23 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 16 16-bit code units │ │ -022778: |[022778] dnsfilter.remote.RemoteAccessClient.processHeartBeat:()V │ │ -022788: 5420 ec02 |0000: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -02278c: 1a01 b901 |0002: const-string v1, "Heart Beat!" // string@01b9 │ │ -022790: 7220 0e07 1000 |0004: invoke-interface {v0, v1}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ -022796: 1200 |0007: const/4 v0, #int 0 // #0 │ │ -022798: 5920 f602 |0008: iput v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f6 │ │ -02279c: 6000 e702 |000a: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e7 │ │ -0227a0: 7020 5a04 0200 |000c: invoke-direct {v2, v0}, Ldnsfilter/remote/RemoteAccessClient;.setTimeout:(I)V // method@045a │ │ -0227a6: 0e00 |000f: return-void │ │ +022774: |[022774] dnsfilter.remote.RemoteAccessClient.processHeartBeat:()V │ │ +022784: 5420 ec02 |0000: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +022788: 1a01 b901 |0002: const-string v1, "Heart Beat!" // string@01b9 │ │ +02278c: 7220 0e07 1000 |0004: invoke-interface {v0, v1}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ +022792: 1200 |0007: const/4 v0, #int 0 // #0 │ │ +022794: 5920 f602 |0008: iput v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f6 │ │ +022798: 6000 e702 |000a: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e7 │ │ +02279c: 7020 5a04 0200 |000c: invoke-direct {v2, v0}, Ldnsfilter/remote/RemoteAccessClient;.setTimeout:(I)V // method@045a │ │ +0227a2: 0e00 |000f: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=545 │ │ 0x0008 line=546 │ │ 0x000a line=547 │ │ locals : │ │ 0x0000 - 0x0010 reg=2 this Ldnsfilter/remote/RemoteAccessClient; │ │ @@ -52297,24 +52297,24 @@ │ │ type : '(I)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 16 16-bit code units │ │ -0228a4: |[0228a4] dnsfilter.remote.RemoteAccessClient.setTimeout:(I)V │ │ -0228b4: 7100 8d05 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@058d │ │ -0228ba: 0b00 |0003: move-result-wide v0 │ │ -0228bc: 8152 |0004: int-to-long v2, v5 │ │ -0228be: bb20 |0005: add-long/2addr v0, v2 │ │ -0228c0: 5a40 f702 |0006: iput-wide v0, v4, Ldnsfilter/remote/RemoteAccessClient;.timeout:J // field@02f7 │ │ -0228c4: 7100 6207 0000 |0008: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0762 │ │ -0228ca: 0c05 |000b: move-result-object v5 │ │ -0228cc: 6e20 6407 4500 |000c: invoke-virtual {v5, v4}, Lutil/TimoutNotificator;.register:(Lutil/TimeoutListener;)V // method@0764 │ │ -0228d2: 0e00 |000f: return-void │ │ +0228a0: |[0228a0] dnsfilter.remote.RemoteAccessClient.setTimeout:(I)V │ │ +0228b0: 7100 8d05 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@058d │ │ +0228b6: 0b00 |0003: move-result-wide v0 │ │ +0228b8: 8152 |0004: int-to-long v2, v5 │ │ +0228ba: bb20 |0005: add-long/2addr v0, v2 │ │ +0228bc: 5a40 f702 |0006: iput-wide v0, v4, Ldnsfilter/remote/RemoteAccessClient;.timeout:J // field@02f7 │ │ +0228c0: 7100 6207 0000 |0008: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0762 │ │ +0228c6: 0c05 |000b: move-result-object v5 │ │ +0228c8: 6e20 6407 4500 |000c: invoke-virtual {v5, v4}, Lutil/TimoutNotificator;.register:(Lutil/TimeoutListener;)V // method@0764 │ │ +0228ce: 0e00 |000f: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=552 │ │ 0x0008 line=553 │ │ locals : │ │ 0x0000 - 0x0010 reg=4 this Ldnsfilter/remote/RemoteAccessClient; │ │ 0x0000 - 0x0010 reg=5 (null) I │ │ @@ -52324,84 +52324,84 @@ │ │ type : '(Ljava/lang/String;Ljava/lang/String;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 148 16-bit code units │ │ -02294c: |[02294c] dnsfilter.remote.RemoteAccessClient.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V │ │ -02295c: 1a00 0200 |0000: const-string v0, " │ │ +022948: |[022948] dnsfilter.remote.RemoteAccessClient.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V │ │ +022958: 1a00 0200 |0000: const-string v0, " │ │ " // string@0002 │ │ -022960: 7010 4e04 0300 |0002: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ -022966: 0c01 |0005: move-result-object v1 │ │ -022968: 2202 2801 |0006: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -02296c: 7010 8305 0200 |0008: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -022972: 6e20 8905 4200 |000b: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -022978: 6e20 8905 0200 |000e: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02297e: 6e10 8b05 0200 |0011: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -022984: 0c02 |0014: move-result-object v2 │ │ -022986: 6e10 6905 0200 |0015: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -02298c: 0c02 |0018: move-result-object v2 │ │ -02298e: 6e20 1205 2100 |0019: invoke-virtual {v1, v2}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ -022994: 3805 1c00 |001c: if-eqz v5, 0038 // +001c │ │ -022998: 7010 4e04 0300 |001e: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ -02299e: 0c01 |0021: move-result-object v1 │ │ -0229a0: 2202 2801 |0022: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -0229a4: 7010 8305 0200 |0024: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -0229aa: 6e20 8905 5200 |0027: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0229b0: 6e20 8905 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0229b6: 6e10 8b05 0200 |002d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0229bc: 0c05 |0030: move-result-object v5 │ │ -0229be: 6e10 6905 0500 |0031: invoke-virtual {v5}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -0229c4: 0c05 |0034: move-result-object v5 │ │ -0229c6: 6e20 1205 5100 |0035: invoke-virtual {v1, v5}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ -0229cc: 7010 4e04 0300 |0038: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ -0229d2: 0c05 |003b: move-result-object v5 │ │ -0229d4: 6e10 1005 0500 |003c: invoke-virtual {v5}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ -0229da: 7010 4c04 0300 |003f: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@044c │ │ -0229e0: 0c05 |0042: move-result-object v5 │ │ -0229e2: 7110 7907 0500 |0043: invoke-static {v5}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ -0229e8: 0c05 |0046: move-result-object v5 │ │ -0229ea: 1a00 fb03 |0047: const-string v0, "OK" // string@03fb │ │ -0229ee: 6e20 6705 0500 |0049: invoke-virtual {v5, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -0229f4: 0a00 |004c: move-result v0 │ │ -0229f6: 3800 0300 |004d: if-eqz v0, 0050 // +0003 │ │ -0229fa: 0e00 |004f: return-void │ │ -0229fc: 2200 7d00 |0050: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@007d │ │ -022a00: 1201 |0052: const/4 v1, #int 0 // #0 │ │ -022a02: 7030 3001 5001 |0053: invoke-direct {v0, v5, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0130 │ │ -022a08: 2700 |0056: throw v0 │ │ -022a0a: 0d05 |0057: move-exception v5 │ │ -022a0c: 5430 ec02 |0058: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -022a10: 2201 2801 |005a: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -022a14: 1a02 2f04 |005c: const-string v2, "Remote action " // string@042f │ │ -022a18: 7020 8405 2100 |005e: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -022a1e: 6e20 8905 4100 |0061: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -022a24: 1a04 1c00 |0064: const-string v4, " failed! " // string@001c │ │ -022a28: 6e20 8905 4100 |0066: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -022a2e: 6e10 fe04 0500 |0069: invoke-virtual {v5}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ -022a34: 0c04 |006c: move-result-object v4 │ │ -022a36: 6e20 8905 4100 |006d: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -022a3c: 6e10 8b05 0100 |0070: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -022a42: 0c04 |0073: move-result-object v4 │ │ -022a44: 7220 0d07 4000 |0074: invoke-interface {v0, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -022a4a: 7010 4204 0300 |0077: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0442 │ │ -022a50: 2705 |007a: throw v5 │ │ -022a52: 0d04 |007b: move-exception v4 │ │ -022a54: 5435 ec02 |007c: iget-object v5, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -022a58: 2200 2801 |007e: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ -022a5c: 1a01 3304 |0080: const-string v1, "Remote action failed! " // string@0433 │ │ -022a60: 7020 8405 1000 |0082: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -022a66: 6e10 3101 0400 |0085: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0131 │ │ -022a6c: 0c01 |0088: move-result-object v1 │ │ -022a6e: 6e20 8905 1000 |0089: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -022a74: 6e10 8b05 0000 |008c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -022a7a: 0c00 |008f: move-result-object v0 │ │ -022a7c: 7220 0d07 0500 |0090: invoke-interface {v5, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -022a82: 2704 |0093: throw v4 │ │ +02295c: 7010 4e04 0300 |0002: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ +022962: 0c01 |0005: move-result-object v1 │ │ +022964: 2202 2801 |0006: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +022968: 7010 8305 0200 |0008: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +02296e: 6e20 8905 4200 |000b: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +022974: 6e20 8905 0200 |000e: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02297a: 6e10 8b05 0200 |0011: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +022980: 0c02 |0014: move-result-object v2 │ │ +022982: 6e10 6905 0200 |0015: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +022988: 0c02 |0018: move-result-object v2 │ │ +02298a: 6e20 1205 2100 |0019: invoke-virtual {v1, v2}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ +022990: 3805 1c00 |001c: if-eqz v5, 0038 // +001c │ │ +022994: 7010 4e04 0300 |001e: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ +02299a: 0c01 |0021: move-result-object v1 │ │ +02299c: 2202 2801 |0022: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +0229a0: 7010 8305 0200 |0024: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +0229a6: 6e20 8905 5200 |0027: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0229ac: 6e20 8905 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0229b2: 6e10 8b05 0200 |002d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0229b8: 0c05 |0030: move-result-object v5 │ │ +0229ba: 6e10 6905 0500 |0031: invoke-virtual {v5}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +0229c0: 0c05 |0034: move-result-object v5 │ │ +0229c2: 6e20 1205 5100 |0035: invoke-virtual {v1, v5}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ +0229c8: 7010 4e04 0300 |0038: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ +0229ce: 0c05 |003b: move-result-object v5 │ │ +0229d0: 6e10 1005 0500 |003c: invoke-virtual {v5}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ +0229d6: 7010 4c04 0300 |003f: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@044c │ │ +0229dc: 0c05 |0042: move-result-object v5 │ │ +0229de: 7110 7907 0500 |0043: invoke-static {v5}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ +0229e4: 0c05 |0046: move-result-object v5 │ │ +0229e6: 1a00 fb03 |0047: const-string v0, "OK" // string@03fb │ │ +0229ea: 6e20 6705 0500 |0049: invoke-virtual {v5, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +0229f0: 0a00 |004c: move-result v0 │ │ +0229f2: 3800 0300 |004d: if-eqz v0, 0050 // +0003 │ │ +0229f6: 0e00 |004f: return-void │ │ +0229f8: 2200 7d00 |0050: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@007d │ │ +0229fc: 1201 |0052: const/4 v1, #int 0 // #0 │ │ +0229fe: 7030 3001 5001 |0053: invoke-direct {v0, v5, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0130 │ │ +022a04: 2700 |0056: throw v0 │ │ +022a06: 0d05 |0057: move-exception v5 │ │ +022a08: 5430 ec02 |0058: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +022a0c: 2201 2801 |005a: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +022a10: 1a02 2f04 |005c: const-string v2, "Remote action " // string@042f │ │ +022a14: 7020 8405 2100 |005e: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +022a1a: 6e20 8905 4100 |0061: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +022a20: 1a04 1c00 |0064: const-string v4, " failed! " // string@001c │ │ +022a24: 6e20 8905 4100 |0066: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +022a2a: 6e10 fe04 0500 |0069: invoke-virtual {v5}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ +022a30: 0c04 |006c: move-result-object v4 │ │ +022a32: 6e20 8905 4100 |006d: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +022a38: 6e10 8b05 0100 |0070: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +022a3e: 0c04 |0073: move-result-object v4 │ │ +022a40: 7220 0d07 4000 |0074: invoke-interface {v0, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +022a46: 7010 4204 0300 |0077: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0442 │ │ +022a4c: 2705 |007a: throw v5 │ │ +022a4e: 0d04 |007b: move-exception v4 │ │ +022a50: 5435 ec02 |007c: iget-object v5, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +022a54: 2200 2801 |007e: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ +022a58: 1a01 3304 |0080: const-string v1, "Remote action failed! " // string@0433 │ │ +022a5c: 7020 8405 1000 |0082: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +022a62: 6e10 3101 0400 |0085: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0131 │ │ +022a68: 0c01 |0088: move-result-object v1 │ │ +022a6a: 6e20 8905 1000 |0089: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +022a70: 6e10 8b05 0000 |008c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +022a76: 0c00 |008f: move-result-object v0 │ │ +022a78: 7220 0d07 0500 |0090: invoke-interface {v5, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +022a7e: 2704 |0093: throw v4 │ │ catches : 1 │ │ 0x0002 - 0x0057 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x007b │ │ Ljava/io/IOException; -> 0x0057 │ │ positions : │ │ 0x0000 line=174 │ │ 0x001e line=177 │ │ @@ -52426,18 +52426,18 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 6 16-bit code units │ │ -022714: |[022714] dnsfilter.remote.RemoteAccessClient.doBackup:(Ljava/lang/String;)V │ │ -022724: 1a00 7d06 |0000: const-string v0, "doBackup()" // string@067d │ │ -022728: 7030 5e04 0102 |0002: invoke-direct {v1, v0, v2}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@045e │ │ -02272e: 0e00 |0005: return-void │ │ +022710: |[022710] dnsfilter.remote.RemoteAccessClient.doBackup:(Ljava/lang/String;)V │ │ +022720: 1a00 7d06 |0000: const-string v0, "doBackup()" // string@067d │ │ +022724: 7030 5e04 0102 |0002: invoke-direct {v1, v0, v2}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@045e │ │ +02272a: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=484 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Ldnsfilter/remote/RemoteAccessClient; │ │ 0x0000 - 0x0006 reg=2 (null) Ljava/lang/String; │ │ │ │ @@ -52446,19 +52446,19 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 9 16-bit code units │ │ -022730: |[022730] dnsfilter.remote.RemoteAccessClient.doRestore:(Ljava/lang/String;)V │ │ -022740: 6e10 5204 0100 |0000: invoke-virtual {v1}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0452 │ │ -022746: 1a00 8306 |0003: const-string v0, "doRestore()" // string@0683 │ │ -02274a: 7030 5e04 0102 |0005: invoke-direct {v1, v0, v2}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@045e │ │ -022750: 0e00 |0008: return-void │ │ +02272c: |[02272c] dnsfilter.remote.RemoteAccessClient.doRestore:(Ljava/lang/String;)V │ │ +02273c: 6e10 5204 0100 |0000: invoke-virtual {v1}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0452 │ │ +022742: 1a00 8306 |0003: const-string v0, "doRestore()" // string@0683 │ │ +022746: 7030 5e04 0102 |0005: invoke-direct {v1, v0, v2}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@045e │ │ +02274c: 0e00 |0008: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=530 │ │ 0x0003 line=531 │ │ locals : │ │ 0x0000 - 0x0009 reg=1 this Ldnsfilter/remote/RemoteAccessClient; │ │ 0x0000 - 0x0009 reg=2 (null) Ljava/lang/String; │ │ @@ -52468,20 +52468,20 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 10 16-bit code units │ │ -022754: |[022754] dnsfilter.remote.RemoteAccessClient.doRestoreDefaults:()V │ │ -022764: 6e10 5204 0200 |0000: invoke-virtual {v2}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0452 │ │ -02276a: 1a00 8506 |0003: const-string v0, "doRestoreDefaults()" // string@0685 │ │ -02276e: 1201 |0005: const/4 v1, #int 0 // #0 │ │ -022770: 7030 5e04 0201 |0006: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@045e │ │ -022776: 0e00 |0009: return-void │ │ +022750: |[022750] dnsfilter.remote.RemoteAccessClient.doRestoreDefaults:()V │ │ +022760: 6e10 5204 0200 |0000: invoke-virtual {v2}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0452 │ │ +022766: 1a00 8506 |0003: const-string v0, "doRestoreDefaults()" // string@0685 │ │ +02276a: 1201 |0005: const/4 v1, #int 0 // #0 │ │ +02276c: 7030 5e04 0201 |0006: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@045e │ │ +022772: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=524 │ │ 0x0003 line=525 │ │ locals : │ │ 0x0000 - 0x000a reg=2 this Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ @@ -52490,70 +52490,70 @@ │ │ type : '(I)[B' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 115 16-bit code units │ │ -021ae0: |[021ae0] dnsfilter.remote.RemoteAccessClient.getAdditionalHosts:(I)[B │ │ -021af0: 2200 f400 |0000: new-instance v0, Ljava/io/DataOutputStream; // type@00f4 │ │ -021af4: 7010 4e04 0300 |0002: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ -021afa: 0c01 |0005: move-result-object v1 │ │ -021afc: 7020 d004 1000 |0006: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04d0 │ │ -021b02: 2201 f300 |0009: new-instance v1, Ljava/io/DataInputStream; // type@00f3 │ │ -021b06: 7010 4c04 0300 |000b: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@044c │ │ -021b0c: 0c02 |000e: move-result-object v2 │ │ -021b0e: 7020 c904 2100 |000f: invoke-direct {v1, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04c9 │ │ -021b14: 1a02 2107 |0012: const-string v2, "getAdditionalHosts() │ │ +021adc: |[021adc] dnsfilter.remote.RemoteAccessClient.getAdditionalHosts:(I)[B │ │ +021aec: 2200 f400 |0000: new-instance v0, Ljava/io/DataOutputStream; // type@00f4 │ │ +021af0: 7010 4e04 0300 |0002: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ +021af6: 0c01 |0005: move-result-object v1 │ │ +021af8: 7020 d004 1000 |0006: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04d0 │ │ +021afe: 2201 f300 |0009: new-instance v1, Ljava/io/DataInputStream; // type@00f3 │ │ +021b02: 7010 4c04 0300 |000b: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@044c │ │ +021b08: 0c02 |000e: move-result-object v2 │ │ +021b0a: 7020 c904 2100 |000f: invoke-direct {v1, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04c9 │ │ +021b10: 1a02 2107 |0012: const-string v2, "getAdditionalHosts() │ │ " // string@0721 │ │ -021b18: 6e10 6905 0200 |0014: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -021b1e: 0c02 |0017: move-result-object v2 │ │ -021b20: 6e20 d304 2000 |0018: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -021b26: 6e20 d604 4000 |001b: invoke-virtual {v0, v4}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04d6 │ │ -021b2c: 6e10 d204 0000 |001e: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -021b32: 7110 7907 0100 |0021: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ -021b38: 0c04 |0024: move-result-object v4 │ │ -021b3a: 1a00 fb03 |0025: const-string v0, "OK" // string@03fb │ │ -021b3e: 6e20 6705 0400 |0027: invoke-virtual {v4, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -021b44: 0a00 |002a: move-result v0 │ │ -021b46: 3800 0c00 |002b: if-eqz v0, 0037 // +000c │ │ -021b4a: 6e10 cd04 0100 |002d: invoke-virtual {v1}, Ljava/io/DataInputStream;.readInt:()I // method@04cd │ │ -021b50: 0a04 |0030: move-result v4 │ │ -021b52: 2344 9901 |0031: new-array v4, v4, [B // type@0199 │ │ -021b56: 6e20 cb04 4100 |0033: invoke-virtual {v1, v4}, Ljava/io/DataInputStream;.readFully:([B)V // method@04cb │ │ -021b5c: 1104 |0036: return-object v4 │ │ -021b5e: 2200 7d00 |0037: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@007d │ │ -021b62: 1201 |0039: const/4 v1, #int 0 // #0 │ │ -021b64: 7030 3001 4001 |003a: invoke-direct {v0, v4, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0130 │ │ -021b6a: 2700 |003d: throw v0 │ │ -021b6c: 0d04 |003e: move-exception v4 │ │ -021b6e: 5430 ec02 |003f: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -021b72: 2201 2801 |0041: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -021b76: 1a02 3404 |0043: const-string v2, "Remote action getAdditionalHosts() failed! " // string@0434 │ │ -021b7a: 7020 8405 2100 |0045: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -021b80: 6e10 fe04 0400 |0048: invoke-virtual {v4}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ -021b86: 0c02 |004b: move-result-object v2 │ │ -021b88: 6e20 8905 2100 |004c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -021b8e: 6e10 8b05 0100 |004f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -021b94: 0c01 |0052: move-result-object v1 │ │ -021b96: 7220 0d07 1000 |0053: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -021b9c: 7010 4204 0300 |0056: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0442 │ │ -021ba2: 2704 |0059: throw v4 │ │ -021ba4: 0d04 |005a: move-exception v4 │ │ -021ba6: 5430 ec02 |005b: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -021baa: 2201 2801 |005d: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -021bae: 1a02 3304 |005f: const-string v2, "Remote action failed! " // string@0433 │ │ -021bb2: 7020 8405 2100 |0061: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -021bb8: 6e10 3101 0400 |0064: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0131 │ │ -021bbe: 0c02 |0067: move-result-object v2 │ │ -021bc0: 6e20 8905 2100 |0068: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -021bc6: 6e10 8b05 0100 |006b: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -021bcc: 0c01 |006e: move-result-object v1 │ │ -021bce: 7220 0d07 1000 |006f: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -021bd4: 2704 |0072: throw v4 │ │ +021b14: 6e10 6905 0200 |0014: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +021b1a: 0c02 |0017: move-result-object v2 │ │ +021b1c: 6e20 d304 2000 |0018: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +021b22: 6e20 d604 4000 |001b: invoke-virtual {v0, v4}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04d6 │ │ +021b28: 6e10 d204 0000 |001e: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +021b2e: 7110 7907 0100 |0021: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ +021b34: 0c04 |0024: move-result-object v4 │ │ +021b36: 1a00 fb03 |0025: const-string v0, "OK" // string@03fb │ │ +021b3a: 6e20 6705 0400 |0027: invoke-virtual {v4, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +021b40: 0a00 |002a: move-result v0 │ │ +021b42: 3800 0c00 |002b: if-eqz v0, 0037 // +000c │ │ +021b46: 6e10 cd04 0100 |002d: invoke-virtual {v1}, Ljava/io/DataInputStream;.readInt:()I // method@04cd │ │ +021b4c: 0a04 |0030: move-result v4 │ │ +021b4e: 2344 9901 |0031: new-array v4, v4, [B // type@0199 │ │ +021b52: 6e20 cb04 4100 |0033: invoke-virtual {v1, v4}, Ljava/io/DataInputStream;.readFully:([B)V // method@04cb │ │ +021b58: 1104 |0036: return-object v4 │ │ +021b5a: 2200 7d00 |0037: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@007d │ │ +021b5e: 1201 |0039: const/4 v1, #int 0 // #0 │ │ +021b60: 7030 3001 4001 |003a: invoke-direct {v0, v4, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0130 │ │ +021b66: 2700 |003d: throw v0 │ │ +021b68: 0d04 |003e: move-exception v4 │ │ +021b6a: 5430 ec02 |003f: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +021b6e: 2201 2801 |0041: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +021b72: 1a02 3404 |0043: const-string v2, "Remote action getAdditionalHosts() failed! " // string@0434 │ │ +021b76: 7020 8405 2100 |0045: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +021b7c: 6e10 fe04 0400 |0048: invoke-virtual {v4}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ +021b82: 0c02 |004b: move-result-object v2 │ │ +021b84: 6e20 8905 2100 |004c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +021b8a: 6e10 8b05 0100 |004f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +021b90: 0c01 |0052: move-result-object v1 │ │ +021b92: 7220 0d07 1000 |0053: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +021b98: 7010 4204 0300 |0056: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0442 │ │ +021b9e: 2704 |0059: throw v4 │ │ +021ba0: 0d04 |005a: move-exception v4 │ │ +021ba2: 5430 ec02 |005b: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +021ba6: 2201 2801 |005d: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +021baa: 1a02 3304 |005f: const-string v2, "Remote action failed! " // string@0433 │ │ +021bae: 7020 8405 2100 |0061: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +021bb4: 6e10 3101 0400 |0064: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0131 │ │ +021bba: 0c02 |0067: move-result-object v2 │ │ +021bbc: 6e20 8905 2100 |0068: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +021bc2: 6e10 8b05 0100 |006b: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +021bc8: 0c01 |006e: move-result-object v1 │ │ +021bca: 7220 0d07 1000 |006f: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +021bd0: 2704 |0072: throw v4 │ │ catches : 1 │ │ 0x0000 - 0x003e │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x005a │ │ Ljava/io/IOException; -> 0x003e │ │ positions : │ │ 0x0000 line=356 │ │ 0x0009 line=357 │ │ @@ -52579,83 +52579,83 @@ │ │ type : '()[Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 134 16-bit code units │ │ -021fe8: |[021fe8] dnsfilter.remote.RemoteAccessClient.getAvailableBackups:()[Ljava/lang/String; │ │ -021ff8: 2200 f400 |0000: new-instance v0, Ljava/io/DataOutputStream; // type@00f4 │ │ -021ffc: 7010 4e04 0500 |0002: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ -022002: 0c01 |0005: move-result-object v1 │ │ -022004: 7020 d004 1000 |0006: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04d0 │ │ -02200a: 2201 f300 |0009: new-instance v1, Ljava/io/DataInputStream; // type@00f3 │ │ -02200e: 7010 4c04 0500 |000b: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@044c │ │ -022014: 0c02 |000e: move-result-object v2 │ │ -022016: 7020 c904 2100 |000f: invoke-direct {v1, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04c9 │ │ -02201c: 1a02 2907 |0012: const-string v2, "getAvailableBackups() │ │ +021fe4: |[021fe4] dnsfilter.remote.RemoteAccessClient.getAvailableBackups:()[Ljava/lang/String; │ │ +021ff4: 2200 f400 |0000: new-instance v0, Ljava/io/DataOutputStream; // type@00f4 │ │ +021ff8: 7010 4e04 0500 |0002: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ +021ffe: 0c01 |0005: move-result-object v1 │ │ +022000: 7020 d004 1000 |0006: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04d0 │ │ +022006: 2201 f300 |0009: new-instance v1, Ljava/io/DataInputStream; // type@00f3 │ │ +02200a: 7010 4c04 0500 |000b: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@044c │ │ +022010: 0c02 |000e: move-result-object v2 │ │ +022012: 7020 c904 2100 |000f: invoke-direct {v1, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04c9 │ │ +022018: 1a02 2907 |0012: const-string v2, "getAvailableBackups() │ │ " // string@0729 │ │ -022020: 6e10 6905 0200 |0014: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -022026: 0c02 |0017: move-result-object v2 │ │ -022028: 6e20 d304 2000 |0018: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -02202e: 6e10 d204 0000 |001b: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -022034: 7110 7907 0100 |001e: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ -02203a: 0c00 |0021: move-result-object v0 │ │ -02203c: 1a02 fb03 |0022: const-string v2, "OK" // string@03fb │ │ -022040: 6e20 6705 2000 |0024: invoke-virtual {v0, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -022046: 0a02 |0027: move-result v2 │ │ -022048: 3802 2000 |0028: if-eqz v2, 0048 // +0020 │ │ -02204c: 7110 7907 0100 |002a: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ -022052: 0c00 |002d: move-result-object v0 │ │ -022054: 7110 4105 0000 |002e: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ -02205a: 0a00 |0031: move-result v0 │ │ -02205c: 2302 a901 |0032: new-array v2, v0, [Ljava/lang/String; // type@01a9 │ │ -022060: 1203 |0034: const/4 v3, #int 0 // #0 │ │ -022062: 3503 0b00 |0035: if-ge v3, v0, 0040 // +000b │ │ -022066: 7110 7907 0100 |0037: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ -02206c: 0c04 |003a: move-result-object v4 │ │ -02206e: 4d04 0203 |003b: aput-object v4, v2, v3 │ │ -022072: d803 0301 |003d: add-int/lit8 v3, v3, #int 1 // #01 │ │ -022076: 28f6 |003f: goto 0035 // -000a │ │ -022078: 1102 |0040: return-object v2 │ │ -02207a: 0d00 |0041: move-exception v0 │ │ -02207c: 2201 fb00 |0042: new-instance v1, Ljava/io/IOException; // type@00fb │ │ -022080: 7020 fd04 0100 |0044: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@04fd │ │ -022086: 2701 |0047: throw v1 │ │ -022088: 2201 7d00 |0048: new-instance v1, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@007d │ │ -02208c: 1202 |004a: const/4 v2, #int 0 // #0 │ │ -02208e: 7030 3001 0102 |004b: invoke-direct {v1, v0, v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0130 │ │ -022094: 2701 |004e: throw v1 │ │ -022096: 0d00 |004f: move-exception v0 │ │ -022098: 5451 ec02 |0050: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -02209c: 2202 2801 |0052: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -0220a0: 1a03 3004 |0054: const-string v3, "Remote action getFilterStatistics() failed! " // string@0430 │ │ -0220a4: 7020 8405 3200 |0056: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -0220aa: 6e10 fe04 0000 |0059: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ -0220b0: 0c03 |005c: move-result-object v3 │ │ -0220b2: 6e20 8905 3200 |005d: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0220b8: 6e10 8b05 0200 |0060: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0220be: 0c02 |0063: move-result-object v2 │ │ -0220c0: 7220 0d07 2100 |0064: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -0220c6: 7010 4204 0500 |0067: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0442 │ │ -0220cc: 2700 |006a: throw v0 │ │ -0220ce: 0d00 |006b: move-exception v0 │ │ -0220d0: 5451 ec02 |006c: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -0220d4: 2202 2801 |006e: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -0220d8: 1a03 3304 |0070: const-string v3, "Remote action failed! " // string@0433 │ │ -0220dc: 7020 8405 3200 |0072: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -0220e2: 6e10 3101 0000 |0075: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0131 │ │ -0220e8: 0c03 |0078: move-result-object v3 │ │ -0220ea: 6e20 8905 3200 |0079: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0220f0: 6e10 8b05 0200 |007c: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0220f6: 0c02 |007f: move-result-object v2 │ │ -0220f8: 7220 0d07 2100 |0080: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -0220fe: 2802 |0083: goto 0085 // +0002 │ │ -022100: 2700 |0084: throw v0 │ │ -022102: 28ff |0085: goto 0084 // -0001 │ │ +02201c: 6e10 6905 0200 |0014: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +022022: 0c02 |0017: move-result-object v2 │ │ +022024: 6e20 d304 2000 |0018: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +02202a: 6e10 d204 0000 |001b: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +022030: 7110 7907 0100 |001e: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ +022036: 0c00 |0021: move-result-object v0 │ │ +022038: 1a02 fb03 |0022: const-string v2, "OK" // string@03fb │ │ +02203c: 6e20 6705 2000 |0024: invoke-virtual {v0, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +022042: 0a02 |0027: move-result v2 │ │ +022044: 3802 2000 |0028: if-eqz v2, 0048 // +0020 │ │ +022048: 7110 7907 0100 |002a: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ +02204e: 0c00 |002d: move-result-object v0 │ │ +022050: 7110 4105 0000 |002e: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ +022056: 0a00 |0031: move-result v0 │ │ +022058: 2302 a901 |0032: new-array v2, v0, [Ljava/lang/String; // type@01a9 │ │ +02205c: 1203 |0034: const/4 v3, #int 0 // #0 │ │ +02205e: 3503 0b00 |0035: if-ge v3, v0, 0040 // +000b │ │ +022062: 7110 7907 0100 |0037: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ +022068: 0c04 |003a: move-result-object v4 │ │ +02206a: 4d04 0203 |003b: aput-object v4, v2, v3 │ │ +02206e: d803 0301 |003d: add-int/lit8 v3, v3, #int 1 // #01 │ │ +022072: 28f6 |003f: goto 0035 // -000a │ │ +022074: 1102 |0040: return-object v2 │ │ +022076: 0d00 |0041: move-exception v0 │ │ +022078: 2201 fb00 |0042: new-instance v1, Ljava/io/IOException; // type@00fb │ │ +02207c: 7020 fd04 0100 |0044: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@04fd │ │ +022082: 2701 |0047: throw v1 │ │ +022084: 2201 7d00 |0048: new-instance v1, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@007d │ │ +022088: 1202 |004a: const/4 v2, #int 0 // #0 │ │ +02208a: 7030 3001 0102 |004b: invoke-direct {v1, v0, v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0130 │ │ +022090: 2701 |004e: throw v1 │ │ +022092: 0d00 |004f: move-exception v0 │ │ +022094: 5451 ec02 |0050: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +022098: 2202 2801 |0052: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +02209c: 1a03 3004 |0054: const-string v3, "Remote action getFilterStatistics() failed! " // string@0430 │ │ +0220a0: 7020 8405 3200 |0056: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +0220a6: 6e10 fe04 0000 |0059: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ +0220ac: 0c03 |005c: move-result-object v3 │ │ +0220ae: 6e20 8905 3200 |005d: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0220b4: 6e10 8b05 0200 |0060: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0220ba: 0c02 |0063: move-result-object v2 │ │ +0220bc: 7220 0d07 2100 |0064: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +0220c2: 7010 4204 0500 |0067: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0442 │ │ +0220c8: 2700 |006a: throw v0 │ │ +0220ca: 0d00 |006b: move-exception v0 │ │ +0220cc: 5451 ec02 |006c: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +0220d0: 2202 2801 |006e: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +0220d4: 1a03 3304 |0070: const-string v3, "Remote action failed! " // string@0433 │ │ +0220d8: 7020 8405 3200 |0072: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +0220de: 6e10 3101 0000 |0075: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0131 │ │ +0220e4: 0c03 |0078: move-result-object v3 │ │ +0220e6: 6e20 8905 3200 |0079: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0220ec: 6e10 8b05 0200 |007c: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0220f2: 0c02 |007f: move-result-object v2 │ │ +0220f4: 7220 0d07 2100 |0080: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +0220fa: 2802 |0083: goto 0085 // +0002 │ │ +0220fc: 2700 |0084: throw v0 │ │ +0220fe: 28ff |0085: goto 0084 // -0001 │ │ catches : 3 │ │ 0x0000 - 0x0028 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x006b │ │ Ljava/io/IOException; -> 0x004f │ │ 0x002a - 0x003d │ │ Ljava/lang/Exception; -> 0x0041 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x006b │ │ @@ -52688,74 +52688,74 @@ │ │ type : '()Ljava/util/Properties;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 120 16-bit code units │ │ -02212c: |[02212c] dnsfilter.remote.RemoteAccessClient.getConfig:()Ljava/util/Properties; │ │ -02213c: 7010 4e04 0400 |0000: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ -022142: 0c00 |0003: move-result-object v0 │ │ -022144: 1a01 3f07 |0004: const-string v1, "getConfig() │ │ +022128: |[022128] dnsfilter.remote.RemoteAccessClient.getConfig:()Ljava/util/Properties; │ │ +022138: 7010 4e04 0400 |0000: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ +02213e: 0c00 |0003: move-result-object v0 │ │ +022140: 1a01 3f07 |0004: const-string v1, "getConfig() │ │ " // string@073f │ │ -022148: 6e10 6905 0100 |0006: invoke-virtual {v1}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -02214e: 0c01 |0009: move-result-object v1 │ │ -022150: 6e20 1205 1000 |000a: invoke-virtual {v0, v1}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ -022156: 7010 4e04 0400 |000d: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ -02215c: 0c00 |0010: move-result-object v0 │ │ -02215e: 6e10 1005 0000 |0011: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ -022164: 7010 4c04 0400 |0014: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@044c │ │ -02216a: 0c00 |0017: move-result-object v0 │ │ -02216c: 7110 7907 0000 |0018: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ -022172: 0c01 |001b: move-result-object v1 │ │ -022174: 1a02 fb03 |001c: const-string v2, "OK" // string@03fb │ │ -022178: 6e20 6705 2100 |001e: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -02217e: 0a02 |0021: move-result v2 │ │ -022180: 3802 1a00 |0022: if-eqz v2, 003c // +001a │ │ -022184: 2201 fe00 |0024: new-instance v1, Ljava/io/ObjectInputStream; // type@00fe │ │ -022188: 7020 0805 0100 |0026: invoke-direct {v1, v0}, Ljava/io/ObjectInputStream;.:(Ljava/io/InputStream;)V // method@0508 │ │ -02218e: 6e10 0905 0100 |0029: invoke-virtual {v1}, Ljava/io/ObjectInputStream;.readObject:()Ljava/lang/Object; // method@0509 │ │ -022194: 0c00 |002c: move-result-object v0 │ │ -022196: 1f00 5e01 |002d: check-cast v0, Ljava/util/Properties; // type@015e │ │ -02219a: 1100 |002f: return-object v0 │ │ -02219c: 0d00 |0030: move-exception v0 │ │ -02219e: 5441 ec02 |0031: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -0221a2: 7220 0c07 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -0221a8: 2201 fb00 |0036: new-instance v1, Ljava/io/IOException; // type@00fb │ │ -0221ac: 7020 fd04 0100 |0038: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@04fd │ │ -0221b2: 2701 |003b: throw v1 │ │ -0221b4: 2200 7d00 |003c: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@007d │ │ -0221b8: 1202 |003e: const/4 v2, #int 0 // #0 │ │ -0221ba: 7030 3001 1002 |003f: invoke-direct {v0, v1, v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0130 │ │ -0221c0: 2700 |0042: throw v0 │ │ -0221c2: 0d00 |0043: move-exception v0 │ │ -0221c4: 5441 ec02 |0044: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -0221c8: 2202 2801 |0046: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -0221cc: 1a03 3504 |0048: const-string v3, "Remote action getConfig() failed! " // string@0435 │ │ -0221d0: 7020 8405 3200 |004a: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -0221d6: 6e10 fe04 0000 |004d: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ -0221dc: 0c03 |0050: move-result-object v3 │ │ -0221de: 6e20 8905 3200 |0051: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0221e4: 6e10 8b05 0200 |0054: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0221ea: 0c02 |0057: move-result-object v2 │ │ -0221ec: 7220 0d07 2100 |0058: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -0221f2: 7010 4204 0400 |005b: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0442 │ │ -0221f8: 2700 |005e: throw v0 │ │ -0221fa: 0d00 |005f: move-exception v0 │ │ -0221fc: 5441 ec02 |0060: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -022200: 2202 2801 |0062: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -022204: 1a03 3304 |0064: const-string v3, "Remote action failed! " // string@0433 │ │ -022208: 7020 8405 3200 |0066: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -02220e: 6e10 3101 0000 |0069: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0131 │ │ -022214: 0c03 |006c: move-result-object v3 │ │ -022216: 6e20 8905 3200 |006d: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02221c: 6e10 8b05 0200 |0070: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -022222: 0c02 |0073: move-result-object v2 │ │ -022224: 7220 0d07 2100 |0074: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -02222a: 2700 |0077: throw v0 │ │ +022144: 6e10 6905 0100 |0006: invoke-virtual {v1}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +02214a: 0c01 |0009: move-result-object v1 │ │ +02214c: 6e20 1205 1000 |000a: invoke-virtual {v0, v1}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ +022152: 7010 4e04 0400 |000d: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ +022158: 0c00 |0010: move-result-object v0 │ │ +02215a: 6e10 1005 0000 |0011: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ +022160: 7010 4c04 0400 |0014: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@044c │ │ +022166: 0c00 |0017: move-result-object v0 │ │ +022168: 7110 7907 0000 |0018: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ +02216e: 0c01 |001b: move-result-object v1 │ │ +022170: 1a02 fb03 |001c: const-string v2, "OK" // string@03fb │ │ +022174: 6e20 6705 2100 |001e: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +02217a: 0a02 |0021: move-result v2 │ │ +02217c: 3802 1a00 |0022: if-eqz v2, 003c // +001a │ │ +022180: 2201 fe00 |0024: new-instance v1, Ljava/io/ObjectInputStream; // type@00fe │ │ +022184: 7020 0805 0100 |0026: invoke-direct {v1, v0}, Ljava/io/ObjectInputStream;.:(Ljava/io/InputStream;)V // method@0508 │ │ +02218a: 6e10 0905 0100 |0029: invoke-virtual {v1}, Ljava/io/ObjectInputStream;.readObject:()Ljava/lang/Object; // method@0509 │ │ +022190: 0c00 |002c: move-result-object v0 │ │ +022192: 1f00 5e01 |002d: check-cast v0, Ljava/util/Properties; // type@015e │ │ +022196: 1100 |002f: return-object v0 │ │ +022198: 0d00 |0030: move-exception v0 │ │ +02219a: 5441 ec02 |0031: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +02219e: 7220 0c07 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +0221a4: 2201 fb00 |0036: new-instance v1, Ljava/io/IOException; // type@00fb │ │ +0221a8: 7020 fd04 0100 |0038: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@04fd │ │ +0221ae: 2701 |003b: throw v1 │ │ +0221b0: 2200 7d00 |003c: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@007d │ │ +0221b4: 1202 |003e: const/4 v2, #int 0 // #0 │ │ +0221b6: 7030 3001 1002 |003f: invoke-direct {v0, v1, v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0130 │ │ +0221bc: 2700 |0042: throw v0 │ │ +0221be: 0d00 |0043: move-exception v0 │ │ +0221c0: 5441 ec02 |0044: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +0221c4: 2202 2801 |0046: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +0221c8: 1a03 3504 |0048: const-string v3, "Remote action getConfig() failed! " // string@0435 │ │ +0221cc: 7020 8405 3200 |004a: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +0221d2: 6e10 fe04 0000 |004d: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ +0221d8: 0c03 |0050: move-result-object v3 │ │ +0221da: 6e20 8905 3200 |0051: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0221e0: 6e10 8b05 0200 |0054: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0221e6: 0c02 |0057: move-result-object v2 │ │ +0221e8: 7220 0d07 2100 |0058: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +0221ee: 7010 4204 0400 |005b: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0442 │ │ +0221f4: 2700 |005e: throw v0 │ │ +0221f6: 0d00 |005f: move-exception v0 │ │ +0221f8: 5441 ec02 |0060: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +0221fc: 2202 2801 |0062: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +022200: 1a03 3304 |0064: const-string v3, "Remote action failed! " // string@0433 │ │ +022204: 7020 8405 3200 |0066: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +02220a: 6e10 3101 0000 |0069: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0131 │ │ +022210: 0c03 |006c: move-result-object v3 │ │ +022212: 6e20 8905 3200 |006d: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +022218: 6e10 8b05 0200 |0070: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02221e: 0c02 |0073: move-result-object v2 │ │ +022220: 7220 0d07 2100 |0074: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +022226: 2700 |0077: throw v0 │ │ catches : 3 │ │ 0x0000 - 0x0022 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x005f │ │ Ljava/io/IOException; -> 0x0043 │ │ 0x0024 - 0x002f │ │ Ljava/lang/ClassNotFoundException; -> 0x0030 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x005f │ │ @@ -52786,92 +52786,92 @@ │ │ type : '()Ljava/util/Properties;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 162 16-bit code units │ │ -022254: |[022254] dnsfilter.remote.RemoteAccessClient.getDefaultConfig:()Ljava/util/Properties; │ │ -022264: 7010 4e04 0500 |0000: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ -02226a: 0c00 |0003: move-result-object v0 │ │ -02226c: 1a01 5e07 |0004: const-string v1, "getDefaultConfig() │ │ +022250: |[022250] dnsfilter.remote.RemoteAccessClient.getDefaultConfig:()Ljava/util/Properties; │ │ +022260: 7010 4e04 0500 |0000: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ +022266: 0c00 |0003: move-result-object v0 │ │ +022268: 1a01 5e07 |0004: const-string v1, "getDefaultConfig() │ │ " // string@075e │ │ -022270: 6e10 6905 0100 |0006: invoke-virtual {v1}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -022276: 0c01 |0009: move-result-object v1 │ │ -022278: 6e20 1205 1000 |000a: invoke-virtual {v0, v1}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ -02227e: 7010 4e04 0500 |000d: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ -022284: 0c00 |0010: move-result-object v0 │ │ -022286: 6e10 1005 0000 |0011: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ -02228c: 7010 4c04 0500 |0014: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@044c │ │ -022292: 0c00 |0017: move-result-object v0 │ │ -022294: 7110 7907 0000 |0018: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ -02229a: 0c01 |001b: move-result-object v1 │ │ -02229c: 1a02 fb03 |001c: const-string v2, "OK" // string@03fb │ │ -0222a0: 6e20 6705 2100 |001e: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -0222a6: 0a02 |0021: move-result v2 │ │ -0222a8: 3802 1a00 |0022: if-eqz v2, 003c // +001a │ │ -0222ac: 2201 fe00 |0024: new-instance v1, Ljava/io/ObjectInputStream; // type@00fe │ │ -0222b0: 7020 0805 0100 |0026: invoke-direct {v1, v0}, Ljava/io/ObjectInputStream;.:(Ljava/io/InputStream;)V // method@0508 │ │ -0222b6: 6e10 0905 0100 |0029: invoke-virtual {v1}, Ljava/io/ObjectInputStream;.readObject:()Ljava/lang/Object; // method@0509 │ │ -0222bc: 0c00 |002c: move-result-object v0 │ │ -0222be: 1f00 5e01 |002d: check-cast v0, Ljava/util/Properties; // type@015e │ │ -0222c2: 1100 |002f: return-object v0 │ │ -0222c4: 0d00 |0030: move-exception v0 │ │ -0222c6: 5451 ec02 |0031: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -0222ca: 7220 0c07 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -0222d0: 2201 fb00 |0036: new-instance v1, Ljava/io/IOException; // type@00fb │ │ -0222d4: 7020 fd04 0100 |0038: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@04fd │ │ -0222da: 2701 |003b: throw v1 │ │ -0222dc: 2200 7d00 |003c: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@007d │ │ -0222e0: 1202 |003e: const/4 v2, #int 0 // #0 │ │ -0222e2: 7030 3001 1002 |003f: invoke-direct {v0, v1, v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0130 │ │ -0222e8: 2700 |0042: throw v0 │ │ -0222ea: 0d00 |0043: move-exception v0 │ │ -0222ec: 5451 ec02 |0044: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -0222f0: 2202 2801 |0046: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -0222f4: 1a03 3504 |0048: const-string v3, "Remote action getConfig() failed! " // string@0435 │ │ -0222f8: 7020 8405 3200 |004a: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -0222fe: 6e10 fe04 0000 |004d: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ -022304: 0c04 |0050: move-result-object v4 │ │ -022306: 6e20 8905 4200 |0051: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02230c: 6e10 8b05 0200 |0054: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -022312: 0c02 |0057: move-result-object v2 │ │ -022314: 7220 0d07 2100 |0058: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -02231a: 5451 ec02 |005b: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -02231e: 2202 2801 |005d: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -022322: 7020 8405 3200 |005f: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -022328: 6e10 fe04 0000 |0062: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ -02232e: 0c03 |0065: move-result-object v3 │ │ -022330: 6e20 8905 3200 |0066: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -022336: 6e10 8b05 0200 |0069: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02233c: 0c02 |006c: move-result-object v2 │ │ -02233e: 7220 0e07 2100 |006d: invoke-interface {v1, v2}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ -022344: 7010 4204 0500 |0070: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0442 │ │ -02234a: 2700 |0073: throw v0 │ │ -02234c: 0d00 |0074: move-exception v0 │ │ -02234e: 5451 ec02 |0075: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -022352: 2202 2801 |0077: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -022356: 1a03 3304 |0079: const-string v3, "Remote action failed! " // string@0433 │ │ -02235a: 7020 8405 3200 |007b: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -022360: 6e10 3101 0000 |007e: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0131 │ │ -022366: 0c04 |0081: move-result-object v4 │ │ -022368: 6e20 8905 4200 |0082: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02236e: 6e10 8b05 0200 |0085: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -022374: 0c02 |0088: move-result-object v2 │ │ -022376: 7220 0d07 2100 |0089: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -02237c: 5451 ec02 |008c: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -022380: 2202 2801 |008e: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -022384: 7020 8405 3200 |0090: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -02238a: 6e10 3101 0000 |0093: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0131 │ │ -022390: 0c03 |0096: move-result-object v3 │ │ -022392: 6e20 8905 3200 |0097: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -022398: 6e10 8b05 0200 |009a: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02239e: 0c02 |009d: move-result-object v2 │ │ -0223a0: 7220 0e07 2100 |009e: invoke-interface {v1, v2}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ -0223a6: 2700 |00a1: throw v0 │ │ +02226c: 6e10 6905 0100 |0006: invoke-virtual {v1}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +022272: 0c01 |0009: move-result-object v1 │ │ +022274: 6e20 1205 1000 |000a: invoke-virtual {v0, v1}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ +02227a: 7010 4e04 0500 |000d: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ +022280: 0c00 |0010: move-result-object v0 │ │ +022282: 6e10 1005 0000 |0011: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ +022288: 7010 4c04 0500 |0014: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@044c │ │ +02228e: 0c00 |0017: move-result-object v0 │ │ +022290: 7110 7907 0000 |0018: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ +022296: 0c01 |001b: move-result-object v1 │ │ +022298: 1a02 fb03 |001c: const-string v2, "OK" // string@03fb │ │ +02229c: 6e20 6705 2100 |001e: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +0222a2: 0a02 |0021: move-result v2 │ │ +0222a4: 3802 1a00 |0022: if-eqz v2, 003c // +001a │ │ +0222a8: 2201 fe00 |0024: new-instance v1, Ljava/io/ObjectInputStream; // type@00fe │ │ +0222ac: 7020 0805 0100 |0026: invoke-direct {v1, v0}, Ljava/io/ObjectInputStream;.:(Ljava/io/InputStream;)V // method@0508 │ │ +0222b2: 6e10 0905 0100 |0029: invoke-virtual {v1}, Ljava/io/ObjectInputStream;.readObject:()Ljava/lang/Object; // method@0509 │ │ +0222b8: 0c00 |002c: move-result-object v0 │ │ +0222ba: 1f00 5e01 |002d: check-cast v0, Ljava/util/Properties; // type@015e │ │ +0222be: 1100 |002f: return-object v0 │ │ +0222c0: 0d00 |0030: move-exception v0 │ │ +0222c2: 5451 ec02 |0031: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +0222c6: 7220 0c07 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +0222cc: 2201 fb00 |0036: new-instance v1, Ljava/io/IOException; // type@00fb │ │ +0222d0: 7020 fd04 0100 |0038: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@04fd │ │ +0222d6: 2701 |003b: throw v1 │ │ +0222d8: 2200 7d00 |003c: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@007d │ │ +0222dc: 1202 |003e: const/4 v2, #int 0 // #0 │ │ +0222de: 7030 3001 1002 |003f: invoke-direct {v0, v1, v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0130 │ │ +0222e4: 2700 |0042: throw v0 │ │ +0222e6: 0d00 |0043: move-exception v0 │ │ +0222e8: 5451 ec02 |0044: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +0222ec: 2202 2801 |0046: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +0222f0: 1a03 3504 |0048: const-string v3, "Remote action getConfig() failed! " // string@0435 │ │ +0222f4: 7020 8405 3200 |004a: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +0222fa: 6e10 fe04 0000 |004d: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ +022300: 0c04 |0050: move-result-object v4 │ │ +022302: 6e20 8905 4200 |0051: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +022308: 6e10 8b05 0200 |0054: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02230e: 0c02 |0057: move-result-object v2 │ │ +022310: 7220 0d07 2100 |0058: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +022316: 5451 ec02 |005b: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +02231a: 2202 2801 |005d: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +02231e: 7020 8405 3200 |005f: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +022324: 6e10 fe04 0000 |0062: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ +02232a: 0c03 |0065: move-result-object v3 │ │ +02232c: 6e20 8905 3200 |0066: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +022332: 6e10 8b05 0200 |0069: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +022338: 0c02 |006c: move-result-object v2 │ │ +02233a: 7220 0e07 2100 |006d: invoke-interface {v1, v2}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ +022340: 7010 4204 0500 |0070: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0442 │ │ +022346: 2700 |0073: throw v0 │ │ +022348: 0d00 |0074: move-exception v0 │ │ +02234a: 5451 ec02 |0075: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +02234e: 2202 2801 |0077: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +022352: 1a03 3304 |0079: const-string v3, "Remote action failed! " // string@0433 │ │ +022356: 7020 8405 3200 |007b: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +02235c: 6e10 3101 0000 |007e: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0131 │ │ +022362: 0c04 |0081: move-result-object v4 │ │ +022364: 6e20 8905 4200 |0082: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02236a: 6e10 8b05 0200 |0085: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +022370: 0c02 |0088: move-result-object v2 │ │ +022372: 7220 0d07 2100 |0089: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +022378: 5451 ec02 |008c: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +02237c: 2202 2801 |008e: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +022380: 7020 8405 3200 |0090: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +022386: 6e10 3101 0000 |0093: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0131 │ │ +02238c: 0c03 |0096: move-result-object v3 │ │ +02238e: 6e20 8905 3200 |0097: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +022394: 6e10 8b05 0200 |009a: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02239a: 0c02 |009d: move-result-object v2 │ │ +02239c: 7220 0e07 2100 |009e: invoke-interface {v1, v2}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ +0223a2: 2700 |00a1: throw v0 │ │ catches : 3 │ │ 0x0000 - 0x0022 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x0074 │ │ Ljava/io/IOException; -> 0x0043 │ │ 0x0024 - 0x002f │ │ Ljava/lang/ClassNotFoundException; -> 0x0030 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x0074 │ │ @@ -52904,75 +52904,75 @@ │ │ type : '()[J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 120 16-bit code units │ │ -0223e8: |[0223e8] dnsfilter.remote.RemoteAccessClient.getFilterStatistics:()[J │ │ -0223f8: 2200 f400 |0000: new-instance v0, Ljava/io/DataOutputStream; // type@00f4 │ │ -0223fc: 7010 4e04 0500 |0002: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ -022402: 0c01 |0005: move-result-object v1 │ │ -022404: 7020 d004 1000 |0006: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04d0 │ │ -02240a: 2201 f300 |0009: new-instance v1, Ljava/io/DataInputStream; // type@00f3 │ │ -02240e: 7010 4c04 0500 |000b: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@044c │ │ -022414: 0c02 |000e: move-result-object v2 │ │ -022416: 7020 c904 2100 |000f: invoke-direct {v1, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04c9 │ │ -02241c: 1a02 7b07 |0012: const-string v2, "getFilterStatistics() │ │ +0223e4: |[0223e4] dnsfilter.remote.RemoteAccessClient.getFilterStatistics:()[J │ │ +0223f4: 2200 f400 |0000: new-instance v0, Ljava/io/DataOutputStream; // type@00f4 │ │ +0223f8: 7010 4e04 0500 |0002: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ +0223fe: 0c01 |0005: move-result-object v1 │ │ +022400: 7020 d004 1000 |0006: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04d0 │ │ +022406: 2201 f300 |0009: new-instance v1, Ljava/io/DataInputStream; // type@00f3 │ │ +02240a: 7010 4c04 0500 |000b: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@044c │ │ +022410: 0c02 |000e: move-result-object v2 │ │ +022412: 7020 c904 2100 |000f: invoke-direct {v1, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04c9 │ │ +022418: 1a02 7b07 |0012: const-string v2, "getFilterStatistics() │ │ " // string@077b │ │ -022420: 6e10 6905 0200 |0014: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -022426: 0c02 |0017: move-result-object v2 │ │ -022428: 6e20 d304 2000 |0018: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -02242e: 6e10 d204 0000 |001b: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -022434: 7110 7907 0100 |001e: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ -02243a: 0c00 |0021: move-result-object v0 │ │ -02243c: 1a02 fb03 |0022: const-string v2, "OK" // string@03fb │ │ -022440: 6e20 6705 2000 |0024: invoke-virtual {v0, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -022446: 0a02 |0027: move-result v2 │ │ -022448: 3802 1400 |0028: if-eqz v2, 003c // +0014 │ │ -02244c: 1220 |002a: const/4 v0, #int 2 // #2 │ │ -02244e: 2300 9b01 |002b: new-array v0, v0, [J // type@019b │ │ -022452: 6e10 ce04 0100 |002d: invoke-virtual {v1}, Ljava/io/DataInputStream;.readLong:()J // method@04ce │ │ -022458: 0b02 |0030: move-result-wide v2 │ │ -02245a: 1204 |0031: const/4 v4, #int 0 // #0 │ │ -02245c: 4c02 0004 |0032: aput-wide v2, v0, v4 │ │ -022460: 6e10 ce04 0100 |0034: invoke-virtual {v1}, Ljava/io/DataInputStream;.readLong:()J // method@04ce │ │ -022466: 0b01 |0037: move-result-wide v1 │ │ -022468: 1213 |0038: const/4 v3, #int 1 // #1 │ │ -02246a: 4c01 0003 |0039: aput-wide v1, v0, v3 │ │ -02246e: 1100 |003b: return-object v0 │ │ -022470: 2201 7d00 |003c: new-instance v1, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@007d │ │ -022474: 1202 |003e: const/4 v2, #int 0 // #0 │ │ -022476: 7030 3001 0102 |003f: invoke-direct {v1, v0, v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0130 │ │ -02247c: 2701 |0042: throw v1 │ │ -02247e: 0d00 |0043: move-exception v0 │ │ -022480: 5451 ec02 |0044: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -022484: 2202 2801 |0046: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -022488: 1a03 3004 |0048: const-string v3, "Remote action getFilterStatistics() failed! " // string@0430 │ │ -02248c: 7020 8405 3200 |004a: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -022492: 6e10 fe04 0000 |004d: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ -022498: 0c03 |0050: move-result-object v3 │ │ -02249a: 6e20 8905 3200 |0051: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0224a0: 6e10 8b05 0200 |0054: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0224a6: 0c02 |0057: move-result-object v2 │ │ -0224a8: 7220 0d07 2100 |0058: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -0224ae: 7010 4204 0500 |005b: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0442 │ │ -0224b4: 2700 |005e: throw v0 │ │ -0224b6: 0d00 |005f: move-exception v0 │ │ -0224b8: 5451 ec02 |0060: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -0224bc: 2202 2801 |0062: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -0224c0: 1a03 3304 |0064: const-string v3, "Remote action failed! " // string@0433 │ │ -0224c4: 7020 8405 3200 |0066: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -0224ca: 6e10 3101 0000 |0069: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0131 │ │ -0224d0: 0c03 |006c: move-result-object v3 │ │ -0224d2: 6e20 8905 3200 |006d: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0224d8: 6e10 8b05 0200 |0070: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0224de: 0c02 |0073: move-result-object v2 │ │ -0224e0: 7220 0d07 2100 |0074: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -0224e6: 2700 |0077: throw v0 │ │ +02241c: 6e10 6905 0200 |0014: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +022422: 0c02 |0017: move-result-object v2 │ │ +022424: 6e20 d304 2000 |0018: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +02242a: 6e10 d204 0000 |001b: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +022430: 7110 7907 0100 |001e: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ +022436: 0c00 |0021: move-result-object v0 │ │ +022438: 1a02 fb03 |0022: const-string v2, "OK" // string@03fb │ │ +02243c: 6e20 6705 2000 |0024: invoke-virtual {v0, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +022442: 0a02 |0027: move-result v2 │ │ +022444: 3802 1400 |0028: if-eqz v2, 003c // +0014 │ │ +022448: 1220 |002a: const/4 v0, #int 2 // #2 │ │ +02244a: 2300 9b01 |002b: new-array v0, v0, [J // type@019b │ │ +02244e: 6e10 ce04 0100 |002d: invoke-virtual {v1}, Ljava/io/DataInputStream;.readLong:()J // method@04ce │ │ +022454: 0b02 |0030: move-result-wide v2 │ │ +022456: 1204 |0031: const/4 v4, #int 0 // #0 │ │ +022458: 4c02 0004 |0032: aput-wide v2, v0, v4 │ │ +02245c: 6e10 ce04 0100 |0034: invoke-virtual {v1}, Ljava/io/DataInputStream;.readLong:()J // method@04ce │ │ +022462: 0b01 |0037: move-result-wide v1 │ │ +022464: 1213 |0038: const/4 v3, #int 1 // #1 │ │ +022466: 4c01 0003 |0039: aput-wide v1, v0, v3 │ │ +02246a: 1100 |003b: return-object v0 │ │ +02246c: 2201 7d00 |003c: new-instance v1, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@007d │ │ +022470: 1202 |003e: const/4 v2, #int 0 // #0 │ │ +022472: 7030 3001 0102 |003f: invoke-direct {v1, v0, v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0130 │ │ +022478: 2701 |0042: throw v1 │ │ +02247a: 0d00 |0043: move-exception v0 │ │ +02247c: 5451 ec02 |0044: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +022480: 2202 2801 |0046: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +022484: 1a03 3004 |0048: const-string v3, "Remote action getFilterStatistics() failed! " // string@0430 │ │ +022488: 7020 8405 3200 |004a: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +02248e: 6e10 fe04 0000 |004d: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ +022494: 0c03 |0050: move-result-object v3 │ │ +022496: 6e20 8905 3200 |0051: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02249c: 6e10 8b05 0200 |0054: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0224a2: 0c02 |0057: move-result-object v2 │ │ +0224a4: 7220 0d07 2100 |0058: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +0224aa: 7010 4204 0500 |005b: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0442 │ │ +0224b0: 2700 |005e: throw v0 │ │ +0224b2: 0d00 |005f: move-exception v0 │ │ +0224b4: 5451 ec02 |0060: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +0224b8: 2202 2801 |0062: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +0224bc: 1a03 3304 |0064: const-string v3, "Remote action failed! " // string@0433 │ │ +0224c0: 7020 8405 3200 |0066: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +0224c6: 6e10 3101 0000 |0069: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0131 │ │ +0224cc: 0c03 |006c: move-result-object v3 │ │ +0224ce: 6e20 8905 3200 |006d: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0224d4: 6e10 8b05 0200 |0070: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0224da: 0c02 |0073: move-result-object v2 │ │ +0224dc: 7220 0d07 2100 |0074: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +0224e2: 2700 |0077: throw v0 │ │ catches : 1 │ │ 0x0000 - 0x0043 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x005f │ │ Ljava/io/IOException; -> 0x0043 │ │ positions : │ │ 0x0000 line=457 │ │ 0x0009 line=458 │ │ @@ -52995,17 +52995,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021f70: |[021f70] dnsfilter.remote.RemoteAccessClient.getLastDNSAddress:()Ljava/lang/String; │ │ -021f80: 5410 f102 |0000: iget-object v0, v1, Ldnsfilter/remote/RemoteAccessClient;.last_dns:Ljava/lang/String; // field@02f1 │ │ -021f84: 1100 |0002: return-object v0 │ │ +021f6c: |[021f6c] dnsfilter.remote.RemoteAccessClient.getLastDNSAddress:()Ljava/lang/String; │ │ +021f7c: 5410 f102 |0000: iget-object v0, v1, Ldnsfilter/remote/RemoteAccessClient;.last_dns:Ljava/lang/String; // field@02f1 │ │ +021f80: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=440 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #9 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -53013,17 +53013,17 @@ │ │ type : '()J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0223d0: |[0223d0] dnsfilter.remote.RemoteAccessClient.getTimoutTime:()J │ │ -0223e0: 5320 f702 |0000: iget-wide v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeout:J // field@02f7 │ │ -0223e4: 1000 |0002: return-wide v0 │ │ +0223cc: |[0223cc] dnsfilter.remote.RemoteAccessClient.getTimoutTime:()J │ │ +0223dc: 5320 f702 |0000: iget-wide v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeout:J // field@02f7 │ │ +0223e0: 1000 |0002: return-wide v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=573 │ │ locals : │ │ 0x0000 - 0x0003 reg=2 this Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #10 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -53031,17 +53031,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021f88: |[021f88] dnsfilter.remote.RemoteAccessClient.getVersion:()Ljava/lang/String; │ │ -021f98: 5410 f502 |0000: iget-object v0, v1, Ldnsfilter/remote/RemoteAccessClient;.remote_version:Ljava/lang/String; // field@02f5 │ │ -021f9c: 1100 |0002: return-object v0 │ │ +021f84: |[021f84] dnsfilter.remote.RemoteAccessClient.getVersion:()Ljava/lang/String; │ │ +021f94: 5410 f502 |0000: iget-object v0, v1, Ldnsfilter/remote/RemoteAccessClient;.remote_version:Ljava/lang/String; // field@02f5 │ │ +021f98: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=430 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #11 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -53049,33 +53049,33 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 2 16-bit code units │ │ -021acc: |[021acc] dnsfilter.remote.RemoteAccessClient.isLocal:()Z │ │ -021adc: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -021ade: 0f00 |0001: return v0 │ │ +021ac8: |[021ac8] dnsfilter.remote.RemoteAccessClient.isLocal:()Z │ │ +021ad8: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +021ada: 0f00 |0001: return v0 │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #12 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ name : 'openConnectionsCount' │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021d00: |[021d00] dnsfilter.remote.RemoteAccessClient.openConnectionsCount:()I │ │ -021d10: 5210 eb02 |0000: iget v0, v1, Ldnsfilter/remote/RemoteAccessClient;.con_cnt:I // field@02eb │ │ -021d14: 0f00 |0002: return v0 │ │ +021cfc: |[021cfc] dnsfilter.remote.RemoteAccessClient.openConnectionsCount:()I │ │ +021d0c: 5210 eb02 |0000: iget v0, v1, Ldnsfilter/remote/RemoteAccessClient;.con_cnt:I // field@02eb │ │ +021d10: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=435 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #13 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -53083,69 +53083,69 @@ │ │ type : '()[B' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 111 16-bit code units │ │ -021be8: |[021be8] dnsfilter.remote.RemoteAccessClient.readConfig:()[B │ │ -021bf8: 7010 4e04 0400 |0000: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ -021bfe: 0c00 |0003: move-result-object v0 │ │ -021c00: 1a01 a809 |0004: const-string v1, "readConfig() │ │ +021be4: |[021be4] dnsfilter.remote.RemoteAccessClient.readConfig:()[B │ │ +021bf4: 7010 4e04 0400 |0000: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ +021bfa: 0c00 |0003: move-result-object v0 │ │ +021bfc: 1a01 a809 |0004: const-string v1, "readConfig() │ │ " // string@09a8 │ │ -021c04: 6e10 6905 0100 |0006: invoke-virtual {v1}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -021c0a: 0c01 |0009: move-result-object v1 │ │ -021c0c: 6e20 1205 1000 |000a: invoke-virtual {v0, v1}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ -021c12: 7010 4e04 0400 |000d: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ -021c18: 0c00 |0010: move-result-object v0 │ │ -021c1a: 6e10 1005 0000 |0011: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ -021c20: 2200 f300 |0014: new-instance v0, Ljava/io/DataInputStream; // type@00f3 │ │ -021c24: 7010 4c04 0400 |0016: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@044c │ │ -021c2a: 0c01 |0019: move-result-object v1 │ │ -021c2c: 7020 c904 1000 |001a: invoke-direct {v0, v1}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04c9 │ │ -021c32: 7110 7907 0000 |001d: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ -021c38: 0c01 |0020: move-result-object v1 │ │ -021c3a: 1a02 fb03 |0021: const-string v2, "OK" // string@03fb │ │ -021c3e: 6e20 6705 2100 |0023: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -021c44: 0a02 |0026: move-result v2 │ │ -021c46: 3802 0c00 |0027: if-eqz v2, 0033 // +000c │ │ -021c4a: 6e10 cd04 0000 |0029: invoke-virtual {v0}, Ljava/io/DataInputStream;.readInt:()I // method@04cd │ │ -021c50: 0a01 |002c: move-result v1 │ │ -021c52: 2311 9901 |002d: new-array v1, v1, [B // type@0199 │ │ -021c56: 6e20 cb04 1000 |002f: invoke-virtual {v0, v1}, Ljava/io/DataInputStream;.readFully:([B)V // method@04cb │ │ -021c5c: 1101 |0032: return-object v1 │ │ -021c5e: 2200 7d00 |0033: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@007d │ │ -021c62: 1202 |0035: const/4 v2, #int 0 // #0 │ │ -021c64: 7030 3001 1002 |0036: invoke-direct {v0, v1, v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0130 │ │ -021c6a: 2700 |0039: throw v0 │ │ -021c6c: 0d00 |003a: move-exception v0 │ │ -021c6e: 5441 ec02 |003b: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -021c72: 2202 2801 |003d: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -021c76: 1a03 3604 |003f: const-string v3, "Remote action readConfig() failed! " // string@0436 │ │ -021c7a: 7020 8405 3200 |0041: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -021c80: 6e10 fe04 0000 |0044: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ -021c86: 0c03 |0047: move-result-object v3 │ │ -021c88: 6e20 8905 3200 |0048: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -021c8e: 6e10 8b05 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -021c94: 0c02 |004e: move-result-object v2 │ │ -021c96: 7220 0d07 2100 |004f: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -021c9c: 7010 4204 0400 |0052: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0442 │ │ -021ca2: 2700 |0055: throw v0 │ │ -021ca4: 0d00 |0056: move-exception v0 │ │ -021ca6: 5441 ec02 |0057: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -021caa: 2202 2801 |0059: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -021cae: 1a03 3304 |005b: const-string v3, "Remote action failed! " // string@0433 │ │ -021cb2: 7020 8405 3200 |005d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -021cb8: 6e10 3101 0000 |0060: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0131 │ │ -021cbe: 0c03 |0063: move-result-object v3 │ │ -021cc0: 6e20 8905 3200 |0064: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -021cc6: 6e10 8b05 0200 |0067: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -021ccc: 0c02 |006a: move-result-object v2 │ │ -021cce: 7220 0d07 2100 |006b: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -021cd4: 2700 |006e: throw v0 │ │ +021c00: 6e10 6905 0100 |0006: invoke-virtual {v1}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +021c06: 0c01 |0009: move-result-object v1 │ │ +021c08: 6e20 1205 1000 |000a: invoke-virtual {v0, v1}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ +021c0e: 7010 4e04 0400 |000d: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ +021c14: 0c00 |0010: move-result-object v0 │ │ +021c16: 6e10 1005 0000 |0011: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ +021c1c: 2200 f300 |0014: new-instance v0, Ljava/io/DataInputStream; // type@00f3 │ │ +021c20: 7010 4c04 0400 |0016: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@044c │ │ +021c26: 0c01 |0019: move-result-object v1 │ │ +021c28: 7020 c904 1000 |001a: invoke-direct {v0, v1}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04c9 │ │ +021c2e: 7110 7907 0000 |001d: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ +021c34: 0c01 |0020: move-result-object v1 │ │ +021c36: 1a02 fb03 |0021: const-string v2, "OK" // string@03fb │ │ +021c3a: 6e20 6705 2100 |0023: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +021c40: 0a02 |0026: move-result v2 │ │ +021c42: 3802 0c00 |0027: if-eqz v2, 0033 // +000c │ │ +021c46: 6e10 cd04 0000 |0029: invoke-virtual {v0}, Ljava/io/DataInputStream;.readInt:()I // method@04cd │ │ +021c4c: 0a01 |002c: move-result v1 │ │ +021c4e: 2311 9901 |002d: new-array v1, v1, [B // type@0199 │ │ +021c52: 6e20 cb04 1000 |002f: invoke-virtual {v0, v1}, Ljava/io/DataInputStream;.readFully:([B)V // method@04cb │ │ +021c58: 1101 |0032: return-object v1 │ │ +021c5a: 2200 7d00 |0033: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@007d │ │ +021c5e: 1202 |0035: const/4 v2, #int 0 // #0 │ │ +021c60: 7030 3001 1002 |0036: invoke-direct {v0, v1, v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0130 │ │ +021c66: 2700 |0039: throw v0 │ │ +021c68: 0d00 |003a: move-exception v0 │ │ +021c6a: 5441 ec02 |003b: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +021c6e: 2202 2801 |003d: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +021c72: 1a03 3604 |003f: const-string v3, "Remote action readConfig() failed! " // string@0436 │ │ +021c76: 7020 8405 3200 |0041: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +021c7c: 6e10 fe04 0000 |0044: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ +021c82: 0c03 |0047: move-result-object v3 │ │ +021c84: 6e20 8905 3200 |0048: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +021c8a: 6e10 8b05 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +021c90: 0c02 |004e: move-result-object v2 │ │ +021c92: 7220 0d07 2100 |004f: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +021c98: 7010 4204 0400 |0052: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0442 │ │ +021c9e: 2700 |0055: throw v0 │ │ +021ca0: 0d00 |0056: move-exception v0 │ │ +021ca2: 5441 ec02 |0057: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +021ca6: 2202 2801 |0059: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +021caa: 1a03 3304 |005b: const-string v3, "Remote action failed! " // string@0433 │ │ +021cae: 7020 8405 3200 |005d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +021cb4: 6e10 3101 0000 |0060: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0131 │ │ +021cba: 0c03 |0063: move-result-object v3 │ │ +021cbc: 6e20 8905 3200 |0064: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +021cc2: 6e10 8b05 0200 |0067: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +021cc8: 0c02 |006a: move-result-object v2 │ │ +021cca: 7220 0d07 2100 |006b: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +021cd0: 2700 |006e: throw v0 │ │ catches : 1 │ │ 0x0000 - 0x003a │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x0056 │ │ Ljava/io/IOException; -> 0x003a │ │ positions : │ │ 0x0000 line=279 │ │ 0x000d line=280 │ │ @@ -53168,51 +53168,51 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 75 16-bit code units │ │ -0227a8: |[0227a8] dnsfilter.remote.RemoteAccessClient.releaseConfiguration:()V │ │ -0227b8: 7100 6207 0000 |0000: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0762 │ │ -0227be: 0c00 |0003: move-result-object v0 │ │ -0227c0: 6e20 6707 4000 |0004: invoke-virtual {v0, v4}, Lutil/TimoutNotificator;.unregister:(Lutil/TimeoutListener;)V // method@0767 │ │ -0227c6: 1200 |0007: const/4 v0, #int 0 // #0 │ │ -0227c8: 5c40 f802 |0008: iput-boolean v0, v4, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f8 │ │ -0227cc: 5440 f402 |000a: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.remoteStream:Ldnsfilter/remote/RemoteAccessClient$RemoteStream; // field@02f4 │ │ -0227d0: 3800 0500 |000c: if-eqz v0, 0011 // +0005 │ │ -0227d4: 6e10 3504 0000 |000e: invoke-virtual {v0}, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.close:()V // method@0435 │ │ -0227da: 5440 ee02 |0011: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlcon:Ljava/net/Socket; // field@02ee │ │ -0227de: 3800 3000 |0013: if-eqz v0, 0043 // +0030 │ │ -0227e2: 5440 f202 |0015: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.out:Ljava/io/OutputStream; // field@02f2 │ │ -0227e6: 1a01 c609 |0017: const-string v1, "releaseConfiguration()" // string@09c6 │ │ -0227ea: 6e10 6905 0100 |0019: invoke-virtual {v1}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -0227f0: 0c01 |001c: move-result-object v1 │ │ -0227f2: 6e20 1205 1000 |001d: invoke-virtual {v0, v1}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ -0227f8: 5440 f202 |0020: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.out:Ljava/io/OutputStream; // field@02f2 │ │ -0227fc: 6e10 1005 0000 |0022: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ -022802: 281e |0025: goto 0043 // +001e │ │ -022804: 0d00 |0026: move-exception v0 │ │ -022806: 5441 ec02 |0027: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -02280a: 2202 2801 |0029: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -02280e: 1a03 9201 |002b: const-string v3, "Exception during remote configuration release: " // string@0192 │ │ -022812: 7020 8405 3200 |002d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -022818: 6e10 0005 0000 |0030: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ -02281e: 0c00 |0033: move-result-object v0 │ │ -022820: 6e20 8905 0200 |0034: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -022826: 6e10 8b05 0200 |0037: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02282c: 0c00 |003a: move-result-object v0 │ │ -02282e: 7220 0d07 0100 |003b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -022834: 5440 ee02 |003e: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlcon:Ljava/net/Socket; // field@02ee │ │ -022838: 7110 6c07 0000 |0040: invoke-static {v0}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@076c │ │ -02283e: 1200 |0043: const/4 v0, #int 0 // #0 │ │ -022840: 5b40 ee02 |0044: iput-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlcon:Ljava/net/Socket; // field@02ee │ │ -022844: 5b40 f402 |0046: iput-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.remoteStream:Ldnsfilter/remote/RemoteAccessClient$RemoteStream; // field@02f4 │ │ -022848: 6900 e802 |0048: sput-object v0, Ldnsfilter/remote/RemoteAccessClient;.REMOTE:Ldnsfilter/ConfigurationAccess; // field@02e8 │ │ -02284c: 0e00 |004a: return-void │ │ +0227a4: |[0227a4] dnsfilter.remote.RemoteAccessClient.releaseConfiguration:()V │ │ +0227b4: 7100 6207 0000 |0000: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0762 │ │ +0227ba: 0c00 |0003: move-result-object v0 │ │ +0227bc: 6e20 6707 4000 |0004: invoke-virtual {v0, v4}, Lutil/TimoutNotificator;.unregister:(Lutil/TimeoutListener;)V // method@0767 │ │ +0227c2: 1200 |0007: const/4 v0, #int 0 // #0 │ │ +0227c4: 5c40 f802 |0008: iput-boolean v0, v4, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f8 │ │ +0227c8: 5440 f402 |000a: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.remoteStream:Ldnsfilter/remote/RemoteAccessClient$RemoteStream; // field@02f4 │ │ +0227cc: 3800 0500 |000c: if-eqz v0, 0011 // +0005 │ │ +0227d0: 6e10 3504 0000 |000e: invoke-virtual {v0}, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.close:()V // method@0435 │ │ +0227d6: 5440 ee02 |0011: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlcon:Ljava/net/Socket; // field@02ee │ │ +0227da: 3800 3000 |0013: if-eqz v0, 0043 // +0030 │ │ +0227de: 5440 f202 |0015: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.out:Ljava/io/OutputStream; // field@02f2 │ │ +0227e2: 1a01 c609 |0017: const-string v1, "releaseConfiguration()" // string@09c6 │ │ +0227e6: 6e10 6905 0100 |0019: invoke-virtual {v1}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +0227ec: 0c01 |001c: move-result-object v1 │ │ +0227ee: 6e20 1205 1000 |001d: invoke-virtual {v0, v1}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ +0227f4: 5440 f202 |0020: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.out:Ljava/io/OutputStream; // field@02f2 │ │ +0227f8: 6e10 1005 0000 |0022: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ +0227fe: 281e |0025: goto 0043 // +001e │ │ +022800: 0d00 |0026: move-exception v0 │ │ +022802: 5441 ec02 |0027: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +022806: 2202 2801 |0029: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +02280a: 1a03 9201 |002b: const-string v3, "Exception during remote configuration release: " // string@0192 │ │ +02280e: 7020 8405 3200 |002d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +022814: 6e10 0005 0000 |0030: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ +02281a: 0c00 |0033: move-result-object v0 │ │ +02281c: 6e20 8905 0200 |0034: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +022822: 6e10 8b05 0200 |0037: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +022828: 0c00 |003a: move-result-object v0 │ │ +02282a: 7220 0d07 0100 |003b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +022830: 5440 ee02 |003e: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlcon:Ljava/net/Socket; // field@02ee │ │ +022834: 7110 6c07 0000 |0040: invoke-static {v0}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@076c │ │ +02283a: 1200 |0043: const/4 v0, #int 0 // #0 │ │ +02283c: 5b40 ee02 |0044: iput-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlcon:Ljava/net/Socket; // field@02ee │ │ +022840: 5b40 f402 |0046: iput-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.remoteStream:Ldnsfilter/remote/RemoteAccessClient$RemoteStream; // field@02f4 │ │ +022844: 6900 e802 |0048: sput-object v0, Ldnsfilter/remote/RemoteAccessClient;.REMOTE:Ldnsfilter/ConfigurationAccess; // field@02e8 │ │ +022848: 0e00 |004a: return-void │ │ catches : 1 │ │ 0x0015 - 0x0025 │ │ Ljava/io/IOException; -> 0x0026 │ │ positions : │ │ 0x0000 line=202 │ │ 0x0008 line=203 │ │ 0x000a line=205 │ │ @@ -53233,19 +53233,19 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 7 16-bit code units │ │ -022860: |[022860] dnsfilter.remote.RemoteAccessClient.releaseWakeLock:()V │ │ -022870: 1a00 ca09 |0000: const-string v0, "releaseWakeLock()" // string@09ca │ │ -022874: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -022876: 7030 5e04 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@045e │ │ -02287c: 0e00 |0006: return-void │ │ +02285c: |[02285c] dnsfilter.remote.RemoteAccessClient.releaseWakeLock:()V │ │ +02286c: 1a00 ca09 |0000: const-string v0, "releaseWakeLock()" // string@09ca │ │ +022870: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +022872: 7030 5e04 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@045e │ │ +022878: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=541 │ │ locals : │ │ 0x0000 - 0x0007 reg=2 this Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #16 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -53253,20 +53253,20 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 10 16-bit code units │ │ -022880: |[022880] dnsfilter.remote.RemoteAccessClient.restart:()V │ │ -022890: 1a00 060a |0000: const-string v0, "restart()" // string@0a06 │ │ -022894: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -022896: 7030 5e04 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@045e │ │ -02289c: 6e10 5204 0200 |0006: invoke-virtual {v2}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0452 │ │ -0228a2: 0e00 |0009: return-void │ │ +02287c: |[02287c] dnsfilter.remote.RemoteAccessClient.restart:()V │ │ +02288c: 1a00 060a |0000: const-string v0, "restart()" // string@0a06 │ │ +022890: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +022892: 7030 5e04 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@045e │ │ +022898: 6e10 5204 0200 |0006: invoke-virtual {v2}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0452 │ │ +02289e: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=445 │ │ 0x0006 line=446 │ │ locals : │ │ 0x0000 - 0x000a reg=2 this Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ @@ -53275,19 +53275,19 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 7 16-bit code units │ │ -0228d4: |[0228d4] dnsfilter.remote.RemoteAccessClient.stop:()V │ │ -0228e4: 1a00 e20a |0000: const-string v0, "stop()" // string@0ae2 │ │ -0228e8: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -0228ea: 7030 5e04 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@045e │ │ -0228f0: 0e00 |0006: return-void │ │ +0228d0: |[0228d0] dnsfilter.remote.RemoteAccessClient.stop:()V │ │ +0228e0: 1a00 e20a |0000: const-string v0, "stop()" // string@0ae2 │ │ +0228e4: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +0228e6: 7030 5e04 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@045e │ │ +0228ec: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=451 │ │ locals : │ │ 0x0000 - 0x0007 reg=2 this Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #18 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -53295,33 +53295,33 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 36 16-bit code units │ │ -0228f4: |[0228f4] dnsfilter.remote.RemoteAccessClient.timeoutNotification:()V │ │ -022904: 5220 f602 |0000: iget v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f6 │ │ -022908: d800 0001 |0002: add-int/lit8 v0, v0, #int 1 // #01 │ │ -02290c: 5920 f602 |0004: iput v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f6 │ │ -022910: 1221 |0006: const/4 v1, #int 2 // #2 │ │ -022912: 3310 1700 |0007: if-ne v0, v1, 001e // +0017 │ │ -022916: 5420 ec02 |0009: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -02291a: 1a01 2d04 |000b: const-string v1, "Remote Session is Dead!" // string@042d │ │ -02291e: 7220 0e07 1000 |000d: invoke-interface {v0, v1}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ -022924: 5420 ec02 |0010: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -022928: 1a01 2e04 |0012: const-string v1, "Remote Session is Dead! - Closing...!" // string@042e │ │ -02292c: 7220 0d07 1000 |0014: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -022932: 1200 |0017: const/4 v0, #int 0 // #0 │ │ -022934: 5920 f602 |0018: iput v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f6 │ │ -022938: 7010 4204 0200 |001a: invoke-direct {v2}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0442 │ │ -02293e: 2806 |001d: goto 0023 // +0006 │ │ -022940: 6000 e702 |001e: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e7 │ │ -022944: 7020 5a04 0200 |0020: invoke-direct {v2, v0}, Ldnsfilter/remote/RemoteAccessClient;.setTimeout:(I)V // method@045a │ │ -02294a: 0e00 |0023: return-void │ │ +0228f0: |[0228f0] dnsfilter.remote.RemoteAccessClient.timeoutNotification:()V │ │ +022900: 5220 f602 |0000: iget v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f6 │ │ +022904: d800 0001 |0002: add-int/lit8 v0, v0, #int 1 // #01 │ │ +022908: 5920 f602 |0004: iput v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f6 │ │ +02290c: 1221 |0006: const/4 v1, #int 2 // #2 │ │ +02290e: 3310 1700 |0007: if-ne v0, v1, 001e // +0017 │ │ +022912: 5420 ec02 |0009: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +022916: 1a01 2d04 |000b: const-string v1, "Remote Session is Dead!" // string@042d │ │ +02291a: 7220 0e07 1000 |000d: invoke-interface {v0, v1}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ +022920: 5420 ec02 |0010: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +022924: 1a01 2e04 |0012: const-string v1, "Remote Session is Dead! - Closing...!" // string@042e │ │ +022928: 7220 0d07 1000 |0014: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +02292e: 1200 |0017: const/4 v0, #int 0 // #0 │ │ +022930: 5920 f602 |0018: iput v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f6 │ │ +022934: 7010 4204 0200 |001a: invoke-direct {v2}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0442 │ │ +02293a: 2806 |001d: goto 0023 // +0006 │ │ +02293c: 6000 e702 |001e: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e7 │ │ +022940: 7020 5a04 0200 |0020: invoke-direct {v2, v0}, Ldnsfilter/remote/RemoteAccessClient;.setTimeout:(I)V // method@045a │ │ +022946: 0e00 |0023: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=558 │ │ 0x0009 line=560 │ │ 0x0010 line=561 │ │ 0x0018 line=562 │ │ 0x001a line=563 │ │ @@ -53334,27 +53334,27 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 27 16-bit code units │ │ -021fa0: |[021fa0] dnsfilter.remote.RemoteAccessClient.toString:()Ljava/lang/String; │ │ -021fb0: 2200 2801 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ -021fb4: 1a01 1904 |0002: const-string v1, "REMOTE -> " // string@0419 │ │ -021fb8: 7020 8405 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -021fbe: 5421 ef02 |0007: iget-object v1, v2, Ldnsfilter/remote/RemoteAccessClient;.host:Ljava/lang/String; // field@02ef │ │ -021fc2: 6e20 8905 1000 |0009: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -021fc8: 1a01 8500 |000c: const-string v1, ":" // string@0085 │ │ -021fcc: 6e20 8905 1000 |000e: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -021fd2: 5221 f302 |0011: iget v1, v2, Ldnsfilter/remote/RemoteAccessClient;.port:I // field@02f3 │ │ -021fd6: 6e20 8605 1000 |0013: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -021fdc: 6e10 8b05 0000 |0016: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -021fe2: 0c00 |0019: move-result-object v0 │ │ -021fe4: 1100 |001a: return-object v0 │ │ +021f9c: |[021f9c] dnsfilter.remote.RemoteAccessClient.toString:()Ljava/lang/String; │ │ +021fac: 2200 2801 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ +021fb0: 1a01 1904 |0002: const-string v1, "REMOTE -> " // string@0419 │ │ +021fb4: 7020 8405 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +021fba: 5421 ef02 |0007: iget-object v1, v2, Ldnsfilter/remote/RemoteAccessClient;.host:Ljava/lang/String; // field@02ef │ │ +021fbe: 6e20 8905 1000 |0009: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +021fc4: 1a01 8500 |000c: const-string v1, ":" // string@0085 │ │ +021fc8: 6e20 8905 1000 |000e: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +021fce: 5221 f302 |0011: iget v1, v2, Ldnsfilter/remote/RemoteAccessClient;.port:I // field@02f3 │ │ +021fd2: 6e20 8605 1000 |0013: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +021fd8: 6e10 8b05 0000 |0016: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +021fde: 0c00 |0019: move-result-object v0 │ │ +021fe0: 1100 |001a: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=85 │ │ locals : │ │ 0x0000 - 0x001b reg=2 this Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #20 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -53362,19 +53362,19 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 7 16-bit code units │ │ -022a94: |[022a94] dnsfilter.remote.RemoteAccessClient.triggerUpdateFilter:()V │ │ -022aa4: 1a00 2d0b |0000: const-string v0, "triggerUpdateFilter()" // string@0b2d │ │ -022aa8: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -022aaa: 7030 5e04 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@045e │ │ -022ab0: 0e00 |0006: return-void │ │ +022a90: |[022a90] dnsfilter.remote.RemoteAccessClient.triggerUpdateFilter:()V │ │ +022aa0: 1a00 2d0b |0000: const-string v0, "triggerUpdateFilter()" // string@0b2d │ │ +022aa4: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +022aa6: 7030 5e04 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@045e │ │ +022aac: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=479 │ │ locals : │ │ 0x0000 - 0x0007 reg=2 this Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #21 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -53382,68 +53382,68 @@ │ │ type : '([B)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 110 16-bit code units │ │ -022ab4: |[022ab4] dnsfilter.remote.RemoteAccessClient.updateAdditionalHosts:([B)V │ │ -022ac4: 2200 f400 |0000: new-instance v0, Ljava/io/DataOutputStream; // type@00f4 │ │ -022ac8: 7010 4e04 0300 |0002: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ -022ace: 0c01 |0005: move-result-object v1 │ │ -022ad0: 7020 d004 1000 |0006: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04d0 │ │ -022ad6: 2201 f300 |0009: new-instance v1, Ljava/io/DataInputStream; // type@00f3 │ │ -022ada: 7010 4c04 0300 |000b: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@044c │ │ -022ae0: 0c02 |000e: move-result-object v2 │ │ -022ae2: 7020 c904 2100 |000f: invoke-direct {v1, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04c9 │ │ -022ae8: 1a02 3e0b |0012: const-string v2, "updateAdditionalHosts() │ │ +022ab0: |[022ab0] dnsfilter.remote.RemoteAccessClient.updateAdditionalHosts:([B)V │ │ +022ac0: 2200 f400 |0000: new-instance v0, Ljava/io/DataOutputStream; // type@00f4 │ │ +022ac4: 7010 4e04 0300 |0002: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ +022aca: 0c01 |0005: move-result-object v1 │ │ +022acc: 7020 d004 1000 |0006: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04d0 │ │ +022ad2: 2201 f300 |0009: new-instance v1, Ljava/io/DataInputStream; // type@00f3 │ │ +022ad6: 7010 4c04 0300 |000b: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@044c │ │ +022adc: 0c02 |000e: move-result-object v2 │ │ +022ade: 7020 c904 2100 |000f: invoke-direct {v1, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04c9 │ │ +022ae4: 1a02 3e0b |0012: const-string v2, "updateAdditionalHosts() │ │ " // string@0b3e │ │ -022aec: 6e10 6905 0200 |0014: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -022af2: 0c02 |0017: move-result-object v2 │ │ -022af4: 6e20 d304 2000 |0018: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -022afa: 2142 |001b: array-length v2, v4 │ │ -022afc: 6e20 d604 2000 |001c: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04d6 │ │ -022b02: 6e20 d304 4000 |001f: invoke-virtual {v0, v4}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -022b08: 6e10 d204 0000 |0022: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -022b0e: 7110 7907 0100 |0025: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ -022b14: 0c04 |0028: move-result-object v4 │ │ -022b16: 1a00 fb03 |0029: const-string v0, "OK" // string@03fb │ │ -022b1a: 6e20 6705 0400 |002b: invoke-virtual {v4, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -022b20: 0a00 |002e: move-result v0 │ │ -022b22: 3800 0300 |002f: if-eqz v0, 0032 // +0003 │ │ -022b26: 0e00 |0031: return-void │ │ -022b28: 2200 7d00 |0032: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@007d │ │ -022b2c: 1201 |0034: const/4 v1, #int 0 // #0 │ │ -022b2e: 7030 3001 4001 |0035: invoke-direct {v0, v4, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0130 │ │ -022b34: 2700 |0038: throw v0 │ │ -022b36: 0d04 |0039: move-exception v4 │ │ -022b38: 5430 ec02 |003a: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -022b3c: 2201 2801 |003c: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -022b40: 1a02 3704 |003e: const-string v2, "Remote action updateAdditionalHosts() failed! " // string@0437 │ │ -022b44: 7020 8405 2100 |0040: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -022b4a: 6e10 fe04 0400 |0043: invoke-virtual {v4}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ -022b50: 0c02 |0046: move-result-object v2 │ │ -022b52: 6e20 8905 2100 |0047: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -022b58: 6e10 8b05 0100 |004a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -022b5e: 0c01 |004d: move-result-object v1 │ │ -022b60: 7220 0d07 1000 |004e: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -022b66: 7010 4204 0300 |0051: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0442 │ │ -022b6c: 2704 |0054: throw v4 │ │ -022b6e: 0d04 |0055: move-exception v4 │ │ -022b70: 5430 ec02 |0056: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -022b74: 2201 2801 |0058: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -022b78: 1a02 3304 |005a: const-string v2, "Remote action failed! " // string@0433 │ │ -022b7c: 7020 8405 2100 |005c: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -022b82: 6e10 3101 0400 |005f: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0131 │ │ -022b88: 0c02 |0062: move-result-object v2 │ │ -022b8a: 6e20 8905 2100 |0063: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -022b90: 6e10 8b05 0100 |0066: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -022b96: 0c01 |0069: move-result-object v1 │ │ -022b98: 7220 0d07 1000 |006a: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -022b9e: 2704 |006d: throw v4 │ │ +022ae8: 6e10 6905 0200 |0014: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +022aee: 0c02 |0017: move-result-object v2 │ │ +022af0: 6e20 d304 2000 |0018: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +022af6: 2142 |001b: array-length v2, v4 │ │ +022af8: 6e20 d604 2000 |001c: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04d6 │ │ +022afe: 6e20 d304 4000 |001f: invoke-virtual {v0, v4}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +022b04: 6e10 d204 0000 |0022: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +022b0a: 7110 7907 0100 |0025: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ +022b10: 0c04 |0028: move-result-object v4 │ │ +022b12: 1a00 fb03 |0029: const-string v0, "OK" // string@03fb │ │ +022b16: 6e20 6705 0400 |002b: invoke-virtual {v4, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +022b1c: 0a00 |002e: move-result v0 │ │ +022b1e: 3800 0300 |002f: if-eqz v0, 0032 // +0003 │ │ +022b22: 0e00 |0031: return-void │ │ +022b24: 2200 7d00 |0032: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@007d │ │ +022b28: 1201 |0034: const/4 v1, #int 0 // #0 │ │ +022b2a: 7030 3001 4001 |0035: invoke-direct {v0, v4, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0130 │ │ +022b30: 2700 |0038: throw v0 │ │ +022b32: 0d04 |0039: move-exception v4 │ │ +022b34: 5430 ec02 |003a: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +022b38: 2201 2801 |003c: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +022b3c: 1a02 3704 |003e: const-string v2, "Remote action updateAdditionalHosts() failed! " // string@0437 │ │ +022b40: 7020 8405 2100 |0040: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +022b46: 6e10 fe04 0400 |0043: invoke-virtual {v4}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ +022b4c: 0c02 |0046: move-result-object v2 │ │ +022b4e: 6e20 8905 2100 |0047: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +022b54: 6e10 8b05 0100 |004a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +022b5a: 0c01 |004d: move-result-object v1 │ │ +022b5c: 7220 0d07 1000 |004e: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +022b62: 7010 4204 0300 |0051: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0442 │ │ +022b68: 2704 |0054: throw v4 │ │ +022b6a: 0d04 |0055: move-exception v4 │ │ +022b6c: 5430 ec02 |0056: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +022b70: 2201 2801 |0058: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +022b74: 1a02 3304 |005a: const-string v2, "Remote action failed! " // string@0433 │ │ +022b78: 7020 8405 2100 |005c: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +022b7e: 6e10 3101 0400 |005f: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0131 │ │ +022b84: 0c02 |0062: move-result-object v2 │ │ +022b86: 6e20 8905 2100 |0063: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +022b8c: 6e10 8b05 0100 |0066: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +022b92: 0c01 |0069: move-result-object v1 │ │ +022b94: 7220 0d07 1000 |006a: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +022b9a: 2704 |006d: throw v4 │ │ catches : 1 │ │ 0x0000 - 0x0039 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x0055 │ │ Ljava/io/IOException; -> 0x0039 │ │ positions : │ │ 0x0000 line=384 │ │ 0x0009 line=385 │ │ @@ -53468,67 +53468,67 @@ │ │ type : '([B)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 108 16-bit code units │ │ -022bb0: |[022bb0] dnsfilter.remote.RemoteAccessClient.updateConfig:([B)V │ │ -022bc0: 6e10 5204 0300 |0000: invoke-virtual {v3}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0452 │ │ -022bc6: 7010 4c04 0300 |0003: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@044c │ │ -022bcc: 0c00 |0006: move-result-object v0 │ │ -022bce: 2201 f400 |0007: new-instance v1, Ljava/io/DataOutputStream; // type@00f4 │ │ -022bd2: 7010 4e04 0300 |0009: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ -022bd8: 0c02 |000c: move-result-object v2 │ │ -022bda: 7020 d004 2100 |000d: invoke-direct {v1, v2}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04d0 │ │ -022be0: 1a02 410b |0010: const-string v2, "updateConfig() │ │ +022bac: |[022bac] dnsfilter.remote.RemoteAccessClient.updateConfig:([B)V │ │ +022bbc: 6e10 5204 0300 |0000: invoke-virtual {v3}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0452 │ │ +022bc2: 7010 4c04 0300 |0003: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@044c │ │ +022bc8: 0c00 |0006: move-result-object v0 │ │ +022bca: 2201 f400 |0007: new-instance v1, Ljava/io/DataOutputStream; // type@00f4 │ │ +022bce: 7010 4e04 0300 |0009: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ +022bd4: 0c02 |000c: move-result-object v2 │ │ +022bd6: 7020 d004 2100 |000d: invoke-direct {v1, v2}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04d0 │ │ +022bdc: 1a02 410b |0010: const-string v2, "updateConfig() │ │ " // string@0b41 │ │ -022be4: 6e10 6905 0200 |0012: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -022bea: 0c02 |0015: move-result-object v2 │ │ -022bec: 6e20 d304 2100 |0016: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -022bf2: 2142 |0019: array-length v2, v4 │ │ -022bf4: 6e20 d604 2100 |001a: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04d6 │ │ -022bfa: 6e20 d304 4100 |001d: invoke-virtual {v1, v4}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -022c00: 6e10 d204 0100 |0020: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -022c06: 7110 7907 0000 |0023: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ -022c0c: 0c04 |0026: move-result-object v4 │ │ -022c0e: 1a00 fb03 |0027: const-string v0, "OK" // string@03fb │ │ -022c12: 6e20 6705 0400 |0029: invoke-virtual {v4, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -022c18: 0a00 |002c: move-result v0 │ │ -022c1a: 3800 0300 |002d: if-eqz v0, 0030 // +0003 │ │ -022c1e: 0e00 |002f: return-void │ │ -022c20: 2200 7d00 |0030: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@007d │ │ -022c24: 1201 |0032: const/4 v1, #int 0 // #0 │ │ -022c26: 7030 3001 4001 |0033: invoke-direct {v0, v4, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0130 │ │ -022c2c: 2700 |0036: throw v0 │ │ -022c2e: 0d04 |0037: move-exception v4 │ │ -022c30: 5430 ec02 |0038: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -022c34: 2201 2801 |003a: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -022c38: 1a02 3804 |003c: const-string v2, "Remote action updateConfig() failed! " // string@0438 │ │ -022c3c: 7020 8405 2100 |003e: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -022c42: 6e10 fe04 0400 |0041: invoke-virtual {v4}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ -022c48: 0c02 |0044: move-result-object v2 │ │ -022c4a: 6e20 8905 2100 |0045: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -022c50: 6e10 8b05 0100 |0048: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -022c56: 0c01 |004b: move-result-object v1 │ │ -022c58: 7220 0d07 1000 |004c: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -022c5e: 7010 4204 0300 |004f: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0442 │ │ -022c64: 2704 |0052: throw v4 │ │ -022c66: 0d04 |0053: move-exception v4 │ │ -022c68: 5430 ec02 |0054: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -022c6c: 2201 2801 |0056: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -022c70: 1a02 3304 |0058: const-string v2, "Remote action failed! " // string@0433 │ │ -022c74: 7020 8405 2100 |005a: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -022c7a: 6e10 3101 0400 |005d: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0131 │ │ -022c80: 0c02 |0060: move-result-object v2 │ │ -022c82: 6e20 8905 2100 |0061: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -022c88: 6e10 8b05 0100 |0064: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -022c8e: 0c01 |0067: move-result-object v1 │ │ -022c90: 7220 0d07 1000 |0068: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -022c96: 2704 |006b: throw v4 │ │ +022be0: 6e10 6905 0200 |0012: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +022be6: 0c02 |0015: move-result-object v2 │ │ +022be8: 6e20 d304 2100 |0016: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +022bee: 2142 |0019: array-length v2, v4 │ │ +022bf0: 6e20 d604 2100 |001a: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04d6 │ │ +022bf6: 6e20 d304 4100 |001d: invoke-virtual {v1, v4}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +022bfc: 6e10 d204 0100 |0020: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +022c02: 7110 7907 0000 |0023: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ +022c08: 0c04 |0026: move-result-object v4 │ │ +022c0a: 1a00 fb03 |0027: const-string v0, "OK" // string@03fb │ │ +022c0e: 6e20 6705 0400 |0029: invoke-virtual {v4, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +022c14: 0a00 |002c: move-result v0 │ │ +022c16: 3800 0300 |002d: if-eqz v0, 0030 // +0003 │ │ +022c1a: 0e00 |002f: return-void │ │ +022c1c: 2200 7d00 |0030: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@007d │ │ +022c20: 1201 |0032: const/4 v1, #int 0 // #0 │ │ +022c22: 7030 3001 4001 |0033: invoke-direct {v0, v4, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0130 │ │ +022c28: 2700 |0036: throw v0 │ │ +022c2a: 0d04 |0037: move-exception v4 │ │ +022c2c: 5430 ec02 |0038: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +022c30: 2201 2801 |003a: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +022c34: 1a02 3804 |003c: const-string v2, "Remote action updateConfig() failed! " // string@0438 │ │ +022c38: 7020 8405 2100 |003e: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +022c3e: 6e10 fe04 0400 |0041: invoke-virtual {v4}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ +022c44: 0c02 |0044: move-result-object v2 │ │ +022c46: 6e20 8905 2100 |0045: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +022c4c: 6e10 8b05 0100 |0048: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +022c52: 0c01 |004b: move-result-object v1 │ │ +022c54: 7220 0d07 1000 |004c: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +022c5a: 7010 4204 0300 |004f: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0442 │ │ +022c60: 2704 |0052: throw v4 │ │ +022c62: 0d04 |0053: move-exception v4 │ │ +022c64: 5430 ec02 |0054: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +022c68: 2201 2801 |0056: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +022c6c: 1a02 3304 |0058: const-string v2, "Remote action failed! " // string@0433 │ │ +022c70: 7020 8405 2100 |005a: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +022c76: 6e10 3101 0400 |005d: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0131 │ │ +022c7c: 0c02 |0060: move-result-object v2 │ │ +022c7e: 6e20 8905 2100 |0061: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +022c84: 6e10 8b05 0100 |0064: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +022c8a: 0c01 |0067: move-result-object v1 │ │ +022c8c: 7220 0d07 1000 |0068: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +022c92: 2704 |006b: throw v4 │ │ catches : 1 │ │ 0x0000 - 0x0037 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x0053 │ │ Ljava/io/IOException; -> 0x0037 │ │ positions : │ │ 0x0000 line=304 │ │ 0x0003 line=305 │ │ @@ -53554,67 +53554,67 @@ │ │ type : '([B)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 108 16-bit code units │ │ -022ca8: |[022ca8] dnsfilter.remote.RemoteAccessClient.updateConfigMergeDefaults:([B)V │ │ -022cb8: 6e10 5204 0300 |0000: invoke-virtual {v3}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0452 │ │ -022cbe: 7010 4c04 0300 |0003: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@044c │ │ -022cc4: 0c00 |0006: move-result-object v0 │ │ -022cc6: 2201 f400 |0007: new-instance v1, Ljava/io/DataOutputStream; // type@00f4 │ │ -022cca: 7010 4e04 0300 |0009: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ -022cd0: 0c02 |000c: move-result-object v2 │ │ -022cd2: 7020 d004 2100 |000d: invoke-direct {v1, v2}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04d0 │ │ -022cd8: 1a02 450b |0010: const-string v2, "updateConfigMergeDefaults() │ │ +022ca4: |[022ca4] dnsfilter.remote.RemoteAccessClient.updateConfigMergeDefaults:([B)V │ │ +022cb4: 6e10 5204 0300 |0000: invoke-virtual {v3}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0452 │ │ +022cba: 7010 4c04 0300 |0003: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@044c │ │ +022cc0: 0c00 |0006: move-result-object v0 │ │ +022cc2: 2201 f400 |0007: new-instance v1, Ljava/io/DataOutputStream; // type@00f4 │ │ +022cc6: 7010 4e04 0300 |0009: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ +022ccc: 0c02 |000c: move-result-object v2 │ │ +022cce: 7020 d004 2100 |000d: invoke-direct {v1, v2}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04d0 │ │ +022cd4: 1a02 450b |0010: const-string v2, "updateConfigMergeDefaults() │ │ " // string@0b45 │ │ -022cdc: 6e10 6905 0200 |0012: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -022ce2: 0c02 |0015: move-result-object v2 │ │ -022ce4: 6e20 d304 2100 |0016: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -022cea: 2142 |0019: array-length v2, v4 │ │ -022cec: 6e20 d604 2100 |001a: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04d6 │ │ -022cf2: 6e20 d304 4100 |001d: invoke-virtual {v1, v4}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -022cf8: 6e10 d204 0100 |0020: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -022cfe: 7110 7907 0000 |0023: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ -022d04: 0c04 |0026: move-result-object v4 │ │ -022d06: 1a00 fb03 |0027: const-string v0, "OK" // string@03fb │ │ -022d0a: 6e20 6705 0400 |0029: invoke-virtual {v4, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -022d10: 0a00 |002c: move-result v0 │ │ -022d12: 3800 0300 |002d: if-eqz v0, 0030 // +0003 │ │ -022d16: 0e00 |002f: return-void │ │ -022d18: 2200 7d00 |0030: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@007d │ │ -022d1c: 1201 |0032: const/4 v1, #int 0 // #0 │ │ -022d1e: 7030 3001 4001 |0033: invoke-direct {v0, v4, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0130 │ │ -022d24: 2700 |0036: throw v0 │ │ -022d26: 0d04 |0037: move-exception v4 │ │ -022d28: 5430 ec02 |0038: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -022d2c: 2201 2801 |003a: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -022d30: 1a02 3804 |003c: const-string v2, "Remote action updateConfig() failed! " // string@0438 │ │ -022d34: 7020 8405 2100 |003e: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -022d3a: 6e10 fe04 0400 |0041: invoke-virtual {v4}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ -022d40: 0c02 |0044: move-result-object v2 │ │ -022d42: 6e20 8905 2100 |0045: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -022d48: 6e10 8b05 0100 |0048: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -022d4e: 0c01 |004b: move-result-object v1 │ │ -022d50: 7220 0d07 1000 |004c: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -022d56: 7010 4204 0300 |004f: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0442 │ │ -022d5c: 2704 |0052: throw v4 │ │ -022d5e: 0d04 |0053: move-exception v4 │ │ -022d60: 5430 ec02 |0054: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -022d64: 2201 2801 |0056: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -022d68: 1a02 3304 |0058: const-string v2, "Remote action failed! " // string@0433 │ │ -022d6c: 7020 8405 2100 |005a: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -022d72: 6e10 3101 0400 |005d: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0131 │ │ -022d78: 0c02 |0060: move-result-object v2 │ │ -022d7a: 6e20 8905 2100 |0061: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -022d80: 6e10 8b05 0100 |0064: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -022d86: 0c01 |0067: move-result-object v1 │ │ -022d88: 7220 0d07 1000 |0068: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -022d8e: 2704 |006b: throw v4 │ │ +022cd8: 6e10 6905 0200 |0012: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +022cde: 0c02 |0015: move-result-object v2 │ │ +022ce0: 6e20 d304 2100 |0016: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +022ce6: 2142 |0019: array-length v2, v4 │ │ +022ce8: 6e20 d604 2100 |001a: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04d6 │ │ +022cee: 6e20 d304 4100 |001d: invoke-virtual {v1, v4}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +022cf4: 6e10 d204 0100 |0020: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +022cfa: 7110 7907 0000 |0023: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ +022d00: 0c04 |0026: move-result-object v4 │ │ +022d02: 1a00 fb03 |0027: const-string v0, "OK" // string@03fb │ │ +022d06: 6e20 6705 0400 |0029: invoke-virtual {v4, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +022d0c: 0a00 |002c: move-result v0 │ │ +022d0e: 3800 0300 |002d: if-eqz v0, 0030 // +0003 │ │ +022d12: 0e00 |002f: return-void │ │ +022d14: 2200 7d00 |0030: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@007d │ │ +022d18: 1201 |0032: const/4 v1, #int 0 // #0 │ │ +022d1a: 7030 3001 4001 |0033: invoke-direct {v0, v4, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0130 │ │ +022d20: 2700 |0036: throw v0 │ │ +022d22: 0d04 |0037: move-exception v4 │ │ +022d24: 5430 ec02 |0038: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +022d28: 2201 2801 |003a: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +022d2c: 1a02 3804 |003c: const-string v2, "Remote action updateConfig() failed! " // string@0438 │ │ +022d30: 7020 8405 2100 |003e: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +022d36: 6e10 fe04 0400 |0041: invoke-virtual {v4}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ +022d3c: 0c02 |0044: move-result-object v2 │ │ +022d3e: 6e20 8905 2100 |0045: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +022d44: 6e10 8b05 0100 |0048: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +022d4a: 0c01 |004b: move-result-object v1 │ │ +022d4c: 7220 0d07 1000 |004c: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +022d52: 7010 4204 0300 |004f: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0442 │ │ +022d58: 2704 |0052: throw v4 │ │ +022d5a: 0d04 |0053: move-exception v4 │ │ +022d5c: 5430 ec02 |0054: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +022d60: 2201 2801 |0056: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +022d64: 1a02 3304 |0058: const-string v2, "Remote action failed! " // string@0433 │ │ +022d68: 7020 8405 2100 |005a: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +022d6e: 6e10 3101 0400 |005d: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0131 │ │ +022d74: 0c02 |0060: move-result-object v2 │ │ +022d76: 6e20 8905 2100 |0061: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +022d7c: 6e10 8b05 0100 |0064: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +022d82: 0c01 |0067: move-result-object v1 │ │ +022d84: 7220 0d07 1000 |0068: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +022d8a: 2704 |006b: throw v4 │ │ catches : 1 │ │ 0x0000 - 0x0037 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x0053 │ │ Ljava/io/IOException; -> 0x0037 │ │ positions : │ │ 0x0000 line=330 │ │ 0x0003 line=331 │ │ @@ -53640,74 +53640,74 @@ │ │ type : '(Ljava/lang/String;Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 8 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 122 16-bit code units │ │ -022da0: |[022da0] dnsfilter.remote.RemoteAccessClient.updateFilter:(Ljava/lang/String;Z)V │ │ -022db0: 1a00 0200 |0000: const-string v0, " │ │ +022d9c: |[022d9c] dnsfilter.remote.RemoteAccessClient.updateFilter:(Ljava/lang/String;Z)V │ │ +022dac: 1a00 0200 |0000: const-string v0, " │ │ " // string@0002 │ │ -022db4: 1a01 490b |0002: const-string v1, "updateFilter() │ │ +022db0: 1a01 490b |0002: const-string v1, "updateFilter() │ │ " // string@0b49 │ │ -022db8: 7010 4e04 0500 |0004: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ -022dbe: 0c02 |0007: move-result-object v2 │ │ -022dc0: 7010 4c04 0500 |0008: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@044c │ │ -022dc6: 0c03 |000b: move-result-object v3 │ │ -022dc8: 2204 2801 |000c: new-instance v4, Ljava/lang/StringBuilder; // type@0128 │ │ -022dcc: 7020 8405 1400 |000e: invoke-direct {v4, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -022dd2: 1a01 9000 |0011: const-string v1, ";" // string@0090 │ │ -022dd6: 6e30 7105 0601 |0013: invoke-virtual {v6, v0, v1}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0571 │ │ -022ddc: 0c06 |0016: move-result-object v6 │ │ -022dde: 6e20 8905 6400 |0017: invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -022de4: 6e20 8905 0400 |001a: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -022dea: 6e20 8a05 7400 |001d: invoke-virtual {v4, v7}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@058a │ │ -022df0: 6e20 8905 0400 |0020: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -022df6: 6e10 8b05 0400 |0023: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -022dfc: 0c06 |0026: move-result-object v6 │ │ -022dfe: 6e10 6905 0600 |0027: invoke-virtual {v6}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -022e04: 0c06 |002a: move-result-object v6 │ │ -022e06: 6e20 1205 6200 |002b: invoke-virtual {v2, v6}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ -022e0c: 6e10 1005 0200 |002e: invoke-virtual {v2}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ -022e12: 7110 7907 0300 |0031: invoke-static {v3}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ -022e18: 0c06 |0034: move-result-object v6 │ │ -022e1a: 1a07 fb03 |0035: const-string v7, "OK" // string@03fb │ │ -022e1e: 6e20 6705 7600 |0037: invoke-virtual {v6, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -022e24: 0a07 |003a: move-result v7 │ │ -022e26: 3807 0300 |003b: if-eqz v7, 003e // +0003 │ │ -022e2a: 0e00 |003d: return-void │ │ -022e2c: 2207 7d00 |003e: new-instance v7, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@007d │ │ -022e30: 1200 |0040: const/4 v0, #int 0 // #0 │ │ -022e32: 7030 3001 6700 |0041: invoke-direct {v7, v6, v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0130 │ │ -022e38: 2707 |0044: throw v7 │ │ -022e3a: 0d06 |0045: move-exception v6 │ │ -022e3c: 5457 ec02 |0046: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -022e40: 2200 2801 |0048: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ -022e44: 1a01 3104 |004a: const-string v1, "Remote action updateFilter() failed! " // string@0431 │ │ -022e48: 7020 8405 1000 |004c: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -022e4e: 6e10 fe04 0600 |004f: invoke-virtual {v6}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ -022e54: 0c01 |0052: move-result-object v1 │ │ -022e56: 6e20 8905 1000 |0053: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -022e5c: 6e10 8b05 0000 |0056: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -022e62: 0c00 |0059: move-result-object v0 │ │ -022e64: 7220 0d07 0700 |005a: invoke-interface {v7, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -022e6a: 7010 4204 0500 |005d: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0442 │ │ -022e70: 2706 |0060: throw v6 │ │ -022e72: 0d06 |0061: move-exception v6 │ │ -022e74: 5457 ec02 |0062: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ -022e78: 2200 2801 |0064: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ -022e7c: 1a01 3304 |0066: const-string v1, "Remote action failed! " // string@0433 │ │ -022e80: 7020 8405 1000 |0068: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -022e86: 6e10 3101 0600 |006b: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0131 │ │ -022e8c: 0c01 |006e: move-result-object v1 │ │ -022e8e: 6e20 8905 1000 |006f: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -022e94: 6e10 8b05 0000 |0072: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -022e9a: 0c00 |0075: move-result-object v0 │ │ -022e9c: 7220 0d07 0700 |0076: invoke-interface {v7, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -022ea2: 2706 |0079: throw v6 │ │ +022db4: 7010 4e04 0500 |0004: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@044e │ │ +022dba: 0c02 |0007: move-result-object v2 │ │ +022dbc: 7010 4c04 0500 |0008: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@044c │ │ +022dc2: 0c03 |000b: move-result-object v3 │ │ +022dc4: 2204 2801 |000c: new-instance v4, Ljava/lang/StringBuilder; // type@0128 │ │ +022dc8: 7020 8405 1400 |000e: invoke-direct {v4, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +022dce: 1a01 9000 |0011: const-string v1, ";" // string@0090 │ │ +022dd2: 6e30 7105 0601 |0013: invoke-virtual {v6, v0, v1}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0571 │ │ +022dd8: 0c06 |0016: move-result-object v6 │ │ +022dda: 6e20 8905 6400 |0017: invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +022de0: 6e20 8905 0400 |001a: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +022de6: 6e20 8a05 7400 |001d: invoke-virtual {v4, v7}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@058a │ │ +022dec: 6e20 8905 0400 |0020: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +022df2: 6e10 8b05 0400 |0023: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +022df8: 0c06 |0026: move-result-object v6 │ │ +022dfa: 6e10 6905 0600 |0027: invoke-virtual {v6}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +022e00: 0c06 |002a: move-result-object v6 │ │ +022e02: 6e20 1205 6200 |002b: invoke-virtual {v2, v6}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ +022e08: 6e10 1005 0200 |002e: invoke-virtual {v2}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ +022e0e: 7110 7907 0300 |0031: invoke-static {v3}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ +022e14: 0c06 |0034: move-result-object v6 │ │ +022e16: 1a07 fb03 |0035: const-string v7, "OK" // string@03fb │ │ +022e1a: 6e20 6705 7600 |0037: invoke-virtual {v6, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +022e20: 0a07 |003a: move-result v7 │ │ +022e22: 3807 0300 |003b: if-eqz v7, 003e // +0003 │ │ +022e26: 0e00 |003d: return-void │ │ +022e28: 2207 7d00 |003e: new-instance v7, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@007d │ │ +022e2c: 1200 |0040: const/4 v0, #int 0 // #0 │ │ +022e2e: 7030 3001 6700 |0041: invoke-direct {v7, v6, v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0130 │ │ +022e34: 2707 |0044: throw v7 │ │ +022e36: 0d06 |0045: move-exception v6 │ │ +022e38: 5457 ec02 |0046: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +022e3c: 2200 2801 |0048: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ +022e40: 1a01 3104 |004a: const-string v1, "Remote action updateFilter() failed! " // string@0431 │ │ +022e44: 7020 8405 1000 |004c: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +022e4a: 6e10 fe04 0600 |004f: invoke-virtual {v6}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@04fe │ │ +022e50: 0c01 |0052: move-result-object v1 │ │ +022e52: 6e20 8905 1000 |0053: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +022e58: 6e10 8b05 0000 |0056: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +022e5e: 0c00 |0059: move-result-object v0 │ │ +022e60: 7220 0d07 0700 |005a: invoke-interface {v7, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +022e66: 7010 4204 0500 |005d: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0442 │ │ +022e6c: 2706 |0060: throw v6 │ │ +022e6e: 0d06 |0061: move-exception v6 │ │ +022e70: 5457 ec02 |0062: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02ec │ │ +022e74: 2200 2801 |0064: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ +022e78: 1a01 3304 |0066: const-string v1, "Remote action failed! " // string@0433 │ │ +022e7c: 7020 8405 1000 |0068: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +022e82: 6e10 3101 0600 |006b: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0131 │ │ +022e88: 0c01 |006e: move-result-object v1 │ │ +022e8a: 6e20 8905 1000 |006f: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +022e90: 6e10 8b05 0000 |0072: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +022e96: 0c00 |0075: move-result-object v0 │ │ +022e98: 7220 0d07 0700 |0076: invoke-interface {v7, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +022e9e: 2706 |0079: throw v6 │ │ catches : 1 │ │ 0x0004 - 0x0045 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x0061 │ │ Ljava/io/IOException; -> 0x0045 │ │ positions : │ │ 0x0000 line=409 │ │ 0x0002 line=0 │ │ @@ -53733,19 +53733,19 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 7 16-bit code units │ │ -022eb4: |[022eb4] dnsfilter.remote.RemoteAccessClient.wakeLock:()V │ │ -022ec4: 1a00 850b |0000: const-string v0, "wakeLock()" // string@0b85 │ │ -022ec8: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -022eca: 7030 5e04 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@045e │ │ -022ed0: 0e00 |0006: return-void │ │ +022eb0: |[022eb0] dnsfilter.remote.RemoteAccessClient.wakeLock:()V │ │ +022ec0: 1a00 850b |0000: const-string v0, "wakeLock()" // string@0b85 │ │ +022ec4: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +022ec6: 7030 5e04 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@045e │ │ +022ecc: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=536 │ │ locals : │ │ 0x0000 - 0x0007 reg=2 this Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ source_file_idx : 1083 (RemoteAccessClient.java) │ │ @@ -53783,18 +53783,18 @@ │ │ type : '(Ldnsfilter/remote/RemoteAccessServer$RemoteSession;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -022ed4: |[022ed4] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.:(Ldnsfilter/remote/RemoteAccessServer$RemoteSession;)V │ │ -022ee4: 5b01 f902 |0000: iput-object v1, v0, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f9 │ │ -022ee8: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -022eee: 0e00 |0005: return-void │ │ +022ed0: |[022ed0] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.:(Ldnsfilter/remote/RemoteAccessServer$RemoteSession;)V │ │ +022ee0: 5b01 f902 |0000: iput-object v1, v0, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f9 │ │ +022ee4: 7010 4f05 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +022eea: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=345 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1; │ │ 0x0000 - 0x0006 reg=1 (null) Ldnsfilter/remote/RemoteAccessServer$RemoteSession; │ │ │ │ @@ -53804,33 +53804,33 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -022ef0: |[022ef0] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.closeLogger:()V │ │ -022f00: 0e00 |0000: return-void │ │ +022eec: |[022eec] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.closeLogger:()V │ │ +022efc: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #1 : (in Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;) │ │ name : 'log' │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 5 16-bit code units │ │ -022f04: |[022f04] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.log:(Ljava/lang/String;)V │ │ -022f14: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -022f16: 6e30 6b04 0102 |0001: invoke-virtual {v1, v0, v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.sendLog:(ILjava/lang/String;)V // method@046b │ │ -022f1c: 0e00 |0004: return-void │ │ +022f00: |[022f00] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.log:(Ljava/lang/String;)V │ │ +022f10: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +022f12: 6e30 6b04 0102 |0001: invoke-virtual {v1, v0, v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.sendLog:(ILjava/lang/String;)V // method@046b │ │ +022f18: 0e00 |0004: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=391 │ │ locals : │ │ 0x0000 - 0x0005 reg=1 this Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1; │ │ 0x0000 - 0x0005 reg=2 (null) Ljava/lang/String; │ │ │ │ @@ -53839,32 +53839,32 @@ │ │ type : '(Ljava/lang/Exception;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 38 16-bit code units │ │ -022f20: |[022f20] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.logException:(Ljava/lang/Exception;)V │ │ -022f30: 2200 0801 |0000: new-instance v0, Ljava/io/StringWriter; // type@0108 │ │ -022f34: 7010 2205 0000 |0002: invoke-direct {v0}, Ljava/io/StringWriter;.:()V // method@0522 │ │ -022f3a: 2201 0501 |0005: new-instance v1, Ljava/io/PrintWriter; // type@0105 │ │ -022f3e: 7020 1d05 0100 |0007: invoke-direct {v1, v0}, Ljava/io/PrintWriter;.:(Ljava/io/Writer;)V // method@051d │ │ -022f44: 6e20 3a05 1300 |000a: invoke-virtual {v3, v1}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintWriter;)V // method@053a │ │ -022f4a: 2203 2801 |000d: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -022f4e: 7010 8305 0300 |000f: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -022f54: 6e10 2305 0000 |0012: invoke-virtual {v0}, Ljava/io/StringWriter;.toString:()Ljava/lang/String; // method@0523 │ │ -022f5a: 0c00 |0015: move-result-object v0 │ │ -022f5c: 6e20 8905 0300 |0016: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -022f62: 1a00 0200 |0019: const-string v0, " │ │ +022f1c: |[022f1c] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.logException:(Ljava/lang/Exception;)V │ │ +022f2c: 2200 0801 |0000: new-instance v0, Ljava/io/StringWriter; // type@0108 │ │ +022f30: 7010 2205 0000 |0002: invoke-direct {v0}, Ljava/io/StringWriter;.:()V // method@0522 │ │ +022f36: 2201 0501 |0005: new-instance v1, Ljava/io/PrintWriter; // type@0105 │ │ +022f3a: 7020 1d05 0100 |0007: invoke-direct {v1, v0}, Ljava/io/PrintWriter;.:(Ljava/io/Writer;)V // method@051d │ │ +022f40: 6e20 3a05 1300 |000a: invoke-virtual {v3, v1}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintWriter;)V // method@053a │ │ +022f46: 2203 2801 |000d: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +022f4a: 7010 8305 0300 |000f: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +022f50: 6e10 2305 0000 |0012: invoke-virtual {v0}, Ljava/io/StringWriter;.toString:()Ljava/lang/String; // method@0523 │ │ +022f56: 0c00 |0015: move-result-object v0 │ │ +022f58: 6e20 8905 0300 |0016: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +022f5e: 1a00 0200 |0019: const-string v0, " │ │ " // string@0002 │ │ -022f66: 6e20 8905 0300 |001b: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -022f6c: 6e10 8b05 0300 |001e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -022f72: 0c03 |0021: move-result-object v3 │ │ -022f74: 6e20 6704 3200 |0022: invoke-virtual {v2, v3}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.log:(Ljava/lang/String;)V // method@0467 │ │ -022f7a: 0e00 |0025: return-void │ │ +022f62: 6e20 8905 0300 |001b: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +022f68: 6e10 8b05 0300 |001e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +022f6e: 0c03 |0021: move-result-object v3 │ │ +022f70: 6e20 6704 3200 |0022: invoke-virtual {v2, v3}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.log:(Ljava/lang/String;)V // method@0467 │ │ +022f76: 0e00 |0025: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=384 │ │ 0x0005 line=385 │ │ 0x000d line=386 │ │ locals : │ │ 0x0000 - 0x0026 reg=2 this Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1; │ │ @@ -53875,18 +53875,18 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 5 16-bit code units │ │ -022f7c: |[022f7c] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.logLine:(Ljava/lang/String;)V │ │ -022f8c: 1220 |0000: const/4 v0, #int 2 // #2 │ │ -022f8e: 6e30 6b04 0102 |0001: invoke-virtual {v1, v0, v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.sendLog:(ILjava/lang/String;)V // method@046b │ │ -022f94: 0e00 |0004: return-void │ │ +022f78: |[022f78] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.logLine:(Ljava/lang/String;)V │ │ +022f88: 1220 |0000: const/4 v0, #int 2 // #2 │ │ +022f8a: 6e30 6b04 0102 |0001: invoke-virtual {v1, v0, v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.sendLog:(ILjava/lang/String;)V // method@046b │ │ +022f90: 0e00 |0004: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=379 │ │ locals : │ │ 0x0000 - 0x0005 reg=1 this Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1; │ │ 0x0000 - 0x0005 reg=2 (null) Ljava/lang/String; │ │ │ │ @@ -53895,18 +53895,18 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 5 16-bit code units │ │ -022f98: |[022f98] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.message:(Ljava/lang/String;)V │ │ -022fa8: 1230 |0000: const/4 v0, #int 3 // #3 │ │ -022faa: 6e30 6b04 0102 |0001: invoke-virtual {v1, v0, v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.sendLog:(ILjava/lang/String;)V // method@046b │ │ -022fb0: 0e00 |0004: return-void │ │ +022f94: |[022f94] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.message:(Ljava/lang/String;)V │ │ +022fa4: 1230 |0000: const/4 v0, #int 3 // #3 │ │ +022fa6: 6e30 6b04 0102 |0001: invoke-virtual {v1, v0, v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.sendLog:(ILjava/lang/String;)V // method@046b │ │ +022fac: 0e00 |0004: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=397 │ │ locals : │ │ 0x0000 - 0x0005 reg=1 this Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1; │ │ 0x0000 - 0x0005 reg=2 (null) Ljava/lang/String; │ │ │ │ @@ -53915,95 +53915,95 @@ │ │ type : '(ILjava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 8 │ │ ins : 3 │ │ outs : 2 │ │ insns size : 163 16-bit code units │ │ -022fb4: |[022fb4] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.sendLog:(ILjava/lang/String;)V │ │ -022fc4: 1a00 9301 |0000: const-string v0, "Exception during remote logging! " // string@0193 │ │ -022fc8: 5451 f902 |0002: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f9 │ │ -022fcc: 5411 0003 |0004: iget-object v1, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -022fd0: 1d01 |0006: monitor-enter v1 │ │ -022fd2: 5452 f902 |0007: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f9 │ │ -022fd6: 5422 0003 |0009: iget-object v2, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -022fda: 1253 |000b: const/4 v3, #int 5 // #5 │ │ -022fdc: 6e20 d804 3200 |000c: invoke-virtual {v2, v3}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04d8 │ │ -022fe2: 2202 2801 |000f: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -022fe6: 7010 8305 0200 |0011: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -022fec: 7100 3f01 0000 |0014: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -022ff2: 0c03 |0017: move-result-object v3 │ │ -022ff4: 6e10 4401 0300 |0018: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.openConnectionsCount:()I // method@0144 │ │ -022ffa: 0a03 |001b: move-result v3 │ │ -022ffc: 6e20 8605 3200 |001c: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -023002: 1a03 0000 |001f: const-string v3, "" // string@0000 │ │ -023006: 6e20 8905 3200 |0021: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02300c: 6e10 8b05 0200 |0024: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -023012: 0c02 |0027: move-result-object v2 │ │ -023014: 6e10 6905 0200 |0028: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -02301a: 0c02 |002b: move-result-object v2 │ │ -02301c: 5453 f902 |002c: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f9 │ │ -023020: 5433 0003 |002e: iget-object v3, v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023024: 2124 |0030: array-length v4, v2 │ │ -023026: 6e20 d804 4300 |0031: invoke-virtual {v3, v4}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04d8 │ │ -02302c: 5453 f902 |0034: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f9 │ │ -023030: 5433 0003 |0036: iget-object v3, v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023034: 6e20 d304 2300 |0038: invoke-virtual {v3, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -02303a: 5452 f902 |003b: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f9 │ │ -02303e: 5422 0003 |003d: iget-object v2, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023042: 1243 |003f: const/4 v3, #int 4 // #4 │ │ -023044: 6e20 d804 3200 |0040: invoke-virtual {v2, v3}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04d8 │ │ -02304a: 7100 3f01 0000 |0043: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -023050: 0c02 |0046: move-result-object v2 │ │ -023052: 6e10 3e01 0200 |0047: invoke-virtual {v2}, Ldnsfilter/ConfigurationAccess;.getLastDNSAddress:()Ljava/lang/String; // method@013e │ │ -023058: 0c02 |004a: move-result-object v2 │ │ -02305a: 6e10 6905 0200 |004b: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -023060: 0c02 |004e: move-result-object v2 │ │ -023062: 5453 f902 |004f: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f9 │ │ -023066: 5433 0003 |0051: iget-object v3, v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -02306a: 2124 |0053: array-length v4, v2 │ │ -02306c: 6e20 d804 4300 |0054: invoke-virtual {v3, v4}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04d8 │ │ -023072: 5453 f902 |0057: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f9 │ │ -023076: 5433 0003 |0059: iget-object v3, v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -02307a: 6e20 d304 2300 |005b: invoke-virtual {v3, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -023080: 6e10 6905 0700 |005e: invoke-virtual {v7}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -023086: 0c07 |0061: move-result-object v7 │ │ -023088: 5452 f902 |0062: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f9 │ │ -02308c: 5422 0003 |0064: iget-object v2, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023090: 6e20 d804 6200 |0066: invoke-virtual {v2, v6}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04d8 │ │ -023096: 5456 f902 |0069: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f9 │ │ -02309a: 5466 0003 |006b: iget-object v6, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -02309e: 2172 |006d: array-length v2, v7 │ │ -0230a0: 6e20 d804 2600 |006e: invoke-virtual {v6, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04d8 │ │ -0230a6: 5456 f902 |0071: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f9 │ │ -0230aa: 5466 0003 |0073: iget-object v6, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -0230ae: 6e20 d304 7600 |0075: invoke-virtual {v6, v7}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -0230b4: 5456 f902 |0078: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f9 │ │ -0230b8: 5466 0003 |007a: iget-object v6, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -0230bc: 6e10 d204 0600 |007c: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -0230c2: 2820 |007f: goto 009f // +0020 │ │ -0230c4: 0d06 |0080: move-exception v6 │ │ -0230c6: 2820 |0081: goto 00a1 // +0020 │ │ -0230c8: 0d06 |0082: move-exception v6 │ │ -0230ca: 5457 f902 |0083: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f9 │ │ -0230ce: 6e10 7604 0700 |0085: invoke-virtual {v7}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@0476 │ │ -0230d4: 7100 0107 0000 |0088: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -0230da: 0c07 |008b: move-result-object v7 │ │ -0230dc: 2202 2801 |008c: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -0230e0: 7020 8405 0200 |008e: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -0230e6: 6e10 0005 0600 |0091: invoke-virtual {v6}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ -0230ec: 0c06 |0094: move-result-object v6 │ │ -0230ee: 6e20 8905 6200 |0095: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0230f4: 6e10 8b05 0200 |0098: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0230fa: 0c06 |009b: move-result-object v6 │ │ -0230fc: 7220 0d07 6700 |009c: invoke-interface {v7, v6}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -023102: 1e01 |009f: monitor-exit v1 │ │ -023104: 0e00 |00a0: return-void │ │ -023106: 1e01 |00a1: monitor-exit v1 │ │ -023108: 2706 |00a2: throw v6 │ │ +022fb0: |[022fb0] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.sendLog:(ILjava/lang/String;)V │ │ +022fc0: 1a00 9301 |0000: const-string v0, "Exception during remote logging! " // string@0193 │ │ +022fc4: 5451 f902 |0002: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f9 │ │ +022fc8: 5411 0003 |0004: iget-object v1, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +022fcc: 1d01 |0006: monitor-enter v1 │ │ +022fce: 5452 f902 |0007: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f9 │ │ +022fd2: 5422 0003 |0009: iget-object v2, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +022fd6: 1253 |000b: const/4 v3, #int 5 // #5 │ │ +022fd8: 6e20 d804 3200 |000c: invoke-virtual {v2, v3}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04d8 │ │ +022fde: 2202 2801 |000f: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +022fe2: 7010 8305 0200 |0011: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +022fe8: 7100 3f01 0000 |0014: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +022fee: 0c03 |0017: move-result-object v3 │ │ +022ff0: 6e10 4401 0300 |0018: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.openConnectionsCount:()I // method@0144 │ │ +022ff6: 0a03 |001b: move-result v3 │ │ +022ff8: 6e20 8605 3200 |001c: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +022ffe: 1a03 0000 |001f: const-string v3, "" // string@0000 │ │ +023002: 6e20 8905 3200 |0021: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +023008: 6e10 8b05 0200 |0024: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02300e: 0c02 |0027: move-result-object v2 │ │ +023010: 6e10 6905 0200 |0028: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +023016: 0c02 |002b: move-result-object v2 │ │ +023018: 5453 f902 |002c: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f9 │ │ +02301c: 5433 0003 |002e: iget-object v3, v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023020: 2124 |0030: array-length v4, v2 │ │ +023022: 6e20 d804 4300 |0031: invoke-virtual {v3, v4}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04d8 │ │ +023028: 5453 f902 |0034: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f9 │ │ +02302c: 5433 0003 |0036: iget-object v3, v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023030: 6e20 d304 2300 |0038: invoke-virtual {v3, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +023036: 5452 f902 |003b: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f9 │ │ +02303a: 5422 0003 |003d: iget-object v2, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +02303e: 1243 |003f: const/4 v3, #int 4 // #4 │ │ +023040: 6e20 d804 3200 |0040: invoke-virtual {v2, v3}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04d8 │ │ +023046: 7100 3f01 0000 |0043: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +02304c: 0c02 |0046: move-result-object v2 │ │ +02304e: 6e10 3e01 0200 |0047: invoke-virtual {v2}, Ldnsfilter/ConfigurationAccess;.getLastDNSAddress:()Ljava/lang/String; // method@013e │ │ +023054: 0c02 |004a: move-result-object v2 │ │ +023056: 6e10 6905 0200 |004b: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +02305c: 0c02 |004e: move-result-object v2 │ │ +02305e: 5453 f902 |004f: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f9 │ │ +023062: 5433 0003 |0051: iget-object v3, v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023066: 2124 |0053: array-length v4, v2 │ │ +023068: 6e20 d804 4300 |0054: invoke-virtual {v3, v4}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04d8 │ │ +02306e: 5453 f902 |0057: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f9 │ │ +023072: 5433 0003 |0059: iget-object v3, v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023076: 6e20 d304 2300 |005b: invoke-virtual {v3, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +02307c: 6e10 6905 0700 |005e: invoke-virtual {v7}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +023082: 0c07 |0061: move-result-object v7 │ │ +023084: 5452 f902 |0062: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f9 │ │ +023088: 5422 0003 |0064: iget-object v2, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +02308c: 6e20 d804 6200 |0066: invoke-virtual {v2, v6}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04d8 │ │ +023092: 5456 f902 |0069: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f9 │ │ +023096: 5466 0003 |006b: iget-object v6, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +02309a: 2172 |006d: array-length v2, v7 │ │ +02309c: 6e20 d804 2600 |006e: invoke-virtual {v6, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04d8 │ │ +0230a2: 5456 f902 |0071: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f9 │ │ +0230a6: 5466 0003 |0073: iget-object v6, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +0230aa: 6e20 d304 7600 |0075: invoke-virtual {v6, v7}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +0230b0: 5456 f902 |0078: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f9 │ │ +0230b4: 5466 0003 |007a: iget-object v6, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +0230b8: 6e10 d204 0600 |007c: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +0230be: 2820 |007f: goto 009f // +0020 │ │ +0230c0: 0d06 |0080: move-exception v6 │ │ +0230c2: 2820 |0081: goto 00a1 // +0020 │ │ +0230c4: 0d06 |0082: move-exception v6 │ │ +0230c6: 5457 f902 |0083: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f9 │ │ +0230ca: 6e10 7604 0700 |0085: invoke-virtual {v7}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@0476 │ │ +0230d0: 7100 0107 0000 |0088: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +0230d6: 0c07 |008b: move-result-object v7 │ │ +0230d8: 2202 2801 |008c: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +0230dc: 7020 8405 0200 |008e: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +0230e2: 6e10 0005 0600 |0091: invoke-virtual {v6}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ +0230e8: 0c06 |0094: move-result-object v6 │ │ +0230ea: 6e20 8905 6200 |0095: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0230f0: 6e10 8b05 0200 |0098: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0230f6: 0c06 |009b: move-result-object v6 │ │ +0230f8: 7220 0d07 6700 |009c: invoke-interface {v7, v6}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +0230fe: 1e01 |009f: monitor-exit v1 │ │ +023100: 0e00 |00a0: return-void │ │ +023102: 1e01 |00a1: monitor-exit v1 │ │ +023104: 2706 |00a2: throw v6 │ │ catches : 2 │ │ 0x0007 - 0x007f │ │ Ljava/io/IOException; -> 0x0082 │ │ -> 0x0080 │ │ 0x0083 - 0x00a2 │ │ -> 0x0080 │ │ positions : │ │ @@ -54119,57 +54119,57 @@ │ │ type : '(Ldnsfilter/remote/RemoteAccessServer;Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;I)V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 8 │ │ ins : 6 │ │ outs : 3 │ │ insns size : 95 16-bit code units │ │ -023190: |[023190] dnsfilter.remote.RemoteAccessServer$RemoteSession.:(Ldnsfilter/remote/RemoteAccessServer;Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;I)V │ │ -0231a0: 5b23 0403 |0000: iput-object v3, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.this$0:Ldnsfilter/remote/RemoteAccessServer; // field@0304 │ │ -0231a4: 7010 4f05 0200 |0002: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@054f │ │ -0231aa: 12f0 |0005: const/4 v0, #int -1 // #ff │ │ -0231ac: 5920 fa02 |0006: iput v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.connectedSessionId:I // field@02fa │ │ -0231b0: 1200 |0008: const/4 v0, #int 0 // #0 │ │ -0231b2: 5c20 fe02 |0009: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fe │ │ -0231b6: 5c20 fb02 |000b: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doReconnect:Z // field@02fb │ │ -0231ba: 5c20 0203 |000d: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteStreamSession:Z // field@0302 │ │ -0231be: 1800 ffff ffff ffff ff7f |000f: const-wide v0, #double nan // #7fffffffffffffff │ │ -0231c8: 5a20 0503 |0014: iput-wide v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.timeout:J // field@0305 │ │ -0231cc: 7100 8d05 0000 |0016: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@058d │ │ -0231d2: 0b00 |0019: move-result-wide v0 │ │ -0231d4: 5a20 ff02 |001a: iput-wide v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.lastHeartBeatConfirm:J // field@02ff │ │ -0231d8: 5927 fc02 |001c: iput v7, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.id:I // field@02fc │ │ -0231dc: 5b24 0303 |001e: iput-object v4, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0303 │ │ -0231e0: 2200 f400 |0020: new-instance v0, Ljava/io/DataOutputStream; // type@00f4 │ │ -0231e4: 7020 d004 6000 |0022: invoke-direct {v0, v6}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04d0 │ │ -0231ea: 5b20 0003 |0025: iput-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -0231ee: 2206 f300 |0027: new-instance v6, Ljava/io/DataInputStream; // type@00f3 │ │ -0231f2: 7020 c904 5600 |0029: invoke-direct {v6, v5}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04c9 │ │ -0231f8: 5b26 fd02 |002c: iput-object v6, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ -0231fc: 7110 7c04 0300 |002e: invoke-static {v3}, Ldnsfilter/remote/RemoteAccessServer;.access$200:(Ldnsfilter/remote/RemoteAccessServer;)Ljava/util/HashMap; // method@047c │ │ -023202: 0c03 |0031: move-result-object v3 │ │ -023204: 7110 4405 0700 |0032: invoke-static {v7}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0544 │ │ -02320a: 0c05 |0035: move-result-object v5 │ │ -02320c: 6e30 0a06 5302 |0036: invoke-virtual {v3, v5, v2}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@060a │ │ -023212: 7100 0107 0000 |0039: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -023218: 0c03 |003c: move-result-object v3 │ │ -02321a: 2205 2801 |003d: new-instance v5, Ljava/lang/StringBuilder; // type@0128 │ │ -02321e: 1a06 ed03 |003f: const-string v6, "New Remote Session " // string@03ed │ │ -023222: 7020 8405 6500 |0041: invoke-direct {v5, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -023228: 6e20 8605 7500 |0044: invoke-virtual {v5, v7}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -02322e: 1a06 1d00 |0047: const-string v6, " from :" // string@001d │ │ -023232: 6e20 8905 6500 |0049: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -023238: 6e20 8805 4500 |004c: invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ -02323e: 6e10 8b05 0500 |004f: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -023244: 0c04 |0052: move-result-object v4 │ │ -023246: 7220 0d07 4300 |0053: invoke-interface {v3, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -02324c: 2203 2a01 |0056: new-instance v3, Ljava/lang/Thread; // type@012a │ │ -023250: 7020 9005 2300 |0058: invoke-direct {v3, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ -023256: 6e10 9605 0300 |005b: invoke-virtual {v3}, Ljava/lang/Thread;.start:()V // method@0596 │ │ -02325c: 0e00 |005e: return-void │ │ +02318c: |[02318c] dnsfilter.remote.RemoteAccessServer$RemoteSession.:(Ldnsfilter/remote/RemoteAccessServer;Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;I)V │ │ +02319c: 5b23 0403 |0000: iput-object v3, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.this$0:Ldnsfilter/remote/RemoteAccessServer; // field@0304 │ │ +0231a0: 7010 4f05 0200 |0002: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@054f │ │ +0231a6: 12f0 |0005: const/4 v0, #int -1 // #ff │ │ +0231a8: 5920 fa02 |0006: iput v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.connectedSessionId:I // field@02fa │ │ +0231ac: 1200 |0008: const/4 v0, #int 0 // #0 │ │ +0231ae: 5c20 fe02 |0009: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fe │ │ +0231b2: 5c20 fb02 |000b: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doReconnect:Z // field@02fb │ │ +0231b6: 5c20 0203 |000d: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteStreamSession:Z // field@0302 │ │ +0231ba: 1800 ffff ffff ffff ff7f |000f: const-wide v0, #double nan // #7fffffffffffffff │ │ +0231c4: 5a20 0503 |0014: iput-wide v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.timeout:J // field@0305 │ │ +0231c8: 7100 8d05 0000 |0016: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@058d │ │ +0231ce: 0b00 |0019: move-result-wide v0 │ │ +0231d0: 5a20 ff02 |001a: iput-wide v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.lastHeartBeatConfirm:J // field@02ff │ │ +0231d4: 5927 fc02 |001c: iput v7, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.id:I // field@02fc │ │ +0231d8: 5b24 0303 |001e: iput-object v4, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0303 │ │ +0231dc: 2200 f400 |0020: new-instance v0, Ljava/io/DataOutputStream; // type@00f4 │ │ +0231e0: 7020 d004 6000 |0022: invoke-direct {v0, v6}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04d0 │ │ +0231e6: 5b20 0003 |0025: iput-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +0231ea: 2206 f300 |0027: new-instance v6, Ljava/io/DataInputStream; // type@00f3 │ │ +0231ee: 7020 c904 5600 |0029: invoke-direct {v6, v5}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04c9 │ │ +0231f4: 5b26 fd02 |002c: iput-object v6, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ +0231f8: 7110 7c04 0300 |002e: invoke-static {v3}, Ldnsfilter/remote/RemoteAccessServer;.access$200:(Ldnsfilter/remote/RemoteAccessServer;)Ljava/util/HashMap; // method@047c │ │ +0231fe: 0c03 |0031: move-result-object v3 │ │ +023200: 7110 4405 0700 |0032: invoke-static {v7}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0544 │ │ +023206: 0c05 |0035: move-result-object v5 │ │ +023208: 6e30 0a06 5302 |0036: invoke-virtual {v3, v5, v2}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@060a │ │ +02320e: 7100 0107 0000 |0039: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +023214: 0c03 |003c: move-result-object v3 │ │ +023216: 2205 2801 |003d: new-instance v5, Ljava/lang/StringBuilder; // type@0128 │ │ +02321a: 1a06 ed03 |003f: const-string v6, "New Remote Session " // string@03ed │ │ +02321e: 7020 8405 6500 |0041: invoke-direct {v5, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +023224: 6e20 8605 7500 |0044: invoke-virtual {v5, v7}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +02322a: 1a06 1d00 |0047: const-string v6, " from :" // string@001d │ │ +02322e: 6e20 8905 6500 |0049: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +023234: 6e20 8805 4500 |004c: invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ +02323a: 6e10 8b05 0500 |004f: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +023240: 0c04 |0052: move-result-object v4 │ │ +023242: 7220 0d07 4300 |0053: invoke-interface {v3, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +023248: 2203 2a01 |0056: new-instance v3, Ljava/lang/Thread; // type@012a │ │ +02324c: 7020 9005 2300 |0058: invoke-direct {v3, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ +023252: 6e10 9605 0300 |005b: invoke-virtual {v3}, Ljava/lang/Thread;.start:()V // method@0596 │ │ +023258: 0e00 |005e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=150 │ │ 0x0006 line=137 │ │ 0x0009 line=140 │ │ 0x000b line=141 │ │ 0x000d line=144 │ │ @@ -54195,17 +54195,17 @@ │ │ type : '(Ldnsfilter/remote/RemoteAccessServer;Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;ILdnsfilter/remote/RemoteAccessServer$1;)V' │ │ access : 0x11000 (SYNTHETIC CONSTRUCTOR) │ │ code - │ │ registers : 7 │ │ ins : 7 │ │ outs : 6 │ │ insns size : 4 16-bit code units │ │ -023260: |[023260] dnsfilter.remote.RemoteAccessServer$RemoteSession.:(Ldnsfilter/remote/RemoteAccessServer;Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;ILdnsfilter/remote/RemoteAccessServer$1;)V │ │ -023270: 7606 6c04 0000 |0000: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.:(Ldnsfilter/remote/RemoteAccessServer;Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;I)V // method@046c │ │ -023276: 0e00 |0003: return-void │ │ +02325c: |[02325c] dnsfilter.remote.RemoteAccessServer$RemoteSession.:(Ldnsfilter/remote/RemoteAccessServer;Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;ILdnsfilter/remote/RemoteAccessServer$1;)V │ │ +02326c: 7606 6c04 0000 |0000: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.:(Ldnsfilter/remote/RemoteAccessServer;Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;I)V // method@046c │ │ +023272: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=134 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/remote/RemoteAccessServer$RemoteSession; │ │ 0x0000 - 0x0004 reg=1 (null) Ldnsfilter/remote/RemoteAccessServer; │ │ 0x0000 - 0x0004 reg=2 (null) Ljava/net/Socket; │ │ @@ -54219,17 +54219,17 @@ │ │ type : '(Ldnsfilter/remote/RemoteAccessServer$RemoteSession;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -023278: |[023278] dnsfilter.remote.RemoteAccessServer$RemoteSession.access$000:(Ldnsfilter/remote/RemoteAccessServer$RemoteSession;)V │ │ -023288: 7010 7504 0000 |0000: invoke-direct {v0}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.invalidate:()V // method@0475 │ │ -02328e: 0e00 |0003: return-void │ │ +023274: |[023274] dnsfilter.remote.RemoteAccessServer$RemoteSession.access$000:(Ldnsfilter/remote/RemoteAccessServer$RemoteSession;)V │ │ +023284: 7010 7504 0000 |0000: invoke-direct {v0}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.invalidate:()V // method@0475 │ │ +02328a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=134 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/remote/RemoteAccessServer$RemoteSession; │ │ │ │ #3 : (in Ldnsfilter/remote/RemoteAccessServer$RemoteSession;) │ │ @@ -54237,107 +54237,107 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 179 16-bit code units │ │ -023290: |[023290] dnsfilter.remote.RemoteAccessServer$RemoteSession.attachStream:()V │ │ -0232a0: 5460 fd02 |0000: iget-object v0, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ -0232a4: 7110 7907 0000 |0002: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ -0232aa: 0c00 |0005: move-result-object v0 │ │ -0232ac: 7110 4105 0000 |0006: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ -0232b2: 0a00 |0009: move-result v0 │ │ -0232b4: 5960 fa02 |000a: iput v0, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.connectedSessionId:I // field@02fa │ │ -0232b8: 1210 |000c: const/4 v0, #int 1 // #1 │ │ -0232ba: 5c60 0203 |000d: iput-boolean v0, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteStreamSession:Z // field@0302 │ │ -0232be: 2201 8a01 |000f: new-instance v1, Lutil/SuppressRepeatingsLogger; // type@018a │ │ -0232c2: 2202 7801 |0011: new-instance v2, Lutil/AsyncLogger; // type@0178 │ │ -0232c6: 2203 e700 |0013: new-instance v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1; // type@00e7 │ │ -0232ca: 7020 6504 6300 |0015: invoke-direct {v3, v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.:(Ldnsfilter/remote/RemoteAccessServer$RemoteSession;)V // method@0465 │ │ -0232d0: 7020 9106 3200 |0018: invoke-direct {v2, v3}, Lutil/AsyncLogger;.:(Lutil/LoggerInterface;)V // method@0691 │ │ -0232d6: 7020 4e07 2100 |001b: invoke-direct {v1, v2}, Lutil/SuppressRepeatingsLogger;.:(Lutil/LoggerInterface;)V // method@074e │ │ -0232dc: 5b61 0103 |001e: iput-object v1, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@0301 │ │ -0232e0: 7100 8601 0000 |0020: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0186 │ │ -0232e6: 0c01 |0023: move-result-object v1 │ │ -0232e8: 6e10 8101 0100 |0024: invoke-virtual {v1}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ -0232ee: 0c01 |0027: move-result-object v1 │ │ -0232f0: 1a02 f209 |0028: const-string v2, "repeatingLogSuppressTime" // string@09f2 │ │ -0232f4: 1a03 7400 |002a: const-string v3, "1000" // string@0074 │ │ -0232f8: 6e30 3606 2103 |002c: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -0232fe: 0c01 |002f: move-result-object v1 │ │ -023300: 7110 4705 0100 |0030: invoke-static {v1}, Ljava/lang/Long;.parseLong:(Ljava/lang/String;)J // method@0547 │ │ -023306: 0b01 |0033: move-result-wide v1 │ │ -023308: 5463 0103 |0034: iget-object v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@0301 │ │ -02330c: 6e30 5807 1302 |0036: invoke-virtual {v3, v1, v2}, Lutil/SuppressRepeatingsLogger;.setSuppressTime:(J)V // method@0758 │ │ -023312: 7100 8601 0000 |0039: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0186 │ │ -023318: 0c01 |003c: move-result-object v1 │ │ -02331a: 6e10 8101 0100 |003d: invoke-virtual {v1}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ -023320: 0c01 |0040: move-result-object v1 │ │ -023322: 1a02 4605 |0041: const-string v2, "addLiveLogTimestamp" // string@0546 │ │ -023326: 1a03 d506 |0043: const-string v3, "false" // string@06d5 │ │ -02332a: 6e30 3606 2103 |0045: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -023330: 0c01 |0048: move-result-object v1 │ │ -023332: 7110 2705 0100 |0049: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -023338: 0a01 |004c: move-result v1 │ │ -02333a: 5462 0103 |004d: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@0301 │ │ -02333e: 1203 |004f: const/4 v3, #int 0 // #0 │ │ -023340: 6e20 5907 3200 |0050: invoke-virtual {v2, v3}, Lutil/SuppressRepeatingsLogger;.setTimestampFormat:(Ljava/lang/String;)V // method@0759 │ │ -023346: 3801 1700 |0053: if-eqz v1, 006a // +0017 │ │ -02334a: 7100 8601 0000 |0055: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0186 │ │ -023350: 0c01 |0058: move-result-object v1 │ │ -023352: 6e10 8101 0100 |0059: invoke-virtual {v1}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ -023358: 0c01 |005c: move-result-object v1 │ │ -02335a: 1a02 a208 |005d: const-string v2, "liveLogTimeStampFormat" // string@08a2 │ │ -02335e: 1a03 0408 |005f: const-string v3, "hh:mm:ss" // string@0804 │ │ -023362: 6e30 3606 2103 |0061: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ -023368: 0c01 |0064: move-result-object v1 │ │ -02336a: 5462 0103 |0065: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@0301 │ │ -02336e: 6e20 5907 1200 |0067: invoke-virtual {v2, v1}, Lutil/SuppressRepeatingsLogger;.setTimestampFormat:(Ljava/lang/String;)V // method@0759 │ │ -023374: 5461 0003 |006a: iget-object v1, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023378: 1d01 |006c: monitor-enter v1 │ │ -02337a: 7100 0107 0000 |006d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -023380: 0c02 |0070: move-result-object v2 │ │ -023382: 1f02 7e01 |0071: check-cast v2, Lutil/GroupedLogger; // type@017e │ │ -023386: 5463 0103 |0073: iget-object v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@0301 │ │ -02338a: 6e20 d106 3200 |0075: invoke-virtual {v2, v3}, Lutil/GroupedLogger;.attachLogger:(Lutil/LoggerInterface;)V // method@06d1 │ │ -023390: 2819 |0078: goto 0091 // +0019 │ │ -023392: 0d00 |0079: move-exception v0 │ │ -023394: 2829 |007a: goto 00a3 // +0029 │ │ -023396: 2202 7e01 |007b: new-instance v2, Lutil/GroupedLogger; // type@017e │ │ -02339a: 1223 |007d: const/4 v3, #int 2 // #2 │ │ -02339c: 2333 b001 |007e: new-array v3, v3, [Lutil/LoggerInterface; // type@01b0 │ │ -0233a0: 7100 0107 0000 |0080: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -0233a6: 0c04 |0083: move-result-object v4 │ │ -0233a8: 1205 |0084: const/4 v5, #int 0 // #0 │ │ -0233aa: 4d04 0305 |0085: aput-object v4, v3, v5 │ │ -0233ae: 5464 0103 |0087: iget-object v4, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@0301 │ │ -0233b2: 4d04 0300 |0089: aput-object v4, v3, v0 │ │ -0233b6: 7020 d006 3200 |008b: invoke-direct {v2, v3}, Lutil/GroupedLogger;.:([Lutil/LoggerInterface;)V // method@06d0 │ │ -0233bc: 7110 0807 0200 |008e: invoke-static {v2}, Lutil/Logger;.setLogger:(Lutil/LoggerInterface;)V // method@0708 │ │ -0233c2: 5460 0003 |0091: iget-object v0, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -0233c6: 1a02 fc03 |0093: const-string v2, "OK │ │ +02328c: |[02328c] dnsfilter.remote.RemoteAccessServer$RemoteSession.attachStream:()V │ │ +02329c: 5460 fd02 |0000: iget-object v0, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ +0232a0: 7110 7907 0000 |0002: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ +0232a6: 0c00 |0005: move-result-object v0 │ │ +0232a8: 7110 4105 0000 |0006: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ +0232ae: 0a00 |0009: move-result v0 │ │ +0232b0: 5960 fa02 |000a: iput v0, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.connectedSessionId:I // field@02fa │ │ +0232b4: 1210 |000c: const/4 v0, #int 1 // #1 │ │ +0232b6: 5c60 0203 |000d: iput-boolean v0, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteStreamSession:Z // field@0302 │ │ +0232ba: 2201 8a01 |000f: new-instance v1, Lutil/SuppressRepeatingsLogger; // type@018a │ │ +0232be: 2202 7801 |0011: new-instance v2, Lutil/AsyncLogger; // type@0178 │ │ +0232c2: 2203 e700 |0013: new-instance v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1; // type@00e7 │ │ +0232c6: 7020 6504 6300 |0015: invoke-direct {v3, v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.:(Ldnsfilter/remote/RemoteAccessServer$RemoteSession;)V // method@0465 │ │ +0232cc: 7020 9106 3200 |0018: invoke-direct {v2, v3}, Lutil/AsyncLogger;.:(Lutil/LoggerInterface;)V // method@0691 │ │ +0232d2: 7020 4e07 2100 |001b: invoke-direct {v1, v2}, Lutil/SuppressRepeatingsLogger;.:(Lutil/LoggerInterface;)V // method@074e │ │ +0232d8: 5b61 0103 |001e: iput-object v1, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@0301 │ │ +0232dc: 7100 8601 0000 |0020: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0186 │ │ +0232e2: 0c01 |0023: move-result-object v1 │ │ +0232e4: 6e10 8101 0100 |0024: invoke-virtual {v1}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ +0232ea: 0c01 |0027: move-result-object v1 │ │ +0232ec: 1a02 f209 |0028: const-string v2, "repeatingLogSuppressTime" // string@09f2 │ │ +0232f0: 1a03 7400 |002a: const-string v3, "1000" // string@0074 │ │ +0232f4: 6e30 3606 2103 |002c: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +0232fa: 0c01 |002f: move-result-object v1 │ │ +0232fc: 7110 4705 0100 |0030: invoke-static {v1}, Ljava/lang/Long;.parseLong:(Ljava/lang/String;)J // method@0547 │ │ +023302: 0b01 |0033: move-result-wide v1 │ │ +023304: 5463 0103 |0034: iget-object v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@0301 │ │ +023308: 6e30 5807 1302 |0036: invoke-virtual {v3, v1, v2}, Lutil/SuppressRepeatingsLogger;.setSuppressTime:(J)V // method@0758 │ │ +02330e: 7100 8601 0000 |0039: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0186 │ │ +023314: 0c01 |003c: move-result-object v1 │ │ +023316: 6e10 8101 0100 |003d: invoke-virtual {v1}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ +02331c: 0c01 |0040: move-result-object v1 │ │ +02331e: 1a02 4605 |0041: const-string v2, "addLiveLogTimestamp" // string@0546 │ │ +023322: 1a03 d506 |0043: const-string v3, "false" // string@06d5 │ │ +023326: 6e30 3606 2103 |0045: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +02332c: 0c01 |0048: move-result-object v1 │ │ +02332e: 7110 2705 0100 |0049: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +023334: 0a01 |004c: move-result v1 │ │ +023336: 5462 0103 |004d: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@0301 │ │ +02333a: 1203 |004f: const/4 v3, #int 0 // #0 │ │ +02333c: 6e20 5907 3200 |0050: invoke-virtual {v2, v3}, Lutil/SuppressRepeatingsLogger;.setTimestampFormat:(Ljava/lang/String;)V // method@0759 │ │ +023342: 3801 1700 |0053: if-eqz v1, 006a // +0017 │ │ +023346: 7100 8601 0000 |0055: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0186 │ │ +02334c: 0c01 |0058: move-result-object v1 │ │ +02334e: 6e10 8101 0100 |0059: invoke-virtual {v1}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0181 │ │ +023354: 0c01 |005c: move-result-object v1 │ │ +023356: 1a02 a208 |005d: const-string v2, "liveLogTimeStampFormat" // string@08a2 │ │ +02335a: 1a03 0408 |005f: const-string v3, "hh:mm:ss" // string@0804 │ │ +02335e: 6e30 3606 2103 |0061: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0636 │ │ +023364: 0c01 |0064: move-result-object v1 │ │ +023366: 5462 0103 |0065: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@0301 │ │ +02336a: 6e20 5907 1200 |0067: invoke-virtual {v2, v1}, Lutil/SuppressRepeatingsLogger;.setTimestampFormat:(Ljava/lang/String;)V // method@0759 │ │ +023370: 5461 0003 |006a: iget-object v1, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023374: 1d01 |006c: monitor-enter v1 │ │ +023376: 7100 0107 0000 |006d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +02337c: 0c02 |0070: move-result-object v2 │ │ +02337e: 1f02 7e01 |0071: check-cast v2, Lutil/GroupedLogger; // type@017e │ │ +023382: 5463 0103 |0073: iget-object v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@0301 │ │ +023386: 6e20 d106 3200 |0075: invoke-virtual {v2, v3}, Lutil/GroupedLogger;.attachLogger:(Lutil/LoggerInterface;)V // method@06d1 │ │ +02338c: 2819 |0078: goto 0091 // +0019 │ │ +02338e: 0d00 |0079: move-exception v0 │ │ +023390: 2829 |007a: goto 00a3 // +0029 │ │ +023392: 2202 7e01 |007b: new-instance v2, Lutil/GroupedLogger; // type@017e │ │ +023396: 1223 |007d: const/4 v3, #int 2 // #2 │ │ +023398: 2333 b001 |007e: new-array v3, v3, [Lutil/LoggerInterface; // type@01b0 │ │ +02339c: 7100 0107 0000 |0080: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +0233a2: 0c04 |0083: move-result-object v4 │ │ +0233a4: 1205 |0084: const/4 v5, #int 0 // #0 │ │ +0233a6: 4d04 0305 |0085: aput-object v4, v3, v5 │ │ +0233aa: 5464 0103 |0087: iget-object v4, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@0301 │ │ +0233ae: 4d04 0300 |0089: aput-object v4, v3, v0 │ │ +0233b2: 7020 d006 3200 |008b: invoke-direct {v2, v3}, Lutil/GroupedLogger;.:([Lutil/LoggerInterface;)V // method@06d0 │ │ +0233b8: 7110 0807 0200 |008e: invoke-static {v2}, Lutil/Logger;.setLogger:(Lutil/LoggerInterface;)V // method@0708 │ │ +0233be: 5460 0003 |0091: iget-object v0, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +0233c2: 1a02 fc03 |0093: const-string v2, "OK │ │ " // string@03fc │ │ -0233ca: 6e10 6905 0200 |0095: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -0233d0: 0c02 |0098: move-result-object v2 │ │ -0233d2: 6e20 d304 2000 |0099: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -0233d8: 6000 e702 |009c: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e7 │ │ -0233dc: 7020 7104 0600 |009e: invoke-direct {v6, v0}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doHeartBeat:(I)V // method@0471 │ │ -0233e2: 1e01 |00a1: monitor-exit v1 │ │ -0233e4: 0e00 |00a2: return-void │ │ -0233e6: 1e01 |00a3: monitor-exit v1 │ │ -0233e8: 2700 |00a4: throw v0 │ │ -0233ea: 0d00 |00a5: move-exception v0 │ │ -0233ec: 2201 fb00 |00a6: new-instance v1, Ljava/io/IOException; // type@00fb │ │ -0233f0: 7020 fd04 0100 |00a8: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@04fd │ │ -0233f6: 2701 |00ab: throw v1 │ │ -0233f8: 0d00 |00ac: move-exception v0 │ │ -0233fa: 2201 fb00 |00ad: new-instance v1, Ljava/io/IOException; // type@00fb │ │ -0233fe: 7020 fd04 0100 |00af: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@04fd │ │ -023404: 2701 |00b2: throw v1 │ │ +0233c6: 6e10 6905 0200 |0095: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +0233cc: 0c02 |0098: move-result-object v2 │ │ +0233ce: 6e20 d304 2000 |0099: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +0233d4: 6000 e702 |009c: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e7 │ │ +0233d8: 7020 7104 0600 |009e: invoke-direct {v6, v0}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doHeartBeat:(I)V // method@0471 │ │ +0233de: 1e01 |00a1: monitor-exit v1 │ │ +0233e0: 0e00 |00a2: return-void │ │ +0233e2: 1e01 |00a3: monitor-exit v1 │ │ +0233e4: 2700 |00a4: throw v0 │ │ +0233e6: 0d00 |00a5: move-exception v0 │ │ +0233e8: 2201 fb00 |00a6: new-instance v1, Ljava/io/IOException; // type@00fb │ │ +0233ec: 7020 fd04 0100 |00a8: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@04fd │ │ +0233f2: 2701 |00ab: throw v1 │ │ +0233f4: 0d00 |00ac: move-exception v0 │ │ +0233f6: 2201 fb00 |00ad: new-instance v1, Ljava/io/IOException; // type@00fb │ │ +0233fa: 7020 fd04 0100 |00af: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@04fd │ │ +023400: 2701 |00b2: throw v1 │ │ catches : 4 │ │ 0x0000 - 0x000f │ │ Ljava/lang/Exception; -> 0x00ac │ │ 0x0020 - 0x006a │ │ Ljava/lang/Exception; -> 0x00a5 │ │ 0x006d - 0x0078 │ │ Ljava/lang/ClassCastException; -> 0x007b │ │ @@ -54371,33 +54371,33 @@ │ │ type : '()Z' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 32 16-bit code units │ │ -023128: |[023128] dnsfilter.remote.RemoteAccessServer$RemoteSession.checkLastConfirmedHeartBeat:()Z │ │ -023138: 7100 8d05 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@058d │ │ -02313e: 0b00 |0003: move-result-wide v0 │ │ -023140: 5352 ff02 |0004: iget-wide v2, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.lastHeartBeatConfirm:J // field@02ff │ │ -023144: bc20 |0006: sub-long/2addr v0, v2 │ │ -023146: 6002 e702 |0007: sget v2, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e7 │ │ -02314a: da02 0202 |0009: mul-int/lit8 v2, v2, #int 2 // #02 │ │ -02314e: 8122 |000b: int-to-long v2, v2 │ │ -023150: 3104 0002 |000c: cmp-long v4, v0, v2 │ │ -023154: 3d04 1000 |000e: if-lez v4, 001e // +0010 │ │ -023158: 7100 0107 0000 |0010: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -02315e: 0c00 |0013: move-result-object v0 │ │ -023160: 1a01 ba01 |0014: const-string v1, "Heartbeat Confirmation not received - Dead Session!" // string@01ba │ │ -023164: 7220 0d07 1000 |0016: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -02316a: 6e10 7604 0500 |0019: invoke-virtual {v5}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@0476 │ │ -023170: 1200 |001c: const/4 v0, #int 0 // #0 │ │ -023172: 0f00 |001d: return v0 │ │ -023174: 1210 |001e: const/4 v0, #int 1 // #1 │ │ -023176: 0f00 |001f: return v0 │ │ +023124: |[023124] dnsfilter.remote.RemoteAccessServer$RemoteSession.checkLastConfirmedHeartBeat:()Z │ │ +023134: 7100 8d05 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@058d │ │ +02313a: 0b00 |0003: move-result-wide v0 │ │ +02313c: 5352 ff02 |0004: iget-wide v2, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.lastHeartBeatConfirm:J // field@02ff │ │ +023140: bc20 |0006: sub-long/2addr v0, v2 │ │ +023142: 6002 e702 |0007: sget v2, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e7 │ │ +023146: da02 0202 |0009: mul-int/lit8 v2, v2, #int 2 // #02 │ │ +02314a: 8122 |000b: int-to-long v2, v2 │ │ +02314c: 3104 0002 |000c: cmp-long v4, v0, v2 │ │ +023150: 3d04 1000 |000e: if-lez v4, 001e // +0010 │ │ +023154: 7100 0107 0000 |0010: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +02315a: 0c00 |0013: move-result-object v0 │ │ +02315c: 1a01 ba01 |0014: const-string v1, "Heartbeat Confirmation not received - Dead Session!" // string@01ba │ │ +023160: 7220 0d07 1000 |0016: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +023166: 6e10 7604 0500 |0019: invoke-virtual {v5}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@0476 │ │ +02316c: 1200 |001c: const/4 v0, #int 0 // #0 │ │ +02316e: 0f00 |001d: return v0 │ │ +023170: 1210 |001e: const/4 v0, #int 1 // #1 │ │ +023172: 0f00 |001f: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=470 │ │ 0x0007 line=471 │ │ 0x0010 line=472 │ │ 0x0019 line=473 │ │ locals : │ │ @@ -54408,50 +54408,50 @@ │ │ type : '(I)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 66 16-bit code units │ │ -02343c: |[02343c] dnsfilter.remote.RemoteAccessServer$RemoteSession.doHeartBeat:(I)V │ │ -02344c: 5440 0003 |0000: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023450: 1d00 |0002: monitor-enter v0 │ │ -023452: 5441 0003 |0003: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023456: 1262 |0005: const/4 v2, #int 6 // #6 │ │ -023458: 6e20 d804 2100 |0006: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04d8 │ │ -02345e: 5441 0003 |0009: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023462: 1202 |000b: const/4 v2, #int 0 // #0 │ │ -023464: 6e20 d804 2100 |000c: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04d8 │ │ -02346a: 5441 0003 |000f: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -02346e: 6e10 d204 0100 |0011: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -023474: 1e00 |0014: monitor-exit v0 │ │ -023476: 7100 8d05 0000 |0015: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@058d │ │ -02347c: 0b00 |0018: move-result-wide v0 │ │ -02347e: 8152 |0019: int-to-long v2, v5 │ │ -023480: bb20 |001a: add-long/2addr v0, v2 │ │ -023482: 5a40 0503 |001b: iput-wide v0, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.timeout:J // field@0305 │ │ -023486: 7100 6207 0000 |001d: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0762 │ │ -02348c: 0c05 |0020: move-result-object v5 │ │ -02348e: 6e20 6407 4500 |0021: invoke-virtual {v5, v4}, Lutil/TimoutNotificator;.register:(Lutil/TimeoutListener;)V // method@0764 │ │ -023494: 281d |0024: goto 0041 // +001d │ │ -023496: 0d05 |0025: move-exception v5 │ │ -023498: 1e00 |0026: monitor-exit v0 │ │ -02349a: 2705 |0027: throw v5 │ │ -02349c: 0d05 |0028: move-exception v5 │ │ -02349e: 7100 0107 0000 |0029: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -0234a4: 0c00 |002c: move-result-object v0 │ │ -0234a6: 2201 2801 |002d: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -0234aa: 1a02 bb01 |002f: const-string v2, "Heartbeat failed! " // string@01bb │ │ -0234ae: 7020 8405 2100 |0031: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -0234b4: 6e20 8805 5100 |0034: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ -0234ba: 6e10 8b05 0100 |0037: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0234c0: 0c05 |003a: move-result-object v5 │ │ -0234c2: 7220 0d07 5000 |003b: invoke-interface {v0, v5}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -0234c8: 6e10 7604 0400 |003e: invoke-virtual {v4}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@0476 │ │ -0234ce: 0e00 |0041: return-void │ │ +023438: |[023438] dnsfilter.remote.RemoteAccessServer$RemoteSession.doHeartBeat:(I)V │ │ +023448: 5440 0003 |0000: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +02344c: 1d00 |0002: monitor-enter v0 │ │ +02344e: 5441 0003 |0003: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023452: 1262 |0005: const/4 v2, #int 6 // #6 │ │ +023454: 6e20 d804 2100 |0006: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04d8 │ │ +02345a: 5441 0003 |0009: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +02345e: 1202 |000b: const/4 v2, #int 0 // #0 │ │ +023460: 6e20 d804 2100 |000c: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04d8 │ │ +023466: 5441 0003 |000f: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +02346a: 6e10 d204 0100 |0011: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +023470: 1e00 |0014: monitor-exit v0 │ │ +023472: 7100 8d05 0000 |0015: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@058d │ │ +023478: 0b00 |0018: move-result-wide v0 │ │ +02347a: 8152 |0019: int-to-long v2, v5 │ │ +02347c: bb20 |001a: add-long/2addr v0, v2 │ │ +02347e: 5a40 0503 |001b: iput-wide v0, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.timeout:J // field@0305 │ │ +023482: 7100 6207 0000 |001d: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0762 │ │ +023488: 0c05 |0020: move-result-object v5 │ │ +02348a: 6e20 6407 4500 |0021: invoke-virtual {v5, v4}, Lutil/TimoutNotificator;.register:(Lutil/TimeoutListener;)V // method@0764 │ │ +023490: 281d |0024: goto 0041 // +001d │ │ +023492: 0d05 |0025: move-exception v5 │ │ +023494: 1e00 |0026: monitor-exit v0 │ │ +023496: 2705 |0027: throw v5 │ │ +023498: 0d05 |0028: move-exception v5 │ │ +02349a: 7100 0107 0000 |0029: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +0234a0: 0c00 |002c: move-result-object v0 │ │ +0234a2: 2201 2801 |002d: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +0234a6: 1a02 bb01 |002f: const-string v2, "Heartbeat failed! " // string@01bb │ │ +0234aa: 7020 8405 2100 |0031: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +0234b0: 6e20 8805 5100 |0034: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ +0234b6: 6e10 8b05 0100 |0037: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0234bc: 0c05 |003a: move-result-object v5 │ │ +0234be: 7220 0d07 5000 |003b: invoke-interface {v0, v5}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +0234c4: 6e10 7604 0400 |003e: invoke-virtual {v4}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@0476 │ │ +0234ca: 0e00 |0041: return-void │ │ catches : 5 │ │ 0x0000 - 0x0003 │ │ Ljava/io/IOException; -> 0x0028 │ │ 0x0003 - 0x0015 │ │ -> 0x0025 │ │ 0x0015 - 0x0024 │ │ Ljava/io/IOException; -> 0x0028 │ │ @@ -54479,393 +54479,393 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 818 16-bit code units │ │ -023500: |[023500] dnsfilter.remote.RemoteAccessServer$RemoteSession.executeAction:(Ljava/lang/String;)V │ │ -023510: 1a00 0200 |0000: const-string v0, " │ │ +0234fc: |[0234fc] dnsfilter.remote.RemoteAccessServer$RemoteSession.executeAction:(Ljava/lang/String;)V │ │ +02350c: 1a00 0200 |0000: const-string v0, " │ │ " // string@0002 │ │ -023514: 1a01 8704 |0002: const-string v1, "Unknown action: " // string@0487 │ │ -023518: 1a02 3e07 |0004: const-string v2, "getConfig()" // string@073e │ │ -02351c: 6e20 6705 2600 |0006: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -023522: 0a02 |0009: move-result v2 │ │ -023524: 1a03 fc03 |000a: const-string v3, "OK │ │ +023510: 1a01 8704 |0002: const-string v1, "Unknown action: " // string@0487 │ │ +023514: 1a02 3e07 |0004: const-string v2, "getConfig()" // string@073e │ │ +023518: 6e20 6705 2600 |0006: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +02351e: 0a02 |0009: move-result v2 │ │ +023520: 1a03 fc03 |000a: const-string v3, "OK │ │ " // string@03fc │ │ -023528: 3802 2200 |000c: if-eqz v2, 002e // +0022 │ │ -02352c: 7100 3f01 0000 |000e: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -023532: 0c06 |0011: move-result-object v6 │ │ -023534: 6e10 3901 0600 |0012: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@0139 │ │ -02353a: 0c06 |0015: move-result-object v6 │ │ -02353c: 5451 0003 |0016: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023540: 6e10 6905 0300 |0018: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -023546: 0c02 |001b: move-result-object v2 │ │ -023548: 6e20 d304 2100 |001c: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -02354e: 2201 ff00 |001f: new-instance v1, Ljava/io/ObjectOutputStream; // type@00ff │ │ -023552: 5452 0003 |0021: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023556: 7020 0a05 2100 |0023: invoke-direct {v1, v2}, Ljava/io/ObjectOutputStream;.:(Ljava/io/OutputStream;)V // method@050a │ │ -02355c: 6e20 0d05 6100 |0026: invoke-virtual {v1, v6}, Ljava/io/ObjectOutputStream;.writeObject:(Ljava/lang/Object;)V // method@050d │ │ -023562: 6e10 0c05 0100 |0029: invoke-virtual {v1}, Ljava/io/ObjectOutputStream;.flush:()V // method@050c │ │ -023568: 2900 0503 |002c: goto/16 0331 // +0305 │ │ -02356c: 1a02 5d07 |002e: const-string v2, "getDefaultConfig()" // string@075d │ │ -023570: 6e20 6705 2600 |0030: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -023576: 0a02 |0033: move-result v2 │ │ -023578: 3802 2200 |0034: if-eqz v2, 0056 // +0022 │ │ -02357c: 7100 3f01 0000 |0036: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -023582: 0c06 |0039: move-result-object v6 │ │ -023584: 6e10 3c01 0600 |003a: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess;.getDefaultConfig:()Ljava/util/Properties; // method@013c │ │ -02358a: 0c06 |003d: move-result-object v6 │ │ -02358c: 5451 0003 |003e: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023590: 6e10 6905 0300 |0040: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -023596: 0c02 |0043: move-result-object v2 │ │ -023598: 6e20 d304 2100 |0044: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -02359e: 2201 ff00 |0047: new-instance v1, Ljava/io/ObjectOutputStream; // type@00ff │ │ -0235a2: 5452 0003 |0049: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -0235a6: 7020 0a05 2100 |004b: invoke-direct {v1, v2}, Ljava/io/ObjectOutputStream;.:(Ljava/io/OutputStream;)V // method@050a │ │ -0235ac: 6e20 0d05 6100 |004e: invoke-virtual {v1, v6}, Ljava/io/ObjectOutputStream;.writeObject:(Ljava/lang/Object;)V // method@050d │ │ -0235b2: 6e10 0c05 0100 |0051: invoke-virtual {v1}, Ljava/io/ObjectOutputStream;.flush:()V // method@050c │ │ -0235b8: 2900 dd02 |0054: goto/16 0331 // +02dd │ │ -0235bc: 1a02 a709 |0056: const-string v2, "readConfig()" // string@09a7 │ │ -0235c0: 6e20 6705 2600 |0058: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -0235c6: 0a02 |005b: move-result v2 │ │ -0235c8: 3802 2500 |005c: if-eqz v2, 0081 // +0025 │ │ -0235cc: 7100 3f01 0000 |005e: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -0235d2: 0c06 |0061: move-result-object v6 │ │ -0235d4: 6e10 4501 0600 |0062: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess;.readConfig:()[B // method@0145 │ │ -0235da: 0c06 |0065: move-result-object v6 │ │ -0235dc: 5451 0003 |0066: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -0235e0: 6e10 6905 0300 |0068: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -0235e6: 0c02 |006b: move-result-object v2 │ │ -0235e8: 6e20 d304 2100 |006c: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -0235ee: 5451 0003 |006f: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -0235f2: 2162 |0071: array-length v2, v6 │ │ -0235f4: 6e20 d604 2100 |0072: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04d6 │ │ -0235fa: 5451 0003 |0075: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -0235fe: 6e20 d304 6100 |0077: invoke-virtual {v1, v6}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -023604: 5456 0003 |007a: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023608: 6e10 d204 0600 |007c: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -02360e: 2900 b202 |007f: goto/16 0331 // +02b2 │ │ -023612: 1a02 400b |0081: const-string v2, "updateConfig()" // string@0b40 │ │ -023616: 6e20 6705 2600 |0083: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -02361c: 0a02 |0086: move-result v2 │ │ -02361e: 3802 2600 |0087: if-eqz v2, 00ad // +0026 │ │ -023622: 5456 fd02 |0089: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ -023626: 6e10 cd04 0600 |008b: invoke-virtual {v6}, Ljava/io/DataInputStream;.readInt:()I // method@04cd │ │ -02362c: 0a06 |008e: move-result v6 │ │ -02362e: 2366 9901 |008f: new-array v6, v6, [B // type@0199 │ │ -023632: 5451 fd02 |0091: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ -023636: 6e20 cb04 6100 |0093: invoke-virtual {v1, v6}, Ljava/io/DataInputStream;.readFully:([B)V // method@04cb │ │ -02363c: 7100 3f01 0000 |0096: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -023642: 0c01 |0099: move-result-object v1 │ │ -023644: 6e20 4d01 6100 |009a: invoke-virtual {v1, v6}, Ldnsfilter/ConfigurationAccess;.updateConfig:([B)V // method@014d │ │ -02364a: 5456 0003 |009d: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -02364e: 6e10 6905 0300 |009f: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -023654: 0c01 |00a2: move-result-object v1 │ │ -023656: 6e20 d304 1600 |00a3: invoke-virtual {v6, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -02365c: 5456 0003 |00a6: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023660: 6e10 d204 0600 |00a8: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -023666: 2900 8602 |00ab: goto/16 0331 // +0286 │ │ -02366a: 1a02 440b |00ad: const-string v2, "updateConfigMergeDefaults()" // string@0b44 │ │ -02366e: 6e20 6705 2600 |00af: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -023674: 0a02 |00b2: move-result v2 │ │ -023676: 3802 2600 |00b3: if-eqz v2, 00d9 // +0026 │ │ -02367a: 5456 fd02 |00b5: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ -02367e: 6e10 cd04 0600 |00b7: invoke-virtual {v6}, Ljava/io/DataInputStream;.readInt:()I // method@04cd │ │ -023684: 0a06 |00ba: move-result v6 │ │ -023686: 2366 9901 |00bb: new-array v6, v6, [B // type@0199 │ │ -02368a: 5451 fd02 |00bd: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ -02368e: 6e20 cb04 6100 |00bf: invoke-virtual {v1, v6}, Ljava/io/DataInputStream;.readFully:([B)V // method@04cb │ │ -023694: 7100 3f01 0000 |00c2: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -02369a: 0c01 |00c5: move-result-object v1 │ │ -02369c: 6e20 4e01 6100 |00c6: invoke-virtual {v1, v6}, Ldnsfilter/ConfigurationAccess;.updateConfigMergeDefaults:([B)V // method@014e │ │ -0236a2: 5456 0003 |00c9: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -0236a6: 6e10 6905 0300 |00cb: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -0236ac: 0c01 |00ce: move-result-object v1 │ │ -0236ae: 6e20 d304 1600 |00cf: invoke-virtual {v6, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -0236b4: 5456 0003 |00d2: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -0236b8: 6e10 d204 0600 |00d4: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -0236be: 2900 5a02 |00d7: goto/16 0331 // +025a │ │ -0236c2: 1a02 2007 |00d9: const-string v2, "getAdditionalHosts()" // string@0720 │ │ -0236c6: 6e20 6705 2600 |00db: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -0236cc: 0a02 |00de: move-result v2 │ │ -0236ce: 3802 2b00 |00df: if-eqz v2, 010a // +002b │ │ -0236d2: 5456 fd02 |00e1: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ -0236d6: 6e10 cd04 0600 |00e3: invoke-virtual {v6}, Ljava/io/DataInputStream;.readInt:()I // method@04cd │ │ -0236dc: 0a06 |00e6: move-result v6 │ │ -0236de: 7100 3f01 0000 |00e7: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -0236e4: 0c01 |00ea: move-result-object v1 │ │ -0236e6: 6e20 3701 6100 |00eb: invoke-virtual {v1, v6}, Ldnsfilter/ConfigurationAccess;.getAdditionalHosts:(I)[B // method@0137 │ │ -0236ec: 0c06 |00ee: move-result-object v6 │ │ -0236ee: 5451 0003 |00ef: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -0236f2: 6e10 6905 0300 |00f1: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -0236f8: 0c02 |00f4: move-result-object v2 │ │ -0236fa: 6e20 d304 2100 |00f5: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -023700: 5451 0003 |00f8: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023704: 2162 |00fa: array-length v2, v6 │ │ -023706: 6e20 d604 2100 |00fb: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04d6 │ │ -02370c: 5451 0003 |00fe: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023710: 6e20 d304 6100 |0100: invoke-virtual {v1, v6}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -023716: 5456 0003 |0103: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -02371a: 6e10 d204 0600 |0105: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -023720: 2900 2902 |0108: goto/16 0331 // +0229 │ │ -023724: 1a02 3d0b |010a: const-string v2, "updateAdditionalHosts()" // string@0b3d │ │ -023728: 6e20 6705 2600 |010c: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -02372e: 0a02 |010f: move-result v2 │ │ -023730: 3802 2600 |0110: if-eqz v2, 0136 // +0026 │ │ -023734: 5456 fd02 |0112: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ -023738: 6e10 cd04 0600 |0114: invoke-virtual {v6}, Ljava/io/DataInputStream;.readInt:()I // method@04cd │ │ -02373e: 0a06 |0117: move-result v6 │ │ -023740: 2366 9901 |0118: new-array v6, v6, [B // type@0199 │ │ -023744: 5451 fd02 |011a: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ -023748: 6e20 cb04 6100 |011c: invoke-virtual {v1, v6}, Ljava/io/DataInputStream;.readFully:([B)V // method@04cb │ │ -02374e: 7100 3f01 0000 |011f: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -023754: 0c01 |0122: move-result-object v1 │ │ -023756: 6e20 4c01 6100 |0123: invoke-virtual {v1, v6}, Ldnsfilter/ConfigurationAccess;.updateAdditionalHosts:([B)V // method@014c │ │ -02375c: 5456 0003 |0126: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023760: 6e10 6905 0300 |0128: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -023766: 0c01 |012b: move-result-object v1 │ │ -023768: 6e20 d304 1600 |012c: invoke-virtual {v6, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -02376e: 5456 0003 |012f: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023772: 6e10 d204 0600 |0131: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -023778: 2900 fd01 |0134: goto/16 0331 // +01fd │ │ -02377c: 1a02 480b |0136: const-string v2, "updateFilter()" // string@0b48 │ │ -023780: 6e20 6705 2600 |0138: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -023786: 0a02 |013b: move-result v2 │ │ -023788: 3802 2f00 |013c: if-eqz v2, 016b // +002f │ │ -02378c: 5456 fd02 |013e: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ -023790: 7110 7907 0600 |0140: invoke-static {v6}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ -023796: 0c06 |0143: move-result-object v6 │ │ -023798: 1a01 9000 |0144: const-string v1, ";" // string@0090 │ │ -02379c: 6e30 7105 1600 |0146: invoke-virtual {v6, v1, v0}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0571 │ │ -0237a2: 0c06 |0149: move-result-object v6 │ │ -0237a4: 5451 fd02 |014a: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ -0237a8: 7110 7907 0100 |014c: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ -0237ae: 0c01 |014f: move-result-object v1 │ │ -0237b0: 7110 2705 0100 |0150: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ -0237b6: 0a01 |0153: move-result v1 │ │ -0237b8: 7100 3f01 0000 |0154: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -0237be: 0c02 |0157: move-result-object v2 │ │ -0237c0: 6e30 4f01 6201 |0158: invoke-virtual {v2, v6, v1}, Ldnsfilter/ConfigurationAccess;.updateFilter:(Ljava/lang/String;Z)V // method@014f │ │ -0237c6: 5456 0003 |015b: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -0237ca: 6e10 6905 0300 |015d: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -0237d0: 0c01 |0160: move-result-object v1 │ │ -0237d2: 6e20 d304 1600 |0161: invoke-virtual {v6, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -0237d8: 5456 0003 |0164: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -0237dc: 6e10 d204 0600 |0166: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -0237e2: 2900 c801 |0169: goto/16 0331 // +01c8 │ │ -0237e6: 1a02 060a |016b: const-string v2, "restart()" // string@0a06 │ │ -0237ea: 6e20 6705 2600 |016d: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -0237f0: 0a02 |0170: move-result v2 │ │ -0237f2: 3802 1900 |0171: if-eqz v2, 018a // +0019 │ │ -0237f6: 7100 3f01 0000 |0173: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -0237fc: 0c06 |0176: move-result-object v6 │ │ -0237fe: 6e10 4801 0600 |0177: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess;.restart:()V // method@0148 │ │ -023804: 5456 0003 |017a: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023808: 6e10 6905 0300 |017c: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -02380e: 0c01 |017f: move-result-object v1 │ │ -023810: 6e20 d304 1600 |0180: invoke-virtual {v6, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -023816: 5456 0003 |0183: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -02381a: 6e10 d204 0600 |0185: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -023820: 2900 a901 |0188: goto/16 0331 // +01a9 │ │ -023824: 1a02 e20a |018a: const-string v2, "stop()" // string@0ae2 │ │ -023828: 6e20 6705 2600 |018c: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -02382e: 0a02 |018f: move-result v2 │ │ -023830: 3802 1900 |0190: if-eqz v2, 01a9 // +0019 │ │ -023834: 7100 3f01 0000 |0192: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -02383a: 0c06 |0195: move-result-object v6 │ │ -02383c: 6e10 4901 0600 |0196: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess;.stop:()V // method@0149 │ │ -023842: 5456 0003 |0199: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023846: 6e10 6905 0300 |019b: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -02384c: 0c01 |019e: move-result-object v1 │ │ -02384e: 6e20 d304 1600 |019f: invoke-virtual {v6, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -023854: 5456 0003 |01a2: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023858: 6e10 d204 0600 |01a4: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -02385e: 2900 8a01 |01a7: goto/16 0331 // +018a │ │ -023862: 1a02 7a07 |01a9: const-string v2, "getFilterStatistics()" // string@077a │ │ -023866: 6e20 6705 2600 |01ab: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -02386c: 0a02 |01ae: move-result v2 │ │ -02386e: 1204 |01af: const/4 v4, #int 0 // #0 │ │ -023870: 3802 2900 |01b0: if-eqz v2, 01d9 // +0029 │ │ -023874: 7100 3f01 0000 |01b2: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -02387a: 0c06 |01b5: move-result-object v6 │ │ -02387c: 6e10 3d01 0600 |01b6: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess;.getFilterStatistics:()[J // method@013d │ │ -023882: 0c06 |01b9: move-result-object v6 │ │ -023884: 5451 0003 |01ba: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023888: 6e10 6905 0300 |01bc: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -02388e: 0c02 |01bf: move-result-object v2 │ │ -023890: 6e20 d304 2100 |01c0: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -023896: 5451 0003 |01c3: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -02389a: 4502 0604 |01c5: aget-wide v2, v6, v4 │ │ -02389e: 6e30 d704 2103 |01c7: invoke-virtual {v1, v2, v3}, Ljava/io/DataOutputStream;.writeLong:(J)V // method@04d7 │ │ -0238a4: 5451 0003 |01ca: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -0238a8: 1212 |01cc: const/4 v2, #int 1 // #1 │ │ -0238aa: 4502 0602 |01cd: aget-wide v2, v6, v2 │ │ -0238ae: 6e30 d704 2103 |01cf: invoke-virtual {v1, v2, v3}, Ljava/io/DataOutputStream;.writeLong:(J)V // method@04d7 │ │ -0238b4: 5456 0003 |01d2: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -0238b8: 6e10 d204 0600 |01d4: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -0238be: 2900 5a01 |01d7: goto/16 0331 // +015a │ │ -0238c2: 1a02 2d0b |01d9: const-string v2, "triggerUpdateFilter()" // string@0b2d │ │ -0238c6: 6e20 6705 2600 |01db: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -0238cc: 0a02 |01de: move-result v2 │ │ -0238ce: 3802 1900 |01df: if-eqz v2, 01f8 // +0019 │ │ -0238d2: 7100 3f01 0000 |01e1: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -0238d8: 0c06 |01e4: move-result-object v6 │ │ -0238da: 6e10 4b01 0600 |01e5: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess;.triggerUpdateFilter:()V // method@014b │ │ -0238e0: 5456 0003 |01e8: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -0238e4: 6e10 6905 0300 |01ea: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -0238ea: 0c01 |01ed: move-result-object v1 │ │ -0238ec: 6e20 d304 1600 |01ee: invoke-virtual {v6, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -0238f2: 5456 0003 |01f1: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -0238f6: 6e10 d204 0600 |01f3: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -0238fc: 2900 3b01 |01f6: goto/16 0331 // +013b │ │ -023900: 1a02 7d06 |01f8: const-string v2, "doBackup()" // string@067d │ │ -023904: 6e20 6705 2600 |01fa: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -02390a: 0a02 |01fd: move-result v2 │ │ -02390c: 3802 1f00 |01fe: if-eqz v2, 021d // +001f │ │ -023910: 7100 3f01 0000 |0200: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -023916: 0c06 |0203: move-result-object v6 │ │ -023918: 5451 fd02 |0204: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ -02391c: 7110 7907 0100 |0206: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ -023922: 0c01 |0209: move-result-object v1 │ │ -023924: 6e20 3401 1600 |020a: invoke-virtual {v6, v1}, Ldnsfilter/ConfigurationAccess;.doBackup:(Ljava/lang/String;)V // method@0134 │ │ -02392a: 5456 0003 |020d: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -02392e: 6e10 6905 0300 |020f: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -023934: 0c01 |0212: move-result-object v1 │ │ -023936: 6e20 d304 1600 |0213: invoke-virtual {v6, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -02393c: 5456 0003 |0216: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023940: 6e10 d204 0600 |0218: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -023946: 2900 1601 |021b: goto/16 0331 // +0116 │ │ -02394a: 1a02 8306 |021d: const-string v2, "doRestore()" // string@0683 │ │ -02394e: 6e20 6705 2600 |021f: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -023954: 0a02 |0222: move-result v2 │ │ -023956: 3802 1f00 |0223: if-eqz v2, 0242 // +001f │ │ -02395a: 7100 3f01 0000 |0225: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -023960: 0c06 |0228: move-result-object v6 │ │ -023962: 5451 fd02 |0229: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ -023966: 7110 7907 0100 |022b: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ -02396c: 0c01 |022e: move-result-object v1 │ │ -02396e: 6e20 3501 1600 |022f: invoke-virtual {v6, v1}, Ldnsfilter/ConfigurationAccess;.doRestore:(Ljava/lang/String;)V // method@0135 │ │ -023974: 5456 0003 |0232: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023978: 6e10 6905 0300 |0234: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -02397e: 0c01 |0237: move-result-object v1 │ │ -023980: 6e20 d304 1600 |0238: invoke-virtual {v6, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -023986: 5456 0003 |023b: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -02398a: 6e10 d204 0600 |023d: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -023990: 2900 f100 |0240: goto/16 0331 // +00f1 │ │ -023994: 1a02 8506 |0242: const-string v2, "doRestoreDefaults()" // string@0685 │ │ -023998: 6e20 6705 2600 |0244: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -02399e: 0a02 |0247: move-result v2 │ │ -0239a0: 3802 1900 |0248: if-eqz v2, 0261 // +0019 │ │ -0239a4: 7100 3f01 0000 |024a: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -0239aa: 0c06 |024d: move-result-object v6 │ │ -0239ac: 6e10 3601 0600 |024e: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess;.doRestoreDefaults:()V // method@0136 │ │ -0239b2: 5456 0003 |0251: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -0239b6: 6e10 6905 0300 |0253: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -0239bc: 0c01 |0256: move-result-object v1 │ │ -0239be: 6e20 d304 1600 |0257: invoke-virtual {v6, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -0239c4: 5456 0003 |025a: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -0239c8: 6e10 d204 0600 |025c: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -0239ce: 2900 d200 |025f: goto/16 0331 // +00d2 │ │ -0239d2: 1a02 850b |0261: const-string v2, "wakeLock()" // string@0b85 │ │ -0239d6: 6e20 6705 2600 |0263: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -0239dc: 0a02 |0266: move-result v2 │ │ -0239de: 3802 1900 |0267: if-eqz v2, 0280 // +0019 │ │ -0239e2: 7100 3f01 0000 |0269: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -0239e8: 0c06 |026c: move-result-object v6 │ │ -0239ea: 6e10 5001 0600 |026d: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess;.wakeLock:()V // method@0150 │ │ -0239f0: 5456 0003 |0270: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -0239f4: 6e10 6905 0300 |0272: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -0239fa: 0c01 |0275: move-result-object v1 │ │ -0239fc: 6e20 d304 1600 |0276: invoke-virtual {v6, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -023a02: 5456 0003 |0279: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023a06: 6e10 d204 0600 |027b: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -023a0c: 2900 b300 |027e: goto/16 0331 // +00b3 │ │ -023a10: 1a02 ca09 |0280: const-string v2, "releaseWakeLock()" // string@09ca │ │ -023a14: 6e20 6705 2600 |0282: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -023a1a: 0a02 |0285: move-result v2 │ │ -023a1c: 3802 1900 |0286: if-eqz v2, 029f // +0019 │ │ -023a20: 7100 3f01 0000 |0288: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -023a26: 0c06 |028b: move-result-object v6 │ │ -023a28: 6e10 4701 0600 |028c: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess;.releaseWakeLock:()V // method@0147 │ │ -023a2e: 5456 0003 |028f: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023a32: 6e10 6905 0300 |0291: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -023a38: 0c01 |0294: move-result-object v1 │ │ -023a3a: 6e20 d304 1600 |0295: invoke-virtual {v6, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -023a40: 5456 0003 |0298: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023a44: 6e10 d204 0600 |029a: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -023a4a: 2900 9400 |029d: goto/16 0331 // +0094 │ │ -023a4e: 1a02 2807 |029f: const-string v2, "getAvailableBackups()" // string@0728 │ │ -023a52: 6e20 6705 2600 |02a1: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -023a58: 0a02 |02a4: move-result v2 │ │ -023a5a: 3802 5200 |02a5: if-eqz v2, 02f7 // +0052 │ │ -023a5e: 7100 3f01 0000 |02a7: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ -023a64: 0c06 |02aa: move-result-object v6 │ │ -023a66: 6e10 3801 0600 |02ab: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess;.getAvailableBackups:()[Ljava/lang/String; // method@0138 │ │ -023a6c: 0c06 |02ae: move-result-object v6 │ │ -023a6e: 5451 0003 |02af: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023a72: 6e10 6905 0300 |02b1: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -023a78: 0c02 |02b4: move-result-object v2 │ │ -023a7a: 6e20 d304 2100 |02b5: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -023a80: 5451 0003 |02b8: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023a84: 2202 2801 |02ba: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -023a88: 7010 8305 0200 |02bc: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -023a8e: 2163 |02bf: array-length v3, v6 │ │ -023a90: 6e20 8605 3200 |02c0: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -023a96: 6e20 8905 0200 |02c3: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -023a9c: 6e10 8b05 0200 |02c6: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -023aa2: 0c02 |02c9: move-result-object v2 │ │ -023aa4: 6e10 6905 0200 |02ca: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -023aaa: 0c02 |02cd: move-result-object v2 │ │ -023aac: 6e20 d304 2100 |02ce: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -023ab2: 2161 |02d1: array-length v1, v6 │ │ -023ab4: 3514 1f00 |02d2: if-ge v4, v1, 02f1 // +001f │ │ -023ab8: 5451 0003 |02d4: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023abc: 2202 2801 |02d6: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -023ac0: 7010 8305 0200 |02d8: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -023ac6: 4603 0604 |02db: aget-object v3, v6, v4 │ │ -023aca: 6e20 8905 3200 |02dd: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -023ad0: 6e20 8905 0200 |02e0: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -023ad6: 6e10 8b05 0200 |02e3: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -023adc: 0c02 |02e6: move-result-object v2 │ │ -023ade: 6e10 6905 0200 |02e7: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -023ae4: 0c02 |02ea: move-result-object v2 │ │ -023ae6: 6e20 d304 2100 |02eb: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -023aec: d804 0401 |02ee: add-int/lit8 v4, v4, #int 1 // #01 │ │ -023af0: 28e1 |02f0: goto 02d1 // -001f │ │ -023af2: 5456 0003 |02f1: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023af6: 6e10 d204 0600 |02f3: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -023afc: 283b |02f6: goto 0331 // +003b │ │ -023afe: 2202 7d00 |02f7: new-instance v2, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@007d │ │ -023b02: 2203 2801 |02f9: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -023b06: 7020 8405 1300 |02fb: invoke-direct {v3, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -023b0c: 6e20 8905 6300 |02fe: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -023b12: 6e10 8b05 0300 |0301: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -023b18: 0c06 |0304: move-result-object v6 │ │ -023b1a: 7020 2f01 6200 |0305: invoke-direct {v2, v6}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;)V // method@012f │ │ -023b20: 2702 |0308: throw v2 │ │ -023b22: 0d06 |0309: move-exception v6 │ │ -023b24: 5451 0003 |030a: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023b28: 2202 2801 |030c: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -023b2c: 7010 8305 0200 |030e: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -023b32: 6e10 3101 0600 |0311: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0131 │ │ -023b38: 0c06 |0314: move-result-object v6 │ │ -023b3a: 1a03 0100 |0315: const-string v3, " " // string@0001 │ │ -023b3e: 6e30 7105 0603 |0317: invoke-virtual {v6, v0, v3}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0571 │ │ -023b44: 0c06 |031a: move-result-object v6 │ │ -023b46: 6e20 8905 6200 |031b: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -023b4c: 6e20 8905 0200 |031e: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -023b52: 6e10 8b05 0200 |0321: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -023b58: 0c06 |0324: move-result-object v6 │ │ -023b5a: 6e10 6905 0600 |0325: invoke-virtual {v6}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -023b60: 0c06 |0328: move-result-object v6 │ │ -023b62: 6e20 d304 6100 |0329: invoke-virtual {v1, v6}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -023b68: 5456 0003 |032c: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023b6c: 6e10 d204 0600 |032e: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -023b72: 0e00 |0331: return-void │ │ +023524: 3802 2200 |000c: if-eqz v2, 002e // +0022 │ │ +023528: 7100 3f01 0000 |000e: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +02352e: 0c06 |0011: move-result-object v6 │ │ +023530: 6e10 3901 0600 |0012: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@0139 │ │ +023536: 0c06 |0015: move-result-object v6 │ │ +023538: 5451 0003 |0016: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +02353c: 6e10 6905 0300 |0018: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +023542: 0c02 |001b: move-result-object v2 │ │ +023544: 6e20 d304 2100 |001c: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +02354a: 2201 ff00 |001f: new-instance v1, Ljava/io/ObjectOutputStream; // type@00ff │ │ +02354e: 5452 0003 |0021: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023552: 7020 0a05 2100 |0023: invoke-direct {v1, v2}, Ljava/io/ObjectOutputStream;.:(Ljava/io/OutputStream;)V // method@050a │ │ +023558: 6e20 0d05 6100 |0026: invoke-virtual {v1, v6}, Ljava/io/ObjectOutputStream;.writeObject:(Ljava/lang/Object;)V // method@050d │ │ +02355e: 6e10 0c05 0100 |0029: invoke-virtual {v1}, Ljava/io/ObjectOutputStream;.flush:()V // method@050c │ │ +023564: 2900 0503 |002c: goto/16 0331 // +0305 │ │ +023568: 1a02 5d07 |002e: const-string v2, "getDefaultConfig()" // string@075d │ │ +02356c: 6e20 6705 2600 |0030: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +023572: 0a02 |0033: move-result v2 │ │ +023574: 3802 2200 |0034: if-eqz v2, 0056 // +0022 │ │ +023578: 7100 3f01 0000 |0036: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +02357e: 0c06 |0039: move-result-object v6 │ │ +023580: 6e10 3c01 0600 |003a: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess;.getDefaultConfig:()Ljava/util/Properties; // method@013c │ │ +023586: 0c06 |003d: move-result-object v6 │ │ +023588: 5451 0003 |003e: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +02358c: 6e10 6905 0300 |0040: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +023592: 0c02 |0043: move-result-object v2 │ │ +023594: 6e20 d304 2100 |0044: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +02359a: 2201 ff00 |0047: new-instance v1, Ljava/io/ObjectOutputStream; // type@00ff │ │ +02359e: 5452 0003 |0049: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +0235a2: 7020 0a05 2100 |004b: invoke-direct {v1, v2}, Ljava/io/ObjectOutputStream;.:(Ljava/io/OutputStream;)V // method@050a │ │ +0235a8: 6e20 0d05 6100 |004e: invoke-virtual {v1, v6}, Ljava/io/ObjectOutputStream;.writeObject:(Ljava/lang/Object;)V // method@050d │ │ +0235ae: 6e10 0c05 0100 |0051: invoke-virtual {v1}, Ljava/io/ObjectOutputStream;.flush:()V // method@050c │ │ +0235b4: 2900 dd02 |0054: goto/16 0331 // +02dd │ │ +0235b8: 1a02 a709 |0056: const-string v2, "readConfig()" // string@09a7 │ │ +0235bc: 6e20 6705 2600 |0058: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +0235c2: 0a02 |005b: move-result v2 │ │ +0235c4: 3802 2500 |005c: if-eqz v2, 0081 // +0025 │ │ +0235c8: 7100 3f01 0000 |005e: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +0235ce: 0c06 |0061: move-result-object v6 │ │ +0235d0: 6e10 4501 0600 |0062: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess;.readConfig:()[B // method@0145 │ │ +0235d6: 0c06 |0065: move-result-object v6 │ │ +0235d8: 5451 0003 |0066: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +0235dc: 6e10 6905 0300 |0068: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +0235e2: 0c02 |006b: move-result-object v2 │ │ +0235e4: 6e20 d304 2100 |006c: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +0235ea: 5451 0003 |006f: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +0235ee: 2162 |0071: array-length v2, v6 │ │ +0235f0: 6e20 d604 2100 |0072: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04d6 │ │ +0235f6: 5451 0003 |0075: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +0235fa: 6e20 d304 6100 |0077: invoke-virtual {v1, v6}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +023600: 5456 0003 |007a: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023604: 6e10 d204 0600 |007c: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +02360a: 2900 b202 |007f: goto/16 0331 // +02b2 │ │ +02360e: 1a02 400b |0081: const-string v2, "updateConfig()" // string@0b40 │ │ +023612: 6e20 6705 2600 |0083: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +023618: 0a02 |0086: move-result v2 │ │ +02361a: 3802 2600 |0087: if-eqz v2, 00ad // +0026 │ │ +02361e: 5456 fd02 |0089: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ +023622: 6e10 cd04 0600 |008b: invoke-virtual {v6}, Ljava/io/DataInputStream;.readInt:()I // method@04cd │ │ +023628: 0a06 |008e: move-result v6 │ │ +02362a: 2366 9901 |008f: new-array v6, v6, [B // type@0199 │ │ +02362e: 5451 fd02 |0091: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ +023632: 6e20 cb04 6100 |0093: invoke-virtual {v1, v6}, Ljava/io/DataInputStream;.readFully:([B)V // method@04cb │ │ +023638: 7100 3f01 0000 |0096: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +02363e: 0c01 |0099: move-result-object v1 │ │ +023640: 6e20 4d01 6100 |009a: invoke-virtual {v1, v6}, Ldnsfilter/ConfigurationAccess;.updateConfig:([B)V // method@014d │ │ +023646: 5456 0003 |009d: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +02364a: 6e10 6905 0300 |009f: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +023650: 0c01 |00a2: move-result-object v1 │ │ +023652: 6e20 d304 1600 |00a3: invoke-virtual {v6, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +023658: 5456 0003 |00a6: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +02365c: 6e10 d204 0600 |00a8: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +023662: 2900 8602 |00ab: goto/16 0331 // +0286 │ │ +023666: 1a02 440b |00ad: const-string v2, "updateConfigMergeDefaults()" // string@0b44 │ │ +02366a: 6e20 6705 2600 |00af: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +023670: 0a02 |00b2: move-result v2 │ │ +023672: 3802 2600 |00b3: if-eqz v2, 00d9 // +0026 │ │ +023676: 5456 fd02 |00b5: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ +02367a: 6e10 cd04 0600 |00b7: invoke-virtual {v6}, Ljava/io/DataInputStream;.readInt:()I // method@04cd │ │ +023680: 0a06 |00ba: move-result v6 │ │ +023682: 2366 9901 |00bb: new-array v6, v6, [B // type@0199 │ │ +023686: 5451 fd02 |00bd: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ +02368a: 6e20 cb04 6100 |00bf: invoke-virtual {v1, v6}, Ljava/io/DataInputStream;.readFully:([B)V // method@04cb │ │ +023690: 7100 3f01 0000 |00c2: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +023696: 0c01 |00c5: move-result-object v1 │ │ +023698: 6e20 4e01 6100 |00c6: invoke-virtual {v1, v6}, Ldnsfilter/ConfigurationAccess;.updateConfigMergeDefaults:([B)V // method@014e │ │ +02369e: 5456 0003 |00c9: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +0236a2: 6e10 6905 0300 |00cb: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +0236a8: 0c01 |00ce: move-result-object v1 │ │ +0236aa: 6e20 d304 1600 |00cf: invoke-virtual {v6, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +0236b0: 5456 0003 |00d2: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +0236b4: 6e10 d204 0600 |00d4: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +0236ba: 2900 5a02 |00d7: goto/16 0331 // +025a │ │ +0236be: 1a02 2007 |00d9: const-string v2, "getAdditionalHosts()" // string@0720 │ │ +0236c2: 6e20 6705 2600 |00db: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +0236c8: 0a02 |00de: move-result v2 │ │ +0236ca: 3802 2b00 |00df: if-eqz v2, 010a // +002b │ │ +0236ce: 5456 fd02 |00e1: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ +0236d2: 6e10 cd04 0600 |00e3: invoke-virtual {v6}, Ljava/io/DataInputStream;.readInt:()I // method@04cd │ │ +0236d8: 0a06 |00e6: move-result v6 │ │ +0236da: 7100 3f01 0000 |00e7: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +0236e0: 0c01 |00ea: move-result-object v1 │ │ +0236e2: 6e20 3701 6100 |00eb: invoke-virtual {v1, v6}, Ldnsfilter/ConfigurationAccess;.getAdditionalHosts:(I)[B // method@0137 │ │ +0236e8: 0c06 |00ee: move-result-object v6 │ │ +0236ea: 5451 0003 |00ef: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +0236ee: 6e10 6905 0300 |00f1: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +0236f4: 0c02 |00f4: move-result-object v2 │ │ +0236f6: 6e20 d304 2100 |00f5: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +0236fc: 5451 0003 |00f8: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023700: 2162 |00fa: array-length v2, v6 │ │ +023702: 6e20 d604 2100 |00fb: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04d6 │ │ +023708: 5451 0003 |00fe: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +02370c: 6e20 d304 6100 |0100: invoke-virtual {v1, v6}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +023712: 5456 0003 |0103: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023716: 6e10 d204 0600 |0105: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +02371c: 2900 2902 |0108: goto/16 0331 // +0229 │ │ +023720: 1a02 3d0b |010a: const-string v2, "updateAdditionalHosts()" // string@0b3d │ │ +023724: 6e20 6705 2600 |010c: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +02372a: 0a02 |010f: move-result v2 │ │ +02372c: 3802 2600 |0110: if-eqz v2, 0136 // +0026 │ │ +023730: 5456 fd02 |0112: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ +023734: 6e10 cd04 0600 |0114: invoke-virtual {v6}, Ljava/io/DataInputStream;.readInt:()I // method@04cd │ │ +02373a: 0a06 |0117: move-result v6 │ │ +02373c: 2366 9901 |0118: new-array v6, v6, [B // type@0199 │ │ +023740: 5451 fd02 |011a: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ +023744: 6e20 cb04 6100 |011c: invoke-virtual {v1, v6}, Ljava/io/DataInputStream;.readFully:([B)V // method@04cb │ │ +02374a: 7100 3f01 0000 |011f: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +023750: 0c01 |0122: move-result-object v1 │ │ +023752: 6e20 4c01 6100 |0123: invoke-virtual {v1, v6}, Ldnsfilter/ConfigurationAccess;.updateAdditionalHosts:([B)V // method@014c │ │ +023758: 5456 0003 |0126: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +02375c: 6e10 6905 0300 |0128: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +023762: 0c01 |012b: move-result-object v1 │ │ +023764: 6e20 d304 1600 |012c: invoke-virtual {v6, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +02376a: 5456 0003 |012f: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +02376e: 6e10 d204 0600 |0131: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +023774: 2900 fd01 |0134: goto/16 0331 // +01fd │ │ +023778: 1a02 480b |0136: const-string v2, "updateFilter()" // string@0b48 │ │ +02377c: 6e20 6705 2600 |0138: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +023782: 0a02 |013b: move-result v2 │ │ +023784: 3802 2f00 |013c: if-eqz v2, 016b // +002f │ │ +023788: 5456 fd02 |013e: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ +02378c: 7110 7907 0600 |0140: invoke-static {v6}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ +023792: 0c06 |0143: move-result-object v6 │ │ +023794: 1a01 9000 |0144: const-string v1, ";" // string@0090 │ │ +023798: 6e30 7105 1600 |0146: invoke-virtual {v6, v1, v0}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0571 │ │ +02379e: 0c06 |0149: move-result-object v6 │ │ +0237a0: 5451 fd02 |014a: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ +0237a4: 7110 7907 0100 |014c: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ +0237aa: 0c01 |014f: move-result-object v1 │ │ +0237ac: 7110 2705 0100 |0150: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@0527 │ │ +0237b2: 0a01 |0153: move-result v1 │ │ +0237b4: 7100 3f01 0000 |0154: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +0237ba: 0c02 |0157: move-result-object v2 │ │ +0237bc: 6e30 4f01 6201 |0158: invoke-virtual {v2, v6, v1}, Ldnsfilter/ConfigurationAccess;.updateFilter:(Ljava/lang/String;Z)V // method@014f │ │ +0237c2: 5456 0003 |015b: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +0237c6: 6e10 6905 0300 |015d: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +0237cc: 0c01 |0160: move-result-object v1 │ │ +0237ce: 6e20 d304 1600 |0161: invoke-virtual {v6, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +0237d4: 5456 0003 |0164: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +0237d8: 6e10 d204 0600 |0166: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +0237de: 2900 c801 |0169: goto/16 0331 // +01c8 │ │ +0237e2: 1a02 060a |016b: const-string v2, "restart()" // string@0a06 │ │ +0237e6: 6e20 6705 2600 |016d: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +0237ec: 0a02 |0170: move-result v2 │ │ +0237ee: 3802 1900 |0171: if-eqz v2, 018a // +0019 │ │ +0237f2: 7100 3f01 0000 |0173: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +0237f8: 0c06 |0176: move-result-object v6 │ │ +0237fa: 6e10 4801 0600 |0177: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess;.restart:()V // method@0148 │ │ +023800: 5456 0003 |017a: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023804: 6e10 6905 0300 |017c: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +02380a: 0c01 |017f: move-result-object v1 │ │ +02380c: 6e20 d304 1600 |0180: invoke-virtual {v6, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +023812: 5456 0003 |0183: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023816: 6e10 d204 0600 |0185: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +02381c: 2900 a901 |0188: goto/16 0331 // +01a9 │ │ +023820: 1a02 e20a |018a: const-string v2, "stop()" // string@0ae2 │ │ +023824: 6e20 6705 2600 |018c: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +02382a: 0a02 |018f: move-result v2 │ │ +02382c: 3802 1900 |0190: if-eqz v2, 01a9 // +0019 │ │ +023830: 7100 3f01 0000 |0192: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +023836: 0c06 |0195: move-result-object v6 │ │ +023838: 6e10 4901 0600 |0196: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess;.stop:()V // method@0149 │ │ +02383e: 5456 0003 |0199: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023842: 6e10 6905 0300 |019b: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +023848: 0c01 |019e: move-result-object v1 │ │ +02384a: 6e20 d304 1600 |019f: invoke-virtual {v6, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +023850: 5456 0003 |01a2: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023854: 6e10 d204 0600 |01a4: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +02385a: 2900 8a01 |01a7: goto/16 0331 // +018a │ │ +02385e: 1a02 7a07 |01a9: const-string v2, "getFilterStatistics()" // string@077a │ │ +023862: 6e20 6705 2600 |01ab: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +023868: 0a02 |01ae: move-result v2 │ │ +02386a: 1204 |01af: const/4 v4, #int 0 // #0 │ │ +02386c: 3802 2900 |01b0: if-eqz v2, 01d9 // +0029 │ │ +023870: 7100 3f01 0000 |01b2: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +023876: 0c06 |01b5: move-result-object v6 │ │ +023878: 6e10 3d01 0600 |01b6: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess;.getFilterStatistics:()[J // method@013d │ │ +02387e: 0c06 |01b9: move-result-object v6 │ │ +023880: 5451 0003 |01ba: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023884: 6e10 6905 0300 |01bc: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +02388a: 0c02 |01bf: move-result-object v2 │ │ +02388c: 6e20 d304 2100 |01c0: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +023892: 5451 0003 |01c3: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023896: 4502 0604 |01c5: aget-wide v2, v6, v4 │ │ +02389a: 6e30 d704 2103 |01c7: invoke-virtual {v1, v2, v3}, Ljava/io/DataOutputStream;.writeLong:(J)V // method@04d7 │ │ +0238a0: 5451 0003 |01ca: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +0238a4: 1212 |01cc: const/4 v2, #int 1 // #1 │ │ +0238a6: 4502 0602 |01cd: aget-wide v2, v6, v2 │ │ +0238aa: 6e30 d704 2103 |01cf: invoke-virtual {v1, v2, v3}, Ljava/io/DataOutputStream;.writeLong:(J)V // method@04d7 │ │ +0238b0: 5456 0003 |01d2: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +0238b4: 6e10 d204 0600 |01d4: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +0238ba: 2900 5a01 |01d7: goto/16 0331 // +015a │ │ +0238be: 1a02 2d0b |01d9: const-string v2, "triggerUpdateFilter()" // string@0b2d │ │ +0238c2: 6e20 6705 2600 |01db: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +0238c8: 0a02 |01de: move-result v2 │ │ +0238ca: 3802 1900 |01df: if-eqz v2, 01f8 // +0019 │ │ +0238ce: 7100 3f01 0000 |01e1: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +0238d4: 0c06 |01e4: move-result-object v6 │ │ +0238d6: 6e10 4b01 0600 |01e5: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess;.triggerUpdateFilter:()V // method@014b │ │ +0238dc: 5456 0003 |01e8: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +0238e0: 6e10 6905 0300 |01ea: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +0238e6: 0c01 |01ed: move-result-object v1 │ │ +0238e8: 6e20 d304 1600 |01ee: invoke-virtual {v6, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +0238ee: 5456 0003 |01f1: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +0238f2: 6e10 d204 0600 |01f3: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +0238f8: 2900 3b01 |01f6: goto/16 0331 // +013b │ │ +0238fc: 1a02 7d06 |01f8: const-string v2, "doBackup()" // string@067d │ │ +023900: 6e20 6705 2600 |01fa: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +023906: 0a02 |01fd: move-result v2 │ │ +023908: 3802 1f00 |01fe: if-eqz v2, 021d // +001f │ │ +02390c: 7100 3f01 0000 |0200: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +023912: 0c06 |0203: move-result-object v6 │ │ +023914: 5451 fd02 |0204: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ +023918: 7110 7907 0100 |0206: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ +02391e: 0c01 |0209: move-result-object v1 │ │ +023920: 6e20 3401 1600 |020a: invoke-virtual {v6, v1}, Ldnsfilter/ConfigurationAccess;.doBackup:(Ljava/lang/String;)V // method@0134 │ │ +023926: 5456 0003 |020d: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +02392a: 6e10 6905 0300 |020f: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +023930: 0c01 |0212: move-result-object v1 │ │ +023932: 6e20 d304 1600 |0213: invoke-virtual {v6, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +023938: 5456 0003 |0216: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +02393c: 6e10 d204 0600 |0218: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +023942: 2900 1601 |021b: goto/16 0331 // +0116 │ │ +023946: 1a02 8306 |021d: const-string v2, "doRestore()" // string@0683 │ │ +02394a: 6e20 6705 2600 |021f: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +023950: 0a02 |0222: move-result v2 │ │ +023952: 3802 1f00 |0223: if-eqz v2, 0242 // +001f │ │ +023956: 7100 3f01 0000 |0225: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +02395c: 0c06 |0228: move-result-object v6 │ │ +02395e: 5451 fd02 |0229: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ +023962: 7110 7907 0100 |022b: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@0779 │ │ +023968: 0c01 |022e: move-result-object v1 │ │ +02396a: 6e20 3501 1600 |022f: invoke-virtual {v6, v1}, Ldnsfilter/ConfigurationAccess;.doRestore:(Ljava/lang/String;)V // method@0135 │ │ +023970: 5456 0003 |0232: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023974: 6e10 6905 0300 |0234: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +02397a: 0c01 |0237: move-result-object v1 │ │ +02397c: 6e20 d304 1600 |0238: invoke-virtual {v6, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +023982: 5456 0003 |023b: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023986: 6e10 d204 0600 |023d: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +02398c: 2900 f100 |0240: goto/16 0331 // +00f1 │ │ +023990: 1a02 8506 |0242: const-string v2, "doRestoreDefaults()" // string@0685 │ │ +023994: 6e20 6705 2600 |0244: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +02399a: 0a02 |0247: move-result v2 │ │ +02399c: 3802 1900 |0248: if-eqz v2, 0261 // +0019 │ │ +0239a0: 7100 3f01 0000 |024a: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +0239a6: 0c06 |024d: move-result-object v6 │ │ +0239a8: 6e10 3601 0600 |024e: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess;.doRestoreDefaults:()V // method@0136 │ │ +0239ae: 5456 0003 |0251: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +0239b2: 6e10 6905 0300 |0253: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +0239b8: 0c01 |0256: move-result-object v1 │ │ +0239ba: 6e20 d304 1600 |0257: invoke-virtual {v6, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +0239c0: 5456 0003 |025a: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +0239c4: 6e10 d204 0600 |025c: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +0239ca: 2900 d200 |025f: goto/16 0331 // +00d2 │ │ +0239ce: 1a02 850b |0261: const-string v2, "wakeLock()" // string@0b85 │ │ +0239d2: 6e20 6705 2600 |0263: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +0239d8: 0a02 |0266: move-result v2 │ │ +0239da: 3802 1900 |0267: if-eqz v2, 0280 // +0019 │ │ +0239de: 7100 3f01 0000 |0269: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +0239e4: 0c06 |026c: move-result-object v6 │ │ +0239e6: 6e10 5001 0600 |026d: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess;.wakeLock:()V // method@0150 │ │ +0239ec: 5456 0003 |0270: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +0239f0: 6e10 6905 0300 |0272: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +0239f6: 0c01 |0275: move-result-object v1 │ │ +0239f8: 6e20 d304 1600 |0276: invoke-virtual {v6, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +0239fe: 5456 0003 |0279: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023a02: 6e10 d204 0600 |027b: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +023a08: 2900 b300 |027e: goto/16 0331 // +00b3 │ │ +023a0c: 1a02 ca09 |0280: const-string v2, "releaseWakeLock()" // string@09ca │ │ +023a10: 6e20 6705 2600 |0282: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +023a16: 0a02 |0285: move-result v2 │ │ +023a18: 3802 1900 |0286: if-eqz v2, 029f // +0019 │ │ +023a1c: 7100 3f01 0000 |0288: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +023a22: 0c06 |028b: move-result-object v6 │ │ +023a24: 6e10 4701 0600 |028c: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess;.releaseWakeLock:()V // method@0147 │ │ +023a2a: 5456 0003 |028f: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023a2e: 6e10 6905 0300 |0291: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +023a34: 0c01 |0294: move-result-object v1 │ │ +023a36: 6e20 d304 1600 |0295: invoke-virtual {v6, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +023a3c: 5456 0003 |0298: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023a40: 6e10 d204 0600 |029a: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +023a46: 2900 9400 |029d: goto/16 0331 // +0094 │ │ +023a4a: 1a02 2807 |029f: const-string v2, "getAvailableBackups()" // string@0728 │ │ +023a4e: 6e20 6705 2600 |02a1: invoke-virtual {v6, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +023a54: 0a02 |02a4: move-result v2 │ │ +023a56: 3802 5200 |02a5: if-eqz v2, 02f7 // +0052 │ │ +023a5a: 7100 3f01 0000 |02a7: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@013f │ │ +023a60: 0c06 |02aa: move-result-object v6 │ │ +023a62: 6e10 3801 0600 |02ab: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess;.getAvailableBackups:()[Ljava/lang/String; // method@0138 │ │ +023a68: 0c06 |02ae: move-result-object v6 │ │ +023a6a: 5451 0003 |02af: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023a6e: 6e10 6905 0300 |02b1: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +023a74: 0c02 |02b4: move-result-object v2 │ │ +023a76: 6e20 d304 2100 |02b5: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +023a7c: 5451 0003 |02b8: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023a80: 2202 2801 |02ba: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +023a84: 7010 8305 0200 |02bc: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +023a8a: 2163 |02bf: array-length v3, v6 │ │ +023a8c: 6e20 8605 3200 |02c0: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +023a92: 6e20 8905 0200 |02c3: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +023a98: 6e10 8b05 0200 |02c6: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +023a9e: 0c02 |02c9: move-result-object v2 │ │ +023aa0: 6e10 6905 0200 |02ca: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +023aa6: 0c02 |02cd: move-result-object v2 │ │ +023aa8: 6e20 d304 2100 |02ce: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +023aae: 2161 |02d1: array-length v1, v6 │ │ +023ab0: 3514 1f00 |02d2: if-ge v4, v1, 02f1 // +001f │ │ +023ab4: 5451 0003 |02d4: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023ab8: 2202 2801 |02d6: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +023abc: 7010 8305 0200 |02d8: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +023ac2: 4603 0604 |02db: aget-object v3, v6, v4 │ │ +023ac6: 6e20 8905 3200 |02dd: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +023acc: 6e20 8905 0200 |02e0: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +023ad2: 6e10 8b05 0200 |02e3: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +023ad8: 0c02 |02e6: move-result-object v2 │ │ +023ada: 6e10 6905 0200 |02e7: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +023ae0: 0c02 |02ea: move-result-object v2 │ │ +023ae2: 6e20 d304 2100 |02eb: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +023ae8: d804 0401 |02ee: add-int/lit8 v4, v4, #int 1 // #01 │ │ +023aec: 28e1 |02f0: goto 02d1 // -001f │ │ +023aee: 5456 0003 |02f1: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023af2: 6e10 d204 0600 |02f3: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +023af8: 283b |02f6: goto 0331 // +003b │ │ +023afa: 2202 7d00 |02f7: new-instance v2, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@007d │ │ +023afe: 2203 2801 |02f9: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +023b02: 7020 8405 1300 |02fb: invoke-direct {v3, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +023b08: 6e20 8905 6300 |02fe: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +023b0e: 6e10 8b05 0300 |0301: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +023b14: 0c06 |0304: move-result-object v6 │ │ +023b16: 7020 2f01 6200 |0305: invoke-direct {v2, v6}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;)V // method@012f │ │ +023b1c: 2702 |0308: throw v2 │ │ +023b1e: 0d06 |0309: move-exception v6 │ │ +023b20: 5451 0003 |030a: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023b24: 2202 2801 |030c: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +023b28: 7010 8305 0200 |030e: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +023b2e: 6e10 3101 0600 |0311: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0131 │ │ +023b34: 0c06 |0314: move-result-object v6 │ │ +023b36: 1a03 0100 |0315: const-string v3, " " // string@0001 │ │ +023b3a: 6e30 7105 0603 |0317: invoke-virtual {v6, v0, v3}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0571 │ │ +023b40: 0c06 |031a: move-result-object v6 │ │ +023b42: 6e20 8905 6200 |031b: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +023b48: 6e20 8905 0200 |031e: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +023b4e: 6e10 8b05 0200 |0321: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +023b54: 0c06 |0324: move-result-object v6 │ │ +023b56: 6e10 6905 0600 |0325: invoke-virtual {v6}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +023b5c: 0c06 |0328: move-result-object v6 │ │ +023b5e: 6e20 d304 6100 |0329: invoke-virtual {v1, v6}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +023b64: 5456 0003 |032c: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023b68: 6e10 d204 0600 |032e: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +023b6e: 0e00 |0331: return-void │ │ catches : 2 │ │ 0x0004 - 0x000a │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x0309 │ │ 0x000e - 0x0309 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x0309 │ │ positions : │ │ 0x0000 line=227 │ │ @@ -54976,19 +54976,19 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 7 16-bit code units │ │ -023b8c: |[023b8c] dnsfilter.remote.RemoteAccessServer$RemoteSession.heartBeatConfirmed:()V │ │ -023b9c: 7100 8d05 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@058d │ │ -023ba2: 0b00 |0003: move-result-wide v0 │ │ -023ba4: 5a20 ff02 |0004: iput-wide v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.lastHeartBeatConfirm:J // field@02ff │ │ -023ba8: 0e00 |0006: return-void │ │ +023b88: |[023b88] dnsfilter.remote.RemoteAccessServer$RemoteSession.heartBeatConfirmed:()V │ │ +023b98: 7100 8d05 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@058d │ │ +023b9e: 0b00 |0003: move-result-wide v0 │ │ +023ba0: 5a20 ff02 |0004: iput-wide v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.lastHeartBeatConfirm:J // field@02ff │ │ +023ba4: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=466 │ │ locals : │ │ 0x0000 - 0x0007 reg=2 this Ldnsfilter/remote/RemoteAccessServer$RemoteSession; │ │ │ │ #8 : (in Ldnsfilter/remote/RemoteAccessServer$RemoteSession;) │ │ @@ -54996,44 +54996,44 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 53 16-bit code units │ │ -023bac: |[023bac] dnsfilter.remote.RemoteAccessServer$RemoteSession.invalidate:()V │ │ -023bbc: 5540 0203 |0000: iget-boolean v0, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteStreamSession:Z // field@0302 │ │ -023bc0: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ -023bc4: 0e00 |0004: return-void │ │ -023bc6: 5440 0003 |0005: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023bca: 1d00 |0007: monitor-enter v0 │ │ -023bcc: 5441 0003 |0008: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023bd0: 1272 |000a: const/4 v2, #int 7 // #7 │ │ -023bd2: 6e20 d804 2100 |000b: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04d8 │ │ -023bd8: 5441 0003 |000e: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023bdc: 1202 |0010: const/4 v2, #int 0 // #0 │ │ -023bde: 6e20 d804 2100 |0011: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04d8 │ │ -023be4: 5441 0003 |0014: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023be8: 6e10 d204 0100 |0016: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -023bee: 1e00 |0019: monitor-exit v0 │ │ -023bf0: 281a |001a: goto 0034 // +001a │ │ -023bf2: 0d01 |001b: move-exception v1 │ │ -023bf4: 1e00 |001c: monitor-exit v0 │ │ -023bf6: 2701 |001d: throw v1 │ │ -023bf8: 0d00 |001e: move-exception v0 │ │ -023bfa: 7100 0107 0000 |001f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -023c00: 0c01 |0022: move-result-object v1 │ │ -023c02: 2202 2801 |0023: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -023c06: 1a03 0002 |0025: const-string v3, "Invalidation failed! " // string@0200 │ │ -023c0a: 7020 8405 3200 |0027: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -023c10: 6e20 8805 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ -023c16: 6e10 8b05 0200 |002d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -023c1c: 0c00 |0030: move-result-object v0 │ │ -023c1e: 7220 0d07 0100 |0031: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -023c24: 0e00 |0034: return-void │ │ +023ba8: |[023ba8] dnsfilter.remote.RemoteAccessServer$RemoteSession.invalidate:()V │ │ +023bb8: 5540 0203 |0000: iget-boolean v0, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteStreamSession:Z // field@0302 │ │ +023bbc: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ +023bc0: 0e00 |0004: return-void │ │ +023bc2: 5440 0003 |0005: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023bc6: 1d00 |0007: monitor-enter v0 │ │ +023bc8: 5441 0003 |0008: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023bcc: 1272 |000a: const/4 v2, #int 7 // #7 │ │ +023bce: 6e20 d804 2100 |000b: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04d8 │ │ +023bd4: 5441 0003 |000e: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023bd8: 1202 |0010: const/4 v2, #int 0 // #0 │ │ +023bda: 6e20 d804 2100 |0011: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04d8 │ │ +023be0: 5441 0003 |0014: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023be4: 6e10 d204 0100 |0016: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +023bea: 1e00 |0019: monitor-exit v0 │ │ +023bec: 281a |001a: goto 0034 // +001a │ │ +023bee: 0d01 |001b: move-exception v1 │ │ +023bf0: 1e00 |001c: monitor-exit v0 │ │ +023bf2: 2701 |001d: throw v1 │ │ +023bf4: 0d00 |001e: move-exception v0 │ │ +023bf6: 7100 0107 0000 |001f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +023bfc: 0c01 |0022: move-result-object v1 │ │ +023bfe: 2202 2801 |0023: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +023c02: 1a03 0002 |0025: const-string v3, "Invalidation failed! " // string@0200 │ │ +023c06: 7020 8405 3200 |0027: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +023c0c: 6e20 8805 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ +023c12: 6e10 8b05 0200 |002d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +023c18: 0c00 |0030: move-result-object v0 │ │ +023c1a: 7220 0d07 0100 |0031: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +023c20: 0e00 |0034: return-void │ │ catches : 3 │ │ 0x0005 - 0x0008 │ │ Ljava/io/IOException; -> 0x001e │ │ 0x0008 - 0x001d │ │ -> 0x001b │ │ 0x001d - 0x001e │ │ Ljava/io/IOException; -> 0x001e │ │ @@ -55054,17 +55054,17 @@ │ │ type : '()J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -023178: |[023178] dnsfilter.remote.RemoteAccessServer$RemoteSession.getTimoutTime:()J │ │ -023188: 5320 0503 |0000: iget-wide v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.timeout:J // field@0305 │ │ -02318c: 1000 |0002: return-wide v0 │ │ +023174: |[023174] dnsfilter.remote.RemoteAccessServer$RemoteSession.getTimoutTime:()J │ │ +023184: 5320 0503 |0000: iget-wide v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.timeout:J // field@0305 │ │ +023188: 1000 |0002: return-wide v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=488 │ │ locals : │ │ 0x0000 - 0x0003 reg=2 this Ldnsfilter/remote/RemoteAccessServer$RemoteSession; │ │ │ │ #1 : (in Ldnsfilter/remote/RemoteAccessServer$RemoteSession;) │ │ @@ -55072,55 +55072,55 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 82 16-bit code units │ │ -023c48: |[023c48] dnsfilter.remote.RemoteAccessServer$RemoteSession.killSession:()V │ │ -023c58: 5520 fe02 |0000: iget-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fe │ │ -023c5c: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ -023c60: 0e00 |0004: return-void │ │ -023c62: 1210 |0005: const/4 v0, #int 1 // #1 │ │ -023c64: 5c20 fe02 |0006: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fe │ │ -023c68: 7100 6207 0000 |0008: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0762 │ │ -023c6e: 0c00 |000b: move-result-object v0 │ │ -023c70: 6e20 6707 2000 |000c: invoke-virtual {v0, v2}, Lutil/TimoutNotificator;.unregister:(Lutil/TimeoutListener;)V // method@0767 │ │ -023c76: 5420 0103 |000f: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@0301 │ │ -023c7a: 3800 1000 |0011: if-eqz v0, 0021 // +0010 │ │ -023c7e: 6e10 5007 0000 |0013: invoke-virtual {v0}, Lutil/SuppressRepeatingsLogger;.closeLogger:()V // method@0750 │ │ -023c84: 7100 0107 0000 |0016: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -023c8a: 0c00 |0019: move-result-object v0 │ │ -023c8c: 1f00 7e01 |001a: check-cast v0, Lutil/GroupedLogger; // type@017e │ │ -023c90: 5421 0103 |001c: iget-object v1, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@0301 │ │ -023c94: 6e20 d306 1000 |001e: invoke-virtual {v0, v1}, Lutil/GroupedLogger;.detachLogger:(Lutil/LoggerInterface;)V // method@06d3 │ │ -023c9a: 5420 0303 |0021: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0303 │ │ -023c9e: 7110 6c07 0000 |0023: invoke-static {v0}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@076c │ │ -023ca4: 5420 0403 |0026: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.this$0:Ldnsfilter/remote/RemoteAccessServer; // field@0304 │ │ -023ca8: 7110 7c04 0000 |0028: invoke-static {v0}, Ldnsfilter/remote/RemoteAccessServer;.access$200:(Ldnsfilter/remote/RemoteAccessServer;)Ljava/util/HashMap; // method@047c │ │ -023cae: 0c00 |002b: move-result-object v0 │ │ -023cb0: 5221 fc02 |002c: iget v1, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.id:I // field@02fc │ │ -023cb4: 7110 4405 0100 |002e: invoke-static {v1}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0544 │ │ -023cba: 0c01 |0031: move-result-object v1 │ │ -023cbc: 6e20 0b06 1000 |0032: invoke-virtual {v0, v1}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@060b │ │ -023cc2: 5220 fa02 |0035: iget v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.connectedSessionId:I // field@02fa │ │ -023cc6: 12f1 |0037: const/4 v1, #int -1 // #ff │ │ -023cc8: 3210 1900 |0038: if-eq v0, v1, 0051 // +0019 │ │ -023ccc: 5420 0403 |003a: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.this$0:Ldnsfilter/remote/RemoteAccessServer; // field@0304 │ │ -023cd0: 7110 7c04 0000 |003c: invoke-static {v0}, Ldnsfilter/remote/RemoteAccessServer;.access$200:(Ldnsfilter/remote/RemoteAccessServer;)Ljava/util/HashMap; // method@047c │ │ -023cd6: 0c00 |003f: move-result-object v0 │ │ -023cd8: 5221 fa02 |0040: iget v1, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.connectedSessionId:I // field@02fa │ │ -023cdc: 7110 4405 0100 |0042: invoke-static {v1}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0544 │ │ -023ce2: 0c01 |0045: move-result-object v1 │ │ -023ce4: 6e20 0906 1000 |0046: invoke-virtual {v0, v1}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0609 │ │ -023cea: 0c00 |0049: move-result-object v0 │ │ -023cec: 1f00 e800 |004a: check-cast v0, Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@00e8 │ │ -023cf0: 3800 0500 |004c: if-eqz v0, 0051 // +0005 │ │ -023cf4: 6e10 7604 0000 |004e: invoke-virtual {v0}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@0476 │ │ -023cfa: 0e00 |0051: return-void │ │ +023c44: |[023c44] dnsfilter.remote.RemoteAccessServer$RemoteSession.killSession:()V │ │ +023c54: 5520 fe02 |0000: iget-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fe │ │ +023c58: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ +023c5c: 0e00 |0004: return-void │ │ +023c5e: 1210 |0005: const/4 v0, #int 1 // #1 │ │ +023c60: 5c20 fe02 |0006: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fe │ │ +023c64: 7100 6207 0000 |0008: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0762 │ │ +023c6a: 0c00 |000b: move-result-object v0 │ │ +023c6c: 6e20 6707 2000 |000c: invoke-virtual {v0, v2}, Lutil/TimoutNotificator;.unregister:(Lutil/TimeoutListener;)V // method@0767 │ │ +023c72: 5420 0103 |000f: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@0301 │ │ +023c76: 3800 1000 |0011: if-eqz v0, 0021 // +0010 │ │ +023c7a: 6e10 5007 0000 |0013: invoke-virtual {v0}, Lutil/SuppressRepeatingsLogger;.closeLogger:()V // method@0750 │ │ +023c80: 7100 0107 0000 |0016: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +023c86: 0c00 |0019: move-result-object v0 │ │ +023c88: 1f00 7e01 |001a: check-cast v0, Lutil/GroupedLogger; // type@017e │ │ +023c8c: 5421 0103 |001c: iget-object v1, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@0301 │ │ +023c90: 6e20 d306 1000 |001e: invoke-virtual {v0, v1}, Lutil/GroupedLogger;.detachLogger:(Lutil/LoggerInterface;)V // method@06d3 │ │ +023c96: 5420 0303 |0021: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0303 │ │ +023c9a: 7110 6c07 0000 |0023: invoke-static {v0}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@076c │ │ +023ca0: 5420 0403 |0026: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.this$0:Ldnsfilter/remote/RemoteAccessServer; // field@0304 │ │ +023ca4: 7110 7c04 0000 |0028: invoke-static {v0}, Ldnsfilter/remote/RemoteAccessServer;.access$200:(Ldnsfilter/remote/RemoteAccessServer;)Ljava/util/HashMap; // method@047c │ │ +023caa: 0c00 |002b: move-result-object v0 │ │ +023cac: 5221 fc02 |002c: iget v1, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.id:I // field@02fc │ │ +023cb0: 7110 4405 0100 |002e: invoke-static {v1}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0544 │ │ +023cb6: 0c01 |0031: move-result-object v1 │ │ +023cb8: 6e20 0b06 1000 |0032: invoke-virtual {v0, v1}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@060b │ │ +023cbe: 5220 fa02 |0035: iget v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.connectedSessionId:I // field@02fa │ │ +023cc2: 12f1 |0037: const/4 v1, #int -1 // #ff │ │ +023cc4: 3210 1900 |0038: if-eq v0, v1, 0051 // +0019 │ │ +023cc8: 5420 0403 |003a: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.this$0:Ldnsfilter/remote/RemoteAccessServer; // field@0304 │ │ +023ccc: 7110 7c04 0000 |003c: invoke-static {v0}, Ldnsfilter/remote/RemoteAccessServer;.access$200:(Ldnsfilter/remote/RemoteAccessServer;)Ljava/util/HashMap; // method@047c │ │ +023cd2: 0c00 |003f: move-result-object v0 │ │ +023cd4: 5221 fa02 |0040: iget v1, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.connectedSessionId:I // field@02fa │ │ +023cd8: 7110 4405 0100 |0042: invoke-static {v1}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0544 │ │ +023cde: 0c01 |0045: move-result-object v1 │ │ +023ce0: 6e20 0906 1000 |0046: invoke-virtual {v0, v1}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0609 │ │ +023ce6: 0c00 |0049: move-result-object v0 │ │ +023ce8: 1f00 e800 |004a: check-cast v0, Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@00e8 │ │ +023cec: 3800 0500 |004c: if-eqz v0, 0051 // +0005 │ │ +023cf0: 6e10 7604 0000 |004e: invoke-virtual {v0}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@0476 │ │ +023cf6: 0e00 |0051: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=161 │ │ 0x0006 line=163 │ │ 0x0008 line=164 │ │ 0x000f line=166 │ │ 0x0013 line=167 │ │ @@ -55138,31 +55138,31 @@ │ │ type : '(Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 4 │ │ outs : 2 │ │ insns size : 33 16-bit code units │ │ -023cfc: |[023cfc] dnsfilter.remote.RemoteAccessServer$RemoteSession.reconnectSession:(Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;)V │ │ -023d0c: 1213 |0000: const/4 v3, #int 1 // #1 │ │ -023d0e: 5c13 fb02 |0001: iput-boolean v3, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doReconnect:Z // field@02fb │ │ -023d12: 5413 0303 |0003: iget-object v3, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0303 │ │ -023d16: 5b12 0303 |0005: iput-object v2, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0303 │ │ -023d1a: 2204 f400 |0007: new-instance v4, Ljava/io/DataOutputStream; // type@00f4 │ │ -023d1e: 6e10 c705 0200 |0009: invoke-virtual {v2}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05c7 │ │ -023d24: 0c00 |000c: move-result-object v0 │ │ -023d26: 7020 d004 0400 |000d: invoke-direct {v4, v0}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04d0 │ │ -023d2c: 5b14 0003 |0010: iput-object v4, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ -023d30: 2204 f300 |0012: new-instance v4, Ljava/io/DataInputStream; // type@00f3 │ │ -023d34: 6e10 c605 0200 |0014: invoke-virtual {v2}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05c6 │ │ -023d3a: 0c02 |0017: move-result-object v2 │ │ -023d3c: 7020 c904 2400 |0018: invoke-direct {v4, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04c9 │ │ -023d42: 5b14 fd02 |001b: iput-object v4, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ -023d46: 7110 6c07 0300 |001d: invoke-static {v3}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@076c │ │ -023d4c: 0e00 |0020: return-void │ │ +023cf8: |[023cf8] dnsfilter.remote.RemoteAccessServer$RemoteSession.reconnectSession:(Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;)V │ │ +023d08: 1213 |0000: const/4 v3, #int 1 // #1 │ │ +023d0a: 5c13 fb02 |0001: iput-boolean v3, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doReconnect:Z // field@02fb │ │ +023d0e: 5413 0303 |0003: iget-object v3, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0303 │ │ +023d12: 5b12 0303 |0005: iput-object v2, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0303 │ │ +023d16: 2204 f400 |0007: new-instance v4, Ljava/io/DataOutputStream; // type@00f4 │ │ +023d1a: 6e10 c705 0200 |0009: invoke-virtual {v2}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05c7 │ │ +023d20: 0c00 |000c: move-result-object v0 │ │ +023d22: 7020 d004 0400 |000d: invoke-direct {v4, v0}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04d0 │ │ +023d28: 5b14 0003 |0010: iput-object v4, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@0300 │ │ +023d2c: 2204 f300 |0012: new-instance v4, Ljava/io/DataInputStream; // type@00f3 │ │ +023d30: 6e10 c605 0200 |0014: invoke-virtual {v2}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05c6 │ │ +023d36: 0c02 |0017: move-result-object v2 │ │ +023d38: 7020 c904 2400 |0018: invoke-direct {v4, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04c9 │ │ +023d3e: 5b14 fd02 |001b: iput-object v4, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ +023d42: 7110 6c07 0300 |001d: invoke-static {v3}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@076c │ │ +023d48: 0e00 |0020: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=183 │ │ 0x0003 line=184 │ │ 0x0005 line=185 │ │ 0x0007 line=186 │ │ 0x0012 line=187 │ │ @@ -55178,100 +55178,100 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 179 16-bit code units │ │ -023d50: |[023d50] dnsfilter.remote.RemoteAccessServer$RemoteSession.run:()V │ │ -023d60: 1300 0004 |0000: const/16 v0, #int 1024 // #400 │ │ -023d64: 2300 9901 |0002: new-array v0, v0, [B // type@0199 │ │ -023d68: 1a01 0000 |0004: const-string v1, "" // string@0000 │ │ -023d6c: 5562 fe02 |0006: iget-boolean v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fe │ │ -023d70: 3902 8900 |0008: if-nez v2, 0091 // +0089 │ │ -023d74: 5462 0403 |000a: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.this$0:Ldnsfilter/remote/RemoteAccessServer; // field@0304 │ │ -023d78: 5463 fd02 |000c: iget-object v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ -023d7c: 7130 7d04 3200 |000e: invoke-static {v2, v3, v0}, Ldnsfilter/remote/RemoteAccessServer;.access$300:(Ldnsfilter/remote/RemoteAccessServer;Ljava/io/InputStream;[B)Ljava/lang/String; // method@047d │ │ -023d82: 0c01 |0011: move-result-object v1 │ │ -023d84: 1a02 8005 |0012: const-string v2, "attach" // string@0580 │ │ -023d88: 6e20 6705 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -023d8e: 0a02 |0017: move-result v2 │ │ -023d90: 3802 0600 |0018: if-eqz v2, 001e // +0006 │ │ -023d94: 7010 6f04 0600 |001a: invoke-direct {v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.attachStream:()V // method@046f │ │ -023d9a: 28e9 |001d: goto 0006 // -0017 │ │ -023d9c: 1a02 c609 |001e: const-string v2, "releaseConfiguration()" // string@09c6 │ │ -023da0: 6e20 6705 2100 |0020: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -023da6: 0a02 |0023: move-result v2 │ │ -023da8: 3802 0600 |0024: if-eqz v2, 002a // +0006 │ │ -023dac: 6e10 7604 0600 |0026: invoke-virtual {v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@0476 │ │ -023db2: 28dd |0029: goto 0006 // -0023 │ │ -023db4: 1a02 0806 |002a: const-string v2, "confirmHeartBeat()" // string@0608 │ │ -023db8: 6e20 6705 2100 |002c: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -023dbe: 0a02 |002f: move-result v2 │ │ -023dc0: 3802 0600 |0030: if-eqz v2, 0036 // +0006 │ │ -023dc4: 7010 7404 0600 |0032: invoke-direct {v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.heartBeatConfirmed:()V // method@0474 │ │ -023dca: 28d1 |0035: goto 0006 // -002f │ │ -023dcc: 7020 7204 1600 |0036: invoke-direct {v6, v1}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.executeAction:(Ljava/lang/String;)V // method@0472 │ │ -023dd2: 28cd |0039: goto 0006 // -0033 │ │ -023dd4: 0d02 |003a: move-exception v2 │ │ -023dd6: 5563 fb02 |003b: iget-boolean v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doReconnect:Z // field@02fb │ │ -023dda: 3903 2300 |003d: if-nez v3, 0060 // +0023 │ │ -023dde: 5563 fe02 |003f: iget-boolean v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fe │ │ -023de2: 3903 c5ff |0041: if-nez v3, 0006 // -003b │ │ -023de6: 7100 0107 0000 |0043: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -023dec: 0c00 |0046: move-result-object v0 │ │ -023dee: 2201 2801 |0047: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -023df2: 1a03 8d01 |0049: const-string v3, "Exception during RemoteServer Session read! " // string@018d │ │ -023df6: 7020 8405 3100 |004b: invoke-direct {v1, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -023dfc: 6e10 0005 0200 |004e: invoke-virtual {v2}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ -023e02: 0c02 |0051: move-result-object v2 │ │ -023e04: 6e20 8905 2100 |0052: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -023e0a: 6e10 8b05 0100 |0055: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -023e10: 0c01 |0058: move-result-object v1 │ │ -023e12: 7220 0d07 1000 |0059: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -023e18: 6e10 7604 0600 |005c: invoke-virtual {v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@0476 │ │ -023e1e: 2832 |005f: goto 0091 // +0032 │ │ -023e20: 7100 0107 0000 |0060: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -023e26: 0c02 |0063: move-result-object v2 │ │ -023e28: 1a03 2704 |0064: const-string v3, "Reconnected Remote!" // string@0427 │ │ -023e2c: 7220 0d07 3200 |0066: invoke-interface {v2, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -023e32: 1202 |0069: const/4 v2, #int 0 // #0 │ │ -023e34: 5c62 fb02 |006a: iput-boolean v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doReconnect:Z // field@02fb │ │ -023e38: 289a |006c: goto 0006 // -0066 │ │ -023e3a: 0d02 |006d: move-exception v2 │ │ -023e3c: 7100 0107 0000 |006e: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -023e42: 0c03 |0071: move-result-object v3 │ │ -023e44: 2204 2801 |0072: new-instance v4, Ljava/lang/StringBuilder; // type@0128 │ │ -023e48: 1a05 3d04 |0074: const-string v5, "RemoteServer Exception processing " // string@043d │ │ -023e4c: 7020 8405 5400 |0076: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -023e52: 6e20 8905 1400 |0079: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -023e58: 1a05 2b00 |007c: const-string v5, "! " // string@002b │ │ -023e5c: 6e20 8905 5400 |007e: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -023e62: 6e10 3201 0200 |0081: invoke-virtual {v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.toString:()Ljava/lang/String; // method@0132 │ │ -023e68: 0c02 |0084: move-result-object v2 │ │ -023e6a: 6e20 8905 2400 |0085: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -023e70: 6e10 8b05 0400 |0088: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -023e76: 0c02 |008b: move-result-object v2 │ │ -023e78: 7220 0d07 2300 |008c: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -023e7e: 2900 77ff |008f: goto/16 0006 // -0089 │ │ -023e82: 7100 0107 0000 |0091: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -023e88: 0c00 |0094: move-result-object v0 │ │ -023e8a: 2201 2801 |0095: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -023e8e: 1a02 2c04 |0097: const-string v2, "Remote Session " // string@042c │ │ -023e92: 7020 8405 2100 |0099: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -023e98: 5262 fc02 |009c: iget v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.id:I // field@02fc │ │ -023e9c: 6e20 8605 2100 |009e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -023ea2: 1a02 1900 |00a1: const-string v2, " closed! " // string@0019 │ │ -023ea6: 6e20 8905 2100 |00a3: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -023eac: 5462 0303 |00a6: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0303 │ │ -023eb0: 6e20 8805 2100 |00a8: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ -023eb6: 6e10 8b05 0100 |00ab: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -023ebc: 0c01 |00ae: move-result-object v1 │ │ -023ebe: 7220 0d07 1000 |00af: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -023ec4: 0e00 |00b2: return-void │ │ +023d4c: |[023d4c] dnsfilter.remote.RemoteAccessServer$RemoteSession.run:()V │ │ +023d5c: 1300 0004 |0000: const/16 v0, #int 1024 // #400 │ │ +023d60: 2300 9901 |0002: new-array v0, v0, [B // type@0199 │ │ +023d64: 1a01 0000 |0004: const-string v1, "" // string@0000 │ │ +023d68: 5562 fe02 |0006: iget-boolean v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fe │ │ +023d6c: 3902 8900 |0008: if-nez v2, 0091 // +0089 │ │ +023d70: 5462 0403 |000a: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.this$0:Ldnsfilter/remote/RemoteAccessServer; // field@0304 │ │ +023d74: 5463 fd02 |000c: iget-object v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fd │ │ +023d78: 7130 7d04 3200 |000e: invoke-static {v2, v3, v0}, Ldnsfilter/remote/RemoteAccessServer;.access$300:(Ldnsfilter/remote/RemoteAccessServer;Ljava/io/InputStream;[B)Ljava/lang/String; // method@047d │ │ +023d7e: 0c01 |0011: move-result-object v1 │ │ +023d80: 1a02 8005 |0012: const-string v2, "attach" // string@0580 │ │ +023d84: 6e20 6705 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +023d8a: 0a02 |0017: move-result v2 │ │ +023d8c: 3802 0600 |0018: if-eqz v2, 001e // +0006 │ │ +023d90: 7010 6f04 0600 |001a: invoke-direct {v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.attachStream:()V // method@046f │ │ +023d96: 28e9 |001d: goto 0006 // -0017 │ │ +023d98: 1a02 c609 |001e: const-string v2, "releaseConfiguration()" // string@09c6 │ │ +023d9c: 6e20 6705 2100 |0020: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +023da2: 0a02 |0023: move-result v2 │ │ +023da4: 3802 0600 |0024: if-eqz v2, 002a // +0006 │ │ +023da8: 6e10 7604 0600 |0026: invoke-virtual {v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@0476 │ │ +023dae: 28dd |0029: goto 0006 // -0023 │ │ +023db0: 1a02 0806 |002a: const-string v2, "confirmHeartBeat()" // string@0608 │ │ +023db4: 6e20 6705 2100 |002c: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +023dba: 0a02 |002f: move-result v2 │ │ +023dbc: 3802 0600 |0030: if-eqz v2, 0036 // +0006 │ │ +023dc0: 7010 7404 0600 |0032: invoke-direct {v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.heartBeatConfirmed:()V // method@0474 │ │ +023dc6: 28d1 |0035: goto 0006 // -002f │ │ +023dc8: 7020 7204 1600 |0036: invoke-direct {v6, v1}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.executeAction:(Ljava/lang/String;)V // method@0472 │ │ +023dce: 28cd |0039: goto 0006 // -0033 │ │ +023dd0: 0d02 |003a: move-exception v2 │ │ +023dd2: 5563 fb02 |003b: iget-boolean v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doReconnect:Z // field@02fb │ │ +023dd6: 3903 2300 |003d: if-nez v3, 0060 // +0023 │ │ +023dda: 5563 fe02 |003f: iget-boolean v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fe │ │ +023dde: 3903 c5ff |0041: if-nez v3, 0006 // -003b │ │ +023de2: 7100 0107 0000 |0043: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +023de8: 0c00 |0046: move-result-object v0 │ │ +023dea: 2201 2801 |0047: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +023dee: 1a03 8d01 |0049: const-string v3, "Exception during RemoteServer Session read! " // string@018d │ │ +023df2: 7020 8405 3100 |004b: invoke-direct {v1, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +023df8: 6e10 0005 0200 |004e: invoke-virtual {v2}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0500 │ │ +023dfe: 0c02 |0051: move-result-object v2 │ │ +023e00: 6e20 8905 2100 |0052: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +023e06: 6e10 8b05 0100 |0055: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +023e0c: 0c01 |0058: move-result-object v1 │ │ +023e0e: 7220 0d07 1000 |0059: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +023e14: 6e10 7604 0600 |005c: invoke-virtual {v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@0476 │ │ +023e1a: 2832 |005f: goto 0091 // +0032 │ │ +023e1c: 7100 0107 0000 |0060: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +023e22: 0c02 |0063: move-result-object v2 │ │ +023e24: 1a03 2704 |0064: const-string v3, "Reconnected Remote!" // string@0427 │ │ +023e28: 7220 0d07 3200 |0066: invoke-interface {v2, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +023e2e: 1202 |0069: const/4 v2, #int 0 // #0 │ │ +023e30: 5c62 fb02 |006a: iput-boolean v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doReconnect:Z // field@02fb │ │ +023e34: 289a |006c: goto 0006 // -0066 │ │ +023e36: 0d02 |006d: move-exception v2 │ │ +023e38: 7100 0107 0000 |006e: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +023e3e: 0c03 |0071: move-result-object v3 │ │ +023e40: 2204 2801 |0072: new-instance v4, Ljava/lang/StringBuilder; // type@0128 │ │ +023e44: 1a05 3d04 |0074: const-string v5, "RemoteServer Exception processing " // string@043d │ │ +023e48: 7020 8405 5400 |0076: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +023e4e: 6e20 8905 1400 |0079: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +023e54: 1a05 2b00 |007c: const-string v5, "! " // string@002b │ │ +023e58: 6e20 8905 5400 |007e: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +023e5e: 6e10 3201 0200 |0081: invoke-virtual {v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.toString:()Ljava/lang/String; // method@0132 │ │ +023e64: 0c02 |0084: move-result-object v2 │ │ +023e66: 6e20 8905 2400 |0085: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +023e6c: 6e10 8b05 0400 |0088: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +023e72: 0c02 |008b: move-result-object v2 │ │ +023e74: 7220 0d07 2300 |008c: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +023e7a: 2900 77ff |008f: goto/16 0006 // -0089 │ │ +023e7e: 7100 0107 0000 |0091: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +023e84: 0c00 |0094: move-result-object v0 │ │ +023e86: 2201 2801 |0095: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +023e8a: 1a02 2c04 |0097: const-string v2, "Remote Session " // string@042c │ │ +023e8e: 7020 8405 2100 |0099: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +023e94: 5262 fc02 |009c: iget v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.id:I // field@02fc │ │ +023e98: 6e20 8605 2100 |009e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +023e9e: 1a02 1900 |00a1: const-string v2, " closed! " // string@0019 │ │ +023ea2: 6e20 8905 2100 |00a3: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +023ea8: 5462 0303 |00a6: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0303 │ │ +023eac: 6e20 8805 2100 |00a8: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0588 │ │ +023eb2: 6e10 8b05 0100 |00ab: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +023eb8: 0c01 |00ae: move-result-object v1 │ │ +023eba: 7220 0d07 1000 |00af: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +023ec0: 0e00 |00b2: return-void │ │ catches : 1 │ │ 0x000a - 0x0039 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x006d │ │ Ljava/io/IOException; -> 0x003a │ │ positions : │ │ 0x0002 line=193 │ │ 0x0004 line=194 │ │ @@ -55300,21 +55300,21 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 12 16-bit code units │ │ -023ed8: |[023ed8] dnsfilter.remote.RemoteAccessServer$RemoteSession.timeoutNotification:()V │ │ -023ee8: 7010 7004 0100 |0000: invoke-direct {v1}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.checkLastConfirmedHeartBeat:()Z // method@0470 │ │ -023eee: 0a00 |0003: move-result v0 │ │ -023ef0: 3800 0700 |0004: if-eqz v0, 000b // +0007 │ │ -023ef4: 6000 e702 |0006: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e7 │ │ -023ef8: 7020 7104 0100 |0008: invoke-direct {v1, v0}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doHeartBeat:(I)V // method@0471 │ │ -023efe: 0e00 |000b: return-void │ │ +023ed4: |[023ed4] dnsfilter.remote.RemoteAccessServer$RemoteSession.timeoutNotification:()V │ │ +023ee4: 7010 7004 0100 |0000: invoke-direct {v1}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.checkLastConfirmedHeartBeat:()Z // method@0470 │ │ +023eea: 0a00 |0003: move-result v0 │ │ +023eec: 3800 0700 |0004: if-eqz v0, 000b // +0007 │ │ +023ef0: 6000 e702 |0006: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e7 │ │ +023ef4: 7020 7104 0100 |0008: invoke-direct {v1, v0}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doHeartBeat:(I)V // method@0471 │ │ +023efa: 0e00 |000b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=482 │ │ 0x0006 line=483 │ │ locals : │ │ 0x0000 - 0x000c reg=1 this Ldnsfilter/remote/RemoteAccessServer$RemoteSession; │ │ │ │ @@ -55347,28 +55347,28 @@ │ │ type : '([BII)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 25 16-bit code units │ │ -025100: |[025100] ip.UDPPacket.:([BII)V │ │ -025110: 7040 8504 1032 |0000: invoke-direct {v0, v1, v2, v3}, Lip/IPPacket;.:([BII)V // method@0485 │ │ -025116: 5203 1303 |0003: iget v3, v0, Lip/UDPPacket;.ipHdrlen:I // field@0313 │ │ -02511a: b032 |0005: add-int/2addr v2, v3 │ │ -02511c: 1303 0800 |0006: const/16 v3, #int 8 // #8 │ │ -025120: 7130 e505 2103 |0008: invoke-static {v1, v2, v3}, Ljava/nio/ByteBuffer;.wrap:([BII)Ljava/nio/ByteBuffer; // method@05e5 │ │ -025126: 0c01 |000b: move-result-object v1 │ │ -025128: 6202 1f03 |000c: sget-object v2, Ljava/nio/ByteOrder;.BIG_ENDIAN:Ljava/nio/ByteOrder; // field@031f │ │ -02512c: 6e20 dc05 2100 |000e: invoke-virtual {v1, v2}, Ljava/nio/ByteBuffer;.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer; // method@05dc │ │ -025132: 0c01 |0011: move-result-object v1 │ │ -025134: 6e10 d605 0100 |0012: invoke-virtual {v1}, Ljava/nio/ByteBuffer;.asIntBuffer:()Ljava/nio/IntBuffer; // method@05d6 │ │ -02513a: 0c01 |0015: move-result-object v1 │ │ -02513c: 5b01 1703 |0016: iput-object v1, v0, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0317 │ │ -025140: 0e00 |0018: return-void │ │ +0250fc: |[0250fc] ip.UDPPacket.:([BII)V │ │ +02510c: 7040 8504 1032 |0000: invoke-direct {v0, v1, v2, v3}, Lip/IPPacket;.:([BII)V // method@0485 │ │ +025112: 5203 1303 |0003: iget v3, v0, Lip/UDPPacket;.ipHdrlen:I // field@0313 │ │ +025116: b032 |0005: add-int/2addr v2, v3 │ │ +025118: 1303 0800 |0006: const/16 v3, #int 8 // #8 │ │ +02511c: 7130 e505 2103 |0008: invoke-static {v1, v2, v3}, Ljava/nio/ByteBuffer;.wrap:([BII)Ljava/nio/ByteBuffer; // method@05e5 │ │ +025122: 0c01 |000b: move-result-object v1 │ │ +025124: 6202 1f03 |000c: sget-object v2, Ljava/nio/ByteOrder;.BIG_ENDIAN:Ljava/nio/ByteOrder; // field@031f │ │ +025128: 6e20 dc05 2100 |000e: invoke-virtual {v1, v2}, Ljava/nio/ByteBuffer;.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer; // method@05dc │ │ +02512e: 0c01 |0011: move-result-object v1 │ │ +025130: 6e10 d605 0100 |0012: invoke-virtual {v1}, Ljava/nio/ByteBuffer;.asIntBuffer:()Ljava/nio/IntBuffer; // method@05d6 │ │ +025136: 0c01 |0015: move-result-object v1 │ │ +025138: 5b01 1703 |0016: iput-object v1, v0, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0317 │ │ +02513c: 0e00 |0018: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=35 │ │ 0x0003 line=36 │ │ locals : │ │ 0x0000 - 0x0019 reg=0 this Lip/UDPPacket; │ │ 0x0000 - 0x0019 reg=1 (null) [B │ │ @@ -55380,83 +55380,83 @@ │ │ type : '(Z)I' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 8 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 135 16-bit code units │ │ -024eb0: |[024eb0] ip.UDPPacket.calculateCheckSum:(Z)I │ │ -024ec0: 5260 1803 |0000: iget v0, v6, Lip/UDPPacket;.version:I // field@0318 │ │ -024ec4: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -024ec6: 3310 2a00 |0003: if-ne v0, v1, 002d // +002a │ │ -024eca: 5460 1403 |0005: iget-object v0, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0314 │ │ -024ece: 1221 |0007: const/4 v1, #int 2 // #2 │ │ -024ed0: 6e20 e605 1000 |0008: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@05e6 │ │ -024ed6: 0a00 |000b: move-result v0 │ │ -024ed8: 5462 1403 |000c: iget-object v2, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0314 │ │ -024edc: 1503 1100 |000e: const/high16 v3, #int 1114112 // #11 │ │ -024ee0: 5264 1503 |0010: iget v4, v6, Lip/UDPPacket;.len:I // field@0315 │ │ -024ee4: b034 |0012: add-int/2addr v4, v3 │ │ -024ee6: 5263 1303 |0013: iget v3, v6, Lip/UDPPacket;.ipHdrlen:I // field@0313 │ │ -024eea: b134 |0015: sub-int/2addr v4, v3 │ │ -024eec: 6e30 eb05 1204 |0016: invoke-virtual {v2, v1, v4}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@05eb │ │ -024ef2: 5462 1203 |0019: iget-object v2, v6, Lip/UDPPacket;.data:[B // field@0312 │ │ -024ef6: 5263 1603 |001b: iget v3, v6, Lip/UDPPacket;.offset:I // field@0316 │ │ -024efa: d803 0308 |001d: add-int/lit8 v3, v3, #int 8 // #08 │ │ -024efe: 5264 1503 |001f: iget v4, v6, Lip/UDPPacket;.len:I // field@0315 │ │ -024f02: d804 04f8 |0021: add-int/lit8 v4, v4, #int -8 // #f8 │ │ -024f06: 7130 8304 3204 |0023: invoke-static {v2, v3, v4}, Lip/CheckSum;.chkSum:([BII)I // method@0483 │ │ -024f0c: 0a02 |0026: move-result v2 │ │ -024f0e: 5463 1403 |0027: iget-object v3, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0314 │ │ -024f12: 6e30 eb05 1300 |0029: invoke-virtual {v3, v1, v0}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@05eb │ │ -024f18: 283d |002c: goto 0069 // +003d │ │ -024f1a: 5260 1803 |002d: iget v0, v6, Lip/UDPPacket;.version:I // field@0318 │ │ -024f1e: 1261 |002f: const/4 v1, #int 6 // #6 │ │ -024f20: 3310 4100 |0030: if-ne v0, v1, 0071 // +0041 │ │ -024f24: 5460 1403 |0032: iget-object v0, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0314 │ │ -024f28: 1201 |0034: const/4 v1, #int 0 // #0 │ │ -024f2a: 6e20 e605 1000 |0035: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@05e6 │ │ -024f30: 0a00 |0038: move-result v0 │ │ -024f32: 5462 1403 |0039: iget-object v2, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0314 │ │ -024f36: 1213 |003b: const/4 v3, #int 1 // #1 │ │ -024f38: 6e20 e605 3200 |003c: invoke-virtual {v2, v3}, Ljava/nio/IntBuffer;.get:(I)I // method@05e6 │ │ -024f3e: 0a02 |003f: move-result v2 │ │ -024f40: 2420 9a01 2000 |0040: filled-new-array {v0, v2}, [I // type@019a │ │ -024f46: 0c00 |0043: move-result-object v0 │ │ -024f48: 5462 1403 |0044: iget-object v2, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0314 │ │ -024f4c: 5264 1503 |0046: iget v4, v6, Lip/UDPPacket;.len:I // field@0315 │ │ -024f50: 5265 1303 |0048: iget v5, v6, Lip/UDPPacket;.ipHdrlen:I // field@0313 │ │ -024f54: b154 |004a: sub-int/2addr v4, v5 │ │ -024f56: 6e30 eb05 1204 |004b: invoke-virtual {v2, v1, v4}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@05eb │ │ -024f5c: 5462 1403 |004e: iget-object v2, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0314 │ │ -024f60: 1304 1100 |0050: const/16 v4, #int 17 // #11 │ │ -024f64: 6e30 eb05 3204 |0052: invoke-virtual {v2, v3, v4}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@05eb │ │ -024f6a: 5462 1203 |0055: iget-object v2, v6, Lip/UDPPacket;.data:[B // field@0312 │ │ -024f6e: 5263 1603 |0057: iget v3, v6, Lip/UDPPacket;.offset:I // field@0316 │ │ -024f72: 5264 1503 |0059: iget v4, v6, Lip/UDPPacket;.len:I // field@0315 │ │ -024f76: 7130 8304 3204 |005b: invoke-static {v2, v3, v4}, Lip/CheckSum;.chkSum:([BII)I // method@0483 │ │ -024f7c: 0a02 |005e: move-result v2 │ │ -024f7e: 5463 1403 |005f: iget-object v3, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0314 │ │ -024f82: 6e20 e905 1300 |0061: invoke-virtual {v3, v1}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@05e9 │ │ -024f88: 5461 1403 |0064: iget-object v1, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0314 │ │ -024f8c: 6e20 ec05 0100 |0066: invoke-virtual {v1, v0}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@05ec │ │ -024f92: 3807 0700 |0069: if-eqz v7, 0070 // +0007 │ │ -024f96: 3902 0500 |006b: if-nez v2, 0070 // +0005 │ │ -024f9a: 1402 ffff 0000 |006d: const v2, #float 9.18341e-41 // #0000ffff │ │ -024fa0: 0f02 |0070: return v2 │ │ -024fa2: 2207 1801 |0071: new-instance v7, Ljava/lang/IllegalStateException; // type@0118 │ │ -024fa6: 2200 2801 |0073: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ -024faa: 1a01 e701 |0075: const-string v1, "Illegal version:" // string@01e7 │ │ -024fae: 7020 8405 1000 |0077: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -024fb4: 5261 1803 |007a: iget v1, v6, Lip/UDPPacket;.version:I // field@0318 │ │ -024fb8: 6e20 8605 1000 |007c: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -024fbe: 6e10 8b05 0000 |007f: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -024fc4: 0c00 |0082: move-result-object v0 │ │ -024fc6: 7020 3d05 0700 |0083: invoke-direct {v7, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ -024fcc: 2707 |0086: throw v7 │ │ +024eac: |[024eac] ip.UDPPacket.calculateCheckSum:(Z)I │ │ +024ebc: 5260 1803 |0000: iget v0, v6, Lip/UDPPacket;.version:I // field@0318 │ │ +024ec0: 1241 |0002: const/4 v1, #int 4 // #4 │ │ +024ec2: 3310 2a00 |0003: if-ne v0, v1, 002d // +002a │ │ +024ec6: 5460 1403 |0005: iget-object v0, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0314 │ │ +024eca: 1221 |0007: const/4 v1, #int 2 // #2 │ │ +024ecc: 6e20 e605 1000 |0008: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@05e6 │ │ +024ed2: 0a00 |000b: move-result v0 │ │ +024ed4: 5462 1403 |000c: iget-object v2, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0314 │ │ +024ed8: 1503 1100 |000e: const/high16 v3, #int 1114112 // #11 │ │ +024edc: 5264 1503 |0010: iget v4, v6, Lip/UDPPacket;.len:I // field@0315 │ │ +024ee0: b034 |0012: add-int/2addr v4, v3 │ │ +024ee2: 5263 1303 |0013: iget v3, v6, Lip/UDPPacket;.ipHdrlen:I // field@0313 │ │ +024ee6: b134 |0015: sub-int/2addr v4, v3 │ │ +024ee8: 6e30 eb05 1204 |0016: invoke-virtual {v2, v1, v4}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@05eb │ │ +024eee: 5462 1203 |0019: iget-object v2, v6, Lip/UDPPacket;.data:[B // field@0312 │ │ +024ef2: 5263 1603 |001b: iget v3, v6, Lip/UDPPacket;.offset:I // field@0316 │ │ +024ef6: d803 0308 |001d: add-int/lit8 v3, v3, #int 8 // #08 │ │ +024efa: 5264 1503 |001f: iget v4, v6, Lip/UDPPacket;.len:I // field@0315 │ │ +024efe: d804 04f8 |0021: add-int/lit8 v4, v4, #int -8 // #f8 │ │ +024f02: 7130 8304 3204 |0023: invoke-static {v2, v3, v4}, Lip/CheckSum;.chkSum:([BII)I // method@0483 │ │ +024f08: 0a02 |0026: move-result v2 │ │ +024f0a: 5463 1403 |0027: iget-object v3, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0314 │ │ +024f0e: 6e30 eb05 1300 |0029: invoke-virtual {v3, v1, v0}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@05eb │ │ +024f14: 283d |002c: goto 0069 // +003d │ │ +024f16: 5260 1803 |002d: iget v0, v6, Lip/UDPPacket;.version:I // field@0318 │ │ +024f1a: 1261 |002f: const/4 v1, #int 6 // #6 │ │ +024f1c: 3310 4100 |0030: if-ne v0, v1, 0071 // +0041 │ │ +024f20: 5460 1403 |0032: iget-object v0, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0314 │ │ +024f24: 1201 |0034: const/4 v1, #int 0 // #0 │ │ +024f26: 6e20 e605 1000 |0035: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@05e6 │ │ +024f2c: 0a00 |0038: move-result v0 │ │ +024f2e: 5462 1403 |0039: iget-object v2, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0314 │ │ +024f32: 1213 |003b: const/4 v3, #int 1 // #1 │ │ +024f34: 6e20 e605 3200 |003c: invoke-virtual {v2, v3}, Ljava/nio/IntBuffer;.get:(I)I // method@05e6 │ │ +024f3a: 0a02 |003f: move-result v2 │ │ +024f3c: 2420 9a01 2000 |0040: filled-new-array {v0, v2}, [I // type@019a │ │ +024f42: 0c00 |0043: move-result-object v0 │ │ +024f44: 5462 1403 |0044: iget-object v2, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0314 │ │ +024f48: 5264 1503 |0046: iget v4, v6, Lip/UDPPacket;.len:I // field@0315 │ │ +024f4c: 5265 1303 |0048: iget v5, v6, Lip/UDPPacket;.ipHdrlen:I // field@0313 │ │ +024f50: b154 |004a: sub-int/2addr v4, v5 │ │ +024f52: 6e30 eb05 1204 |004b: invoke-virtual {v2, v1, v4}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@05eb │ │ +024f58: 5462 1403 |004e: iget-object v2, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0314 │ │ +024f5c: 1304 1100 |0050: const/16 v4, #int 17 // #11 │ │ +024f60: 6e30 eb05 3204 |0052: invoke-virtual {v2, v3, v4}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@05eb │ │ +024f66: 5462 1203 |0055: iget-object v2, v6, Lip/UDPPacket;.data:[B // field@0312 │ │ +024f6a: 5263 1603 |0057: iget v3, v6, Lip/UDPPacket;.offset:I // field@0316 │ │ +024f6e: 5264 1503 |0059: iget v4, v6, Lip/UDPPacket;.len:I // field@0315 │ │ +024f72: 7130 8304 3204 |005b: invoke-static {v2, v3, v4}, Lip/CheckSum;.chkSum:([BII)I // method@0483 │ │ +024f78: 0a02 |005e: move-result v2 │ │ +024f7a: 5463 1403 |005f: iget-object v3, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0314 │ │ +024f7e: 6e20 e905 1300 |0061: invoke-virtual {v3, v1}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@05e9 │ │ +024f84: 5461 1403 |0064: iget-object v1, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0314 │ │ +024f88: 6e20 ec05 0100 |0066: invoke-virtual {v1, v0}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@05ec │ │ +024f8e: 3807 0700 |0069: if-eqz v7, 0070 // +0007 │ │ +024f92: 3902 0500 |006b: if-nez v2, 0070 // +0005 │ │ +024f96: 1402 ffff 0000 |006d: const v2, #float 9.18341e-41 // #0000ffff │ │ +024f9c: 0f02 |0070: return v2 │ │ +024f9e: 2207 1801 |0071: new-instance v7, Ljava/lang/IllegalStateException; // type@0118 │ │ +024fa2: 2200 2801 |0073: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ +024fa6: 1a01 e701 |0075: const-string v1, "Illegal version:" // string@01e7 │ │ +024faa: 7020 8405 1000 |0077: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +024fb0: 5261 1803 |007a: iget v1, v6, Lip/UDPPacket;.version:I // field@0318 │ │ +024fb4: 6e20 8605 1000 |007c: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +024fba: 6e10 8b05 0000 |007f: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +024fc0: 0c00 |0082: move-result-object v0 │ │ +024fc2: 7020 3d05 0700 |0083: invoke-direct {v7, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ +024fc8: 2707 |0086: throw v7 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=64 │ │ 0x0005 line=65 │ │ 0x000c line=66 │ │ 0x0019 line=67 │ │ 0x0027 line=68 │ │ @@ -55477,23 +55477,23 @@ │ │ type : '([BIII)Lip/UDPPacket;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 16 16-bit code units │ │ -0250d0: |[0250d0] ip.UDPPacket.createUDPPacket:([BIII)Lip/UDPPacket; │ │ -0250e0: e003 0304 |0000: shl-int/lit8 v3, v3, #int 4 // #04 │ │ -0250e4: d533 ff00 |0002: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -0250e8: 8d33 |0004: int-to-byte v3, v3 │ │ -0250ea: 4f03 0001 |0005: aput-byte v3, v0, v1 │ │ -0250ee: 2203 ec00 |0007: new-instance v3, Lip/UDPPacket; // type@00ec │ │ -0250f2: 7040 9a04 0321 |0009: invoke-direct {v3, v0, v1, v2}, Lip/UDPPacket;.:([BII)V // method@049a │ │ -0250f8: 6e10 aa04 0300 |000c: invoke-virtual {v3}, Lip/UDPPacket;.initInitialIPHeader:()V // method@04aa │ │ -0250fe: 1103 |000f: return-object v3 │ │ +0250cc: |[0250cc] ip.UDPPacket.createUDPPacket:([BIII)Lip/UDPPacket; │ │ +0250dc: e003 0304 |0000: shl-int/lit8 v3, v3, #int 4 // #04 │ │ +0250e0: d533 ff00 |0002: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +0250e4: 8d33 |0004: int-to-byte v3, v3 │ │ +0250e6: 4f03 0001 |0005: aput-byte v3, v0, v1 │ │ +0250ea: 2203 ec00 |0007: new-instance v3, Lip/UDPPacket; // type@00ec │ │ +0250ee: 7040 9a04 0321 |0009: invoke-direct {v3, v0, v1, v2}, Lip/UDPPacket;.:([BII)V // method@049a │ │ +0250f4: 6e10 aa04 0300 |000c: invoke-virtual {v3}, Lip/UDPPacket;.initInitialIPHeader:()V // method@04aa │ │ +0250fa: 1103 |000f: return-object v3 │ │ catches : (none) │ │ positions : │ │ 0x0005 line=41 │ │ 0x0007 line=43 │ │ 0x000c line=44 │ │ locals : │ │ 0x0000 - 0x0010 reg=0 (null) [B │ │ @@ -55507,19 +55507,19 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -024fd0: |[024fd0] ip.UDPPacket.checkCheckSum:()I │ │ -024fe0: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -024fe2: 7020 9b04 0100 |0001: invoke-direct {v1, v0}, Lip/UDPPacket;.calculateCheckSum:(Z)I // method@049b │ │ -024fe8: 0a00 |0004: move-result v0 │ │ -024fea: 0f00 |0005: return v0 │ │ +024fcc: |[024fcc] ip.UDPPacket.checkCheckSum:()I │ │ +024fdc: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +024fde: 7020 9b04 0100 |0001: invoke-direct {v1, v0}, Lip/UDPPacket;.calculateCheckSum:(Z)I // method@049b │ │ +024fe4: 0a00 |0004: move-result v0 │ │ +024fe6: 0f00 |0005: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=59 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lip/UDPPacket; │ │ │ │ #1 : (in Lip/UDPPacket;) │ │ @@ -55527,22 +55527,22 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 12 16-bit code units │ │ -024fec: |[024fec] ip.UDPPacket.getDestPort:()I │ │ -024ffc: 5420 1703 |0000: iget-object v0, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0317 │ │ -025000: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -025002: 6e20 e605 1000 |0003: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@05e6 │ │ -025008: 0a00 |0006: move-result v0 │ │ -02500a: 1401 ffff 0000 |0007: const v1, #float 9.18341e-41 // #0000ffff │ │ -025010: b510 |000a: and-int/2addr v0, v1 │ │ -025012: 0f00 |000b: return v0 │ │ +024fe8: |[024fe8] ip.UDPPacket.getDestPort:()I │ │ +024ff8: 5420 1703 |0000: iget-object v0, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0317 │ │ +024ffc: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +024ffe: 6e20 e605 1000 |0003: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@05e6 │ │ +025004: 0a00 |0006: move-result v0 │ │ +025006: 1401 ffff 0000 |0007: const v1, #float 9.18341e-41 // #0000ffff │ │ +02500c: b510 |000a: and-int/2addr v0, v1 │ │ +02500e: 0f00 |000b: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=90 │ │ locals : │ │ 0x0000 - 0x000c reg=2 this Lip/UDPPacket; │ │ │ │ #2 : (in Lip/UDPPacket;) │ │ @@ -55550,18 +55550,18 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 5 16-bit code units │ │ -025014: |[025014] ip.UDPPacket.getHeaderLength:()I │ │ -025024: 5210 1303 |0000: iget v0, v1, Lip/UDPPacket;.ipHdrlen:I // field@0313 │ │ -025028: d800 0008 |0002: add-int/lit8 v0, v0, #int 8 // #08 │ │ -02502c: 0f00 |0004: return v0 │ │ +025010: |[025010] ip.UDPPacket.getHeaderLength:()I │ │ +025020: 5210 1303 |0000: iget v0, v1, Lip/UDPPacket;.ipHdrlen:I // field@0313 │ │ +025024: d800 0008 |0002: add-int/lit8 v0, v0, #int 8 // #08 │ │ +025028: 0f00 |0004: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=102 │ │ locals : │ │ 0x0000 - 0x0005 reg=1 this Lip/UDPPacket; │ │ │ │ #3 : (in Lip/UDPPacket;) │ │ @@ -55569,18 +55569,18 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 5 16-bit code units │ │ -025030: |[025030] ip.UDPPacket.getIPPacketLength:()I │ │ -025040: 6f10 8f04 0100 |0000: invoke-super {v1}, Lip/IPPacket;.getLength:()I // method@048f │ │ -025046: 0a00 |0003: move-result v0 │ │ -025048: 0f00 |0004: return v0 │ │ +02502c: |[02502c] ip.UDPPacket.getIPPacketLength:()I │ │ +02503c: 6f10 8f04 0100 |0000: invoke-super {v1}, Lip/IPPacket;.getLength:()I // method@048f │ │ +025042: 0a00 |0003: move-result v0 │ │ +025044: 0f00 |0004: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=98 │ │ locals : │ │ 0x0000 - 0x0005 reg=1 this Lip/UDPPacket; │ │ │ │ #4 : (in Lip/UDPPacket;) │ │ @@ -55588,18 +55588,18 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 5 16-bit code units │ │ -02504c: |[02504c] ip.UDPPacket.getIPPacketOffset:()I │ │ -02505c: 6f10 9004 0100 |0000: invoke-super {v1}, Lip/IPPacket;.getOffset:()I // method@0490 │ │ -025062: 0a00 |0003: move-result v0 │ │ -025064: 0f00 |0004: return v0 │ │ +025048: |[025048] ip.UDPPacket.getIPPacketOffset:()I │ │ +025058: 6f10 9004 0100 |0000: invoke-super {v1}, Lip/IPPacket;.getOffset:()I // method@0490 │ │ +02505e: 0a00 |0003: move-result v0 │ │ +025060: 0f00 |0004: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=110 │ │ locals : │ │ 0x0000 - 0x0005 reg=1 this Lip/UDPPacket; │ │ │ │ #5 : (in Lip/UDPPacket;) │ │ @@ -55607,21 +55607,21 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 10 16-bit code units │ │ -025068: |[025068] ip.UDPPacket.getLength:()I │ │ -025078: 5420 1703 |0000: iget-object v0, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0317 │ │ -02507c: 1211 |0002: const/4 v1, #int 1 // #1 │ │ -02507e: 6e20 e605 1000 |0003: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@05e6 │ │ -025084: 0a00 |0006: move-result v0 │ │ -025086: e200 0010 |0007: ushr-int/lit8 v0, v0, #int 16 // #10 │ │ -02508a: 0f00 |0009: return v0 │ │ +025064: |[025064] ip.UDPPacket.getLength:()I │ │ +025074: 5420 1703 |0000: iget-object v0, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0317 │ │ +025078: 1211 |0002: const/4 v1, #int 1 // #1 │ │ +02507a: 6e20 e605 1000 |0003: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@05e6 │ │ +025080: 0a00 |0006: move-result v0 │ │ +025082: e200 0010 |0007: ushr-int/lit8 v0, v0, #int 16 // #10 │ │ +025086: 0f00 |0009: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=94 │ │ locals : │ │ 0x0000 - 0x000a reg=2 this Lip/UDPPacket; │ │ │ │ #6 : (in Lip/UDPPacket;) │ │ @@ -55629,20 +55629,20 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -02508c: |[02508c] ip.UDPPacket.getOffset:()I │ │ -02509c: 6f10 9004 0200 |0000: invoke-super {v2}, Lip/IPPacket;.getOffset:()I // method@0490 │ │ -0250a2: 0a00 |0003: move-result v0 │ │ -0250a4: 5221 1303 |0004: iget v1, v2, Lip/UDPPacket;.ipHdrlen:I // field@0313 │ │ -0250a8: b010 |0006: add-int/2addr v0, v1 │ │ -0250aa: 0f00 |0007: return v0 │ │ +025088: |[025088] ip.UDPPacket.getOffset:()I │ │ +025098: 6f10 9004 0200 |0000: invoke-super {v2}, Lip/IPPacket;.getOffset:()I // method@0490 │ │ +02509e: 0a00 |0003: move-result v0 │ │ +0250a0: 5221 1303 |0004: iget v1, v2, Lip/UDPPacket;.ipHdrlen:I // field@0313 │ │ +0250a4: b010 |0006: add-int/2addr v0, v1 │ │ +0250a6: 0f00 |0007: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=106 │ │ locals : │ │ 0x0000 - 0x0008 reg=2 this Lip/UDPPacket; │ │ │ │ #7 : (in Lip/UDPPacket;) │ │ @@ -55650,21 +55650,21 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 10 16-bit code units │ │ -0250ac: |[0250ac] ip.UDPPacket.getSourcePort:()I │ │ -0250bc: 5420 1703 |0000: iget-object v0, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0317 │ │ -0250c0: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -0250c2: 6e20 e605 1000 |0003: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@05e6 │ │ -0250c8: 0a00 |0006: move-result v0 │ │ -0250ca: e200 0010 |0007: ushr-int/lit8 v0, v0, #int 16 // #10 │ │ -0250ce: 0f00 |0009: return v0 │ │ +0250a8: |[0250a8] ip.UDPPacket.getSourcePort:()I │ │ +0250b8: 5420 1703 |0000: iget-object v0, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0317 │ │ +0250bc: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +0250be: 6e20 e605 1000 |0003: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@05e6 │ │ +0250c4: 0a00 |0006: move-result v0 │ │ +0250c6: e200 0010 |0007: ushr-int/lit8 v0, v0, #int 16 // #10 │ │ +0250ca: 0f00 |0009: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=86 │ │ locals : │ │ 0x0000 - 0x000a reg=2 this Lip/UDPPacket; │ │ │ │ #8 : (in Lip/UDPPacket;) │ │ @@ -55672,37 +55672,37 @@ │ │ type : '(II)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 41 16-bit code units │ │ -025144: |[025144] ip.UDPPacket.updateHeader:(II)V │ │ -025154: e003 0310 |0000: shl-int/lit8 v3, v3, #int 16 // #10 │ │ -025158: b043 |0002: add-int/2addr v3, v4 │ │ -02515a: 5224 1503 |0003: iget v4, v2, Lip/UDPPacket;.len:I // field@0315 │ │ -02515e: 5220 1303 |0005: iget v0, v2, Lip/UDPPacket;.ipHdrlen:I // field@0313 │ │ -025162: b104 |0007: sub-int/2addr v4, v0 │ │ -025164: e004 0410 |0008: shl-int/lit8 v4, v4, #int 16 // #10 │ │ -025168: 2420 9a01 4300 |000a: filled-new-array {v3, v4}, [I // type@019a │ │ -02516e: 0c03 |000d: move-result-object v3 │ │ -025170: 5424 1703 |000e: iget-object v4, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0317 │ │ -025174: 1200 |0010: const/4 v0, #int 0 // #0 │ │ -025176: 6e20 e905 0400 |0011: invoke-virtual {v4, v0}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@05e9 │ │ -02517c: 5424 1703 |0014: iget-object v4, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0317 │ │ -025180: 6e20 ec05 3400 |0016: invoke-virtual {v4, v3}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@05ec │ │ -025186: 1214 |0019: const/4 v4, #int 1 // #1 │ │ -025188: 4400 0304 |001a: aget v0, v3, v4 │ │ -02518c: 7020 9b04 4200 |001c: invoke-direct {v2, v4}, Lip/UDPPacket;.calculateCheckSum:(Z)I // method@049b │ │ -025192: 0a01 |001f: move-result v1 │ │ -025194: b010 |0020: add-int/2addr v0, v1 │ │ -025196: 4b00 0304 |0021: aput v0, v3, v4 │ │ -02519a: 5423 1703 |0023: iget-object v3, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0317 │ │ -02519e: 6e30 eb05 4300 |0025: invoke-virtual {v3, v4, v0}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@05eb │ │ -0251a4: 0e00 |0028: return-void │ │ +025140: |[025140] ip.UDPPacket.updateHeader:(II)V │ │ +025150: e003 0310 |0000: shl-int/lit8 v3, v3, #int 16 // #10 │ │ +025154: b043 |0002: add-int/2addr v3, v4 │ │ +025156: 5224 1503 |0003: iget v4, v2, Lip/UDPPacket;.len:I // field@0315 │ │ +02515a: 5220 1303 |0005: iget v0, v2, Lip/UDPPacket;.ipHdrlen:I // field@0313 │ │ +02515e: b104 |0007: sub-int/2addr v4, v0 │ │ +025160: e004 0410 |0008: shl-int/lit8 v4, v4, #int 16 // #10 │ │ +025164: 2420 9a01 4300 |000a: filled-new-array {v3, v4}, [I // type@019a │ │ +02516a: 0c03 |000d: move-result-object v3 │ │ +02516c: 5424 1703 |000e: iget-object v4, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0317 │ │ +025170: 1200 |0010: const/4 v0, #int 0 // #0 │ │ +025172: 6e20 e905 0400 |0011: invoke-virtual {v4, v0}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@05e9 │ │ +025178: 5424 1703 |0014: iget-object v4, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0317 │ │ +02517c: 6e20 ec05 3400 |0016: invoke-virtual {v4, v3}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@05ec │ │ +025182: 1214 |0019: const/4 v4, #int 1 // #1 │ │ +025184: 4400 0304 |001a: aget v0, v3, v4 │ │ +025188: 7020 9b04 4200 |001c: invoke-direct {v2, v4}, Lip/UDPPacket;.calculateCheckSum:(Z)I // method@049b │ │ +02518e: 0a01 |001f: move-result v1 │ │ +025190: b010 |0020: add-int/2addr v0, v1 │ │ +025192: 4b00 0304 |0021: aput v0, v3, v4 │ │ +025196: 5423 1703 |0023: iget-object v3, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0317 │ │ +02519a: 6e30 eb05 4300 |0025: invoke-virtual {v3, v4, v0}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@05eb │ │ +0251a0: 0e00 |0028: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=51 │ │ 0x000e line=52 │ │ 0x0014 line=53 │ │ 0x001a line=54 │ │ 0x0023 line=55 │ │ @@ -55768,22 +55768,22 @@ │ │ type : '(Lutil/LoggerInterface;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 14 16-bit code units │ │ -0251a8: |[0251a8] util.AsyncBulkLogger.:(Lutil/LoggerInterface;)V │ │ -0251b8: 7010 4f05 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@054f │ │ -0251be: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -0251c0: 5c10 2203 |0004: iput-boolean v0, v1, Lutil/AsyncBulkLogger;.closed:Z // field@0322 │ │ -0251c4: 5c10 2703 |0006: iput-boolean v0, v1, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0327 │ │ -0251c8: 5b12 2303 |0008: iput-object v2, v1, Lutil/AsyncBulkLogger;.out:Lutil/LoggerInterface; // field@0323 │ │ -0251cc: 7010 8e06 0100 |000a: invoke-direct {v1}, Lutil/AsyncBulkLogger;.logOpen:()V // method@068e │ │ -0251d2: 0e00 |000d: return-void │ │ +0251a4: |[0251a4] util.AsyncBulkLogger.:(Lutil/LoggerInterface;)V │ │ +0251b4: 7010 4f05 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@054f │ │ +0251ba: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +0251bc: 5c10 2203 |0004: iput-boolean v0, v1, Lutil/AsyncBulkLogger;.closed:Z // field@0322 │ │ +0251c0: 5c10 2703 |0006: iput-boolean v0, v1, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0327 │ │ +0251c4: 5b12 2303 |0008: iput-object v2, v1, Lutil/AsyncBulkLogger;.out:Lutil/LoggerInterface; // field@0323 │ │ +0251c8: 7010 8e06 0100 |000a: invoke-direct {v1}, Lutil/AsyncBulkLogger;.logOpen:()V // method@068e │ │ +0251ce: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=39 │ │ 0x0004 line=36 │ │ 0x0006 line=37 │ │ 0x0008 line=40 │ │ 0x000a line=41 │ │ @@ -55796,33 +55796,33 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 40 16-bit code units │ │ -02545c: |[02545c] util.AsyncBulkLogger.logOpen:()V │ │ -02546c: 2200 0201 |0000: new-instance v0, Ljava/io/PipedInputStream; // type@0102 │ │ -025470: 1301 0028 |0002: const/16 v1, #int 10240 // #2800 │ │ -025474: 7020 1505 1000 |0004: invoke-direct {v0, v1}, Ljava/io/PipedInputStream;.:(I)V // method@0515 │ │ -02547a: 5b30 2403 |0007: iput-object v0, v3, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ -02547e: 2200 0301 |0009: new-instance v0, Ljava/io/PipedOutputStream; // type@0103 │ │ -025482: 5431 2403 |000b: iget-object v1, v3, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ -025486: 7020 1805 1000 |000d: invoke-direct {v0, v1}, Ljava/io/PipedOutputStream;.:(Ljava/io/PipedInputStream;)V // method@0518 │ │ -02548c: 5b30 2503 |0010: iput-object v0, v3, Lutil/AsyncBulkLogger;.pout:Ljava/io/PipedOutputStream; // field@0325 │ │ -025490: 2200 0401 |0012: new-instance v0, Ljava/io/PrintStream; // type@0104 │ │ -025494: 5431 2503 |0014: iget-object v1, v3, Lutil/AsyncBulkLogger;.pout:Ljava/io/PipedOutputStream; // field@0325 │ │ -025498: 1212 |0016: const/4 v2, #int 1 // #1 │ │ -02549a: 7030 1a05 1002 |0017: invoke-direct {v0, v1, v2}, Ljava/io/PrintStream;.:(Ljava/io/OutputStream;Z)V // method@051a │ │ -0254a0: 5b30 2603 |001a: iput-object v0, v3, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0326 │ │ -0254a4: 2200 2a01 |001c: new-instance v0, Ljava/lang/Thread; // type@012a │ │ -0254a8: 7020 9005 3000 |001e: invoke-direct {v0, v3}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ -0254ae: 6e20 9405 2000 |0021: invoke-virtual {v0, v2}, Ljava/lang/Thread;.setDaemon:(Z)V // method@0594 │ │ -0254b4: 6e10 9605 0000 |0024: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@0596 │ │ -0254ba: 0e00 |0027: return-void │ │ +025458: |[025458] util.AsyncBulkLogger.logOpen:()V │ │ +025468: 2200 0201 |0000: new-instance v0, Ljava/io/PipedInputStream; // type@0102 │ │ +02546c: 1301 0028 |0002: const/16 v1, #int 10240 // #2800 │ │ +025470: 7020 1505 1000 |0004: invoke-direct {v0, v1}, Ljava/io/PipedInputStream;.:(I)V // method@0515 │ │ +025476: 5b30 2403 |0007: iput-object v0, v3, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ +02547a: 2200 0301 |0009: new-instance v0, Ljava/io/PipedOutputStream; // type@0103 │ │ +02547e: 5431 2403 |000b: iget-object v1, v3, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ +025482: 7020 1805 1000 |000d: invoke-direct {v0, v1}, Ljava/io/PipedOutputStream;.:(Ljava/io/PipedInputStream;)V // method@0518 │ │ +025488: 5b30 2503 |0010: iput-object v0, v3, Lutil/AsyncBulkLogger;.pout:Ljava/io/PipedOutputStream; // field@0325 │ │ +02548c: 2200 0401 |0012: new-instance v0, Ljava/io/PrintStream; // type@0104 │ │ +025490: 5431 2503 |0014: iget-object v1, v3, Lutil/AsyncBulkLogger;.pout:Ljava/io/PipedOutputStream; // field@0325 │ │ +025494: 1212 |0016: const/4 v2, #int 1 // #1 │ │ +025496: 7030 1a05 1002 |0017: invoke-direct {v0, v1, v2}, Ljava/io/PrintStream;.:(Ljava/io/OutputStream;Z)V // method@051a │ │ +02549c: 5b30 2603 |001a: iput-object v0, v3, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0326 │ │ +0254a0: 2200 2a01 |001c: new-instance v0, Ljava/lang/Thread; // type@012a │ │ +0254a4: 7020 9005 3000 |001e: invoke-direct {v0, v3}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ +0254aa: 6e20 9405 2000 |0021: invoke-virtual {v0, v2}, Ljava/lang/Thread;.setDaemon:(Z)V // method@0594 │ │ +0254b0: 6e10 9605 0000 |0024: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@0596 │ │ +0254b6: 0e00 |0027: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=49 │ │ 0x0009 line=50 │ │ 0x0012 line=51 │ │ 0x001c line=53 │ │ 0x0021 line=54 │ │ @@ -55836,32 +55836,32 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 27 16-bit code units │ │ -0251d4: |[0251d4] util.AsyncBulkLogger.closeLogger:()V │ │ -0251e4: 5420 2403 |0000: iget-object v0, v2, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ -0251e8: 1d00 |0002: monitor-enter v0 │ │ -0251ea: 1211 |0003: const/4 v1, #int 1 // #1 │ │ -0251ec: 5c21 2203 |0004: iput-boolean v1, v2, Lutil/AsyncBulkLogger;.closed:Z // field@0322 │ │ -0251f0: 5421 2503 |0006: iget-object v1, v2, Lutil/AsyncBulkLogger;.pout:Ljava/io/PipedOutputStream; // field@0325 │ │ -0251f4: 6e10 1905 0100 |0008: invoke-virtual {v1}, Ljava/io/PipedOutputStream;.close:()V // method@0519 │ │ -0251fa: 5421 2403 |000b: iget-object v1, v2, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ -0251fe: 6e10 5305 0100 |000d: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ -025204: 2807 |0010: goto 0017 // +0007 │ │ -025206: 0d01 |0011: move-exception v1 │ │ -025208: 2807 |0012: goto 0019 // +0007 │ │ -02520a: 0d01 |0013: move-exception v1 │ │ -02520c: 6e10 ff04 0100 |0014: invoke-virtual {v1}, Ljava/io/IOException;.printStackTrace:()V // method@04ff │ │ -025212: 1e00 |0017: monitor-exit v0 │ │ -025214: 0e00 |0018: return-void │ │ -025216: 1e00 |0019: monitor-exit v0 │ │ -025218: 2701 |001a: throw v1 │ │ +0251d0: |[0251d0] util.AsyncBulkLogger.closeLogger:()V │ │ +0251e0: 5420 2403 |0000: iget-object v0, v2, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ +0251e4: 1d00 |0002: monitor-enter v0 │ │ +0251e6: 1211 |0003: const/4 v1, #int 1 // #1 │ │ +0251e8: 5c21 2203 |0004: iput-boolean v1, v2, Lutil/AsyncBulkLogger;.closed:Z // field@0322 │ │ +0251ec: 5421 2503 |0006: iget-object v1, v2, Lutil/AsyncBulkLogger;.pout:Ljava/io/PipedOutputStream; // field@0325 │ │ +0251f0: 6e10 1905 0100 |0008: invoke-virtual {v1}, Ljava/io/PipedOutputStream;.close:()V // method@0519 │ │ +0251f6: 5421 2403 |000b: iget-object v1, v2, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ +0251fa: 6e10 5305 0100 |000d: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ +025200: 2807 |0010: goto 0017 // +0007 │ │ +025202: 0d01 |0011: move-exception v1 │ │ +025204: 2807 |0012: goto 0019 // +0007 │ │ +025206: 0d01 |0013: move-exception v1 │ │ +025208: 6e10 ff04 0100 |0014: invoke-virtual {v1}, Ljava/io/IOException;.printStackTrace:()V // method@04ff │ │ +02520e: 1e00 |0017: monitor-exit v0 │ │ +025210: 0e00 |0018: return-void │ │ +025212: 1e00 |0019: monitor-exit v0 │ │ +025214: 2701 |001a: throw v1 │ │ catches : 2 │ │ 0x0004 - 0x0010 │ │ Ljava/io/IOException; -> 0x0013 │ │ -> 0x0011 │ │ 0x0014 - 0x001a │ │ -> 0x0011 │ │ positions : │ │ @@ -55879,17 +55879,17 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -025234: |[025234] util.AsyncBulkLogger.enableTimestamp:(Z)V │ │ -025244: 5c01 2703 |0000: iput-boolean v1, v0, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0327 │ │ -025248: 0e00 |0002: return-void │ │ +025230: |[025230] util.AsyncBulkLogger.enableTimestamp:(Z)V │ │ +025240: 5c01 2703 |0000: iput-boolean v1, v0, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0327 │ │ +025244: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=45 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Lutil/AsyncBulkLogger; │ │ 0x0000 - 0x0003 reg=1 (null) Z │ │ │ │ @@ -55898,45 +55898,45 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 55 16-bit code units │ │ -02524c: |[02524c] util.AsyncBulkLogger.log:(Ljava/lang/String;)V │ │ -02525c: 5450 2603 |0000: iget-object v0, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0326 │ │ -025260: 1d00 |0002: monitor-enter v0 │ │ -025262: 5451 2403 |0003: iget-object v1, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ -025266: 1d01 |0005: monitor-enter v1 │ │ -025268: 5552 2703 |0006: iget-boolean v2, v5, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0327 │ │ -02526c: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ -025270: 5452 2603 |000a: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0326 │ │ -025274: 2203 2801 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -025278: 7010 8305 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -02527e: 7100 9d06 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@069d │ │ -025284: 0c04 |0014: move-result-object v4 │ │ -025286: 6e20 8905 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02528c: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ -025290: 6e20 8905 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -025296: 6e10 8b05 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02529c: 0c03 |0020: move-result-object v3 │ │ -02529e: 6e20 1b05 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@051b │ │ -0252a4: 5452 2603 |0024: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0326 │ │ -0252a8: 6e20 1b05 6200 |0026: invoke-virtual {v2, v6}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@051b │ │ -0252ae: 5456 2403 |0029: iget-object v6, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ -0252b2: 6e10 5305 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ -0252b8: 1e01 |002e: monitor-exit v1 │ │ -0252ba: 1e00 |002f: monitor-exit v0 │ │ -0252bc: 0e00 |0030: return-void │ │ -0252be: 0d06 |0031: move-exception v6 │ │ -0252c0: 1e01 |0032: monitor-exit v1 │ │ -0252c2: 2706 |0033: throw v6 │ │ -0252c4: 0d06 |0034: move-exception v6 │ │ -0252c6: 1e00 |0035: monitor-exit v0 │ │ -0252c8: 2706 |0036: throw v6 │ │ +025248: |[025248] util.AsyncBulkLogger.log:(Ljava/lang/String;)V │ │ +025258: 5450 2603 |0000: iget-object v0, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0326 │ │ +02525c: 1d00 |0002: monitor-enter v0 │ │ +02525e: 5451 2403 |0003: iget-object v1, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ +025262: 1d01 |0005: monitor-enter v1 │ │ +025264: 5552 2703 |0006: iget-boolean v2, v5, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0327 │ │ +025268: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ +02526c: 5452 2603 |000a: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0326 │ │ +025270: 2203 2801 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +025274: 7010 8305 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +02527a: 7100 9d06 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@069d │ │ +025280: 0c04 |0014: move-result-object v4 │ │ +025282: 6e20 8905 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +025288: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ +02528c: 6e20 8905 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +025292: 6e10 8b05 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +025298: 0c03 |0020: move-result-object v3 │ │ +02529a: 6e20 1b05 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@051b │ │ +0252a0: 5452 2603 |0024: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0326 │ │ +0252a4: 6e20 1b05 6200 |0026: invoke-virtual {v2, v6}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@051b │ │ +0252aa: 5456 2403 |0029: iget-object v6, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ +0252ae: 6e10 5305 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ +0252b4: 1e01 |002e: monitor-exit v1 │ │ +0252b6: 1e00 |002f: monitor-exit v0 │ │ +0252b8: 0e00 |0030: return-void │ │ +0252ba: 0d06 |0031: move-exception v6 │ │ +0252bc: 1e01 |0032: monitor-exit v1 │ │ +0252be: 2706 |0033: throw v6 │ │ +0252c0: 0d06 |0034: move-exception v6 │ │ +0252c2: 1e00 |0035: monitor-exit v0 │ │ +0252c4: 2706 |0036: throw v6 │ │ catches : 5 │ │ 0x0003 - 0x0006 │ │ -> 0x0034 │ │ 0x0006 - 0x002f │ │ -> 0x0031 │ │ 0x002f - 0x0030 │ │ -> 0x0034 │ │ @@ -55964,45 +55964,45 @@ │ │ type : '(Ljava/lang/Exception;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 55 16-bit code units │ │ -0252fc: |[0252fc] util.AsyncBulkLogger.logException:(Ljava/lang/Exception;)V │ │ -02530c: 5450 2603 |0000: iget-object v0, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0326 │ │ -025310: 1d00 |0002: monitor-enter v0 │ │ -025312: 5451 2403 |0003: iget-object v1, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ -025316: 1d01 |0005: monitor-enter v1 │ │ -025318: 5552 2703 |0006: iget-boolean v2, v5, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0327 │ │ -02531c: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ -025320: 5452 2603 |000a: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0326 │ │ -025324: 2203 2801 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -025328: 7010 8305 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -02532e: 7100 9d06 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@069d │ │ -025334: 0c04 |0014: move-result-object v4 │ │ -025336: 6e20 8905 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02533c: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ -025340: 6e20 8905 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -025346: 6e10 8b05 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02534c: 0c03 |0020: move-result-object v3 │ │ -02534e: 6e20 1b05 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@051b │ │ -025354: 5452 2603 |0024: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0326 │ │ -025358: 6e20 3905 2600 |0026: invoke-virtual {v6, v2}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintStream;)V // method@0539 │ │ -02535e: 5456 2403 |0029: iget-object v6, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ -025362: 6e10 5305 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ -025368: 1e01 |002e: monitor-exit v1 │ │ -02536a: 1e00 |002f: monitor-exit v0 │ │ -02536c: 0e00 |0030: return-void │ │ -02536e: 0d06 |0031: move-exception v6 │ │ -025370: 1e01 |0032: monitor-exit v1 │ │ -025372: 2706 |0033: throw v6 │ │ -025374: 0d06 |0034: move-exception v6 │ │ -025376: 1e00 |0035: monitor-exit v0 │ │ -025378: 2706 |0036: throw v6 │ │ +0252f8: |[0252f8] util.AsyncBulkLogger.logException:(Ljava/lang/Exception;)V │ │ +025308: 5450 2603 |0000: iget-object v0, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0326 │ │ +02530c: 1d00 |0002: monitor-enter v0 │ │ +02530e: 5451 2403 |0003: iget-object v1, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ +025312: 1d01 |0005: monitor-enter v1 │ │ +025314: 5552 2703 |0006: iget-boolean v2, v5, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0327 │ │ +025318: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ +02531c: 5452 2603 |000a: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0326 │ │ +025320: 2203 2801 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +025324: 7010 8305 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +02532a: 7100 9d06 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@069d │ │ +025330: 0c04 |0014: move-result-object v4 │ │ +025332: 6e20 8905 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +025338: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ +02533c: 6e20 8905 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +025342: 6e10 8b05 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +025348: 0c03 |0020: move-result-object v3 │ │ +02534a: 6e20 1b05 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@051b │ │ +025350: 5452 2603 |0024: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0326 │ │ +025354: 6e20 3905 2600 |0026: invoke-virtual {v6, v2}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintStream;)V // method@0539 │ │ +02535a: 5456 2403 |0029: iget-object v6, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ +02535e: 6e10 5305 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ +025364: 1e01 |002e: monitor-exit v1 │ │ +025366: 1e00 |002f: monitor-exit v0 │ │ +025368: 0e00 |0030: return-void │ │ +02536a: 0d06 |0031: move-exception v6 │ │ +02536c: 1e01 |0032: monitor-exit v1 │ │ +02536e: 2706 |0033: throw v6 │ │ +025370: 0d06 |0034: move-exception v6 │ │ +025372: 1e00 |0035: monitor-exit v0 │ │ +025374: 2706 |0036: throw v6 │ │ catches : 5 │ │ 0x0003 - 0x0006 │ │ -> 0x0034 │ │ 0x0006 - 0x002f │ │ -> 0x0031 │ │ 0x002f - 0x0030 │ │ -> 0x0034 │ │ @@ -56030,45 +56030,45 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 55 16-bit code units │ │ -0253ac: |[0253ac] util.AsyncBulkLogger.logLine:(Ljava/lang/String;)V │ │ -0253bc: 5450 2603 |0000: iget-object v0, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0326 │ │ -0253c0: 1d00 |0002: monitor-enter v0 │ │ -0253c2: 5451 2403 |0003: iget-object v1, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ -0253c6: 1d01 |0005: monitor-enter v1 │ │ -0253c8: 5552 2703 |0006: iget-boolean v2, v5, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0327 │ │ -0253cc: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ -0253d0: 5452 2603 |000a: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0326 │ │ -0253d4: 2203 2801 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -0253d8: 7010 8305 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -0253de: 7100 9d06 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@069d │ │ -0253e4: 0c04 |0014: move-result-object v4 │ │ -0253e6: 6e20 8905 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0253ec: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ -0253f0: 6e20 8905 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0253f6: 6e10 8b05 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0253fc: 0c03 |0020: move-result-object v3 │ │ -0253fe: 6e20 1b05 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@051b │ │ -025404: 5452 2603 |0024: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0326 │ │ -025408: 6e20 1c05 6200 |0026: invoke-virtual {v2, v6}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@051c │ │ -02540e: 5456 2403 |0029: iget-object v6, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ -025412: 6e10 5305 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ -025418: 1e01 |002e: monitor-exit v1 │ │ -02541a: 1e00 |002f: monitor-exit v0 │ │ -02541c: 0e00 |0030: return-void │ │ -02541e: 0d06 |0031: move-exception v6 │ │ -025420: 1e01 |0032: monitor-exit v1 │ │ -025422: 2706 |0033: throw v6 │ │ -025424: 0d06 |0034: move-exception v6 │ │ -025426: 1e00 |0035: monitor-exit v0 │ │ -025428: 2706 |0036: throw v6 │ │ +0253a8: |[0253a8] util.AsyncBulkLogger.logLine:(Ljava/lang/String;)V │ │ +0253b8: 5450 2603 |0000: iget-object v0, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0326 │ │ +0253bc: 1d00 |0002: monitor-enter v0 │ │ +0253be: 5451 2403 |0003: iget-object v1, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ +0253c2: 1d01 |0005: monitor-enter v1 │ │ +0253c4: 5552 2703 |0006: iget-boolean v2, v5, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0327 │ │ +0253c8: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ +0253cc: 5452 2603 |000a: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0326 │ │ +0253d0: 2203 2801 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +0253d4: 7010 8305 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +0253da: 7100 9d06 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@069d │ │ +0253e0: 0c04 |0014: move-result-object v4 │ │ +0253e2: 6e20 8905 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0253e8: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ +0253ec: 6e20 8905 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0253f2: 6e10 8b05 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0253f8: 0c03 |0020: move-result-object v3 │ │ +0253fa: 6e20 1b05 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@051b │ │ +025400: 5452 2603 |0024: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0326 │ │ +025404: 6e20 1c05 6200 |0026: invoke-virtual {v2, v6}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@051c │ │ +02540a: 5456 2403 |0029: iget-object v6, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ +02540e: 6e10 5305 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ +025414: 1e01 |002e: monitor-exit v1 │ │ +025416: 1e00 |002f: monitor-exit v0 │ │ +025418: 0e00 |0030: return-void │ │ +02541a: 0d06 |0031: move-exception v6 │ │ +02541c: 1e01 |0032: monitor-exit v1 │ │ +02541e: 2706 |0033: throw v6 │ │ +025420: 0d06 |0034: move-exception v6 │ │ +025422: 1e00 |0035: monitor-exit v0 │ │ +025424: 2706 |0036: throw v6 │ │ catches : 5 │ │ 0x0003 - 0x0006 │ │ -> 0x0034 │ │ 0x0006 - 0x002f │ │ -> 0x0031 │ │ 0x002f - 0x0030 │ │ -> 0x0034 │ │ @@ -56096,24 +56096,24 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 13 16-bit code units │ │ -0254bc: |[0254bc] util.AsyncBulkLogger.message:(Ljava/lang/String;)V │ │ -0254cc: 5420 2403 |0000: iget-object v0, v2, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ -0254d0: 1d00 |0002: monitor-enter v0 │ │ -0254d2: 5421 2303 |0003: iget-object v1, v2, Lutil/AsyncBulkLogger;.out:Lutil/LoggerInterface; // field@0323 │ │ -0254d6: 7220 0e07 3100 |0005: invoke-interface {v1, v3}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ -0254dc: 1e00 |0008: monitor-exit v0 │ │ -0254de: 0e00 |0009: return-void │ │ -0254e0: 0d03 |000a: move-exception v3 │ │ -0254e2: 1e00 |000b: monitor-exit v0 │ │ -0254e4: 2703 |000c: throw v3 │ │ +0254b8: |[0254b8] util.AsyncBulkLogger.message:(Ljava/lang/String;)V │ │ +0254c8: 5420 2403 |0000: iget-object v0, v2, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ +0254cc: 1d00 |0002: monitor-enter v0 │ │ +0254ce: 5421 2303 |0003: iget-object v1, v2, Lutil/AsyncBulkLogger;.out:Lutil/LoggerInterface; // field@0323 │ │ +0254d2: 7220 0e07 3100 |0005: invoke-interface {v1, v3}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ +0254d8: 1e00 |0008: monitor-exit v0 │ │ +0254da: 0e00 |0009: return-void │ │ +0254dc: 0d03 |000a: move-exception v3 │ │ +0254de: 1e00 |000b: monitor-exit v0 │ │ +0254e0: 2703 |000c: throw v3 │ │ catches : 1 │ │ 0x0003 - 0x000c │ │ -> 0x000a │ │ positions : │ │ 0x0000 line=109 │ │ 0x0003 line=110 │ │ 0x0008 line=111 │ │ @@ -56126,55 +56126,55 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 71 16-bit code units │ │ -0254f4: |[0254f4] util.AsyncBulkLogger.run:()V │ │ -025504: 1300 0010 |0000: const/16 v0, #int 4096 // #1000 │ │ -025508: 2300 9901 |0002: new-array v0, v0, [B // type@0199 │ │ -02550c: 1201 |0004: const/4 v1, #int 0 // #0 │ │ -02550e: 1202 |0005: const/4 v2, #int 0 // #0 │ │ -025510: 5553 2203 |0006: iget-boolean v3, v5, Lutil/AsyncBulkLogger;.closed:Z // field@0322 │ │ -025514: 3903 3e00 |0008: if-nez v3, 0046 // +003e │ │ -025518: 5453 2403 |000a: iget-object v3, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ -02551c: 1d03 |000c: monitor-enter v3 │ │ -02551e: 5454 2403 |000d: iget-object v4, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ -025522: 6e10 1605 0400 |000f: invoke-virtual {v4}, Ljava/io/PipedInputStream;.available:()I // method@0516 │ │ -025528: 0a04 |0012: move-result v4 │ │ -02552a: 3c04 1100 |0013: if-gtz v4, 0024 // +0011 │ │ -02552e: 5554 2203 |0015: iget-boolean v4, v5, Lutil/AsyncBulkLogger;.closed:Z // field@0322 │ │ -025532: 3904 0d00 |0017: if-nez v4, 0024 // +000d │ │ -025536: 5454 2403 |0019: iget-object v4, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ -02553a: 6e10 5505 0400 |001b: invoke-virtual {v4}, Ljava/lang/Object;.wait:()V // method@0555 │ │ -025540: 28ef |001e: goto 000d // -0011 │ │ -025542: 0d04 |001f: move-exception v4 │ │ -025544: 6e10 4505 0400 |0020: invoke-virtual {v4}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@0545 │ │ -02554a: 28ea |0023: goto 000d // -0016 │ │ -02554c: 5554 2203 |0024: iget-boolean v4, v5, Lutil/AsyncBulkLogger;.closed:Z // field@0322 │ │ -025550: 3904 0800 |0026: if-nez v4, 002e // +0008 │ │ -025554: 5454 2403 |0028: iget-object v4, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ -025558: 6e20 1705 0400 |002a: invoke-virtual {v4, v0}, Ljava/io/PipedInputStream;.read:([B)I // method@0517 │ │ -02555e: 0a02 |002d: move-result v2 │ │ -025560: 1e03 |002e: monitor-exit v3 │ │ -025562: 5553 2203 |002f: iget-boolean v3, v5, Lutil/AsyncBulkLogger;.closed:Z // field@0322 │ │ -025566: 3903 d5ff |0031: if-nez v3, 0006 // -002b │ │ -02556a: 5453 2303 |0033: iget-object v3, v5, Lutil/AsyncBulkLogger;.out:Lutil/LoggerInterface; // field@0323 │ │ -02556e: 2204 2601 |0035: new-instance v4, Ljava/lang/String; // type@0126 │ │ -025572: 7040 6205 0421 |0037: invoke-direct {v4, v0, v1, v2}, Ljava/lang/String;.:([BII)V // method@0562 │ │ -025578: 7220 0b07 4300 |003a: invoke-interface {v3, v4}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@070b │ │ -02557e: 28c9 |003d: goto 0006 // -0037 │ │ -025580: 0d04 |003e: move-exception v4 │ │ -025582: 1e03 |003f: monitor-exit v3 │ │ -025584: 2704 |0040: throw v4 │ │ -025586: 0d03 |0041: move-exception v3 │ │ -025588: 6e10 3805 0300 |0042: invoke-virtual {v3}, Ljava/lang/Exception;.printStackTrace:()V // method@0538 │ │ -02558e: 28c1 |0045: goto 0006 // -003f │ │ -025590: 0e00 |0046: return-void │ │ +0254f0: |[0254f0] util.AsyncBulkLogger.run:()V │ │ +025500: 1300 0010 |0000: const/16 v0, #int 4096 // #1000 │ │ +025504: 2300 9901 |0002: new-array v0, v0, [B // type@0199 │ │ +025508: 1201 |0004: const/4 v1, #int 0 // #0 │ │ +02550a: 1202 |0005: const/4 v2, #int 0 // #0 │ │ +02550c: 5553 2203 |0006: iget-boolean v3, v5, Lutil/AsyncBulkLogger;.closed:Z // field@0322 │ │ +025510: 3903 3e00 |0008: if-nez v3, 0046 // +003e │ │ +025514: 5453 2403 |000a: iget-object v3, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ +025518: 1d03 |000c: monitor-enter v3 │ │ +02551a: 5454 2403 |000d: iget-object v4, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ +02551e: 6e10 1605 0400 |000f: invoke-virtual {v4}, Ljava/io/PipedInputStream;.available:()I // method@0516 │ │ +025524: 0a04 |0012: move-result v4 │ │ +025526: 3c04 1100 |0013: if-gtz v4, 0024 // +0011 │ │ +02552a: 5554 2203 |0015: iget-boolean v4, v5, Lutil/AsyncBulkLogger;.closed:Z // field@0322 │ │ +02552e: 3904 0d00 |0017: if-nez v4, 0024 // +000d │ │ +025532: 5454 2403 |0019: iget-object v4, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ +025536: 6e10 5505 0400 |001b: invoke-virtual {v4}, Ljava/lang/Object;.wait:()V // method@0555 │ │ +02553c: 28ef |001e: goto 000d // -0011 │ │ +02553e: 0d04 |001f: move-exception v4 │ │ +025540: 6e10 4505 0400 |0020: invoke-virtual {v4}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@0545 │ │ +025546: 28ea |0023: goto 000d // -0016 │ │ +025548: 5554 2203 |0024: iget-boolean v4, v5, Lutil/AsyncBulkLogger;.closed:Z // field@0322 │ │ +02554c: 3904 0800 |0026: if-nez v4, 002e // +0008 │ │ +025550: 5454 2403 |0028: iget-object v4, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0324 │ │ +025554: 6e20 1705 0400 |002a: invoke-virtual {v4, v0}, Ljava/io/PipedInputStream;.read:([B)I // method@0517 │ │ +02555a: 0a02 |002d: move-result v2 │ │ +02555c: 1e03 |002e: monitor-exit v3 │ │ +02555e: 5553 2203 |002f: iget-boolean v3, v5, Lutil/AsyncBulkLogger;.closed:Z // field@0322 │ │ +025562: 3903 d5ff |0031: if-nez v3, 0006 // -002b │ │ +025566: 5453 2303 |0033: iget-object v3, v5, Lutil/AsyncBulkLogger;.out:Lutil/LoggerInterface; // field@0323 │ │ +02556a: 2204 2601 |0035: new-instance v4, Ljava/lang/String; // type@0126 │ │ +02556e: 7040 6205 0421 |0037: invoke-direct {v4, v0, v1, v2}, Ljava/lang/String;.:([BII)V // method@0562 │ │ +025574: 7220 0b07 4300 |003a: invoke-interface {v3, v4}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@070b │ │ +02557a: 28c9 |003d: goto 0006 // -0037 │ │ +02557c: 0d04 |003e: move-exception v4 │ │ +02557e: 1e03 |003f: monitor-exit v3 │ │ +025580: 2704 |0040: throw v4 │ │ +025582: 0d03 |0041: move-exception v3 │ │ +025584: 6e10 3805 0300 |0042: invoke-virtual {v3}, Ljava/lang/Exception;.printStackTrace:()V // method@0538 │ │ +02558a: 28c1 |0045: goto 0006 // -003f │ │ +02558c: 0e00 |0046: return-void │ │ catches : 7 │ │ 0x000a - 0x000d │ │ Ljava/lang/Exception; -> 0x0041 │ │ 0x000d - 0x0017 │ │ -> 0x003e │ │ 0x0019 - 0x001e │ │ Ljava/lang/InterruptedException; -> 0x001f │ │ @@ -56273,21 +56273,21 @@ │ │ type : '(Lutil/LoggerInterface;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 12 16-bit code units │ │ -0255d8: |[0255d8] util.AsyncLogger.:(Lutil/LoggerInterface;)V │ │ -0255e8: 7010 4f05 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@054f │ │ -0255ee: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -0255f0: 5c10 2c03 |0004: iput-boolean v0, v1, Lutil/AsyncLogger;.closed:Z // field@032c │ │ -0255f4: 5b12 2d03 |0006: iput-object v2, v1, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032d │ │ -0255f8: 7010 9606 0100 |0008: invoke-direct {v1}, Lutil/AsyncLogger;.logOpen:()V // method@0696 │ │ -0255fe: 0e00 |000b: return-void │ │ +0255d4: |[0255d4] util.AsyncLogger.:(Lutil/LoggerInterface;)V │ │ +0255e4: 7010 4f05 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@054f │ │ +0255ea: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +0255ec: 5c10 2c03 |0004: iput-boolean v0, v1, Lutil/AsyncLogger;.closed:Z // field@032c │ │ +0255f0: 5b12 2d03 |0006: iput-object v2, v1, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032d │ │ +0255f4: 7010 9606 0100 |0008: invoke-direct {v1}, Lutil/AsyncLogger;.logOpen:()V // method@0696 │ │ +0255fa: 0e00 |000b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=44 │ │ 0x0004 line=42 │ │ 0x0006 line=45 │ │ 0x0008 line=46 │ │ locals : │ │ @@ -56299,31 +56299,31 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 36 16-bit code units │ │ -0257e0: |[0257e0] util.AsyncLogger.logOpen:()V │ │ -0257f0: 2200 0201 |0000: new-instance v0, Ljava/io/PipedInputStream; // type@0102 │ │ -0257f4: 1301 0028 |0002: const/16 v1, #int 10240 // #2800 │ │ -0257f8: 7020 1505 1000 |0004: invoke-direct {v0, v1}, Ljava/io/PipedInputStream;.:(I)V // method@0515 │ │ -0257fe: 5b30 2e03 |0007: iput-object v0, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ -025802: 2200 f400 |0009: new-instance v0, Ljava/io/DataOutputStream; // type@00f4 │ │ -025806: 2201 0301 |000b: new-instance v1, Ljava/io/PipedOutputStream; // type@0103 │ │ -02580a: 5432 2e03 |000d: iget-object v2, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ -02580e: 7020 1805 2100 |000f: invoke-direct {v1, v2}, Ljava/io/PipedOutputStream;.:(Ljava/io/PipedInputStream;)V // method@0518 │ │ -025814: 7020 d004 1000 |0012: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04d0 │ │ -02581a: 5b30 2f03 |0015: iput-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032f │ │ -02581e: 2200 2a01 |0017: new-instance v0, Ljava/lang/Thread; // type@012a │ │ -025822: 7020 9005 3000 |0019: invoke-direct {v0, v3}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ -025828: 1211 |001c: const/4 v1, #int 1 // #1 │ │ -02582a: 6e20 9405 1000 |001d: invoke-virtual {v0, v1}, Ljava/lang/Thread;.setDaemon:(Z)V // method@0594 │ │ -025830: 6e10 9605 0000 |0020: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@0596 │ │ -025836: 0e00 |0023: return-void │ │ +0257dc: |[0257dc] util.AsyncLogger.logOpen:()V │ │ +0257ec: 2200 0201 |0000: new-instance v0, Ljava/io/PipedInputStream; // type@0102 │ │ +0257f0: 1301 0028 |0002: const/16 v1, #int 10240 // #2800 │ │ +0257f4: 7020 1505 1000 |0004: invoke-direct {v0, v1}, Ljava/io/PipedInputStream;.:(I)V // method@0515 │ │ +0257fa: 5b30 2e03 |0007: iput-object v0, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ +0257fe: 2200 f400 |0009: new-instance v0, Ljava/io/DataOutputStream; // type@00f4 │ │ +025802: 2201 0301 |000b: new-instance v1, Ljava/io/PipedOutputStream; // type@0103 │ │ +025806: 5432 2e03 |000d: iget-object v2, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ +02580a: 7020 1805 2100 |000f: invoke-direct {v1, v2}, Ljava/io/PipedOutputStream;.:(Ljava/io/PipedInputStream;)V // method@0518 │ │ +025810: 7020 d004 1000 |0012: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04d0 │ │ +025816: 5b30 2f03 |0015: iput-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032f │ │ +02581a: 2200 2a01 |0017: new-instance v0, Ljava/lang/Thread; // type@012a │ │ +02581e: 7020 9005 3000 |0019: invoke-direct {v0, v3}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ +025824: 1211 |001c: const/4 v1, #int 1 // #1 │ │ +025826: 6e20 9405 1000 |001d: invoke-virtual {v0, v1}, Ljava/lang/Thread;.setDaemon:(Z)V // method@0594 │ │ +02582c: 6e10 9605 0000 |0020: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@0596 │ │ +025832: 0e00 |0023: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=52 │ │ 0x0009 line=53 │ │ 0x0017 line=56 │ │ 0x001d line=57 │ │ 0x0020 line=58 │ │ @@ -56335,28 +56335,28 @@ │ │ type : '(I[B)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 2 │ │ insns size : 27 16-bit code units │ │ -025a38: |[025a38] util.AsyncLogger.writeLog:(I[B)V │ │ -025a48: 5410 2f03 |0000: iget-object v0, v1, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032f │ │ -025a4c: 6e20 d804 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04d8 │ │ -025a52: 5412 2f03 |0005: iget-object v2, v1, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032f │ │ -025a56: 2130 |0007: array-length v0, v3 │ │ -025a58: 6e20 d604 0200 |0008: invoke-virtual {v2, v0}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04d6 │ │ -025a5e: 5412 2f03 |000b: iget-object v2, v1, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032f │ │ -025a62: 6e20 d304 3200 |000d: invoke-virtual {v2, v3}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ -025a68: 5412 2f03 |0010: iget-object v2, v1, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032f │ │ -025a6c: 6e10 d204 0200 |0012: invoke-virtual {v2}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ -025a72: 2805 |0015: goto 001a // +0005 │ │ -025a74: 0d02 |0016: move-exception v2 │ │ -025a76: 6e10 ff04 0200 |0017: invoke-virtual {v2}, Ljava/io/IOException;.printStackTrace:()V // method@04ff │ │ -025a7c: 0e00 |001a: return-void │ │ +025a34: |[025a34] util.AsyncLogger.writeLog:(I[B)V │ │ +025a44: 5410 2f03 |0000: iget-object v0, v1, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032f │ │ +025a48: 6e20 d804 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04d8 │ │ +025a4e: 5412 2f03 |0005: iget-object v2, v1, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032f │ │ +025a52: 2130 |0007: array-length v0, v3 │ │ +025a54: 6e20 d604 0200 |0008: invoke-virtual {v2, v0}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04d6 │ │ +025a5a: 5412 2f03 |000b: iget-object v2, v1, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032f │ │ +025a5e: 6e20 d304 3200 |000d: invoke-virtual {v2, v3}, Ljava/io/DataOutputStream;.write:([B)V // method@04d3 │ │ +025a64: 5412 2f03 |0010: iget-object v2, v1, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032f │ │ +025a68: 6e10 d204 0200 |0012: invoke-virtual {v2}, Ljava/io/DataOutputStream;.flush:()V // method@04d2 │ │ +025a6e: 2805 |0015: goto 001a // +0005 │ │ +025a70: 0d02 |0016: move-exception v2 │ │ +025a72: 6e10 ff04 0200 |0017: invoke-virtual {v2}, Ljava/io/IOException;.printStackTrace:()V // method@04ff │ │ +025a78: 0e00 |001a: return-void │ │ catches : 1 │ │ 0x0000 - 0x0015 │ │ Ljava/io/IOException; -> 0x0016 │ │ positions : │ │ 0x0000 line=76 │ │ 0x0005 line=77 │ │ 0x000b line=78 │ │ @@ -56373,32 +56373,32 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 27 16-bit code units │ │ -025600: |[025600] util.AsyncLogger.closeLogger:()V │ │ -025610: 5420 2e03 |0000: iget-object v0, v2, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ -025614: 1d00 |0002: monitor-enter v0 │ │ -025616: 1211 |0003: const/4 v1, #int 1 // #1 │ │ -025618: 5c21 2c03 |0004: iput-boolean v1, v2, Lutil/AsyncLogger;.closed:Z // field@032c │ │ -02561c: 5421 2f03 |0006: iget-object v1, v2, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032f │ │ -025620: 6e10 d104 0100 |0008: invoke-virtual {v1}, Ljava/io/DataOutputStream;.close:()V // method@04d1 │ │ -025626: 5421 2e03 |000b: iget-object v1, v2, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ -02562a: 6e10 5305 0100 |000d: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ -025630: 2807 |0010: goto 0017 // +0007 │ │ -025632: 0d01 |0011: move-exception v1 │ │ -025634: 2807 |0012: goto 0019 // +0007 │ │ -025636: 0d01 |0013: move-exception v1 │ │ -025638: 6e10 ff04 0100 |0014: invoke-virtual {v1}, Ljava/io/IOException;.printStackTrace:()V // method@04ff │ │ -02563e: 1e00 |0017: monitor-exit v0 │ │ -025640: 0e00 |0018: return-void │ │ -025642: 1e00 |0019: monitor-exit v0 │ │ -025644: 2701 |001a: throw v1 │ │ +0255fc: |[0255fc] util.AsyncLogger.closeLogger:()V │ │ +02560c: 5420 2e03 |0000: iget-object v0, v2, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ +025610: 1d00 |0002: monitor-enter v0 │ │ +025612: 1211 |0003: const/4 v1, #int 1 // #1 │ │ +025614: 5c21 2c03 |0004: iput-boolean v1, v2, Lutil/AsyncLogger;.closed:Z // field@032c │ │ +025618: 5421 2f03 |0006: iget-object v1, v2, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032f │ │ +02561c: 6e10 d104 0100 |0008: invoke-virtual {v1}, Ljava/io/DataOutputStream;.close:()V // method@04d1 │ │ +025622: 5421 2e03 |000b: iget-object v1, v2, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ +025626: 6e10 5305 0100 |000d: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ +02562c: 2807 |0010: goto 0017 // +0007 │ │ +02562e: 0d01 |0011: move-exception v1 │ │ +025630: 2807 |0012: goto 0019 // +0007 │ │ +025632: 0d01 |0013: move-exception v1 │ │ +025634: 6e10 ff04 0100 |0014: invoke-virtual {v1}, Ljava/io/IOException;.printStackTrace:()V // method@04ff │ │ +02563a: 1e00 |0017: monitor-exit v0 │ │ +02563c: 0e00 |0018: return-void │ │ +02563e: 1e00 |0019: monitor-exit v0 │ │ +025640: 2701 |001a: throw v1 │ │ catches : 2 │ │ 0x0004 - 0x0010 │ │ Ljava/io/IOException; -> 0x0013 │ │ -> 0x0011 │ │ 0x0014 - 0x001a │ │ -> 0x0011 │ │ positions : │ │ @@ -56416,34 +56416,34 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 28 16-bit code units │ │ -025660: |[025660] util.AsyncLogger.log:(Ljava/lang/String;)V │ │ -025670: 5430 2f03 |0000: iget-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032f │ │ -025674: 1d00 |0002: monitor-enter v0 │ │ -025676: 5431 2e03 |0003: iget-object v1, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ -02567a: 1d01 |0005: monitor-enter v1 │ │ -02567c: 6e10 6905 0400 |0006: invoke-virtual {v4}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -025682: 0c04 |0009: move-result-object v4 │ │ -025684: 1212 |000a: const/4 v2, #int 1 // #1 │ │ -025686: 7030 9906 2304 |000b: invoke-direct {v3, v2, v4}, Lutil/AsyncLogger;.writeLog:(I[B)V // method@0699 │ │ -02568c: 5434 2e03 |000e: iget-object v4, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ -025690: 6e10 5305 0400 |0010: invoke-virtual {v4}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ -025696: 1e01 |0013: monitor-exit v1 │ │ -025698: 1e00 |0014: monitor-exit v0 │ │ -02569a: 0e00 |0015: return-void │ │ -02569c: 0d04 |0016: move-exception v4 │ │ -02569e: 1e01 |0017: monitor-exit v1 │ │ -0256a0: 2704 |0018: throw v4 │ │ -0256a2: 0d04 |0019: move-exception v4 │ │ -0256a4: 1e00 |001a: monitor-exit v0 │ │ -0256a6: 2704 |001b: throw v4 │ │ +02565c: |[02565c] util.AsyncLogger.log:(Ljava/lang/String;)V │ │ +02566c: 5430 2f03 |0000: iget-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032f │ │ +025670: 1d00 |0002: monitor-enter v0 │ │ +025672: 5431 2e03 |0003: iget-object v1, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ +025676: 1d01 |0005: monitor-enter v1 │ │ +025678: 6e10 6905 0400 |0006: invoke-virtual {v4}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +02567e: 0c04 |0009: move-result-object v4 │ │ +025680: 1212 |000a: const/4 v2, #int 1 // #1 │ │ +025682: 7030 9906 2304 |000b: invoke-direct {v3, v2, v4}, Lutil/AsyncLogger;.writeLog:(I[B)V // method@0699 │ │ +025688: 5434 2e03 |000e: iget-object v4, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ +02568c: 6e10 5305 0400 |0010: invoke-virtual {v4}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ +025692: 1e01 |0013: monitor-exit v1 │ │ +025694: 1e00 |0014: monitor-exit v0 │ │ +025696: 0e00 |0015: return-void │ │ +025698: 0d04 |0016: move-exception v4 │ │ +02569a: 1e01 |0017: monitor-exit v1 │ │ +02569c: 2704 |0018: throw v4 │ │ +02569e: 0d04 |0019: move-exception v4 │ │ +0256a0: 1e00 |001a: monitor-exit v0 │ │ +0256a2: 2704 |001b: throw v4 │ │ catches : 5 │ │ 0x0003 - 0x0006 │ │ -> 0x0019 │ │ 0x0006 - 0x0014 │ │ -> 0x0016 │ │ 0x0014 - 0x0015 │ │ -> 0x0019 │ │ @@ -56469,37 +56469,37 @@ │ │ type : '(Ljava/lang/Exception;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 33 16-bit code units │ │ -0256d8: |[0256d8] util.AsyncLogger.logException:(Ljava/lang/Exception;)V │ │ -0256e8: 7110 7c07 0400 |0000: invoke-static {v4}, Lutil/Utils;.serializeObject:(Ljava/lang/Object;)[B // method@077c │ │ -0256ee: 0c04 |0003: move-result-object v4 │ │ -0256f0: 5430 2f03 |0004: iget-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032f │ │ -0256f4: 1d00 |0006: monitor-enter v0 │ │ -0256f6: 5431 2e03 |0007: iget-object v1, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ -0256fa: 1d01 |0009: monitor-enter v1 │ │ -0256fc: 1242 |000a: const/4 v2, #int 4 // #4 │ │ -0256fe: 7030 9906 2304 |000b: invoke-direct {v3, v2, v4}, Lutil/AsyncLogger;.writeLog:(I[B)V // method@0699 │ │ -025704: 5434 2e03 |000e: iget-object v4, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ -025708: 6e10 5305 0400 |0010: invoke-virtual {v4}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ -02570e: 1e01 |0013: monitor-exit v1 │ │ -025710: 1e00 |0014: monitor-exit v0 │ │ -025712: 0e00 |0015: return-void │ │ -025714: 0d04 |0016: move-exception v4 │ │ -025716: 1e01 |0017: monitor-exit v1 │ │ -025718: 2704 |0018: throw v4 │ │ -02571a: 0d04 |0019: move-exception v4 │ │ -02571c: 1e00 |001a: monitor-exit v0 │ │ -02571e: 2704 |001b: throw v4 │ │ -025720: 0d04 |001c: move-exception v4 │ │ -025722: 6e10 ff04 0400 |001d: invoke-virtual {v4}, Ljava/io/IOException;.printStackTrace:()V // method@04ff │ │ -025728: 0e00 |0020: return-void │ │ +0256d4: |[0256d4] util.AsyncLogger.logException:(Ljava/lang/Exception;)V │ │ +0256e4: 7110 7c07 0400 |0000: invoke-static {v4}, Lutil/Utils;.serializeObject:(Ljava/lang/Object;)[B // method@077c │ │ +0256ea: 0c04 |0003: move-result-object v4 │ │ +0256ec: 5430 2f03 |0004: iget-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032f │ │ +0256f0: 1d00 |0006: monitor-enter v0 │ │ +0256f2: 5431 2e03 |0007: iget-object v1, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ +0256f6: 1d01 |0009: monitor-enter v1 │ │ +0256f8: 1242 |000a: const/4 v2, #int 4 // #4 │ │ +0256fa: 7030 9906 2304 |000b: invoke-direct {v3, v2, v4}, Lutil/AsyncLogger;.writeLog:(I[B)V // method@0699 │ │ +025700: 5434 2e03 |000e: iget-object v4, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ +025704: 6e10 5305 0400 |0010: invoke-virtual {v4}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ +02570a: 1e01 |0013: monitor-exit v1 │ │ +02570c: 1e00 |0014: monitor-exit v0 │ │ +02570e: 0e00 |0015: return-void │ │ +025710: 0d04 |0016: move-exception v4 │ │ +025712: 1e01 |0017: monitor-exit v1 │ │ +025714: 2704 |0018: throw v4 │ │ +025716: 0d04 |0019: move-exception v4 │ │ +025718: 1e00 |001a: monitor-exit v0 │ │ +02571a: 2704 |001b: throw v4 │ │ +02571c: 0d04 |001c: move-exception v4 │ │ +02571e: 6e10 ff04 0400 |001d: invoke-virtual {v4}, Ljava/io/IOException;.printStackTrace:()V // method@04ff │ │ +025724: 0e00 |0020: return-void │ │ catches : 6 │ │ 0x0000 - 0x0004 │ │ Ljava/io/IOException; -> 0x001c │ │ 0x0007 - 0x000a │ │ -> 0x0019 │ │ 0x000b - 0x0014 │ │ -> 0x0016 │ │ @@ -56529,34 +56529,34 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 28 16-bit code units │ │ -025768: |[025768] util.AsyncLogger.logLine:(Ljava/lang/String;)V │ │ -025778: 5430 2f03 |0000: iget-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032f │ │ -02577c: 1d00 |0002: monitor-enter v0 │ │ -02577e: 5431 2e03 |0003: iget-object v1, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ -025782: 1d01 |0005: monitor-enter v1 │ │ -025784: 6e10 6905 0400 |0006: invoke-virtual {v4}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -02578a: 0c04 |0009: move-result-object v4 │ │ -02578c: 1222 |000a: const/4 v2, #int 2 // #2 │ │ -02578e: 7030 9906 2304 |000b: invoke-direct {v3, v2, v4}, Lutil/AsyncLogger;.writeLog:(I[B)V // method@0699 │ │ -025794: 5434 2e03 |000e: iget-object v4, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ -025798: 6e10 5305 0400 |0010: invoke-virtual {v4}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ -02579e: 1e01 |0013: monitor-exit v1 │ │ -0257a0: 1e00 |0014: monitor-exit v0 │ │ -0257a2: 0e00 |0015: return-void │ │ -0257a4: 0d04 |0016: move-exception v4 │ │ -0257a6: 1e01 |0017: monitor-exit v1 │ │ -0257a8: 2704 |0018: throw v4 │ │ -0257aa: 0d04 |0019: move-exception v4 │ │ -0257ac: 1e00 |001a: monitor-exit v0 │ │ -0257ae: 2704 |001b: throw v4 │ │ +025764: |[025764] util.AsyncLogger.logLine:(Ljava/lang/String;)V │ │ +025774: 5430 2f03 |0000: iget-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032f │ │ +025778: 1d00 |0002: monitor-enter v0 │ │ +02577a: 5431 2e03 |0003: iget-object v1, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ +02577e: 1d01 |0005: monitor-enter v1 │ │ +025780: 6e10 6905 0400 |0006: invoke-virtual {v4}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +025786: 0c04 |0009: move-result-object v4 │ │ +025788: 1222 |000a: const/4 v2, #int 2 // #2 │ │ +02578a: 7030 9906 2304 |000b: invoke-direct {v3, v2, v4}, Lutil/AsyncLogger;.writeLog:(I[B)V // method@0699 │ │ +025790: 5434 2e03 |000e: iget-object v4, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ +025794: 6e10 5305 0400 |0010: invoke-virtual {v4}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ +02579a: 1e01 |0013: monitor-exit v1 │ │ +02579c: 1e00 |0014: monitor-exit v0 │ │ +02579e: 0e00 |0015: return-void │ │ +0257a0: 0d04 |0016: move-exception v4 │ │ +0257a2: 1e01 |0017: monitor-exit v1 │ │ +0257a4: 2704 |0018: throw v4 │ │ +0257a6: 0d04 |0019: move-exception v4 │ │ +0257a8: 1e00 |001a: monitor-exit v0 │ │ +0257aa: 2704 |001b: throw v4 │ │ catches : 5 │ │ 0x0003 - 0x0006 │ │ -> 0x0019 │ │ 0x0006 - 0x0014 │ │ -> 0x0016 │ │ 0x0014 - 0x0015 │ │ -> 0x0019 │ │ @@ -56582,34 +56582,34 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 28 16-bit code units │ │ -025838: |[025838] util.AsyncLogger.message:(Ljava/lang/String;)V │ │ -025848: 5430 2f03 |0000: iget-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032f │ │ -02584c: 1d00 |0002: monitor-enter v0 │ │ -02584e: 5431 2e03 |0003: iget-object v1, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ -025852: 1d01 |0005: monitor-enter v1 │ │ -025854: 6e10 6905 0400 |0006: invoke-virtual {v4}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -02585a: 0c04 |0009: move-result-object v4 │ │ -02585c: 1232 |000a: const/4 v2, #int 3 // #3 │ │ -02585e: 7030 9906 2304 |000b: invoke-direct {v3, v2, v4}, Lutil/AsyncLogger;.writeLog:(I[B)V // method@0699 │ │ -025864: 5434 2e03 |000e: iget-object v4, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ -025868: 6e10 5305 0400 |0010: invoke-virtual {v4}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ -02586e: 1e01 |0013: monitor-exit v1 │ │ -025870: 1e00 |0014: monitor-exit v0 │ │ -025872: 0e00 |0015: return-void │ │ -025874: 0d04 |0016: move-exception v4 │ │ -025876: 1e01 |0017: monitor-exit v1 │ │ -025878: 2704 |0018: throw v4 │ │ -02587a: 0d04 |0019: move-exception v4 │ │ -02587c: 1e00 |001a: monitor-exit v0 │ │ -02587e: 2704 |001b: throw v4 │ │ +025834: |[025834] util.AsyncLogger.message:(Ljava/lang/String;)V │ │ +025844: 5430 2f03 |0000: iget-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032f │ │ +025848: 1d00 |0002: monitor-enter v0 │ │ +02584a: 5431 2e03 |0003: iget-object v1, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ +02584e: 1d01 |0005: monitor-enter v1 │ │ +025850: 6e10 6905 0400 |0006: invoke-virtual {v4}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +025856: 0c04 |0009: move-result-object v4 │ │ +025858: 1232 |000a: const/4 v2, #int 3 // #3 │ │ +02585a: 7030 9906 2304 |000b: invoke-direct {v3, v2, v4}, Lutil/AsyncLogger;.writeLog:(I[B)V // method@0699 │ │ +025860: 5434 2e03 |000e: iget-object v4, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ +025864: 6e10 5305 0400 |0010: invoke-virtual {v4}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ +02586a: 1e01 |0013: monitor-exit v1 │ │ +02586c: 1e00 |0014: monitor-exit v0 │ │ +02586e: 0e00 |0015: return-void │ │ +025870: 0d04 |0016: move-exception v4 │ │ +025872: 1e01 |0017: monitor-exit v1 │ │ +025874: 2704 |0018: throw v4 │ │ +025876: 0d04 |0019: move-exception v4 │ │ +025878: 1e00 |001a: monitor-exit v0 │ │ +02587a: 2704 |001b: throw v4 │ │ catches : 5 │ │ 0x0003 - 0x0006 │ │ -> 0x0019 │ │ 0x0006 - 0x0014 │ │ -> 0x0016 │ │ 0x0014 - 0x0015 │ │ -> 0x0019 │ │ @@ -56635,93 +56635,93 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 152 16-bit code units │ │ -0258b0: |[0258b0] util.AsyncLogger.run:()V │ │ -0258c0: 2200 f300 |0000: new-instance v0, Ljava/io/DataInputStream; // type@00f3 │ │ -0258c4: 5451 2e03 |0002: iget-object v1, v5, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ -0258c8: 7020 c904 1000 |0004: invoke-direct {v0, v1}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04c9 │ │ -0258ce: 5551 2c03 |0007: iget-boolean v1, v5, Lutil/AsyncLogger;.closed:Z // field@032c │ │ -0258d2: 3901 8e00 |0009: if-nez v1, 0097 // +008e │ │ -0258d6: 5451 2e03 |000b: iget-object v1, v5, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ -0258da: 1d01 |000d: monitor-enter v1 │ │ -0258dc: 5452 2e03 |000e: iget-object v2, v5, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ -0258e0: 6e10 1605 0200 |0010: invoke-virtual {v2}, Ljava/io/PipedInputStream;.available:()I // method@0516 │ │ -0258e6: 0a02 |0013: move-result v2 │ │ -0258e8: 3c02 1100 |0014: if-gtz v2, 0025 // +0011 │ │ -0258ec: 5552 2c03 |0016: iget-boolean v2, v5, Lutil/AsyncLogger;.closed:Z // field@032c │ │ -0258f0: 3902 0d00 |0018: if-nez v2, 0025 // +000d │ │ -0258f4: 5452 2e03 |001a: iget-object v2, v5, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ -0258f8: 6e10 5505 0200 |001c: invoke-virtual {v2}, Ljava/lang/Object;.wait:()V // method@0555 │ │ -0258fe: 28ef |001f: goto 000e // -0011 │ │ -025900: 0d02 |0020: move-exception v2 │ │ -025902: 6e10 4505 0200 |0021: invoke-virtual {v2}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@0545 │ │ -025908: 28ea |0024: goto 000e // -0016 │ │ -02590a: 5552 2c03 |0025: iget-boolean v2, v5, Lutil/AsyncLogger;.closed:Z // field@032c │ │ -02590e: 3802 0400 |0027: if-eqz v2, 002b // +0004 │ │ -025912: 1e01 |0029: monitor-exit v1 │ │ -025914: 286d |002a: goto 0097 // +006d │ │ -025916: 6e10 cf04 0000 |002b: invoke-virtual {v0}, Ljava/io/DataInputStream;.readShort:()S // method@04cf │ │ -02591c: 0a02 |002e: move-result v2 │ │ -02591e: 6e10 cd04 0000 |002f: invoke-virtual {v0}, Ljava/io/DataInputStream;.readInt:()I // method@04cd │ │ -025924: 0a03 |0032: move-result v3 │ │ -025926: 2333 9901 |0033: new-array v3, v3, [B // type@0199 │ │ -02592a: 6e20 cb04 3000 |0035: invoke-virtual {v0, v3}, Ljava/io/DataInputStream;.readFully:([B)V // method@04cb │ │ -025930: 1e01 |0038: monitor-exit v1 │ │ -025932: 1211 |0039: const/4 v1, #int 1 // #1 │ │ -025934: 3212 4400 |003a: if-eq v2, v1, 007e // +0044 │ │ -025938: 1221 |003c: const/4 v1, #int 2 // #2 │ │ -02593a: 3212 3600 |003d: if-eq v2, v1, 0073 // +0036 │ │ -02593e: 1231 |003f: const/4 v1, #int 3 // #3 │ │ -025940: 3212 2800 |0040: if-eq v2, v1, 0068 // +0028 │ │ -025944: 1241 |0042: const/4 v1, #int 4 // #4 │ │ -025946: 3312 0e00 |0043: if-ne v2, v1, 0051 // +000e │ │ -02594a: 5451 2d03 |0045: iget-object v1, v5, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032d │ │ -02594e: 7110 7007 0300 |0047: invoke-static {v3}, Lutil/Utils;.deserializeObject:([B)Ljava/lang/Object; // method@0770 │ │ -025954: 0c02 |004a: move-result-object v2 │ │ -025956: 1f02 1601 |004b: check-cast v2, Ljava/lang/Exception; // type@0116 │ │ -02595a: 7220 0c07 2100 |004d: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -025960: 28b7 |0050: goto 0007 // -0049 │ │ -025962: 2201 fb00 |0051: new-instance v1, Ljava/io/IOException; // type@00fb │ │ -025966: 2203 2801 |0053: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -02596a: 7010 8305 0300 |0055: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -025970: 1a04 8804 |0058: const-string v4, "Unknown log Msg type: " // string@0488 │ │ -025974: 6e20 8905 4300 |005a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02597a: 6e20 8605 2300 |005d: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -025980: 6e10 8b05 0300 |0060: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -025986: 0c02 |0063: move-result-object v2 │ │ -025988: 7020 fb04 2100 |0064: invoke-direct {v1, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -02598e: 2701 |0067: throw v1 │ │ -025990: 5451 2d03 |0068: iget-object v1, v5, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032d │ │ -025994: 2202 2601 |006a: new-instance v2, Ljava/lang/String; // type@0126 │ │ -025998: 7020 6105 3200 |006c: invoke-direct {v2, v3}, Ljava/lang/String;.:([B)V // method@0561 │ │ -02599e: 7220 0e07 2100 |006f: invoke-interface {v1, v2}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ -0259a4: 2895 |0072: goto 0007 // -006b │ │ -0259a6: 5451 2d03 |0073: iget-object v1, v5, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032d │ │ -0259aa: 2202 2601 |0075: new-instance v2, Ljava/lang/String; // type@0126 │ │ -0259ae: 7020 6105 3200 |0077: invoke-direct {v2, v3}, Ljava/lang/String;.:([B)V // method@0561 │ │ -0259b4: 7220 0d07 2100 |007a: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -0259ba: 288a |007d: goto 0007 // -0076 │ │ -0259bc: 5451 2d03 |007e: iget-object v1, v5, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032d │ │ -0259c0: 2202 2601 |0080: new-instance v2, Ljava/lang/String; // type@0126 │ │ -0259c4: 7020 6105 3200 |0082: invoke-direct {v2, v3}, Ljava/lang/String;.:([B)V // method@0561 │ │ -0259ca: 7220 0b07 2100 |0085: invoke-interface {v1, v2}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@070b │ │ -0259d0: 2900 7fff |0088: goto/16 0007 // -0081 │ │ -0259d4: 0d02 |008a: move-exception v2 │ │ -0259d6: 1e01 |008b: monitor-exit v1 │ │ -0259d8: 2702 |008c: throw v2 │ │ -0259da: 0d01 |008d: move-exception v1 │ │ -0259dc: 5552 2c03 |008e: iget-boolean v2, v5, Lutil/AsyncLogger;.closed:Z // field@032c │ │ -0259e0: 3902 77ff |0090: if-nez v2, 0007 // -0089 │ │ -0259e4: 6e10 3805 0100 |0092: invoke-virtual {v1}, Ljava/lang/Exception;.printStackTrace:()V // method@0538 │ │ -0259ea: 2900 72ff |0095: goto/16 0007 // -008e │ │ -0259ee: 0e00 |0097: return-void │ │ +0258ac: |[0258ac] util.AsyncLogger.run:()V │ │ +0258bc: 2200 f300 |0000: new-instance v0, Ljava/io/DataInputStream; // type@00f3 │ │ +0258c0: 5451 2e03 |0002: iget-object v1, v5, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ +0258c4: 7020 c904 1000 |0004: invoke-direct {v0, v1}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04c9 │ │ +0258ca: 5551 2c03 |0007: iget-boolean v1, v5, Lutil/AsyncLogger;.closed:Z // field@032c │ │ +0258ce: 3901 8e00 |0009: if-nez v1, 0097 // +008e │ │ +0258d2: 5451 2e03 |000b: iget-object v1, v5, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ +0258d6: 1d01 |000d: monitor-enter v1 │ │ +0258d8: 5452 2e03 |000e: iget-object v2, v5, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ +0258dc: 6e10 1605 0200 |0010: invoke-virtual {v2}, Ljava/io/PipedInputStream;.available:()I // method@0516 │ │ +0258e2: 0a02 |0013: move-result v2 │ │ +0258e4: 3c02 1100 |0014: if-gtz v2, 0025 // +0011 │ │ +0258e8: 5552 2c03 |0016: iget-boolean v2, v5, Lutil/AsyncLogger;.closed:Z // field@032c │ │ +0258ec: 3902 0d00 |0018: if-nez v2, 0025 // +000d │ │ +0258f0: 5452 2e03 |001a: iget-object v2, v5, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032e │ │ +0258f4: 6e10 5505 0200 |001c: invoke-virtual {v2}, Ljava/lang/Object;.wait:()V // method@0555 │ │ +0258fa: 28ef |001f: goto 000e // -0011 │ │ +0258fc: 0d02 |0020: move-exception v2 │ │ +0258fe: 6e10 4505 0200 |0021: invoke-virtual {v2}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@0545 │ │ +025904: 28ea |0024: goto 000e // -0016 │ │ +025906: 5552 2c03 |0025: iget-boolean v2, v5, Lutil/AsyncLogger;.closed:Z // field@032c │ │ +02590a: 3802 0400 |0027: if-eqz v2, 002b // +0004 │ │ +02590e: 1e01 |0029: monitor-exit v1 │ │ +025910: 286d |002a: goto 0097 // +006d │ │ +025912: 6e10 cf04 0000 |002b: invoke-virtual {v0}, Ljava/io/DataInputStream;.readShort:()S // method@04cf │ │ +025918: 0a02 |002e: move-result v2 │ │ +02591a: 6e10 cd04 0000 |002f: invoke-virtual {v0}, Ljava/io/DataInputStream;.readInt:()I // method@04cd │ │ +025920: 0a03 |0032: move-result v3 │ │ +025922: 2333 9901 |0033: new-array v3, v3, [B // type@0199 │ │ +025926: 6e20 cb04 3000 |0035: invoke-virtual {v0, v3}, Ljava/io/DataInputStream;.readFully:([B)V // method@04cb │ │ +02592c: 1e01 |0038: monitor-exit v1 │ │ +02592e: 1211 |0039: const/4 v1, #int 1 // #1 │ │ +025930: 3212 4400 |003a: if-eq v2, v1, 007e // +0044 │ │ +025934: 1221 |003c: const/4 v1, #int 2 // #2 │ │ +025936: 3212 3600 |003d: if-eq v2, v1, 0073 // +0036 │ │ +02593a: 1231 |003f: const/4 v1, #int 3 // #3 │ │ +02593c: 3212 2800 |0040: if-eq v2, v1, 0068 // +0028 │ │ +025940: 1241 |0042: const/4 v1, #int 4 // #4 │ │ +025942: 3312 0e00 |0043: if-ne v2, v1, 0051 // +000e │ │ +025946: 5451 2d03 |0045: iget-object v1, v5, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032d │ │ +02594a: 7110 7007 0300 |0047: invoke-static {v3}, Lutil/Utils;.deserializeObject:([B)Ljava/lang/Object; // method@0770 │ │ +025950: 0c02 |004a: move-result-object v2 │ │ +025952: 1f02 1601 |004b: check-cast v2, Ljava/lang/Exception; // type@0116 │ │ +025956: 7220 0c07 2100 |004d: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +02595c: 28b7 |0050: goto 0007 // -0049 │ │ +02595e: 2201 fb00 |0051: new-instance v1, Ljava/io/IOException; // type@00fb │ │ +025962: 2203 2801 |0053: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +025966: 7010 8305 0300 |0055: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +02596c: 1a04 8804 |0058: const-string v4, "Unknown log Msg type: " // string@0488 │ │ +025970: 6e20 8905 4300 |005a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +025976: 6e20 8605 2300 |005d: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +02597c: 6e10 8b05 0300 |0060: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +025982: 0c02 |0063: move-result-object v2 │ │ +025984: 7020 fb04 2100 |0064: invoke-direct {v1, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +02598a: 2701 |0067: throw v1 │ │ +02598c: 5451 2d03 |0068: iget-object v1, v5, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032d │ │ +025990: 2202 2601 |006a: new-instance v2, Ljava/lang/String; // type@0126 │ │ +025994: 7020 6105 3200 |006c: invoke-direct {v2, v3}, Ljava/lang/String;.:([B)V // method@0561 │ │ +02599a: 7220 0e07 2100 |006f: invoke-interface {v1, v2}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ +0259a0: 2895 |0072: goto 0007 // -006b │ │ +0259a2: 5451 2d03 |0073: iget-object v1, v5, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032d │ │ +0259a6: 2202 2601 |0075: new-instance v2, Ljava/lang/String; // type@0126 │ │ +0259aa: 7020 6105 3200 |0077: invoke-direct {v2, v3}, Ljava/lang/String;.:([B)V // method@0561 │ │ +0259b0: 7220 0d07 2100 |007a: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +0259b6: 288a |007d: goto 0007 // -0076 │ │ +0259b8: 5451 2d03 |007e: iget-object v1, v5, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032d │ │ +0259bc: 2202 2601 |0080: new-instance v2, Ljava/lang/String; // type@0126 │ │ +0259c0: 7020 6105 3200 |0082: invoke-direct {v2, v3}, Ljava/lang/String;.:([B)V // method@0561 │ │ +0259c6: 7220 0b07 2100 |0085: invoke-interface {v1, v2}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@070b │ │ +0259cc: 2900 7fff |0088: goto/16 0007 // -0081 │ │ +0259d0: 0d02 |008a: move-exception v2 │ │ +0259d2: 1e01 |008b: monitor-exit v1 │ │ +0259d4: 2702 |008c: throw v2 │ │ +0259d6: 0d01 |008d: move-exception v1 │ │ +0259d8: 5552 2c03 |008e: iget-boolean v2, v5, Lutil/AsyncLogger;.closed:Z // field@032c │ │ +0259dc: 3902 77ff |0090: if-nez v2, 0007 // -0089 │ │ +0259e0: 6e10 3805 0100 |0092: invoke-virtual {v1}, Ljava/lang/Exception;.printStackTrace:()V // method@0538 │ │ +0259e6: 2900 72ff |0095: goto/16 0007 // -008e │ │ +0259ea: 0e00 |0097: return-void │ │ catches : 7 │ │ 0x000b - 0x000e │ │ Ljava/lang/Exception; -> 0x008d │ │ 0x000e - 0x0018 │ │ -> 0x008a │ │ 0x001a - 0x001f │ │ Ljava/lang/InterruptedException; -> 0x0020 │ │ @@ -56800,36 +56800,36 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -02620c: |[02620c] util.ExecutionEnvironment.:()V │ │ -02621c: 2200 7b01 |0000: new-instance v0, Lutil/ExecutionEnvironment; // type@017b │ │ -026220: 7010 ab06 0000 |0002: invoke-direct {v0}, Lutil/ExecutionEnvironment;.:()V // method@06ab │ │ -026226: 6900 3f03 |0005: sput-object v0, Lutil/ExecutionEnvironment;.m_default:Lutil/ExecutionEnvironmentInterface; // field@033f │ │ -02622a: 0e00 |0007: return-void │ │ +026208: |[026208] util.ExecutionEnvironment.:()V │ │ +026218: 2200 7b01 |0000: new-instance v0, Lutil/ExecutionEnvironment; // type@017b │ │ +02621c: 7010 ab06 0000 |0002: invoke-direct {v0}, Lutil/ExecutionEnvironment;.:()V // method@06ab │ │ +026222: 6900 3f03 |0005: sput-object v0, Lutil/ExecutionEnvironment;.m_default:Lutil/ExecutionEnvironmentInterface; // field@033f │ │ +026226: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=32 │ │ locals : │ │ │ │ #1 : (in Lutil/ExecutionEnvironment;) │ │ name : '' │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -02622c: |[02622c] util.ExecutionEnvironment.:()V │ │ -02623c: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -026242: 0e00 |0003: return-void │ │ +026228: |[026228] util.ExecutionEnvironment.:()V │ │ +026238: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +02623e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=29 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lutil/ExecutionEnvironment; │ │ │ │ #2 : (in Lutil/ExecutionEnvironment;) │ │ @@ -56837,20 +56837,20 @@ │ │ type : '()Lutil/ExecutionEnvironmentInterface;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 8 16-bit code units │ │ -0261ec: |[0261ec] util.ExecutionEnvironment.getEnvironment:()Lutil/ExecutionEnvironmentInterface; │ │ -0261fc: 6200 3e03 |0000: sget-object v0, Lutil/ExecutionEnvironment;.m_Env:Lutil/ExecutionEnvironmentInterface; // field@033e │ │ -026200: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ -026204: 1100 |0004: return-object v0 │ │ -026206: 6200 3f03 |0005: sget-object v0, Lutil/ExecutionEnvironment;.m_default:Lutil/ExecutionEnvironmentInterface; // field@033f │ │ -02620a: 1100 |0007: return-object v0 │ │ +0261e8: |[0261e8] util.ExecutionEnvironment.getEnvironment:()Lutil/ExecutionEnvironmentInterface; │ │ +0261f8: 6200 3e03 |0000: sget-object v0, Lutil/ExecutionEnvironment;.m_Env:Lutil/ExecutionEnvironmentInterface; // field@033e │ │ +0261fc: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ +026200: 1100 |0004: return-object v0 │ │ +026202: 6200 3f03 |0005: sget-object v0, Lutil/ExecutionEnvironment;.m_default:Lutil/ExecutionEnvironmentInterface; // field@033f │ │ +026206: 1100 |0007: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=40 │ │ 0x0005 line=43 │ │ locals : │ │ │ │ #3 : (in Lutil/ExecutionEnvironment;) │ │ @@ -56858,17 +56858,17 @@ │ │ type : '(Lutil/ExecutionEnvironmentInterface;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -026294: |[026294] util.ExecutionEnvironment.setEnvironment:(Lutil/ExecutionEnvironmentInterface;)V │ │ -0262a4: 6900 3e03 |0000: sput-object v0, Lutil/ExecutionEnvironment;.m_Env:Lutil/ExecutionEnvironmentInterface; // field@033e │ │ -0262a8: 0e00 |0002: return-void │ │ +026290: |[026290] util.ExecutionEnvironment.setEnvironment:(Lutil/ExecutionEnvironmentInterface;)V │ │ +0262a0: 6900 3e03 |0000: sput-object v0, Lutil/ExecutionEnvironment;.m_Env:Lutil/ExecutionEnvironmentInterface; // field@033e │ │ +0262a4: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=36 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lutil/ExecutionEnvironmentInterface; │ │ │ │ Virtual methods - │ │ @@ -56877,35 +56877,35 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 2 16-bit code units │ │ -02613c: |[02613c] util.ExecutionEnvironment.debug:()Z │ │ -02614c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02614e: 0f00 |0001: return v0 │ │ +026138: |[026138] util.ExecutionEnvironment.debug:()Z │ │ +026148: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02614a: 0f00 |0001: return v0 │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #1 : (in Lutil/ExecutionEnvironment;) │ │ name : 'getAsset' │ │ type : '(Ljava/lang/String;)Ljava/io/InputStream;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 8 16-bit code units │ │ -02618c: |[02618c] util.ExecutionEnvironment.getAsset:(Ljava/lang/String;)Ljava/io/InputStream; │ │ -02619c: 2202 fb00 |0000: new-instance v2, Ljava/io/IOException; // type@00fb │ │ -0261a0: 1a00 f703 |0002: const-string v0, "Not supported!" // string@03f7 │ │ -0261a4: 7020 fb04 0200 |0004: invoke-direct {v2, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -0261aa: 2702 |0007: throw v2 │ │ +026188: |[026188] util.ExecutionEnvironment.getAsset:(Ljava/lang/String;)Ljava/io/InputStream; │ │ +026198: 2202 fb00 |0000: new-instance v2, Ljava/io/IOException; // type@00fb │ │ +02619c: 1a00 f703 |0002: const-string v0, "Not supported!" // string@03f7 │ │ +0261a0: 7020 fb04 0200 |0004: invoke-direct {v2, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +0261a6: 2702 |0007: throw v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=88 │ │ locals : │ │ 0x0000 - 0x0008 reg=1 this Lutil/ExecutionEnvironment; │ │ 0x0000 - 0x0008 reg=2 (null) Ljava/lang/String; │ │ │ │ @@ -56914,35 +56914,35 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 2 16-bit code units │ │ -026178: |[026178] util.ExecutionEnvironment.getEnvironmentID:()I │ │ -026188: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02618a: 0f00 |0001: return v0 │ │ +026174: |[026174] util.ExecutionEnvironment.getEnvironmentID:()I │ │ +026184: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +026186: 0f00 |0001: return v0 │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #3 : (in Lutil/ExecutionEnvironment;) │ │ name : 'getEnvironmentVersion' │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -0261ac: |[0261ac] util.ExecutionEnvironment.getEnvironmentVersion:()Ljava/lang/String; │ │ -0261bc: 1a00 7908 |0000: const-string v0, "java.version" // string@0879 │ │ -0261c0: 7110 8f05 0000 |0002: invoke-static {v0}, Ljava/lang/System;.getProperty:(Ljava/lang/String;)Ljava/lang/String; // method@058f │ │ -0261c6: 0c00 |0005: move-result-object v0 │ │ -0261c8: 1100 |0006: return-object v0 │ │ +0261a8: |[0261a8] util.ExecutionEnvironment.getEnvironmentVersion:()Ljava/lang/String; │ │ +0261b8: 1a00 7908 |0000: const-string v0, "java.version" // string@0879 │ │ +0261bc: 7110 8f05 0000 |0002: invoke-static {v0}, Ljava/lang/System;.getProperty:(Ljava/lang/String;)Ljava/lang/String; // method@058f │ │ +0261c2: 0c00 |0005: move-result-object v0 │ │ +0261c4: 1100 |0006: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=54 │ │ locals : │ │ 0x0000 - 0x0007 reg=1 this Lutil/ExecutionEnvironment; │ │ │ │ #4 : (in Lutil/ExecutionEnvironment;) │ │ @@ -56950,19 +56950,19 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -0261cc: |[0261cc] util.ExecutionEnvironment.getWorkDir:()Ljava/lang/String; │ │ -0261dc: 1a00 580b |0000: const-string v0, "user.dir" // string@0b58 │ │ -0261e0: 7110 8f05 0000 |0002: invoke-static {v0}, Ljava/lang/System;.getProperty:(Ljava/lang/String;)Ljava/lang/String; // method@058f │ │ -0261e6: 0c00 |0005: move-result-object v0 │ │ -0261e8: 1100 |0006: return-object v0 │ │ +0261c8: |[0261c8] util.ExecutionEnvironment.getWorkDir:()Ljava/lang/String; │ │ +0261d8: 1a00 580b |0000: const-string v0, "user.dir" // string@0b58 │ │ +0261dc: 7110 8f05 0000 |0002: invoke-static {v0}, Ljava/lang/System;.getProperty:(Ljava/lang/String;)Ljava/lang/String; // method@058f │ │ +0261e2: 0c00 |0005: move-result-object v0 │ │ +0261e4: 1100 |0006: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=75 │ │ locals : │ │ 0x0000 - 0x0007 reg=1 this Lutil/ExecutionEnvironment; │ │ │ │ #5 : (in Lutil/ExecutionEnvironment;) │ │ @@ -56970,108 +56970,108 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 2 16-bit code units │ │ -026150: |[026150] util.ExecutionEnvironment.hasNetwork:()Z │ │ -026160: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -026162: 0f00 |0001: return v0 │ │ +02614c: |[02614c] util.ExecutionEnvironment.hasNetwork:()Z │ │ +02615c: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +02615e: 0f00 |0001: return v0 │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #6 : (in Lutil/ExecutionEnvironment;) │ │ name : 'migrateConfig' │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -026244: |[026244] util.ExecutionEnvironment.migrateConfig:()V │ │ -026254: 0e00 |0000: return-void │ │ +026240: |[026240] util.ExecutionEnvironment.migrateConfig:()V │ │ +026250: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #7 : (in Lutil/ExecutionEnvironment;) │ │ name : 'onReload' │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -026258: |[026258] util.ExecutionEnvironment.onReload:()V │ │ -026268: 0e00 |0000: return-void │ │ +026254: |[026254] util.ExecutionEnvironment.onReload:()V │ │ +026264: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #8 : (in Lutil/ExecutionEnvironment;) │ │ name : 'protectSocket' │ │ type : '(Ljava/lang/Object;I)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 0 │ │ insns size : 2 16-bit code units │ │ -026164: |[026164] util.ExecutionEnvironment.protectSocket:(Ljava/lang/Object;I)Z │ │ -026174: 1211 |0000: const/4 v1, #int 1 // #1 │ │ -026176: 0f01 |0001: return v1 │ │ +026160: |[026160] util.ExecutionEnvironment.protectSocket:(Ljava/lang/Object;I)Z │ │ +026170: 1211 |0000: const/4 v1, #int 1 // #1 │ │ +026172: 0f01 |0001: return v1 │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #9 : (in Lutil/ExecutionEnvironment;) │ │ name : 'releaseAllWakeLocks' │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -02626c: |[02626c] util.ExecutionEnvironment.releaseAllWakeLocks:()V │ │ -02627c: 0e00 |0000: return-void │ │ +026268: |[026268] util.ExecutionEnvironment.releaseAllWakeLocks:()V │ │ +026278: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #10 : (in Lutil/ExecutionEnvironment;) │ │ name : 'releaseWakeLock' │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -026280: |[026280] util.ExecutionEnvironment.releaseWakeLock:()V │ │ -026290: 0e00 |0000: return-void │ │ +02627c: |[02627c] util.ExecutionEnvironment.releaseWakeLock:()V │ │ +02628c: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #11 : (in Lutil/ExecutionEnvironment;) │ │ name : 'wakeLock' │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -0262ac: |[0262ac] util.ExecutionEnvironment.wakeLock:()V │ │ -0262bc: 0e00 |0000: return-void │ │ +0262a8: |[0262a8] util.ExecutionEnvironment.wakeLock:()V │ │ +0262b8: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ source_file_idx : 410 (ExecutionEnvironment.java) │ │ │ │ Class #144 header: │ │ @@ -57159,48 +57159,48 @@ │ │ type : '(Ljava/lang/String;Ljava/lang/String;JILjava/lang/String;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 10 │ │ ins : 7 │ │ outs : 2 │ │ insns size : 68 16-bit code units │ │ -0263c8: |[0263c8] util.FileLogger.:(Ljava/lang/String;Ljava/lang/String;JILjava/lang/String;)V │ │ -0263d8: 7010 4f05 0300 |0000: invoke-direct {v3}, Ljava/lang/Object;.:()V // method@054f │ │ -0263de: 1600 0000 |0003: const-wide/16 v0, #int 0 // #0 │ │ -0263e2: 5a30 4203 |0005: iput-wide v0, v3, Lutil/FileLogger;.curSlotSize:J // field@0342 │ │ -0263e6: 1200 |0007: const/4 v0, #int 0 // #0 │ │ -0263e8: 5930 4103 |0008: iput v0, v3, Lutil/FileLogger;.curSlot:I // field@0341 │ │ -0263ec: 1201 |000a: const/4 v1, #int 0 // #0 │ │ -0263ee: 5b31 4303 |000b: iput-object v1, v3, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0343 │ │ -0263f2: 5c30 4003 |000d: iput-boolean v0, v3, Lutil/FileLogger;.closed:Z // field@0340 │ │ -0263f6: 5c30 4c03 |000f: iput-boolean v0, v3, Lutil/FileLogger;.timeStampEnabled:Z // field@034c │ │ -0263fa: 1600 0100 |0011: const-wide/16 v0, #int 1 // #1 │ │ -0263fe: 3102 0600 |0013: cmp-long v2, v6, v0 │ │ -026402: 3a02 2700 |0015: if-ltz v2, 003c // +0027 │ │ -026406: 1210 |0017: const/4 v0, #int 1 // #1 │ │ -026408: 3408 2400 |0018: if-lt v8, v0, 003c // +0024 │ │ -02640c: 2200 2801 |001a: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ -026410: 7010 8305 0000 |001c: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -026416: 6e20 8905 4000 |001f: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02641c: 1a04 6000 |0022: const-string v4, "/" // string@0060 │ │ -026420: 6e20 8905 4000 |0024: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -026426: 6e20 8905 5000 |0027: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02642c: 6e10 8b05 0000 |002a: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -026432: 0c04 |002d: move-result-object v4 │ │ -026434: 5b34 4503 |002e: iput-object v4, v3, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0345 │ │ -026438: 5b35 4603 |0030: iput-object v5, v3, Lutil/FileLogger;.name:Ljava/lang/String; // field@0346 │ │ -02643c: 5a36 4b03 |0032: iput-wide v6, v3, Lutil/FileLogger;.slotSize:J // field@034b │ │ -026440: 5938 4a03 |0034: iput v8, v3, Lutil/FileLogger;.slotCount:I // field@034a │ │ -026444: 5b39 4403 |0036: iput-object v9, v3, Lutil/FileLogger;.header:Ljava/lang/String; // field@0344 │ │ -026448: 7010 cd06 0300 |0038: invoke-direct {v3}, Lutil/FileLogger;.logOpen:()V // method@06cd │ │ -02644e: 0e00 |003b: return-void │ │ -026450: 2204 1701 |003c: new-instance v4, Ljava/lang/IllegalArgumentException; // type@0117 │ │ -026454: 1a05 ca0a |003e: const-string v5, "slotSize and slotCount must not be less than 1" // string@0aca │ │ -026458: 7020 3c05 5400 |0040: invoke-direct {v4, v5}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@053c │ │ -02645e: 2704 |0043: throw v4 │ │ +0263c4: |[0263c4] util.FileLogger.:(Ljava/lang/String;Ljava/lang/String;JILjava/lang/String;)V │ │ +0263d4: 7010 4f05 0300 |0000: invoke-direct {v3}, Ljava/lang/Object;.:()V // method@054f │ │ +0263da: 1600 0000 |0003: const-wide/16 v0, #int 0 // #0 │ │ +0263de: 5a30 4203 |0005: iput-wide v0, v3, Lutil/FileLogger;.curSlotSize:J // field@0342 │ │ +0263e2: 1200 |0007: const/4 v0, #int 0 // #0 │ │ +0263e4: 5930 4103 |0008: iput v0, v3, Lutil/FileLogger;.curSlot:I // field@0341 │ │ +0263e8: 1201 |000a: const/4 v1, #int 0 // #0 │ │ +0263ea: 5b31 4303 |000b: iput-object v1, v3, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0343 │ │ +0263ee: 5c30 4003 |000d: iput-boolean v0, v3, Lutil/FileLogger;.closed:Z // field@0340 │ │ +0263f2: 5c30 4c03 |000f: iput-boolean v0, v3, Lutil/FileLogger;.timeStampEnabled:Z // field@034c │ │ +0263f6: 1600 0100 |0011: const-wide/16 v0, #int 1 // #1 │ │ +0263fa: 3102 0600 |0013: cmp-long v2, v6, v0 │ │ +0263fe: 3a02 2700 |0015: if-ltz v2, 003c // +0027 │ │ +026402: 1210 |0017: const/4 v0, #int 1 // #1 │ │ +026404: 3408 2400 |0018: if-lt v8, v0, 003c // +0024 │ │ +026408: 2200 2801 |001a: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ +02640c: 7010 8305 0000 |001c: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +026412: 6e20 8905 4000 |001f: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +026418: 1a04 6000 |0022: const-string v4, "/" // string@0060 │ │ +02641c: 6e20 8905 4000 |0024: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +026422: 6e20 8905 5000 |0027: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +026428: 6e10 8b05 0000 |002a: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02642e: 0c04 |002d: move-result-object v4 │ │ +026430: 5b34 4503 |002e: iput-object v4, v3, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0345 │ │ +026434: 5b35 4603 |0030: iput-object v5, v3, Lutil/FileLogger;.name:Ljava/lang/String; // field@0346 │ │ +026438: 5a36 4b03 |0032: iput-wide v6, v3, Lutil/FileLogger;.slotSize:J // field@034b │ │ +02643c: 5938 4a03 |0034: iput v8, v3, Lutil/FileLogger;.slotCount:I // field@034a │ │ +026440: 5b39 4403 |0036: iput-object v9, v3, Lutil/FileLogger;.header:Ljava/lang/String; // field@0344 │ │ +026444: 7010 cd06 0300 |0038: invoke-direct {v3}, Lutil/FileLogger;.logOpen:()V // method@06cd │ │ +02644a: 0e00 |003b: return-void │ │ +02644c: 2204 1701 |003c: new-instance v4, Ljava/lang/IllegalArgumentException; // type@0117 │ │ +026450: 1a05 ca0a |003e: const-string v5, "slotSize and slotCount must not be less than 1" // string@0aca │ │ +026454: 7020 3c05 5400 |0040: invoke-direct {v4, v5}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@053c │ │ +02645a: 2704 |0043: throw v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=49 │ │ 0x0005 line=40 │ │ 0x0008 line=41 │ │ 0x000b line=42 │ │ 0x000d line=46 │ │ @@ -57225,71 +57225,71 @@ │ │ type : '()Ljava/io/OutputStream;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 123 16-bit code units │ │ -0262c0: |[0262c0] util.FileLogger.getOutputStream:()Ljava/io/OutputStream; │ │ -0262d0: 5350 4203 |0000: iget-wide v0, v5, Lutil/FileLogger;.curSlotSize:J // field@0342 │ │ -0262d4: 5352 4b03 |0002: iget-wide v2, v5, Lutil/FileLogger;.slotSize:J // field@034b │ │ -0262d8: 3104 0002 |0004: cmp-long v4, v0, v2 │ │ -0262dc: 3b04 0500 |0006: if-gez v4, 000b // +0005 │ │ -0262e0: 5450 4303 |0008: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0343 │ │ -0262e4: 1100 |000a: return-object v0 │ │ -0262e6: 5450 4303 |000b: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0343 │ │ -0262ea: 6e10 1005 0000 |000d: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ -0262f0: 5450 4303 |0010: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0343 │ │ -0262f4: 6e10 0f05 0000 |0012: invoke-virtual {v0}, Ljava/io/OutputStream;.close:()V // method@050f │ │ -0262fa: 5250 4103 |0015: iget v0, v5, Lutil/FileLogger;.curSlot:I // field@0341 │ │ -0262fe: d800 0001 |0017: add-int/lit8 v0, v0, #int 1 // #01 │ │ -026302: 5251 4a03 |0019: iget v1, v5, Lutil/FileLogger;.slotCount:I // field@034a │ │ -026306: b410 |001b: rem-int/2addr v0, v1 │ │ -026308: 5950 4103 |001c: iput v0, v5, Lutil/FileLogger;.curSlot:I // field@0341 │ │ -02630c: 2200 f600 |001e: new-instance v0, Ljava/io/File; // type@00f6 │ │ -026310: 2201 2801 |0020: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -026314: 7010 8305 0100 |0022: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -02631a: 5452 4503 |0025: iget-object v2, v5, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0345 │ │ -02631e: 6e20 8905 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -026324: 1a02 6000 |002a: const-string v2, "/" // string@0060 │ │ -026328: 6e20 8905 2100 |002c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02632e: 5452 4603 |002f: iget-object v2, v5, Lutil/FileLogger;.name:Ljava/lang/String; // field@0346 │ │ -026332: 6e20 8905 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -026338: 1a02 0e05 |0034: const-string v2, "_" // string@050e │ │ -02633c: 6e20 8905 2100 |0036: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -026342: 5252 4103 |0039: iget v2, v5, Lutil/FileLogger;.curSlot:I // field@0341 │ │ -026346: 6e20 8605 2100 |003b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -02634c: 1a02 5d00 |003e: const-string v2, ".log" // string@005d │ │ -026350: 6e20 8905 2100 |0040: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -026356: 6e10 8b05 0100 |0043: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02635c: 0c01 |0046: move-result-object v1 │ │ -02635e: 7020 da04 1000 |0047: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ -026364: 2201 fa00 |004a: new-instance v1, Ljava/io/FileOutputStream; // type@00fa │ │ -026368: 7020 f304 0100 |004c: invoke-direct {v1, v0}, Ljava/io/FileOutputStream;.:(Ljava/io/File;)V // method@04f3 │ │ -02636e: 5b51 4303 |004f: iput-object v1, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0343 │ │ -026372: 1602 0000 |0051: const-wide/16 v2, #int 0 // #0 │ │ -026376: 5a52 4203 |0053: iput-wide v2, v5, Lutil/FileLogger;.curSlotSize:J // field@0342 │ │ -02637a: 5450 4403 |0055: iget-object v0, v5, Lutil/FileLogger;.header:Ljava/lang/String; // field@0344 │ │ -02637e: 3800 2100 |0057: if-eqz v0, 0078 // +0021 │ │ -026382: 2200 2801 |0059: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ -026386: 7010 8305 0000 |005b: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -02638c: 5452 4403 |005e: iget-object v2, v5, Lutil/FileLogger;.header:Ljava/lang/String; // field@0344 │ │ -026390: 6e20 8905 2000 |0060: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -026396: 1a02 0900 |0063: const-string v2, " │ │ +0262bc: |[0262bc] util.FileLogger.getOutputStream:()Ljava/io/OutputStream; │ │ +0262cc: 5350 4203 |0000: iget-wide v0, v5, Lutil/FileLogger;.curSlotSize:J // field@0342 │ │ +0262d0: 5352 4b03 |0002: iget-wide v2, v5, Lutil/FileLogger;.slotSize:J // field@034b │ │ +0262d4: 3104 0002 |0004: cmp-long v4, v0, v2 │ │ +0262d8: 3b04 0500 |0006: if-gez v4, 000b // +0005 │ │ +0262dc: 5450 4303 |0008: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0343 │ │ +0262e0: 1100 |000a: return-object v0 │ │ +0262e2: 5450 4303 |000b: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0343 │ │ +0262e6: 6e10 1005 0000 |000d: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ +0262ec: 5450 4303 |0010: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0343 │ │ +0262f0: 6e10 0f05 0000 |0012: invoke-virtual {v0}, Ljava/io/OutputStream;.close:()V // method@050f │ │ +0262f6: 5250 4103 |0015: iget v0, v5, Lutil/FileLogger;.curSlot:I // field@0341 │ │ +0262fa: d800 0001 |0017: add-int/lit8 v0, v0, #int 1 // #01 │ │ +0262fe: 5251 4a03 |0019: iget v1, v5, Lutil/FileLogger;.slotCount:I // field@034a │ │ +026302: b410 |001b: rem-int/2addr v0, v1 │ │ +026304: 5950 4103 |001c: iput v0, v5, Lutil/FileLogger;.curSlot:I // field@0341 │ │ +026308: 2200 f600 |001e: new-instance v0, Ljava/io/File; // type@00f6 │ │ +02630c: 2201 2801 |0020: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +026310: 7010 8305 0100 |0022: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +026316: 5452 4503 |0025: iget-object v2, v5, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0345 │ │ +02631a: 6e20 8905 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +026320: 1a02 6000 |002a: const-string v2, "/" // string@0060 │ │ +026324: 6e20 8905 2100 |002c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02632a: 5452 4603 |002f: iget-object v2, v5, Lutil/FileLogger;.name:Ljava/lang/String; // field@0346 │ │ +02632e: 6e20 8905 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +026334: 1a02 0e05 |0034: const-string v2, "_" // string@050e │ │ +026338: 6e20 8905 2100 |0036: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02633e: 5252 4103 |0039: iget v2, v5, Lutil/FileLogger;.curSlot:I // field@0341 │ │ +026342: 6e20 8605 2100 |003b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +026348: 1a02 5d00 |003e: const-string v2, ".log" // string@005d │ │ +02634c: 6e20 8905 2100 |0040: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +026352: 6e10 8b05 0100 |0043: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +026358: 0c01 |0046: move-result-object v1 │ │ +02635a: 7020 da04 1000 |0047: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ +026360: 2201 fa00 |004a: new-instance v1, Ljava/io/FileOutputStream; // type@00fa │ │ +026364: 7020 f304 0100 |004c: invoke-direct {v1, v0}, Ljava/io/FileOutputStream;.:(Ljava/io/File;)V // method@04f3 │ │ +02636a: 5b51 4303 |004f: iput-object v1, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0343 │ │ +02636e: 1602 0000 |0051: const-wide/16 v2, #int 0 // #0 │ │ +026372: 5a52 4203 |0053: iput-wide v2, v5, Lutil/FileLogger;.curSlotSize:J // field@0342 │ │ +026376: 5450 4403 |0055: iget-object v0, v5, Lutil/FileLogger;.header:Ljava/lang/String; // field@0344 │ │ +02637a: 3800 2100 |0057: if-eqz v0, 0078 // +0021 │ │ +02637e: 2200 2801 |0059: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ +026382: 7010 8305 0000 |005b: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +026388: 5452 4403 |005e: iget-object v2, v5, Lutil/FileLogger;.header:Ljava/lang/String; // field@0344 │ │ +02638c: 6e20 8905 2000 |0060: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +026392: 1a02 0900 |0063: const-string v2, " │ │ " // string@0009 │ │ -02639a: 6e20 8905 2000 |0065: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0263a0: 6e10 8b05 0000 |0068: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0263a6: 0c00 |006b: move-result-object v0 │ │ -0263a8: 6e10 6905 0000 |006c: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -0263ae: 0c00 |006f: move-result-object v0 │ │ -0263b0: 6e20 1205 0100 |0070: invoke-virtual {v1, v0}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ -0263b6: 5450 4303 |0073: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0343 │ │ -0263ba: 6e10 1005 0000 |0075: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ -0263c0: 5450 4303 |0078: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0343 │ │ -0263c4: 1100 |007a: return-object v0 │ │ +026396: 6e20 8905 2000 |0065: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02639c: 6e10 8b05 0000 |0068: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0263a2: 0c00 |006b: move-result-object v0 │ │ +0263a4: 6e10 6905 0000 |006c: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +0263aa: 0c00 |006f: move-result-object v0 │ │ +0263ac: 6e20 1205 0100 |0070: invoke-virtual {v1, v0}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ +0263b2: 5450 4303 |0073: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0343 │ │ +0263b6: 6e10 1005 0000 |0075: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ +0263bc: 5450 4303 |0078: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0343 │ │ +0263c0: 1100 |007a: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=154 │ │ 0x0008 line=155 │ │ 0x000b line=158 │ │ 0x0010 line=159 │ │ 0x0015 line=160 │ │ @@ -57308,114 +57308,114 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 12 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 221 16-bit code units │ │ -0266f0: |[0266f0] util.FileLogger.logOpen:()V │ │ -026700: 2200 f600 |0000: new-instance v0, Ljava/io/File; // type@00f6 │ │ -026704: 54b1 4503 |0002: iget-object v1, v11, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0345 │ │ -026708: 7020 da04 1000 |0004: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ -02670e: 6e10 e004 0000 |0007: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@04e0 │ │ -026714: 0a01 |000a: move-result v1 │ │ -026716: 3901 0500 |000b: if-nez v1, 0010 // +0005 │ │ -02671a: 6e10 eb04 0000 |000d: invoke-virtual {v0}, Ljava/io/File;.mkdirs:()Z // method@04eb │ │ -026720: 1600 0000 |0010: const-wide/16 v0, #int 0 // #0 │ │ -026724: 1202 |0012: const/4 v2, #int 0 // #0 │ │ -026726: 0403 |0013: move-wide v3, v0 │ │ -026728: 52b5 4a03 |0014: iget v5, v11, Lutil/FileLogger;.slotCount:I // field@034a │ │ -02672c: 1a06 5d00 |0016: const-string v6, ".log" // string@005d │ │ -026730: 1a07 0e05 |0018: const-string v7, "_" // string@050e │ │ -026734: 1a08 6000 |001a: const-string v8, "/" // string@0060 │ │ -026738: 3552 4300 |001c: if-ge v2, v5, 005f // +0043 │ │ -02673c: 2205 f600 |001e: new-instance v5, Ljava/io/File; // type@00f6 │ │ -026740: 2209 2801 |0020: new-instance v9, Ljava/lang/StringBuilder; // type@0128 │ │ -026744: 7010 8305 0900 |0022: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -02674a: 54ba 4503 |0025: iget-object v10, v11, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0345 │ │ -02674e: 6e20 8905 a900 |0027: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -026754: 6e20 8905 8900 |002a: invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02675a: 54b8 4603 |002d: iget-object v8, v11, Lutil/FileLogger;.name:Ljava/lang/String; // field@0346 │ │ -02675e: 6e20 8905 8900 |002f: invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -026764: 6e20 8905 7900 |0032: invoke-virtual {v9, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02676a: 6e20 8605 2900 |0035: invoke-virtual {v9, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -026770: 6e20 8905 6900 |0038: invoke-virtual {v9, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -026776: 6e10 8b05 0900 |003b: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02677c: 0c06 |003e: move-result-object v6 │ │ -02677e: 7020 da04 6500 |003f: invoke-direct {v5, v6}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ -026784: 6e10 e004 0500 |0042: invoke-virtual {v5}, Ljava/io/File;.exists:()Z // method@04e0 │ │ -02678a: 0a06 |0045: move-result v6 │ │ -02678c: 3806 1600 |0046: if-eqz v6, 005c // +0016 │ │ -026790: 6e10 e604 0500 |0048: invoke-virtual {v5}, Ljava/io/File;.lastModified:()J // method@04e6 │ │ -026796: 0b06 |004b: move-result-wide v6 │ │ -026798: 3108 0603 |004c: cmp-long v8, v6, v3 │ │ -02679c: 3d08 0e00 |004e: if-lez v8, 005c // +000e │ │ -0267a0: 6e10 e604 0500 |0050: invoke-virtual {v5}, Ljava/io/File;.lastModified:()J // method@04e6 │ │ -0267a6: 0b03 |0053: move-result-wide v3 │ │ -0267a8: 6e10 e704 0500 |0054: invoke-virtual {v5}, Ljava/io/File;.length:()J // method@04e7 │ │ -0267ae: 0b05 |0057: move-result-wide v5 │ │ -0267b0: 5ab5 4203 |0058: iput-wide v5, v11, Lutil/FileLogger;.curSlotSize:J // field@0342 │ │ -0267b4: 59b2 4103 |005a: iput v2, v11, Lutil/FileLogger;.curSlot:I // field@0341 │ │ -0267b8: d802 0201 |005c: add-int/lit8 v2, v2, #int 1 // #01 │ │ -0267bc: 28b6 |005e: goto 0014 // -004a │ │ -0267be: 2202 fa00 |005f: new-instance v2, Ljava/io/FileOutputStream; // type@00fa │ │ -0267c2: 2203 f600 |0061: new-instance v3, Ljava/io/File; // type@00f6 │ │ -0267c6: 2204 2801 |0063: new-instance v4, Ljava/lang/StringBuilder; // type@0128 │ │ -0267ca: 7010 8305 0400 |0065: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -0267d0: 54b5 4503 |0068: iget-object v5, v11, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0345 │ │ -0267d4: 6e20 8905 5400 |006a: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0267da: 6e20 8905 8400 |006d: invoke-virtual {v4, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0267e0: 54b5 4603 |0070: iget-object v5, v11, Lutil/FileLogger;.name:Ljava/lang/String; // field@0346 │ │ -0267e4: 6e20 8905 5400 |0072: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0267ea: 6e20 8905 7400 |0075: invoke-virtual {v4, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0267f0: 52b5 4103 |0078: iget v5, v11, Lutil/FileLogger;.curSlot:I // field@0341 │ │ -0267f4: 6e20 8605 5400 |007a: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -0267fa: 6e20 8905 6400 |007d: invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -026800: 6e10 8b05 0400 |0080: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -026806: 0c04 |0083: move-result-object v4 │ │ -026808: 7020 da04 4300 |0084: invoke-direct {v3, v4}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ -02680e: 1214 |0087: const/4 v4, #int 1 // #1 │ │ -026810: 7030 f404 3204 |0088: invoke-direct {v2, v3, v4}, Ljava/io/FileOutputStream;.:(Ljava/io/File;Z)V // method@04f4 │ │ -026816: 5bb2 4303 |008b: iput-object v2, v11, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0343 │ │ -02681a: 53b5 4203 |008d: iget-wide v5, v11, Lutil/FileLogger;.curSlotSize:J // field@0342 │ │ -02681e: 3103 0500 |008f: cmp-long v3, v5, v0 │ │ -026822: 3903 2500 |0091: if-nez v3, 00b6 // +0025 │ │ -026826: 54b0 4403 |0093: iget-object v0, v11, Lutil/FileLogger;.header:Ljava/lang/String; // field@0344 │ │ -02682a: 3800 2100 |0095: if-eqz v0, 00b6 // +0021 │ │ -02682e: 2200 2801 |0097: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ -026832: 7010 8305 0000 |0099: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -026838: 54b1 4403 |009c: iget-object v1, v11, Lutil/FileLogger;.header:Ljava/lang/String; // field@0344 │ │ -02683c: 6e20 8905 1000 |009e: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -026842: 1a01 0900 |00a1: const-string v1, " │ │ +0266ec: |[0266ec] util.FileLogger.logOpen:()V │ │ +0266fc: 2200 f600 |0000: new-instance v0, Ljava/io/File; // type@00f6 │ │ +026700: 54b1 4503 |0002: iget-object v1, v11, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0345 │ │ +026704: 7020 da04 1000 |0004: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ +02670a: 6e10 e004 0000 |0007: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@04e0 │ │ +026710: 0a01 |000a: move-result v1 │ │ +026712: 3901 0500 |000b: if-nez v1, 0010 // +0005 │ │ +026716: 6e10 eb04 0000 |000d: invoke-virtual {v0}, Ljava/io/File;.mkdirs:()Z // method@04eb │ │ +02671c: 1600 0000 |0010: const-wide/16 v0, #int 0 // #0 │ │ +026720: 1202 |0012: const/4 v2, #int 0 // #0 │ │ +026722: 0403 |0013: move-wide v3, v0 │ │ +026724: 52b5 4a03 |0014: iget v5, v11, Lutil/FileLogger;.slotCount:I // field@034a │ │ +026728: 1a06 5d00 |0016: const-string v6, ".log" // string@005d │ │ +02672c: 1a07 0e05 |0018: const-string v7, "_" // string@050e │ │ +026730: 1a08 6000 |001a: const-string v8, "/" // string@0060 │ │ +026734: 3552 4300 |001c: if-ge v2, v5, 005f // +0043 │ │ +026738: 2205 f600 |001e: new-instance v5, Ljava/io/File; // type@00f6 │ │ +02673c: 2209 2801 |0020: new-instance v9, Ljava/lang/StringBuilder; // type@0128 │ │ +026740: 7010 8305 0900 |0022: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +026746: 54ba 4503 |0025: iget-object v10, v11, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0345 │ │ +02674a: 6e20 8905 a900 |0027: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +026750: 6e20 8905 8900 |002a: invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +026756: 54b8 4603 |002d: iget-object v8, v11, Lutil/FileLogger;.name:Ljava/lang/String; // field@0346 │ │ +02675a: 6e20 8905 8900 |002f: invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +026760: 6e20 8905 7900 |0032: invoke-virtual {v9, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +026766: 6e20 8605 2900 |0035: invoke-virtual {v9, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +02676c: 6e20 8905 6900 |0038: invoke-virtual {v9, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +026772: 6e10 8b05 0900 |003b: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +026778: 0c06 |003e: move-result-object v6 │ │ +02677a: 7020 da04 6500 |003f: invoke-direct {v5, v6}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ +026780: 6e10 e004 0500 |0042: invoke-virtual {v5}, Ljava/io/File;.exists:()Z // method@04e0 │ │ +026786: 0a06 |0045: move-result v6 │ │ +026788: 3806 1600 |0046: if-eqz v6, 005c // +0016 │ │ +02678c: 6e10 e604 0500 |0048: invoke-virtual {v5}, Ljava/io/File;.lastModified:()J // method@04e6 │ │ +026792: 0b06 |004b: move-result-wide v6 │ │ +026794: 3108 0603 |004c: cmp-long v8, v6, v3 │ │ +026798: 3d08 0e00 |004e: if-lez v8, 005c // +000e │ │ +02679c: 6e10 e604 0500 |0050: invoke-virtual {v5}, Ljava/io/File;.lastModified:()J // method@04e6 │ │ +0267a2: 0b03 |0053: move-result-wide v3 │ │ +0267a4: 6e10 e704 0500 |0054: invoke-virtual {v5}, Ljava/io/File;.length:()J // method@04e7 │ │ +0267aa: 0b05 |0057: move-result-wide v5 │ │ +0267ac: 5ab5 4203 |0058: iput-wide v5, v11, Lutil/FileLogger;.curSlotSize:J // field@0342 │ │ +0267b0: 59b2 4103 |005a: iput v2, v11, Lutil/FileLogger;.curSlot:I // field@0341 │ │ +0267b4: d802 0201 |005c: add-int/lit8 v2, v2, #int 1 // #01 │ │ +0267b8: 28b6 |005e: goto 0014 // -004a │ │ +0267ba: 2202 fa00 |005f: new-instance v2, Ljava/io/FileOutputStream; // type@00fa │ │ +0267be: 2203 f600 |0061: new-instance v3, Ljava/io/File; // type@00f6 │ │ +0267c2: 2204 2801 |0063: new-instance v4, Ljava/lang/StringBuilder; // type@0128 │ │ +0267c6: 7010 8305 0400 |0065: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +0267cc: 54b5 4503 |0068: iget-object v5, v11, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0345 │ │ +0267d0: 6e20 8905 5400 |006a: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0267d6: 6e20 8905 8400 |006d: invoke-virtual {v4, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0267dc: 54b5 4603 |0070: iget-object v5, v11, Lutil/FileLogger;.name:Ljava/lang/String; // field@0346 │ │ +0267e0: 6e20 8905 5400 |0072: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0267e6: 6e20 8905 7400 |0075: invoke-virtual {v4, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0267ec: 52b5 4103 |0078: iget v5, v11, Lutil/FileLogger;.curSlot:I // field@0341 │ │ +0267f0: 6e20 8605 5400 |007a: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +0267f6: 6e20 8905 6400 |007d: invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0267fc: 6e10 8b05 0400 |0080: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +026802: 0c04 |0083: move-result-object v4 │ │ +026804: 7020 da04 4300 |0084: invoke-direct {v3, v4}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ +02680a: 1214 |0087: const/4 v4, #int 1 // #1 │ │ +02680c: 7030 f404 3204 |0088: invoke-direct {v2, v3, v4}, Ljava/io/FileOutputStream;.:(Ljava/io/File;Z)V // method@04f4 │ │ +026812: 5bb2 4303 |008b: iput-object v2, v11, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0343 │ │ +026816: 53b5 4203 |008d: iget-wide v5, v11, Lutil/FileLogger;.curSlotSize:J // field@0342 │ │ +02681a: 3103 0500 |008f: cmp-long v3, v5, v0 │ │ +02681e: 3903 2500 |0091: if-nez v3, 00b6 // +0025 │ │ +026822: 54b0 4403 |0093: iget-object v0, v11, Lutil/FileLogger;.header:Ljava/lang/String; // field@0344 │ │ +026826: 3800 2100 |0095: if-eqz v0, 00b6 // +0021 │ │ +02682a: 2200 2801 |0097: new-instance v0, Ljava/lang/StringBuilder; // type@0128 │ │ +02682e: 7010 8305 0000 |0099: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +026834: 54b1 4403 |009c: iget-object v1, v11, Lutil/FileLogger;.header:Ljava/lang/String; // field@0344 │ │ +026838: 6e20 8905 1000 |009e: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02683e: 1a01 0900 |00a1: const-string v1, " │ │ " // string@0009 │ │ -026846: 6e20 8905 1000 |00a3: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02684c: 6e10 8b05 0000 |00a6: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -026852: 0c00 |00a9: move-result-object v0 │ │ -026854: 6e10 6905 0000 |00aa: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ -02685a: 0c00 |00ad: move-result-object v0 │ │ -02685c: 6e20 1205 0200 |00ae: invoke-virtual {v2, v0}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ -026862: 54b0 4303 |00b1: iget-object v0, v11, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0343 │ │ -026866: 6e10 1005 0000 |00b3: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ -02686c: 2200 0201 |00b6: new-instance v0, Ljava/io/PipedInputStream; // type@0102 │ │ -026870: 1301 0028 |00b8: const/16 v1, #int 10240 // #2800 │ │ -026874: 7020 1505 1000 |00ba: invoke-direct {v0, v1}, Ljava/io/PipedInputStream;.:(I)V // method@0515 │ │ -02687a: 5bb0 4703 |00bd: iput-object v0, v11, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0347 │ │ -02687e: 2200 0301 |00bf: new-instance v0, Ljava/io/PipedOutputStream; // type@0103 │ │ -026882: 54b1 4703 |00c1: iget-object v1, v11, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0347 │ │ -026886: 7020 1805 1000 |00c3: invoke-direct {v0, v1}, Ljava/io/PipedOutputStream;.:(Ljava/io/PipedInputStream;)V // method@0518 │ │ -02688c: 5bb0 4803 |00c6: iput-object v0, v11, Lutil/FileLogger;.pout:Ljava/io/PipedOutputStream; // field@0348 │ │ -026890: 2200 0401 |00c8: new-instance v0, Ljava/io/PrintStream; // type@0104 │ │ -026894: 54b1 4803 |00ca: iget-object v1, v11, Lutil/FileLogger;.pout:Ljava/io/PipedOutputStream; // field@0348 │ │ -026898: 7030 1a05 1004 |00cc: invoke-direct {v0, v1, v4}, Ljava/io/PrintStream;.:(Ljava/io/OutputStream;Z)V // method@051a │ │ -02689e: 5bb0 4903 |00cf: iput-object v0, v11, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0349 │ │ -0268a2: 2200 2a01 |00d1: new-instance v0, Ljava/lang/Thread; // type@012a │ │ -0268a6: 7020 9005 b000 |00d3: invoke-direct {v0, v11}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ -0268ac: 6e20 9405 4000 |00d6: invoke-virtual {v0, v4}, Ljava/lang/Thread;.setDaemon:(Z)V // method@0594 │ │ -0268b2: 6e10 9605 0000 |00d9: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@0596 │ │ -0268b8: 0e00 |00dc: return-void │ │ +026842: 6e20 8905 1000 |00a3: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +026848: 6e10 8b05 0000 |00a6: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02684e: 0c00 |00a9: move-result-object v0 │ │ +026850: 6e10 6905 0000 |00aa: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@0569 │ │ +026856: 0c00 |00ad: move-result-object v0 │ │ +026858: 6e20 1205 0200 |00ae: invoke-virtual {v2, v0}, Ljava/io/OutputStream;.write:([B)V // method@0512 │ │ +02685e: 54b0 4303 |00b1: iget-object v0, v11, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0343 │ │ +026862: 6e10 1005 0000 |00b3: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ +026868: 2200 0201 |00b6: new-instance v0, Ljava/io/PipedInputStream; // type@0102 │ │ +02686c: 1301 0028 |00b8: const/16 v1, #int 10240 // #2800 │ │ +026870: 7020 1505 1000 |00ba: invoke-direct {v0, v1}, Ljava/io/PipedInputStream;.:(I)V // method@0515 │ │ +026876: 5bb0 4703 |00bd: iput-object v0, v11, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0347 │ │ +02687a: 2200 0301 |00bf: new-instance v0, Ljava/io/PipedOutputStream; // type@0103 │ │ +02687e: 54b1 4703 |00c1: iget-object v1, v11, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0347 │ │ +026882: 7020 1805 1000 |00c3: invoke-direct {v0, v1}, Ljava/io/PipedOutputStream;.:(Ljava/io/PipedInputStream;)V // method@0518 │ │ +026888: 5bb0 4803 |00c6: iput-object v0, v11, Lutil/FileLogger;.pout:Ljava/io/PipedOutputStream; // field@0348 │ │ +02688c: 2200 0401 |00c8: new-instance v0, Ljava/io/PrintStream; // type@0104 │ │ +026890: 54b1 4803 |00ca: iget-object v1, v11, Lutil/FileLogger;.pout:Ljava/io/PipedOutputStream; // field@0348 │ │ +026894: 7030 1a05 1004 |00cc: invoke-direct {v0, v1, v4}, Ljava/io/PrintStream;.:(Ljava/io/OutputStream;Z)V // method@051a │ │ +02689a: 5bb0 4903 |00cf: iput-object v0, v11, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0349 │ │ +02689e: 2200 2a01 |00d1: new-instance v0, Ljava/lang/Thread; // type@012a │ │ +0268a2: 7020 9005 b000 |00d3: invoke-direct {v0, v11}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@0590 │ │ +0268a8: 6e20 9405 4000 |00d6: invoke-virtual {v0, v4}, Ljava/lang/Thread;.setDaemon:(Z)V // method@0594 │ │ +0268ae: 6e10 9605 0000 |00d9: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@0596 │ │ +0268b4: 0e00 |00dc: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=63 │ │ 0x0007 line=64 │ │ 0x000d line=65 │ │ 0x0014 line=69 │ │ 0x001e line=70 │ │ @@ -57442,34 +57442,34 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 32 16-bit code units │ │ -026460: |[026460] util.FileLogger.closeLogger:()V │ │ -026470: 5420 4703 |0000: iget-object v0, v2, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0347 │ │ -026474: 1d00 |0002: monitor-enter v0 │ │ -026476: 1211 |0003: const/4 v1, #int 1 // #1 │ │ -026478: 5c21 4003 |0004: iput-boolean v1, v2, Lutil/FileLogger;.closed:Z // field@0340 │ │ -02647c: 5421 4803 |0006: iget-object v1, v2, Lutil/FileLogger;.pout:Ljava/io/PipedOutputStream; // field@0348 │ │ -026480: 6e10 1905 0100 |0008: invoke-virtual {v1}, Ljava/io/PipedOutputStream;.close:()V // method@0519 │ │ -026486: 5421 4303 |000b: iget-object v1, v2, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0343 │ │ -02648a: 6e10 0f05 0100 |000d: invoke-virtual {v1}, Ljava/io/OutputStream;.close:()V // method@050f │ │ -026490: 5421 4703 |0010: iget-object v1, v2, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0347 │ │ -026494: 6e10 5305 0100 |0012: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ -02649a: 2807 |0015: goto 001c // +0007 │ │ -02649c: 0d01 |0016: move-exception v1 │ │ -02649e: 2807 |0017: goto 001e // +0007 │ │ -0264a0: 0d01 |0018: move-exception v1 │ │ -0264a2: 6e10 ff04 0100 |0019: invoke-virtual {v1}, Ljava/io/IOException;.printStackTrace:()V // method@04ff │ │ -0264a8: 1e00 |001c: monitor-exit v0 │ │ -0264aa: 0e00 |001d: return-void │ │ -0264ac: 1e00 |001e: monitor-exit v0 │ │ -0264ae: 2701 |001f: throw v1 │ │ +02645c: |[02645c] util.FileLogger.closeLogger:()V │ │ +02646c: 5420 4703 |0000: iget-object v0, v2, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0347 │ │ +026470: 1d00 |0002: monitor-enter v0 │ │ +026472: 1211 |0003: const/4 v1, #int 1 // #1 │ │ +026474: 5c21 4003 |0004: iput-boolean v1, v2, Lutil/FileLogger;.closed:Z // field@0340 │ │ +026478: 5421 4803 |0006: iget-object v1, v2, Lutil/FileLogger;.pout:Ljava/io/PipedOutputStream; // field@0348 │ │ +02647c: 6e10 1905 0100 |0008: invoke-virtual {v1}, Ljava/io/PipedOutputStream;.close:()V // method@0519 │ │ +026482: 5421 4303 |000b: iget-object v1, v2, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0343 │ │ +026486: 6e10 0f05 0100 |000d: invoke-virtual {v1}, Ljava/io/OutputStream;.close:()V // method@050f │ │ +02648c: 5421 4703 |0010: iget-object v1, v2, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0347 │ │ +026490: 6e10 5305 0100 |0012: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ +026496: 2807 |0015: goto 001c // +0007 │ │ +026498: 0d01 |0016: move-exception v1 │ │ +02649a: 2807 |0017: goto 001e // +0007 │ │ +02649c: 0d01 |0018: move-exception v1 │ │ +02649e: 6e10 ff04 0100 |0019: invoke-virtual {v1}, Ljava/io/IOException;.printStackTrace:()V // method@04ff │ │ +0264a4: 1e00 |001c: monitor-exit v0 │ │ +0264a6: 0e00 |001d: return-void │ │ +0264a8: 1e00 |001e: monitor-exit v0 │ │ +0264aa: 2701 |001f: throw v1 │ │ catches : 2 │ │ 0x0004 - 0x0015 │ │ Ljava/io/IOException; -> 0x0018 │ │ -> 0x0016 │ │ 0x0019 - 0x001f │ │ -> 0x0016 │ │ positions : │ │ @@ -57488,17 +57488,17 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0264c8: |[0264c8] util.FileLogger.enableTimestamp:(Z)V │ │ -0264d8: 5c01 4c03 |0000: iput-boolean v1, v0, Lutil/FileLogger;.timeStampEnabled:Z // field@034c │ │ -0264dc: 0e00 |0002: return-void │ │ +0264c4: |[0264c4] util.FileLogger.enableTimestamp:(Z)V │ │ +0264d4: 5c01 4c03 |0000: iput-boolean v1, v0, Lutil/FileLogger;.timeStampEnabled:Z // field@034c │ │ +0264d8: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=109 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Lutil/FileLogger; │ │ 0x0000 - 0x0003 reg=1 (null) Z │ │ │ │ @@ -57507,45 +57507,45 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 55 16-bit code units │ │ -0264e0: |[0264e0] util.FileLogger.log:(Ljava/lang/String;)V │ │ -0264f0: 5450 4903 |0000: iget-object v0, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0349 │ │ -0264f4: 1d00 |0002: monitor-enter v0 │ │ -0264f6: 5451 4703 |0003: iget-object v1, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0347 │ │ -0264fa: 1d01 |0005: monitor-enter v1 │ │ -0264fc: 5552 4c03 |0006: iget-boolean v2, v5, Lutil/FileLogger;.timeStampEnabled:Z // field@034c │ │ -026500: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ -026504: 5452 4903 |000a: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0349 │ │ -026508: 2203 2801 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -02650c: 7010 8305 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -026512: 7100 9d06 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@069d │ │ -026518: 0c04 |0014: move-result-object v4 │ │ -02651a: 6e20 8905 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -026520: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ -026524: 6e20 8905 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02652a: 6e10 8b05 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -026530: 0c03 |0020: move-result-object v3 │ │ -026532: 6e20 1b05 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@051b │ │ -026538: 5452 4903 |0024: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0349 │ │ -02653c: 6e20 1b05 6200 |0026: invoke-virtual {v2, v6}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@051b │ │ -026542: 5456 4703 |0029: iget-object v6, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0347 │ │ -026546: 6e10 5305 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ -02654c: 1e01 |002e: monitor-exit v1 │ │ -02654e: 1e00 |002f: monitor-exit v0 │ │ -026550: 0e00 |0030: return-void │ │ -026552: 0d06 |0031: move-exception v6 │ │ -026554: 1e01 |0032: monitor-exit v1 │ │ -026556: 2706 |0033: throw v6 │ │ -026558: 0d06 |0034: move-exception v6 │ │ -02655a: 1e00 |0035: monitor-exit v0 │ │ -02655c: 2706 |0036: throw v6 │ │ +0264dc: |[0264dc] util.FileLogger.log:(Ljava/lang/String;)V │ │ +0264ec: 5450 4903 |0000: iget-object v0, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0349 │ │ +0264f0: 1d00 |0002: monitor-enter v0 │ │ +0264f2: 5451 4703 |0003: iget-object v1, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0347 │ │ +0264f6: 1d01 |0005: monitor-enter v1 │ │ +0264f8: 5552 4c03 |0006: iget-boolean v2, v5, Lutil/FileLogger;.timeStampEnabled:Z // field@034c │ │ +0264fc: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ +026500: 5452 4903 |000a: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0349 │ │ +026504: 2203 2801 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +026508: 7010 8305 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +02650e: 7100 9d06 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@069d │ │ +026514: 0c04 |0014: move-result-object v4 │ │ +026516: 6e20 8905 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02651c: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ +026520: 6e20 8905 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +026526: 6e10 8b05 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02652c: 0c03 |0020: move-result-object v3 │ │ +02652e: 6e20 1b05 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@051b │ │ +026534: 5452 4903 |0024: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0349 │ │ +026538: 6e20 1b05 6200 |0026: invoke-virtual {v2, v6}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@051b │ │ +02653e: 5456 4703 |0029: iget-object v6, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0347 │ │ +026542: 6e10 5305 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ +026548: 1e01 |002e: monitor-exit v1 │ │ +02654a: 1e00 |002f: monitor-exit v0 │ │ +02654c: 0e00 |0030: return-void │ │ +02654e: 0d06 |0031: move-exception v6 │ │ +026550: 1e01 |0032: monitor-exit v1 │ │ +026552: 2706 |0033: throw v6 │ │ +026554: 0d06 |0034: move-exception v6 │ │ +026556: 1e00 |0035: monitor-exit v0 │ │ +026558: 2706 |0036: throw v6 │ │ catches : 5 │ │ 0x0003 - 0x0006 │ │ -> 0x0034 │ │ 0x0006 - 0x002f │ │ -> 0x0031 │ │ 0x002f - 0x0030 │ │ -> 0x0034 │ │ @@ -57573,45 +57573,45 @@ │ │ type : '(Ljava/lang/Exception;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 55 16-bit code units │ │ -026590: |[026590] util.FileLogger.logException:(Ljava/lang/Exception;)V │ │ -0265a0: 5450 4903 |0000: iget-object v0, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0349 │ │ -0265a4: 1d00 |0002: monitor-enter v0 │ │ -0265a6: 5451 4703 |0003: iget-object v1, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0347 │ │ -0265aa: 1d01 |0005: monitor-enter v1 │ │ -0265ac: 5552 4c03 |0006: iget-boolean v2, v5, Lutil/FileLogger;.timeStampEnabled:Z // field@034c │ │ -0265b0: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ -0265b4: 5452 4903 |000a: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0349 │ │ -0265b8: 2203 2801 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -0265bc: 7010 8305 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -0265c2: 7100 9d06 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@069d │ │ -0265c8: 0c04 |0014: move-result-object v4 │ │ -0265ca: 6e20 8905 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0265d0: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ -0265d4: 6e20 8905 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -0265da: 6e10 8b05 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -0265e0: 0c03 |0020: move-result-object v3 │ │ -0265e2: 6e20 1b05 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@051b │ │ -0265e8: 5452 4903 |0024: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0349 │ │ -0265ec: 6e20 3905 2600 |0026: invoke-virtual {v6, v2}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintStream;)V // method@0539 │ │ -0265f2: 5456 4703 |0029: iget-object v6, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0347 │ │ -0265f6: 6e10 5305 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ -0265fc: 1e01 |002e: monitor-exit v1 │ │ -0265fe: 1e00 |002f: monitor-exit v0 │ │ -026600: 0e00 |0030: return-void │ │ -026602: 0d06 |0031: move-exception v6 │ │ -026604: 1e01 |0032: monitor-exit v1 │ │ -026606: 2706 |0033: throw v6 │ │ -026608: 0d06 |0034: move-exception v6 │ │ -02660a: 1e00 |0035: monitor-exit v0 │ │ -02660c: 2706 |0036: throw v6 │ │ +02658c: |[02658c] util.FileLogger.logException:(Ljava/lang/Exception;)V │ │ +02659c: 5450 4903 |0000: iget-object v0, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0349 │ │ +0265a0: 1d00 |0002: monitor-enter v0 │ │ +0265a2: 5451 4703 |0003: iget-object v1, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0347 │ │ +0265a6: 1d01 |0005: monitor-enter v1 │ │ +0265a8: 5552 4c03 |0006: iget-boolean v2, v5, Lutil/FileLogger;.timeStampEnabled:Z // field@034c │ │ +0265ac: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ +0265b0: 5452 4903 |000a: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0349 │ │ +0265b4: 2203 2801 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +0265b8: 7010 8305 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +0265be: 7100 9d06 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@069d │ │ +0265c4: 0c04 |0014: move-result-object v4 │ │ +0265c6: 6e20 8905 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0265cc: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ +0265d0: 6e20 8905 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +0265d6: 6e10 8b05 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +0265dc: 0c03 |0020: move-result-object v3 │ │ +0265de: 6e20 1b05 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@051b │ │ +0265e4: 5452 4903 |0024: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0349 │ │ +0265e8: 6e20 3905 2600 |0026: invoke-virtual {v6, v2}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintStream;)V // method@0539 │ │ +0265ee: 5456 4703 |0029: iget-object v6, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0347 │ │ +0265f2: 6e10 5305 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ +0265f8: 1e01 |002e: monitor-exit v1 │ │ +0265fa: 1e00 |002f: monitor-exit v0 │ │ +0265fc: 0e00 |0030: return-void │ │ +0265fe: 0d06 |0031: move-exception v6 │ │ +026600: 1e01 |0032: monitor-exit v1 │ │ +026602: 2706 |0033: throw v6 │ │ +026604: 0d06 |0034: move-exception v6 │ │ +026606: 1e00 |0035: monitor-exit v0 │ │ +026608: 2706 |0036: throw v6 │ │ catches : 5 │ │ 0x0003 - 0x0006 │ │ -> 0x0034 │ │ 0x0006 - 0x002f │ │ -> 0x0031 │ │ 0x002f - 0x0030 │ │ -> 0x0034 │ │ @@ -57639,45 +57639,45 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 55 16-bit code units │ │ -026640: |[026640] util.FileLogger.logLine:(Ljava/lang/String;)V │ │ -026650: 5450 4903 |0000: iget-object v0, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0349 │ │ -026654: 1d00 |0002: monitor-enter v0 │ │ -026656: 5451 4703 |0003: iget-object v1, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0347 │ │ -02665a: 1d01 |0005: monitor-enter v1 │ │ -02665c: 5552 4c03 |0006: iget-boolean v2, v5, Lutil/FileLogger;.timeStampEnabled:Z // field@034c │ │ -026660: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ -026664: 5452 4903 |000a: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0349 │ │ -026668: 2203 2801 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -02666c: 7010 8305 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -026672: 7100 9d06 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@069d │ │ -026678: 0c04 |0014: move-result-object v4 │ │ -02667a: 6e20 8905 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -026680: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ -026684: 6e20 8905 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02668a: 6e10 8b05 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -026690: 0c03 |0020: move-result-object v3 │ │ -026692: 6e20 1b05 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@051b │ │ -026698: 5452 4903 |0024: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0349 │ │ -02669c: 6e20 1c05 6200 |0026: invoke-virtual {v2, v6}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@051c │ │ -0266a2: 5456 4703 |0029: iget-object v6, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0347 │ │ -0266a6: 6e10 5305 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ -0266ac: 1e01 |002e: monitor-exit v1 │ │ -0266ae: 1e00 |002f: monitor-exit v0 │ │ -0266b0: 0e00 |0030: return-void │ │ -0266b2: 0d06 |0031: move-exception v6 │ │ -0266b4: 1e01 |0032: monitor-exit v1 │ │ -0266b6: 2706 |0033: throw v6 │ │ -0266b8: 0d06 |0034: move-exception v6 │ │ -0266ba: 1e00 |0035: monitor-exit v0 │ │ -0266bc: 2706 |0036: throw v6 │ │ +02663c: |[02663c] util.FileLogger.logLine:(Ljava/lang/String;)V │ │ +02664c: 5450 4903 |0000: iget-object v0, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0349 │ │ +026650: 1d00 |0002: monitor-enter v0 │ │ +026652: 5451 4703 |0003: iget-object v1, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0347 │ │ +026656: 1d01 |0005: monitor-enter v1 │ │ +026658: 5552 4c03 |0006: iget-boolean v2, v5, Lutil/FileLogger;.timeStampEnabled:Z // field@034c │ │ +02665c: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ +026660: 5452 4903 |000a: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0349 │ │ +026664: 2203 2801 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +026668: 7010 8305 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +02666e: 7100 9d06 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@069d │ │ +026674: 0c04 |0014: move-result-object v4 │ │ +026676: 6e20 8905 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02667c: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ +026680: 6e20 8905 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +026686: 6e10 8b05 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02668c: 0c03 |0020: move-result-object v3 │ │ +02668e: 6e20 1b05 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@051b │ │ +026694: 5452 4903 |0024: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0349 │ │ +026698: 6e20 1c05 6200 |0026: invoke-virtual {v2, v6}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@051c │ │ +02669e: 5456 4703 |0029: iget-object v6, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0347 │ │ +0266a2: 6e10 5305 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0553 │ │ +0266a8: 1e01 |002e: monitor-exit v1 │ │ +0266aa: 1e00 |002f: monitor-exit v0 │ │ +0266ac: 0e00 |0030: return-void │ │ +0266ae: 0d06 |0031: move-exception v6 │ │ +0266b0: 1e01 |0032: monitor-exit v1 │ │ +0266b2: 2706 |0033: throw v6 │ │ +0266b4: 0d06 |0034: move-exception v6 │ │ +0266b6: 1e00 |0035: monitor-exit v0 │ │ +0266b8: 2706 |0036: throw v6 │ │ catches : 5 │ │ 0x0003 - 0x0006 │ │ -> 0x0034 │ │ 0x0006 - 0x002f │ │ -> 0x0031 │ │ 0x002f - 0x0030 │ │ -> 0x0034 │ │ @@ -57705,17 +57705,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -0268bc: |[0268bc] util.FileLogger.message:(Ljava/lang/String;)V │ │ -0268cc: 6e20 ca06 1000 |0000: invoke-virtual {v0, v1}, Lutil/FileLogger;.log:(Ljava/lang/String;)V // method@06ca │ │ -0268d2: 0e00 |0003: return-void │ │ +0268b8: |[0268b8] util.FileLogger.message:(Ljava/lang/String;)V │ │ +0268c8: 6e20 ca06 1000 |0000: invoke-virtual {v0, v1}, Lutil/FileLogger;.log:(Ljava/lang/String;)V // method@06ca │ │ +0268ce: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=150 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lutil/FileLogger; │ │ 0x0000 - 0x0004 reg=1 (null) Ljava/lang/String; │ │ │ │ @@ -57724,60 +57724,60 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 10 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 79 16-bit code units │ │ -0268d4: |[0268d4] util.FileLogger.run:()V │ │ -0268e4: 1300 0008 |0000: const/16 v0, #int 2048 // #800 │ │ -0268e8: 2300 9901 |0002: new-array v0, v0, [B // type@0199 │ │ -0268ec: 1201 |0004: const/4 v1, #int 0 // #0 │ │ -0268ee: 1202 |0005: const/4 v2, #int 0 // #0 │ │ -0268f0: 5593 4003 |0006: iget-boolean v3, v9, Lutil/FileLogger;.closed:Z // field@0340 │ │ -0268f4: 3903 4600 |0008: if-nez v3, 004e // +0046 │ │ -0268f8: 5493 4703 |000a: iget-object v3, v9, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0347 │ │ -0268fc: 1d03 |000c: monitor-enter v3 │ │ -0268fe: 5494 4703 |000d: iget-object v4, v9, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0347 │ │ -026902: 6e10 1605 0400 |000f: invoke-virtual {v4}, Ljava/io/PipedInputStream;.available:()I // method@0516 │ │ -026908: 0a04 |0012: move-result v4 │ │ -02690a: 3c04 1100 |0013: if-gtz v4, 0024 // +0011 │ │ -02690e: 5595 4003 |0015: iget-boolean v5, v9, Lutil/FileLogger;.closed:Z // field@0340 │ │ -026912: 3905 0d00 |0017: if-nez v5, 0024 // +000d │ │ -026916: 5494 4703 |0019: iget-object v4, v9, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0347 │ │ -02691a: 6e10 5505 0400 |001b: invoke-virtual {v4}, Ljava/lang/Object;.wait:()V // method@0555 │ │ -026920: 28ef |001e: goto 000d // -0011 │ │ -026922: 0d04 |001f: move-exception v4 │ │ -026924: 6e10 4505 0400 |0020: invoke-virtual {v4}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@0545 │ │ -02692a: 28ea |0023: goto 000d // -0016 │ │ -02692c: 5595 4003 |0024: iget-boolean v5, v9, Lutil/FileLogger;.closed:Z // field@0340 │ │ -026930: 3905 0800 |0026: if-nez v5, 002e // +0008 │ │ -026934: 5495 4703 |0028: iget-object v5, v9, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0347 │ │ -026938: 6e20 1705 0500 |002a: invoke-virtual {v5, v0}, Ljava/io/PipedInputStream;.read:([B)I // method@0517 │ │ -02693e: 0a02 |002d: move-result v2 │ │ -026940: 1e03 |002e: monitor-exit v3 │ │ -026942: 5593 4003 |002f: iget-boolean v3, v9, Lutil/FileLogger;.closed:Z // field@0340 │ │ -026946: 3903 d5ff |0031: if-nez v3, 0006 // -002b │ │ -02694a: 7010 c906 0900 |0033: invoke-direct {v9}, Lutil/FileLogger;.getOutputStream:()Ljava/io/OutputStream; // method@06c9 │ │ -026950: 0c03 |0036: move-result-object v3 │ │ -026952: 6e40 1305 0321 |0037: invoke-virtual {v3, v0, v1, v2}, Ljava/io/OutputStream;.write:([BII)V // method@0513 │ │ -026958: 5395 4203 |003a: iget-wide v5, v9, Lutil/FileLogger;.curSlotSize:J // field@0342 │ │ -02695c: 8127 |003c: int-to-long v7, v2 │ │ -02695e: bb75 |003d: add-long/2addr v5, v7 │ │ -026960: 5a95 4203 |003e: iput-wide v5, v9, Lutil/FileLogger;.curSlotSize:J // field@0342 │ │ -026964: 3324 c6ff |0040: if-ne v4, v2, 0006 // -003a │ │ -026968: 6e10 1005 0300 |0042: invoke-virtual {v3}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ -02696e: 28c1 |0045: goto 0006 // -003f │ │ -026970: 0d04 |0046: move-exception v4 │ │ -026972: 1e03 |0047: monitor-exit v3 │ │ -026974: 2704 |0048: throw v4 │ │ -026976: 0d03 |0049: move-exception v3 │ │ -026978: 6e10 3805 0300 |004a: invoke-virtual {v3}, Ljava/lang/Exception;.printStackTrace:()V // method@0538 │ │ -02697e: 28b9 |004d: goto 0006 // -0047 │ │ -026980: 0e00 |004e: return-void │ │ +0268d0: |[0268d0] util.FileLogger.run:()V │ │ +0268e0: 1300 0008 |0000: const/16 v0, #int 2048 // #800 │ │ +0268e4: 2300 9901 |0002: new-array v0, v0, [B // type@0199 │ │ +0268e8: 1201 |0004: const/4 v1, #int 0 // #0 │ │ +0268ea: 1202 |0005: const/4 v2, #int 0 // #0 │ │ +0268ec: 5593 4003 |0006: iget-boolean v3, v9, Lutil/FileLogger;.closed:Z // field@0340 │ │ +0268f0: 3903 4600 |0008: if-nez v3, 004e // +0046 │ │ +0268f4: 5493 4703 |000a: iget-object v3, v9, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0347 │ │ +0268f8: 1d03 |000c: monitor-enter v3 │ │ +0268fa: 5494 4703 |000d: iget-object v4, v9, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0347 │ │ +0268fe: 6e10 1605 0400 |000f: invoke-virtual {v4}, Ljava/io/PipedInputStream;.available:()I // method@0516 │ │ +026904: 0a04 |0012: move-result v4 │ │ +026906: 3c04 1100 |0013: if-gtz v4, 0024 // +0011 │ │ +02690a: 5595 4003 |0015: iget-boolean v5, v9, Lutil/FileLogger;.closed:Z // field@0340 │ │ +02690e: 3905 0d00 |0017: if-nez v5, 0024 // +000d │ │ +026912: 5494 4703 |0019: iget-object v4, v9, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0347 │ │ +026916: 6e10 5505 0400 |001b: invoke-virtual {v4}, Ljava/lang/Object;.wait:()V // method@0555 │ │ +02691c: 28ef |001e: goto 000d // -0011 │ │ +02691e: 0d04 |001f: move-exception v4 │ │ +026920: 6e10 4505 0400 |0020: invoke-virtual {v4}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@0545 │ │ +026926: 28ea |0023: goto 000d // -0016 │ │ +026928: 5595 4003 |0024: iget-boolean v5, v9, Lutil/FileLogger;.closed:Z // field@0340 │ │ +02692c: 3905 0800 |0026: if-nez v5, 002e // +0008 │ │ +026930: 5495 4703 |0028: iget-object v5, v9, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0347 │ │ +026934: 6e20 1705 0500 |002a: invoke-virtual {v5, v0}, Ljava/io/PipedInputStream;.read:([B)I // method@0517 │ │ +02693a: 0a02 |002d: move-result v2 │ │ +02693c: 1e03 |002e: monitor-exit v3 │ │ +02693e: 5593 4003 |002f: iget-boolean v3, v9, Lutil/FileLogger;.closed:Z // field@0340 │ │ +026942: 3903 d5ff |0031: if-nez v3, 0006 // -002b │ │ +026946: 7010 c906 0900 |0033: invoke-direct {v9}, Lutil/FileLogger;.getOutputStream:()Ljava/io/OutputStream; // method@06c9 │ │ +02694c: 0c03 |0036: move-result-object v3 │ │ +02694e: 6e40 1305 0321 |0037: invoke-virtual {v3, v0, v1, v2}, Ljava/io/OutputStream;.write:([BII)V // method@0513 │ │ +026954: 5395 4203 |003a: iget-wide v5, v9, Lutil/FileLogger;.curSlotSize:J // field@0342 │ │ +026958: 8127 |003c: int-to-long v7, v2 │ │ +02695a: bb75 |003d: add-long/2addr v5, v7 │ │ +02695c: 5a95 4203 |003e: iput-wide v5, v9, Lutil/FileLogger;.curSlotSize:J // field@0342 │ │ +026960: 3324 c6ff |0040: if-ne v4, v2, 0006 // -003a │ │ +026964: 6e10 1005 0300 |0042: invoke-virtual {v3}, Ljava/io/OutputStream;.flush:()V // method@0510 │ │ +02696a: 28c1 |0045: goto 0006 // -003f │ │ +02696c: 0d04 |0046: move-exception v4 │ │ +02696e: 1e03 |0047: monitor-exit v3 │ │ +026970: 2704 |0048: throw v4 │ │ +026972: 0d03 |0049: move-exception v3 │ │ +026974: 6e10 3805 0300 |004a: invoke-virtual {v3}, Ljava/lang/Exception;.printStackTrace:()V // method@0538 │ │ +02697a: 28b9 |004d: goto 0006 // -0047 │ │ +02697c: 0e00 |004e: return-void │ │ catches : 7 │ │ 0x000a - 0x000d │ │ Ljava/lang/Exception; -> 0x0049 │ │ 0x000d - 0x0017 │ │ -> 0x0046 │ │ 0x0019 - 0x001e │ │ Ljava/lang/InterruptedException; -> 0x001f │ │ @@ -57840,18 +57840,18 @@ │ │ type : '([Lutil/LoggerInterface;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -0269c8: |[0269c8] util.GroupedLogger.:([Lutil/LoggerInterface;)V │ │ -0269d8: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -0269de: 5b01 4d03 |0003: iput-object v1, v0, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034d │ │ -0269e2: 0e00 |0005: return-void │ │ +0269c4: |[0269c4] util.GroupedLogger.:([Lutil/LoggerInterface;)V │ │ +0269d4: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +0269da: 5b01 4d03 |0003: iput-object v1, v0, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034d │ │ +0269de: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=9 │ │ 0x0003 line=10 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lutil/GroupedLogger; │ │ 0x0000 - 0x0006 reg=1 (null) [Lutil/LoggerInterface; │ │ @@ -57862,31 +57862,31 @@ │ │ type : '(Lutil/LoggerInterface;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 26 16-bit code units │ │ -0269e4: |[0269e4] util.GroupedLogger.attachLogger:(Lutil/LoggerInterface;)V │ │ -0269f4: 5440 4d03 |0000: iget-object v0, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034d │ │ -0269f8: 2100 |0002: array-length v0, v0 │ │ -0269fa: d800 0001 |0003: add-int/lit8 v0, v0, #int 1 // #01 │ │ -0269fe: 2300 b001 |0005: new-array v0, v0, [Lutil/LoggerInterface; // type@01b0 │ │ -026a02: 1201 |0007: const/4 v1, #int 0 // #0 │ │ -026a04: 5442 4d03 |0008: iget-object v2, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034d │ │ -026a08: 2123 |000a: array-length v3, v2 │ │ -026a0a: 3531 0900 |000b: if-ge v1, v3, 0014 // +0009 │ │ -026a0e: 4602 0201 |000d: aget-object v2, v2, v1 │ │ -026a12: 4d02 0001 |000f: aput-object v2, v0, v1 │ │ -026a16: d801 0101 |0011: add-int/lit8 v1, v1, #int 1 // #01 │ │ -026a1a: 28f5 |0013: goto 0008 // -000b │ │ -026a1c: 2121 |0014: array-length v1, v2 │ │ -026a1e: 4d05 0001 |0015: aput-object v5, v0, v1 │ │ -026a22: 5b40 4d03 |0017: iput-object v0, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034d │ │ -026a26: 0e00 |0019: return-void │ │ +0269e0: |[0269e0] util.GroupedLogger.attachLogger:(Lutil/LoggerInterface;)V │ │ +0269f0: 5440 4d03 |0000: iget-object v0, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034d │ │ +0269f4: 2100 |0002: array-length v0, v0 │ │ +0269f6: d800 0001 |0003: add-int/lit8 v0, v0, #int 1 // #01 │ │ +0269fa: 2300 b001 |0005: new-array v0, v0, [Lutil/LoggerInterface; // type@01b0 │ │ +0269fe: 1201 |0007: const/4 v1, #int 0 // #0 │ │ +026a00: 5442 4d03 |0008: iget-object v2, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034d │ │ +026a04: 2123 |000a: array-length v3, v2 │ │ +026a06: 3531 0900 |000b: if-ge v1, v3, 0014 // +0009 │ │ +026a0a: 4602 0201 |000d: aget-object v2, v2, v1 │ │ +026a0e: 4d02 0001 |000f: aput-object v2, v0, v1 │ │ +026a12: d801 0101 |0011: add-int/lit8 v1, v1, #int 1 // #01 │ │ +026a16: 28f5 |0013: goto 0008 // -000b │ │ +026a18: 2121 |0014: array-length v1, v2 │ │ +026a1a: 4d05 0001 |0015: aput-object v5, v0, v1 │ │ +026a1e: 5b40 4d03 |0017: iput-object v0, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034d │ │ +026a22: 0e00 |0019: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=46 │ │ 0x0008 line=47 │ │ 0x000d line=48 │ │ 0x0014 line=50 │ │ 0x0017 line=51 │ │ @@ -57899,24 +57899,24 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 15 16-bit code units │ │ -026a28: |[026a28] util.GroupedLogger.closeLogger:()V │ │ -026a38: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -026a3a: 5431 4d03 |0001: iget-object v1, v3, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034d │ │ -026a3e: 2112 |0003: array-length v2, v1 │ │ -026a40: 3520 0a00 |0004: if-ge v0, v2, 000e // +000a │ │ -026a44: 4601 0100 |0006: aget-object v1, v1, v0 │ │ -026a48: 7210 0a07 0100 |0008: invoke-interface {v1}, Lutil/LoggerInterface;.closeLogger:()V // method@070a │ │ -026a4e: d800 0001 |000b: add-int/lit8 v0, v0, #int 1 // #01 │ │ -026a52: 28f4 |000d: goto 0001 // -000c │ │ -026a54: 0e00 |000e: return-void │ │ +026a24: |[026a24] util.GroupedLogger.closeLogger:()V │ │ +026a34: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +026a36: 5431 4d03 |0001: iget-object v1, v3, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034d │ │ +026a3a: 2112 |0003: array-length v2, v1 │ │ +026a3c: 3520 0a00 |0004: if-ge v0, v2, 000e // +000a │ │ +026a40: 4601 0100 |0006: aget-object v1, v1, v0 │ │ +026a44: 7210 0a07 0100 |0008: invoke-interface {v1}, Lutil/LoggerInterface;.closeLogger:()V // method@070a │ │ +026a4a: d800 0001 |000b: add-int/lit8 v0, v0, #int 1 // #01 │ │ +026a4e: 28f4 |000d: goto 0001 // -000c │ │ +026a50: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=40 │ │ 0x0006 line=41 │ │ locals : │ │ 0x0000 - 0x000f reg=3 this Lutil/GroupedLogger; │ │ │ │ @@ -57925,36 +57925,36 @@ │ │ type : '(Lutil/LoggerInterface;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 39 16-bit code units │ │ -026a58: |[026a58] util.GroupedLogger.detachLogger:(Lutil/LoggerInterface;)V │ │ -026a68: 2200 6601 |0000: new-instance v0, Ljava/util/Vector; // type@0166 │ │ -026a6c: 5441 4d03 |0002: iget-object v1, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034d │ │ -026a70: 2111 |0004: array-length v1, v1 │ │ -026a72: 7020 5706 1000 |0005: invoke-direct {v0, v1}, Ljava/util/Vector;.:(I)V // method@0657 │ │ -026a78: 1201 |0008: const/4 v1, #int 0 // #0 │ │ -026a7a: 5442 4d03 |0009: iget-object v2, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034d │ │ -026a7e: 2123 |000b: array-length v3, v2 │ │ -026a80: 3531 0c00 |000c: if-ge v1, v3, 0018 // +000c │ │ -026a84: 4602 0201 |000e: aget-object v2, v2, v1 │ │ -026a88: 3252 0500 |0010: if-eq v2, v5, 0015 // +0005 │ │ -026a8c: 6e20 5806 2000 |0012: invoke-virtual {v0, v2}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0658 │ │ -026a92: d801 0101 |0015: add-int/lit8 v1, v1, #int 1 // #01 │ │ -026a96: 28f2 |0017: goto 0009 // -000e │ │ -026a98: 6e10 6306 0000 |0018: invoke-virtual {v0}, Ljava/util/Vector;.size:()I // method@0663 │ │ -026a9e: 0a05 |001b: move-result v5 │ │ -026aa0: 2355 b001 |001c: new-array v5, v5, [Lutil/LoggerInterface; // type@01b0 │ │ -026aa4: 6e20 6406 5000 |001e: invoke-virtual {v0, v5}, Ljava/util/Vector;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0664 │ │ -026aaa: 0c05 |0021: move-result-object v5 │ │ -026aac: 1f05 b001 |0022: check-cast v5, [Lutil/LoggerInterface; // type@01b0 │ │ -026ab0: 5b45 4d03 |0024: iput-object v5, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034d │ │ -026ab4: 0e00 |0026: return-void │ │ +026a54: |[026a54] util.GroupedLogger.detachLogger:(Lutil/LoggerInterface;)V │ │ +026a64: 2200 6601 |0000: new-instance v0, Ljava/util/Vector; // type@0166 │ │ +026a68: 5441 4d03 |0002: iget-object v1, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034d │ │ +026a6c: 2111 |0004: array-length v1, v1 │ │ +026a6e: 7020 5706 1000 |0005: invoke-direct {v0, v1}, Ljava/util/Vector;.:(I)V // method@0657 │ │ +026a74: 1201 |0008: const/4 v1, #int 0 // #0 │ │ +026a76: 5442 4d03 |0009: iget-object v2, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034d │ │ +026a7a: 2123 |000b: array-length v3, v2 │ │ +026a7c: 3531 0c00 |000c: if-ge v1, v3, 0018 // +000c │ │ +026a80: 4602 0201 |000e: aget-object v2, v2, v1 │ │ +026a84: 3252 0500 |0010: if-eq v2, v5, 0015 // +0005 │ │ +026a88: 6e20 5806 2000 |0012: invoke-virtual {v0, v2}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0658 │ │ +026a8e: d801 0101 |0015: add-int/lit8 v1, v1, #int 1 // #01 │ │ +026a92: 28f2 |0017: goto 0009 // -000e │ │ +026a94: 6e10 6306 0000 |0018: invoke-virtual {v0}, Ljava/util/Vector;.size:()I // method@0663 │ │ +026a9a: 0a05 |001b: move-result v5 │ │ +026a9c: 2355 b001 |001c: new-array v5, v5, [Lutil/LoggerInterface; // type@01b0 │ │ +026aa0: 6e20 6406 5000 |001e: invoke-virtual {v0, v5}, Ljava/util/Vector;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0664 │ │ +026aa6: 0c05 |0021: move-result-object v5 │ │ +026aa8: 1f05 b001 |0022: check-cast v5, [Lutil/LoggerInterface; // type@01b0 │ │ +026aac: 5b45 4d03 |0024: iput-object v5, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034d │ │ +026ab0: 0e00 |0026: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=55 │ │ 0x0009 line=57 │ │ 0x000e line=58 │ │ 0x0012 line=59 │ │ 0x0018 line=62 │ │ @@ -57967,24 +57967,24 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -026ab8: |[026ab8] util.GroupedLogger.log:(Ljava/lang/String;)V │ │ -026ac8: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -026aca: 5431 4d03 |0001: iget-object v1, v3, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034d │ │ -026ace: 2112 |0003: array-length v2, v1 │ │ -026ad0: 3520 0a00 |0004: if-ge v0, v2, 000e // +000a │ │ -026ad4: 4601 0100 |0006: aget-object v1, v1, v0 │ │ -026ad8: 7220 0b07 4100 |0008: invoke-interface {v1, v4}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@070b │ │ -026ade: d800 0001 |000b: add-int/lit8 v0, v0, #int 1 // #01 │ │ -026ae2: 28f4 |000d: goto 0001 // -000c │ │ -026ae4: 0e00 |000e: return-void │ │ +026ab4: |[026ab4] util.GroupedLogger.log:(Ljava/lang/String;)V │ │ +026ac4: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +026ac6: 5431 4d03 |0001: iget-object v1, v3, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034d │ │ +026aca: 2112 |0003: array-length v2, v1 │ │ +026acc: 3520 0a00 |0004: if-ge v0, v2, 000e // +000a │ │ +026ad0: 4601 0100 |0006: aget-object v1, v1, v0 │ │ +026ad4: 7220 0b07 4100 |0008: invoke-interface {v1, v4}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@070b │ │ +026ada: d800 0001 |000b: add-int/lit8 v0, v0, #int 1 // #01 │ │ +026ade: 28f4 |000d: goto 0001 // -000c │ │ +026ae0: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=28 │ │ 0x0006 line=29 │ │ locals : │ │ 0x0000 - 0x000f reg=3 this Lutil/GroupedLogger; │ │ 0x0000 - 0x000f reg=4 (null) Ljava/lang/String; │ │ @@ -57994,24 +57994,24 @@ │ │ type : '(Ljava/lang/Exception;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -026ae8: |[026ae8] util.GroupedLogger.logException:(Ljava/lang/Exception;)V │ │ -026af8: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -026afa: 5431 4d03 |0001: iget-object v1, v3, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034d │ │ -026afe: 2112 |0003: array-length v2, v1 │ │ -026b00: 3520 0a00 |0004: if-ge v0, v2, 000e // +000a │ │ -026b04: 4601 0100 |0006: aget-object v1, v1, v0 │ │ -026b08: 7220 0c07 4100 |0008: invoke-interface {v1, v4}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -026b0e: d800 0001 |000b: add-int/lit8 v0, v0, #int 1 // #01 │ │ -026b12: 28f4 |000d: goto 0001 // -000c │ │ -026b14: 0e00 |000e: return-void │ │ +026ae4: |[026ae4] util.GroupedLogger.logException:(Ljava/lang/Exception;)V │ │ +026af4: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +026af6: 5431 4d03 |0001: iget-object v1, v3, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034d │ │ +026afa: 2112 |0003: array-length v2, v1 │ │ +026afc: 3520 0a00 |0004: if-ge v0, v2, 000e // +000a │ │ +026b00: 4601 0100 |0006: aget-object v1, v1, v0 │ │ +026b04: 7220 0c07 4100 |0008: invoke-interface {v1, v4}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +026b0a: d800 0001 |000b: add-int/lit8 v0, v0, #int 1 // #01 │ │ +026b0e: 28f4 |000d: goto 0001 // -000c │ │ +026b10: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=21 │ │ 0x0006 line=22 │ │ locals : │ │ 0x0000 - 0x000f reg=3 this Lutil/GroupedLogger; │ │ 0x0000 - 0x000f reg=4 (null) Ljava/lang/Exception; │ │ @@ -58021,24 +58021,24 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -026b18: |[026b18] util.GroupedLogger.logLine:(Ljava/lang/String;)V │ │ -026b28: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -026b2a: 5431 4d03 |0001: iget-object v1, v3, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034d │ │ -026b2e: 2112 |0003: array-length v2, v1 │ │ -026b30: 3520 0a00 |0004: if-ge v0, v2, 000e // +000a │ │ -026b34: 4601 0100 |0006: aget-object v1, v1, v0 │ │ -026b38: 7220 0d07 4100 |0008: invoke-interface {v1, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -026b3e: d800 0001 |000b: add-int/lit8 v0, v0, #int 1 // #01 │ │ -026b42: 28f4 |000d: goto 0001 // -000c │ │ -026b44: 0e00 |000e: return-void │ │ +026b14: |[026b14] util.GroupedLogger.logLine:(Ljava/lang/String;)V │ │ +026b24: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +026b26: 5431 4d03 |0001: iget-object v1, v3, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034d │ │ +026b2a: 2112 |0003: array-length v2, v1 │ │ +026b2c: 3520 0a00 |0004: if-ge v0, v2, 000e // +000a │ │ +026b30: 4601 0100 |0006: aget-object v1, v1, v0 │ │ +026b34: 7220 0d07 4100 |0008: invoke-interface {v1, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +026b3a: d800 0001 |000b: add-int/lit8 v0, v0, #int 1 // #01 │ │ +026b3e: 28f4 |000d: goto 0001 // -000c │ │ +026b40: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=15 │ │ 0x0006 line=16 │ │ locals : │ │ 0x0000 - 0x000f reg=3 this Lutil/GroupedLogger; │ │ 0x0000 - 0x000f reg=4 (null) Ljava/lang/String; │ │ @@ -58048,24 +58048,24 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -026b48: |[026b48] util.GroupedLogger.message:(Ljava/lang/String;)V │ │ -026b58: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -026b5a: 5431 4d03 |0001: iget-object v1, v3, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034d │ │ -026b5e: 2112 |0003: array-length v2, v1 │ │ -026b60: 3520 0a00 |0004: if-ge v0, v2, 000e // +000a │ │ -026b64: 4601 0100 |0006: aget-object v1, v1, v0 │ │ -026b68: 7220 0e07 4100 |0008: invoke-interface {v1, v4}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ -026b6e: d800 0001 |000b: add-int/lit8 v0, v0, #int 1 // #01 │ │ -026b72: 28f4 |000d: goto 0001 // -000c │ │ -026b74: 0e00 |000e: return-void │ │ +026b44: |[026b44] util.GroupedLogger.message:(Ljava/lang/String;)V │ │ +026b54: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +026b56: 5431 4d03 |0001: iget-object v1, v3, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034d │ │ +026b5a: 2112 |0003: array-length v2, v1 │ │ +026b5c: 3520 0a00 |0004: if-ge v0, v2, 000e // +000a │ │ +026b60: 4601 0100 |0006: aget-object v1, v1, v0 │ │ +026b64: 7220 0e07 4100 |0008: invoke-interface {v1, v4}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ +026b6a: d800 0001 |000b: add-int/lit8 v0, v0, #int 1 // #01 │ │ +026b6e: 28f4 |000d: goto 0001 // -000c │ │ +026b70: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=34 │ │ 0x0006 line=35 │ │ locals : │ │ 0x0000 - 0x000f reg=3 this Lutil/GroupedLogger; │ │ 0x0000 - 0x000f reg=4 (null) Ljava/lang/String; │ │ @@ -58108,22 +58108,22 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 15 16-bit code units │ │ -02759c: |[02759c] util.Logger.:()V │ │ -0275ac: 2200 5601 |0000: new-instance v0, Ljava/util/Hashtable; // type@0156 │ │ -0275b0: 7010 1706 0000 |0002: invoke-direct {v0}, Ljava/util/Hashtable;.:()V // method@0617 │ │ -0275b6: 6900 5603 |0005: sput-object v0, Lutil/Logger;._loggers:Ljava/util/Hashtable; // field@0356 │ │ -0275ba: 2200 8101 |0007: new-instance v0, Lutil/Logger; // type@0181 │ │ -0275be: 7010 ff06 0000 |0009: invoke-direct {v0}, Lutil/Logger;.:()V // method@06ff │ │ -0275c4: 6900 5703 |000c: sput-object v0, Lutil/Logger;.m_default:Lutil/LoggerInterface; // field@0357 │ │ -0275c8: 0e00 |000e: return-void │ │ +027598: |[027598] util.Logger.:()V │ │ +0275a8: 2200 5601 |0000: new-instance v0, Ljava/util/Hashtable; // type@0156 │ │ +0275ac: 7010 1706 0000 |0002: invoke-direct {v0}, Ljava/util/Hashtable;.:()V // method@0617 │ │ +0275b2: 6900 5603 |0005: sput-object v0, Lutil/Logger;._loggers:Ljava/util/Hashtable; // field@0356 │ │ +0275b6: 2200 8101 |0007: new-instance v0, Lutil/Logger; // type@0181 │ │ +0275ba: 7010 ff06 0000 |0009: invoke-direct {v0}, Lutil/Logger;.:()V // method@06ff │ │ +0275c0: 6900 5703 |000c: sput-object v0, Lutil/Logger;.m_default:Lutil/LoggerInterface; // field@0357 │ │ +0275c4: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=28 │ │ 0x0007 line=30 │ │ locals : │ │ │ │ #1 : (in Lutil/Logger;) │ │ @@ -58131,17 +58131,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -0275cc: |[0275cc] util.Logger.:()V │ │ -0275dc: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ -0275e2: 0e00 |0003: return-void │ │ +0275c8: |[0275c8] util.Logger.:()V │ │ +0275d8: 7010 4f05 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@054f │ │ +0275de: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=27 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lutil/Logger; │ │ │ │ #2 : (in Lutil/Logger;) │ │ @@ -58149,20 +58149,20 @@ │ │ type : '()Lutil/LoggerInterface;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 8 16-bit code units │ │ -02754c: |[02754c] util.Logger.getLogger:()Lutil/LoggerInterface; │ │ -02755c: 6200 5803 |0000: sget-object v0, Lutil/Logger;.m_logger:Lutil/LoggerInterface; // field@0358 │ │ -027560: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ -027564: 1100 |0004: return-object v0 │ │ -027566: 6200 5703 |0005: sget-object v0, Lutil/Logger;.m_default:Lutil/LoggerInterface; // field@0357 │ │ -02756a: 1100 |0007: return-object v0 │ │ +027548: |[027548] util.Logger.getLogger:()Lutil/LoggerInterface; │ │ +027558: 6200 5803 |0000: sget-object v0, Lutil/Logger;.m_logger:Lutil/LoggerInterface; // field@0358 │ │ +02755c: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ +027560: 1100 |0004: return-object v0 │ │ +027562: 6200 5703 |0005: sget-object v0, Lutil/Logger;.m_default:Lutil/LoggerInterface; // field@0357 │ │ +027566: 1100 |0007: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=45 │ │ 0x0005 line=48 │ │ locals : │ │ │ │ #3 : (in Lutil/Logger;) │ │ @@ -58170,24 +58170,24 @@ │ │ type : '(Ljava/lang/String;)Lutil/LoggerInterface;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 16 16-bit code units │ │ -02756c: |[02756c] util.Logger.getLogger:(Ljava/lang/String;)Lutil/LoggerInterface; │ │ -02757c: 6200 5603 |0000: sget-object v0, Lutil/Logger;._loggers:Ljava/util/Hashtable; // field@0356 │ │ -027580: 6e20 1806 1000 |0002: invoke-virtual {v0, v1}, Ljava/util/Hashtable;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0618 │ │ -027586: 0c01 |0005: move-result-object v1 │ │ -027588: 1f01 8201 |0006: check-cast v1, Lutil/LoggerInterface; // type@0182 │ │ -02758c: 3801 0300 |0008: if-eqz v1, 000b // +0003 │ │ -027590: 1101 |000a: return-object v1 │ │ -027592: 7100 0107 0000 |000b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ -027598: 0c01 |000e: move-result-object v1 │ │ -02759a: 1101 |000f: return-object v1 │ │ +027568: |[027568] util.Logger.getLogger:(Ljava/lang/String;)Lutil/LoggerInterface; │ │ +027578: 6200 5603 |0000: sget-object v0, Lutil/Logger;._loggers:Ljava/util/Hashtable; // field@0356 │ │ +02757c: 6e20 1806 1000 |0002: invoke-virtual {v0, v1}, Ljava/util/Hashtable;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0618 │ │ +027582: 0c01 |0005: move-result-object v1 │ │ +027584: 1f01 8201 |0006: check-cast v1, Lutil/LoggerInterface; // type@0182 │ │ +027588: 3801 0300 |0008: if-eqz v1, 000b // +0003 │ │ +02758c: 1101 |000a: return-object v1 │ │ +02758e: 7100 0107 0000 |000b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0701 │ │ +027594: 0c01 |000e: move-result-object v1 │ │ +027596: 1101 |000f: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=52 │ │ 0x000b line=55 │ │ locals : │ │ 0x0000 - 0x0010 reg=1 (null) Ljava/lang/String; │ │ │ │ @@ -58196,18 +58196,18 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -027664: |[027664] util.Logger.removeLogger:(Ljava/lang/String;)V │ │ -027674: 6200 5603 |0000: sget-object v0, Lutil/Logger;._loggers:Ljava/util/Hashtable; // field@0356 │ │ -027678: 6e20 1a06 1000 |0002: invoke-virtual {v0, v1}, Ljava/util/Hashtable;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@061a │ │ -02767e: 0e00 |0005: return-void │ │ +027660: |[027660] util.Logger.removeLogger:(Ljava/lang/String;)V │ │ +027670: 6200 5603 |0000: sget-object v0, Lutil/Logger;._loggers:Ljava/util/Hashtable; // field@0356 │ │ +027674: 6e20 1a06 1000 |0002: invoke-virtual {v0, v1}, Ljava/util/Hashtable;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@061a │ │ +02767a: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=41 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 (null) Ljava/lang/String; │ │ │ │ #5 : (in Lutil/Logger;) │ │ @@ -58215,17 +58215,17 @@ │ │ type : '(Lutil/LoggerInterface;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -027680: |[027680] util.Logger.setLogger:(Lutil/LoggerInterface;)V │ │ -027690: 6900 5803 |0000: sput-object v0, Lutil/Logger;.m_logger:Lutil/LoggerInterface; // field@0358 │ │ -027694: 0e00 |0002: return-void │ │ +02767c: |[02767c] util.Logger.setLogger:(Lutil/LoggerInterface;)V │ │ +02768c: 6900 5803 |0000: sput-object v0, Lutil/Logger;.m_logger:Lutil/LoggerInterface; // field@0358 │ │ +027690: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=33 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lutil/LoggerInterface; │ │ │ │ #6 : (in Lutil/Logger;) │ │ @@ -58233,18 +58233,18 @@ │ │ type : '(Lutil/LoggerInterface;Ljava/lang/String;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 6 16-bit code units │ │ -027698: |[027698] util.Logger.setLogger:(Lutil/LoggerInterface;Ljava/lang/String;)V │ │ -0276a8: 6200 5603 |0000: sget-object v0, Lutil/Logger;._loggers:Ljava/util/Hashtable; // field@0356 │ │ -0276ac: 6e30 1906 2001 |0002: invoke-virtual {v0, v2, v1}, Ljava/util/Hashtable;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0619 │ │ -0276b2: 0e00 |0005: return-void │ │ +027694: |[027694] util.Logger.setLogger:(Lutil/LoggerInterface;Ljava/lang/String;)V │ │ +0276a4: 6200 5603 |0000: sget-object v0, Lutil/Logger;._loggers:Ljava/util/Hashtable; // field@0356 │ │ +0276a8: 6e30 1906 2001 |0002: invoke-virtual {v0, v2, v1}, Ljava/util/Hashtable;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0619 │ │ +0276ae: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=37 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 (null) Lutil/LoggerInterface; │ │ 0x0000 - 0x0006 reg=2 (null) Ljava/lang/String; │ │ │ │ @@ -58254,33 +58254,33 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -0275e4: |[0275e4] util.Logger.closeLogger:()V │ │ -0275f4: 0e00 |0000: return-void │ │ +0275e0: |[0275e0] util.Logger.closeLogger:()V │ │ +0275f0: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #1 : (in Lutil/Logger;) │ │ name : 'log' │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -0275f8: |[0275f8] util.Logger.log:(Ljava/lang/String;)V │ │ -027608: 6200 1c03 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@031c │ │ -02760c: 6e20 1b05 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@051b │ │ -027612: 0e00 |0005: return-void │ │ +0275f4: |[0275f4] util.Logger.log:(Ljava/lang/String;)V │ │ +027604: 6200 1c03 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@031c │ │ +027608: 6e20 1b05 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@051b │ │ +02760e: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=73 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lutil/Logger; │ │ 0x0000 - 0x0006 reg=2 (null) Ljava/lang/String; │ │ │ │ @@ -58289,17 +58289,17 @@ │ │ type : '(Ljava/lang/Exception;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -027614: |[027614] util.Logger.logException:(Ljava/lang/Exception;)V │ │ -027624: 6e10 3805 0100 |0000: invoke-virtual {v1}, Ljava/lang/Exception;.printStackTrace:()V // method@0538 │ │ -02762a: 0e00 |0003: return-void │ │ +027610: |[027610] util.Logger.logException:(Ljava/lang/Exception;)V │ │ +027620: 6e10 3805 0100 |0000: invoke-virtual {v1}, Ljava/lang/Exception;.printStackTrace:()V // method@0538 │ │ +027626: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=67 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lutil/Logger; │ │ 0x0000 - 0x0004 reg=1 (null) Ljava/lang/Exception; │ │ │ │ @@ -58308,18 +58308,18 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -02762c: |[02762c] util.Logger.logLine:(Ljava/lang/String;)V │ │ -02763c: 6200 1c03 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@031c │ │ -027640: 6e20 1c05 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@051c │ │ -027646: 0e00 |0005: return-void │ │ +027628: |[027628] util.Logger.logLine:(Ljava/lang/String;)V │ │ +027638: 6200 1c03 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@031c │ │ +02763c: 6e20 1c05 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@051c │ │ +027642: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=61 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lutil/Logger; │ │ 0x0000 - 0x0006 reg=2 (null) Ljava/lang/String; │ │ │ │ @@ -58328,18 +58328,18 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -027648: |[027648] util.Logger.message:(Ljava/lang/String;)V │ │ -027658: 6200 1c03 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@031c │ │ -02765c: 6e20 1c05 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@051c │ │ -027662: 0e00 |0005: return-void │ │ +027644: |[027644] util.Logger.message:(Ljava/lang/String;)V │ │ +027654: 6200 1c03 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@031c │ │ +027658: 6e20 1c05 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@051c │ │ +02765e: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=79 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lutil/Logger; │ │ 0x0000 - 0x0006 reg=2 (null) Ljava/lang/String; │ │ │ │ @@ -58397,28 +58397,28 @@ │ │ type : '(Lutil/LoggerInterface;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 26 16-bit code units │ │ -02879c: |[02879c] util.SuppressRepeatingsLogger.:(Lutil/LoggerInterface;)V │ │ -0287ac: 7010 4f05 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@054f │ │ -0287b2: 2200 5401 |0003: new-instance v0, Ljava/util/HashMap; // type@0154 │ │ -0287b6: 7010 0506 0000 |0005: invoke-direct {v0}, Ljava/util/HashMap;.:()V // method@0605 │ │ -0287bc: 5b20 7403 |0008: iput-object v0, v2, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0374 │ │ -0287c0: 1600 0000 |000a: const-wide/16 v0, #int 0 // #0 │ │ -0287c4: 5a20 7703 |000c: iput-wide v0, v2, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0377 │ │ -0287c8: 5a20 7303 |000e: iput-wide v0, v2, Lutil/SuppressRepeatingsLogger;.lastCleanup:J // field@0373 │ │ -0287cc: 1200 |0010: const/4 v0, #int 0 // #0 │ │ -0287ce: 5b20 7203 |0011: iput-object v0, v2, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@0372 │ │ -0287d2: 1a00 0000 |0013: const-string v0, "" // string@0000 │ │ -0287d6: 5b20 7503 |0015: iput-object v0, v2, Lutil/SuppressRepeatingsLogger;.lastTS:Ljava/lang/String; // field@0375 │ │ -0287da: 5b23 7603 |0017: iput-object v3, v2, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0376 │ │ -0287de: 0e00 |0019: return-void │ │ +028798: |[028798] util.SuppressRepeatingsLogger.:(Lutil/LoggerInterface;)V │ │ +0287a8: 7010 4f05 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@054f │ │ +0287ae: 2200 5401 |0003: new-instance v0, Ljava/util/HashMap; // type@0154 │ │ +0287b2: 7010 0506 0000 |0005: invoke-direct {v0}, Ljava/util/HashMap;.:()V // method@0605 │ │ +0287b8: 5b20 7403 |0008: iput-object v0, v2, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0374 │ │ +0287bc: 1600 0000 |000a: const-wide/16 v0, #int 0 // #0 │ │ +0287c0: 5a20 7703 |000c: iput-wide v0, v2, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0377 │ │ +0287c4: 5a20 7303 |000e: iput-wide v0, v2, Lutil/SuppressRepeatingsLogger;.lastCleanup:J // field@0373 │ │ +0287c8: 1200 |0010: const/4 v0, #int 0 // #0 │ │ +0287ca: 5b20 7203 |0011: iput-object v0, v2, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@0372 │ │ +0287ce: 1a00 0000 |0013: const-string v0, "" // string@0000 │ │ +0287d2: 5b20 7503 |0015: iput-object v0, v2, Lutil/SuppressRepeatingsLogger;.lastTS:Ljava/lang/String; // field@0375 │ │ +0287d6: 5b23 7603 |0017: iput-object v3, v2, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0376 │ │ +0287da: 0e00 |0019: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=18 │ │ 0x0003 line=11 │ │ 0x000c line=12 │ │ 0x000e line=13 │ │ 0x0011 line=14 │ │ @@ -58433,35 +58433,35 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 41 16-bit code units │ │ -0287e0: |[0287e0] util.SuppressRepeatingsLogger.addTimeStamp:()V │ │ -0287f0: 5440 7203 |0000: iget-object v0, v4, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@0372 │ │ -0287f4: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ -0287f8: 0e00 |0004: return-void │ │ -0287fa: 2201 5201 |0005: new-instance v1, Ljava/util/Date; // type@0152 │ │ -0287fe: 7010 0106 0100 |0007: invoke-direct {v1}, Ljava/util/Date;.:()V // method@0601 │ │ -028804: 6e20 ef05 1000 |000a: invoke-virtual {v0, v1}, Ljava/text/DateFormat;.format:(Ljava/util/Date;)Ljava/lang/String; // method@05ef │ │ -02880a: 0c00 |000d: move-result-object v0 │ │ -02880c: 5441 7503 |000e: iget-object v1, v4, Lutil/SuppressRepeatingsLogger;.lastTS:Ljava/lang/String; // field@0375 │ │ -028810: 6e20 6705 1000 |0010: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -028816: 0a01 |0013: move-result v1 │ │ -028818: 3901 1400 |0014: if-nez v1, 0028 // +0014 │ │ -02881c: 5441 7603 |0016: iget-object v1, v4, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0376 │ │ -028820: 5442 7203 |0018: iget-object v2, v4, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@0372 │ │ -028824: 2203 5201 |001a: new-instance v3, Ljava/util/Date; // type@0152 │ │ -028828: 7010 0106 0300 |001c: invoke-direct {v3}, Ljava/util/Date;.:()V // method@0601 │ │ -02882e: 6e20 ef05 3200 |001f: invoke-virtual {v2, v3}, Ljava/text/DateFormat;.format:(Ljava/util/Date;)Ljava/lang/String; // method@05ef │ │ -028834: 0c02 |0022: move-result-object v2 │ │ -028836: 7220 0d07 2100 |0023: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -02883c: 5b40 7503 |0026: iput-object v0, v4, Lutil/SuppressRepeatingsLogger;.lastTS:Ljava/lang/String; // field@0375 │ │ -028840: 0e00 |0028: return-void │ │ +0287dc: |[0287dc] util.SuppressRepeatingsLogger.addTimeStamp:()V │ │ +0287ec: 5440 7203 |0000: iget-object v0, v4, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@0372 │ │ +0287f0: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ +0287f4: 0e00 |0004: return-void │ │ +0287f6: 2201 5201 |0005: new-instance v1, Ljava/util/Date; // type@0152 │ │ +0287fa: 7010 0106 0100 |0007: invoke-direct {v1}, Ljava/util/Date;.:()V // method@0601 │ │ +028800: 6e20 ef05 1000 |000a: invoke-virtual {v0, v1}, Ljava/text/DateFormat;.format:(Ljava/util/Date;)Ljava/lang/String; // method@05ef │ │ +028806: 0c00 |000d: move-result-object v0 │ │ +028808: 5441 7503 |000e: iget-object v1, v4, Lutil/SuppressRepeatingsLogger;.lastTS:Ljava/lang/String; // field@0375 │ │ +02880c: 6e20 6705 1000 |0010: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +028812: 0a01 |0013: move-result v1 │ │ +028814: 3901 1400 |0014: if-nez v1, 0028 // +0014 │ │ +028818: 5441 7603 |0016: iget-object v1, v4, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0376 │ │ +02881c: 5442 7203 |0018: iget-object v2, v4, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@0372 │ │ +028820: 2203 5201 |001a: new-instance v3, Ljava/util/Date; // type@0152 │ │ +028824: 7010 0106 0300 |001c: invoke-direct {v3}, Ljava/util/Date;.:()V // method@0601 │ │ +02882a: 6e20 ef05 3200 |001f: invoke-virtual {v2, v3}, Ljava/text/DateFormat;.format:(Ljava/util/Date;)Ljava/lang/String; // method@05ef │ │ +028830: 0c02 |0022: move-result-object v2 │ │ +028832: 7220 0d07 2100 |0023: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +028838: 5b40 7503 |0026: iput-object v0, v4, Lutil/SuppressRepeatingsLogger;.lastTS:Ljava/lang/String; // field@0375 │ │ +02883c: 0e00 |0028: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=23 │ │ 0x0005 line=25 │ │ 0x000e line=26 │ │ 0x0016 line=27 │ │ 0x0026 line=28 │ │ @@ -58473,81 +58473,81 @@ │ │ type : '(Ljava/lang/String;)Z' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 14 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 119 16-bit code units │ │ -028678: |[028678] util.SuppressRepeatingsLogger.repeatingLog:(Ljava/lang/String;)Z │ │ -028688: 54c0 7403 |0000: iget-object v0, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0374 │ │ -02868c: 1d00 |0002: monitor-enter v0 │ │ -02868e: 7100 8d05 0000 |0003: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@058d │ │ -028694: 0b01 |0006: move-result-wide v1 │ │ -028696: 54c3 7403 |0007: iget-object v3, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0374 │ │ -02869a: 6e20 0906 d300 |0009: invoke-virtual {v3, v13}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0609 │ │ -0286a0: 0c03 |000c: move-result-object v3 │ │ -0286a2: 1f03 1b01 |000d: check-cast v3, Ljava/lang/Long; // type@011b │ │ -0286a6: 3803 0700 |000f: if-eqz v3, 0016 // +0007 │ │ -0286aa: 6e10 4605 0300 |0011: invoke-virtual {v3}, Ljava/lang/Long;.longValue:()J // method@0546 │ │ -0286b0: 0b03 |0014: move-result-wide v3 │ │ -0286b2: 2803 |0015: goto 0018 // +0003 │ │ -0286b4: 1603 0000 |0016: const-wide/16 v3, #int 0 // #0 │ │ -0286b8: 54c5 7403 |0018: iget-object v5, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0374 │ │ -0286bc: 7120 4805 2100 |001a: invoke-static {v1, v2}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@0548 │ │ -0286c2: 0c06 |001d: move-result-object v6 │ │ -0286c4: 6e30 0a06 d506 |001e: invoke-virtual {v5, v13, v6}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@060a │ │ -0286ca: 53c5 7303 |0021: iget-wide v5, v12, Lutil/SuppressRepeatingsLogger;.lastCleanup:J // field@0373 │ │ -0286ce: 9c05 0105 |0023: sub-long v5, v1, v5 │ │ -0286d2: 53c7 7703 |0025: iget-wide v7, v12, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0377 │ │ -0286d6: 120d |0027: const/4 v13, #int 0 // #0 │ │ -0286d8: 3109 0507 |0028: cmp-long v9, v5, v7 │ │ -0286dc: 3d09 3e00 |002a: if-lez v9, 0068 // +003e │ │ -0286e0: 54c5 7403 |002c: iget-object v5, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0374 │ │ -0286e4: 6e10 0806 0500 |002e: invoke-virtual {v5}, Ljava/util/HashMap;.entrySet:()Ljava/util/Set; // method@0608 │ │ -0286ea: 0c05 |0031: move-result-object v5 │ │ -0286ec: 54c6 7403 |0032: iget-object v6, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0374 │ │ -0286f0: 6e10 0c06 0600 |0034: invoke-virtual {v6}, Ljava/util/HashMap;.size:()I // method@060c │ │ -0286f6: 0a06 |0037: move-result v6 │ │ -0286f8: 2366 ac01 |0038: new-array v6, v6, [Ljava/util/Map$Entry; // type@01ac │ │ -0286fc: 7220 3d06 6500 |003a: invoke-interface {v5, v6}, Ljava/util/Set;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@063d │ │ -028702: 0c05 |003d: move-result-object v5 │ │ -028704: 1f05 ac01 |003e: check-cast v5, [Ljava/util/Map$Entry; // type@01ac │ │ -028708: 1206 |0040: const/4 v6, #int 0 // #0 │ │ -02870a: 2157 |0041: array-length v7, v5 │ │ -02870c: 3576 2400 |0042: if-ge v6, v7, 0066 // +0024 │ │ -028710: 4607 0506 |0044: aget-object v7, v5, v6 │ │ -028714: 7210 3106 0700 |0046: invoke-interface {v7}, Ljava/util/Map$Entry;.getValue:()Ljava/lang/Object; // method@0631 │ │ -02871a: 0c07 |0049: move-result-object v7 │ │ -02871c: 1f07 1b01 |004a: check-cast v7, Ljava/lang/Long; // type@011b │ │ -028720: 6e10 4605 0700 |004c: invoke-virtual {v7}, Ljava/lang/Long;.longValue:()J // method@0546 │ │ -028726: 0b07 |004f: move-result-wide v7 │ │ -028728: 9c07 0107 |0050: sub-long v7, v1, v7 │ │ -02872c: 53c9 7703 |0052: iget-wide v9, v12, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0377 │ │ -028730: 310b 0709 |0054: cmp-long v11, v7, v9 │ │ -028734: 3d0b 0d00 |0056: if-lez v11, 0063 // +000d │ │ -028738: 54c7 7403 |0058: iget-object v7, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0374 │ │ -02873c: 4608 0506 |005a: aget-object v8, v5, v6 │ │ -028740: 7210 3006 0800 |005c: invoke-interface {v8}, Ljava/util/Map$Entry;.getKey:()Ljava/lang/Object; // method@0630 │ │ -028746: 0c08 |005f: move-result-object v8 │ │ -028748: 6e20 0b06 8700 |0060: invoke-virtual {v7, v8}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@060b │ │ -02874e: d806 0601 |0063: add-int/lit8 v6, v6, #int 1 // #01 │ │ -028752: 28dc |0065: goto 0041 // -0024 │ │ -028754: 5ac1 7303 |0066: iput-wide v1, v12, Lutil/SuppressRepeatingsLogger;.lastCleanup:J // field@0373 │ │ -028758: bc31 |0068: sub-long/2addr v1, v3 │ │ -02875a: 53c3 7703 |0069: iget-wide v3, v12, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0377 │ │ -02875e: 3105 0103 |006b: cmp-long v5, v1, v3 │ │ -028762: 3c05 0300 |006d: if-gtz v5, 0070 // +0003 │ │ -028766: 121d |006f: const/4 v13, #int 1 // #1 │ │ -028768: 1e00 |0070: monitor-exit v0 │ │ -02876a: 0f0d |0071: return v13 │ │ -02876c: 0d0d |0072: move-exception v13 │ │ -02876e: 1e00 |0073: monitor-exit v0 │ │ -028770: 2802 |0074: goto 0076 // +0002 │ │ -028772: 270d |0075: throw v13 │ │ -028774: 28ff |0076: goto 0075 // -0001 │ │ +028674: |[028674] util.SuppressRepeatingsLogger.repeatingLog:(Ljava/lang/String;)Z │ │ +028684: 54c0 7403 |0000: iget-object v0, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0374 │ │ +028688: 1d00 |0002: monitor-enter v0 │ │ +02868a: 7100 8d05 0000 |0003: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@058d │ │ +028690: 0b01 |0006: move-result-wide v1 │ │ +028692: 54c3 7403 |0007: iget-object v3, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0374 │ │ +028696: 6e20 0906 d300 |0009: invoke-virtual {v3, v13}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0609 │ │ +02869c: 0c03 |000c: move-result-object v3 │ │ +02869e: 1f03 1b01 |000d: check-cast v3, Ljava/lang/Long; // type@011b │ │ +0286a2: 3803 0700 |000f: if-eqz v3, 0016 // +0007 │ │ +0286a6: 6e10 4605 0300 |0011: invoke-virtual {v3}, Ljava/lang/Long;.longValue:()J // method@0546 │ │ +0286ac: 0b03 |0014: move-result-wide v3 │ │ +0286ae: 2803 |0015: goto 0018 // +0003 │ │ +0286b0: 1603 0000 |0016: const-wide/16 v3, #int 0 // #0 │ │ +0286b4: 54c5 7403 |0018: iget-object v5, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0374 │ │ +0286b8: 7120 4805 2100 |001a: invoke-static {v1, v2}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@0548 │ │ +0286be: 0c06 |001d: move-result-object v6 │ │ +0286c0: 6e30 0a06 d506 |001e: invoke-virtual {v5, v13, v6}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@060a │ │ +0286c6: 53c5 7303 |0021: iget-wide v5, v12, Lutil/SuppressRepeatingsLogger;.lastCleanup:J // field@0373 │ │ +0286ca: 9c05 0105 |0023: sub-long v5, v1, v5 │ │ +0286ce: 53c7 7703 |0025: iget-wide v7, v12, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0377 │ │ +0286d2: 120d |0027: const/4 v13, #int 0 // #0 │ │ +0286d4: 3109 0507 |0028: cmp-long v9, v5, v7 │ │ +0286d8: 3d09 3e00 |002a: if-lez v9, 0068 // +003e │ │ +0286dc: 54c5 7403 |002c: iget-object v5, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0374 │ │ +0286e0: 6e10 0806 0500 |002e: invoke-virtual {v5}, Ljava/util/HashMap;.entrySet:()Ljava/util/Set; // method@0608 │ │ +0286e6: 0c05 |0031: move-result-object v5 │ │ +0286e8: 54c6 7403 |0032: iget-object v6, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0374 │ │ +0286ec: 6e10 0c06 0600 |0034: invoke-virtual {v6}, Ljava/util/HashMap;.size:()I // method@060c │ │ +0286f2: 0a06 |0037: move-result v6 │ │ +0286f4: 2366 ac01 |0038: new-array v6, v6, [Ljava/util/Map$Entry; // type@01ac │ │ +0286f8: 7220 3d06 6500 |003a: invoke-interface {v5, v6}, Ljava/util/Set;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@063d │ │ +0286fe: 0c05 |003d: move-result-object v5 │ │ +028700: 1f05 ac01 |003e: check-cast v5, [Ljava/util/Map$Entry; // type@01ac │ │ +028704: 1206 |0040: const/4 v6, #int 0 // #0 │ │ +028706: 2157 |0041: array-length v7, v5 │ │ +028708: 3576 2400 |0042: if-ge v6, v7, 0066 // +0024 │ │ +02870c: 4607 0506 |0044: aget-object v7, v5, v6 │ │ +028710: 7210 3106 0700 |0046: invoke-interface {v7}, Ljava/util/Map$Entry;.getValue:()Ljava/lang/Object; // method@0631 │ │ +028716: 0c07 |0049: move-result-object v7 │ │ +028718: 1f07 1b01 |004a: check-cast v7, Ljava/lang/Long; // type@011b │ │ +02871c: 6e10 4605 0700 |004c: invoke-virtual {v7}, Ljava/lang/Long;.longValue:()J // method@0546 │ │ +028722: 0b07 |004f: move-result-wide v7 │ │ +028724: 9c07 0107 |0050: sub-long v7, v1, v7 │ │ +028728: 53c9 7703 |0052: iget-wide v9, v12, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0377 │ │ +02872c: 310b 0709 |0054: cmp-long v11, v7, v9 │ │ +028730: 3d0b 0d00 |0056: if-lez v11, 0063 // +000d │ │ +028734: 54c7 7403 |0058: iget-object v7, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0374 │ │ +028738: 4608 0506 |005a: aget-object v8, v5, v6 │ │ +02873c: 7210 3006 0800 |005c: invoke-interface {v8}, Ljava/util/Map$Entry;.getKey:()Ljava/lang/Object; // method@0630 │ │ +028742: 0c08 |005f: move-result-object v8 │ │ +028744: 6e20 0b06 8700 |0060: invoke-virtual {v7, v8}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@060b │ │ +02874a: d806 0601 |0063: add-int/lit8 v6, v6, #int 1 // #01 │ │ +02874e: 28dc |0065: goto 0041 // -0024 │ │ +028750: 5ac1 7303 |0066: iput-wide v1, v12, Lutil/SuppressRepeatingsLogger;.lastCleanup:J // field@0373 │ │ +028754: bc31 |0068: sub-long/2addr v1, v3 │ │ +028756: 53c3 7703 |0069: iget-wide v3, v12, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0377 │ │ +02875a: 3105 0103 |006b: cmp-long v5, v1, v3 │ │ +02875e: 3c05 0300 |006d: if-gtz v5, 0070 // +0003 │ │ +028762: 121d |006f: const/4 v13, #int 1 // #1 │ │ +028764: 1e00 |0070: monitor-exit v0 │ │ +028766: 0f0d |0071: return v13 │ │ +028768: 0d0d |0072: move-exception v13 │ │ +02876a: 1e00 |0073: monitor-exit v0 │ │ +02876c: 2802 |0074: goto 0076 // +0002 │ │ +02876e: 270d |0075: throw v13 │ │ +028770: 28ff |0076: goto 0075 // -0001 │ │ catches : 1 │ │ 0x0003 - 0x0074 │ │ -> 0x0072 │ │ positions : │ │ 0x0000 line=56 │ │ 0x0003 line=57 │ │ 0x0007 line=60 │ │ @@ -58571,20 +58571,20 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 11 16-bit code units │ │ -028844: |[028844] util.SuppressRepeatingsLogger.closeLogger:()V │ │ -028854: 5410 7403 |0000: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0374 │ │ -028858: 6e10 0606 0000 |0002: invoke-virtual {v0}, Ljava/util/HashMap;.clear:()V // method@0606 │ │ -02885e: 5410 7603 |0005: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0376 │ │ -028862: 7210 0a07 0000 |0007: invoke-interface {v0}, Lutil/LoggerInterface;.closeLogger:()V // method@070a │ │ -028868: 0e00 |000a: return-void │ │ +028840: |[028840] util.SuppressRepeatingsLogger.closeLogger:()V │ │ +028850: 5410 7403 |0000: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0374 │ │ +028854: 6e10 0606 0000 |0002: invoke-virtual {v0}, Ljava/util/HashMap;.clear:()V // method@0606 │ │ +02885a: 5410 7603 |0005: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0376 │ │ +02885e: 7210 0a07 0000 |0007: invoke-interface {v0}, Lutil/LoggerInterface;.closeLogger:()V // method@070a │ │ +028864: 0e00 |000a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=108 │ │ 0x0005 line=109 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Lutil/SuppressRepeatingsLogger; │ │ │ │ @@ -58593,17 +58593,17 @@ │ │ type : '()Lutil/LoggerInterface;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -028784: |[028784] util.SuppressRepeatingsLogger.getNestedLogger:()Lutil/LoggerInterface; │ │ -028794: 5410 7603 |0000: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0376 │ │ -028798: 1100 |0002: return-object v0 │ │ +028780: |[028780] util.SuppressRepeatingsLogger.getNestedLogger:()Lutil/LoggerInterface; │ │ +028790: 5410 7603 |0000: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0376 │ │ +028794: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=38 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lutil/SuppressRepeatingsLogger; │ │ │ │ #2 : (in Lutil/SuppressRepeatingsLogger;) │ │ @@ -58611,21 +58611,21 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 12 16-bit code units │ │ -02886c: |[02886c] util.SuppressRepeatingsLogger.log:(Ljava/lang/String;)V │ │ -02887c: 7020 5607 2100 |0000: invoke-direct {v1, v2}, Lutil/SuppressRepeatingsLogger;.repeatingLog:(Ljava/lang/String;)Z // method@0756 │ │ -028882: 0a00 |0003: move-result v0 │ │ -028884: 3900 0700 |0004: if-nez v0, 000b // +0007 │ │ -028888: 5410 7603 |0006: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0376 │ │ -02888c: 7220 0b07 2000 |0008: invoke-interface {v0, v2}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@070b │ │ -028892: 0e00 |000b: return-void │ │ +028868: |[028868] util.SuppressRepeatingsLogger.log:(Ljava/lang/String;)V │ │ +028878: 7020 5607 2100 |0000: invoke-direct {v1, v2}, Lutil/SuppressRepeatingsLogger;.repeatingLog:(Ljava/lang/String;)Z // method@0756 │ │ +02887e: 0a00 |0003: move-result v0 │ │ +028880: 3900 0700 |0004: if-nez v0, 000b // +0007 │ │ +028884: 5410 7603 |0006: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0376 │ │ +028888: 7220 0b07 2000 |0008: invoke-interface {v0, v2}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@070b │ │ +02888e: 0e00 |000b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=97 │ │ 0x0006 line=98 │ │ locals : │ │ 0x0000 - 0x000c reg=1 this Lutil/SuppressRepeatingsLogger; │ │ 0x0000 - 0x000c reg=2 (null) Ljava/lang/String; │ │ @@ -58635,19 +58635,19 @@ │ │ type : '(Ljava/lang/Exception;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 9 16-bit code units │ │ -028894: |[028894] util.SuppressRepeatingsLogger.logException:(Ljava/lang/Exception;)V │ │ -0288a4: 7010 4f07 0100 |0000: invoke-direct {v1}, Lutil/SuppressRepeatingsLogger;.addTimeStamp:()V // method@074f │ │ -0288aa: 5410 7603 |0003: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0376 │ │ -0288ae: 7220 0c07 2000 |0005: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ -0288b4: 0e00 |0008: return-void │ │ +028890: |[028890] util.SuppressRepeatingsLogger.logException:(Ljava/lang/Exception;)V │ │ +0288a0: 7010 4f07 0100 |0000: invoke-direct {v1}, Lutil/SuppressRepeatingsLogger;.addTimeStamp:()V // method@074f │ │ +0288a6: 5410 7603 |0003: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0376 │ │ +0288aa: 7220 0c07 2000 |0005: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@070c │ │ +0288b0: 0e00 |0008: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=91 │ │ 0x0003 line=92 │ │ locals : │ │ 0x0000 - 0x0009 reg=1 this Lutil/SuppressRepeatingsLogger; │ │ 0x0000 - 0x0009 reg=2 (null) Ljava/lang/Exception; │ │ @@ -58657,22 +58657,22 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -0288b8: |[0288b8] util.SuppressRepeatingsLogger.logLine:(Ljava/lang/String;)V │ │ -0288c8: 7020 5607 2100 |0000: invoke-direct {v1, v2}, Lutil/SuppressRepeatingsLogger;.repeatingLog:(Ljava/lang/String;)Z // method@0756 │ │ -0288ce: 0a00 |0003: move-result v0 │ │ -0288d0: 3900 0a00 |0004: if-nez v0, 000e // +000a │ │ -0288d4: 7010 4f07 0100 |0006: invoke-direct {v1}, Lutil/SuppressRepeatingsLogger;.addTimeStamp:()V // method@074f │ │ -0288da: 5410 7603 |0009: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0376 │ │ -0288de: 7220 0d07 2000 |000b: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ -0288e4: 0e00 |000e: return-void │ │ +0288b4: |[0288b4] util.SuppressRepeatingsLogger.logLine:(Ljava/lang/String;)V │ │ +0288c4: 7020 5607 2100 |0000: invoke-direct {v1, v2}, Lutil/SuppressRepeatingsLogger;.repeatingLog:(Ljava/lang/String;)Z // method@0756 │ │ +0288ca: 0a00 |0003: move-result v0 │ │ +0288cc: 3900 0a00 |0004: if-nez v0, 000e // +000a │ │ +0288d0: 7010 4f07 0100 |0006: invoke-direct {v1}, Lutil/SuppressRepeatingsLogger;.addTimeStamp:()V // method@074f │ │ +0288d6: 5410 7603 |0009: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0376 │ │ +0288da: 7220 0d07 2000 |000b: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@070d │ │ +0288e0: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=83 │ │ 0x0006 line=84 │ │ 0x0009 line=85 │ │ locals : │ │ 0x0000 - 0x000f reg=1 this Lutil/SuppressRepeatingsLogger; │ │ @@ -58683,18 +58683,18 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -0288e8: |[0288e8] util.SuppressRepeatingsLogger.message:(Ljava/lang/String;)V │ │ -0288f8: 5410 7603 |0000: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0376 │ │ -0288fc: 7220 0e07 2000 |0002: invoke-interface {v0, v2}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ -028902: 0e00 |0005: return-void │ │ +0288e4: |[0288e4] util.SuppressRepeatingsLogger.message:(Ljava/lang/String;)V │ │ +0288f4: 5410 7603 |0000: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0376 │ │ +0288f8: 7220 0e07 2000 |0002: invoke-interface {v0, v2}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@070e │ │ +0288fe: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=103 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lutil/SuppressRepeatingsLogger; │ │ 0x0000 - 0x0006 reg=2 (null) Ljava/lang/String; │ │ │ │ @@ -58703,17 +58703,17 @@ │ │ type : '(Lutil/LoggerInterface;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -028904: |[028904] util.SuppressRepeatingsLogger.setNestedLogger:(Lutil/LoggerInterface;)V │ │ -028914: 5b01 7603 |0000: iput-object v1, v0, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0376 │ │ -028918: 0e00 |0002: return-void │ │ +028900: |[028900] util.SuppressRepeatingsLogger.setNestedLogger:(Lutil/LoggerInterface;)V │ │ +028910: 5b01 7603 |0000: iput-object v1, v0, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0376 │ │ +028914: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=34 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Lutil/SuppressRepeatingsLogger; │ │ 0x0000 - 0x0003 reg=1 (null) Lutil/LoggerInterface; │ │ │ │ @@ -58722,17 +58722,17 @@ │ │ type : '(J)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02891c: |[02891c] util.SuppressRepeatingsLogger.setSuppressTime:(J)V │ │ -02892c: 5a01 7703 |0000: iput-wide v1, v0, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0377 │ │ -028930: 0e00 |0002: return-void │ │ +028918: |[028918] util.SuppressRepeatingsLogger.setSuppressTime:(J)V │ │ +028928: 5a01 7703 |0000: iput-wide v1, v0, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0377 │ │ +02892c: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=42 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Lutil/SuppressRepeatingsLogger; │ │ 0x0000 - 0x0003 reg=1 (null) J │ │ │ │ @@ -58741,23 +58741,23 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 14 16-bit code units │ │ -028934: |[028934] util.SuppressRepeatingsLogger.setTimestampFormat:(Ljava/lang/String;)V │ │ -028944: 3802 0a00 |0000: if-eqz v2, 000a // +000a │ │ -028948: 2200 4b01 |0002: new-instance v0, Ljava/text/SimpleDateFormat; // type@014b │ │ -02894c: 7020 f005 2000 |0004: invoke-direct {v0, v2}, Ljava/text/SimpleDateFormat;.:(Ljava/lang/String;)V // method@05f0 │ │ -028952: 5b10 7203 |0007: iput-object v0, v1, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@0372 │ │ -028956: 2804 |0009: goto 000d // +0004 │ │ -028958: 1202 |000a: const/4 v2, #int 0 // #0 │ │ -02895a: 5b12 7203 |000b: iput-object v2, v1, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@0372 │ │ -02895e: 0e00 |000d: return-void │ │ +028930: |[028930] util.SuppressRepeatingsLogger.setTimestampFormat:(Ljava/lang/String;)V │ │ +028940: 3802 0a00 |0000: if-eqz v2, 000a // +000a │ │ +028944: 2200 4b01 |0002: new-instance v0, Ljava/text/SimpleDateFormat; // type@014b │ │ +028948: 7020 f005 2000 |0004: invoke-direct {v0, v2}, Ljava/text/SimpleDateFormat;.:(Ljava/lang/String;)V // method@05f0 │ │ +02894e: 5b10 7203 |0007: iput-object v0, v1, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@0372 │ │ +028952: 2804 |0009: goto 000d // +0004 │ │ +028954: 1202 |000a: const/4 v2, #int 0 // #0 │ │ +028956: 5b12 7203 |000b: iput-object v2, v1, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@0372 │ │ +02895a: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=47 │ │ 0x000b line=49 │ │ locals : │ │ 0x0000 - 0x000e reg=1 this Lutil/SuppressRepeatingsLogger; │ │ 0x0000 - 0x000e reg=2 (null) Ljava/lang/String; │ │ @@ -58904,38 +58904,38 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 50 16-bit code units │ │ -029f38: |[029f38] util.conpool.Connection.:()V │ │ -029f48: 1240 |0000: const/4 v0, #int 4 // #4 │ │ -029f4a: 2300 9901 |0001: new-array v0, v0, [B // type@0199 │ │ -029f4e: 2600 2900 0000 |0003: fill-array-data v0, 0000002c // +00000029 │ │ -029f54: 6900 8103 |0006: sput-object v0, Lutil/conpool/Connection;.NO_IP:[B // field@0381 │ │ -029f58: 2200 5401 |0008: new-instance v0, Ljava/util/HashMap; // type@0154 │ │ -029f5c: 7010 0506 0000 |000a: invoke-direct {v0}, Ljava/util/HashMap;.:()V // method@0605 │ │ -029f62: 6900 8603 |000d: sput-object v0, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0386 │ │ -029f66: 2200 5501 |000f: new-instance v0, Ljava/util/HashSet; // type@0155 │ │ -029f6a: 7010 0e06 0000 |0011: invoke-direct {v0}, Ljava/util/HashSet;.:()V // method@060e │ │ -029f70: 6900 8503 |0014: sput-object v0, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0385 │ │ -029f74: 7100 8e07 0000 |0016: invoke-static {}, Lutil/conpool/Connection;.getCustomHosts:()Ljava/util/Hashtable; // method@078e │ │ -029f7a: 0c00 |0019: move-result-object v0 │ │ -029f7c: 6900 7f03 |001a: sput-object v0, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037f │ │ -029f80: 1200 |001c: const/4 v0, #int 0 // #0 │ │ -029f82: 6900 8003 |001d: sput-object v0, Lutil/conpool/Connection;.CUSTOM_HOSTS_FILE_NAME:Ljava/lang/String; // field@0380 │ │ -029f86: 1301 2c01 |001f: const/16 v1, #int 300 // #12c │ │ -029f8a: 6701 8203 |0021: sput v1, Lutil/conpool/Connection;.POOLTIMEOUT_SECONDS:I // field@0382 │ │ -029f8e: 7100 6307 0000 |0023: invoke-static {}, Lutil/TimoutNotificator;.getNewInstance:()Lutil/TimoutNotificator; // method@0763 │ │ -029f94: 0c01 |0026: move-result-object v1 │ │ -029f96: 6901 9303 |0027: sput-object v1, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0393 │ │ -029f9a: 6900 8703 |0029: sput-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0387 │ │ -029f9e: 0e00 |002b: return-void │ │ -029fa0: 0003 0100 0400 0000 0000 0000 |002c: array-data (6 units) │ │ +029f34: |[029f34] util.conpool.Connection.:()V │ │ +029f44: 1240 |0000: const/4 v0, #int 4 // #4 │ │ +029f46: 2300 9901 |0001: new-array v0, v0, [B // type@0199 │ │ +029f4a: 2600 2900 0000 |0003: fill-array-data v0, 0000002c // +00000029 │ │ +029f50: 6900 8103 |0006: sput-object v0, Lutil/conpool/Connection;.NO_IP:[B // field@0381 │ │ +029f54: 2200 5401 |0008: new-instance v0, Ljava/util/HashMap; // type@0154 │ │ +029f58: 7010 0506 0000 |000a: invoke-direct {v0}, Ljava/util/HashMap;.:()V // method@0605 │ │ +029f5e: 6900 8603 |000d: sput-object v0, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0386 │ │ +029f62: 2200 5501 |000f: new-instance v0, Ljava/util/HashSet; // type@0155 │ │ +029f66: 7010 0e06 0000 |0011: invoke-direct {v0}, Ljava/util/HashSet;.:()V // method@060e │ │ +029f6c: 6900 8503 |0014: sput-object v0, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0385 │ │ +029f70: 7100 8e07 0000 |0016: invoke-static {}, Lutil/conpool/Connection;.getCustomHosts:()Ljava/util/Hashtable; // method@078e │ │ +029f76: 0c00 |0019: move-result-object v0 │ │ +029f78: 6900 7f03 |001a: sput-object v0, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037f │ │ +029f7c: 1200 |001c: const/4 v0, #int 0 // #0 │ │ +029f7e: 6900 8003 |001d: sput-object v0, Lutil/conpool/Connection;.CUSTOM_HOSTS_FILE_NAME:Ljava/lang/String; // field@0380 │ │ +029f82: 1301 2c01 |001f: const/16 v1, #int 300 // #12c │ │ +029f86: 6701 8203 |0021: sput v1, Lutil/conpool/Connection;.POOLTIMEOUT_SECONDS:I // field@0382 │ │ +029f8a: 7100 6307 0000 |0023: invoke-static {}, Lutil/TimoutNotificator;.getNewInstance:()Lutil/TimoutNotificator; // method@0763 │ │ +029f90: 0c01 |0026: move-result-object v1 │ │ +029f92: 6901 9303 |0027: sput-object v1, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0393 │ │ +029f96: 6900 8703 |0029: sput-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0387 │ │ +029f9a: 0e00 |002b: return-void │ │ +029f9c: 0003 0100 0400 0000 0000 0000 |002c: array-data (6 units) │ │ catches : (none) │ │ positions : │ │ 0x0001 line=71 │ │ 0x0008 line=72 │ │ 0x000f line=73 │ │ 0x0016 line=74 │ │ 0x001d line=75 │ │ @@ -58949,53 +58949,53 @@ │ │ type : '(Ljava/lang/String;IIZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 14 │ │ ins : 7 │ │ outs : 6 │ │ insns size : 70 16-bit code units │ │ -029fac: |[029fac] util.conpool.Connection.:(Ljava/lang/String;IIZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)V │ │ -029fbc: 7010 4f05 0700 |0000: invoke-direct {v7}, Ljava/lang/Object;.:()V // method@054f │ │ -029fc2: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -029fc4: 5b70 8d03 |0004: iput-object v0, v7, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ -029fc8: 1211 |0006: const/4 v1, #int 1 // #1 │ │ -029fca: 5c71 8303 |0007: iput-boolean v1, v7, Lutil/conpool/Connection;.acquired:Z // field@0383 │ │ -029fce: 5c71 9403 |0009: iput-boolean v1, v7, Lutil/conpool/Connection;.valid:Z // field@0394 │ │ -029fd2: 1201 |000b: const/4 v1, #int 0 // #0 │ │ -029fd4: 5c71 9003 |000c: iput-boolean v1, v7, Lutil/conpool/Connection;.ssl:Z // field@0390 │ │ -029fd8: 6201 7f03 |000e: sget-object v1, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037f │ │ -029fdc: 3801 0800 |0010: if-eqz v1, 0018 // +0008 │ │ -029fe0: 6e20 1806 8100 |0012: invoke-virtual {v1, v8}, Ljava/util/Hashtable;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0618 │ │ -029fe6: 0c00 |0015: move-result-object v0 │ │ -029fe8: 1f00 3201 |0016: check-cast v0, Ljava/net/InetAddress; // type@0132 │ │ -029fec: 3900 1100 |0018: if-nez v0, 0029 // +0011 │ │ -029ff0: 6200 1e03 |001a: sget-object v0, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031e │ │ -029ff4: 330d 0700 |001c: if-ne v13, v0, 0023 // +0007 │ │ -029ff8: 7110 af05 0800 |001e: invoke-static {v8}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05af │ │ -029ffe: 0c00 |0021: move-result-object v0 │ │ -02a000: 2807 |0022: goto 0029 // +0007 │ │ -02a002: 6200 8103 |0023: sget-object v0, Lutil/conpool/Connection;.NO_IP:[B // field@0381 │ │ -02a006: 7120 ad05 0800 |0025: invoke-static {v8, v0}, Ljava/net/InetAddress;.getByAddress:(Ljava/lang/String;[B)Ljava/net/InetAddress; // method@05ad │ │ -02a00c: 0c00 |0028: move-result-object v0 │ │ -02a00e: 2202 3301 |0029: new-instance v2, Ljava/net/InetSocketAddress; // type@0133 │ │ -02a012: 7030 b405 0209 |002b: invoke-direct {v2, v0, v9}, Ljava/net/InetSocketAddress;.:(Ljava/net/InetAddress;I)V // method@05b4 │ │ -02a018: 7140 9a07 98db |002e: invoke-static {v8, v9, v11, v13}, Lutil/conpool/Connection;.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; // method@079a │ │ -02a01e: 0c08 |0031: move-result-object v8 │ │ -02a020: 5b78 8a03 |0032: iput-object v8, v7, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@038a │ │ -02a024: 0771 |0034: move-object v1, v7 │ │ -02a026: 01a3 |0035: move v3, v10 │ │ -02a028: 01b4 |0036: move v4, v11 │ │ -02a02a: 07c5 |0037: move-object v5, v12 │ │ -02a02c: 07d6 |0038: move-object v6, v13 │ │ -02a02e: 7606 9507 0100 |0039: invoke-direct/range {v1, v2, v3, v4, v5, v6}, Lutil/conpool/Connection;.initConnection:(Ljava/net/InetSocketAddress;IZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)V // method@0795 │ │ -02a034: 2208 8c01 |003c: new-instance v8, Lutil/TimeoutTime; // type@018c │ │ -02a038: 6209 9303 |003e: sget-object v9, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0393 │ │ -02a03c: 7020 5c07 9800 |0040: invoke-direct {v8, v9}, Lutil/TimeoutTime;.:(Lutil/TimoutNotificator;)V // method@075c │ │ -02a042: 5b78 9203 |0043: iput-object v8, v7, Lutil/conpool/Connection;.timeout:Lutil/TimeoutTime; // field@0392 │ │ -02a046: 0e00 |0045: return-void │ │ +029fa8: |[029fa8] util.conpool.Connection.:(Ljava/lang/String;IIZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)V │ │ +029fb8: 7010 4f05 0700 |0000: invoke-direct {v7}, Ljava/lang/Object;.:()V // method@054f │ │ +029fbe: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +029fc0: 5b70 8d03 |0004: iput-object v0, v7, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ +029fc4: 1211 |0006: const/4 v1, #int 1 // #1 │ │ +029fc6: 5c71 8303 |0007: iput-boolean v1, v7, Lutil/conpool/Connection;.acquired:Z // field@0383 │ │ +029fca: 5c71 9403 |0009: iput-boolean v1, v7, Lutil/conpool/Connection;.valid:Z // field@0394 │ │ +029fce: 1201 |000b: const/4 v1, #int 0 // #0 │ │ +029fd0: 5c71 9003 |000c: iput-boolean v1, v7, Lutil/conpool/Connection;.ssl:Z // field@0390 │ │ +029fd4: 6201 7f03 |000e: sget-object v1, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037f │ │ +029fd8: 3801 0800 |0010: if-eqz v1, 0018 // +0008 │ │ +029fdc: 6e20 1806 8100 |0012: invoke-virtual {v1, v8}, Ljava/util/Hashtable;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0618 │ │ +029fe2: 0c00 |0015: move-result-object v0 │ │ +029fe4: 1f00 3201 |0016: check-cast v0, Ljava/net/InetAddress; // type@0132 │ │ +029fe8: 3900 1100 |0018: if-nez v0, 0029 // +0011 │ │ +029fec: 6200 1e03 |001a: sget-object v0, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031e │ │ +029ff0: 330d 0700 |001c: if-ne v13, v0, 0023 // +0007 │ │ +029ff4: 7110 af05 0800 |001e: invoke-static {v8}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05af │ │ +029ffa: 0c00 |0021: move-result-object v0 │ │ +029ffc: 2807 |0022: goto 0029 // +0007 │ │ +029ffe: 6200 8103 |0023: sget-object v0, Lutil/conpool/Connection;.NO_IP:[B // field@0381 │ │ +02a002: 7120 ad05 0800 |0025: invoke-static {v8, v0}, Ljava/net/InetAddress;.getByAddress:(Ljava/lang/String;[B)Ljava/net/InetAddress; // method@05ad │ │ +02a008: 0c00 |0028: move-result-object v0 │ │ +02a00a: 2202 3301 |0029: new-instance v2, Ljava/net/InetSocketAddress; // type@0133 │ │ +02a00e: 7030 b405 0209 |002b: invoke-direct {v2, v0, v9}, Ljava/net/InetSocketAddress;.:(Ljava/net/InetAddress;I)V // method@05b4 │ │ +02a014: 7140 9a07 98db |002e: invoke-static {v8, v9, v11, v13}, Lutil/conpool/Connection;.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; // method@079a │ │ +02a01a: 0c08 |0031: move-result-object v8 │ │ +02a01c: 5b78 8a03 |0032: iput-object v8, v7, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@038a │ │ +02a020: 0771 |0034: move-object v1, v7 │ │ +02a022: 01a3 |0035: move v3, v10 │ │ +02a024: 01b4 |0036: move v4, v11 │ │ +02a026: 07c5 |0037: move-object v5, v12 │ │ +02a028: 07d6 |0038: move-object v6, v13 │ │ +02a02a: 7606 9507 0100 |0039: invoke-direct/range {v1, v2, v3, v4, v5, v6}, Lutil/conpool/Connection;.initConnection:(Ljava/net/InetSocketAddress;IZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)V // method@0795 │ │ +02a030: 2208 8c01 |003c: new-instance v8, Lutil/TimeoutTime; // type@018c │ │ +02a034: 6209 9303 |003e: sget-object v9, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0393 │ │ +02a038: 7020 5c07 9800 |0040: invoke-direct {v8, v9}, Lutil/TimeoutTime;.:(Lutil/TimoutNotificator;)V // method@075c │ │ +02a03e: 5b78 9203 |0043: iput-object v8, v7, Lutil/conpool/Connection;.timeout:Lutil/TimeoutTime; // field@0392 │ │ +02a042: 0e00 |0045: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=79 │ │ 0x0004 line=56 │ │ 0x0007 line=63 │ │ 0x0009 line=64 │ │ 0x000c line=65 │ │ @@ -59022,38 +59022,38 @@ │ │ type : '(Ljava/net/InetSocketAddress;IZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 8 │ │ ins : 6 │ │ outs : 6 │ │ insns size : 45 16-bit code units │ │ -02a048: |[02a048] util.conpool.Connection.:(Ljava/net/InetSocketAddress;IZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)V │ │ -02a058: 7010 4f05 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@054f │ │ -02a05e: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -02a060: 5b20 8d03 |0004: iput-object v0, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ -02a064: 1210 |0006: const/4 v0, #int 1 // #1 │ │ -02a066: 5c20 8303 |0007: iput-boolean v0, v2, Lutil/conpool/Connection;.acquired:Z // field@0383 │ │ -02a06a: 5c20 9403 |0009: iput-boolean v0, v2, Lutil/conpool/Connection;.valid:Z // field@0394 │ │ -02a06e: 1200 |000b: const/4 v0, #int 0 // #0 │ │ -02a070: 5c20 9003 |000c: iput-boolean v0, v2, Lutil/conpool/Connection;.ssl:Z // field@0390 │ │ -02a074: 6e10 b605 0300 |000e: invoke-virtual {v3}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05b6 │ │ -02a07a: 0c00 |0011: move-result-object v0 │ │ -02a07c: 6e10 b005 0000 |0012: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05b0 │ │ -02a082: 0c00 |0015: move-result-object v0 │ │ -02a084: 6e10 b805 0300 |0016: invoke-virtual {v3}, Ljava/net/InetSocketAddress;.getPort:()I // method@05b8 │ │ -02a08a: 0a01 |0019: move-result v1 │ │ -02a08c: 7140 9a07 1075 |001a: invoke-static {v0, v1, v5, v7}, Lutil/conpool/Connection;.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; // method@079a │ │ -02a092: 0c00 |001d: move-result-object v0 │ │ -02a094: 5b20 8a03 |001e: iput-object v0, v2, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@038a │ │ -02a098: 7606 9507 0200 |0020: invoke-direct/range {v2, v3, v4, v5, v6, v7}, Lutil/conpool/Connection;.initConnection:(Ljava/net/InetSocketAddress;IZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)V // method@0795 │ │ -02a09e: 2203 8c01 |0023: new-instance v3, Lutil/TimeoutTime; // type@018c │ │ -02a0a2: 6204 9303 |0025: sget-object v4, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0393 │ │ -02a0a6: 7020 5c07 4300 |0027: invoke-direct {v3, v4}, Lutil/TimeoutTime;.:(Lutil/TimoutNotificator;)V // method@075c │ │ -02a0ac: 5b23 9203 |002a: iput-object v3, v2, Lutil/conpool/Connection;.timeout:Lutil/TimeoutTime; // field@0392 │ │ -02a0b0: 0e00 |002c: return-void │ │ +02a044: |[02a044] util.conpool.Connection.:(Ljava/net/InetSocketAddress;IZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)V │ │ +02a054: 7010 4f05 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@054f │ │ +02a05a: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +02a05c: 5b20 8d03 |0004: iput-object v0, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ +02a060: 1210 |0006: const/4 v0, #int 1 // #1 │ │ +02a062: 5c20 8303 |0007: iput-boolean v0, v2, Lutil/conpool/Connection;.acquired:Z // field@0383 │ │ +02a066: 5c20 9403 |0009: iput-boolean v0, v2, Lutil/conpool/Connection;.valid:Z // field@0394 │ │ +02a06a: 1200 |000b: const/4 v0, #int 0 // #0 │ │ +02a06c: 5c20 9003 |000c: iput-boolean v0, v2, Lutil/conpool/Connection;.ssl:Z // field@0390 │ │ +02a070: 6e10 b605 0300 |000e: invoke-virtual {v3}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05b6 │ │ +02a076: 0c00 |0011: move-result-object v0 │ │ +02a078: 6e10 b005 0000 |0012: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05b0 │ │ +02a07e: 0c00 |0015: move-result-object v0 │ │ +02a080: 6e10 b805 0300 |0016: invoke-virtual {v3}, Ljava/net/InetSocketAddress;.getPort:()I // method@05b8 │ │ +02a086: 0a01 |0019: move-result v1 │ │ +02a088: 7140 9a07 1075 |001a: invoke-static {v0, v1, v5, v7}, Lutil/conpool/Connection;.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; // method@079a │ │ +02a08e: 0c00 |001d: move-result-object v0 │ │ +02a090: 5b20 8a03 |001e: iput-object v0, v2, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@038a │ │ +02a094: 7606 9507 0200 |0020: invoke-direct/range {v2, v3, v4, v5, v6, v7}, Lutil/conpool/Connection;.initConnection:(Ljava/net/InetSocketAddress;IZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)V // method@0795 │ │ +02a09a: 2203 8c01 |0023: new-instance v3, Lutil/TimeoutTime; // type@018c │ │ +02a09e: 6204 9303 |0025: sget-object v4, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0393 │ │ +02a0a2: 7020 5c07 4300 |0027: invoke-direct {v3, v4}, Lutil/TimeoutTime;.:(Lutil/TimoutNotificator;)V // method@075c │ │ +02a0a8: 5b23 9203 |002a: iput-object v3, v2, Lutil/conpool/Connection;.timeout:Lutil/TimeoutTime; // field@0392 │ │ +02a0ac: 0e00 |002c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=96 │ │ 0x0004 line=56 │ │ 0x0007 line=63 │ │ 0x0009 line=64 │ │ 0x000c line=65 │ │ @@ -59073,31 +59073,31 @@ │ │ type : '(Ljava/net/InetAddress;)V' │ │ access : 0x20009 (PUBLIC STATIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 28 16-bit code units │ │ -02a0b4: |[02a0b4] util.conpool.Connection.addCustomHost:(Ljava/net/InetAddress;)V │ │ -02a0c4: 1c00 8f01 |0000: const-class v0, Lutil/conpool/Connection; // type@018f │ │ -02a0c8: 1d00 |0002: monitor-enter v0 │ │ -02a0ca: 6201 7f03 |0003: sget-object v1, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037f │ │ -02a0ce: 3901 0900 |0005: if-nez v1, 000e // +0009 │ │ -02a0d2: 2201 5601 |0007: new-instance v1, Ljava/util/Hashtable; // type@0156 │ │ -02a0d6: 7010 1706 0100 |0009: invoke-direct {v1}, Ljava/util/Hashtable;.:()V // method@0617 │ │ -02a0dc: 6901 7f03 |000c: sput-object v1, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037f │ │ -02a0e0: 6201 7f03 |000e: sget-object v1, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037f │ │ -02a0e4: 6e10 b105 0300 |0010: invoke-virtual {v3}, Ljava/net/InetAddress;.getHostName:()Ljava/lang/String; // method@05b1 │ │ -02a0ea: 0c02 |0013: move-result-object v2 │ │ -02a0ec: 6e30 1906 2103 |0014: invoke-virtual {v1, v2, v3}, Ljava/util/Hashtable;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0619 │ │ -02a0f2: 1e00 |0017: monitor-exit v0 │ │ -02a0f4: 0e00 |0018: return-void │ │ -02a0f6: 0d03 |0019: move-exception v3 │ │ -02a0f8: 1e00 |001a: monitor-exit v0 │ │ -02a0fa: 2703 |001b: throw v3 │ │ +02a0b0: |[02a0b0] util.conpool.Connection.addCustomHost:(Ljava/net/InetAddress;)V │ │ +02a0c0: 1c00 8f01 |0000: const-class v0, Lutil/conpool/Connection; // type@018f │ │ +02a0c4: 1d00 |0002: monitor-enter v0 │ │ +02a0c6: 6201 7f03 |0003: sget-object v1, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037f │ │ +02a0ca: 3901 0900 |0005: if-nez v1, 000e // +0009 │ │ +02a0ce: 2201 5601 |0007: new-instance v1, Ljava/util/Hashtable; // type@0156 │ │ +02a0d2: 7010 1706 0100 |0009: invoke-direct {v1}, Ljava/util/Hashtable;.:()V // method@0617 │ │ +02a0d8: 6901 7f03 |000c: sput-object v1, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037f │ │ +02a0dc: 6201 7f03 |000e: sget-object v1, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037f │ │ +02a0e0: 6e10 b105 0300 |0010: invoke-virtual {v3}, Ljava/net/InetAddress;.getHostName:()Ljava/lang/String; // method@05b1 │ │ +02a0e6: 0c02 |0013: move-result-object v2 │ │ +02a0e8: 6e30 1906 2103 |0014: invoke-virtual {v1, v2, v3}, Ljava/util/Hashtable;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0619 │ │ +02a0ee: 1e00 |0017: monitor-exit v0 │ │ +02a0f0: 0e00 |0018: return-void │ │ +02a0f2: 0d03 |0019: move-exception v3 │ │ +02a0f4: 1e00 |001a: monitor-exit v0 │ │ +02a0f6: 2703 |001b: throw v3 │ │ catches : 1 │ │ 0x0003 - 0x0017 │ │ -> 0x0019 │ │ positions : │ │ 0x0003 line=151 │ │ 0x0007 line=152 │ │ 0x000e line=153 │ │ @@ -59110,24 +59110,24 @@ │ │ type : '(Ljava/lang/String;I)Lutil/conpool/Connection;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 8 │ │ ins : 2 │ │ outs : 6 │ │ insns size : 12 16-bit code units │ │ -029d20: |[029d20] util.conpool.Connection.connect:(Ljava/lang/String;I)Lutil/conpool/Connection; │ │ -029d30: 1204 |0000: const/4 v4, #int 0 // #0 │ │ -029d32: 6205 1e03 |0001: sget-object v5, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031e │ │ -029d36: 12f2 |0003: const/4 v2, #int -1 // #ff │ │ -029d38: 1203 |0004: const/4 v3, #int 0 // #0 │ │ -029d3a: 0760 |0005: move-object v0, v6 │ │ -029d3c: 0171 |0006: move v1, v7 │ │ -029d3e: 7706 8907 0000 |0007: invoke-static/range {v0, v1, v2, v3, v4, v5}, Lutil/conpool/Connection;.connect:(Ljava/lang/String;IIZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)Lutil/conpool/Connection; // method@0789 │ │ -029d44: 0c06 |000a: move-result-object v6 │ │ -029d46: 1106 |000b: return-object v6 │ │ +029d1c: |[029d1c] util.conpool.Connection.connect:(Ljava/lang/String;I)Lutil/conpool/Connection; │ │ +029d2c: 1204 |0000: const/4 v4, #int 0 // #0 │ │ +029d2e: 6205 1e03 |0001: sget-object v5, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031e │ │ +029d32: 12f2 |0003: const/4 v2, #int -1 // #ff │ │ +029d34: 1203 |0004: const/4 v3, #int 0 // #0 │ │ +029d36: 0760 |0005: move-object v0, v6 │ │ +029d38: 0171 |0006: move v1, v7 │ │ +029d3a: 7706 8907 0000 |0007: invoke-static/range {v0, v1, v2, v3, v4, v5}, Lutil/conpool/Connection;.connect:(Ljava/lang/String;IIZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)Lutil/conpool/Connection; // method@0789 │ │ +029d40: 0c06 |000a: move-result-object v6 │ │ +029d42: 1106 |000b: return-object v6 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=133 │ │ locals : │ │ 0x0000 - 0x000c reg=6 (null) Ljava/lang/String; │ │ 0x0000 - 0x000c reg=7 (null) I │ │ │ │ @@ -59136,24 +59136,24 @@ │ │ type : '(Ljava/lang/String;II)Lutil/conpool/Connection;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 9 │ │ ins : 3 │ │ outs : 6 │ │ insns size : 12 16-bit code units │ │ -029d48: |[029d48] util.conpool.Connection.connect:(Ljava/lang/String;II)Lutil/conpool/Connection; │ │ -029d58: 1204 |0000: const/4 v4, #int 0 // #0 │ │ -029d5a: 6205 1e03 |0001: sget-object v5, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031e │ │ -029d5e: 1203 |0003: const/4 v3, #int 0 // #0 │ │ -029d60: 0760 |0004: move-object v0, v6 │ │ -029d62: 0171 |0005: move v1, v7 │ │ -029d64: 0182 |0006: move v2, v8 │ │ -029d66: 7706 8907 0000 |0007: invoke-static/range {v0, v1, v2, v3, v4, v5}, Lutil/conpool/Connection;.connect:(Ljava/lang/String;IIZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)Lutil/conpool/Connection; // method@0789 │ │ -029d6c: 0c06 |000a: move-result-object v6 │ │ -029d6e: 1106 |000b: return-object v6 │ │ +029d44: |[029d44] util.conpool.Connection.connect:(Ljava/lang/String;II)Lutil/conpool/Connection; │ │ +029d54: 1204 |0000: const/4 v4, #int 0 // #0 │ │ +029d56: 6205 1e03 |0001: sget-object v5, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031e │ │ +029d5a: 1203 |0003: const/4 v3, #int 0 // #0 │ │ +029d5c: 0760 |0004: move-object v0, v6 │ │ +029d5e: 0171 |0005: move v1, v7 │ │ +029d60: 0182 |0006: move v2, v8 │ │ +029d62: 7706 8907 0000 |0007: invoke-static/range {v0, v1, v2, v3, v4, v5}, Lutil/conpool/Connection;.connect:(Ljava/lang/String;IIZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)Lutil/conpool/Connection; // method@0789 │ │ +029d68: 0c06 |000a: move-result-object v6 │ │ +029d6a: 1106 |000b: return-object v6 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=137 │ │ locals : │ │ 0x0000 - 0x000c reg=6 (null) Ljava/lang/String; │ │ 0x0000 - 0x000c reg=7 (null) I │ │ 0x0000 - 0x000c reg=8 (null) I │ │ @@ -59163,33 +59163,33 @@ │ │ type : '(Ljava/lang/String;IIZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)Lutil/conpool/Connection;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 14 │ │ ins : 6 │ │ outs : 7 │ │ insns size : 31 16-bit code units │ │ -029d70: |[029d70] util.conpool.Connection.connect:(Ljava/lang/String;IIZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)Lutil/conpool/Connection; │ │ -029d80: 7140 9a07 98db |0000: invoke-static {v8, v9, v11, v13}, Lutil/conpool/Connection;.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; // method@079a │ │ -029d86: 0c00 |0003: move-result-object v0 │ │ -029d88: 7110 9b07 0000 |0004: invoke-static {v0}, Lutil/conpool/Connection;.poolRemove:(Ljava/lang/String;)Lutil/conpool/Connection; // method@079b │ │ -029d8e: 0c00 |0007: move-result-object v0 │ │ -029d90: 3900 0e00 |0008: if-nez v0, 0016 // +000e │ │ -029d94: 2200 8f01 |000a: new-instance v0, Lutil/conpool/Connection; // type@018f │ │ -029d98: 0701 |000c: move-object v1, v0 │ │ -029d9a: 0782 |000d: move-object v2, v8 │ │ -029d9c: 0193 |000e: move v3, v9 │ │ -029d9e: 01a4 |000f: move v4, v10 │ │ -029da0: 01b5 |0010: move v5, v11 │ │ -029da2: 07c6 |0011: move-object v6, v12 │ │ -029da4: 07d7 |0012: move-object v7, v13 │ │ -029da6: 7607 8407 0100 |0013: invoke-direct/range {v1, v2, v3, v4, v5, v6, v7}, Lutil/conpool/Connection;.:(Ljava/lang/String;IIZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)V // method@0784 │ │ -029dac: 7010 9607 0000 |0016: invoke-direct {v0}, Lutil/conpool/Connection;.initStreams:()V // method@0796 │ │ -029db2: 6208 8503 |0019: sget-object v8, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0385 │ │ -029db6: 6e20 0f06 0800 |001b: invoke-virtual {v8, v0}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@060f │ │ -029dbc: 1100 |001e: return-object v0 │ │ +029d6c: |[029d6c] util.conpool.Connection.connect:(Ljava/lang/String;IIZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)Lutil/conpool/Connection; │ │ +029d7c: 7140 9a07 98db |0000: invoke-static {v8, v9, v11, v13}, Lutil/conpool/Connection;.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; // method@079a │ │ +029d82: 0c00 |0003: move-result-object v0 │ │ +029d84: 7110 9b07 0000 |0004: invoke-static {v0}, Lutil/conpool/Connection;.poolRemove:(Ljava/lang/String;)Lutil/conpool/Connection; // method@079b │ │ +029d8a: 0c00 |0007: move-result-object v0 │ │ +029d8c: 3900 0e00 |0008: if-nez v0, 0016 // +000e │ │ +029d90: 2200 8f01 |000a: new-instance v0, Lutil/conpool/Connection; // type@018f │ │ +029d94: 0701 |000c: move-object v1, v0 │ │ +029d96: 0782 |000d: move-object v2, v8 │ │ +029d98: 0193 |000e: move v3, v9 │ │ +029d9a: 01a4 |000f: move v4, v10 │ │ +029d9c: 01b5 |0010: move v5, v11 │ │ +029d9e: 07c6 |0011: move-object v6, v12 │ │ +029da0: 07d7 |0012: move-object v7, v13 │ │ +029da2: 7607 8407 0100 |0013: invoke-direct/range {v1, v2, v3, v4, v5, v6, v7}, Lutil/conpool/Connection;.:(Ljava/lang/String;IIZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)V // method@0784 │ │ +029da8: 7010 9607 0000 |0016: invoke-direct {v0}, Lutil/conpool/Connection;.initStreams:()V // method@0796 │ │ +029dae: 6208 8503 |0019: sget-object v8, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0385 │ │ +029db2: 6e20 0f06 0800 |001b: invoke-virtual {v8, v0}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@060f │ │ +029db8: 1100 |001e: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=123 │ │ 0x000a line=125 │ │ 0x0016 line=127 │ │ 0x0019 line=128 │ │ locals : │ │ @@ -59205,19 +59205,19 @@ │ │ type : '(Ljava/net/InetSocketAddress;)Lutil/conpool/Connection;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -029dc0: |[029dc0] util.conpool.Connection.connect:(Ljava/net/InetSocketAddress;)Lutil/conpool/Connection; │ │ -029dd0: 12f0 |0000: const/4 v0, #int -1 // #ff │ │ -029dd2: 7120 8b07 0100 |0001: invoke-static {v1, v0}, Lutil/conpool/Connection;.connect:(Ljava/net/InetSocketAddress;I)Lutil/conpool/Connection; // method@078b │ │ -029dd8: 0c01 |0004: move-result-object v1 │ │ -029dda: 1101 |0005: return-object v1 │ │ +029dbc: |[029dbc] util.conpool.Connection.connect:(Ljava/net/InetSocketAddress;)Lutil/conpool/Connection; │ │ +029dcc: 12f0 |0000: const/4 v0, #int -1 // #ff │ │ +029dce: 7120 8b07 0100 |0001: invoke-static {v1, v0}, Lutil/conpool/Connection;.connect:(Ljava/net/InetSocketAddress;I)Lutil/conpool/Connection; // method@078b │ │ +029dd4: 0c01 |0004: move-result-object v1 │ │ +029dd6: 1101 |0005: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=118 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 (null) Ljava/net/InetSocketAddress; │ │ │ │ #8 : (in Lutil/conpool/Connection;) │ │ @@ -59225,21 +59225,21 @@ │ │ type : '(Ljava/net/InetSocketAddress;I)Lutil/conpool/Connection;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 5 │ │ insns size : 9 16-bit code units │ │ -029ddc: |[029ddc] util.conpool.Connection.connect:(Ljava/net/InetSocketAddress;I)Lutil/conpool/Connection; │ │ -029dec: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -029dee: 6201 1e03 |0001: sget-object v1, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031e │ │ -029df2: 1202 |0003: const/4 v2, #int 0 // #0 │ │ -029df4: 7151 8c07 4302 |0004: invoke-static {v3, v4, v2, v0, v1}, Lutil/conpool/Connection;.connect:(Ljava/net/InetSocketAddress;IZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)Lutil/conpool/Connection; // method@078c │ │ -029dfa: 0c03 |0007: move-result-object v3 │ │ -029dfc: 1103 |0008: return-object v3 │ │ +029dd8: |[029dd8] util.conpool.Connection.connect:(Ljava/net/InetSocketAddress;I)Lutil/conpool/Connection; │ │ +029de8: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +029dea: 6201 1e03 |0001: sget-object v1, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031e │ │ +029dee: 1202 |0003: const/4 v2, #int 0 // #0 │ │ +029df0: 7151 8c07 4302 |0004: invoke-static {v3, v4, v2, v0, v1}, Lutil/conpool/Connection;.connect:(Ljava/net/InetSocketAddress;IZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)Lutil/conpool/Connection; // method@078c │ │ +029df6: 0c03 |0007: move-result-object v3 │ │ +029df8: 1103 |0008: return-object v3 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=114 │ │ locals : │ │ 0x0000 - 0x0009 reg=3 (null) Ljava/net/InetSocketAddress; │ │ 0x0000 - 0x0009 reg=4 (null) I │ │ │ │ @@ -59248,38 +59248,38 @@ │ │ type : '(Ljava/net/InetSocketAddress;IZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)Lutil/conpool/Connection;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 12 │ │ ins : 5 │ │ outs : 6 │ │ insns size : 42 16-bit code units │ │ -029e00: |[029e00] util.conpool.Connection.connect:(Ljava/net/InetSocketAddress;IZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)Lutil/conpool/Connection; │ │ -029e10: 6e10 b605 0700 |0000: invoke-virtual {v7}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05b6 │ │ -029e16: 0c00 |0003: move-result-object v0 │ │ -029e18: 6e10 b005 0000 |0004: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05b0 │ │ -029e1e: 0c00 |0007: move-result-object v0 │ │ -029e20: 6e10 b805 0700 |0008: invoke-virtual {v7}, Ljava/net/InetSocketAddress;.getPort:()I // method@05b8 │ │ -029e26: 0a01 |000b: move-result v1 │ │ -029e28: 7140 9a07 10b9 |000c: invoke-static {v0, v1, v9, v11}, Lutil/conpool/Connection;.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; // method@079a │ │ -029e2e: 0c00 |000f: move-result-object v0 │ │ -029e30: 7110 9b07 0000 |0010: invoke-static {v0}, Lutil/conpool/Connection;.poolRemove:(Ljava/lang/String;)Lutil/conpool/Connection; // method@079b │ │ -029e36: 0c00 |0013: move-result-object v0 │ │ -029e38: 3900 0d00 |0014: if-nez v0, 0021 // +000d │ │ -029e3c: 2200 8f01 |0016: new-instance v0, Lutil/conpool/Connection; // type@018f │ │ -029e40: 0701 |0018: move-object v1, v0 │ │ -029e42: 0772 |0019: move-object v2, v7 │ │ -029e44: 0183 |001a: move v3, v8 │ │ -029e46: 0194 |001b: move v4, v9 │ │ -029e48: 07a5 |001c: move-object v5, v10 │ │ -029e4a: 07b6 |001d: move-object v6, v11 │ │ -029e4c: 7606 8507 0100 |001e: invoke-direct/range {v1, v2, v3, v4, v5, v6}, Lutil/conpool/Connection;.:(Ljava/net/InetSocketAddress;IZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)V // method@0785 │ │ -029e52: 7010 9607 0000 |0021: invoke-direct {v0}, Lutil/conpool/Connection;.initStreams:()V // method@0796 │ │ -029e58: 6207 8503 |0024: sget-object v7, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0385 │ │ -029e5c: 6e20 0f06 0700 |0026: invoke-virtual {v7, v0}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@060f │ │ -029e62: 1100 |0029: return-object v0 │ │ +029dfc: |[029dfc] util.conpool.Connection.connect:(Ljava/net/InetSocketAddress;IZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)Lutil/conpool/Connection; │ │ +029e0c: 6e10 b605 0700 |0000: invoke-virtual {v7}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05b6 │ │ +029e12: 0c00 |0003: move-result-object v0 │ │ +029e14: 6e10 b005 0000 |0004: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05b0 │ │ +029e1a: 0c00 |0007: move-result-object v0 │ │ +029e1c: 6e10 b805 0700 |0008: invoke-virtual {v7}, Ljava/net/InetSocketAddress;.getPort:()I // method@05b8 │ │ +029e22: 0a01 |000b: move-result v1 │ │ +029e24: 7140 9a07 10b9 |000c: invoke-static {v0, v1, v9, v11}, Lutil/conpool/Connection;.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; // method@079a │ │ +029e2a: 0c00 |000f: move-result-object v0 │ │ +029e2c: 7110 9b07 0000 |0010: invoke-static {v0}, Lutil/conpool/Connection;.poolRemove:(Ljava/lang/String;)Lutil/conpool/Connection; // method@079b │ │ +029e32: 0c00 |0013: move-result-object v0 │ │ +029e34: 3900 0d00 |0014: if-nez v0, 0021 // +000d │ │ +029e38: 2200 8f01 |0016: new-instance v0, Lutil/conpool/Connection; // type@018f │ │ +029e3c: 0701 |0018: move-object v1, v0 │ │ +029e3e: 0772 |0019: move-object v2, v7 │ │ +029e40: 0183 |001a: move v3, v8 │ │ +029e42: 0194 |001b: move v4, v9 │ │ +029e44: 07a5 |001c: move-object v5, v10 │ │ +029e46: 07b6 |001d: move-object v6, v11 │ │ +029e48: 7606 8507 0100 |001e: invoke-direct/range {v1, v2, v3, v4, v5, v6}, Lutil/conpool/Connection;.:(Ljava/net/InetSocketAddress;IZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)V // method@0785 │ │ +029e4e: 7010 9607 0000 |0021: invoke-direct {v0}, Lutil/conpool/Connection;.initStreams:()V // method@0796 │ │ +029e54: 6207 8503 |0024: sget-object v7, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0385 │ │ +029e58: 6e20 0f06 0700 |0026: invoke-virtual {v7, v0}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@060f │ │ +029e5e: 1100 |0029: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=104 │ │ 0x0016 line=106 │ │ 0x0021 line=108 │ │ 0x0024 line=109 │ │ locals : │ │ @@ -59294,95 +59294,95 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 163 16-bit code units │ │ -02a108: |[02a108] util.conpool.Connection.establishConnection:()V │ │ -02a118: 5260 8403 |0000: iget v0, v6, Lutil/conpool/Connection;.conTimeout:I // field@0384 │ │ -02a11c: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -02a11e: 3b00 0400 |0003: if-gez v0, 0007 // +0004 │ │ -02a122: 5961 8403 |0005: iput v1, v6, Lutil/conpool/Connection;.conTimeout:I // field@0384 │ │ -02a126: 5460 8b03 |0007: iget-object v0, v6, Lutil/conpool/Connection;.proxy:Ljava/net/Proxy; // field@038b │ │ -02a12a: 6202 1e03 |0009: sget-object v2, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031e │ │ -02a12e: 1213 |000b: const/4 v3, #int 1 // #1 │ │ -02a130: 3320 1f00 |000c: if-ne v0, v2, 002b // +001f │ │ -02a134: 7100 ed05 0000 |000e: invoke-static {}, Ljava/nio/channels/SocketChannel;.open:()Ljava/nio/channels/SocketChannel; // method@05ed │ │ -02a13a: 0c00 |0011: move-result-object v0 │ │ -02a13c: 6e10 ee05 0000 |0012: invoke-virtual {v0}, Ljava/nio/channels/SocketChannel;.socket:()Ljava/net/Socket; // method@05ee │ │ -02a142: 0c00 |0015: move-result-object v0 │ │ -02a144: 5b60 8d03 |0016: iput-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ -02a148: 7100 ae06 0000 |0018: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ -02a14e: 0c00 |001b: move-result-object v0 │ │ -02a150: 5462 8d03 |001c: iget-object v2, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ -02a154: 7230 c206 2001 |001e: invoke-interface {v0, v2, v1}, Lutil/ExecutionEnvironmentInterface;.protectSocket:(Ljava/lang/Object;I)Z // method@06c2 │ │ -02a15a: 5460 8d03 |0021: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ -02a15e: 5462 8c03 |0023: iget-object v2, v6, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@038c │ │ -02a162: 5264 8403 |0025: iget v4, v6, Lutil/conpool/Connection;.conTimeout:I // field@0384 │ │ -02a166: 6e30 c505 2004 |0027: invoke-virtual {v0, v2, v4}, Ljava/net/Socket;.connect:(Ljava/net/SocketAddress;I)V // method@05c5 │ │ -02a16c: 2813 |002a: goto 003d // +0013 │ │ -02a16e: 5460 8b03 |002b: iget-object v0, v6, Lutil/conpool/Connection;.proxy:Ljava/net/Proxy; // field@038b │ │ -02a172: 2002 9001 |002d: instance-of v2, v0, Lutil/conpool/HttpProxy; // type@0190 │ │ -02a176: 3802 5500 |002f: if-eqz v2, 0084 // +0055 │ │ -02a17a: 1f00 9001 |0031: check-cast v0, Lutil/conpool/HttpProxy; // type@0190 │ │ -02a17e: 5462 8c03 |0033: iget-object v2, v6, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@038c │ │ -02a182: 5264 8403 |0035: iget v4, v6, Lutil/conpool/Connection;.conTimeout:I // field@0384 │ │ -02a186: 6e40 a607 2034 |0037: invoke-virtual {v0, v2, v4, v3}, Lutil/conpool/HttpProxy;.openTunnel:(Ljava/net/InetSocketAddress;IZ)Ljava/net/Socket; // method@07a6 │ │ -02a18c: 0c00 |003a: move-result-object v0 │ │ -02a18e: 5b60 8d03 |003b: iput-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ -02a192: 5560 9003 |003d: iget-boolean v0, v6, Lutil/conpool/Connection;.ssl:Z // field@0390 │ │ -02a196: 3800 2b00 |003f: if-eqz v0, 006a // +002b │ │ -02a19a: 5460 8d03 |0041: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ -02a19e: 5262 8403 |0043: iget v2, v6, Lutil/conpool/Connection;.conTimeout:I // field@0384 │ │ -02a1a2: 6e20 c905 2000 |0045: invoke-virtual {v0, v2}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05c9 │ │ -02a1a8: 5460 9103 |0048: iget-object v0, v6, Lutil/conpool/Connection;.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0391 │ │ -02a1ac: 3900 0800 |004a: if-nez v0, 0052 // +0008 │ │ -02a1b0: 7010 8f07 0600 |004c: invoke-direct {v6}, Lutil/conpool/Connection;.getDefaultSSLSocketFactory:()Ljavax/net/ssl/SSLSocketFactory; // method@078f │ │ -02a1b6: 0c00 |004f: move-result-object v0 │ │ -02a1b8: 5b60 9103 |0050: iput-object v0, v6, Lutil/conpool/Connection;.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0391 │ │ -02a1bc: 5460 9103 |0052: iget-object v0, v6, Lutil/conpool/Connection;.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0391 │ │ -02a1c0: 5462 8d03 |0054: iget-object v2, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ -02a1c4: 5464 8c03 |0056: iget-object v4, v6, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@038c │ │ -02a1c8: 6e10 b705 0400 |0058: invoke-virtual {v4}, Ljava/net/InetSocketAddress;.getHostName:()Ljava/lang/String; // method@05b7 │ │ -02a1ce: 0c04 |005b: move-result-object v4 │ │ -02a1d0: 5465 8c03 |005c: iget-object v5, v6, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@038c │ │ -02a1d4: 6e10 b805 0500 |005e: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getPort:()I // method@05b8 │ │ -02a1da: 0a05 |0061: move-result v5 │ │ -02a1dc: 6e53 8406 2054 |0062: invoke-virtual {v0, v2, v4, v5, v3}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket; // method@0684 │ │ -02a1e2: 0c00 |0065: move-result-object v0 │ │ -02a1e4: 5b60 8d03 |0066: iput-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ -02a1e8: 5c63 9003 |0068: iput-boolean v3, v6, Lutil/conpool/Connection;.ssl:Z // field@0390 │ │ -02a1ec: 5460 8d03 |006a: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ -02a1f0: 6e10 c605 0000 |006c: invoke-virtual {v0}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05c6 │ │ -02a1f6: 0c00 |006f: move-result-object v0 │ │ -02a1f8: 5b60 8e03 |0070: iput-object v0, v6, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038e │ │ -02a1fc: 5460 8d03 |0072: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ -02a200: 6e10 c705 0000 |0074: invoke-virtual {v0}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05c7 │ │ -02a206: 0c00 |0077: move-result-object v0 │ │ -02a208: 5b60 8f03 |0078: iput-object v0, v6, Lutil/conpool/Connection;.socketOut:Ljava/io/OutputStream; // field@038f │ │ -02a20c: 5560 9003 |007a: iget-boolean v0, v6, Lutil/conpool/Connection;.ssl:Z // field@0390 │ │ -02a210: 3800 0700 |007c: if-eqz v0, 0083 // +0007 │ │ -02a214: 5460 8d03 |007e: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ -02a218: 6e20 c905 1000 |0080: invoke-virtual {v0, v1}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05c9 │ │ -02a21e: 0e00 |0083: return-void │ │ -02a220: 2200 fb00 |0084: new-instance v0, Ljava/io/IOException; // type@00fb │ │ -02a224: 2201 2801 |0086: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ -02a228: 1a02 ff03 |0088: const-string v2, "Only " // string@03ff │ │ -02a22c: 7020 8405 2100 |008a: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ -02a232: 1c02 9001 |008d: const-class v2, Lutil/conpool/HttpProxy; // type@0190 │ │ -02a236: 6e10 3005 0200 |008f: invoke-virtual {v2}, Ljava/lang/Class;.getName:()Ljava/lang/String; // method@0530 │ │ -02a23c: 0c02 |0092: move-result-object v2 │ │ -02a23e: 6e20 8905 2100 |0093: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02a244: 1a02 2600 |0096: const-string v2, " supported for creating connection over tunnel!" // string@0026 │ │ -02a248: 6e20 8905 2100 |0098: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -02a24e: 6e10 8b05 0100 |009b: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -02a254: 0c01 |009e: move-result-object v1 │ │ -02a256: 7020 fb04 1000 |009f: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ -02a25c: 2700 |00a2: throw v0 │ │ +02a104: |[02a104] util.conpool.Connection.establishConnection:()V │ │ +02a114: 5260 8403 |0000: iget v0, v6, Lutil/conpool/Connection;.conTimeout:I // field@0384 │ │ +02a118: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +02a11a: 3b00 0400 |0003: if-gez v0, 0007 // +0004 │ │ +02a11e: 5961 8403 |0005: iput v1, v6, Lutil/conpool/Connection;.conTimeout:I // field@0384 │ │ +02a122: 5460 8b03 |0007: iget-object v0, v6, Lutil/conpool/Connection;.proxy:Ljava/net/Proxy; // field@038b │ │ +02a126: 6202 1e03 |0009: sget-object v2, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031e │ │ +02a12a: 1213 |000b: const/4 v3, #int 1 // #1 │ │ +02a12c: 3320 1f00 |000c: if-ne v0, v2, 002b // +001f │ │ +02a130: 7100 ed05 0000 |000e: invoke-static {}, Ljava/nio/channels/SocketChannel;.open:()Ljava/nio/channels/SocketChannel; // method@05ed │ │ +02a136: 0c00 |0011: move-result-object v0 │ │ +02a138: 6e10 ee05 0000 |0012: invoke-virtual {v0}, Ljava/nio/channels/SocketChannel;.socket:()Ljava/net/Socket; // method@05ee │ │ +02a13e: 0c00 |0015: move-result-object v0 │ │ +02a140: 5b60 8d03 |0016: iput-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ +02a144: 7100 ae06 0000 |0018: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ +02a14a: 0c00 |001b: move-result-object v0 │ │ +02a14c: 5462 8d03 |001c: iget-object v2, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ +02a150: 7230 c206 2001 |001e: invoke-interface {v0, v2, v1}, Lutil/ExecutionEnvironmentInterface;.protectSocket:(Ljava/lang/Object;I)Z // method@06c2 │ │ +02a156: 5460 8d03 |0021: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ +02a15a: 5462 8c03 |0023: iget-object v2, v6, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@038c │ │ +02a15e: 5264 8403 |0025: iget v4, v6, Lutil/conpool/Connection;.conTimeout:I // field@0384 │ │ +02a162: 6e30 c505 2004 |0027: invoke-virtual {v0, v2, v4}, Ljava/net/Socket;.connect:(Ljava/net/SocketAddress;I)V // method@05c5 │ │ +02a168: 2813 |002a: goto 003d // +0013 │ │ +02a16a: 5460 8b03 |002b: iget-object v0, v6, Lutil/conpool/Connection;.proxy:Ljava/net/Proxy; // field@038b │ │ +02a16e: 2002 9001 |002d: instance-of v2, v0, Lutil/conpool/HttpProxy; // type@0190 │ │ +02a172: 3802 5500 |002f: if-eqz v2, 0084 // +0055 │ │ +02a176: 1f00 9001 |0031: check-cast v0, Lutil/conpool/HttpProxy; // type@0190 │ │ +02a17a: 5462 8c03 |0033: iget-object v2, v6, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@038c │ │ +02a17e: 5264 8403 |0035: iget v4, v6, Lutil/conpool/Connection;.conTimeout:I // field@0384 │ │ +02a182: 6e40 a607 2034 |0037: invoke-virtual {v0, v2, v4, v3}, Lutil/conpool/HttpProxy;.openTunnel:(Ljava/net/InetSocketAddress;IZ)Ljava/net/Socket; // method@07a6 │ │ +02a188: 0c00 |003a: move-result-object v0 │ │ +02a18a: 5b60 8d03 |003b: iput-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ +02a18e: 5560 9003 |003d: iget-boolean v0, v6, Lutil/conpool/Connection;.ssl:Z // field@0390 │ │ +02a192: 3800 2b00 |003f: if-eqz v0, 006a // +002b │ │ +02a196: 5460 8d03 |0041: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ +02a19a: 5262 8403 |0043: iget v2, v6, Lutil/conpool/Connection;.conTimeout:I // field@0384 │ │ +02a19e: 6e20 c905 2000 |0045: invoke-virtual {v0, v2}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05c9 │ │ +02a1a4: 5460 9103 |0048: iget-object v0, v6, Lutil/conpool/Connection;.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0391 │ │ +02a1a8: 3900 0800 |004a: if-nez v0, 0052 // +0008 │ │ +02a1ac: 7010 8f07 0600 |004c: invoke-direct {v6}, Lutil/conpool/Connection;.getDefaultSSLSocketFactory:()Ljavax/net/ssl/SSLSocketFactory; // method@078f │ │ +02a1b2: 0c00 |004f: move-result-object v0 │ │ +02a1b4: 5b60 9103 |0050: iput-object v0, v6, Lutil/conpool/Connection;.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0391 │ │ +02a1b8: 5460 9103 |0052: iget-object v0, v6, Lutil/conpool/Connection;.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0391 │ │ +02a1bc: 5462 8d03 |0054: iget-object v2, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ +02a1c0: 5464 8c03 |0056: iget-object v4, v6, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@038c │ │ +02a1c4: 6e10 b705 0400 |0058: invoke-virtual {v4}, Ljava/net/InetSocketAddress;.getHostName:()Ljava/lang/String; // method@05b7 │ │ +02a1ca: 0c04 |005b: move-result-object v4 │ │ +02a1cc: 5465 8c03 |005c: iget-object v5, v6, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@038c │ │ +02a1d0: 6e10 b805 0500 |005e: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getPort:()I // method@05b8 │ │ +02a1d6: 0a05 |0061: move-result v5 │ │ +02a1d8: 6e53 8406 2054 |0062: invoke-virtual {v0, v2, v4, v5, v3}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket; // method@0684 │ │ +02a1de: 0c00 |0065: move-result-object v0 │ │ +02a1e0: 5b60 8d03 |0066: iput-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ +02a1e4: 5c63 9003 |0068: iput-boolean v3, v6, Lutil/conpool/Connection;.ssl:Z // field@0390 │ │ +02a1e8: 5460 8d03 |006a: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ +02a1ec: 6e10 c605 0000 |006c: invoke-virtual {v0}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05c6 │ │ +02a1f2: 0c00 |006f: move-result-object v0 │ │ +02a1f4: 5b60 8e03 |0070: iput-object v0, v6, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038e │ │ +02a1f8: 5460 8d03 |0072: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ +02a1fc: 6e10 c705 0000 |0074: invoke-virtual {v0}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05c7 │ │ +02a202: 0c00 |0077: move-result-object v0 │ │ +02a204: 5b60 8f03 |0078: iput-object v0, v6, Lutil/conpool/Connection;.socketOut:Ljava/io/OutputStream; // field@038f │ │ +02a208: 5560 9003 |007a: iget-boolean v0, v6, Lutil/conpool/Connection;.ssl:Z // field@0390 │ │ +02a20c: 3800 0700 |007c: if-eqz v0, 0083 // +0007 │ │ +02a210: 5460 8d03 |007e: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ +02a214: 6e20 c905 1000 |0080: invoke-virtual {v0, v1}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05c9 │ │ +02a21a: 0e00 |0083: return-void │ │ +02a21c: 2200 fb00 |0084: new-instance v0, Ljava/io/IOException; // type@00fb │ │ +02a220: 2201 2801 |0086: new-instance v1, Ljava/lang/StringBuilder; // type@0128 │ │ +02a224: 1a02 ff03 |0088: const-string v2, "Only " // string@03ff │ │ +02a228: 7020 8405 2100 |008a: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@0584 │ │ +02a22e: 1c02 9001 |008d: const-class v2, Lutil/conpool/HttpProxy; // type@0190 │ │ +02a232: 6e10 3005 0200 |008f: invoke-virtual {v2}, Ljava/lang/Class;.getName:()Ljava/lang/String; // method@0530 │ │ +02a238: 0c02 |0092: move-result-object v2 │ │ +02a23a: 6e20 8905 2100 |0093: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02a240: 1a02 2600 |0096: const-string v2, " supported for creating connection over tunnel!" // string@0026 │ │ +02a244: 6e20 8905 2100 |0098: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +02a24a: 6e10 8b05 0100 |009b: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +02a250: 0c01 |009e: move-result-object v1 │ │ +02a252: 7020 fb04 1000 |009f: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@04fb │ │ +02a258: 2700 |00a2: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=232 │ │ 0x0005 line=233 │ │ 0x0007 line=235 │ │ 0x000e line=236 │ │ 0x0018 line=237 │ │ @@ -59408,65 +59408,65 @@ │ │ type : '()Ljava/util/Hashtable;' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 5 │ │ ins : 0 │ │ outs : 3 │ │ insns size : 98 16-bit code units │ │ -029b24: |[029b24] util.conpool.Connection.getCustomHosts:()Ljava/util/Hashtable; │ │ -029b34: 6200 8003 |0000: sget-object v0, Lutil/conpool/Connection;.CUSTOM_HOSTS_FILE_NAME:Ljava/lang/String; // field@0380 │ │ -029b38: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -029b3a: 3900 0300 |0003: if-nez v0, 0006 // +0003 │ │ -029b3e: 1101 |0005: return-object v1 │ │ -029b40: 2200 f600 |0006: new-instance v0, Ljava/io/File; // type@00f6 │ │ -029b44: 2202 2801 |0008: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ -029b48: 7010 8305 0200 |000a: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -029b4e: 7100 ae06 0000 |000d: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ -029b54: 0c03 |0010: move-result-object v3 │ │ -029b56: 7210 be06 0300 |0011: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06be │ │ -029b5c: 0c03 |0014: move-result-object v3 │ │ -029b5e: 6e20 8905 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -029b64: 6203 8003 |0018: sget-object v3, Lutil/conpool/Connection;.CUSTOM_HOSTS_FILE_NAME:Ljava/lang/String; // field@0380 │ │ -029b68: 6e20 8905 3200 |001a: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -029b6e: 6e10 8b05 0200 |001d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -029b74: 0c02 |0020: move-result-object v2 │ │ -029b76: 7020 da04 2000 |0021: invoke-direct {v0, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ -029b7c: 6e10 e004 0000 |0024: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@04e0 │ │ -029b82: 0a02 |0027: move-result v2 │ │ -029b84: 3802 3900 |0028: if-eqz v2, 0061 // +0039 │ │ -029b88: 2202 5601 |002a: new-instance v2, Ljava/util/Hashtable; // type@0156 │ │ -029b8c: 7010 1706 0200 |002c: invoke-direct {v2}, Ljava/util/Hashtable;.:()V // method@0617 │ │ -029b92: 2201 ef00 |002f: new-instance v1, Ljava/io/BufferedReader; // type@00ef │ │ -029b96: 2203 fd00 |0031: new-instance v3, Ljava/io/InputStreamReader; // type@00fd │ │ -029b9a: 2204 f800 |0033: new-instance v4, Ljava/io/FileInputStream; // type@00f8 │ │ -029b9e: 7020 ed04 0400 |0035: invoke-direct {v4, v0}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@04ed │ │ -029ba4: 7020 0705 4300 |0038: invoke-direct {v3, v4}, Ljava/io/InputStreamReader;.:(Ljava/io/InputStream;)V // method@0507 │ │ -029baa: 7020 b304 3100 |003b: invoke-direct {v1, v3}, Ljava/io/BufferedReader;.:(Ljava/io/Reader;)V // method@04b3 │ │ -029bb0: 6e10 b504 0100 |003e: invoke-virtual {v1}, Ljava/io/BufferedReader;.readLine:()Ljava/lang/String; // method@04b5 │ │ -029bb6: 0c00 |0041: move-result-object v0 │ │ -029bb8: 3800 1600 |0042: if-eqz v0, 0058 // +0016 │ │ -029bbc: 7110 9907 0000 |0044: invoke-static {v0}, Lutil/conpool/Connection;.parseHosts:(Ljava/lang/String;)[Ljava/lang/String; // method@0799 │ │ -029bc2: 0c00 |0047: move-result-object v0 │ │ -029bc4: 3800 f6ff |0048: if-eqz v0, 003e // -000a │ │ -029bc8: 1213 |004a: const/4 v3, #int 1 // #1 │ │ -029bca: 4603 0003 |004b: aget-object v3, v0, v3 │ │ -029bce: 1204 |004d: const/4 v4, #int 0 // #0 │ │ -029bd0: 4600 0004 |004e: aget-object v0, v0, v4 │ │ -029bd4: 7110 af05 0000 |0050: invoke-static {v0}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05af │ │ -029bda: 0c00 |0053: move-result-object v0 │ │ -029bdc: 6e30 1906 3200 |0054: invoke-virtual {v2, v3, v0}, Ljava/util/Hashtable;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0619 │ │ -029be2: 28e7 |0057: goto 003e // -0019 │ │ -029be4: 0721 |0058: move-object v1, v2 │ │ -029be6: 2808 |0059: goto 0061 // +0008 │ │ -029be8: 0d00 |005a: move-exception v0 │ │ -029bea: 0721 |005b: move-object v1, v2 │ │ -029bec: 2802 |005c: goto 005e // +0002 │ │ -029bee: 0d00 |005d: move-exception v0 │ │ -029bf0: 6e10 ff04 0000 |005e: invoke-virtual {v0}, Ljava/io/IOException;.printStackTrace:()V // method@04ff │ │ -029bf6: 1101 |0061: return-object v1 │ │ +029b20: |[029b20] util.conpool.Connection.getCustomHosts:()Ljava/util/Hashtable; │ │ +029b30: 6200 8003 |0000: sget-object v0, Lutil/conpool/Connection;.CUSTOM_HOSTS_FILE_NAME:Ljava/lang/String; // field@0380 │ │ +029b34: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +029b36: 3900 0300 |0003: if-nez v0, 0006 // +0003 │ │ +029b3a: 1101 |0005: return-object v1 │ │ +029b3c: 2200 f600 |0006: new-instance v0, Ljava/io/File; // type@00f6 │ │ +029b40: 2202 2801 |0008: new-instance v2, Ljava/lang/StringBuilder; // type@0128 │ │ +029b44: 7010 8305 0200 |000a: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +029b4a: 7100 ae06 0000 |000d: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ +029b50: 0c03 |0010: move-result-object v3 │ │ +029b52: 7210 be06 0300 |0011: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06be │ │ +029b58: 0c03 |0014: move-result-object v3 │ │ +029b5a: 6e20 8905 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +029b60: 6203 8003 |0018: sget-object v3, Lutil/conpool/Connection;.CUSTOM_HOSTS_FILE_NAME:Ljava/lang/String; // field@0380 │ │ +029b64: 6e20 8905 3200 |001a: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +029b6a: 6e10 8b05 0200 |001d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +029b70: 0c02 |0020: move-result-object v2 │ │ +029b72: 7020 da04 2000 |0021: invoke-direct {v0, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04da │ │ +029b78: 6e10 e004 0000 |0024: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@04e0 │ │ +029b7e: 0a02 |0027: move-result v2 │ │ +029b80: 3802 3900 |0028: if-eqz v2, 0061 // +0039 │ │ +029b84: 2202 5601 |002a: new-instance v2, Ljava/util/Hashtable; // type@0156 │ │ +029b88: 7010 1706 0200 |002c: invoke-direct {v2}, Ljava/util/Hashtable;.:()V // method@0617 │ │ +029b8e: 2201 ef00 |002f: new-instance v1, Ljava/io/BufferedReader; // type@00ef │ │ +029b92: 2203 fd00 |0031: new-instance v3, Ljava/io/InputStreamReader; // type@00fd │ │ +029b96: 2204 f800 |0033: new-instance v4, Ljava/io/FileInputStream; // type@00f8 │ │ +029b9a: 7020 ed04 0400 |0035: invoke-direct {v4, v0}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@04ed │ │ +029ba0: 7020 0705 4300 |0038: invoke-direct {v3, v4}, Ljava/io/InputStreamReader;.:(Ljava/io/InputStream;)V // method@0507 │ │ +029ba6: 7020 b304 3100 |003b: invoke-direct {v1, v3}, Ljava/io/BufferedReader;.:(Ljava/io/Reader;)V // method@04b3 │ │ +029bac: 6e10 b504 0100 |003e: invoke-virtual {v1}, Ljava/io/BufferedReader;.readLine:()Ljava/lang/String; // method@04b5 │ │ +029bb2: 0c00 |0041: move-result-object v0 │ │ +029bb4: 3800 1600 |0042: if-eqz v0, 0058 // +0016 │ │ +029bb8: 7110 9907 0000 |0044: invoke-static {v0}, Lutil/conpool/Connection;.parseHosts:(Ljava/lang/String;)[Ljava/lang/String; // method@0799 │ │ +029bbe: 0c00 |0047: move-result-object v0 │ │ +029bc0: 3800 f6ff |0048: if-eqz v0, 003e // -000a │ │ +029bc4: 1213 |004a: const/4 v3, #int 1 // #1 │ │ +029bc6: 4603 0003 |004b: aget-object v3, v0, v3 │ │ +029bca: 1204 |004d: const/4 v4, #int 0 // #0 │ │ +029bcc: 4600 0004 |004e: aget-object v0, v0, v4 │ │ +029bd0: 7110 af05 0000 |0050: invoke-static {v0}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05af │ │ +029bd6: 0c00 |0053: move-result-object v0 │ │ +029bd8: 6e30 1906 3200 |0054: invoke-virtual {v2, v3, v0}, Ljava/util/Hashtable;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0619 │ │ +029bde: 28e7 |0057: goto 003e // -0019 │ │ +029be0: 0721 |0058: move-object v1, v2 │ │ +029be2: 2808 |0059: goto 0061 // +0008 │ │ +029be4: 0d00 |005a: move-exception v0 │ │ +029be6: 0721 |005b: move-object v1, v2 │ │ +029be8: 2802 |005c: goto 005e // +0002 │ │ +029bea: 0d00 |005d: move-exception v0 │ │ +029bec: 6e10 ff04 0000 |005e: invoke-virtual {v0}, Ljava/io/IOException;.printStackTrace:()V // method@04ff │ │ +029bf2: 1101 |0061: return-object v1 │ │ catches : 2 │ │ 0x0024 - 0x002f │ │ Ljava/io/IOException; -> 0x005d │ │ 0x002f - 0x0057 │ │ Ljava/io/IOException; -> 0x005a │ │ positions : │ │ 0x0000 line=162 │ │ @@ -59485,47 +59485,47 @@ │ │ type : '()Ljavax/net/ssl/SSLSocketFactory;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 60 16-bit code units │ │ -029c14: |[029c14] util.conpool.Connection.getDefaultSSLSocketFactory:()Ljavax/net/ssl/SSLSocketFactory; │ │ -029c24: 6200 8703 |0000: sget-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0387 │ │ -029c28: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ -029c2c: 1100 |0004: return-object v0 │ │ -029c2e: 7100 ae06 0000 |0005: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ -029c34: 0c00 |0008: move-result-object v0 │ │ -029c36: 7210 bc06 0000 |0009: invoke-interface {v0}, Lutil/ExecutionEnvironmentInterface;.getEnvironmentID:()I // method@06bc │ │ -029c3c: 0a00 |000c: move-result v0 │ │ -029c3e: 1211 |000d: const/4 v1, #int 1 // #1 │ │ -029c40: 3310 1a00 |000e: if-ne v0, v1, 0028 // +001a │ │ -029c44: 7100 ae06 0000 |0010: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ -029c4a: 0c00 |0013: move-result-object v0 │ │ -029c4c: 7210 bd06 0000 |0014: invoke-interface {v0}, Lutil/ExecutionEnvironmentInterface;.getEnvironmentVersion:()Ljava/lang/String; // method@06bd │ │ -029c52: 0c00 |0017: move-result-object v0 │ │ -029c54: 7110 4105 0000 |0018: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ -029c5a: 0a00 |001b: move-result v0 │ │ -029c5c: 1301 1500 |001c: const/16 v1, #int 21 // #15 │ │ -029c60: 3510 0a00 |001e: if-ge v0, v1, 0028 // +000a │ │ -029c64: 2200 9301 |0020: new-instance v0, Lutil/conpool/TLSSocketFactory; // type@0193 │ │ -029c68: 7010 b707 0000 |0022: invoke-direct {v0}, Lutil/conpool/TLSSocketFactory;.:()V // method@07b7 │ │ -029c6e: 6900 8703 |0025: sput-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0387 │ │ -029c72: 2809 |0027: goto 0030 // +0009 │ │ -029c74: 7100 8506 0000 |0028: invoke-static {}, Ljavax/net/ssl/SSLSocketFactory;.getDefault:()Ljavax/net/SocketFactory; // method@0685 │ │ -029c7a: 0c00 |002b: move-result-object v0 │ │ -029c7c: 1f00 7601 |002c: check-cast v0, Ljavax/net/ssl/SSLSocketFactory; // type@0176 │ │ -029c80: 6900 8703 |002e: sput-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0387 │ │ -029c84: 6200 8703 |0030: sget-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0387 │ │ -029c88: 1100 |0032: return-object v0 │ │ -029c8a: 0d00 |0033: move-exception v0 │ │ -029c8c: 2201 fb00 |0034: new-instance v1, Ljava/io/IOException; // type@00fb │ │ -029c90: 1a02 ff00 |0036: const-string v2, "Cannot get TLSSocketFactory" // string@00ff │ │ -029c94: 7030 fc04 2100 |0038: invoke-direct {v1, v2, v0}, Ljava/io/IOException;.:(Ljava/lang/String;Ljava/lang/Throwable;)V // method@04fc │ │ -029c9a: 2701 |003b: throw v1 │ │ +029c10: |[029c10] util.conpool.Connection.getDefaultSSLSocketFactory:()Ljavax/net/ssl/SSLSocketFactory; │ │ +029c20: 6200 8703 |0000: sget-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0387 │ │ +029c24: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ +029c28: 1100 |0004: return-object v0 │ │ +029c2a: 7100 ae06 0000 |0005: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ +029c30: 0c00 |0008: move-result-object v0 │ │ +029c32: 7210 bc06 0000 |0009: invoke-interface {v0}, Lutil/ExecutionEnvironmentInterface;.getEnvironmentID:()I // method@06bc │ │ +029c38: 0a00 |000c: move-result v0 │ │ +029c3a: 1211 |000d: const/4 v1, #int 1 // #1 │ │ +029c3c: 3310 1a00 |000e: if-ne v0, v1, 0028 // +001a │ │ +029c40: 7100 ae06 0000 |0010: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06ae │ │ +029c46: 0c00 |0013: move-result-object v0 │ │ +029c48: 7210 bd06 0000 |0014: invoke-interface {v0}, Lutil/ExecutionEnvironmentInterface;.getEnvironmentVersion:()Ljava/lang/String; // method@06bd │ │ +029c4e: 0c00 |0017: move-result-object v0 │ │ +029c50: 7110 4105 0000 |0018: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0541 │ │ +029c56: 0a00 |001b: move-result v0 │ │ +029c58: 1301 1500 |001c: const/16 v1, #int 21 // #15 │ │ +029c5c: 3510 0a00 |001e: if-ge v0, v1, 0028 // +000a │ │ +029c60: 2200 9301 |0020: new-instance v0, Lutil/conpool/TLSSocketFactory; // type@0193 │ │ +029c64: 7010 b707 0000 |0022: invoke-direct {v0}, Lutil/conpool/TLSSocketFactory;.:()V // method@07b7 │ │ +029c6a: 6900 8703 |0025: sput-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0387 │ │ +029c6e: 2809 |0027: goto 0030 // +0009 │ │ +029c70: 7100 8506 0000 |0028: invoke-static {}, Ljavax/net/ssl/SSLSocketFactory;.getDefault:()Ljavax/net/SocketFactory; // method@0685 │ │ +029c76: 0c00 |002b: move-result-object v0 │ │ +029c78: 1f00 7601 |002c: check-cast v0, Ljavax/net/ssl/SSLSocketFactory; // type@0176 │ │ +029c7c: 6900 8703 |002e: sput-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0387 │ │ +029c80: 6200 8703 |0030: sget-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0387 │ │ +029c84: 1100 |0032: return-object v0 │ │ +029c86: 0d00 |0033: move-exception v0 │ │ +029c88: 2201 fb00 |0034: new-instance v1, Ljava/io/IOException; // type@00fb │ │ +029c8c: 1a02 ff00 |0036: const-string v2, "Cannot get TLSSocketFactory" // string@00ff │ │ +029c90: 7030 fc04 2100 |0038: invoke-direct {v1, v2, v0}, Ljava/io/IOException;.:(Ljava/lang/String;Ljava/lang/Throwable;)V // method@04fc │ │ +029c96: 2701 |003b: throw v1 │ │ catches : 1 │ │ 0x0020 - 0x0032 │ │ Ljava/lang/Exception; -> 0x0033 │ │ positions : │ │ 0x0000 line=213 │ │ 0x0005 line=216 │ │ 0x0010 line=217 │ │ @@ -59541,22 +59541,22 @@ │ │ type : '(Ljava/net/InetSocketAddress;IZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 6 │ │ outs : 1 │ │ insns size : 14 16-bit code units │ │ -02a260: |[02a260] util.conpool.Connection.initConnection:(Ljava/net/InetSocketAddress;IZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)V │ │ -02a270: 5b01 8c03 |0000: iput-object v1, v0, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@038c │ │ -02a274: 5902 8403 |0002: iput v2, v0, Lutil/conpool/Connection;.conTimeout:I // field@0384 │ │ -02a278: 5c03 9003 |0004: iput-boolean v3, v0, Lutil/conpool/Connection;.ssl:Z // field@0390 │ │ -02a27c: 5b04 9103 |0006: iput-object v4, v0, Lutil/conpool/Connection;.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0391 │ │ -02a280: 5b05 8b03 |0008: iput-object v5, v0, Lutil/conpool/Connection;.proxy:Ljava/net/Proxy; // field@038b │ │ -02a284: 7010 8d07 0000 |000a: invoke-direct {v0}, Lutil/conpool/Connection;.establishConnection:()V // method@078d │ │ -02a28a: 0e00 |000d: return-void │ │ +02a25c: |[02a25c] util.conpool.Connection.initConnection:(Ljava/net/InetSocketAddress;IZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)V │ │ +02a26c: 5b01 8c03 |0000: iput-object v1, v0, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@038c │ │ +02a270: 5902 8403 |0002: iput v2, v0, Lutil/conpool/Connection;.conTimeout:I // field@0384 │ │ +02a274: 5c03 9003 |0004: iput-boolean v3, v0, Lutil/conpool/Connection;.ssl:Z // field@0390 │ │ +02a278: 5b04 9103 |0006: iput-object v4, v0, Lutil/conpool/Connection;.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0391 │ │ +02a27c: 5b05 8b03 |0008: iput-object v5, v0, Lutil/conpool/Connection;.proxy:Ljava/net/Proxy; // field@038b │ │ +02a280: 7010 8d07 0000 |000a: invoke-direct {v0}, Lutil/conpool/Connection;.establishConnection:()V // method@078d │ │ +02a286: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=202 │ │ 0x0002 line=203 │ │ 0x0004 line=204 │ │ 0x0006 line=205 │ │ 0x0008 line=206 │ │ @@ -59574,24 +59574,24 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 19 16-bit code units │ │ -02a28c: |[02a28c] util.conpool.Connection.initStreams:()V │ │ -02a29c: 2200 9101 |0000: new-instance v0, Lutil/conpool/PooledConnectionInputStream; // type@0191 │ │ -02a2a0: 5421 8e03 |0002: iget-object v1, v2, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038e │ │ -02a2a4: 7020 a807 1000 |0004: invoke-direct {v0, v1}, Lutil/conpool/PooledConnectionInputStream;.:(Ljava/io/InputStream;)V // method@07a8 │ │ -02a2aa: 5b20 8803 |0007: iput-object v0, v2, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0388 │ │ -02a2ae: 2200 9201 |0009: new-instance v0, Lutil/conpool/PooledConnectionOutputStream; // type@0192 │ │ -02a2b2: 5421 8f03 |000b: iget-object v1, v2, Lutil/conpool/Connection;.socketOut:Ljava/io/OutputStream; // field@038f │ │ -02a2b6: 7020 af07 1000 |000d: invoke-direct {v0, v1}, Lutil/conpool/PooledConnectionOutputStream;.:(Ljava/io/OutputStream;)V // method@07af │ │ -02a2bc: 5b20 8903 |0010: iput-object v0, v2, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0389 │ │ -02a2c0: 0e00 |0012: return-void │ │ +02a288: |[02a288] util.conpool.Connection.initStreams:()V │ │ +02a298: 2200 9101 |0000: new-instance v0, Lutil/conpool/PooledConnectionInputStream; // type@0191 │ │ +02a29c: 5421 8e03 |0002: iget-object v1, v2, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038e │ │ +02a2a0: 7020 a807 1000 |0004: invoke-direct {v0, v1}, Lutil/conpool/PooledConnectionInputStream;.:(Ljava/io/InputStream;)V // method@07a8 │ │ +02a2a6: 5b20 8803 |0007: iput-object v0, v2, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0388 │ │ +02a2aa: 2200 9201 |0009: new-instance v0, Lutil/conpool/PooledConnectionOutputStream; // type@0192 │ │ +02a2ae: 5421 8f03 |000b: iget-object v1, v2, Lutil/conpool/Connection;.socketOut:Ljava/io/OutputStream; // field@038f │ │ +02a2b2: 7020 af07 1000 |000d: invoke-direct {v0, v1}, Lutil/conpool/PooledConnectionOutputStream;.:(Ljava/io/OutputStream;)V // method@07af │ │ +02a2b8: 5b20 8903 |0010: iput-object v0, v2, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0389 │ │ +02a2bc: 0e00 |0012: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=289 │ │ 0x0009 line=290 │ │ locals : │ │ 0x0000 - 0x0013 reg=2 this Lutil/conpool/Connection; │ │ │ │ @@ -59600,61 +59600,61 @@ │ │ type : '()V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 7 │ │ ins : 0 │ │ outs : 2 │ │ insns size : 76 16-bit code units │ │ -02a2c4: |[02a2c4] util.conpool.Connection.invalidate:()V │ │ -02a2d4: 6200 8603 |0000: sget-object v0, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0386 │ │ -02a2d8: 1d00 |0002: monitor-enter v0 │ │ -02a2da: 6201 8603 |0003: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0386 │ │ -02a2de: 6e10 0d06 0100 |0005: invoke-virtual {v1}, Ljava/util/HashMap;.values:()Ljava/util/Collection; // method@060d │ │ -02a2e4: 0c01 |0008: move-result-object v1 │ │ -02a2e6: 1202 |0009: const/4 v2, #int 0 // #0 │ │ -02a2e8: 2323 ad01 |000a: new-array v3, v2, [Ljava/util/Vector; // type@01ad │ │ -02a2ec: 7220 fe05 3100 |000c: invoke-interface {v1, v3}, Ljava/util/Collection;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@05fe │ │ -02a2f2: 0c01 |000f: move-result-object v1 │ │ -02a2f4: 1f01 ad01 |0010: check-cast v1, [Ljava/util/Vector; // type@01ad │ │ -02a2f8: 1203 |0012: const/4 v3, #int 0 // #0 │ │ -02a2fa: 2114 |0013: array-length v4, v1 │ │ -02a2fc: 3543 1b00 |0014: if-ge v3, v4, 002f // +001b │ │ -02a300: 4604 0103 |0016: aget-object v4, v1, v3 │ │ -02a304: 2325 b301 |0018: new-array v5, v2, [Lutil/conpool/Connection; // type@01b3 │ │ -02a308: 6e20 6406 5400 |001a: invoke-virtual {v4, v5}, Ljava/util/Vector;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0664 │ │ -02a30e: 0c04 |001d: move-result-object v4 │ │ -02a310: 1f04 b301 |001e: check-cast v4, [Lutil/conpool/Connection; // type@01b3 │ │ -02a314: 1205 |0020: const/4 v5, #int 0 // #0 │ │ -02a316: 2146 |0021: array-length v6, v4 │ │ -02a318: 3565 0a00 |0022: if-ge v5, v6, 002c // +000a │ │ -02a31c: 4606 0405 |0024: aget-object v6, v4, v5 │ │ -02a320: 6e20 9e07 2600 |0026: invoke-virtual {v6, v2}, Lutil/conpool/Connection;.release:(Z)V // method@079e │ │ -02a326: d805 0501 |0029: add-int/lit8 v5, v5, #int 1 // #01 │ │ -02a32a: 28f6 |002b: goto 0021 // -000a │ │ -02a32c: d803 0301 |002c: add-int/lit8 v3, v3, #int 1 // #01 │ │ -02a330: 28e5 |002e: goto 0013 // -001b │ │ -02a332: 6201 8503 |002f: sget-object v1, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0385 │ │ -02a336: 2323 b301 |0031: new-array v3, v2, [Lutil/conpool/Connection; // type@01b3 │ │ -02a33a: 6e20 1606 3100 |0033: invoke-virtual {v1, v3}, Ljava/util/HashSet;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0616 │ │ -02a340: 0c01 |0036: move-result-object v1 │ │ -02a342: 1f01 b301 |0037: check-cast v1, [Lutil/conpool/Connection; // type@01b3 │ │ -02a346: 1203 |0039: const/4 v3, #int 0 // #0 │ │ -02a348: 2114 |003a: array-length v4, v1 │ │ -02a34a: 3543 0a00 |003b: if-ge v3, v4, 0045 // +000a │ │ -02a34e: 4604 0103 |003d: aget-object v4, v1, v3 │ │ -02a352: 6e20 9e07 2400 |003f: invoke-virtual {v4, v2}, Lutil/conpool/Connection;.release:(Z)V // method@079e │ │ -02a358: d803 0301 |0042: add-int/lit8 v3, v3, #int 1 // #01 │ │ -02a35c: 28f6 |0044: goto 003a // -000a │ │ -02a35e: 1e00 |0045: monitor-exit v0 │ │ -02a360: 0e00 |0046: return-void │ │ -02a362: 0d01 |0047: move-exception v1 │ │ -02a364: 1e00 |0048: monitor-exit v0 │ │ -02a366: 2802 |0049: goto 004b // +0002 │ │ -02a368: 2701 |004a: throw v1 │ │ -02a36a: 28ff |004b: goto 004a // -0001 │ │ +02a2c0: |[02a2c0] util.conpool.Connection.invalidate:()V │ │ +02a2d0: 6200 8603 |0000: sget-object v0, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0386 │ │ +02a2d4: 1d00 |0002: monitor-enter v0 │ │ +02a2d6: 6201 8603 |0003: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0386 │ │ +02a2da: 6e10 0d06 0100 |0005: invoke-virtual {v1}, Ljava/util/HashMap;.values:()Ljava/util/Collection; // method@060d │ │ +02a2e0: 0c01 |0008: move-result-object v1 │ │ +02a2e2: 1202 |0009: const/4 v2, #int 0 // #0 │ │ +02a2e4: 2323 ad01 |000a: new-array v3, v2, [Ljava/util/Vector; // type@01ad │ │ +02a2e8: 7220 fe05 3100 |000c: invoke-interface {v1, v3}, Ljava/util/Collection;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@05fe │ │ +02a2ee: 0c01 |000f: move-result-object v1 │ │ +02a2f0: 1f01 ad01 |0010: check-cast v1, [Ljava/util/Vector; // type@01ad │ │ +02a2f4: 1203 |0012: const/4 v3, #int 0 // #0 │ │ +02a2f6: 2114 |0013: array-length v4, v1 │ │ +02a2f8: 3543 1b00 |0014: if-ge v3, v4, 002f // +001b │ │ +02a2fc: 4604 0103 |0016: aget-object v4, v1, v3 │ │ +02a300: 2325 b301 |0018: new-array v5, v2, [Lutil/conpool/Connection; // type@01b3 │ │ +02a304: 6e20 6406 5400 |001a: invoke-virtual {v4, v5}, Ljava/util/Vector;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0664 │ │ +02a30a: 0c04 |001d: move-result-object v4 │ │ +02a30c: 1f04 b301 |001e: check-cast v4, [Lutil/conpool/Connection; // type@01b3 │ │ +02a310: 1205 |0020: const/4 v5, #int 0 // #0 │ │ +02a312: 2146 |0021: array-length v6, v4 │ │ +02a314: 3565 0a00 |0022: if-ge v5, v6, 002c // +000a │ │ +02a318: 4606 0405 |0024: aget-object v6, v4, v5 │ │ +02a31c: 6e20 9e07 2600 |0026: invoke-virtual {v6, v2}, Lutil/conpool/Connection;.release:(Z)V // method@079e │ │ +02a322: d805 0501 |0029: add-int/lit8 v5, v5, #int 1 // #01 │ │ +02a326: 28f6 |002b: goto 0021 // -000a │ │ +02a328: d803 0301 |002c: add-int/lit8 v3, v3, #int 1 // #01 │ │ +02a32c: 28e5 |002e: goto 0013 // -001b │ │ +02a32e: 6201 8503 |002f: sget-object v1, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0385 │ │ +02a332: 2323 b301 |0031: new-array v3, v2, [Lutil/conpool/Connection; // type@01b3 │ │ +02a336: 6e20 1606 3100 |0033: invoke-virtual {v1, v3}, Ljava/util/HashSet;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0616 │ │ +02a33c: 0c01 |0036: move-result-object v1 │ │ +02a33e: 1f01 b301 |0037: check-cast v1, [Lutil/conpool/Connection; // type@01b3 │ │ +02a342: 1203 |0039: const/4 v3, #int 0 // #0 │ │ +02a344: 2114 |003a: array-length v4, v1 │ │ +02a346: 3543 0a00 |003b: if-ge v3, v4, 0045 // +000a │ │ +02a34a: 4604 0103 |003d: aget-object v4, v1, v3 │ │ +02a34e: 6e20 9e07 2400 |003f: invoke-virtual {v4, v2}, Lutil/conpool/Connection;.release:(Z)V // method@079e │ │ +02a354: d803 0301 |0042: add-int/lit8 v3, v3, #int 1 // #01 │ │ +02a358: 28f6 |0044: goto 003a // -000a │ │ +02a35a: 1e00 |0045: monitor-exit v0 │ │ +02a35c: 0e00 |0046: return-void │ │ +02a35e: 0d01 |0047: move-exception v1 │ │ +02a360: 1e00 |0048: monitor-exit v0 │ │ +02a362: 2802 |0049: goto 004b // +0002 │ │ +02a364: 2701 |004a: throw v1 │ │ +02a366: 28ff |004b: goto 004a // -0001 │ │ catches : 1 │ │ 0x0003 - 0x0049 │ │ -> 0x0047 │ │ positions : │ │ 0x0000 line=294 │ │ 0x0003 line=295 │ │ 0x0013 line=296 │ │ @@ -59672,40 +59672,40 @@ │ │ type : '()Z' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 48 16-bit code units │ │ -029910: |[029910] util.conpool.Connection.isAlive:()Z │ │ -029920: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -029922: 1201 |0001: const/4 v1, #int 0 // #0 │ │ -029924: 5442 8d03 |0002: iget-object v2, v4, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ -029928: 6e20 c905 0200 |0004: invoke-virtual {v2, v0}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05c9 │ │ -02992e: 5442 8e03 |0007: iget-object v2, v4, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038e │ │ -029932: 6e10 0405 0200 |0009: invoke-virtual {v2}, Ljava/io/InputStream;.read:()I // method@0504 │ │ -029938: 0a02 |000c: move-result v2 │ │ -02993a: 12f3 |000d: const/4 v3, #int -1 // #ff │ │ -02993c: 3232 1a00 |000e: if-eq v2, v3, 0028 // +001a │ │ -029940: 5442 8e03 |0010: iget-object v2, v4, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038e │ │ -029944: 6e10 0205 0200 |0012: invoke-virtual {v2}, Ljava/io/InputStream;.available:()I // method@0502 │ │ -02994a: 0a02 |0015: move-result v2 │ │ -02994c: 1303 0028 |0016: const/16 v3, #int 10240 // #2800 │ │ -029950: 7120 4b05 3200 |0018: invoke-static {v2, v3}, Ljava/lang/Math;.max:(II)I // method@054b │ │ -029956: 0a02 |001b: move-result v2 │ │ -029958: 2322 9901 |001c: new-array v2, v2, [B // type@0199 │ │ -02995c: 5443 8e03 |001e: iget-object v3, v4, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038e │ │ -029960: 6e20 0505 2300 |0020: invoke-virtual {v3, v2}, Ljava/io/InputStream;.read:([B)I // method@0505 │ │ -029966: 2203 2601 |0023: new-instance v3, Ljava/lang/String; // type@0126 │ │ -02996a: 7020 6105 2300 |0025: invoke-direct {v3, v2}, Ljava/lang/String;.:([B)V // method@0561 │ │ -029970: 0f01 |0028: return v1 │ │ -029972: 5442 8d03 |0029: iget-object v2, v4, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ -029976: 6e20 c905 1200 |002b: invoke-virtual {v2, v1}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05c9 │ │ -02997c: 0f00 |002e: return v0 │ │ -02997e: 0f01 |002f: return v1 │ │ +02990c: |[02990c] util.conpool.Connection.isAlive:()Z │ │ +02991c: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +02991e: 1201 |0001: const/4 v1, #int 0 // #0 │ │ +029920: 5442 8d03 |0002: iget-object v2, v4, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ +029924: 6e20 c905 0200 |0004: invoke-virtual {v2, v0}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05c9 │ │ +02992a: 5442 8e03 |0007: iget-object v2, v4, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038e │ │ +02992e: 6e10 0405 0200 |0009: invoke-virtual {v2}, Ljava/io/InputStream;.read:()I // method@0504 │ │ +029934: 0a02 |000c: move-result v2 │ │ +029936: 12f3 |000d: const/4 v3, #int -1 // #ff │ │ +029938: 3232 1a00 |000e: if-eq v2, v3, 0028 // +001a │ │ +02993c: 5442 8e03 |0010: iget-object v2, v4, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038e │ │ +029940: 6e10 0205 0200 |0012: invoke-virtual {v2}, Ljava/io/InputStream;.available:()I // method@0502 │ │ +029946: 0a02 |0015: move-result v2 │ │ +029948: 1303 0028 |0016: const/16 v3, #int 10240 // #2800 │ │ +02994c: 7120 4b05 3200 |0018: invoke-static {v2, v3}, Ljava/lang/Math;.max:(II)I // method@054b │ │ +029952: 0a02 |001b: move-result v2 │ │ +029954: 2322 9901 |001c: new-array v2, v2, [B // type@0199 │ │ +029958: 5443 8e03 |001e: iget-object v3, v4, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038e │ │ +02995c: 6e20 0505 2300 |0020: invoke-virtual {v3, v2}, Ljava/io/InputStream;.read:([B)I // method@0505 │ │ +029962: 2203 2601 |0023: new-instance v3, Ljava/lang/String; // type@0126 │ │ +029966: 7020 6105 2300 |0025: invoke-direct {v3, v2}, Ljava/lang/String;.:([B)V // method@0561 │ │ +02996c: 0f01 |0028: return v1 │ │ +02996e: 5442 8d03 |0029: iget-object v2, v4, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ +029972: 6e20 c905 1200 |002b: invoke-virtual {v2, v1}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05c9 │ │ +029978: 0f00 |002e: return v0 │ │ +02997a: 0f01 |002f: return v1 │ │ catches : 2 │ │ 0x0002 - 0x0028 │ │ Ljava/net/SocketTimeoutException; -> 0x0029 │ │ Ljava/lang/Exception; -> 0x0028 │ │ 0x0029 - 0x002e │ │ Ljava/net/SocketException; -> 0x002f │ │ positions : │ │ @@ -59724,57 +59724,57 @@ │ │ type : '(Ljava/lang/String;)[Ljava/lang/String;' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 77 16-bit code units │ │ -029a78: |[029a78] util.conpool.Connection.parseHosts:(Ljava/lang/String;)[Ljava/lang/String; │ │ -029a88: 1a00 3000 |0000: const-string v0, "#" // string@0030 │ │ -029a8c: 6e20 7505 0400 |0002: invoke-virtual {v4, v0}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ -029a92: 0a00 |0005: move-result v0 │ │ -029a94: 3900 4500 |0006: if-nez v0, 004b // +0045 │ │ -029a98: 6e10 7c05 0400 |0008: invoke-virtual {v4}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -029a9e: 0c00 |000b: move-result-object v0 │ │ -029aa0: 1a01 0000 |000c: const-string v1, "" // string@0000 │ │ -029aa4: 6e20 6705 1000 |000e: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ -029aaa: 0a00 |0011: move-result v0 │ │ -029aac: 3800 0300 |0012: if-eqz v0, 0015 // +0003 │ │ -029ab0: 2837 |0014: goto 004b // +0037 │ │ -029ab2: 2200 6201 |0015: new-instance v0, Ljava/util/StringTokenizer; // type@0162 │ │ -029ab6: 7020 4206 4000 |0017: invoke-direct {v0, v4}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;)V // method@0642 │ │ -029abc: 6e10 4406 0000 |001a: invoke-virtual {v0}, Ljava/util/StringTokenizer;.countTokens:()I // method@0644 │ │ -029ac2: 0a04 |001d: move-result v4 │ │ -029ac4: 1211 |001e: const/4 v1, #int 1 // #1 │ │ -029ac6: 1202 |001f: const/4 v2, #int 0 // #0 │ │ -029ac8: 1223 |0020: const/4 v3, #int 2 // #2 │ │ -029aca: 3434 1900 |0021: if-lt v4, v3, 003a // +0019 │ │ -029ace: 6e10 4706 0000 |0023: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0647 │ │ -029ad4: 0c04 |0026: move-result-object v4 │ │ -029ad6: 6e10 7c05 0400 |0027: invoke-virtual {v4}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -029adc: 0c04 |002a: move-result-object v4 │ │ -029ade: 6e10 4706 0000 |002b: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0647 │ │ -029ae4: 0c00 |002e: move-result-object v0 │ │ -029ae6: 6e10 7c05 0000 |002f: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -029aec: 0c00 |0032: move-result-object v0 │ │ -029aee: 2333 a901 |0033: new-array v3, v3, [Ljava/lang/String; // type@01a9 │ │ -029af2: 4d04 0302 |0035: aput-object v4, v3, v2 │ │ -029af6: 4d00 0301 |0037: aput-object v0, v3, v1 │ │ -029afa: 1103 |0039: return-object v3 │ │ -029afc: 6e10 4706 0000 |003a: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0647 │ │ -029b02: 0c04 |003d: move-result-object v4 │ │ -029b04: 6e10 7c05 0400 |003e: invoke-virtual {v4}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ -029b0a: 0c04 |0041: move-result-object v4 │ │ -029b0c: 2330 a901 |0042: new-array v0, v3, [Ljava/lang/String; // type@01a9 │ │ -029b10: 1a03 7600 |0044: const-string v3, "127.0.0.1" // string@0076 │ │ -029b14: 4d03 0002 |0046: aput-object v3, v0, v2 │ │ -029b18: 4d04 0001 |0048: aput-object v4, v0, v1 │ │ -029b1c: 1100 |004a: return-object v0 │ │ -029b1e: 1204 |004b: const/4 v4, #int 0 // #0 │ │ -029b20: 1104 |004c: return-object v4 │ │ +029a74: |[029a74] util.conpool.Connection.parseHosts:(Ljava/lang/String;)[Ljava/lang/String; │ │ +029a84: 1a00 3000 |0000: const-string v0, "#" // string@0030 │ │ +029a88: 6e20 7505 0400 |0002: invoke-virtual {v4, v0}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0575 │ │ +029a8e: 0a00 |0005: move-result v0 │ │ +029a90: 3900 4500 |0006: if-nez v0, 004b // +0045 │ │ +029a94: 6e10 7c05 0400 |0008: invoke-virtual {v4}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +029a9a: 0c00 |000b: move-result-object v0 │ │ +029a9c: 1a01 0000 |000c: const-string v1, "" // string@0000 │ │ +029aa0: 6e20 6705 1000 |000e: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0567 │ │ +029aa6: 0a00 |0011: move-result v0 │ │ +029aa8: 3800 0300 |0012: if-eqz v0, 0015 // +0003 │ │ +029aac: 2837 |0014: goto 004b // +0037 │ │ +029aae: 2200 6201 |0015: new-instance v0, Ljava/util/StringTokenizer; // type@0162 │ │ +029ab2: 7020 4206 4000 |0017: invoke-direct {v0, v4}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;)V // method@0642 │ │ +029ab8: 6e10 4406 0000 |001a: invoke-virtual {v0}, Ljava/util/StringTokenizer;.countTokens:()I // method@0644 │ │ +029abe: 0a04 |001d: move-result v4 │ │ +029ac0: 1211 |001e: const/4 v1, #int 1 // #1 │ │ +029ac2: 1202 |001f: const/4 v2, #int 0 // #0 │ │ +029ac4: 1223 |0020: const/4 v3, #int 2 // #2 │ │ +029ac6: 3434 1900 |0021: if-lt v4, v3, 003a // +0019 │ │ +029aca: 6e10 4706 0000 |0023: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0647 │ │ +029ad0: 0c04 |0026: move-result-object v4 │ │ +029ad2: 6e10 7c05 0400 |0027: invoke-virtual {v4}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +029ad8: 0c04 |002a: move-result-object v4 │ │ +029ada: 6e10 4706 0000 |002b: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0647 │ │ +029ae0: 0c00 |002e: move-result-object v0 │ │ +029ae2: 6e10 7c05 0000 |002f: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +029ae8: 0c00 |0032: move-result-object v0 │ │ +029aea: 2333 a901 |0033: new-array v3, v3, [Ljava/lang/String; // type@01a9 │ │ +029aee: 4d04 0302 |0035: aput-object v4, v3, v2 │ │ +029af2: 4d00 0301 |0037: aput-object v0, v3, v1 │ │ +029af6: 1103 |0039: return-object v3 │ │ +029af8: 6e10 4706 0000 |003a: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0647 │ │ +029afe: 0c04 |003d: move-result-object v4 │ │ +029b00: 6e10 7c05 0400 |003e: invoke-virtual {v4}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@057c │ │ +029b06: 0c04 |0041: move-result-object v4 │ │ +029b08: 2330 a901 |0042: new-array v0, v3, [Ljava/lang/String; // type@01a9 │ │ +029b0c: 1a03 7600 |0044: const-string v3, "127.0.0.1" // string@0076 │ │ +029b10: 4d03 0002 |0046: aput-object v3, v0, v2 │ │ +029b14: 4d04 0001 |0048: aput-object v4, v0, v1 │ │ +029b18: 1100 |004a: return-object v0 │ │ +029b1a: 1204 |004b: const/4 v4, #int 0 // #0 │ │ +029b1c: 1104 |004c: return-object v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=185 │ │ 0x0015 line=187 │ │ 0x001a line=188 │ │ 0x0023 line=189 │ │ 0x002b line=190 │ │ @@ -59789,43 +59789,43 @@ │ │ type : '(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String;' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 5 │ │ ins : 4 │ │ outs : 2 │ │ insns size : 66 16-bit code units │ │ -0299e4: |[0299e4] util.conpool.Connection.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; │ │ -0299f4: 1a00 8500 |0000: const-string v0, ":" // string@0085 │ │ -0299f8: 3803 2100 |0002: if-eqz v3, 0023 // +0021 │ │ -0299fc: 2203 2801 |0004: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -029a00: 7010 8305 0300 |0006: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -029a06: 6e20 8905 1300 |0009: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -029a0c: 6e20 8905 0300 |000c: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -029a12: 6e20 8605 2300 |000f: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -029a18: 1a01 8f00 |0012: const-string v1, ":ssl:" // string@008f │ │ -029a1c: 6e20 8905 1300 |0014: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -029a22: 6e10 bf05 0400 |0017: invoke-virtual {v4}, Ljava/net/Proxy;.hashCode:()I // method@05bf │ │ -029a28: 0a01 |001a: move-result v1 │ │ -029a2a: 6e20 8605 1300 |001b: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -029a30: 6e10 8b05 0300 |001e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -029a36: 0c01 |0021: move-result-object v1 │ │ -029a38: 1101 |0022: return-object v1 │ │ -029a3a: 2203 2801 |0023: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ -029a3e: 7010 8305 0300 |0025: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ -029a44: 6e20 8905 1300 |0028: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -029a4a: 6e20 8905 0300 |002b: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -029a50: 6e20 8605 2300 |002e: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -029a56: 1a01 8e00 |0031: const-string v1, ":plain:" // string@008e │ │ -029a5a: 6e20 8905 1300 |0033: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ -029a60: 6e10 bf05 0400 |0036: invoke-virtual {v4}, Ljava/net/Proxy;.hashCode:()I // method@05bf │ │ -029a66: 0a01 |0039: move-result v1 │ │ -029a68: 6e20 8605 1300 |003a: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ -029a6e: 6e10 8b05 0300 |003d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ -029a74: 0c01 |0040: move-result-object v1 │ │ -029a76: 1101 |0041: return-object v1 │ │ +0299e0: |[0299e0] util.conpool.Connection.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; │ │ +0299f0: 1a00 8500 |0000: const-string v0, ":" // string@0085 │ │ +0299f4: 3803 2100 |0002: if-eqz v3, 0023 // +0021 │ │ +0299f8: 2203 2801 |0004: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +0299fc: 7010 8305 0300 |0006: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +029a02: 6e20 8905 1300 |0009: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +029a08: 6e20 8905 0300 |000c: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +029a0e: 6e20 8605 2300 |000f: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +029a14: 1a01 8f00 |0012: const-string v1, ":ssl:" // string@008f │ │ +029a18: 6e20 8905 1300 |0014: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +029a1e: 6e10 bf05 0400 |0017: invoke-virtual {v4}, Ljava/net/Proxy;.hashCode:()I // method@05bf │ │ +029a24: 0a01 |001a: move-result v1 │ │ +029a26: 6e20 8605 1300 |001b: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +029a2c: 6e10 8b05 0300 |001e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +029a32: 0c01 |0021: move-result-object v1 │ │ +029a34: 1101 |0022: return-object v1 │ │ +029a36: 2203 2801 |0023: new-instance v3, Ljava/lang/StringBuilder; // type@0128 │ │ +029a3a: 7010 8305 0300 |0025: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0583 │ │ +029a40: 6e20 8905 1300 |0028: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +029a46: 6e20 8905 0300 |002b: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +029a4c: 6e20 8605 2300 |002e: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +029a52: 1a01 8e00 |0031: const-string v1, ":plain:" // string@008e │ │ +029a56: 6e20 8905 1300 |0033: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0589 │ │ +029a5c: 6e10 bf05 0400 |0036: invoke-virtual {v4}, Ljava/net/Proxy;.hashCode:()I // method@05bf │ │ +029a62: 0a01 |0039: move-result v1 │ │ +029a64: 6e20 8605 1300 |003a: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0586 │ │ +029a6a: 6e10 8b05 0300 |003d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@058b │ │ +029a70: 0c01 |0040: move-result-object v1 │ │ +029a72: 1101 |0041: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=142 │ │ 0x0004 line=143 │ │ 0x0023 line=145 │ │ locals : │ │ 0x0000 - 0x0042 reg=1 (null) Ljava/lang/String; │ │ @@ -59838,71 +59838,71 @@ │ │ type : '(Ljava/lang/String;)Lutil/conpool/Connection;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 9 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 92 16-bit code units │ │ -029e64: |[029e64] util.conpool.Connection.poolRemove:(Ljava/lang/String;)Lutil/conpool/Connection; │ │ -029e74: 6200 8603 |0000: sget-object v0, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0386 │ │ -029e78: 1d00 |0002: monitor-enter v0 │ │ -029e7a: 6201 8603 |0003: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0386 │ │ -029e7e: 6e20 0906 8100 |0005: invoke-virtual {v1, v8}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0609 │ │ -029e84: 0c01 |0008: move-result-object v1 │ │ -029e86: 1f01 6601 |0009: check-cast v1, Ljava/util/Vector; // type@0166 │ │ -029e8a: 1202 |000b: const/4 v2, #int 0 // #0 │ │ -029e8c: 3901 0400 |000c: if-nez v1, 0010 // +0004 │ │ -029e90: 1e00 |000e: monitor-exit v0 │ │ -029e92: 1102 |000f: return-object v2 │ │ -029e94: 1203 |0010: const/4 v3, #int 0 // #0 │ │ -029e96: 0725 |0011: move-object v5, v2 │ │ -029e98: 1204 |0012: const/4 v4, #int 0 // #0 │ │ -029e9a: 3904 3700 |0013: if-nez v4, 004a // +0037 │ │ -029e9e: 6e10 5e06 0100 |0015: invoke-virtual {v1}, Ljava/util/Vector;.isEmpty:()Z // method@065e │ │ -029ea4: 0a04 |0018: move-result v4 │ │ -029ea6: 3904 3100 |0019: if-nez v4, 004a // +0031 │ │ -029eaa: 6e10 6306 0100 |001b: invoke-virtual {v1}, Ljava/util/Vector;.size:()I // method@0663 │ │ -029eb0: 0a04 |001e: move-result v4 │ │ -029eb2: 1215 |001f: const/4 v5, #int 1 // #1 │ │ -029eb4: b154 |0020: sub-int/2addr v4, v5 │ │ -029eb6: 6e20 6006 4100 |0021: invoke-virtual {v1, v4}, Ljava/util/Vector;.remove:(I)Ljava/lang/Object; // method@0660 │ │ -029ebc: 0c04 |0024: move-result-object v4 │ │ -029ebe: 1f04 8f01 |0025: check-cast v4, Lutil/conpool/Connection; // type@018f │ │ -029ec2: 5546 8303 |0027: iget-boolean v6, v4, Lutil/conpool/Connection;.acquired:Z // field@0383 │ │ -029ec6: 3906 1900 |0029: if-nez v6, 0042 // +0019 │ │ -029eca: 5c45 8303 |002b: iput-boolean v5, v4, Lutil/conpool/Connection;.acquired:Z // field@0383 │ │ -029ece: 6205 9303 |002d: sget-object v5, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0393 │ │ -029ed2: 6e20 6707 4500 |002f: invoke-virtual {v5, v4}, Lutil/TimoutNotificator;.unregister:(Lutil/TimeoutListener;)V // method@0767 │ │ -029ed8: 7010 9807 0400 |0032: invoke-direct {v4}, Lutil/conpool/Connection;.isAlive:()Z // method@0798 │ │ -029ede: 0a05 |0035: move-result v5 │ │ -029ee0: 3905 0800 |0036: if-nez v5, 003e // +0008 │ │ -029ee4: 6e20 9e07 3400 |0038: invoke-virtual {v4, v3}, Lutil/conpool/Connection;.release:(Z)V // method@079e │ │ -029eea: 0154 |003b: move v4, v5 │ │ -029eec: 0725 |003c: move-object v5, v2 │ │ -029eee: 28d6 |003d: goto 0013 // -002a │ │ -029ef0: 0157 |003e: move v7, v5 │ │ -029ef2: 0745 |003f: move-object v5, v4 │ │ -029ef4: 0174 |0040: move v4, v7 │ │ -029ef6: 28d2 |0041: goto 0013 // -002e │ │ -029ef8: 2208 1801 |0042: new-instance v8, Ljava/lang/IllegalStateException; // type@0118 │ │ -029efc: 1a01 ea01 |0044: const-string v1, "Inconsistent connection state - Cannot take already acquired connection from pool!" // string@01ea │ │ -029f00: 7020 3d05 1800 |0046: invoke-direct {v8, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ -029f06: 2708 |0049: throw v8 │ │ -029f08: 6e10 5e06 0100 |004a: invoke-virtual {v1}, Ljava/util/Vector;.isEmpty:()Z // method@065e │ │ -029f0e: 0a01 |004d: move-result v1 │ │ -029f10: 3801 0700 |004e: if-eqz v1, 0055 // +0007 │ │ -029f14: 6201 8603 |0050: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0386 │ │ -029f18: 6e20 0b06 8100 |0052: invoke-virtual {v1, v8}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@060b │ │ -029f1e: 1e00 |0055: monitor-exit v0 │ │ -029f20: 1105 |0056: return-object v5 │ │ -029f22: 0d08 |0057: move-exception v8 │ │ -029f24: 1e00 |0058: monitor-exit v0 │ │ -029f26: 2802 |0059: goto 005b // +0002 │ │ -029f28: 2708 |005a: throw v8 │ │ -029f2a: 28ff |005b: goto 005a // -0001 │ │ +029e60: |[029e60] util.conpool.Connection.poolRemove:(Ljava/lang/String;)Lutil/conpool/Connection; │ │ +029e70: 6200 8603 |0000: sget-object v0, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0386 │ │ +029e74: 1d00 |0002: monitor-enter v0 │ │ +029e76: 6201 8603 |0003: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0386 │ │ +029e7a: 6e20 0906 8100 |0005: invoke-virtual {v1, v8}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0609 │ │ +029e80: 0c01 |0008: move-result-object v1 │ │ +029e82: 1f01 6601 |0009: check-cast v1, Ljava/util/Vector; // type@0166 │ │ +029e86: 1202 |000b: const/4 v2, #int 0 // #0 │ │ +029e88: 3901 0400 |000c: if-nez v1, 0010 // +0004 │ │ +029e8c: 1e00 |000e: monitor-exit v0 │ │ +029e8e: 1102 |000f: return-object v2 │ │ +029e90: 1203 |0010: const/4 v3, #int 0 // #0 │ │ +029e92: 0725 |0011: move-object v5, v2 │ │ +029e94: 1204 |0012: const/4 v4, #int 0 // #0 │ │ +029e96: 3904 3700 |0013: if-nez v4, 004a // +0037 │ │ +029e9a: 6e10 5e06 0100 |0015: invoke-virtual {v1}, Ljava/util/Vector;.isEmpty:()Z // method@065e │ │ +029ea0: 0a04 |0018: move-result v4 │ │ +029ea2: 3904 3100 |0019: if-nez v4, 004a // +0031 │ │ +029ea6: 6e10 6306 0100 |001b: invoke-virtual {v1}, Ljava/util/Vector;.size:()I // method@0663 │ │ +029eac: 0a04 |001e: move-result v4 │ │ +029eae: 1215 |001f: const/4 v5, #int 1 // #1 │ │ +029eb0: b154 |0020: sub-int/2addr v4, v5 │ │ +029eb2: 6e20 6006 4100 |0021: invoke-virtual {v1, v4}, Ljava/util/Vector;.remove:(I)Ljava/lang/Object; // method@0660 │ │ +029eb8: 0c04 |0024: move-result-object v4 │ │ +029eba: 1f04 8f01 |0025: check-cast v4, Lutil/conpool/Connection; // type@018f │ │ +029ebe: 5546 8303 |0027: iget-boolean v6, v4, Lutil/conpool/Connection;.acquired:Z // field@0383 │ │ +029ec2: 3906 1900 |0029: if-nez v6, 0042 // +0019 │ │ +029ec6: 5c45 8303 |002b: iput-boolean v5, v4, Lutil/conpool/Connection;.acquired:Z // field@0383 │ │ +029eca: 6205 9303 |002d: sget-object v5, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0393 │ │ +029ece: 6e20 6707 4500 |002f: invoke-virtual {v5, v4}, Lutil/TimoutNotificator;.unregister:(Lutil/TimeoutListener;)V // method@0767 │ │ +029ed4: 7010 9807 0400 |0032: invoke-direct {v4}, Lutil/conpool/Connection;.isAlive:()Z // method@0798 │ │ +029eda: 0a05 |0035: move-result v5 │ │ +029edc: 3905 0800 |0036: if-nez v5, 003e // +0008 │ │ +029ee0: 6e20 9e07 3400 |0038: invoke-virtual {v4, v3}, Lutil/conpool/Connection;.release:(Z)V // method@079e │ │ +029ee6: 0154 |003b: move v4, v5 │ │ +029ee8: 0725 |003c: move-object v5, v2 │ │ +029eea: 28d6 |003d: goto 0013 // -002a │ │ +029eec: 0157 |003e: move v7, v5 │ │ +029eee: 0745 |003f: move-object v5, v4 │ │ +029ef0: 0174 |0040: move v4, v7 │ │ +029ef2: 28d2 |0041: goto 0013 // -002e │ │ +029ef4: 2208 1801 |0042: new-instance v8, Ljava/lang/IllegalStateException; // type@0118 │ │ +029ef8: 1a01 ea01 |0044: const-string v1, "Inconsistent connection state - Cannot take already acquired connection from pool!" // string@01ea │ │ +029efc: 7020 3d05 1800 |0046: invoke-direct {v8, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ +029f02: 2708 |0049: throw v8 │ │ +029f04: 6e10 5e06 0100 |004a: invoke-virtual {v1}, Ljava/util/Vector;.isEmpty:()Z // method@065e │ │ +029f0a: 0a01 |004d: move-result v1 │ │ +029f0c: 3801 0700 |004e: if-eqz v1, 0055 // +0007 │ │ +029f10: 6201 8603 |0050: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0386 │ │ +029f14: 6e20 0b06 8100 |0052: invoke-virtual {v1, v8}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@060b │ │ +029f1a: 1e00 |0055: monitor-exit v0 │ │ +029f1c: 1105 |0056: return-object v5 │ │ +029f1e: 0d08 |0057: move-exception v8 │ │ +029f20: 1e00 |0058: monitor-exit v0 │ │ +029f22: 2802 |0059: goto 005b // +0002 │ │ +029f24: 2708 |005a: throw v8 │ │ +029f26: 28ff |005b: goto 005a // -0001 │ │ catches : 1 │ │ 0x0003 - 0x0059 │ │ -> 0x0057 │ │ positions : │ │ 0x0000 line=328 │ │ 0x0003 line=329 │ │ 0x000e line=331 │ │ @@ -59926,49 +59926,49 @@ │ │ type : '(Lutil/conpool/Connection;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 65 16-bit code units │ │ -02a378: |[02a378] util.conpool.Connection.poolReuse:(Lutil/conpool/Connection;)V │ │ -02a388: 6200 8603 |0000: sget-object v0, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0386 │ │ -02a38c: 1d00 |0002: monitor-enter v0 │ │ -02a38e: 5551 8303 |0003: iget-boolean v1, v5, Lutil/conpool/Connection;.acquired:Z // field@0383 │ │ -02a392: 3801 3100 |0005: if-eqz v1, 0036 // +0031 │ │ -02a396: 1201 |0007: const/4 v1, #int 0 // #0 │ │ -02a398: 5c51 8303 |0008: iput-boolean v1, v5, Lutil/conpool/Connection;.acquired:Z // field@0383 │ │ -02a39c: 6201 8603 |000a: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0386 │ │ -02a3a0: 5452 8a03 |000c: iget-object v2, v5, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@038a │ │ -02a3a4: 6e20 0906 2100 |000e: invoke-virtual {v1, v2}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0609 │ │ -02a3aa: 0c01 |0011: move-result-object v1 │ │ -02a3ac: 1f01 6601 |0012: check-cast v1, Ljava/util/Vector; // type@0166 │ │ -02a3b0: 3901 0e00 |0014: if-nez v1, 0022 // +000e │ │ -02a3b4: 2201 6601 |0016: new-instance v1, Ljava/util/Vector; // type@0166 │ │ -02a3b8: 7010 5606 0100 |0018: invoke-direct {v1}, Ljava/util/Vector;.:()V // method@0656 │ │ -02a3be: 6202 8603 |001b: sget-object v2, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0386 │ │ -02a3c2: 5453 8a03 |001d: iget-object v3, v5, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@038a │ │ -02a3c6: 6e30 0a06 3201 |001f: invoke-virtual {v2, v3, v1}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@060a │ │ -02a3cc: 6202 9303 |0022: sget-object v2, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0393 │ │ -02a3d0: 6e20 6407 5200 |0024: invoke-virtual {v2, v5}, Lutil/TimoutNotificator;.register:(Lutil/TimeoutListener;)V // method@0764 │ │ -02a3d6: 5452 9203 |0027: iget-object v2, v5, Lutil/conpool/Connection;.timeout:Lutil/TimeoutTime; // field@0392 │ │ -02a3da: 6003 8203 |0029: sget v3, Lutil/conpool/Connection;.POOLTIMEOUT_SECONDS:I // field@0382 │ │ -02a3de: d233 e803 |002b: mul-int/lit16 v3, v3, #int 1000 // #03e8 │ │ -02a3e2: 8133 |002d: int-to-long v3, v3 │ │ -02a3e4: 6e30 5e07 3204 |002e: invoke-virtual {v2, v3, v4}, Lutil/TimeoutTime;.setTimeout:(J)V // method@075e │ │ -02a3ea: 6e20 5806 5100 |0031: invoke-virtual {v1, v5}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0658 │ │ -02a3f0: 1e00 |0034: monitor-exit v0 │ │ -02a3f2: 0e00 |0035: return-void │ │ -02a3f4: 2205 1801 |0036: new-instance v5, Ljava/lang/IllegalStateException; // type@0118 │ │ -02a3f8: 1a01 e901 |0038: const-string v1, "Inconsistent connection state - Cannot release non acquired connection" // string@01e9 │ │ -02a3fc: 7020 3d05 1500 |003a: invoke-direct {v5, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ -02a402: 2705 |003d: throw v5 │ │ -02a404: 0d05 |003e: move-exception v5 │ │ -02a406: 1e00 |003f: monitor-exit v0 │ │ -02a408: 2705 |0040: throw v5 │ │ +02a374: |[02a374] util.conpool.Connection.poolReuse:(Lutil/conpool/Connection;)V │ │ +02a384: 6200 8603 |0000: sget-object v0, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0386 │ │ +02a388: 1d00 |0002: monitor-enter v0 │ │ +02a38a: 5551 8303 |0003: iget-boolean v1, v5, Lutil/conpool/Connection;.acquired:Z // field@0383 │ │ +02a38e: 3801 3100 |0005: if-eqz v1, 0036 // +0031 │ │ +02a392: 1201 |0007: const/4 v1, #int 0 // #0 │ │ +02a394: 5c51 8303 |0008: iput-boolean v1, v5, Lutil/conpool/Connection;.acquired:Z // field@0383 │ │ +02a398: 6201 8603 |000a: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0386 │ │ +02a39c: 5452 8a03 |000c: iget-object v2, v5, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@038a │ │ +02a3a0: 6e20 0906 2100 |000e: invoke-virtual {v1, v2}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0609 │ │ +02a3a6: 0c01 |0011: move-result-object v1 │ │ +02a3a8: 1f01 6601 |0012: check-cast v1, Ljava/util/Vector; // type@0166 │ │ +02a3ac: 3901 0e00 |0014: if-nez v1, 0022 // +000e │ │ +02a3b0: 2201 6601 |0016: new-instance v1, Ljava/util/Vector; // type@0166 │ │ +02a3b4: 7010 5606 0100 |0018: invoke-direct {v1}, Ljava/util/Vector;.:()V // method@0656 │ │ +02a3ba: 6202 8603 |001b: sget-object v2, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0386 │ │ +02a3be: 5453 8a03 |001d: iget-object v3, v5, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@038a │ │ +02a3c2: 6e30 0a06 3201 |001f: invoke-virtual {v2, v3, v1}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@060a │ │ +02a3c8: 6202 9303 |0022: sget-object v2, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0393 │ │ +02a3cc: 6e20 6407 5200 |0024: invoke-virtual {v2, v5}, Lutil/TimoutNotificator;.register:(Lutil/TimeoutListener;)V // method@0764 │ │ +02a3d2: 5452 9203 |0027: iget-object v2, v5, Lutil/conpool/Connection;.timeout:Lutil/TimeoutTime; // field@0392 │ │ +02a3d6: 6003 8203 |0029: sget v3, Lutil/conpool/Connection;.POOLTIMEOUT_SECONDS:I // field@0382 │ │ +02a3da: d233 e803 |002b: mul-int/lit16 v3, v3, #int 1000 // #03e8 │ │ +02a3de: 8133 |002d: int-to-long v3, v3 │ │ +02a3e0: 6e30 5e07 3204 |002e: invoke-virtual {v2, v3, v4}, Lutil/TimeoutTime;.setTimeout:(J)V // method@075e │ │ +02a3e6: 6e20 5806 5100 |0031: invoke-virtual {v1, v5}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0658 │ │ +02a3ec: 1e00 |0034: monitor-exit v0 │ │ +02a3ee: 0e00 |0035: return-void │ │ +02a3f0: 2205 1801 |0036: new-instance v5, Ljava/lang/IllegalStateException; // type@0118 │ │ +02a3f4: 1a01 e901 |0038: const-string v1, "Inconsistent connection state - Cannot release non acquired connection" // string@01e9 │ │ +02a3f8: 7020 3d05 1500 |003a: invoke-direct {v5, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ +02a3fe: 2705 |003d: throw v5 │ │ +02a400: 0d05 |003e: move-exception v5 │ │ +02a402: 1e00 |003f: monitor-exit v0 │ │ +02a404: 2705 |0040: throw v5 │ │ catches : 1 │ │ 0x0003 - 0x0040 │ │ -> 0x003e │ │ positions : │ │ 0x0000 line=309 │ │ 0x0003 line=310 │ │ 0x0008 line=312 │ │ @@ -59989,17 +59989,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02a540: |[02a540] util.conpool.Connection.setCustomHostsFile:(Ljava/lang/String;)V │ │ -02a550: 6900 8003 |0000: sput-object v0, Lutil/conpool/Connection;.CUSTOM_HOSTS_FILE_NAME:Ljava/lang/String; // field@0380 │ │ -02a554: 0e00 |0002: return-void │ │ +02a53c: |[02a53c] util.conpool.Connection.setCustomHostsFile:(Ljava/lang/String;)V │ │ +02a54c: 6900 8003 |0000: sput-object v0, Lutil/conpool/Connection;.CUSTOM_HOSTS_FILE_NAME:Ljava/lang/String; // field@0380 │ │ +02a550: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=157 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ljava/lang/String; │ │ │ │ #22 : (in Lutil/conpool/Connection;) │ │ @@ -60007,17 +60007,17 @@ │ │ type : '(I)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02a558: |[02a558] util.conpool.Connection.setPoolTimeoutSeconds:(I)V │ │ -02a568: 6700 8203 |0000: sput v0, Lutil/conpool/Connection;.POOLTIMEOUT_SECONDS:I // field@0382 │ │ -02a56c: 0e00 |0002: return-void │ │ +02a554: |[02a554] util.conpool.Connection.setPoolTimeoutSeconds:(I)V │ │ +02a564: 6700 8203 |0000: sput v0, Lutil/conpool/Connection;.POOLTIMEOUT_SECONDS:I // field@0382 │ │ +02a568: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=285 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) I │ │ │ │ Virtual methods - │ │ @@ -60026,17 +60026,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0299cc: |[0299cc] util.conpool.Connection.getDestination:()Ljava/lang/String; │ │ -0299dc: 5410 8a03 |0000: iget-object v0, v1, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@038a │ │ -0299e0: 1100 |0002: return-object v0 │ │ +0299c8: |[0299c8] util.conpool.Connection.getDestination:()Ljava/lang/String; │ │ +0299d8: 5410 8a03 |0000: iget-object v0, v1, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@038a │ │ +0299dc: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=464 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lutil/conpool/Connection; │ │ │ │ #1 : (in Lutil/conpool/Connection;) │ │ @@ -60044,17 +60044,17 @@ │ │ type : '()Ljava/io/InputStream;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02999c: |[02999c] util.conpool.Connection.getInputStream:()Ljava/io/InputStream; │ │ -0299ac: 5410 8803 |0000: iget-object v0, v1, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0388 │ │ -0299b0: 1100 |0002: return-object v0 │ │ +029998: |[029998] util.conpool.Connection.getInputStream:()Ljava/io/InputStream; │ │ +0299a8: 5410 8803 |0000: iget-object v0, v1, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0388 │ │ +0299ac: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=388 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lutil/conpool/Connection; │ │ │ │ #2 : (in Lutil/conpool/Connection;) │ │ @@ -60062,17 +60062,17 @@ │ │ type : '()Ljava/io/OutputStream;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0299b4: |[0299b4] util.conpool.Connection.getOutputStream:()Ljava/io/OutputStream; │ │ -0299c4: 5410 8903 |0000: iget-object v0, v1, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0389 │ │ -0299c8: 1100 |0002: return-object v0 │ │ +0299b0: |[0299b0] util.conpool.Connection.getOutputStream:()Ljava/io/OutputStream; │ │ +0299c0: 5410 8903 |0000: iget-object v0, v1, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0389 │ │ +0299c4: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=384 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lutil/conpool/Connection; │ │ │ │ #3 : (in Lutil/conpool/Connection;) │ │ @@ -60080,19 +60080,19 @@ │ │ type : '()J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -029cac: |[029cac] util.conpool.Connection.getTimoutTime:()J │ │ -029cbc: 5420 9203 |0000: iget-object v0, v2, Lutil/conpool/Connection;.timeout:Lutil/TimeoutTime; // field@0392 │ │ -029cc0: 6e10 5d07 0000 |0002: invoke-virtual {v0}, Lutil/TimeoutTime;.getTimeout:()J // method@075d │ │ -029cc6: 0b00 |0005: move-result-wide v0 │ │ -029cc8: 1000 |0006: return-wide v0 │ │ +029ca8: |[029ca8] util.conpool.Connection.getTimoutTime:()J │ │ +029cb8: 5420 9203 |0000: iget-object v0, v2, Lutil/conpool/Connection;.timeout:Lutil/TimeoutTime; // field@0392 │ │ +029cbc: 6e10 5d07 0000 |0002: invoke-virtual {v0}, Lutil/TimeoutTime;.getTimeout:()J // method@075d │ │ +029cc2: 0b00 |0005: move-result-wide v0 │ │ +029cc4: 1000 |0006: return-wide v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=449 │ │ locals : │ │ 0x0000 - 0x0007 reg=2 this Lutil/conpool/Connection; │ │ │ │ #4 : (in Lutil/conpool/Connection;) │ │ @@ -60100,34 +60100,34 @@ │ │ type : '()[J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 34 16-bit code units │ │ -029ccc: |[029ccc] util.conpool.Connection.getTraffic:()[J │ │ -029cdc: 5560 8303 |0000: iget-boolean v0, v6, Lutil/conpool/Connection;.acquired:Z // field@0383 │ │ -029ce0: 3800 1800 |0002: if-eqz v0, 001a // +0018 │ │ -029ce4: 5460 8803 |0004: iget-object v0, v6, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0388 │ │ -029ce8: 6e10 aa07 0000 |0006: invoke-virtual {v0}, Lutil/conpool/PooledConnectionInputStream;.getTraffic:()J // method@07aa │ │ -029cee: 0b00 |0009: move-result-wide v0 │ │ -029cf0: 5462 8903 |000a: iget-object v2, v6, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0389 │ │ -029cf4: 6e10 b207 0200 |000c: invoke-virtual {v2}, Lutil/conpool/PooledConnectionOutputStream;.getTraffic:()J // method@07b2 │ │ -029cfa: 0b02 |000f: move-result-wide v2 │ │ -029cfc: 1224 |0010: const/4 v4, #int 2 // #2 │ │ -029cfe: 2344 9b01 |0011: new-array v4, v4, [J // type@019b │ │ -029d02: 1205 |0013: const/4 v5, #int 0 // #0 │ │ -029d04: 4c00 0405 |0014: aput-wide v0, v4, v5 │ │ -029d08: 1210 |0016: const/4 v0, #int 1 // #1 │ │ -029d0a: 4c02 0400 |0017: aput-wide v2, v4, v0 │ │ -029d0e: 1104 |0019: return-object v4 │ │ -029d10: 2200 1801 |001a: new-instance v0, Ljava/lang/IllegalStateException; // type@0118 │ │ -029d14: 1a01 eb01 |001c: const-string v1, "Inconsistent connection state - Connection is not acquired!" // string@01eb │ │ -029d18: 7020 3d05 1000 |001e: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ -029d1e: 2700 |0021: throw v0 │ │ +029cc8: |[029cc8] util.conpool.Connection.getTraffic:()[J │ │ +029cd8: 5560 8303 |0000: iget-boolean v0, v6, Lutil/conpool/Connection;.acquired:Z // field@0383 │ │ +029cdc: 3800 1800 |0002: if-eqz v0, 001a // +0018 │ │ +029ce0: 5460 8803 |0004: iget-object v0, v6, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0388 │ │ +029ce4: 6e10 aa07 0000 |0006: invoke-virtual {v0}, Lutil/conpool/PooledConnectionInputStream;.getTraffic:()J // method@07aa │ │ +029cea: 0b00 |0009: move-result-wide v0 │ │ +029cec: 5462 8903 |000a: iget-object v2, v6, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0389 │ │ +029cf0: 6e10 b207 0200 |000c: invoke-virtual {v2}, Lutil/conpool/PooledConnectionOutputStream;.getTraffic:()J // method@07b2 │ │ +029cf6: 0b02 |000f: move-result-wide v2 │ │ +029cf8: 1224 |0010: const/4 v4, #int 2 // #2 │ │ +029cfa: 2344 9b01 |0011: new-array v4, v4, [J // type@019b │ │ +029cfe: 1205 |0013: const/4 v5, #int 0 // #0 │ │ +029d00: 4c00 0405 |0014: aput-wide v0, v4, v5 │ │ +029d04: 1210 |0016: const/4 v0, #int 1 // #1 │ │ +029d06: 4c02 0400 |0017: aput-wide v2, v4, v0 │ │ +029d0a: 1104 |0019: return-object v4 │ │ +029d0c: 2200 1801 |001a: new-instance v0, Ljava/lang/IllegalStateException; // type@0118 │ │ +029d10: 1a01 eb01 |001c: const-string v1, "Inconsistent connection state - Connection is not acquired!" // string@01eb │ │ +029d14: 7020 3d05 1000 |001e: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@053d │ │ +029d1a: 2700 |0021: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=456 │ │ 0x0004 line=458 │ │ 0x001a line=457 │ │ locals : │ │ 0x0000 - 0x0022 reg=6 this Lutil/conpool/Connection; │ │ @@ -60137,38 +60137,38 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 51 16-bit code units │ │ -02a418: |[02a418] util.conpool.Connection.refreshConnection:()V │ │ -02a428: 5420 8d03 |0000: iget-object v0, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ -02a42c: 3800 0700 |0002: if-eqz v0, 0009 // +0007 │ │ -02a430: 6e10 c805 0000 |0004: invoke-virtual {v0}, Ljava/net/Socket;.getSoTimeout:()I // method@05c8 │ │ -02a436: 0a00 |0007: move-result v0 │ │ -02a438: 2802 |0008: goto 000a // +0002 │ │ -02a43a: 1200 |0009: const/4 v0, #int 0 // #0 │ │ -02a43c: 5421 8803 |000a: iget-object v1, v2, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0388 │ │ -02a440: 6e10 ab07 0100 |000c: invoke-virtual {v1}, Lutil/conpool/PooledConnectionInputStream;.invalidate:()V // method@07ab │ │ -02a446: 5421 8903 |000f: iget-object v1, v2, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0389 │ │ -02a44a: 6e10 b307 0100 |0011: invoke-virtual {v1}, Lutil/conpool/PooledConnectionOutputStream;.invalidate:()V // method@07b3 │ │ -02a450: 5521 9003 |0014: iget-boolean v1, v2, Lutil/conpool/Connection;.ssl:Z // field@0390 │ │ -02a454: 3901 0c00 |0016: if-nez v1, 0022 // +000c │ │ -02a458: 5421 8d03 |0018: iget-object v1, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ -02a45c: 6e10 cb05 0100 |001a: invoke-virtual {v1}, Ljava/net/Socket;.shutdownOutput:()V // method@05cb │ │ -02a462: 5421 8d03 |001d: iget-object v1, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ -02a466: 6e10 ca05 0100 |001f: invoke-virtual {v1}, Ljava/net/Socket;.shutdownInput:()V // method@05ca │ │ -02a46c: 5421 8d03 |0022: iget-object v1, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ -02a470: 6e10 c405 0100 |0024: invoke-virtual {v1}, Ljava/net/Socket;.close:()V // method@05c4 │ │ -02a476: 7010 8d07 0200 |0027: invoke-direct {v2}, Lutil/conpool/Connection;.establishConnection:()V // method@078d │ │ -02a47c: 5421 8d03 |002a: iget-object v1, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ -02a480: 6e20 c905 0100 |002c: invoke-virtual {v1, v0}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05c9 │ │ -02a486: 7010 9607 0200 |002f: invoke-direct {v2}, Lutil/conpool/Connection;.initStreams:()V // method@0796 │ │ -02a48c: 0e00 |0032: return-void │ │ +02a414: |[02a414] util.conpool.Connection.refreshConnection:()V │ │ +02a424: 5420 8d03 |0000: iget-object v0, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ +02a428: 3800 0700 |0002: if-eqz v0, 0009 // +0007 │ │ +02a42c: 6e10 c805 0000 |0004: invoke-virtual {v0}, Ljava/net/Socket;.getSoTimeout:()I // method@05c8 │ │ +02a432: 0a00 |0007: move-result v0 │ │ +02a434: 2802 |0008: goto 000a // +0002 │ │ +02a436: 1200 |0009: const/4 v0, #int 0 // #0 │ │ +02a438: 5421 8803 |000a: iget-object v1, v2, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0388 │ │ +02a43c: 6e10 ab07 0100 |000c: invoke-virtual {v1}, Lutil/conpool/PooledConnectionInputStream;.invalidate:()V // method@07ab │ │ +02a442: 5421 8903 |000f: iget-object v1, v2, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0389 │ │ +02a446: 6e10 b307 0100 |0011: invoke-virtual {v1}, Lutil/conpool/PooledConnectionOutputStream;.invalidate:()V // method@07b3 │ │ +02a44c: 5521 9003 |0014: iget-boolean v1, v2, Lutil/conpool/Connection;.ssl:Z // field@0390 │ │ +02a450: 3901 0c00 |0016: if-nez v1, 0022 // +000c │ │ +02a454: 5421 8d03 |0018: iget-object v1, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ +02a458: 6e10 cb05 0100 |001a: invoke-virtual {v1}, Ljava/net/Socket;.shutdownOutput:()V // method@05cb │ │ +02a45e: 5421 8d03 |001d: iget-object v1, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ +02a462: 6e10 ca05 0100 |001f: invoke-virtual {v1}, Ljava/net/Socket;.shutdownInput:()V // method@05ca │ │ +02a468: 5421 8d03 |0022: iget-object v1, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ +02a46c: 6e10 c405 0100 |0024: invoke-virtual {v1}, Ljava/net/Socket;.close:()V // method@05c4 │ │ +02a472: 7010 8d07 0200 |0027: invoke-direct {v2}, Lutil/conpool/Connection;.establishConnection:()V // method@078d │ │ +02a478: 5421 8d03 |002a: iget-object v1, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ +02a47c: 6e20 c905 0100 |002c: invoke-virtual {v1, v0}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05c9 │ │ +02a482: 7010 9607 0200 |002f: invoke-direct {v2}, Lutil/conpool/Connection;.initStreams:()V // method@0796 │ │ +02a488: 0e00 |0032: return-void │ │ catches : 1 │ │ 0x000a - 0x0027 │ │ Ljava/io/IOException; -> 0x0027 │ │ positions : │ │ 0x0000 line=261 │ │ 0x0004 line=262 │ │ 0x000a line=265 │ │ @@ -60188,42 +60188,42 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 58 16-bit code units │ │ -02a4a0: |[02a4a0] util.conpool.Connection.release:(Z)V │ │ -02a4b0: 5510 9403 |0000: iget-boolean v0, v1, Lutil/conpool/Connection;.valid:Z // field@0394 │ │ -02a4b4: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ -02a4b8: 0e00 |0004: return-void │ │ -02a4ba: 6200 8503 |0005: sget-object v0, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0385 │ │ -02a4be: 6e20 1406 1000 |0007: invoke-virtual {v0, v1}, Ljava/util/HashSet;.remove:(Ljava/lang/Object;)Z // method@0614 │ │ -02a4c4: 1200 |000a: const/4 v0, #int 0 // #0 │ │ -02a4c6: 3802 1900 |000b: if-eqz v2, 0024 // +0019 │ │ -02a4ca: 5412 8803 |000d: iget-object v2, v1, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0388 │ │ -02a4ce: 6e10 ab07 0200 |000f: invoke-virtual {v2}, Lutil/conpool/PooledConnectionInputStream;.invalidate:()V // method@07ab │ │ -02a4d4: 5412 8903 |0012: iget-object v2, v1, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0389 │ │ -02a4d8: 6e10 b307 0200 |0014: invoke-virtual {v2}, Lutil/conpool/PooledConnectionOutputStream;.invalidate:()V // method@07b3 │ │ -02a4de: 5412 8d03 |0017: iget-object v2, v1, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ -02a4e2: 6e20 c905 0200 |0019: invoke-virtual {v2, v0}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05c9 │ │ -02a4e8: 7110 9c07 0100 |001c: invoke-static {v1}, Lutil/conpool/Connection;.poolReuse:(Lutil/conpool/Connection;)V // method@079c │ │ -02a4ee: 281a |001f: goto 0039 // +001a │ │ -02a4f0: 6e20 9e07 0100 |0020: invoke-virtual {v1, v0}, Lutil/conpool/Connection;.release:(Z)V // method@079e │ │ -02a4f6: 0e00 |0023: return-void │ │ -02a4f8: 5c10 9403 |0024: iput-boolean v0, v1, Lutil/conpool/Connection;.valid:Z // field@0394 │ │ -02a4fc: 5512 9003 |0026: iget-boolean v2, v1, Lutil/conpool/Connection;.ssl:Z // field@0390 │ │ -02a500: 3902 0c00 |0028: if-nez v2, 0034 // +000c │ │ -02a504: 5412 8d03 |002a: iget-object v2, v1, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ -02a508: 6e10 cb05 0200 |002c: invoke-virtual {v2}, Ljava/net/Socket;.shutdownOutput:()V // method@05cb │ │ -02a50e: 5412 8d03 |002f: iget-object v2, v1, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ -02a512: 6e10 ca05 0200 |0031: invoke-virtual {v2}, Ljava/net/Socket;.shutdownInput:()V // method@05ca │ │ -02a518: 5412 8d03 |0034: iget-object v2, v1, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ -02a51c: 6e10 c405 0200 |0036: invoke-virtual {v2}, Ljava/net/Socket;.close:()V // method@05c4 │ │ -02a522: 0e00 |0039: return-void │ │ +02a49c: |[02a49c] util.conpool.Connection.release:(Z)V │ │ +02a4ac: 5510 9403 |0000: iget-boolean v0, v1, Lutil/conpool/Connection;.valid:Z // field@0394 │ │ +02a4b0: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ +02a4b4: 0e00 |0004: return-void │ │ +02a4b6: 6200 8503 |0005: sget-object v0, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0385 │ │ +02a4ba: 6e20 1406 1000 |0007: invoke-virtual {v0, v1}, Ljava/util/HashSet;.remove:(Ljava/lang/Object;)Z // method@0614 │ │ +02a4c0: 1200 |000a: const/4 v0, #int 0 // #0 │ │ +02a4c2: 3802 1900 |000b: if-eqz v2, 0024 // +0019 │ │ +02a4c6: 5412 8803 |000d: iget-object v2, v1, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0388 │ │ +02a4ca: 6e10 ab07 0200 |000f: invoke-virtual {v2}, Lutil/conpool/PooledConnectionInputStream;.invalidate:()V // method@07ab │ │ +02a4d0: 5412 8903 |0012: iget-object v2, v1, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0389 │ │ +02a4d4: 6e10 b307 0200 |0014: invoke-virtual {v2}, Lutil/conpool/PooledConnectionOutputStream;.invalidate:()V // method@07b3 │ │ +02a4da: 5412 8d03 |0017: iget-object v2, v1, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ +02a4de: 6e20 c905 0200 |0019: invoke-virtual {v2, v0}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05c9 │ │ +02a4e4: 7110 9c07 0100 |001c: invoke-static {v1}, Lutil/conpool/Connection;.poolReuse:(Lutil/conpool/Connection;)V // method@079c │ │ +02a4ea: 281a |001f: goto 0039 // +001a │ │ +02a4ec: 6e20 9e07 0100 |0020: invoke-virtual {v1, v0}, Lutil/conpool/Connection;.release:(Z)V // method@079e │ │ +02a4f2: 0e00 |0023: return-void │ │ +02a4f4: 5c10 9403 |0024: iput-boolean v0, v1, Lutil/conpool/Connection;.valid:Z // field@0394 │ │ +02a4f8: 5512 9003 |0026: iget-boolean v2, v1, Lutil/conpool/Connection;.ssl:Z // field@0390 │ │ +02a4fc: 3902 0c00 |0028: if-nez v2, 0034 // +000c │ │ +02a500: 5412 8d03 |002a: iget-object v2, v1, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ +02a504: 6e10 cb05 0200 |002c: invoke-virtual {v2}, Ljava/net/Socket;.shutdownOutput:()V // method@05cb │ │ +02a50a: 5412 8d03 |002f: iget-object v2, v1, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ +02a50e: 6e10 ca05 0200 |0031: invoke-virtual {v2}, Ljava/net/Socket;.shutdownInput:()V // method@05ca │ │ +02a514: 5412 8d03 |0034: iget-object v2, v1, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ +02a518: 6e10 c405 0200 |0036: invoke-virtual {v2}, Ljava/net/Socket;.close:()V // method@05c4 │ │ +02a51e: 0e00 |0039: return-void │ │ catches : 2 │ │ 0x0017 - 0x001c │ │ Ljava/net/SocketException; -> 0x0020 │ │ 0x0024 - 0x0039 │ │ Ljava/io/IOException; -> 0x0039 │ │ positions : │ │ 0x0000 line=393 │ │ @@ -60247,18 +60247,18 @@ │ │ type : '(I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -02a570: |[02a570] util.conpool.Connection.setSoTimeout:(I)V │ │ -02a580: 5410 8d03 |0000: iget-object v0, v1, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ -02a584: 6e20 c905 2000 |0002: invoke-virtual {v0, v2}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05c9 │ │ -02a58a: 0e00 |0005: return-void │ │ +02a56c: |[02a56c] util.conpool.Connection.setSoTimeout:(I)V │ │ +02a57c: 5410 8d03 |0000: iget-object v0, v1, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038d │ │ +02a580: 6e20 c905 2000 |0002: invoke-virtual {v0, v2}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05c9 │ │ +02a586: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=423 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lutil/conpool/Connection; │ │ 0x0000 - 0x0006 reg=2 (null) I │ │ │ │ @@ -60267,41 +60267,41 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 45 16-bit code units │ │ -02a58c: |[02a58c] util.conpool.Connection.timeoutNotification:()V │ │ -02a59c: 6200 8603 |0000: sget-object v0, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0386 │ │ -02a5a0: 1d00 |0002: monitor-enter v0 │ │ -02a5a2: 6201 8603 |0003: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0386 │ │ -02a5a6: 5442 8a03 |0005: iget-object v2, v4, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@038a │ │ -02a5aa: 6e20 0906 2100 |0007: invoke-virtual {v1, v2}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0609 │ │ -02a5b0: 0c01 |000a: move-result-object v1 │ │ -02a5b2: 1f01 6601 |000b: check-cast v1, Ljava/util/Vector; // type@0166 │ │ -02a5b6: 3901 0400 |000d: if-nez v1, 0011 // +0004 │ │ -02a5ba: 1e00 |000f: monitor-exit v0 │ │ -02a5bc: 0e00 |0010: return-void │ │ -02a5be: 6e20 6106 4100 |0011: invoke-virtual {v1, v4}, Ljava/util/Vector;.remove:(Ljava/lang/Object;)Z // method@0661 │ │ -02a5c4: 0a02 |0014: move-result v2 │ │ -02a5c6: 6e10 5e06 0100 |0015: invoke-virtual {v1}, Ljava/util/Vector;.isEmpty:()Z // method@065e │ │ -02a5cc: 0a01 |0018: move-result v1 │ │ -02a5ce: 3801 0900 |0019: if-eqz v1, 0022 // +0009 │ │ -02a5d2: 6201 8603 |001b: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0386 │ │ -02a5d6: 5443 8a03 |001d: iget-object v3, v4, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@038a │ │ -02a5da: 6e20 0b06 3100 |001f: invoke-virtual {v1, v3}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@060b │ │ -02a5e0: 1e00 |0022: monitor-exit v0 │ │ -02a5e2: 3802 0600 |0023: if-eqz v2, 0029 // +0006 │ │ -02a5e6: 1200 |0025: const/4 v0, #int 0 // #0 │ │ -02a5e8: 6e20 9e07 0400 |0026: invoke-virtual {v4, v0}, Lutil/conpool/Connection;.release:(Z)V // method@079e │ │ -02a5ee: 0e00 |0029: return-void │ │ -02a5f0: 0d01 |002a: move-exception v1 │ │ -02a5f2: 1e00 |002b: monitor-exit v0 │ │ -02a5f4: 2701 |002c: throw v1 │ │ +02a588: |[02a588] util.conpool.Connection.timeoutNotification:()V │ │ +02a598: 6200 8603 |0000: sget-object v0, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0386 │ │ +02a59c: 1d00 |0002: monitor-enter v0 │ │ +02a59e: 6201 8603 |0003: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0386 │ │ +02a5a2: 5442 8a03 |0005: iget-object v2, v4, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@038a │ │ +02a5a6: 6e20 0906 2100 |0007: invoke-virtual {v1, v2}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0609 │ │ +02a5ac: 0c01 |000a: move-result-object v1 │ │ +02a5ae: 1f01 6601 |000b: check-cast v1, Ljava/util/Vector; // type@0166 │ │ +02a5b2: 3901 0400 |000d: if-nez v1, 0011 // +0004 │ │ +02a5b6: 1e00 |000f: monitor-exit v0 │ │ +02a5b8: 0e00 |0010: return-void │ │ +02a5ba: 6e20 6106 4100 |0011: invoke-virtual {v1, v4}, Ljava/util/Vector;.remove:(Ljava/lang/Object;)Z // method@0661 │ │ +02a5c0: 0a02 |0014: move-result v2 │ │ +02a5c2: 6e10 5e06 0100 |0015: invoke-virtual {v1}, Ljava/util/Vector;.isEmpty:()Z // method@065e │ │ +02a5c8: 0a01 |0018: move-result v1 │ │ +02a5ca: 3801 0900 |0019: if-eqz v1, 0022 // +0009 │ │ +02a5ce: 6201 8603 |001b: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0386 │ │ +02a5d2: 5443 8a03 |001d: iget-object v3, v4, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@038a │ │ +02a5d6: 6e20 0b06 3100 |001f: invoke-virtual {v1, v3}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@060b │ │ +02a5dc: 1e00 |0022: monitor-exit v0 │ │ +02a5de: 3802 0600 |0023: if-eqz v2, 0029 // +0006 │ │ +02a5e2: 1200 |0025: const/4 v0, #int 0 // #0 │ │ +02a5e4: 6e20 9e07 0400 |0026: invoke-virtual {v4, v0}, Lutil/conpool/Connection;.release:(Z)V // method@079e │ │ +02a5ea: 0e00 |0029: return-void │ │ +02a5ec: 0d01 |002a: move-exception v1 │ │ +02a5ee: 1e00 |002b: monitor-exit v0 │ │ +02a5f0: 2701 |002c: throw v1 │ │ catches : 2 │ │ 0x0003 - 0x0023 │ │ -> 0x002a │ │ 0x002b - 0x002c │ │ -> 0x002a │ │ positions : │ │ 0x0000 line=432 │ ├── classes.jar │ │ ├── zipinfo {} │ │ │ @@ -1,8 +1,8 @@ │ │ │ -Zip file size: 424785 bytes, number of entries: 150 │ │ │ +Zip file size: 424766 bytes, number of entries: 150 │ │ │ ?rwxrwxr-x 2.0 unx 76 b- stor 80-Jan-01 00:00 dnsfilter/BlockedHosts$1.class │ │ │ ?rwxrwxr-x 2.0 unx 6445 b- stor 80-Jan-01 00:00 dnsfilter/BlockedHosts.class │ │ │ ?rwxrwxr-x 2.0 unx 74 b- stor 80-Jan-01 00:00 dnsfilter/ConfigUtil$1.class │ │ │ ?rwxrwxr-x 2.0 unx 636 b- stor 80-Jan-01 00:00 dnsfilter/ConfigUtil$HostFilterList.class │ │ │ ?rwxrwxr-x 2.0 unx 686 b- stor 80-Jan-01 00:00 dnsfilter/ConfigUtil$StringWrapper.class │ │ │ ?rwxrwxr-x 2.0 unx 4864 b- stor 80-Jan-01 00:00 dnsfilter/ConfigUtil.class │ │ │ ?rwxrwxr-x 2.0 unx 328 b- stor 80-Jan-01 00:00 dnsfilter/ConfigurationAccess$ConfigurationAccessException.class │ │ │ @@ -18,15 +18,15 @@ │ │ │ ?rwxrwxr-x 2.0 unx 5690 b- stor 80-Jan-01 00:00 dnsfilter/DNSResponsePatcher.class │ │ │ ?rwxrwxr-x 2.0 unx 2488 b- stor 80-Jan-01 00:00 dnsfilter/DNSServer$DNSServerConfig.class │ │ │ ?rwxrwxr-x 2.0 unx 9268 b- stor 80-Jan-01 00:00 dnsfilter/DNSServer.class │ │ │ ?rwxrwxr-x 2.0 unx 2277 b- stor 80-Jan-01 00:00 dnsfilter/SimpleDNSMessage.class │ │ │ ?rwxrwxr-x 2.0 unx 87 b- stor 80-Jan-01 00:00 dnsfilter/android/AppSelectorView$1.class │ │ │ ?rwxrwxr-x 2.0 unx 657 b- stor 80-Jan-01 00:00 dnsfilter/android/AppSelectorView$AsyncLoader$1.class │ │ │ ?rwxrwxr-x 2.0 unx 833 b- stor 80-Jan-01 00:00 dnsfilter/android/AppSelectorView$AsyncLoader$2.class │ │ │ -?rwxrwxr-x 2.0 unx 6335 b- stor 80-Jan-01 00:00 dnsfilter/android/AppSelectorView$AsyncLoader.class │ │ │ +?rwxrwxr-x 2.0 unx 6316 b- stor 80-Jan-01 00:00 dnsfilter/android/AppSelectorView$AsyncLoader.class │ │ │ ?rwxrwxr-x 2.0 unx 1341 b- stor 80-Jan-01 00:00 dnsfilter/android/AppSelectorView$ComparableAppInfoWrapper.class │ │ │ ?rwxrwxr-x 2.0 unx 1371 b- stor 80-Jan-01 00:00 dnsfilter/android/AppSelectorView$UIUpdate.class │ │ │ ?rwxrwxr-x 2.0 unx 5924 b- stor 80-Jan-01 00:00 dnsfilter/android/AppSelectorView.class │ │ │ ?rwxrwxr-x 2.0 unx 3312 b- stor 80-Jan-01 00:00 dnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0.class │ │ │ ?rwxrwxr-x 2.0 unx 2216 b- stor 80-Jan-01 00:00 dnsfilter/android/BootUpReceiver.class │ │ │ ?rwxrwxr-x 2.0 unx 398 b- stor 80-Jan-01 00:00 dnsfilter/android/BuildConfig.class │ │ │ ?rwxrwxr-x 2.0 unx 2277 b- stor 80-Jan-01 00:00 dnsfilter/android/ConnectionChangeReceiver.class │ │ │ @@ -145,8 +145,8 @@ │ │ │ ?rwxrwxr-x 2.0 unx 1358 b- stor 80-Jan-01 00:00 util/ExecutionEnvironment.class │ │ │ ?rwxrwxr-x 2.0 unx 4859 b- stor 80-Jan-01 00:00 util/FileLogger.class │ │ │ ?rwxrwxr-x 2.0 unx 1151 b- stor 80-Jan-01 00:00 util/GroupedLogger.class │ │ │ ?rwxrwxr-x 2.0 unx 1369 b- stor 80-Jan-01 00:00 util/Logger.class │ │ │ ?rwxrwxr-x 2.0 unx 2761 b- stor 80-Jan-01 00:00 util/SuppressRepeatingsLogger.class │ │ │ ?rwxrwxr-x 2.0 unx 11228 b- defN 80-Jan-01 00:00 util/conpool/Connection.class │ │ │ ?rwxrwxr-x 2.0 unx 1305 b- stor 80-Jan-01 00:00 dnsfilter/DNSFilterProxy$1StandaloneEnvironment.class │ │ │ -150 files, 473309 bytes uncompressed, 399609 bytes compressed: 15.6% │ │ │ +150 files, 473290 bytes uncompressed, 399590 bytes compressed: 15.6% │ │ ├── dnsfilter/android/AppSelectorView$AsyncLoader.class │ │ │ ├── procyon -ec {} │ │ │ │ @@ -79,19 +79,17 @@ │ │ │ │ set.add(new AppSelectorView$ComparableAppInfoWrapper(this.this$0, array[n2], checkBox, (AppSelectorView$1)null)); │ │ │ │ } │ │ │ │ this.this$0.post((Runnable)new AppSelectorView$AsyncLoader$2(this, textView)); │ │ │ │ AppSelectorView.access$802(this.this$0, (AppSelectorView$ComparableAppInfoWrapper[])set.toArray(new AppSelectorView$ComparableAppInfoWrapper[0])); │ │ │ │ while (n < AppSelectorView.access$800(this.this$0).length && !this.abort) { │ │ │ │ final Drawable access$1000 = AppSelectorView.access$1000(this.this$0, AppSelectorView$ComparableAppInfoWrapper.access$900(AppSelectorView.access$800(this.this$0)[n]).loadIcon(AppSelectorView.access$400(this.this$0)), AppSelectorView.access$100()); │ │ │ │ final AppSelectorView this$0 = this.this$0; │ │ │ │ - final AppSelectorView this$2; │ │ │ │ final CheckBox checkBox2; │ │ │ │ - final AppSelectorView$UIUpdate appSelectorView$UIUpdate = new AppSelectorView$UIUpdate(this$2, checkBox2, access$1000, this, (AppSelectorView$1)null); │ │ │ │ - this$2 = this.this$0; │ │ │ │ - checkBox2 = AppSelectorView.access$800(this$2)[n].checkBox; │ │ │ │ + final AppSelectorView$UIUpdate appSelectorView$UIUpdate = new AppSelectorView$UIUpdate(this$0, checkBox2, access$1000, this, (AppSelectorView$1)null); │ │ │ │ + checkBox2 = AppSelectorView.access$800(this$0)[n].checkBox; │ │ │ │ this$0.post((Runnable)appSelectorView$UIUpdate); │ │ │ │ ++n; │ │ │ │ } │ │ │ │ AppSelectorView.access$1202(this.this$0, this.abort ^ true); │ │ │ │ AppSelectorView.access$1302(this.this$0, (AppSelectorView$AsyncLoader)null); │ │ │ │ this.notifyAll(); │ │ │ │ monitorexit(this); ├── smali/dnsfilter/android/AppSelectorView$AsyncLoader.smali │ @@ -455,28 +455,28 @@ │ move-result-object v8 │ │ .line 160 │ iget-object v0, p0, Ldnsfilter/android/AppSelectorView$AsyncLoader;->this$0:Ldnsfilter/android/AppSelectorView; │ │ new-instance v2, Ldnsfilter/android/AppSelectorView$UIUpdate; │ │ - iget-object v6, p0, Ldnsfilter/android/AppSelectorView$AsyncLoader;->this$0:Ldnsfilter/android/AppSelectorView; │ - │ - invoke-static {v6}, Ldnsfilter/android/AppSelectorView;->access$800(Ldnsfilter/android/AppSelectorView;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; │ + invoke-static {v0}, Ldnsfilter/android/AppSelectorView;->access$800(Ldnsfilter/android/AppSelectorView;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; │ │ move-result-object v3 │ │ aget-object v3, v3, v4 │ │ iget-object v7, v3, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;->checkBox:Landroid/widget/CheckBox; │ │ const/4 v10, 0x0 │ │ move-object v5, v2 │ │ + move-object v6, v0 │ + │ move-object v9, p0 │ │ invoke-direct/range {v5 .. v10}, Ldnsfilter/android/AppSelectorView$UIUpdate;->(Ldnsfilter/android/AppSelectorView;Landroid/widget/CheckBox;Landroid/graphics/drawable/Drawable;Ldnsfilter/android/AppSelectorView$AsyncLoader;Ldnsfilter/android/AppSelectorView$1;)V │ │ invoke-virtual {v0, v2}, Ldnsfilter/android/AppSelectorView;->post(Ljava/lang/Runnable;)Z │ │ add-int/lit8 v4, v4, 0x1